.dcg-workspace{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:2rem;}
.dcg-command-bar{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.dcg-type-group,.dcg-presets-group{display:flex;flex-direction:column;gap:0.5rem;}
.dcg-bar-label{font-size:0.75rem;font-weight:600;color:var(--text-muted,#6b7280);text-transform:uppercase;letter-spacing:0.04em;}
.dcg-pills,.dcg-chips{display:flex;flex-wrap:wrap;gap:0.5rem;}
.dcg-pill,.dcg-chip{padding:0.5rem 1rem;font-size:0.875rem;font-weight:500;border-radius:999px;cursor:pointer;transition:color .15s ease,background .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent;border:1px solid transparent;}
.dcg-pill{color:var(--text-muted,#6b7280);background:var(--surface-muted,rgba(0,0,0,.05));border-color:var(--border,rgba(0,0,0,.1));}
.dcg-pill:hover{color:var(--text-main,#111);background:var(--surface-muted,rgba(0,0,0,.08));border-color:var(--border,rgba(0,0,0,.15));}
.dcg-pill.is-active{color:#fff;background:var(--primary,#2563eb);border-color:var(--primary,#2563eb);}
.dcg-chip{color:var(--text-muted,#6b7280);background:var(--surface-muted,rgba(0,0,0,.05));border-color:var(--border,rgba(0,0,0,.1));}
.dcg-chip:hover{color:var(--text-main,#111);background:var(--surface-muted,rgba(0,0,0,.08));}
.dcg-layout{display:flex;flex-direction:column;gap:1.25rem;}
.dcg-config{display:flex;flex-direction:column;gap:1rem;}
.dcg-card{background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:12px;padding:1rem 1.25rem;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.dcg-card-title{font-size:0.9375rem;font-weight:600;color:var(--text-main,#111);margin:0 0 0.75rem 0;padding-bottom:0.5rem;border-bottom:1px solid var(--border,rgba(0,0,0,.06));}
.dcg-field{margin-bottom:0.75rem;}
.dcg-field:last-of-type{margin-bottom:0;}
.dcg-label{display:block;margin-bottom:0.375rem;font-size:0.8125rem;font-weight:500;color:var(--text-muted,#6b7280);}
.dcg-input,.dcg-select{width:100%;padding:0.625rem 0.875rem;font-size:0.9375rem;color:var(--text-main,#111);background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.12));border-radius:8px;transition:border-color .2s ease,box-shadow .2s ease;-webkit-appearance:none;appearance:none;}
.dcg-input::placeholder{color:var(--text-muted,#9ca3af);}
.dcg-input:focus,.dcg-select:focus{outline:none;border-color:var(--primary,#2563eb);box-shadow:0 0 0 3px rgba(37,99,235,.12);}
.dcg-select{cursor:pointer;}
.dcg-row{display:flex;align-items:center;gap:0.5rem;margin-bottom:0.5rem;flex-wrap:wrap;}
.dcg-input-sm{flex:1;min-width:0;max-width:6rem;}
.dcg-sep{color:var(--text-muted,#9ca3af);font-weight:600;}
.dcg-remove{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;font-size:1.25rem;line-height:1;color:#fff;background:#dc2626;border:none;border-radius:6px;cursor:pointer;transition:background .15s ease;}
.dcg-remove:hover{background:#b91c1c;}
.dcg-add{padding:0.5rem 1rem;font-size:0.875rem;font-weight:600;color:var(--primary,#2563eb);background:transparent;border:1px solid var(--primary,#2563eb);border-radius:8px;cursor:pointer;transition:background .15s ease,color .15s ease;margin-top:0.25rem;}
.dcg-add:hover{color:#fff;background:var(--primary,#2563eb);}
.dcg-opt{display:flex;align-items:center;gap:0.5rem;padding:0.375rem 0;font-size:0.875rem;color:var(--text-main,#111);cursor:pointer;}
.dcg-check{width:1rem;height:1rem;accent-color:var(--primary,#2563eb);}
.dcg-output-panel{display:flex;flex-direction:column;min-height:320px;background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.08));border-radius:12px;overflow:hidden;box-shadow:0 1px 3px rgba(0,0,0,.04);}
.dcg-tabs{display:flex;border-bottom:1px solid var(--border,rgba(0,0,0,.08));background:var(--surface-muted,rgba(0,0,0,.02));}
.dcg-tab{padding:0.75rem 1.25rem;font-size:0.875rem;font-weight:500;color:var(--text-muted,#6b7280);background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s ease,border-color .15s ease;-webkit-tap-highlight-color:transparent;}
.dcg-tab:hover{color:var(--text-main,#111);}
.dcg-tab.is-active{color:var(--primary,#2563eb);border-bottom-color:var(--primary,#2563eb);}
.dcg-actions{display:flex;flex-wrap:wrap;gap:0.5rem;padding:0.75rem 1rem;border-bottom:1px solid var(--border,rgba(0,0,0,.06));background:var(--surface-muted,rgba(0,0,0,.02));}
.dcg-btn{padding:0.5rem 1rem;font-size:0.875rem;font-weight:600;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .05s ease;-webkit-tap-highlight-color:transparent;}
.dcg-btn-primary{color:#fff;background:var(--primary,#2563eb);border:1px solid var(--primary,#2563eb);}
.dcg-btn-primary:hover{background:var(--primary-dark,#1d4ed8);border-color:var(--primary-dark,#1d4ed8);}
.dcg-btn-outline{color:var(--text-main,#111);background:var(--surface,#fff);border:1px solid var(--border,rgba(0,0,0,.12));}
.dcg-btn-outline:hover{background:var(--surface-muted,rgba(0,0,0,.05));}
.dcg-btn:active{transform:scale(0.98);}
.dcg-pane{display:none;flex:1;flex-direction:column;min-height:200px;}
.dcg-pane.is-active{display:flex;}
.dcg-editor{flex:1;min-height:200px;width:100%;padding:1rem;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:0.8125rem;line-height:1.55;border:none;resize:vertical;background:#1e1e1e;color:#d4d4d4;-webkit-appearance:none;appearance:none;}
.dcg-editor::placeholder{color:#6b7280;}
.dcg-editor:focus{outline:none;}
@media (min-width:768px){.dcg-command-bar{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:1.5rem;}
.dcg-type-group,.dcg-presets-group{flex:1;min-width:200px;}
.dcg-layout{flex-direction:row;align-items:stretch;}
.dcg-config{flex:0 0 320px;max-width:320px;}
.dcg-output-panel{flex:1;min-width:0;min-height:380px;}
.dcg-editor{min-height:280px;}
}
@media (min-width:1024px){.dcg-config{flex:0 0 360px;max-width:360px;}
.dcg-card{padding:1.25rem 1.5rem;}
.dcg-editor{min-height:320px;font-size:0.875rem;}
}
