/* Inherits the v4 system; all demo state has a visible data label. */
.ds-panel { margin-block:24px; padding:24px; border:1px solid var(--line, #d8d4cf); border-radius:16px; background:var(--paper, #faf9f6); color:#282724; font:400 14px/1.6 Inter, sans-serif; min-width:0; }
.ds-label { color:#514f4a; font:500 12px/1.6 Inter, sans-serif; margin:0 0 12px; }
.ds-head { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.ds-head h2 { font:500 20px/1.4 Inter, sans-serif; margin:0 0 8px; overflow-wrap:anywhere; }
.ds-head p { margin:0 0 8px; }
.ds-question { overflow-wrap:anywhere; }
.ds-job { color:#514f4a; white-space:nowrap; font:500 12px/1.6 'Geist Mono', monospace; }
.ds-status { margin:12px 0; font-weight:500; }
.ds-progress { height:6px; }
.ds-stages { list-style:none; padding:0; margin:16px 0; display:flex; flex-wrap:wrap; gap:8px 16px; color:#514f4a; font-size:12px; }
.ds-stages [aria-current] { color:#282724; font-weight:600; }
.ds-controls { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.ds-controls .btn, .ds-cite { min-height:44px; min-width:44px; }
.ds-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.ds-grid > section { min-width:0; }
.ds-panel h3 { font:500 14px/1.6 Inter, sans-serif; margin:16px 0 8px; }
.ds-panel ol:not(.ds-stages) { padding-left:20px; }
.ds-sources { list-style:none; padding:0; }
.ds-sources li { padding:10px 0; border-bottom:1px solid var(--line, #d8d4cf); scroll-margin-top:90px; }
.ds-sources b, .ds-sources span { display:block; }
.ds-sources span, .ds-log, .ds-panel figcaption { color:#514f4a; font-size:12px; }
.ds-figures figure { margin:16px 0; }
.ds-plot { width:100%; }
.ds-plot svg, .ds-figures img { max-width:100%; height:auto; display:block; }
.ds-plot svg { font-family:Inter, sans-serif; }
.ds-answer { border-top:1px solid var(--line, #d8d4cf); margin-top:16px; }
.ds-cite { display:inline-flex; justify-content:center; align-items:center; border:1px solid #b8b4ad; border-radius:8px; color:#282724; margin:4px; font-size:12px; text-decoration:none; vertical-align:middle; }
.ds-home .ds-label { margin:4px 0; }
.ds-home .job-title { overflow-wrap:anywhere; }
.plan-done.ds-wizard > :not(.ds-panel):not([data-reset]) { display:none; }
.plan-done.ds-wizard { text-align:left; }
.ds-wizard .ds-panel { padding:16px; margin:0 0 12px; }
.ds-wizard .ds-head { flex-wrap:wrap; }
.ds-wizard .ds-grid { grid-template-columns:1fr; }
.ds-wizard .ds-panel h2 { font-size:16px; }
.ds-results { margin:0; background:#faf9f6; }
.ds-results main { max-width:1440px; margin:auto; padding:16px; }
.ds-results .ds-panel { margin:0 0 16px; }
.ds-results iframe { width:100%; height:calc(100dvh - 100px); min-height:640px; border:1px solid #d8d4cf; border-radius:12px; background:#faf9f6; }
.ds-results .ds-grid, .ds-results .ds-stages, .ds-results .ds-progress, .ds-results .ds-status { display:none; }
.ds-results .ds-answer { border:0; margin:0; }
.ds-results .ds-controls { margin:0; }
.ds-results .ds-controls a:first-child { display:none; }
.ds-view { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
@media (max-width:640px) { .ds-panel { padding:16px; } .ds-grid { grid-template-columns:1fr; gap:0; } .ds-head { flex-wrap:wrap; gap:4px; } .ds-results main { padding:12px; } }
@media (prefers-reduced-motion:reduce) { .ds-panel *, .ds-home * { animation:none !important; transition:none !important; } }

.ds-result-label { position:sticky; top:0; z-index:50; background:#faf9f5; padding:12px 16px; border-bottom:1px solid #d8d4cf; }
.ds-result-label .ds-label { margin:0; }
.ds-home .job-title { white-space:normal; }
.ds-panel > .ds-label { position:sticky; top:calc(var(--preview-h, 0px) + var(--topbar-h, 56px)); z-index:4; background:var(--paper, #faf9f5); padding:8px 0; }
.ds-wizard .ds-panel > .ds-label { top:0; }
.ds-results .ds-panel > .ds-label { position:static; }
.ds-result-label { top:var(--preview-h, 0px); }
.ds-upload-entry h2 { font:500 20px/1.4 Inter,sans-serif; margin:0 0 8px; }
.ds-upload-entry fieldset { border:0; padding:0; margin:20px 0; min-width:0; }
.ds-upload-entry legend { font-weight:600; }
.ds-paper-options { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ds-paper-option { display:flex; align-items:flex-start; gap:12px; border:1px solid #d8d4cf; border-radius:12px; padding:12px; cursor:pointer; min-height:44px; }
.ds-paper-option input { flex:none; margin:4px 0; width:20px; height:20px; }
.ds-paper-option span { min-width:0; }
.ds-paper-option b, .ds-paper-option span span { display:block; }
.ds-paper-option span span { font-size:12px; color:#514f4a; }
.ds-csv-option { margin-top:12px; }
.ds-form-label { display:block; font-weight:500; margin:16px 0 8px; }
.ds-upload-entry select, .ds-upload-entry textarea { display:block; width:100%; min-height:44px; border:1px solid #b8b4ad; border-radius:8px; background:#fff; color:#282724; padding:10px 12px; font:400 14px/1.6 Inter,sans-serif; }
.ds-panel summary, .ds-secondary > summary { display:flex; align-items:center; min-height:44px; cursor:pointer; font:500 14px/1.6 Inter,sans-serif; padding:8px; }
.ds-secondary { margin:16px 0 24px; }
.ds-secondary > summary { border:1px solid #d8d4cf; border-radius:8px; }
.ds-panel pre { white-space:pre-wrap; overflow-wrap:anywhere; font:400 12px/1.6 'Geist Mono',monospace; color:#282724; background:#f0eee8; padding:12px; border-radius:8px; }
.ds-upload-error, .ds-gap { color:#282724; border-left:3px solid #b65e17; padding:12px; background:#f5eee1; }
.ds-table-wrap { overflow-x:auto; }
.ds-table-wrap table { min-width:420px; width:100%; color:#282724; }
.ds-upload-detail > section { border-top:1px solid #d8d4cf; margin-top:20px; padding-top:8px; }
.ds-upload-detail h4 { font:500 14px/1.6 Inter,sans-serif; margin:12px 0 8px; }
.ds-verdicts { list-style:none; padding:0; }
.ds-verdicts li { margin:12px 0; padding:12px; border:1px solid #d8d4cf; border-radius:8px; }
.ds-verdicts b, .ds-verdict, .ds-source-date { display:block; }
.ds-verdict { font-weight:600; margin-bottom:8px; }
.ds-source-date { color:#514f4a; font-size:12px; }
.ds-receipt dd { margin:4px 0 12px; overflow-wrap:anywhere; }
.ds-receipt code { font:400 12px/1.6 'Geist Mono',monospace; }
.ds-advice { font:400 14px/1.6 Inter,sans-serif; color:#282724; padding-top:16px; border-top:1px solid #d8d4cf; }
.ds-upload-results .ds-answer { display:block; }
.ds-upload-results .ds-stages, .ds-upload-results .ds-status { display:flex; }
.ds-upload-results .ds-controls a:first-child { display:none; }
.ds-attachment-count { font-size:12px; color:#514f4a; }
@media(max-width:640px) { .ds-paper-options { grid-template-columns:1fr; } }
.ds-upload-entry > .ds-label { position:static; }
.ds-home .ds-advice { grid-column:1 / -1; margin:8px 0 0; }
.ds-claim-nodes { list-style:none; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.ds-claim-nodes li { border:1px solid #d8d4cf; border-radius:12px; padding:12px; background:#f5f3ee; }
.ds-claim-nodes b { display:block; }
.ds-links { list-style:none; padding:0; display:flex; flex-wrap:wrap; gap:8px; }
.ds-links li { border:1px solid #d8d4cf; border-radius:8px; padding:8px; font-size:12px; }
.ds-row-stages { display:flex; flex-wrap:wrap; gap:6px; }
.ds-row-stages > span { display:inline-flex; padding:4px 6px; border:1px solid #d8d4cf; border-radius:6px; font-size:12px; }
.ds-row-stages [aria-current] { color:#282724; font-weight:600; }
