/* Hallmark · macrostructure: Workbench · theme: locked Hemu indigo · tone: scientific + playful
 * Pre-emit critique: P5 H5 E4 S5 R4 V4 · anchor hue: indigo
 * Runtime and browser verification recorded in .hallmark/document-lab-preview.md.
 * Shared navigation/font are locked; rich motion follows the user brief.
 */
@import url('./tokens.css?v=20261009-studio3');
html:has(.document-lab-page), body.document-lab-page { overflow-x: clip; }
body.document-lab-page .dl { color: var(--dl-ink); font-family: var(--dl-font); padding: 112px 0 64px; }
.dl *, .dl *::before, .dl *::after { box-sizing: border-box; }
.dl [hidden] { display: none !important; }
.dl button, .dl select, .dl textarea { font: inherit; }
.dl button, .dl a { -webkit-tap-highlight-color: var(--dl-clear); }
.dl button { cursor: pointer; }
.dl :is(button,a,input,select,textarea,summary):focus-visible { outline: 3px solid var(--dl-focus); outline-offset: 4px; }
.dl button:disabled { opacity: .48; cursor: not-allowed; transform: none; }
.dl :is(h1,h2,h3,p) { margin: 0; }
.dl :is(h1,h2,h3) { font-style: normal; overflow-wrap: anywhere; min-width: 0; }
.dl-shell { width: min(1280px,calc(100% - 32px)); margin-inline: auto; }
.dl-topline, .dl-top-actions, .dl-breadcrumb, .dl-actions, .dl-file-line, .dl-view-actions { display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.dl-topline { justify-content:space-between; margin-bottom:28px; }
.dl-breadcrumb { font-size:13px; color:var(--dl-muted); }
.dl-breadcrumb a { color:var(--dl-muted); text-decoration:none; }
.dl-top-actions { gap:8px; }
.dl-status { display:flex; align-items:center; gap:8px; font-size:12px; color:var(--dl-muted); }
.dl-status::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--dl-muted); }
.dl-status[data-ready='true']::before { background:var(--dl-success); }
.dl-text-button { min-height:44px; padding:8px 12px; border:0; background:var(--dl-clear); color:var(--dl-muted); white-space:nowrap; border-radius:var(--dl-control-radius); }
.dl-intro { display:grid; grid-template-columns:minmax(0,1fr); gap:28px; align-items:center; margin-bottom:32px; }
.dl-intro h1 { font-size:clamp(36px,6.6vw,68px); font-weight:750; line-height:1.14; letter-spacing:-.055em; }
.dl-intro h1 span { display:block; color:var(--dl-accent); }
.dl-intro h1 .dl-line { display:block; overflow:clip; color:var(--dl-ink); padding-bottom:8px; }
.dl-intro h1 .dl-line:last-child { color:var(--dl-accent); }
.dl-intro h1 .dl-line > span { color:inherit; animation:dl-title-in var(--dl-enter) var(--dl-ease) both; }
.dl-intro h1 .dl-line:last-child > span { animation-delay:100ms; }
.dl-intro-copy > p { max-width:46ch; font-size:16px; line-height:1.85; color:var(--dl-muted); margin-top:24px; }
.dl-engine-note { display:flex; align-items:center; gap:8px; margin-top:20px; font-size:12px; color:var(--dl-muted); flex-wrap:wrap; }
.dl-engine-note i { font-style:normal; font-family:var(--dl-mono); color:var(--dl-accent); }
.dl-illustration { position:relative; height:240px; max-width:390px; width:100%; margin-inline:auto; }
.dl-paper { position:absolute; background:var(--dl-paper-sheet); color:var(--dl-paper-ink); border:1px solid var(--dl-rule); border-radius:7px; padding:16px; width:170px; height:205px; box-shadow:0 14px 30px var(--dl-shadow); }
.dl-paper--rear { inset:7px auto auto 43px; transform:rotate(-11deg); }
.dl-paper--front { inset:24px 42px auto auto; transform:rotate(8deg); animation:dl-paper-float 6s var(--dl-ease-in-out) infinite; }
.dl-paper small { display:block; font-family:var(--dl-mono); font-size:10px; letter-spacing:.06em; color:var(--dl-paper-muted); }
.dl-paper b { display:block; font-size:14px; margin:12px 0; }
.dl-paper-lines { height:44px; background:repeating-linear-gradient(to bottom,var(--dl-paper-rule) 0 2px,var(--dl-clear) 2px 9px); margin:16px 0; }
.dl-mini-table { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); font-size:10px; font-variant-numeric:tabular-nums; border-top:1px solid var(--dl-rule); border-inline-start:1px solid var(--dl-rule); }
.dl-mini-table span { padding:8px 4px; text-align:center; border-bottom:1px solid var(--dl-rule); border-inline-end:1px solid var(--dl-rule); }
.dl-mini-table span:nth-child(-n+3) { background:var(--dl-paper-soft); }
.dl-paper-eyes { display:flex; gap:12px; position:absolute; bottom:22px; left:70px; }
.dl-paper-eyes i { width:5px; height:8px; border-radius:50%; background:var(--dl-paper-ink); animation:dl-blink 7s infinite; }
.is-parsing .dl-paper--front::after { content:''; position:absolute; inset:0 0 auto; height:40px; background:linear-gradient(var(--dl-clear),var(--dl-scan)); animation:dl-scan 2.2s var(--dl-ease-in-out) infinite; }
.dl-paper-tag { position:absolute; right:0; top:16px; background:var(--dl-warm); color:var(--dl-warm-ink); padding:8px 16px; border-radius:8px; transform:rotate(6deg); font-size:12px; font-weight:650; z-index:1; }
.dl-illustration > p { position:absolute; bottom:0; left:0; right:0; text-align:center; font-size:11px; color:var(--dl-muted); }
.dl-stage-rail { display:flex; border-block:1px solid var(--dl-rule); padding:16px 0; gap:12px; list-style:none; margin:0 0 28px; }
.dl-stage-rail li { flex:1; display:flex; align-items:center; gap:8px; min-width:0; color:var(--dl-muted); font-size:13px; }
.dl-stage-rail li > span { display:grid; place-items:center; width:25px; height:25px; flex:none; border:1px solid var(--dl-rule); border-radius:50%; font:11px var(--dl-mono); }
.dl-stage-rail li[data-state='active'] { color:var(--dl-accent); font-weight:650; }
.dl-stage-rail li[data-state='active'] > span { background:var(--dl-accent); color:var(--dl-on-accent); border-color:var(--dl-accent); }
.dl-stage-rail li[data-state='done'] > span { color:var(--dl-success); border-color:var(--dl-success); }
.dl-intake { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.dl-drop { position:relative; width:100%; min-height:265px; border:1px dashed var(--dl-rule); border-radius:var(--dl-radius); background:var(--dl-surface); color:var(--dl-ink); padding:32px 24px; text-align:center; overflow:clip; transition:transform var(--dl-switch) var(--dl-ease),background-color var(--dl-fast) var(--dl-ease); }
.dl-drop > * { position:relative; }
.dl-drop::before { content:''; position:absolute; inset:0; background:var(--dl-soft); opacity:0; transition:opacity var(--dl-switch) var(--dl-ease); }
.dl-drop[data-drag='true'] { border-color:var(--dl-accent); transform:scale(.985); }
.dl-drop[data-drag='true']::before { opacity:1; }
.dl-drop[data-error='true'] { border-color:var(--dl-error); }
.dl-upload-icon { display:block; width:48px; height:48px; margin:0 auto 16px; color:var(--dl-accent); }
.dl-upload-icon svg { width:100%; height:100%; }
.dl-drop strong { display:block; font-size:20px; font-weight:650; margin-bottom:8px; overflow-wrap:anywhere; }
.dl-drop > span:not(.dl-upload-icon) { display:block; font-size:14px; color:var(--dl-muted); line-height:1.8; }
.dl-drop small { display:inline-block; margin-top:16px; border-bottom:1px solid var(--dl-accent); color:var(--dl-accent); padding-bottom:4px; }
.dl-formats { display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top:16px; }
.dl-formats i { font:10px var(--dl-mono); border:1px solid var(--dl-rule); border-radius:4px; padding:4px 8px; font-style:normal; color:var(--dl-muted); }
.dl-intake-foot { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px; margin-top:8px; font-size:12px; color:var(--dl-muted); }
.dl-options { padding:8px 0 0; }
.dl-options h2 { font-size:18px; margin-bottom:16px; }
.dl-field { display:grid; gap:8px; margin-bottom:16px; font-size:13px; }
.dl select { min-height:44px; width:100%; border:1px solid var(--dl-rule); border-radius:var(--dl-control-radius); padding:8px 12px; background:var(--dl-surface); color:var(--dl-ink); }
.dl-check { display:flex; align-items:center; gap:8px; min-height:44px; font-size:13px; }
.dl-check input { width:16px; height:16px; accent-color:var(--dl-accent); }
.dl-option-help { font-size:12px; line-height:1.7; color:var(--dl-muted); margin-top:4px !important; }
.dl-button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:8px; border:1px solid var(--dl-rule); border-radius:var(--dl-control-radius); background:var(--dl-surface); color:var(--dl-ink); padding:12px 16px; font-size:13px; font-weight:600; white-space:nowrap; text-decoration:none; transition:transform 120ms var(--dl-ease),background-color var(--dl-fast) var(--dl-ease); }
.dl-button--primary { background:var(--dl-accent); border-color:var(--dl-accent); color:var(--dl-on-accent); }
.dl-button--primary:focus-visible { outline-color:var(--dl-ink); }
.dl-button:active, .dl-text-button:active { transform:translateY(1px); }
.dl-start { width:100%; margin-top:16px; }
.dl-button svg { width:16px; height:16px; }
.dl-message { min-height:24px; font-size:13px; line-height:1.7; margin-top:12px !important; color:var(--dl-error); overflow-wrap:anywhere; }
.dl-message[data-kind='info'] { color:var(--dl-muted); }
.dl-upload-help { border-top:1px solid var(--dl-rule); padding-top:16px; margin-top:24px !important; font-size:12px; line-height:1.85; color:var(--dl-muted); }
.dl-progress { margin-top:24px; border-block:1px solid var(--dl-rule); padding:24px 0; display:grid; gap:16px; }
.dl-progress-copy { display:flex; justify-content:space-between; gap:16px; align-items:center; }
.dl-progress-copy strong { font-size:16px; }
.dl-progress-copy p { font-size:13px; color:var(--dl-muted); margin-top:8px; line-height:1.6; }
.dl-progress-track { height:3px; overflow:clip; background:var(--dl-rule); }
.dl-progress-track i { display:block; width:0; height:100%; background:var(--dl-accent); animation:none; }
.dl-event-log { margin:0; padding:0; list-style:none; display:flex; gap:16px; flex-wrap:wrap; font-size:11px; color:var(--dl-muted); }
.dl-results { margin-top:44px; scroll-margin-top:84px; }
.dl-results-header { display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; align-items:center; margin-bottom:16px; }
.dl-results-header h2 { font-size:24px; font-weight:700; letter-spacing:-.025em; }
.dl-results-header p { font-size:13px; color:var(--dl-muted); margin-top:8px; }
.dl-counts { display:flex; gap:16px; font-size:12px; color:var(--dl-muted); font-variant-numeric:tabular-nums; flex-wrap:wrap; }
.dl-counts b { font-size:18px; color:var(--dl-ink); margin-inline-end:4px; }
.dl-workspace { display:grid; grid-template-columns:minmax(0,1fr); border:1px solid var(--dl-rule); border-radius:var(--dl-radius); overflow:clip; background:var(--dl-surface); min-width:0; }
.dl-view-head { display:flex; align-items:center; justify-content:space-between; gap:8px; border-bottom:1px solid var(--dl-rule); padding:12px 16px; min-height:65px; flex-wrap:wrap; }
.dl-view-head h3 { font-size:13px; font-weight:650; }
.dl-view-head small { font-size:11px; color:var(--dl-muted); }
.dl-original { background:var(--dl-soft); min-width:0; }
.dl-page-canvas { height:430px; overflow:auto; padding:24px; display:flex; justify-content:center; align-items:flex-start; }
.dl-page-paper { position:relative; max-width:100%; margin:auto 0; line-height:0; }
.dl-page-paper img { width:100%; height:auto; max-width:460px; box-shadow:0 8px 30px var(--dl-shadow); }
.dl-bbox { position:absolute; border:2px solid var(--dl-accent); background:var(--dl-highlight); pointer-events:none; animation:dl-crossfade var(--dl-switch) var(--dl-ease); }
.dl-page-empty { text-align:center; align-self:center; max-width:28ch; color:var(--dl-muted); font-size:14px; line-height:1.8; }
.dl-page-empty svg { width:38px; height:38px; display:block; margin:0 auto 16px; }
.dl-source-footer { border-top:1px solid var(--dl-rule); display:flex; justify-content:space-between; gap:12px; align-items:center; padding:8px 12px; font-size:12px; color:var(--dl-muted); }
.dl-source-footer button { min-height:44px; min-width:44px; }
.dl-extracted { min-width:0; }
.dl-tabs { display:flex; align-items:center; gap:0px; position:relative; }
.dl-tab { border:0; color:var(--dl-muted); background:var(--dl-clear); padding:8px 12px; min-height:44px; font-size:13px; white-space:nowrap; border-radius:6px; }
.dl-tab[aria-selected='true'] { color:var(--dl-accent); background:var(--dl-soft); font-weight:650; }
.dl-result-body { height:430px; overflow:auto; padding:24px; }
.dl-prose { font-size:14px; line-height:1.9; overflow-wrap:anywhere; }
.dl-prose :is(h2,h3,h4) { font-size:18px; margin:16px 0 12px; line-height:1.5; }
.dl-prose p { margin-bottom:12px; }
.dl-prose :is(sub,sup),.dl-table :is(sub,sup) { font-size:.72em; line-height:0; position:relative; vertical-align:baseline; }
.dl-prose sub,.dl-table sub { bottom:-.25em; }
.dl-prose sup,.dl-table sup { top:-.5em; }
.dl-prose ul { padding-inline-start:24px; }
.dl-prose > button { display:block; border:0; padding:0 0 8px; text-align:start; background:var(--dl-clear); color:inherit; width:100%; line-height:1.9; white-space:normal; }
.dl-prose > button:hover { color:var(--dl-accent); }
.dl-editor { width:100%; min-height:370px; resize:vertical; border:1px solid var(--dl-rule); border-radius:8px; padding:16px; background:var(--dl-paper); color:var(--dl-ink); font:13px/1.8 var(--dl-mono) !important; }
.dl-code { margin:0; font:12px/1.8 var(--dl-mono); white-space:pre-wrap; overflow-wrap:anywhere; color:var(--dl-muted); }
.dl-edited-prose { white-space:pre-wrap; }
.dl-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:0px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.dl-source-block:active { color:var(--dl-accent); }
.dl-tab:active,.dl-table-picker button:active { transform:translateY(1px); }
.dl a:active { color:var(--dl-ink); }
.dl-empty-result { display:flex; height:100%; min-height:230px; flex-direction:column; justify-content:center; align-items:center; text-align:center; gap:16px; color:var(--dl-muted); font-size:14px; }
.dl-empty-result svg { width:38px; height:38px; }
.dl-empty-result p { max-width:28ch; line-height:1.8; }
.dl-result-foot { border-top:1px solid var(--dl-rule); min-height:61px; padding:8px 16px; display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; font-size:11px; color:var(--dl-muted); }
.dl-table-picker { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:16px; }
.dl-table-picker button { min-height:44px; padding:8px 12px; border:1px solid var(--dl-rule); border-radius:8px; background:var(--dl-surface); color:var(--dl-muted); font-size:12px; }
.dl-table-picker button[aria-pressed='true'] { color:var(--dl-accent); background:var(--dl-soft); }
.dl-table-meta { display:flex; justify-content:space-between; gap:12px; align-items:center; flex-wrap:wrap; margin-bottom:12px; font-size:12px; color:var(--dl-muted); }
.dl-table-scroll { overflow:auto; width:100%; }
.dl-table { border-collapse:collapse; min-width:100%; font-size:12px; font-variant-numeric:tabular-nums; color:var(--dl-ink); }
.dl-table :is(th,td) { padding:12px; text-align:start; border-bottom:1px solid var(--dl-rule); max-width:240px; overflow-wrap:anywhere; white-space:normal; min-width:70px; }
.dl-table th { background:var(--dl-soft); font-weight:650; }
.dl-confidence { margin-top:16px !important; font-size:11px; line-height:1.8; color:var(--dl-muted); }
.dl-downloads { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:20px; }
.dl-downloads > span { font-size:12px; color:var(--dl-muted); margin-inline-end:8px; }
.dl-word-math-option { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:14px; font-size:12px; color:var(--dl-muted); }
.dl-word-math-option select { max-width:100%; padding:7px 30px 7px 10px; border:1px solid var(--dl-rule); border-radius:7px; color:var(--dl-ink); background:var(--dl-surface); font:inherit; }
.dl-word-math-option select:focus-visible { outline:2px solid var(--dl-accent); outline-offset:3px; }
.dl-more-export { position:relative; }
.dl-more-export > summary { cursor:pointer; list-style:none; }
.dl-more-export > summary::-webkit-details-marker { display:none; }
.dl-more-export > summary::after { content:'⌄'; color:var(--dl-muted); transition:rotate var(--dl-fast) var(--dl-ease); }
.dl-more-export[open] > summary::after { rotate:180deg; }
.dl-more-export-panel { position:absolute; z-index:8; right:0; top:calc(100% + 8px); min-width:200px; padding:8px; display:grid; gap:4px; border:1px solid var(--dl-rule); border-radius:var(--dl-radius); background:var(--dl-surface); box-shadow:0 12px 32px var(--dl-shadow); }
.dl-more-export-panel .dl-text-button { text-align:left; justify-content:flex-start; padding-inline:12px; }
.dl-more-export[open] .dl-more-export-panel { animation:dl-export-enter var(--dl-fast) var(--dl-ease) both; }
@keyframes dl-export-enter { from { opacity:0; transform:translateY(-4px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:639px){ .dl-more-export { flex:1; } .dl-more-export > summary { width:100%; } }
.dl-notebook { margin-top:32px; display:grid; grid-template-columns:minmax(0,1fr); gap:16px; border-block:1px solid var(--dl-rule); padding:24px 0; }
.dl-notebook h2 { font-size:16px; margin-bottom:12px; }
.dl-notebook p { font-size:13px; line-height:1.85; color:var(--dl-muted); }
.dl-notebook a { color:var(--dl-accent); }
.dl-legacy { margin-top:28px; border-bottom:1px solid var(--dl-rule); }
.dl-legacy > summary { min-height:64px; cursor:pointer; padding:16px 0; list-style:none; display:flex; gap:16px; justify-content:space-between; align-items:center; font-size:15px; }
.dl-legacy > summary::after { content:'＋'; color:var(--dl-muted); }
.dl-legacy[open] > summary::after { content:'−'; }
.dl-legacy > summary small { color:var(--dl-muted); font-size:12px; font-weight:400; }
.dl-legacy .document-section { padding:16px 0 28px; }
.dl-legacy .container { width:100%; }
.dl-legacy .studio-section-heading { display:block; margin-bottom:20px; }
.dl-legacy .studio-section-heading h2 { font-size:20px; }
.dl-legacy .studio-section-heading p { font-size:12px; }
.dl-legacy .document-desk { display:grid; gap:16px; grid-template-columns:minmax(0,1fr); }
.dl-legacy .document-pane textarea { min-height:220px; }
.dl-legacy :is(.studio-field,.studio-check,.document-controls h3,.document-pane h3) { color:var(--dl-ink) !important; }
.dl-legacy :is(.document-pane,.document-controls,.document-summary article,.identifier-card) { background:var(--dl-surface); border-color:var(--dl-rule); }
.dl-legacy :is(textarea,select) { background:var(--dl-paper); color:var(--dl-ink); border-color:var(--dl-rule); }
.dl-legacy .document-run { background:var(--dl-accent) !important; color:var(--dl-on-accent) !important; }
.dl-legacy .identifier-ledger-head p { color:var(--dl-muted); }
.dl-legacy :is(.studio-message,[data-copy-value]) { color:var(--dl-muted) !important; }
.dl-legacy .studio-message[data-status='error'] { color:var(--dl-error) !important; }
body.document-lab-page .dl #documentMessage { color:var(--dl-ink) !important; }
body.document-lab-page .dl #documentMessage[data-status='error'] { color:var(--dl-error) !important; }
.dl-legacy .document-summary, .dl-legacy .identifier-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.dl-legacy .document-summary article:last-child { grid-column:auto; }
.dl-toast { position:fixed; inset:auto 20px 24px auto; z-index:140; border:1px solid var(--dl-rule); border-radius:10px; background:var(--dl-surface); color:var(--dl-ink); padding:12px 16px; box-shadow:0 8px 24px var(--dl-shadow); font-size:13px; animation:dl-crossfade var(--dl-switch) var(--dl-ease); max-width:calc(100% - 40px); }
.dl-motion-off *, .dl-motion-off *::before, .dl-motion-off *::after { animation:none !important; transition:none !important; }
@media (hover:hover) { .dl-button:not(:disabled):hover { transform:translateY(-2px); } .dl-button--primary:not(:disabled):hover { background:var(--dl-accent); color:var(--dl-on-accent); } .dl-text-button:hover { background:var(--dl-soft); } .dl-drop:hover::before { opacity:1; } }
@media (min-width:640px) { .dl-shell { width:min(1280px,calc(100% - 64px)); } .dl-intro { grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); } .dl-intake { grid-template-columns:minmax(0,1.55fr) minmax(240px,1fr); gap:36px; } .dl-drop { min-height:295px; } .dl-notebook { grid-template-columns:minmax(0,1.2fr) minmax(0,1fr); gap:48px; } }
@media (min-width:960px) { body.document-lab-page .dl { padding-top:116px; } .dl-intro { margin-bottom:36px; } .dl-illustration { height:255px; } .dl-intake { grid-template-columns:minmax(0,1.65fr) minmax(280px,1fr); gap:48px; } .dl-workspace { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); } .dl-original { border-inline-end:1px solid var(--dl-rule); } .dl-page-canvas,.dl-result-body { height:590px; } .dl-legacy .document-desk { grid-template-columns:minmax(0,1fr) 220px minmax(0,1fr); } .dl-legacy .identifier-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .dl-legacy .document-summary { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:420px) { .dl-topline { gap:8px; margin-bottom:24px; } .dl-intro { gap:20px; } .dl-intro h1 { font-size:36px; } .dl-illustration { height:220px; transform:scale(.92); transform-origin:center; } .dl-stage-rail li { gap:8px; font-size:11px; } .dl-stage-rail li > span { width:22px; height:22px; } .dl-stage-rail { gap:8px; } .dl-view-head { padding:8px 12px; } .dl-tab { padding:8px; font-size:12px; } .dl-result-body { padding:16px; } .dl-page-canvas { padding:16px; } .dl-legacy > summary small { display:none; } }
@keyframes dl-title-in { from { transform:translateY(105%); opacity:0; } to { transform:translateY(0); opacity:1; } }
@keyframes dl-paper-float { 0%,100% { transform:translateY(0) rotate(8deg); } 50% { transform:translateY(-9px) rotate(5deg); } }
@keyframes dl-blink { 0%,43%,47%,100% { transform:scaleY(1); } 45% { transform:scaleY(.15); } }
@keyframes dl-track { from { transform:translateX(-120%); } to { transform:translateX(410%); } }
@keyframes dl-scan { from { transform:translateY(0); opacity:0; } 15%,80% { opacity:1; } to { transform:translateY(155px); opacity:0; } }
@keyframes dl-crossfade { from { opacity:0; transform:translateY(5px); } to { opacity:1; transform:translateY(0); } }
@media (prefers-reduced-motion:reduce) { .dl *, .dl *::before, .dl *::after { animation:none !important; transition-duration:0ms !important; scroll-behavior:auto !important; } }

/* 2026-10-04: compact application shell; source/review tools take priority. */
body.document-lab-page .dl { padding-top:100px; }
.dl-shell { width:calc(100% - clamp(32px,3vw,64px)); }
.dl-topline { margin-bottom:16px; }
.dl-topline,.dl-intro,.dl-stage-rail,.dl-upload-help { width:100%; margin-inline:auto; }
.dl-intro { grid-template-columns:minmax(0,1fr) 112px; margin-bottom:24px; gap:24px; }
.dl-intro h1 { font-size:var(--dl-text-display); line-height:1.3; letter-spacing:-.035em; color:var(--dl-ink); }
.dl-intro h1 > span { display:inline; margin-left:16px; font-size:22px; font-weight:500; letter-spacing:-.02em; }
.dl-intro-copy > p { font-size:14px; margin-top:12px; max-width:72ch; line-height:1.8; }
.dl-illustration { height:100px; width:104px; transform:none; }
.dl-paper--front { width:76px; height:92px; inset:0 12px auto auto; padding:8px; border-radius:4px; }
.dl-paper small { font-size:6px; }
.dl-paper b { font-size:8px; margin:8px 0; }
.dl-paper-lines { height:20px; margin:4px 0; background-size:auto; }
.dl-paper-eyes { bottom:12px; left:28px; gap:8px; }
.dl-paper-eyes i { width:3px; height:5px; }
.dl-stage-rail { border:0; padding:0; margin-bottom:20px; }
.dl-stage-rail li { font-size:12px; }
.dl-intake { margin-inline:auto; grid-template-columns:minmax(0,1fr) 320px; gap:28px; border:1px solid var(--dl-rule); border-radius:16px; padding:24px; background:var(--dl-surface); box-shadow:0 4px 20px var(--dl-shadow); }
.dl-intake-file,.dl-options { min-width:0; }
.dl-drop { min-height:276px; height:calc(100% - 64px); border-radius:12px; background:var(--dl-paper); }
.dl-drop strong { font-size:22px; color:var(--dl-ink); line-height:1.5; }
.dl-drop-copy { min-width:0; max-width:52ch; }
.dl-upload-stage[data-state='selected'] .dl-drop strong { font-size:18px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.dl-options { padding:0; }
.dl-option-fields,.dl-option-features,.dl-option-action { min-width:0; }
.dl-option-fields { display:grid; gap:12px; align-content:start; }
.dl-option-fields .dl-field { margin:0; }
.dl-options h2 { font-size:14px; margin-bottom:12px; }
.dl-field { margin-bottom:12px; }
.dl-option-help { font-size:11px; }
.dl-check { min-height:44px; }
.dl-advanced summary,.dl-notes > summary { cursor:pointer; min-height:44px; display:flex; align-items:center; gap:12px; font-size:12px; color:var(--dl-muted); }
.dl-advanced summary::after,.dl-notes > summary::after { content:'＋'; margin-left:auto; }
.dl-advanced[open] summary::after,.dl-notes[open] > summary::after { content:'−'; }
.dl-advanced .dl-check { padding:0 8px; }
.dl .dl-upload-help { margin-top:16px !important; margin-inline:auto; padding-top:0; border:0; font-size:11px; }
.dl-shell:has(.dl-intake[data-state='complete']) .dl-upload-help { max-width:none; }
.dl-message:empty { display:none; }
.dl-results { margin-top:28px; }
.dl-results-header h2 { font-size:20px; }
.dl-results-header p { max-width:80ch; line-height:1.8; }
.dl-workspace { border-radius:12px; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); }
.dl-original { border-right:1px solid var(--dl-rule); }
.dl-view-head { padding:8px 16px; min-height:64px; }
.dl-view-head small { display:block; max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dl-page-canvas,.dl-result-body { height:var(--dl-workbench-height); }
.dl-page-canvas { display:block; padding:24px; }
.dl-page-paper { margin:0 auto; flex:none; max-width:none; line-height:0; }
.dl-page-paper img { display:block; max-width:none; width:100%; height:auto; }
.dl-source-footer { gap:4px; padding:4px 8px; }
.dl-zoom { width:112px; flex:none; }
.dl-zoom select { padding:4px 8px; font-size:11px; min-height:40px; }
.dl-tabs { flex-wrap:wrap; }
.dl-tab { padding:8px 10px; font-size:12px; }
#dlReviewCount { font:10px var(--dl-mono); background:var(--dl-rule); color:var(--dl-ink); border-radius:4px; padding:2px 4px; margin-left:4px; }
.dl-review-list { display:grid; gap:8px; }
.dl-review-item { padding:12px; border:1px solid var(--dl-rule); border-radius:8px; }
.dl-review-source { display:block; width:100%; text-align:left; background:var(--dl-clear); border:0; color:var(--dl-ink); font-size:14px; line-height:1.8; white-space:normal; overflow-wrap:anywhere; padding:0; }
.dl-review-meta { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:8px; font-size:11px; color:var(--dl-muted); }
.dl-review-item[data-checked='true'] { opacity:.6; }
.dl-review-meta button { min-height:44px; padding:4px 8px; border:1px solid var(--dl-rule); background:var(--dl-surface); color:var(--dl-accent); border-radius:6px; }
.dl-table-input { width:100%; min-width:88px; min-height:40px; border:1px solid var(--dl-rule); border-radius:4px; padding:8px; font:inherit; color:var(--dl-ink); background:var(--dl-paper); }
.dl-faithful-page { position:relative; line-height:0; margin-top:16px; width:100%; }
.dl-faithful-page img { display:block; width:100%; }
.dl-text-layer { position:absolute; inset:0; }
.dl-text-layer span { position:absolute; color:transparent; font-size:12px; white-space:pre; line-height:1; overflow:hidden; user-select:text; }
.dl-text-layer span::selection { background:var(--dl-highlight); color:transparent; }
.dl-notes { margin-top:20px; border-block:1px solid var(--dl-rule); }
.dl-notes > summary { font-size:13px; min-height:56px; }
.dl-notebook { margin-top:0; border:0; padding:8px 0 24px; }
.dl-legacy { margin-top:8px; }
.is-parsing .dl-paper--front::after { height:16px; animation-name:dl-scan-compact; }
@keyframes dl-scan-compact { from { transform:translateY(0); opacity:0; } 15%,80% { opacity:1; } to { transform:translateY(76px); opacity:0; } }
@media (max-width:959px) { .dl-intake { grid-template-columns:minmax(0,1fr) 280px; gap:20px; padding:20px; } .dl-workspace { grid-template-columns:minmax(0,1fr); } .dl-original { border-right:0; border-bottom:1px solid var(--dl-rule); } .dl-page-canvas { height:520px; } .dl-result-body { height:480px; } }
@media (max-width:639px) { body.document-lab-page .dl { padding-top:92px; } .dl-shell { width:calc(100% - 32px); } .dl-intro { grid-template-columns:minmax(0,1fr) 64px; gap:8px; margin-bottom:20px; } .dl-intro h1 { font-size:26px; } .dl-intro h1 > span { display:block; margin:4px 0 0; font-size:18px; } .dl-intro-copy > p { font-size:12px; margin-top:12px; } .dl-illustration { width:64px; height:84px; transform:scale(.8); transform-origin:center; } .dl-paper--front { right:0; } .dl-topline { gap:4px; } .dl-top-actions { gap:0; } .dl-status { font-size:11px; } .dl-intake { grid-template-columns:minmax(0,1fr); gap:20px; padding:16px; } .dl-drop { min-height:220px; height:auto; padding:24px 12px; } .dl-drop strong { font-size:18px; } .dl-options { border-top:1px solid var(--dl-rule); padding-top:16px; } .dl-formats i { font-size:9px; padding:4px; } .dl-results-header { gap:12px; } .dl-counts { gap:12px; } .dl-counts b { font-size:16px; } .dl-page-canvas { height:420px; padding:16px; } .dl-view-head { padding:8px 12px; } .dl-tab { padding:8px; font-size:11px; } .dl-zoom { width:100px; } .dl-source-footer { font-size:11px; } .dl-downloads .dl-button { flex:1; } .dl-downloads > span { width:100%; } }

body.document-lab-page .dl { padding-top:40px; }
@media (max-width:639px) { body.document-lab-page .dl { padding-top:32px; } }

.dl-page-jump { width:60px; flex:none; }
.dl-page-jump input { width:100%; min-height:40px; padding:4px 8px; border:1px solid var(--dl-rule); border-radius:var(--dl-control-radius); color:var(--dl-ink); background:var(--dl-surface); font:12px var(--dl-mono); }
.dl-formula-item { border-bottom:1px solid var(--dl-rule); padding-bottom:16px; margin-bottom:16px; }
.dl-formula-latex { display:block; width:100%; min-height:88px; resize:vertical; padding:12px; color:var(--dl-ink); background:var(--dl-soft); border:1px solid var(--dl-rule); border-radius:8px; font:13px/1.8 var(--dl-mono) !important; }
@media (max-width:420px) { .dl-source-footer { flex-wrap:wrap; justify-content:center; } .dl-source-footer > button { flex:1; } .dl-view-head .dl-tabs { width:100%; } }
/* Override the legacy global dark-control surface only inside this tool. */
html[data-theme='dark'] body.document-lab-page .dl :is(input,select,textarea) { color:var(--dl-ink); border-color:var(--dl-rule); background-color:var(--dl-surface) !important; }
html[data-theme='dark'] body.document-lab-page .dl textarea { background-color:var(--dl-soft) !important; }
@media (max-width:680px) { body.document-lab-page .dl :is(input,select,textarea) { font-size:16px !important; } }

.dl-math-preview { padding:16px 0; overflow:auto; color:var(--dl-ink); font-size:18px; }
.dl-math-preview .katex { color:var(--dl-ink); }
.dl-vl-review { margin-top:16px; border-top:1px solid var(--dl-rule); padding-top:8px; }
.dl-vl-review summary { font-size:12px; color:var(--dl-accent); min-height:44px; cursor:pointer; }

/* Hallmark · pre-emit critique: P4 H5 E4 S5 R4 V4
 * Processing lives in the intake; progress is measured or explicitly indefinite. */
.dl-upload-stage { position:relative; min-height:354px; }
.dl-upload-stage .dl-drop { display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; min-height:354px; transition:background var(--dl-switch),border-color var(--dl-switch),box-shadow var(--dl-switch); }
.dl-upload-stage .dl-drop > .dl-formats { display:flex; }
.dl-upload-stage.is-busy .dl-drop { visibility:hidden; }
.dl-upload-stage[data-state='selected'] .dl-upload-icon { background:var(--dl-soft); color:var(--dl-accent); transform:translateY(-3px) rotate(-5deg); }
.dl-upload-stage[data-state='complete'] .dl-upload-icon { color:var(--dl-success); transform:translateY(-2px); }
.dl-upload-icon { transition:transform var(--dl-switch) var(--dl-ease),background var(--dl-switch),color var(--dl-switch); }
.dl-drop[data-drag='true'] .dl-upload-icon { transform:translateY(-10px) scale(1.12); }
.dl-drop:not(:disabled):hover .dl-upload-icon { transform:translateY(-6px) rotate(-6deg); }
.dl-drop:not(:disabled):hover small { transform:translateX(4px); }
.dl-drop small { transition:transform var(--dl-switch) var(--dl-ease); }
.dl-formats i { transition:transform var(--dl-switch) var(--dl-ease); }
.dl-drop:hover .dl-formats i:nth-child(2n) { transform:translateY(-3px); }
.dl-progress { position:absolute; inset:0; display:grid; align-content:center; gap:10px; padding:16px 24px; margin:0; border:1px solid var(--dl-rule); border-radius:12px; background:var(--dl-soft); overflow:clip; }
.dl-progress[hidden] { display:none; }
.dl-processing-head { display:flex; align-items:center; justify-content:space-between; gap:16px; min-width:0; font-size:11px; color:var(--dl-muted); }
.dl-processing-file { min-width:0; white-space:nowrap; text-overflow:ellipsis; overflow:hidden; }
.dl-elapsed { font:11px var(--dl-mono); flex:none; font-variant-numeric:tabular-nums; }
.dl-processing-visual { position:relative; width:180px; height:110px; margin:2px auto; }
.dl-reading-page { position:absolute; width:70px; height:88px; inset:12px auto auto 55px; color:var(--dl-accent); transform:rotate(-4deg); animation:dl-reading-float var(--dl-float-cycle) var(--dl-ease-in-out) infinite; }
.dl-reading-page svg { width:100%; height:100%; overflow:visible; }
.dl-doc-outline { fill:var(--dl-surface); stroke:var(--dl-accent); stroke-width:1.6; }
.dl-doc-line { fill:none; stroke:var(--dl-rule); stroke-width:3; stroke-linecap:round; }
.dl-doc-check { fill:none; stroke:var(--dl-success); stroke-width:5; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:60; stroke-dashoffset:60; opacity:0; }
.dl-read-beam { position:absolute; width:100%; height:18px; inset:18px 0 auto; background:linear-gradient(to bottom,var(--dl-clear),var(--dl-scan)); border-bottom:1px solid var(--dl-accent); animation:dl-reading-scan var(--dl-read-cycle) var(--dl-ease-in-out) infinite; }
.dl-orbit { position:absolute; inset:7px 44px; border:1px dashed var(--dl-rule); border-radius:50%; transform:rotate(-15deg); animation:dl-orbit-spin var(--dl-orbit-cycle) linear infinite; }
.dl-orbit i { position:absolute; width:5px; height:5px; border-radius:50%; background:var(--dl-accent); inset:-2px auto auto 50%; }
.dl-orbit i:nth-child(2) { inset:auto 6px 9px auto; background:var(--dl-muted); }
.dl-orbit i:nth-child(3) { inset:54% auto auto -3px; }
.dl-floating-cell { position:absolute; display:grid; place-items:center; width:30px; height:30px; font:13px var(--dl-mono); color:var(--dl-accent); background:var(--dl-surface); border:1px solid var(--dl-rule); border-radius:7px; box-shadow:0 2px 8px var(--dl-shadow); animation:dl-reading-float var(--dl-float-cycle) var(--dl-ease-in-out) infinite; }
.dl-floating-cell--one { inset:14px auto auto 20px; transform:rotate(-8deg); animation-delay:-1s; }
.dl-floating-cell--two { inset:20px 14px auto auto; transform:rotate(8deg); animation-delay:-2s; }
.dl-floating-cell--three { inset:auto 21px 5px auto; transform:rotate(3deg); animation-delay:-3s; }
.dl-floating-cell svg { width:16px; height:16px; stroke:currentColor; stroke-width:1.4; fill:none; }
.dl-progress-copy { display:block; text-align:center; }
.dl-progress-copy strong { font-size:18px; font-weight:650; letter-spacing:-.02em; }
.dl-progress-copy p { margin-top:4px; font-size:12px; line-height:1.6; color:var(--dl-muted); }
.dl-progress-meter { display:flex; justify-content:space-between; gap:8px; color:var(--dl-muted); font-size:11px; margin-top:4px; }
.dl-progress-meter output { color:var(--dl-ink); font-variant-numeric:tabular-nums; }
.dl-progress-track { height:5px; border-radius:5px; background:var(--dl-rule); }
.dl-progress-track i { width:0; height:100%; background:var(--dl-accent); border-radius:inherit; animation:none; transition:width 700ms var(--dl-ease); position:relative; }
.dl-progress-track i::after { content:none; }
.dl-progress-track[data-indeterminate='true'] i { width:100% !important; opacity:.18; animation:none; transform:none; transition:none; }
.dl-progress-track[data-indeterminate='false'] i { opacity:1; animation:none; transform:none; }
.dl-processing-steps { list-style:none; display:flex; justify-content:space-between; gap:8px; padding:0; margin:0; color:var(--dl-muted); font-size:11px; }
.dl-processing-steps li { display:flex; align-items:center; gap:6px; white-space:nowrap; transition:color var(--dl-switch); }
.dl-processing-steps i { width:6px; height:6px; border:1px solid var(--dl-muted); border-radius:50%; }
.dl-processing-steps [data-state='active'] { color:var(--dl-accent); }
.dl-processing-steps [data-state='active'] i { border-color:var(--dl-accent); background:var(--dl-accent); animation:dl-step-pulse 1500ms var(--dl-ease-in-out) infinite; }
.dl-processing-steps [data-state='done'] { color:var(--dl-success); }
.dl-processing-steps [data-state='done'] i { border-color:var(--dl-success); background:var(--dl-success); }
.dl-processing-foot { display:flex; align-items:center; justify-content:space-between; gap:12px; color:var(--dl-muted); font-size:11px; min-height:44px; }
.dl-processing-foot > span { min-width:0; line-height:1.6; }
.dl-processing-foot .dl-text-button { font-size:11px; min-height:44px; min-width:44px; flex:none; padding:4px 8px; }
.dl-progress[data-state='complete'] .dl-read-beam,.dl-progress[data-state='complete'] .dl-orbit,.dl-progress[data-state='complete'] .dl-floating-cell { opacity:0; transition:opacity var(--dl-switch); }
.dl-progress[data-state='complete'] .dl-doc-line { opacity:0; }
.dl-progress[data-state='complete'] .dl-doc-check { opacity:1; stroke-dashoffset:0; transition:stroke-dashoffset var(--dl-complete-duration) var(--dl-ease),opacity var(--dl-fast); }
.dl-progress[data-state='complete'] .dl-reading-page { animation:none; transform:rotate(0) scale(1.06); transition:transform var(--dl-complete-duration) var(--dl-ease); }
.dl-progress[data-state='complete'] .dl-progress-track i { background:var(--dl-success); }
.dl-intake:has(.is-busy) { border-color:var(--dl-accent); transition:border-color var(--dl-switch); }
.dl-button svg { transition:transform var(--dl-switch) var(--dl-ease); }
.dl-button--primary:not(:disabled):hover svg { transform:translateX(3px); }
.dl-stage-rail li > span { transition:background var(--dl-switch),color var(--dl-switch),border-color var(--dl-switch); }
.dl-tab { transition:background var(--dl-switch),color var(--dl-switch),transform var(--dl-fast); }
.dl-review-item,.dl-table-picker button { transition:background var(--dl-fast),border-color var(--dl-fast); }
.dl-review-item:hover { border-color:var(--dl-accent); background:var(--dl-soft); }
body.document-lab-page .dl :is(.dl-button,select,.dl-text-button,.dl-tab) { border-radius:var(--dl-control-radius) !important; }
body.document-lab-page .dl .dl-drop { border-radius:var(--dl-radius) !important; }
@keyframes dl-reading-float { 0%,100% { translate:0 0; } 50% { translate:0 -5px; } }
@keyframes dl-reading-scan { 0%,100% { translate:0 0; opacity:0; } 12%,85% { opacity:1; } 90% { translate:0 54px; opacity:0; } }
@keyframes dl-orbit-spin { to { rotate:360deg; } }
@keyframes dl-step-pulse { 50% { box-shadow:0 0 0 4px var(--dl-highlight); } }
@keyframes dl-bar-shine { from { transform:translateX(-100%); } to { transform:translateX(100%); } }
/* Hallmark · component: document intake · genre: workbench · theme: locked Hemu
 * Pre-emit critique: P4 H5 E4 S5 R5 V4
 * States: default · hover · focus · active · disabled · loading · error · success.
 * The completed file is a summary; review panes retain the full workbench width. */
.dl-intake[data-state='complete'] { grid-template-columns:minmax(0,1fr); gap:16px; padding:12px; }
.dl-intake[data-state='complete'] .dl-intake-file { display:grid; grid-template-columns:minmax(0,1fr); gap:8px; align-items:center; }
.dl-intake[data-state='complete'] .dl-upload-stage { min-height:0; min-width:0; }
.dl-intake[data-state='complete'] .dl-drop { display:grid; grid-template-columns:32px minmax(0,1fr); gap:4px 12px; min-height:0; height:auto; padding:8px; text-align:start; background:var(--dl-surface); color:var(--dl-ink); border:1px solid var(--dl-clear); }
.dl-intake[data-state='complete'] .dl-upload-icon { grid-row:1 / 3; width:32px; height:40px; margin:0; transform:none; }
.dl-intake[data-state='complete'] .dl-drop-copy { width:100%; max-width:none; font-size:12px; line-height:1.7; }
.dl-intake[data-state='complete'] .dl-drop strong { font-size:14px; margin-bottom:4px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.dl-intake[data-state='complete'] #dlDropSubtitle { color:var(--dl-success); }
.dl-intake[data-state='complete'] #dlDropSubtitle::before { content:'✓'; margin-inline-end:6px; }
.dl-intake[data-state='complete'] .dl-drop small { grid-column:2; justify-self:start; display:flex; align-items:center; margin:0; min-height:44px; padding:4px 0; border:0; font-size:12px; white-space:nowrap; }
.dl-intake[data-state='complete'] .dl-formats,.dl-intake[data-state='complete'] .dl-intake-foot > span,.dl-intake[data-state='complete'] #dlSample { display:none; }
.dl-intake[data-state='complete'] .dl-intake-foot { margin:0; padding-inline-start:52px; }
.dl-intake[data-state='complete'] .dl-message { grid-column:1 / -1; }
.dl-settings-toggle { min-height:44px; font-size:12px; padding:8px 12px; }
.dl-settings-toggle[aria-expanded='true'] svg { transform:rotate(180deg); }
.dl-intake[data-state='complete'] .dl-options { display:grid; grid-template-columns:minmax(0,1fr); gap:12px 24px; padding:16px 8px 8px; border-top:1px solid var(--dl-rule); }
.dl-intake[data-state='complete'] .dl-options h2,.dl-intake[data-state='complete'] .dl-option-action { grid-column:1 / -1; }
.dl-intake[data-state='complete'] .dl-field,.dl-intake[data-state='complete'] .dl-options h2 { margin:0; }
.dl-intake[data-state='complete'] .dl-start { margin:0; }
.dl-drop:active,.dl-drop.is-active { transform:translateY(1px); }
.dl-drop.is-focus { outline:3px solid var(--dl-focus); outline-offset:4px; }
.dl-drop.is-hover::before { opacity:1; }
.dl-intake .dl-drop[data-error='true'] { border-color:var(--dl-error); }
.dl-intake .dl-drop[data-drag='true'] { border-color:var(--dl-accent); }
@media (hover:hover) { .dl-settings-toggle:not(:disabled):hover { background:var(--dl-soft); color:var(--dl-accent); } }
@media (min-width:40rem) {
  .dl-intake[data-state='complete'] { padding:16px; }
  .dl-intake[data-state='complete'] .dl-intake-file { grid-template-columns:minmax(0,1fr) auto; gap:16px; }
  .dl-intake[data-state='complete'] .dl-drop { grid-template-columns:36px minmax(0,1fr) auto; gap:16px; padding:8px 12px; }
  .dl-intake[data-state='complete'] .dl-upload-icon { grid-row:auto; width:36px; height:44px; }
  .dl-intake[data-state='complete'] .dl-drop small { grid-column:auto; padding:8px 12px; }
  .dl-intake[data-state='complete'] .dl-intake-foot { padding:0; }
  .dl-intake[data-state='complete'] .dl-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dl-intake[data-state='complete'] .dl-option-action { display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:20px; align-items:center; }
  .dl-intake[data-state='complete'] .dl-start { grid-column:2; grid-row:1; }
  .dl-intake[data-state='complete'] #dlRuntimeNote { grid-column:1; grid-row:1; }
}
@media (max-width:639px) {
  .dl-upload-stage,.dl-upload-stage .dl-drop { min-height:240px; }
  .dl-upload-stage.is-busy,.dl-upload-stage.is-busy .dl-drop { min-height:354px; }
  .dl-progress { padding:16px; gap:10px; }
  .dl-progress-copy strong { font-size:17px; }
  .dl-processing-steps { font-size:10px; gap:4px; }
  .dl-processing-foot { font-size:10px; gap:4px; }
}
@media (prefers-reduced-motion:reduce) { .dl .dl-progress-track[data-indeterminate='true'] i { width:100% !important; opacity:.55; } }

/* Hallmark · component: document task layout · theme: locked Hemu
 * Pre-emit critique: P4 H5 E4 S5 R4 V4.
 * Wide screens distribute the task into file, recognition and content controls. */
@media (min-width:72rem) {
  body.document-lab-page { --dl-workbench-height:clamp(480px,calc(100dvh - 220px),960px); }
  .dl-intake:not([data-state='complete']) { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:32px; }
  .dl-intake:not([data-state='complete']) .dl-upload-stage,.dl-intake:not([data-state='complete']) .dl-drop { min-height:272px; }
  .dl-intake:not([data-state='complete']) .dl-drop { display:grid; grid-template-columns:48px minmax(0,1fr); gap:12px 24px; align-content:center; align-items:center; justify-content:stretch; padding:28px; text-align:start; }
  .dl-intake:not([data-state='complete']) .dl-upload-icon { grid-column:1; grid-row:1; margin:0; }
  .dl-intake:not([data-state='complete']) .dl-drop-copy { grid-column:2; grid-row:1; max-width:none; }
  .dl-intake:not([data-state='complete']) .dl-drop strong { font-size:18px; }
  .dl-intake:not([data-state='complete']) .dl-drop small { grid-column:2; margin:0; justify-self:start; min-height:44px; display:flex; align-items:center; }
  .dl-intake:not([data-state='complete']) .dl-drop > .dl-formats { grid-column:2; justify-content:flex-start; margin:0; }
  .dl-options,.dl-intake[data-state='complete'] .dl-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto minmax(0,1fr) auto; gap:16px 32px; }
  .dl-options h2 { grid-column:1 / -1; margin:0; }
  .dl-option-fields { grid-column:1; }
  .dl-option-features { grid-column:2; }
  .dl-option-features { border-inline-start:1px solid var(--dl-rule); padding-inline-start:24px; }
  .dl-option-action { grid-column:1 / -1; display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:24px; align-items:center; }
  .dl-option-action .dl-start { grid-column:2; grid-row:1; margin:0; }
  .dl-option-action #dlRuntimeNote { grid-column:1; grid-row:1; max-width:52ch; }
  .dl-progress { grid-template-columns:136px minmax(0,1fr); gap:10px 20px; padding:20px 24px; }
  .dl-processing-head { grid-column:1 / -1; }
  .dl-processing-visual { grid-column:1; grid-row:2 / span 4; width:136px; margin:0; align-self:center; }
  .dl-processing-visual .dl-reading-page { inset-inline-start:33px; }
  .dl-processing-visual .dl-orbit { inset-inline:22px; }
  .dl-processing-visual .dl-floating-cell--one { inset-inline-start:0; }
  .dl-processing-visual .dl-floating-cell--two { inset-inline-end:0; }
  .dl-processing-visual .dl-floating-cell--three { inset-inline-end:4px; }
  .dl-progress-copy,.dl-progress-meter,.dl-progress-track,.dl-processing-steps { grid-column:2; }
  .dl-progress-copy { text-align:start; }
  .dl-processing-foot { grid-column:1 / -1; }
}

.dl-word-status{position:sticky;top:80px;z-index:6;display:grid;grid-template-columns:minmax(0,240px) minmax(100px,1fr) auto;align-items:center;gap:16px;padding:8px 16px;margin-bottom:16px;border:1px solid var(--dl-rule);border-radius:10px;background:var(--dl-surface);color:var(--dl-ink);font-size:12px;animation:dl-export-enter var(--dl-fast) var(--dl-ease) both}.dl-word-status[hidden]{display:none}
.dl-word-progress{display:block;width:100%;height:6px;border:0;border-radius:99px;overflow:hidden;accent-color:var(--dl-accent);margin:0;background:var(--dl-soft)}.dl-word-progress[hidden]{display:none}.dl-word-progress::-webkit-progress-bar{background:var(--dl-soft);border-radius:99px}.dl-word-progress::-webkit-progress-value{background:var(--dl-accent);border-radius:99px;transition:width .3s ease}.dl-word-progress::-moz-progress-bar{background:var(--dl-accent);border-radius:99px}@media(max-width:639px){.dl-word-status{grid-template-columns:minmax(0,1fr) auto;gap:8px}.dl-word-progress{grid-column:1/-1;grid-row:2}}@media(prefers-reduced-motion:reduce){.dl-word-status{animation:none}.dl-word-progress::-webkit-progress-value{transition:none}}
