/* Hallmark · macrostructure: Split Studio · theme: locked Hemu indigo · nav/footer: shared Hemu
 * Audience: researchers · use: preserve, edit and export documents · tone: precise, tactile
 * Pre-emit critique: P4 H5 E4 S5 R4 V4 · rich motion requested by the user. */
body.document-lab-page {
  --dl-workbench-height:clamp(520px,72dvh,860px);
}
body.document-lab-page .dl { padding-top:20px; background:var(--dl-paper); }
.dl .dl-shell { width:min(1440px,calc(100% - 64px)); }
.dl .dl-topline { margin-bottom:20px; }
.dl .dl-status { background:var(--dl-surface); padding:8px 12px; border:1px solid var(--dl-rule); border-radius:24px; }
.dl .dl-status[data-ready='true']::before { box-shadow:0 0 0 4px var(--dl-studio-focus); }
.dl .dl-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.72fr); gap:64px; align-items:center; margin:0 0 24px; }
.dl .dl-intro h1 { display:flex; align-items:baseline; font-size:clamp(32px,3.5vw,52px); line-height:1.25; letter-spacing:-.045em; font-weight:740; }
.dl .dl-intro h1 .dl-title-point { display:inline; color:var(--dl-accent); margin:0 0 0 4px; }
.dl .dl-intro-copy > p { max-width:46ch; font-size:14px; line-height:1.8; margin-top:12px; }
.dl .dl-output-map { margin:0; display:grid; gap:12px; }
.dl .dl-output-map > div { display:grid; grid-template-columns:48px minmax(0,1fr); gap:16px; align-items:baseline; }
.dl .dl-output-map dt { color:var(--dl-muted); font-size:12px; }
.dl .dl-output-map dd { margin:0; display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px 20px; color:var(--dl-ink); font-size:14px; font-weight:550; }
.dl .dl-output-map dd span { font-size:12px; font-weight:400; color:var(--dl-muted); }
.dl .dl-intake { border:1px solid var(--dl-studio-line); border-radius:20px; background:var(--dl-surface); box-shadow:0 12px 40px var(--dl-studio-shadow); grid-template-columns:minmax(0,1fr) 340px; }
.dl .dl-task-head { padding:12px 24px; }
.dl .dl-stage-rail { width:320px; }
.dl .dl-intake-file { padding:24px; }
.dl .dl-upload-stage,.dl .dl-upload-stage .dl-drop { min-height:364px; }
.dl .dl-upload-stage .dl-drop { border:1px dashed var(--dl-studio-line); background:var(--dl-paper); border-radius:14px; padding:32px 24px; }
.dl .dl-upload-icon { isolation:isolate; position:relative; width:72px; height:88px; border-radius:10px; margin-bottom:26px; transform:rotate(0); background:var(--dl-surface); box-shadow:0 10px 22px var(--dl-studio-shadow); }
.dl .dl-upload-icon::before,.dl .dl-upload-icon::after { content:''; position:absolute; inset:0; z-index:-1; border:1px solid var(--dl-studio-line); border-radius:10px; background:var(--dl-surface); transform-origin:50% 100%; transition:transform 480ms var(--dl-ease); }
.dl .dl-upload-icon::before { transform:translate(-14px,3px) rotate(-14deg); }
.dl .dl-upload-icon::after { transform:translate(12px,3px) rotate(12deg); }
.dl .dl-upload-icon svg { width:32px; height:38px; z-index:1; }
.dl .dl-drop::before { opacity:0; background:var(--dl-studio-tint); }
.dl .dl-upload-stage .dl-drop strong { font-size:24px; letter-spacing:-.025em; font-weight:660; }
.dl .dl-drop #dlDropAction { border-radius:28px; min-height:48px; margin-top:22px; padding-inline:24px; background:var(--dl-accent); }
.dl .dl-upload-stage .dl-drop > .dl-formats { font:11px var(--dl-mono); margin-top:18px; }
.dl .dl-options { background:var(--dl-studio-tint); padding:20px; border-inline-start:1px solid var(--dl-rule); }
.dl .dl-option-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; align-items:start; }
.dl .dl-options-heading { margin-bottom:16px; }
.dl .dl-options h2 { font-size:17px; }
.dl .dl-options-heading p { font-size:12px; }
.dl .dl-options .dl-field { gap:8px; font-size:12px; }
body.document-lab-page .dl .dl-options select { height:46px; min-height:46px; border-radius:10px; font-size:13px; }
.dl .dl-field small { position:static; width:auto; height:auto; overflow:visible; clip:auto; white-space:normal; margin:0; font-size:11px; color:var(--dl-muted); line-height:1.6; }
.dl .dl-option-features { border:0; padding-top:0; margin-top:18px; }
.dl .dl-feature-check { min-height:52px; align-items:flex-start; padding-block:6px; }
.dl .dl-feature-check input { margin-top:3px; flex:none; width:18px; height:18px; }
.dl .dl-feature-check strong { font-size:13px; }
.dl .dl-feature-check small { font-size:11px; }
.dl .dl-option-action { padding-top:12px; }
.dl .dl-option-action .dl-start { border-radius:10px; font-size:14px; min-height:48px; box-shadow:0 6px 12px var(--dl-studio-shadow); }
.dl .dl-intake-foot { font-size:11px; padding-inline:4px; }
.dl .dl-message:empty { display:none; }
.dl .dl-upload-help { border:0; padding-top:0; margin-top:14px !important; font-size:12px; }
.dl .dl-upload-help > a { color:var(--dl-accent); }
.dl .dl-progress { margin:0; min-height:364px; background:var(--dl-paper); border-color:var(--dl-studio-line); border-radius:14px; }
.dl .dl-upload-stage.is-busy { min-height:364px; }
.dl .dl-progress-copy { display:block; }
.dl .dl-progress-copy strong { font-size:24px; font-weight:660; }
.dl .dl-progress-track { height:5px; }
.dl .dl-progress-track[data-indeterminate='true'] i { transform-origin:left; opacity:.75; animation:dl-studio-indeterminate 2.1s var(--dl-ease-in-out) infinite; }
.dl .dl-reading-page { filter:drop-shadow(0 8px 8px var(--dl-studio-shadow)); }
.dl .dl-progress[data-state='complete'] .dl-read-beam { display:none; }
.dl .dl-progress[data-state='complete'] .dl-doc-check { stroke-dasharray:64; stroke-dashoffset:0; animation:dl-studio-check 420ms var(--dl-ease); }
.dl .dl-progress[data-state='complete'] .dl-doc-line { opacity:0; }
.dl .dl-results { margin-top:32px; }
.dl .dl-results-header { margin-bottom:20px; align-items:flex-start; }
.dl .dl-results-header h2 { font-size:28px; }
.dl .dl-results-header p { max-width:65ch; line-height:1.8; }
.dl .dl-counts { gap:0; padding:12px 0; }
.dl .dl-counts > span { display:flex; align-items:baseline; gap:6px; padding-inline:20px; border-inline-start:1px solid var(--dl-rule); }
.dl .dl-counts b { font:600 24px var(--dl-font); color:var(--dl-ink); margin:0; }
.dl .dl-result-warnings { margin-bottom:16px; background:var(--dl-studio-tint); border-radius:10px; }
.dl .dl-result-warnings summary { min-height:48px; }
.dl .dl-export-toolbar { display:block; padding:20px; border:1px solid var(--dl-rule); border-radius:16px; background:var(--dl-surface); box-shadow:none; overflow:visible; }
.dl .dl-export-toolbar .dl-downloads { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; margin:0; padding:0; }
.dl .dl-downloads > span { grid-column:1 / -2; grid-row:1; align-self:center; font-size:12px; margin:0; color:var(--dl-muted); }
.dl .dl-downloads > button { position:relative; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; gap:10px; min-height:96px; padding:16px; border-radius:10px; font-size:13px; font-weight:550; }
.dl .dl-downloads > button::before { display:block; font:600 10px var(--dl-mono); letter-spacing:.07em; color:var(--dl-accent); }
.dl .dl-downloads > button[data-export='word-layout']::before { content:'DOCX / LAYOUT'; color:var(--dl-on-accent); }
.dl .dl-downloads > button[data-export='word-editable']::before { content:'DOCX / REFLOW'; }
.dl .dl-downloads > button[data-export='pdf']::before { content:'PDF / SEARCH'; }
.dl .dl-downloads > button[data-export='markdown']::before { content:'MARKDOWN'; }
.dl .dl-downloads > button[data-export='xlsx']::before { content:'EXCEL'; }
.dl .dl-downloads > button[data-export='text']::before { content:'PLAIN TEXT'; }
.dl .dl-downloads > button[aria-busy='true']::before { content:''; width:14px; height:14px; border:1.5px solid var(--dl-rule); border-top-color:var(--dl-accent); border-radius:50%; animation:dl-status-turn 900ms linear infinite; }
.dl .dl-downloads > button.dl-button--primary[aria-busy='true']::before { border-top-color:var(--dl-on-accent); }
.dl .dl-downloads > .dl-more-export { grid-column:-2 / -1; grid-row:1; justify-self:end; }
.dl .dl-more-export > summary { border:0; background:var(--dl-clear); color:var(--dl-muted); min-height:44px; padding:4px 0 4px 12px; font-size:12px; }
.dl .dl-more-export-panel { min-width:224px; box-shadow:0 12px 36px var(--dl-shadow); }
.dl .dl-export-details { margin:0; border:0; }
.dl .dl-export-details summary { display:inline-flex; min-height:44px; gap:14px; padding:0; color:var(--dl-muted); font-size:12px; }
.dl .dl-export-details p { margin:4px 0 0 !important; font-size:12px; }
.dl .dl-word-math-option { margin-top:12px; }
.dl .dl-retention { margin:12px 0 20px; font:11px/1.7 var(--dl-font); color:var(--dl-muted); }
.dl .dl-retention[data-expired='true'] { color:var(--dl-error); }
.dl .dl-workspace { border-radius:16px; gap:0; grid-template-columns:minmax(0,1fr) minmax(0,1.12fr); box-shadow:0 8px 30px var(--dl-studio-shadow); }
.dl .dl-view-head { min-height:78px; padding:14px 20px; gap:12px; }
.dl .dl-view-head h3 { font-size:14px; }
.dl .dl-view-head small { font-size:11px; margin-top:4px; max-width:34ch; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.dl .dl-original { min-width:0; border-inline-end:1px solid var(--dl-rule); }
.dl .dl-workspace[data-has-source='false'] { grid-template-columns:minmax(0,1fr); }
.dl .dl-workspace[data-has-source='false'] .dl-original { border-inline-end:0; border-bottom:1px solid var(--dl-rule); }
.dl .dl-workspace[data-has-source='false'] .dl-page-canvas,.dl .dl-workspace[data-has-source='false'] .dl-source-footer { display:none; }
.dl .dl-tab:disabled { opacity:.45; cursor:not-allowed; }
.dl .dl-page-canvas { background:var(--dl-paper); height:var(--dl-workbench-height); padding:24px; }
.dl .dl-result-body { height:var(--dl-workbench-height); padding:24px; scrollbar-gutter:stable; }
.dl .dl-page-paper { box-shadow:0 8px 24px var(--dl-shadow); }
.dl .dl-extracted > .dl-view-head { align-items:center; flex-wrap:wrap; padding:12px 16px; }
.dl .dl-tabs { display:flex; gap:2px; flex-wrap:wrap; }
.dl .dl-tab { min-width:44px; min-height:44px; padding:8px 12px; font-size:12px; }
.dl .dl-prose { font:14px/1.95 var(--dl-font); }
.dl .dl-prose > button { padding:8px 10px; border-radius:8px; transition:background-color var(--dl-fast) var(--dl-ease),color var(--dl-fast) var(--dl-ease); }
.dl .dl-prose > button:hover,.dl .dl-prose > button:focus-visible { background:var(--dl-studio-tint); }
.dl .dl-editor { min-height:calc(var(--dl-workbench-height) - 48px); background:var(--dl-surface); border-color:var(--dl-studio-line); }
.dl .dl-source-footer,.dl .dl-result-foot { min-height:64px; padding:10px 16px; }
.dl .dl-source-actions .dl-text-button { font-size:11px; padding-inline:8px; }
.dl .dl-table-scroll { scrollbar-gutter:stable; border:1px solid var(--dl-rule); border-radius:10px; }
.dl .dl-table :is(th,td) { padding:12px; border-inline-end:1px solid var(--dl-rule); }
.dl .dl-table th { position:sticky; top:0; z-index:1; background:var(--dl-studio-tint); }
.dl .dl-table tr:nth-child(even) td { background:var(--dl-paper); }
.dl .dl-table-input { display:block; width:100%; min-width:72px; max-width:320px; border:1px solid var(--dl-rule); border-radius:6px; background:var(--dl-surface); color:var(--dl-ink); padding:8px; font:12px var(--dl-font); }
.dl .dl-table-pagination { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; margin-top:12px; font-size:11px; color:var(--dl-muted); }
.dl .dl-table-pagination button { font-size:12px; color:var(--dl-accent); }
.dl .dl-table-meta { gap:4px 8px; }
.dl .dl-notes { padding-block:12px; margin-top:24px; border-block:1px solid var(--dl-rule); }
.dl .dl-notes > summary { cursor:pointer; min-height:44px; display:flex; align-items:center; font-size:12px; }
.dl .dl-notebook { margin:0; border:0; padding:16px 0; }
.dl .dl-toast { border-radius:12px; box-shadow:0 12px 30px var(--dl-shadow); line-height:1.7; }
.dl .dl-intake[data-state='complete'] .dl-upload-icon::before,.dl .dl-intake[data-state='complete'] .dl-upload-icon::after { display:none; }
.dl .dl-intake[data-state='complete'] .dl-options { grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr); }
.dl .dl-intake[data-state='complete'] .dl-option-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.dl .dl-intake[data-state='complete'] .dl-feature-check { min-height:64px; }
.dl .dl-intake[data-state='complete'] .dl-option-action { justify-content:center; }
.dl .dl-intro-copy { animation:dl-studio-in 650ms var(--dl-ease) both; }
.dl .dl-output-map { animation:dl-studio-in 650ms 80ms var(--dl-ease) both; }
.dl .dl-output-map > div { animation:dl-studio-in 500ms var(--dl-ease) both; }
.dl .dl-output-map > div:nth-child(2) { animation-delay:120ms; }
.dl .dl-output-map > div:nth-child(3) { animation-delay:180ms; }
@keyframes dl-studio-in { from { opacity:0; transform:translateY(12px); } to { opacity:1; transform:translateY(0); } }
@keyframes dl-studio-indeterminate { 0% {transform:translateX(-75%) scaleX(.25);} 100% {transform:translateX(110%) scaleX(.25);} }
@keyframes dl-studio-check { from {stroke-dashoffset:64;} to {stroke-dashoffset:0;} }
@media (hover:hover) and (pointer:fine) {
  .dl .dl-drop:not(:disabled):hover .dl-upload-icon { transform:translateY(-4px); }
  .dl .dl-drop:not(:disabled):hover .dl-upload-icon::before { transform:translate(-24px,6px) rotate(-22deg); }
  .dl .dl-drop:not(:disabled):hover .dl-upload-icon::after { transform:translate(23px,6px) rotate(20deg); }
  .dl .dl-downloads > button:not(:disabled):hover { transform:translateY(-3px); border-color:var(--dl-accent); }
  .dl .dl-button--primary:not(:disabled):hover { background:var(--dl-studio-deep); }
}
.dl .dl-drop[data-drag='true'] .dl-upload-icon { transform:translateY(-8px); }
.dl .dl-drop[data-drag='true'] .dl-upload-icon::before { transform:translate(-26px,6px) rotate(-24deg); }
.dl .dl-drop[data-drag='true'] .dl-upload-icon::after { transform:translate(25px,6px) rotate(22deg); }
.dl .dl-upload-icon { transition:transform 480ms var(--dl-ease); }
@media (max-width:1100px) {
  .dl .dl-intro { gap:32px; grid-template-columns:minmax(0,1fr) minmax(270px,.75fr); }
  .dl .dl-intake { grid-template-columns:minmax(0,1fr) 300px; }
  .dl .dl-options { padding:24px; }
  .dl .dl-export-toolbar .dl-downloads { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .dl .dl-downloads > button { min-height:88px; }
  .dl .dl-workspace { grid-template-columns:minmax(0,1fr); }
  .dl .dl-original { border-inline-end:0; border-bottom:1px solid var(--dl-rule); }
  .dl .dl-page-canvas { height:540px; }
  .dl .dl-intake[data-state='complete'] .dl-options { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .dl .dl-intake[data-state='complete'] .dl-option-action { grid-column:1 / -1; }
}
@media (max-width:767px) {
  .dl .dl-shell { width:calc(100% - 32px); }
  .dl .dl-topline { margin-bottom:24px; gap:12px; }
  .dl .dl-status { font-size:10px; padding:6px 10px; }
  .dl .dl-intro { grid-template-columns:minmax(0,1fr); gap:20px; margin-bottom:24px; }
  .dl .dl-intro h1 { font-size:34px; }
  .dl .dl-intro-copy > p { font-size:13px; max-width:38ch; }
  .dl .dl-output-map { gap:8px; padding-top:16px; border-top:1px solid var(--dl-rule); }
  .dl .dl-output-map dd { font-size:12px; }
  .dl .dl-output-map dt,.dl .dl-output-map dd span { font-size:11px; }
  .dl .dl-intake { grid-template-columns:minmax(0,1fr); border-radius:16px; }
  .dl .dl-task-head { padding:16px; gap:16px; }
  .dl .dl-task-title h2 { font-size:14px; }
  .dl .dl-stage-rail { width:100%; }
  .dl .dl-intake-file { padding:16px; }
  .dl .dl-upload-stage,.dl .dl-upload-stage .dl-drop { min-height:316px; }
  .dl .dl-upload-stage .dl-drop { padding:28px 16px; }
  .dl .dl-upload-stage .dl-drop strong { font-size:21px; }
  .dl .dl-options { padding:20px; border-inline-start:0; border-top:1px solid var(--dl-rule); }
  .dl .dl-options-heading { margin-bottom:16px; }
  .dl .dl-option-fields { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .dl .dl-feature-check { min-height:60px; }
  .dl .dl-upload-help { font-size:11px; }
  .dl .dl-results-header { gap:16px; }
  .dl .dl-counts { padding:0; }
  .dl .dl-counts > span { padding-inline:8px; font-size:11px; }
  .dl .dl-counts > span:first-child { padding-inline-start:0; border:0; }
  .dl .dl-counts b { font-size:18px; }
  .dl .dl-export-toolbar { padding:16px; }
  .dl .dl-export-toolbar .dl-downloads { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .dl .dl-downloads > button { padding:14px 12px; min-height:84px; font-size:12px; }
  .dl .dl-downloads > button::before { font-size:9px; }
  .dl .dl-more-export > summary { min-height:44px; }
  .dl .dl-page-canvas { height:440px; padding:16px; }
  .dl .dl-result-body { height:500px; padding:16px; }
  .dl .dl-view-head { padding:12px 16px; min-height:72px; }
  .dl .dl-extracted > .dl-view-head { padding:8px; gap:4px; }
  .dl .dl-tab { padding:8px; font-size:11px; }
  .dl .dl-intake[data-state='complete'] .dl-options { grid-template-columns:minmax(0,1fr); gap:16px; }
  .dl .dl-intake[data-state='complete'] .dl-option-action { grid-column:auto; }
  .dl .dl-source-footer { gap:4px; padding-inline:8px; }
  .dl .dl-table-pagination > span { order:1; flex-basis:100%; text-align:center; }
}
@media (max-width:359px) {
  .dl .dl-shell { width:calc(100% - 24px); }
  .dl .dl-output-map dd span { display:none; }
  .dl .dl-task-title { gap:8px; }
  .dl #dlTaskState { padding-inline-start:8px; }
  .dl .dl-source-footer .dl-zoom { width:88px; }
  .dl .dl-source-footer :is(select,input) { font-size:10px; }
}
@media (prefers-reduced-motion:reduce) {
  .dl .dl-intro-copy,.dl .dl-output-map,.dl .dl-output-map > div,.dl .dl-upload-icon,.dl .dl-upload-icon::before,.dl .dl-upload-icon::after,.dl .dl-progress-track i,.dl .dl-doc-check,.dl .dl-downloads > button::before { animation:none !important; transition:none !important; }
}
