.design-extractor-workspace{flex-direction:column;gap:20px;width:100%;margin-top:8px;display:flex}.extractor-action-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md,12px);margin-bottom:24px;transition:all .2s;overflow:hidden}.extractor-action-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.extractor-form{gap:12px;width:100%;padding:24px;display:flex}@media (max-width:640px){.extractor-form{flex-direction:column}}.extractor-input-wrapper{flex:1;align-items:center;display:flex;position:relative}.extractor-url-input{background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius-sm,8px);width:100%;height:48px;color:var(--text-primary);outline:none;padding:0 16px;font-size:16px;transition:border-color .2s}.extractor-url-input:focus{border-color:var(--accent)}.extractor-submit-btn{background:var(--accent);color:#fff;border-radius:var(--radius-sm,8px);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 24px;font-size:15px;font-weight:600;transition:opacity .2s,transform .1s;display:flex}.extractor-submit-btn:hover{opacity:.9}.extractor-submit-btn:active{transform:scale(.98)}.extractor-submit-btn:disabled{background:var(--border);cursor:not-allowed;opacity:.7}.extractor-error{color:#ef4444;border-radius:var(--radius-sm,8px);background:#ef44441a;border:1px solid #ef444433;align-items:center;gap:8px;padding:12px 16px;font-size:14px;display:flex}.extractor-result-tabs{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md,12px);gap:8px;padding:6px;display:flex}.extractor-tab-btn{border-radius:var(--radius-sm,8px);height:40px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;flex:1;font-size:14px;font-weight:600;transition:all .2s}.extractor-tab-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.extractor-tab-btn.active{background:var(--accent);color:#fff}.sandbox-playground{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md,12px);flex-direction:column;gap:24px;padding:24px;display:flex}.sandbox-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:16px;display:flex}.sandbox-title-block h3{color:var(--text-primary);margin:0;font-size:18px}.sandbox-title-block p{color:var(--text-secondary);margin:4px 0 0;font-size:13px}.theme-selector{background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius-sm,8px);gap:8px;padding:4px;display:flex}.theme-toggle-btn{height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:0 12px;font-size:12px;font-weight:600;transition:all .2s}.theme-toggle-btn.active{background:var(--accent);color:#fff}.swatches-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.swatch-card{background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius-sm,8px);flex-direction:column;gap:8px;padding:12px;display:flex}.swatch-preview{border:1px solid var(--border);border-radius:6px;height:64px}.swatch-info{flex-direction:column;display:flex}.swatch-name{color:var(--text-primary);text-transform:capitalize;font-size:13px;font-weight:600}.swatch-hex{color:var(--text-secondary);font-family:monospace;font-size:12px}.typography-canvas{background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius-sm,8px);flex-direction:column;gap:16px;padding:24px;display:flex}.components-sandbox{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (max-width:768px){.components-sandbox{grid-template-columns:1fr}}.component-box{background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius-sm,8px);flex-direction:column;gap:16px;padding:20px;display:flex}.component-box h4{color:var(--text-secondary);border-bottom:1px solid var(--border);margin:0;padding-bottom:8px;font-size:14px}.btn-demo-group{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.input-demo-group{flex-direction:column;gap:8px;display:flex}.input-demo-group label{font-size:13px;font-weight:600}.contrast-checker-box{flex-direction:column;gap:12px;display:flex}.contrast-row{background:var(--bg-body);border:1px solid var(--border);border-radius:var(--radius-sm,8px);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;display:flex}.contrast-row-label{min-width:220px;color:var(--sb-text);word-break:break-word;flex:1;font-size:13px;line-height:1.4}.contrast-row-value{flex-shrink:0;align-items:center;gap:12px;display:flex}.contrast-badge-pass{color:#10b981;text-transform:uppercase;background:#10b98126;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.contrast-badge-fail{color:#ef4444;text-transform:uppercase;background:#ef444426;border-radius:4px;padding:2px 8px;font-size:11px;font-weight:700}.markdown-output-panel{border-radius:var(--radius-md,12px);background:#0f172a;border:1px solid #6366f14d;flex-direction:column;display:flex;overflow:hidden}.markdown-panel-header{background:#1e293b;border-bottom:1px solid #ffffff1a;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.markdown-panel-title{color:#818cf8;font-family:monospace;font-size:13px;font-weight:600}.copy-md-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;height:32px;padding:0 16px;font-size:12px;font-weight:600;transition:opacity .2s}.copy-md-btn:hover{opacity:.9}.markdown-code-area{color:#f1f5f9;white-space:pre-wrap;max-height:500px;padding:20px;font-family:Fira Code,Consolas,Monaco,monospace;font-size:13px;line-height:1.6;overflow:auto}.spacing-scale-visualizer{flex-direction:column;gap:12px;display:flex}.spacing-item{align-items:center;gap:16px;display:flex}.spacing-label{width:60px;color:var(--text-secondary);font-family:monospace;font-size:12px}.spacing-bar{background:var(--accent);opacity:.8;border-radius:4px;height:16px}.extractor-input-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-md,12px);flex-direction:column;padding:0;transition:all .2s;display:flex;overflow:hidden}.extractor-input-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.extractor-form{background:var(--bg-card);padding:16px}.extractor-url-input{border:1px solid var(--border)!important}
