.voss-poc-app {
  --voss-black: #0b0a09;
  --voss-black-soft: #171411;
  --voss-paper: #d8c7ac;
  --voss-paper-light: #e8ddcb;
  --voss-ink-light: #e7decf;
  --voss-oxblood: #750d16;
  --voss-accent-text: #c0646d;
  --voss-muted: #a99d8b;
  --voss-display: "Libre Caslon Display", "Iowan Old Style", Baskerville, Georgia, serif;
  --voss-body: "Source Serif 4", "Iowan Old Style", Georgia, serif;
  --voss-mono: "Courier Prime", "Courier New", monospace;
  box-sizing: border-box;
  width: 100%;
  max-width: 76rem;
  margin: 0 auto;
  padding: clamp(1rem, 4vw, 3rem);
  overflow-x: clip;
  color: var(--voss-ink-light);
  background: var(--voss-black);
  font-family: var(--voss-body);
  font-size: 1rem;
  line-height: 1.55;
}

/* Production progressive reader shell. */
.voss-case {
  --vc-black: #0b0a09;
  --vc-ink: #211b17;
  --vc-paper: #eee3cf;
  --vc-paper-deep: #d8c5a5;
  --vc-rule: #9b8767;
  --vc-oxblood: #7b1019;
  --vc-red: #a02a31;
  --vc-display: "Libre Caslon Display", "Iowan Old Style", Baskerville, Georgia, serif;
  --vc-body: "Source Serif 4", "Iowan Old Style", Georgia, serif;
  --vc-mono: "Courier Prime", "Courier New", monospace;
  box-sizing: border-box;
  width: min(100%, 78rem);
  margin: 0 auto;
  color: var(--vc-ink);
  background: var(--vc-paper);
  font: 1rem/1.65 var(--vc-body);
  overflow: clip;
  box-shadow: 0 1rem 4rem #0008;
}
body:has(.voss-case) .voss-placeholder-page { max-width: none; padding: 0; overflow-x: clip; background: #100d0b; }
body:has(.voss-case) .voss-placeholder-page__inner { max-width: none; padding: 0; }
body:has(.voss-case) .voss-placeholder-page__inner > h1 { display: none; }
.voss-dialog-open { overflow: hidden; }
.voss-case *, .voss-case *::before, .voss-case *::after { box-sizing: inherit; }
.voss-case button, .voss-case input { font: inherit; }
.voss-case button { min-width: 44px; min-height: 44px; cursor: pointer; }
.voss-case button:disabled { cursor: default; opacity: .48; }
.voss-case button:focus-visible, .voss-case input:focus-visible, .voss-case summary:focus-visible, .voss-case [tabindex]:focus-visible { outline: 3px solid #cf6c70; outline-offset: 3px; }
.voss-case .screen-reader-text { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.voss-case__skip { position: fixed; z-index: 100000; top: .5rem; left: .5rem; padding: .7rem 1rem; background: #fff; color: #000; transform: translateY(-150%); }
.voss-case__skip:focus { transform: none; }
.voss-case__masthead { display:flex; justify-content:space-between; gap:2rem; padding:clamp(1.25rem,4vw,3rem); color:#eee3cf; background:#0b0a09; border-bottom:1px solid #75664f; }
.voss-case__kicker, .voss-scene__eyebrow, .voss-puzzle__index, .voss-case__dialog-header p { margin:0 0 .5rem; font:700 .72rem/1.4 var(--vc-mono); letter-spacing:.15em; text-transform:uppercase; }
.voss-case__masthead h1 { margin:0; font:400 clamp(2.8rem,8vw,6.7rem)/.9 var(--vc-display); letter-spacing:.025em; }
.voss-case__dek { margin:.9rem 0 0; color:#cdbfa9; font-style:italic; }
.voss-case__mast-actions { align-self:flex-end; text-align:right; }
.voss-case__quiet, .voss-case__reset { border:1px solid currentColor; color:inherit; background:transparent; padding:.65rem .9rem; font:700 .7rem/1 var(--vc-mono); letter-spacing:.08em; }
.voss-case__save { margin:.65rem 0 0; color:#b6a78f; font:400 .65rem/1.4 var(--vc-mono); letter-spacing:.08em; }
.voss-case__progress { position:sticky; top:0; z-index:20; padding:.65rem clamp(1rem,4vw,3rem); color:#eee3cf; background:#171310f5; backdrop-filter:blur(8px); }
.voss-case__progress span { font:700 .65rem/1 var(--vc-mono); letter-spacing:.11em; }
.voss-case__progress div { height:2px; margin-top:.45rem; background:#625747; }
.voss-case__progress i { display:block; height:100%; background:#a72b33; transition:width .35s ease; }
.voss-case__story { padding:0 clamp(1rem,4vw,3rem) 4rem; }
.voss-scene { display:grid; grid-template-columns:minmax(2.5rem,5rem) minmax(0,48rem); justify-content:center; gap:clamp(.75rem,3vw,2rem); padding:clamp(2.5rem,7vw,6rem) 0; border-bottom:1px solid #ad9a7b; }
.voss-scene__number { padding-top:.65rem; color:#78694f; font:700 .66rem/1 var(--vc-mono); letter-spacing:.1em; }
.voss-scene__body { min-width:0; }
.voss-scene h2 { margin:0 0 1.1rem; color:#17110e; font:400 clamp(2.1rem,6vw,4.6rem)/.98 var(--vc-display); }
.voss-scene p { max-width:44rem; margin:.8rem 0; font-size:clamp(1rem,1.8vw,1.18rem); }
.voss-scene__image { margin:1.4rem 0 1.8rem; border:1px solid #8e795c; background:#e8dcc7; box-shadow:0 .7rem 1.8rem #3b2d1e22; }
.voss-scene__image img { display:block; width:100%; height:auto; max-height:34rem; object-fit:cover; filter:sepia(.08) contrast(1.02); }
.voss-scene__attribution { font:700 .74rem/1.4 var(--vc-mono)!important; letter-spacing:.15em; }
.voss-dossiers { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.voss-dossiers article { padding:1.1rem; border:1px solid #9c8869; background:#e2d2b8; }
.voss-dossiers h3 { margin:0; font:400 1.5rem/1.1 var(--vc-display); }
.voss-dossiers p, .voss-dossiers summary { font-size:.94rem; }
.voss-dossiers summary { cursor:pointer; font-family:var(--vc-mono); font-weight:700; }
.voss-evidence-card { position:relative; margin-top:2rem; padding:clamp(1.1rem,3vw,2rem); color:#eadfcd; background:#17120f; border:1px solid #846f54; }
.voss-evidence-card::before { content:""; position:absolute; inset:.35rem; border:1px solid #79664f66; pointer-events:none; }
.voss-evidence-card h3 { margin:.2rem 0; font:400 clamp(1.6rem,4vw,2.5rem)/1 var(--vc-display); }
.voss-evidence-card p:first-child { color:#bca989; font:700 .68rem/1.4 var(--vc-mono); letter-spacing:.12em; }
.voss-evidence-card button, .voss-primary { position:relative; border:1px solid #bd7d7f; padding:.75rem 1rem; color:#fff6e8; background:#7b1019; font:700 .72rem/1.1 var(--vc-mono); letter-spacing:.07em; }
.voss-case__footer { display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; padding:2rem; color:#d9ccb6; background:#17120f; }
.voss-case__dialog[hidden], .voss-case__closed[hidden], [hidden] { display:none!important; }
.voss-case__dialog { position:fixed; inset:0; z-index:99999; display:grid; place-items:center; padding:max(.5rem,env(safe-area-inset-top)) max(.5rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.5rem,env(safe-area-inset-left)); }
.voss-case__dialog-backdrop { position:absolute; inset:0; background:#050403e8; }
.voss-case__evidence-sheet, .voss-case__notebook { position:relative; width:min(100%,56rem); max-height:calc(100dvh - 1rem); overflow:auto; overscroll-behavior:contain; color:#eee3cf; background:#100d0b; border:1px solid #9a8465; box-shadow:0 2rem 6rem #000; }
.voss-case__dialog-header { position:sticky; top:0; z-index:5; display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.9rem 1rem; background:#100d0bf5; border-bottom:1px solid #665844; }
.voss-case__dialog-header h2 { margin:0; color:#eee3cf; font:400 clamp(1.5rem,4vw,2.5rem)/1 var(--vc-display); }
.voss-case__dialog-header button { border:0; color:#d7c7ae; background:transparent; font:700 .7rem/1 var(--vc-mono); }
.voss-puzzle { padding:clamp(1rem,4vw,2rem); min-height:60vh; }
.voss-puzzle h3 { margin:.15rem 0 .7rem; font:400 clamp(2rem,6vw,3.7rem)/1 var(--vc-display); }
.voss-puzzle > p:not([class]) { color:#c9baa3; }
.voss-puzzle__controls { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; margin-top:1.4rem; padding-top:1rem; border-top:1px solid #5e5140; }
.voss-puzzle__controls button, .voss-strip button, .voss-claims label, .voss-email-seam button { border:1px solid #806f58; padding:.65rem .75rem; color:#eee3cf; background:#1b1713; font:700 .68rem/1.15 var(--vc-mono); letter-spacing:.04em; }
.voss-puzzle[data-mismatch="true"], [data-puzzle-root][data-mismatch="true"] { animation:voss-mismatch .42s ease; }
@keyframes voss-mismatch { 50% { filter:sepia(1) saturate(3); transform:translateX(.15rem); } }
.voss-letter-grid, .voss-word-grid, .voss-sudoku, .voss-route-grid { display:grid; width:min(100%,32rem); margin:1rem auto; border:2px solid #6f5b2d; background:#f0d77b; box-shadow:0 .65rem 1.8rem #0005; }
.voss-letter-grid { grid-template-columns:repeat(5,1fr); }
.voss-word-grid { grid-template-columns:repeat(var(--cols),minmax(0,1fr)); }
.voss-sudoku { grid-template-columns:repeat(6,1fr); }
.voss-route-grid { grid-template-columns:repeat(7,1fr); }
.voss-letter-grid button, .voss-word-grid button, .voss-sudoku button, .voss-route-grid button { aspect-ratio:1; min-width:0; min-height:0; padding:0; border:0; border-right:1px solid #88733c; border-bottom:1px solid #88733c; color:#17120d; background:#f5df8f; font:900 clamp(.68rem,2.7vw,1rem)/1 var(--vc-mono); text-shadow:0 1px 0 #fff8d8; }
.voss-letter-grid button:hover, .voss-word-grid button:hover, .voss-sudoku button:hover, .voss-route-grid button:hover { background:#ffeaa2; }
.voss-word-grid button[data-found="true"], .voss-route-grid button[data-path="true"] { color:#fff8e8; background:#6e151d; text-decoration:line-through; text-shadow:none; }
.voss-word-grid button[data-pending="true"], .voss-route-grid button[data-current="true"], .voss-sudoku button[aria-pressed="true"] { box-shadow:inset 0 0 0 3px #8a1620; }
.voss-route-grid button { font-size:clamp(.48rem,2vw,.78rem); overflow-wrap:anywhere; }
.voss-coordinate-list, .voss-accepted, .voss-keypad, .voss-proof-key, .voss-candidates, .voss-strip > div { display:flex; flex-wrap:wrap; gap:.45rem; margin:1rem 0; }
.voss-coordinate-list button { display:grid; gap:.2rem; min-width:3.2rem; border:1px solid #776650; color:#eee3cf; background:#17130f; }
.voss-coordinate-list small { color:#bba888; font-family:var(--vc-mono); }
.voss-accepted span, .voss-puzzle__fragment, .voss-puzzle__recovered, .voss-findings span { display:inline-block; margin:.2rem; padding:.35rem .55rem; color:#f0dfc6; background:#541319; font:700 .72rem/1.3 var(--vc-mono); letter-spacing:.05em; }
.voss-word-list, .voss-endpoints, .voss-extraction { display:grid; grid-template-columns:repeat(auto-fit,minmax(7rem,1fr)); gap:.5rem; padding:0; list-style:none; }
.voss-word-list li, .voss-endpoints li, .voss-extraction li { display:flex; justify-content:space-between; gap:.5rem; padding:.5rem; border-bottom:1px solid #5d5140; font-family:var(--vc-mono); font-size:.75rem; }
.voss-word-list li[data-found="true"] { text-decoration:line-through; color:#c46e73; }
.voss-sudoku button:nth-child(3n) { border-right:2px solid #b9a17c; }
.voss-sudoku button:nth-child(n+7):nth-child(-n+12), .voss-sudoku button:nth-child(n+19):nth-child(-n+24) { border-bottom:2px solid #b9a17c; }
.voss-sudoku button[data-fixed="true"] { color:#17120f; background:#d5b84f; font-weight:900; }
.voss-sudoku small { float:right; color:#d5636a; font-size:.55rem; }
.voss-keypad { justify-content:center; }
.voss-keypad button { width:3rem; border:1px solid #85735a; color:#eee3cf; background:#211b16; }
.voss-arrows { padding:.75rem; overflow-wrap:anywhere; color:#f0dfc6; background:#211a15; font:700 clamp(1.1rem,4vw,1.7rem)/1.5 var(--vc-mono); letter-spacing:.18em; text-align:center; }
.voss-proof-line { display:grid; gap:1rem; min-width:0; padding:.8rem 0; }
.voss-proof-word { display:flex; flex-wrap:wrap; gap:.3rem; min-width:0; }
.voss-proof-cell { display:grid; justify-items:center; width:2.65rem; min-width:0; color:#eee3cf; }
.voss-proof-cell .voss-symbol { min-height:1.8rem; }
.voss-proof-cell input { width:100%; min-height:2.75rem; padding:.25rem; border:1px solid #806f58; border-radius:0; color:#211b17; background:#f4e5ba; font:700 1rem/1 var(--vc-mono); text-align:center; text-transform:uppercase; }
.voss-proof-cell input:focus-visible { outline:3px solid #ba3b43; outline-offset:2px; }
.voss-proof-apostrophe { align-self:end; min-height:2.75rem; color:#eee3cf; font:700 1.5rem/2.75rem var(--vc-body); }
.voss-proof-hint { font-size:.9rem; }
.voss-register { max-width:52rem; margin:0 auto; }
.voss-register-message { position:sticky; top:3.5rem; z-index:3; margin:1rem 0; padding:.8rem; border:1px solid #b99d6d; background:#f2e4be; color:#211b17; }
.voss-register-section { margin:1.5rem 0; padding:clamp(.75rem,3vw,1.5rem); border:1px solid #a8916f; background:#eee0c6; color:#211b17; }
.voss-register-section h4 { margin:0 0 .7rem; color:#7b1019; font:700 .85rem/1.3 var(--vc-mono); letter-spacing:.1em; }
.voss-register-targets { display:grid; gap:.4rem; padding:0; list-style:none; }
.voss-register-targets li { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.4rem; padding:.4rem 0; border-bottom:1px solid #b7a27f; font:.72rem/1.4 var(--vc-mono); }
.voss-register-targets li[data-found="true"] { text-decoration:line-through; }
.voss-register-rows { display:grid; gap:.8rem; }
.voss-register-row { padding:.5rem; border:1px solid #b7a27f; background:#f7ecd3; }
.voss-register-row p { margin:0 0 .4rem; font:700 .72rem/1.2 var(--vc-mono); }
.voss-register-row > div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.35rem; }
.voss-register-row button { display:flex; align-items:center; justify-content:space-between; min-width:0; min-height:44px; padding:.4rem .6rem; border:1px solid #9b835d; color:#211b17; background:#ffe8a2; font:700 1rem/1.2 var(--vc-mono); }
.voss-register-row button small { font-size:.65rem; }
.voss-register-row button[data-found="true"] { text-decoration:line-through; color:#f7ebd7; background:#6e151d; }
.voss-register-row button[data-pending="true"] { outline:3px solid #7b1019; outline-offset:1px; }
.voss-register-transcript { display:grid; gap:.7rem; margin:1rem 0; }
.voss-register-transcript label { display:grid; gap:.3rem; font-weight:700; }
.voss-register-transcript input { width:100%; min-height:44px; padding:.6rem; border:1px solid #7d6543; color:#211b17; background:#fff9e9; font:700 1rem/1.3 var(--vc-mono); text-transform:uppercase; }
.voss-register-section button[data-register-reset], .voss-register-transcript button { min-height:44px; padding:.65rem; border:1px solid #7d6543; color:#211b17; background:#e6d2ac; font:700 .7rem/1.2 var(--vc-mono); }
@media (min-width:600px) { .voss-register-row > div { grid-template-columns:repeat(4,minmax(0,1fr)); } }
.voss-puzzle[data-number="9"] .voss-message-strip { position:sticky; top:3.5rem; z-index:3; padding:.75rem; border:1px solid #b99d6d; background:#f2e4be; color:#211b17; overflow-wrap:anywhere; }
.voss-fold-source { margin:1rem 0; padding:.7rem; border:1px solid #7b6950; }
.voss-fold-source summary { min-height:44px; padding:.6rem; cursor:pointer; font:700 .75rem/1.4 var(--vc-mono); }
.voss-puzzle[data-number="9"] .voss-assembly { display:grid; gap:.7rem; margin-top:1rem; }
.voss-notebook-actions { display:flex; flex-wrap:wrap; gap:.6rem; }
.voss-notebook-actions button, .voss-reader__checkpoint [data-revisit-puzzle] { min-height:44px; padding:.65rem .8rem; border:1px solid #806f58; color:#eee3cf; background:#211b17; font:700 .7rem/1.2 var(--vc-mono); }
.voss-reader__checkpoint [data-revisit-puzzle] { margin:.7rem 0; color:#211b17; background:#f1e6d3; }
.voss-revisit { max-width:48rem; margin:0 auto; }
.voss-revisit > section { margin:1.4rem 0; padding:1rem 0; border-top:1px solid #776650; }
.voss-revisit h4 { margin:.3rem 0; font:700 .8rem/1.4 var(--vc-mono); }
.voss-revisit-grid { display:grid; grid-template-columns:repeat(var(--cols),minmax(0,1fr)); gap:1px; width:min(100%,30rem); margin:1rem 0; border:1px solid #786342; background:#786342; }
.voss-revisit-grid span { display:grid; place-items:center; min-width:0; min-height:2.2rem; padding:.15rem; color:#211b17; background:#f4df9a; font:700 clamp(.64rem,2.7vw,.9rem)/1.1 var(--vc-mono); text-align:center; overflow-wrap:anywhere; }
.voss-revisit-grid span[data-marked="true"] { color:#fff2dc; background:#711820; }
.voss-revisit-list { padding-left:1.5rem; line-height:1.6; }
.voss-revisit-list li { margin:.35rem 0; }
.voss-revisit-result { font:700 1.1rem/1.5 var(--vc-mono); }
.voss-revisit-coordinates { display:flex; flex-wrap:wrap; gap:.4rem; }
.voss-revisit-coordinates > span { display:grid; place-items:center; min-width:2.75rem; min-height:3.5rem; border:1px solid #8d7655; background:#f4df9a; color:#211b17; }
.voss-revisit-coordinates small { font:.65rem/1.2 var(--vc-mono); }
.voss-revisit-coordinates strong { font:700 1.1rem/1.2 var(--vc-mono); }
.voss-revisit-routes { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,9rem),1fr)); gap:.5rem; }
.voss-revisit-routes button { display:grid; gap:.3rem; min-height:44px; padding:.7rem; border:1px solid #806f58; color:#eee3cf; background:#211b17; font:.7rem/1.3 var(--vc-mono); text-align:left; }
.voss-revisit-routes button[aria-pressed="true"] { outline:2px solid #f4df9a; background:#711820; }
.voss-revisit-routes button span { letter-spacing:.1em; }
.voss-revisit-sudoku span { position:relative; min-height:2.7rem; }
.voss-revisit-sudoku span[data-given="true"] { background:#ebd09a; }
.voss-revisit-sudoku span small { position:absolute; top:.1rem; right:.2rem; color:#771820; font:.58rem/1 var(--vc-mono); }
.voss-revisit-strips { display:grid; gap:.7rem; padding-left:1.2rem; }
.voss-revisit-strips li > span { display:flex; flex-wrap:wrap; gap:.2rem; margin:.3rem 0; }
.voss-revisit-strips li > span > span { padding:.3rem; border:1px solid #776650; font:.72rem/1.3 var(--vc-mono); }
.voss-revisit-strips [data-selected="true"] { color:#211b17; background:#f4df9a; font-weight:700; }
.voss-revisit-proof-line { display:flex; flex-wrap:wrap; gap:.8rem; }
.voss-revisit-proof-word, .voss-revisit-proof-key { display:flex; flex-wrap:wrap; gap:.3rem; }
.voss-revisit-proof-cell, .voss-revisit-proof-key > span { display:grid; place-items:center; min-width:2.4rem; min-height:3.5rem; padding:.25rem; border:1px solid #8d7655; background:#f4df9a; color:#211b17; }
.voss-revisit-proof-cell strong { font:700 .9rem/1.2 var(--vc-mono); }
.voss-revisit-proof-key > span { min-height:2.75rem; }
.voss-revisit-candidates { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,8rem),1fr)); gap:.5rem; }
.voss-revisit-candidates > div { display:grid; justify-items:center; gap:.3rem; padding:.6rem; border:1px solid #806f58; }
.voss-revisit-candidates > div[data-selected="true"] { outline:2px solid #f4df9a; }
.voss-revisit-audit { padding-left:1.5rem; }
.voss-revisit-audit li { margin:.7rem 0; }
.voss-revisit-audit strong { display:block; color:#f4df9a; font:.7rem/1.5 var(--vc-mono); text-transform:uppercase; }
.voss-revisit-accusations { padding-left:1.5rem; }
.voss-revisit-accusations li { margin:.6rem 0; padding:.5rem; border:1px solid #776650; }
.voss-revisit-accusations li[data-selected="true"] { border-color:#f4df9a; background:#711820; }
.voss-revisit > [data-return-review] { min-height:44px; margin:1rem 0; }
.voss-proof-key { display:grid; grid-template-columns:repeat(3,1fr); }
.voss-proof-key button { display:flex; justify-content:space-between; align-items:center; border:1px solid #625642; color:#eee3cf; background:#17130f; }
.voss-symbol::before { content:"◇"; display:inline-block; font-size:1.25rem; }
.voss-symbol--outline_circle::before { content:"○"; }.voss-symbol--outline_square::before { content:"□"; }.voss-symbol--outline_triangle::before { content:"△"; }.voss-symbol--outline_diamond_broad::before { content:"◇"; transform:scaleX(1.35); }.voss-symbol--outline_diamond_narrow::before { content:"◇"; transform:scaleX(.65); }.voss-symbol--plus::before { content:"+"; }.voss-symbol--x_mark::before { content:"×"; }.voss-symbol--solid_circle::before { content:"●"; }.voss-symbol--solid_triangle::before { content:"▲"; }.voss-symbol--solid_diamond::before { content:"◆"; }.voss-symbol--crescent::before { content:"☾"; }.voss-symbol--sunburst::before { content:"✺"; }.voss-symbol--club::before { content:"♣"; }.voss-symbol--spade::before { content:"♠"; }.voss-symbol--triple_bar::before { content:"≡"; }.voss-symbol--triple_bar_marked::before { content:"≣"; }.voss-symbol--outline_pentagon::before { content:"⬠"; }.voss-symbol--bullseye::before { content:"⊙"; }.voss-symbol--circled_plus::before { content:"⊕"; }
.voss-tile-grid { display:grid; grid-template-columns:repeat(4,1fr); width:min(100%,24rem); margin:1rem auto; }
.voss-tile-grid > * { display:grid; place-items:center; aspect-ratio:1; border:1px solid #5f5241; background:#17130f; }
.voss-tile { display:block; width:2.2rem; aspect-ratio:1; border:2px solid #dcccae; }
.voss-tile--circle { border-radius:50%; }.voss-tile--triangle { clip-path:polygon(50% 0,100% 100%,0 100%); }.voss-tile--pentagon { clip-path:polygon(50% 0,100% 38%,82% 100%,18% 100%,0 38%); }.voss-tile--solid { background:#dcccae; }.voss-tile--striped { background:repeating-linear-gradient(45deg,transparent 0 4px,#dcccae 4px 6px); }.voss-tile--dotted { background:radial-gradient(#dcccae 1.5px,transparent 2px) 0 0/7px 7px; }
.voss-candidates { display:grid; grid-template-columns:repeat(3,1fr); }
.voss-candidates button { display:grid; place-items:center; gap:.3rem; min-width:0; padding:.5rem; border:1px solid #615443; color:#eee3cf; background:#17130f; }
.voss-candidates button[aria-pressed="true"] { box-shadow:inset 0 0 0 3px #a9363d; }
.voss-candidates small { font-size:.65rem; }
.voss-strip nav, .voss-puzzle nav { display:flex; justify-content:space-between; gap:.5rem; margin:1rem 0; }
.voss-claims fieldset { margin:1rem 0; border:1px solid #5f5241; }
.voss-claims legend { padding:.4rem; font-family:var(--vc-body); }
.voss-claims label { display:inline-flex; align-items:center; gap:.35rem; margin:.25rem; cursor:pointer; }
.voss-accusations { display:grid; gap:.65rem; margin:1rem 0; }
.voss-accusations label { display:grid; grid-template-columns:2rem 1fr; gap:.8rem; padding:1rem; border:1px solid #665844; cursor:pointer; }
.voss-accusations input { grid-row:1/3; align-self:center; }
.voss-email-seam { padding:1rem; border:1px solid #75644d; background:#1b1612; }
.voss-email-seam label { display:grid; gap:.35rem; }
.voss-email-seam input { width:100%; padding:.75rem; border:1px solid #917b5d; color:#17120f; background:#f0e5d2; }
.voss-case__notebook { padding-bottom:2rem; }
.voss-case__notebook > div:last-child { padding:1rem; }
.voss-case__notebook section { margin:1.5rem 0; }
.voss-case__notebook h3 { font:700 .74rem/1.4 var(--vc-mono); letter-spacing:.12em; }
.voss-case__notebook details, .voss-case__notebook li { padding:.65rem 0; border-bottom:1px solid #4f4436; }
.voss-case__notebook li[data-closed="true"] { color:#9f927e; text-decoration:line-through; }
.voss-case__closed { padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3rem); color:#eee3cf; background:#0b0a09; }
.voss-case__closed > h2 { margin:.2rem 0 2rem; font:400 clamp(3rem,10vw,8rem)/.9 var(--vc-display); }
.voss-case__closed .voss-scene { border-color:#5e503d; }
.voss-case__closed .voss-scene h2, .voss-case__closed .voss-scene p { color:#eee3cf; }
.voss-scene__reveal { font:400 clamp(2.8rem,10vw,7rem)/1 var(--vc-display)!important; letter-spacing:.04em; }
.voss-scene__bridge { color:#b9aa92; font-style:italic; }
.voss-case__toast { position:fixed; z-index:100001; left:50%; bottom:max(1rem,env(safe-area-inset-bottom)); width:min(calc(100% - 2rem),30rem); transform:translateX(-50%); padding:.85rem 1rem; color:#fff5e6; background:#5e1117; border:1px solid #c16a70; box-shadow:0 .8rem 2rem #0008; text-align:center; font:700 .74rem/1.35 var(--vc-mono); }
.voss-case__noscript { padding:2rem; color:#eee3cf; background:#441116; }
@media (max-width: 600px) {
  .voss-case__masthead { display:block; }
  .voss-case__mast-actions { margin-top:1rem; text-align:left; }
  .voss-scene { grid-template-columns:1.8rem minmax(0,1fr); gap:.45rem; }
  .voss-dossiers { grid-template-columns:1fr; }
  .voss-case__dialog { padding:0; }
  .voss-case__evidence-sheet, .voss-case__notebook { width:100%; max-height:100dvh; min-height:100dvh; border:0; }
  .voss-case__evidence-sheet .voss-case__dialog-header { position:relative; }
  .voss-puzzle { padding:1rem .75rem 5rem; }
  .voss-letter-grid button, .voss-word-grid button, .voss-sudoku button { font-size:clamp(.62rem,3.2vw,.9rem); }
  .voss-route-grid button { font-size:clamp(.4rem,2.1vw,.65rem); }
  .voss-puzzle__controls { position:sticky; bottom:0; z-index:4; margin-inline:-.75rem; padding:.75rem; background:#100d0bf2; }
}
@media (prefers-reduced-motion: reduce) { .voss-case *, .voss-case *::before, .voss-case *::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }

body:has(.voss-poc-app) .voss-placeholder-page { overflow-x: clip; }
body:has(.voss-poc-app) .voss-placeholder-page__inner > h1 { display: none; }
body.voss-poc-modal-open { overflow: hidden !important; overscroll-behavior: none; }

.voss-poc-app *,
.voss-poc-app *::before,
.voss-poc-app *::after { box-sizing: inherit; }

.voss-poc-app button,
.voss-poc-app input { font: inherit; }
.voss-poc-app button { min-width: 44px; min-height: 44px; cursor: pointer; }
.voss-poc-app button:disabled { cursor: default; opacity: .52; }
.voss-poc-app button:focus-visible,
.voss-poc-app summary:focus-visible,
.voss-poc-app [tabindex]:focus-visible { outline: 3px solid var(--voss-accent-text); outline-offset: 3px; }
.voss-poc-app .screen-reader-text {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.voss-poc-header {
  padding: clamp(1.25rem, 4vw, 2.75rem) 0;
  border: 1px solid rgba(216, 199, 172, .5);
  border-width: 1px 0;
}
.voss-poc-eyebrow,
.voss-poc-section-heading > p,
.voss-poc-card__topline,
.voss-poc-viewer__label,
.voss-poc-viewer__progress,
.voss-poc-puzzle-heading > p,
.voss-poc-record__heading > p {
  margin: 0 0 .55rem;
  color: var(--voss-paper);
  font-family: var(--voss-mono);
  font-size: .74rem;
  font-weight: 700;
  letter-spacing: .16em;
}
.voss-poc-header h1,
.voss-poc-section-heading h2,
.voss-poc-card h3,
.voss-poc-puzzle-heading h3,
.voss-poc-record__heading h4 {
  margin: 0;
  font-family: var(--voss-display);
  font-weight: 400;
  line-height: 1;
}
.voss-poc-header h1 { color: var(--voss-paper-light); font-size: clamp(2.6rem, 9vw, 6.5rem); }
.voss-poc-header > p:not([class]) { max-width: 42rem; margin: 1rem 0 .45rem; font-size: 1.08rem; }
.voss-poc-saved {
  margin: .7rem 0 0;
  color: var(--voss-muted);
  font-family: var(--voss-mono);
  font-size: .68rem;
  letter-spacing: .12em;
  opacity: .62;
  transition: opacity .2s ease;
}
.voss-poc-saved[data-flash="true"] { opacity: 1; }

.voss-poc-investigation,
.voss-poc-notebook { margin-top: clamp(2rem, 6vw, 4.5rem); }
.voss-poc-section-heading { margin-bottom: 1.2rem; }
.voss-poc-section-heading h2 { color: var(--voss-paper-light); font-size: clamp(1.9rem, 5vw, 3.3rem); }
.voss-poc-status,
.voss-poc-puzzle-status { min-height: 1.55em; margin: .65rem 0; font-style: italic; }
.voss-poc-status { color: var(--voss-paper); }

.voss-poc-card-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.voss-poc-card {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 18rem;
  flex-direction: column;
  padding: clamp(1rem, 2.4vw, 1.55rem);
  border: 1px solid #5f5548;
  background: var(--voss-black-soft);
  box-shadow: 0 14px 32px rgba(0, 0, 0, .2);
}
.voss-poc-card::before { content: ""; position: absolute; inset: .42rem; border: 1px solid rgba(216, 199, 172, .12); pointer-events: none; }
.voss-poc-card__topline { display: flex; justify-content: space-between; gap: .75rem; }
.voss-poc-card__topline strong { color: var(--voss-muted); text-align: right; }
.voss-poc-card[data-state="progress"] .voss-poc-card__topline strong { color: var(--voss-accent-text); }
.voss-poc-card[data-state="complete"] { border-color: var(--voss-oxblood); }
.voss-poc-card[data-state="complete"] .voss-poc-card__topline strong { color: #dcabb0; }
.voss-poc-card h3 { position: relative; margin-top: 1.25rem; color: var(--voss-paper-light); font-size: clamp(1.75rem, 3.2vw, 2.75rem); }
.voss-poc-card > p { position: relative; margin: 1rem 0 1.5rem; color: #c8bcaa; }
.voss-poc-card > button { position: relative; width: 100%; margin-top: auto; }

.voss-poc-primary,
.voss-poc-card button,
.voss-poc-viewer button:not([role="gridcell"]),
.voss-poc-return,
.voss-poc-text-button {
  border: 1px solid #63594d;
  border-radius: 0;
  padding: .68rem .8rem;
  color: var(--voss-ink-light);
  background: var(--voss-black-soft);
  font-family: var(--voss-mono);
  font-size: .73rem;
  font-weight: 700;
  letter-spacing: .075em;
}
.voss-poc-primary { border-color: var(--voss-oxblood) !important; color: #fff !important; background: var(--voss-oxblood) !important; }

.voss-poc-notebook ol { display: grid; gap: .7rem; margin: 0; padding: 0; list-style: none; }
.voss-poc-notebook li {
  display: grid;
  grid-template-columns: minmax(6rem, .25fr) minmax(0, 1fr);
  gap: 1rem;
  padding: .9rem 1rem;
  border: 1px solid #574e43;
  background: #12100e;
}
.voss-poc-notebook li span { color: var(--voss-muted); font-family: var(--voss-mono); font-size: .7rem; letter-spacing: .13em; }
.voss-poc-notebook li strong { color: var(--voss-paper); font-weight: 600; overflow-wrap: anywhere; }
.voss-poc-footer-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 2rem; padding-top: 1.2rem; border-top: 1px solid #574e43; }
.voss-poc-footer-actions p { margin: 0; color: var(--voss-muted); }
.voss-poc-text-button { border-color: transparent !important; padding-inline: 0 !important; background: transparent !important; text-decoration: underline; }

.voss-poc-viewer[hidden],
.voss-poc-viewer-puzzle[hidden],
.voss-poc-record[hidden],
.voss-poc-stamp[hidden],
.voss-poc-extraction[hidden] { display: none !important; }
.voss-poc-viewer {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  width: 100%;
  height: 100vh;
  height: 100dvh;
  padding: max(.45rem, env(safe-area-inset-top)) max(.45rem, env(safe-area-inset-right)) max(.45rem, env(safe-area-inset-bottom)) max(.45rem, env(safe-area-inset-left));
  overflow: hidden;
  isolation: isolate;
}
.voss-poc-viewer__backdrop { position: absolute; inset: 0; z-index: -3; background: rgba(5, 4, 3, .9); }
.voss-poc-viewer__paper {
  position: relative;
  width: min(100%, 56rem);
  max-height: 100%;
  margin: auto;
  padding: clamp(.7rem, 2.5vw, 1.5rem);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  color: #1a1510;
  background: var(--voss-paper-light);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .58);
  animation: voss-poc-paper-open .22s ease-out;
  scrollbar-gutter: stable;
}
.voss-poc-viewer__paper::before,
.voss-poc-viewer__paper::after {
  content: "";
  position: fixed;
  z-index: -1;
  width: min(calc(100% - 1.6rem), 55rem);
  height: calc(100% - 1.4rem);
  max-height: 57.5rem;
  top: 50%;
  left: 50%;
  border: 1px solid rgba(24, 17, 12, .45);
  background: #c9b899;
  pointer-events: none;
}
.voss-poc-viewer__paper::before { transform: translate(-50%, -50%) rotate(-.45deg); }
.voss-poc-viewer__paper::after { z-index: -2; transform: translate(-50%, -50%) rotate(.55deg); background: #b9a789; }
.voss-poc-viewer__header {
  position: sticky;
  top: calc(-1 * clamp(.7rem, 2.5vw, 1.5rem));
  z-index: 30;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin: calc(-1 * clamp(.7rem, 2.5vw, 1.5rem)) calc(-1 * clamp(.7rem, 2.5vw, 1.5rem)) .8rem;
  padding: .7rem clamp(.7rem, 2.5vw, 1.5rem);
  border-bottom: 1px solid rgba(35, 26, 18, .35);
  background: rgba(232, 221, 203, .97);
  backdrop-filter: blur(5px);
}
.voss-poc-viewer__label { margin-bottom: .1rem; color: var(--voss-oxblood); }
.voss-poc-viewer__progress { margin: 0; color: #4a3e32; }
.voss-poc-close { flex: 0 0 auto; border-color: var(--voss-oxblood) !important; color: var(--voss-oxblood) !important; background: transparent !important; }
.voss-poc-viewer-puzzle { min-width: 0; }
.voss-poc-puzzle-heading { margin-bottom: .5rem; }
.voss-poc-puzzle-heading > p { margin-bottom: .15rem; color: var(--voss-oxblood); }
.voss-poc-puzzle-heading h3 { color: #17110d; font-size: clamp(2rem, 7vw, 3.7rem); }
.voss-poc-instruction { max-width: 48rem; margin: .55rem 0 .7rem; font-size: clamp(.94rem, 2.8vw, 1.08rem); line-height: 1.4; }
.voss-poc-help { margin: .35rem 0 .7rem; border-top: 1px solid rgba(35, 26, 18, .28); border-bottom: 1px solid rgba(35, 26, 18, .28); }
.voss-poc-help summary { min-height: 44px; padding: .75rem 0; cursor: pointer; color: var(--voss-oxblood); font-family: var(--voss-mono); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.voss-poc-help p { margin: 0 0 .8rem; }

.voss-poc-grid { display: grid; min-width: 0; color: #17110d; background: var(--voss-paper); }
.voss-poc-grid > button {
  position: relative;
  min-width: 0;
  min-height: 0;
  border: 1px solid rgba(30, 24, 18, .34);
  border-radius: 0;
  padding: 0;
  color: inherit;
  background: #eee2d0;
  touch-action: manipulation;
}
.voss-poc-grid-wrap { position: relative; min-width: 0; }
.voss-poc-lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; pointer-events: none; }
.voss-poc-lines line { stroke: var(--voss-oxblood); stroke-width: 4; stroke-linecap: round; opacity: .85; vector-effect: non-scaling-stroke; }

.voss-poc-record__heading { display: flex; align-items: baseline; justify-content: space-between; gap: .75rem; margin: .45rem 0 .6rem; }
.voss-poc-record__heading > p { flex: 0 0 auto; margin: 0; color: #5a4c3e; }
.voss-poc-record__heading h4 { color: #221a14; font-size: clamp(1.35rem, 4.6vw, 2rem); text-align: right; }
.voss-poc-record__layout { display: grid; grid-template-columns: minmax(0, 1fr) minmax(11rem, .68fr); align-items: start; gap: clamp(.65rem, 2.5vw, 1.2rem); }
.voss-poc-word-grid-wrap { width: min(100%, 22rem); aspect-ratio: 1; margin: 0 auto; }
.voss-poc-word-grid { width: 100%; height: 100%; grid-template-columns: repeat(8, minmax(0, 1fr)); font-family: var(--voss-mono); font-size: clamp(.78rem, 4vw, 1.08rem); font-weight: 700; line-height: 1; }
.voss-poc-word-grid > button[data-pending="true"] { z-index: 2; outline: 3px solid var(--voss-oxblood); outline-offset: -3px; background: #fff7e7; }
.voss-poc-word-grid > button[data-found="true"] { color: #3f3328; background: #c8b79b; }
.voss-poc-word-grid > button[data-found="true"]::after { content: ""; position: absolute; inset: 19%; border: 1px solid var(--voss-oxblood); border-radius: 50%; }
.voss-poc-word-list { display: grid; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.voss-poc-word-list li { display: grid; grid-template-columns: minmax(0, 1fr) auto 2rem; align-items: center; gap: .45rem; min-height: 42px; padding: .35rem .45rem; border-bottom: 1px solid rgba(36, 27, 20, .28); font-family: var(--voss-mono); }
.voss-poc-word-list li > span { min-width: 0; font-weight: 700; letter-spacing: .05em; overflow-wrap: anywhere; }
.voss-poc-word-list li small { color: #655548; font-size: .63rem; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.voss-poc-word-list li strong { display: grid; width: 2rem; height: 2rem; place-items: center; border: 1px solid #725e4d; color: var(--voss-oxblood); background: #f7ead7; }
.voss-poc-word-list li[data-found="true"] > span { text-decoration: line-through 2px var(--voss-oxblood); }
.voss-poc-word-list li[data-found="true"]::after { content: "FILED"; grid-column: 1 / -1; color: var(--voss-oxblood); font-size: .58rem; font-weight: 700; letter-spacing: .13em; }
.voss-poc-stamp { width: fit-content; margin: .65rem 0 0 auto; padding: .3rem .55rem; transform: rotate(-2deg); border: 2px solid var(--voss-oxblood); color: var(--voss-oxblood); font-family: var(--voss-mono); font-size: .72rem; font-weight: 700; letter-spacing: .14em; }

.voss-poc-sudoku-layout { min-width: 0; }
.voss-poc-sudoku { width: min(100%, 22rem); aspect-ratio: 1; grid-template-columns: repeat(6, minmax(0, 1fr)); margin: 0 auto; border: 3px solid #1b1510; font-family: var(--voss-mono); font-size: clamp(1rem, 5vw, 1.7rem); }
.voss-poc-sudoku > button:nth-child(3n) { border-right-width: 3px; }
.voss-poc-sudoku > button:nth-child(6n) { border-right-width: 1px; }
.voss-poc-sudoku > button:nth-child(n+7):nth-child(-n+12),
.voss-poc-sudoku > button:nth-child(n+19):nth-child(-n+24) { border-bottom-width: 3px; }
.voss-poc-sudoku > button:disabled { color: #17110d; background: #c5b499; opacity: 1; font-weight: 700; }
.voss-poc-sudoku > button[data-related="true"] { background: #dcc9a9; }
.voss-poc-sudoku > button[data-active="true"] { z-index: 2; outline: 4px solid var(--voss-oxblood); outline-offset: -4px; }
.voss-poc-sudoku > button[data-conflict="true"] { color: #fff; background: var(--voss-oxblood); }
.voss-poc-sudoku small { position: absolute; top: 1px; left: 3px; color: var(--voss-oxblood); font-size: .58rem; font-weight: 700; }
.voss-poc-keypad { display: grid; grid-template-columns: repeat(7, minmax(44px, 1fr)); gap: .35rem; width: min(100%, 31rem); margin: 0 auto; }
.voss-poc-keypad button { padding-inline: .25rem !important; }
.voss-poc-extraction { width: min(100%, 31rem); margin: .7rem auto 0; padding: .75rem; border: 1px solid #806c5a; background: #f2e5d2; }
.voss-poc-extraction h4 { margin: 0 0 .5rem; color: var(--voss-oxblood); font-family: var(--voss-mono); font-size: .72rem; letter-spacing: .12em; }
.voss-poc-extraction ol { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }
.voss-poc-extraction li { padding: .2rem .35rem; border-bottom: 2px solid var(--voss-oxblood); font-family: var(--voss-mono); font-size: .78rem; font-weight: 700; }

.voss-poc-route-record { display: grid; grid-template-columns: 1fr auto; gap: .25rem .75rem; width: min(100%, 25rem); margin: 0 auto .5rem; font-family: var(--voss-mono); font-size: .72rem; font-weight: 700; letter-spacing: .06em; }
.voss-poc-route-record p { margin: 0; }
.voss-poc-arrows { grid-column: 1 / -1; padding: .5rem; border: 1px solid #776555; color: var(--voss-oxblood); background: #f3e6d3; font-size: clamp(1rem, 5vw, 1.5rem); letter-spacing: .1em; text-align: center; overflow-wrap: anywhere; }
.voss-poc-route-grid {
  width: min(100%, 25rem);
  min-width: 0;
  aspect-ratio: 1;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin: 0 auto;
  border: 2px solid #1b1510;
  font-family: var(--voss-mono);
  font-size: clamp(9px, 2.65vw, 13px);
  font-weight: 700;
  line-height: 1.05;
}
.voss-poc-route-grid > button { padding: 1px; overflow: hidden; overflow-wrap: anywhere; hyphens: auto; }
.voss-poc-route-grid > button[data-legal="true"] { box-shadow: inset 0 0 0 2px rgba(117, 13, 22, .36); }
.voss-poc-route-grid > button[data-path="true"] { color: #fff; background: var(--voss-oxblood); }
.voss-poc-route-grid > button[data-current="true"] { z-index: 2; outline: 3px solid #fff7e7; outline-offset: -4px; box-shadow: inset 0 0 0 5px #241a13; }
.voss-poc-seal { display: block; width: 34%; aspect-ratio: 1; margin: auto; transform: rotate(45deg); border: 2px solid #f0d9bd; background: var(--voss-oxblood); }
.voss-poc-endpoints { display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: .28rem; width: min(100%, 31rem); margin: .6rem auto 0; padding: 0; list-style: none; }
.voss-poc-endpoints li { min-width: 0; padding: .3rem .1rem; border: 1px solid #776555; text-align: center; }
.voss-poc-endpoints span,
.voss-poc-endpoints strong { display: block; overflow-wrap: anywhere; }
.voss-poc-endpoints span { color: #6a5848; font-family: var(--voss-mono); font-size: .58rem; }
.voss-poc-endpoints strong { color: #2e241d; font-size: clamp(.58rem, 1.8vw, .75rem); }
.voss-poc-endpoints li[data-complete="true"] { border-color: var(--voss-oxblood); background: #f3dfc8; }

.voss-poc-viewer-controls {
  position: sticky;
  bottom: calc(-1 * clamp(.7rem, 2.5vw, 1.5rem));
  z-index: 25;
  margin: .65rem calc(-1 * clamp(.7rem, 2.5vw, 1.5rem)) calc(-1 * clamp(.7rem, 2.5vw, 1.5rem));
  padding: .65rem clamp(.7rem, 2.5vw, 1.5rem) max(.65rem, env(safe-area-inset-bottom));
  border-top: 1px solid rgba(35, 26, 18, .35);
  background: rgba(232, 221, 203, .97);
  backdrop-filter: blur(5px);
}
.voss-poc-control-row { display: flex; flex-wrap: wrap; gap: .4rem; }
.voss-poc-control-row > button { flex: 1 1 9rem; }
.voss-poc-control-row--navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.voss-poc-puzzle-status { color: #49392d; }
.voss-poc-return { width: 100%; margin-top: .4rem; border-color: transparent !important; color: #4f3d31 !important; background: transparent !important; text-decoration: underline; }
.voss-poc-viewer-controls--keypad .voss-poc-puzzle-status { margin-block: .35rem; }
.voss-poc-disabled,
.voss-poc-noscript { margin-top: 1rem; padding: 1rem; border-left: 4px solid var(--voss-oxblood); }

@media (max-width: 760px) {
  .voss-poc-card-list { grid-template-columns: 1fr; }
  .voss-poc-card { min-height: 0; }
  .voss-poc-record__layout { grid-template-columns: 1fr; }
  .voss-poc-word-list { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .2rem; }
  .voss-poc-word-list li { grid-template-columns: 1fr; justify-items: center; gap: .12rem; padding: .22rem .1rem; text-align: center; }
  .voss-poc-word-list li > span { font-size: clamp(.58rem, 2.6vw, .72rem); letter-spacing: 0; }
  .voss-poc-word-list li small { font-size: clamp(.48rem, 2.1vw, .58rem); }
  .voss-poc-word-list li[data-found="true"]::after { display: none; }
  .voss-poc-record__heading { display: block; }
  .voss-poc-record__heading h4 { text-align: left; }
  .voss-poc-keypad { grid-template-columns: repeat(4, minmax(44px, 1fr)); }
  .voss-poc-keypad button:last-child { grid-column: span 2; }
  .voss-poc-endpoints { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 480px) {
  .voss-poc-app { padding: .85rem; }
  .voss-poc-notebook li { grid-template-columns: 1fr; gap: .3rem; }
  .voss-poc-viewer { padding: max(.35rem, env(safe-area-inset-top)) max(.35rem, env(safe-area-inset-right)) max(.35rem, env(safe-area-inset-bottom)) max(.35rem, env(safe-area-inset-left)); }
  .voss-poc-viewer__paper { padding: .65rem; scrollbar-gutter: auto; }
  .voss-poc-viewer__paper { scrollbar-width: none; }
  .voss-poc-viewer__paper::-webkit-scrollbar { width: 0; height: 0; }
  .voss-poc-viewer__header { top: -.65rem; margin: -.65rem -.65rem .55rem; padding: .55rem .65rem; }
  .voss-poc-viewer__paper::before,
  .voss-poc-viewer__paper::after { width: calc(100% - .9rem); height: calc(100% - .9rem); }
  .voss-poc-puzzle-heading h3 { font-size: clamp(1.7rem, 8vw, 2.4rem); }
  .voss-poc-instruction { margin-block: .35rem .5rem; line-height: 1.28; }
  .voss-poc-viewer-controls { bottom: -.65rem; margin: .55rem -.65rem -.65rem; padding: .5rem .65rem max(.5rem, env(safe-area-inset-bottom)); }
  .voss-poc-control-row > button { flex-basis: 7.5rem; padding-inline: .35rem !important; font-size: .67rem !important; }
  .voss-poc-return { min-height: 38px !important; padding-block: .3rem !important; }
}

@media (max-height: 620px) and (orientation: landscape) {
  .voss-poc-viewer__paper { margin: 0 auto; }
  .voss-poc-puzzle-heading h3 { font-size: 1.65rem; }
  .voss-poc-instruction { font-size: .88rem; }
}

@media (prefers-reduced-motion: reduce) {
  .voss-poc-viewer__paper { animation: none; }
  .voss-poc-saved { transition: none; }
}

/* Nineteen-position full-page casebook reader. */
.voss-reader {
  width: 100%;
  max-width: none;
  min-height: 100dvh;
  overflow-x: clip;
  color: #eee5d8;
  background: #080807;
  box-shadow: none;
}
.voss-reader__skip {
  position: fixed;
  z-index: 100002;
  top: .5rem;
  left: .5rem;
  padding: .65rem .9rem;
  color: #000;
  background: #fff;
  transform: translateY(-150%);
}
.voss-reader__skip:focus { transform: none; }
.voss-reader__masthead {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 1.5rem;
  padding: .85rem clamp(1rem, 3vw, 2.5rem);
  border-bottom: 1px solid #544a3c;
  background: #0c0b0a;
}
.voss-reader__masthead h1 {
  margin: 0;
  font: 400 clamp(1.7rem, 4vw, 3.2rem)/.95 var(--vc-display);
  letter-spacing: .04em;
}
.voss-reader__kicker,
.voss-reader__toolbar,
.voss-reader__navigation,
.voss-reader__save,
.voss-reader__folio,
.voss-reader__checkpoint-status {
  font-family: var(--vc-mono);
  font-weight: 700;
  letter-spacing: .1em;
  text-transform: uppercase;
}
.voss-reader__kicker { margin: 0 0 .25rem; color: #b7a68d; font-size: .62rem; }
.voss-reader__dek { margin: .3rem 0 0; color: #aa9c88; font-size: .86rem; font-style: italic; }
.voss-reader__mast-actions { text-align: right; }
.voss-reader__quiet,
.voss-reader__reset,
.voss-reader__toolbar button,
.voss-reader__navigation button {
  padding: .58rem .8rem;
  border: 1px solid #786b57;
  color: #eee5d8;
  background: transparent;
  font: 700 .66rem/1 var(--vc-mono);
  letter-spacing: .07em;
}
.voss-reader__save { margin: .4rem 0 0; color: #8f826f; font-size: .56rem; }
.voss-reader__stage { width: min(100%, 76rem); margin: 0 auto; padding: 0 clamp(.5rem, 2vw, 1.5rem) 1rem; }
.voss-reader__toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  min-height: 3.25rem;
  color: #cbbca6;
  font-size: .65rem;
}
.voss-reader__toolbar p { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.voss-reader__toolbar > div { display: flex; flex: 0 0 auto; gap: .45rem; }
.voss-reader__page-count { align-self: center; margin: 0; min-width: 3.7rem; color: #d4c6b1; text-align: center; }
.voss-reader__viewport {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  height: clamp(30rem, calc(100dvh - 15rem), 62rem);
  overflow: auto;
  overscroll-behavior: contain;
  touch-action: pan-y pinch-zoom;
  background: #030303;
  border: 1px solid #39332a;
  box-shadow: inset 0 0 4rem #000;
  scrollbar-color: #71644f #15120f;
}
.voss-reader__viewport[data-zoomed="true"] { place-items: start; touch-action: pan-x pan-y; }
.voss-reader__canvas {
  --reader-zoom: 1;
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  transform: scale(var(--reader-zoom));
  transform-origin: top left;
  transition: opacity .16s ease, transform .16s ease;
}
.voss-reader__picture {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
}
.voss-reader__picture img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
  background: #fff;
  box-shadow: 0 1rem 3rem #000a;
}
.voss-reader__viewport[data-fit="width"] { display: block; }
.voss-reader__viewport[data-fit="width"] .voss-reader__canvas { display: block; height: auto; min-height: 100%; }
.voss-reader__viewport[data-fit="width"] .voss-reader__picture,
.voss-reader__viewport[data-fit="width"] .voss-reader__picture img { display: block; width: 100%; height: auto; max-height: none; }
.voss-reader__canvas[data-type="puzzle"] {
  width: min(100%, 48rem);
  min-height: 100%;
  color: #211b17;
  background: #fff;
}
.voss-reader__checkpoint {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 100%;
  padding: clamp(1.25rem, 4vw, 3.25rem);
  text-align: center;
  background: #fff;
}
.voss-reader__checkpoint h2 { margin: .15rem 0 .8rem; font: 400 clamp(2rem, 6vw, 4.5rem)/.95 var(--vc-display); }
.voss-reader__checkpoint > p:not([class]) { max-width: 36rem; margin: .65rem auto 1rem; }
.voss-reader__folio { margin: 0; color: #8a1620; font-size: .72rem; }
.voss-reader__checkpoint-art { width: min(100%, 34rem); max-height: min(42dvh, 26rem); margin: .75rem auto; overflow: hidden; border: 1px solid #bcb2a5; background: #f7f7f7; }
.voss-reader__checkpoint-art img { display: block; width: 100%; height: 100%; max-height: min(42dvh, 26rem); object-fit: cover; filter: grayscale(1) contrast(1.02); }
.voss-reader__checkpoint-status { margin: .65rem 0 0; color: #7b1019; font-size: .68rem; }
.voss-reader__checkpoint-status[data-status="recovered"] { color: #285936; }
.voss-reader__primary { padding: .8rem 1.1rem; border: 1px solid #8d2027; color: #fff; background: #7b1019; font: 700 .72rem/1 var(--vc-mono); letter-spacing: .08em; }
.voss-reader__next-page {
  display: grid;
  place-items: center;
  gap: .1rem;
  width: 100%;
  min-height: 4.25rem;
  padding: .45rem;
  border: 0;
  border-top: 1px solid #d5cdc1;
  color: #701019;
  background: #fff;
  font-family: var(--vc-mono);
  letter-spacing: .08em;
}
.voss-reader__next-page span { font: 400 1.8rem/.7 var(--vc-display); }
.voss-reader__next-page small { font-size: .58rem; }
.voss-reader__next-page[data-locked="true"] { color: #887b6a; background: #f5f2ed; }
.voss-reader__navigation { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: .75rem; min-height: 3.6rem; font-size: .66rem; }
.voss-reader__navigation p { margin: 0; color: #ad9e89; text-align: center; }
.voss-reader__navigation button:first-child { justify-self: start; }
.voss-reader__navigation button:last-child { justify-self: end; }
.voss-reader__footer { display: flex; justify-content: center; gap: .75rem; flex-wrap: wrap; padding: .85rem 1rem 1.25rem; color: #a99a84; background: #080807; }
.voss-reader__readable {
  position: relative;
  width: min(calc(100% - 1rem), 48rem);
  max-height: calc(100dvh - 1rem);
  overflow: auto;
  color: #211b17;
  background: #fff;
  border: 1px solid #9a8465;
  box-shadow: 0 2rem 6rem #000;
}
.voss-reader__readable .voss-reader__dialog-header { color: #eee3cf; background: #100d0bf5; }
.voss-reader__readable > div:last-child { padding: clamp(1rem, 4vw, 2.5rem); }
.voss-reader__readable p { max-width: 42rem; margin: 0 auto 1rem; font-size: 1.05rem; }
.voss-reader__loading,
.voss-reader__load-error { align-self: center; max-width: 28rem; padding: 1.5rem; color: #d8c9b2; text-align: center; font: 700 .75rem/1.5 var(--vc-mono); letter-spacing: .06em; }
.voss-reader__toast { background: #5e1117; }
.voss-reader__noscript { margin: 1rem; padding: 1.5rem; color: #eee3cf; background: #441116; }
body:has(.voss-reader) { overflow-x: clip; background: #080807; }

.voss-puzzle__title-row { display: flex; align-items: flex-start; justify-content: space-between; gap: .75rem; }
.voss-puzzle__title-row h3 { flex: 1 1 auto; }
.voss-puzzle__help-toggle {
  flex: 0 0 auto;
  padding: .55rem .65rem;
  border: 1px solid #806f58;
  color: #eee3cf;
  background: #1b1713;
  font: 700 .64rem/1 var(--vc-mono);
  letter-spacing: .06em;
}
.voss-puzzle__help-toggle::after { display:inline-block; margin-left:.45rem; content:"▾"; font-size:.85rem; transition:transform .16s ease; }
.voss-puzzle__help-toggle[aria-expanded="true"]::after { transform:rotate(180deg); }
.voss-puzzle-help {
  margin: .25rem 0 1.25rem;
  padding: clamp(1rem, 3vw, 1.5rem);
  color: #211b17;
  background: #e8dcc8;
  border: 1px solid #aa9574;
  box-shadow: 0 .7rem 1.8rem #0004;
}
.voss-puzzle-help .voss-puzzle__index { color: #7b1019; }
.voss-puzzle-help h4 { margin: .2rem 0 .8rem; font: 400 clamp(1.35rem, 4vw, 2rem)/1.08 var(--vc-display); }
.voss-puzzle-help ol { margin: 0 0 1rem; padding-left: 1.35rem; }
.voss-puzzle-help li { margin: .45rem 0; padding-left: .2rem; }
.voss-puzzle-help__example { padding: .65rem .75rem; background: #fff9ed; border-left: 3px solid #8a1620; font: 700 .76rem/1.45 var(--vc-mono); }
.voss-puzzle-help details { margin: .85rem 0; padding: .7rem; border: 1px solid #ad9b7e; background: #f2e8d7; }
.voss-puzzle-help summary { cursor: pointer; font: 700 .68rem/1.4 var(--vc-mono); letter-spacing: .05em; }
.voss-puzzle-help .voss-primary { color: #fff; background: #7b1019; }

@media (max-width: 640px) {
  .voss-reader__masthead { align-items: flex-start; padding: .65rem .8rem; }
  .voss-reader__masthead h1 { font-size: 1.65rem; }
  .voss-reader__dek { display: none; }
  .voss-reader__mast-actions { max-width: 9.5rem; }
  .voss-reader__mast-actions .voss-reader__quiet { padding: .48rem .55rem; font-size: .58rem; }
  .voss-reader__save { display: none; }
  .voss-reader__stage { padding-inline: 0; }
  .voss-reader__toolbar { min-height: 3rem; padding: 0 .55rem; }
  .voss-reader__toolbar p { max-width: 42vw; }
  .voss-reader__toolbar button { min-height: 40px; padding: .5rem; font-size: .57rem; }
  .voss-reader__viewport { height: calc(100svh - 12.7rem); min-height: 26rem; border-inline: 0; }
  .voss-reader__navigation { padding-inline: .55rem; }
  .voss-reader__footer { padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
  .voss-reader__checkpoint { justify-content: flex-start; overflow-y: auto; padding: 1rem .9rem 1.5rem; }
  .voss-reader__checkpoint h2 { font-size: clamp(1.9rem, 9vw, 3rem); }
  .voss-reader__checkpoint-art { max-height: 30dvh; }
  .voss-reader__checkpoint-art img { max-height: 30dvh; }
  .voss-reader__readable { width: 100%; max-height: 100dvh; min-height: 100dvh; border: 0; }
  body:has(.voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"])) { width: 100vw; height: 100dvh; overflow: hidden; }
  body:has(.voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"])) .voss-header,
  body:has(.voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"])) .voss-footer,
  body:has(.voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"])) .voss-skip-link { display: none !important; }
  body:has(.voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"])) .voss-placeholder-page,
  body:has(.voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"])) .voss-placeholder-page__inner,
  body:has(.voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"])) .voss-shell { width: 100vw !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) {
    position: fixed;
    z-index: 2147483000;
    inset: 0;
    width: 100vw;
    height: 100dvh;
    min-height: 100dvh;
    margin: 0;
    overflow: hidden;
    background: #080807;
  }
  .voss-reader[data-reader-mode="story"] { background: #fff; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__skip,
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__masthead,
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__footer { display: none; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__stage { width: 100vw; height: 100dvh; margin: 0; padding: 0; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__toolbar {
    position: absolute;
    z-index: 10;
    top: max(.35rem, env(safe-area-inset-top));
    left: max(.35rem, env(safe-area-inset-left));
    right: max(.35rem, env(safe-area-inset-right));
    display: flex;
    min-height: 0;
    padding: .3rem;
    color: #fff;
    background: #090807d9;
    border: 1px solid #b5a48999;
    border-radius: .2rem;
    box-shadow: 0 .35rem 1.3rem #0006;
    overflow: hidden;
  }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__toolbar > p[data-reader-title],
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) [data-fit-mode] { display: none; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__toolbar > div { flex: 1 1 auto; justify-content: flex-end; gap: .25rem; min-width: 0; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__toolbar button { min-width: 2.7rem; min-height: 2.35rem; padding: .42rem .45rem; border-color: #a18f73; color: #fff; font-size: .52rem; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) [data-reader-previous] { width: 2.7rem; padding: 0; overflow: hidden; font-size: 0; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) [data-reader-previous]::before { content: "‹"; font: 400 1.7rem/1 var(--vc-display); }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__page-count { flex: 0 0 auto; min-width: 5.2rem; color: #fff; font-size: .52rem; white-space: nowrap; }
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__viewport,
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__viewport[data-fit="page"],
  .voss-reader:is([data-reader-mode="story"], [data-reader-mode="checkpoint"]) .voss-reader__viewport[data-fit="width"] {
    position: absolute;
    inset: 0;
    display: block;
    width: 100vw;
    height: 100dvh;
    min-height: 0;
    margin: 0;
    overflow-x: hidden;
    overflow-y: auto;
    border: 0;
    background: #080807;
    box-shadow: none;
    touch-action: pan-y pinch-zoom;
  }
  .voss-reader[data-reader-mode="story"] .voss-reader__canvas,
  .voss-reader[data-reader-mode="story"] .voss-reader__viewport[data-fit="page"] .voss-reader__canvas,
  .voss-reader[data-reader-mode="story"] .voss-reader__viewport[data-fit="width"] .voss-reader__canvas {
    display: flex;
    flex-direction: column;
    width: 100vw;
    height: auto;
    min-height: 100dvh;
    margin: 0;
    padding-top: calc(max(.35rem, env(safe-area-inset-top)) + 3.5rem);
    box-sizing: border-box;
    transform-origin: top left;
    background: #fff;
  }
  .voss-reader[data-reader-mode="story"] .voss-reader__picture,
  .voss-reader[data-reader-mode="story"] .voss-reader__picture img,
  .voss-reader[data-reader-mode="story"] .voss-reader__viewport[data-fit="page"] .voss-reader__picture img {
    display: block;
    width: 100vw;
    max-width: none;
    height: auto;
    max-height: none;
    margin: 0;
    object-fit: initial;
    background: #fff;
    box-shadow: none;
  }
  .voss-reader[data-reader-mode="story"] .voss-reader__viewport,
  .voss-reader[data-reader-mode="story"] .voss-reader__viewport[data-fit="page"],
  .voss-reader[data-reader-mode="story"] .voss-reader__viewport[data-fit="width"] { background:#fff; }
  .voss-reader[data-reader-mode="story"] .voss-reader__next-page { width: 100vw; min-height: 3.8rem; margin-top:auto; }
  .voss-reader[data-reader-mode="checkpoint"] .voss-reader__canvas,
  .voss-reader[data-reader-mode="checkpoint"] .voss-reader__viewport[data-fit="page"] .voss-reader__canvas,
  .voss-reader[data-reader-mode="checkpoint"] .voss-reader__viewport[data-fit="width"] .voss-reader__canvas {
    display: block;
    width: 100vw;
    max-width: none;
    height: auto;
    min-height: 100dvh;
    margin: 0;
    transform: none;
    background: #fff;
  }
  .voss-reader[data-reader-mode="checkpoint"] .voss-reader__checkpoint {
    justify-content: flex-start;
    min-height: 100dvh;
    padding: calc(max(.35rem, env(safe-area-inset-top)) + 4.6rem) .9rem max(1.25rem, env(safe-area-inset-bottom));
    box-sizing: border-box;
  }
  .voss-reader[data-reader-mode="checkpoint"] .voss-reader__checkpoint-art,
  .voss-reader[data-reader-mode="checkpoint"] .voss-reader__checkpoint-art img { max-height: 36dvh; }
  .voss-reader[data-reader-mode="checkpoint"] .voss-reader__next-page { margin-top: 1rem; }
  .voss-puzzle__title-row { align-items: center; }
  .voss-puzzle__help-toggle { min-width: 4.5rem; padding-inline: .45rem; }
  .voss-puzzle-help { margin-inline: -.15rem; }
}

@media (max-height: 640px) and (orientation: landscape) {
  .voss-reader__masthead { padding-block: .45rem; }
  .voss-reader__dek, .voss-reader__save { display: none; }
  .voss-reader__viewport { height: calc(100dvh - 10.7rem); min-height: 18rem; }
  .voss-reader__toolbar { min-height: 2.7rem; }
  .voss-reader__navigation { min-height: 3rem; }
}

@keyframes voss-poc-paper-open {
  from { opacity: 0; transform: translateY(.7rem) scale(.99); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

/* Lift the theme's general reading measure only on this isolated case-player page. */
body:has(.voss-case) .voss-editor-content { width: 100%; max-width: none; }

/* Accessible exit stays in the controls, including the mobile full-screen reader. */
.voss-reader__exit { display: inline-flex; align-items: center; justify-content: center; padding: .58rem .6rem; border: 1px solid #786b57; color: #eee5d8; font: 700 .66rem/1 var(--vc-mono); text-decoration: none; white-space: nowrap; }
.voss-reader__exit:focus-visible { outline: 3px solid #ead9ae; outline-offset: 2px; }
@media (max-width: 700px) {
  .voss-reader .voss-reader__exit { padding: .35rem; font-size: .5rem; min-height: 2.35rem; }
  .voss-reader .voss-reader__toolbar { gap: .25rem; }
}
@media (min-width: 701px) {
  .voss-reader { position: fixed; inset: 0; z-index: 999; overflow: hidden; background: #080807; }
  .voss-reader__masthead, .voss-reader__footer { display: none; }
  .voss-reader__stage { height: 100dvh; padding: 0 .5rem; }
  .voss-reader__viewport { height: calc(100dvh - 3.25rem); }
  .voss-reader__viewport[data-fit="page"] .voss-reader__canvas[data-type="page"] { display: flex; flex-direction: column; height: 100%; min-height: 0; }
  .voss-reader__viewport[data-fit="page"] .voss-reader__picture { display: block; flex: 1 1 0; min-height: 0; width: 100%; }
  .voss-reader__viewport[data-fit="page"] .voss-reader__picture img { width: 100%; height: 100%; max-height: 100%; object-fit: contain; background: transparent; box-shadow: none; }
  .voss-reader__viewport[data-fit="page"] .voss-reader__next-page { flex: 0 0 auto; min-height: 3rem; }
  .voss-reader__viewport[data-fit="page"] .voss-case-signup { flex: 0 0 auto; max-height: 45%; overflow: auto; }
}

/* Reader flow: earned case notes, assembled messages and immersive text. */
.voss-filed-note { max-width: 42rem; margin: auto; padding: 1rem; }
.voss-filed-note h3 { font-size: 1.25rem; }
.voss-note-finding { color: #eedcaa; font-weight: 700; }
.voss-message-strip { padding: .8rem; background: #eadcc3; color: #241c15; font: 700 1rem/1.7 var(--vc-mono); overflow-wrap: anywhere; }
.voss-alphabet-key { color: #eadcc3; font: .8rem/1.8 var(--vc-mono); }
.voss-assembly input { display: block; width: 100%; max-width: 100%; padding: .7rem; background: #f7efda; color: #211b17; font-size: 1rem; }
.voss-strip fieldset { min-width: 0; margin: 1rem 0; padding: .5rem; }
.voss-strip-choices { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .25rem; }
.voss-strip-choices button { min-width: 0; min-height: 44px; padding: .4rem .15rem; }
.voss-strip-choices button[aria-pressed="true"], .voss-word-grid button[data-selected="true"] { background: #ead9a5; color: #211b17; outline: 2px solid #b52b35; outline-offset: -3px; }
.voss-reader__narrative { text-align: left; line-height: 1.75; }
.voss-reader[data-story-view="text"][data-reader-mode="story"] .voss-reader__canvas { display: block !important; height: auto !important; min-height: 100%; }
.voss-reader[data-story-view="text"][data-reader-mode="story"] .voss-reader__viewport { display: block; background: #f4eddf; }
.voss-story-text { width: 100%; max-width: 46rem; margin: auto; padding: clamp(1.25rem,4vw,3rem); color: #241c17; background: #f4eddf; font: 400 1.1rem/1.8 var(--vc-body); overflow-wrap: break-word; }
.voss-story-text h2 { color: #251b15; font: 400 clamp(2rem,5vw,3.4rem)/1.1 var(--vc-display); margin: 0 0 1.5rem; }
.voss-story-text p { color: #241c17; margin: 0 0 1.2rem; }
.voss-story-text .voss-reader__checkpoint-art { max-width: 100%; margin: 0 0 1.5rem; }
.voss-story-text .voss-reader__next-page { width: 100% !important; margin: 1.5rem 0 0; }
.voss-dossier-page { max-width:54rem; }
.voss-dossier { display:grid; grid-template-columns:minmax(8rem,12rem) minmax(0,1fr); gap:1.3rem; margin:1.25rem 0; padding:1rem 0 1.4rem; border-top:1px solid #b6a38a; }
.voss-dossier img { display:block; width:100%; aspect-ratio:4/5; object-fit:cover; background:#ded4c2; }
.voss-dossier h3 { margin:0; color:#211b17; font:400 clamp(1.7rem,5vw,2.5rem)/1.05 var(--vc-display); }
.voss-dossier__role { margin:.3rem 0 1rem !important; color:#66594a !important; font-size:.92rem; }
.voss-dossier h4 { margin:1rem 0 .3rem; padding-top:.55rem; border-top:1px solid #c7b9a3; color:#79121a; font:700 .72rem/1.35 var(--vc-mono); letter-spacing:.1em; }
.voss-dossier__item { font-weight:700; }
.voss-reader__first-account { justify-content:center !important; gap:.6rem; }
.voss-reader__first-account h2 { max-width:36rem; line-height:1.1; }
@media (max-width:600px) { .voss-dossier { grid-template-columns:1fr; } .voss-dossier img { width:min(100%,13rem); } }
.voss-reader[data-reader-mode="checkpoint"] .voss-reader__checkpoint { min-height: 0; }
@media (max-width:700px) {
  .voss-reader .voss-reader__toolbar { flex-wrap: wrap; position: absolute; top: 0; left: 0; right: 0; border-radius: 0; }
  .voss-reader .voss-reader__toolbar > div { flex-wrap: wrap; }
  .voss-reader[data-story-view="text"] .voss-reader__canvas[data-type="page"] { width: 100vw !important; }
  .voss-reader__checkpoint h2 { font-size: 2rem; }
}

/* Optional reader invitation shown only after the protected final page. */
.voss-case-signup {
  width: min(42rem, calc(100% - 2rem));
  margin: 2rem auto 3rem;
  padding: clamp(1.25rem, 4vw, 2.5rem);
  color: #171411;
  background: #ead9b9;
  border: 1px solid #8b7658;
  box-sizing: border-box;
}
.voss-case-signup h2 { margin: .35rem 0 1rem; font: 400 clamp(2rem, 7vw, 3.5rem)/.96 Georgia, serif; }
.voss-case-signup form { display: grid; gap: 1rem; margin-top: 1.4rem; }
.voss-case-signup label { display: grid; gap: .45rem; font-weight: 700; }
.voss-case-signup input[type="email"] { min-height: 3rem; padding: .65rem .75rem; border: 1px solid #554734; background: #fffaf0; color: #171411; font: inherit; }
.voss-case-signup__consent { grid-template-columns: auto 1fr; align-items: start; font-weight: 400 !important; }
.voss-case-signup__consent input { margin-top: .25rem; }
.voss-case-signup__trap { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.voss-case-signup [data-signup-status] { min-height: 1.4em; margin: 0; }
.voss-invitation { display:flex; justify-content:center; padding:1.25rem max(1rem,env(safe-area-inset-right)) calc(1.25rem + env(safe-area-inset-bottom)); background:#eee2cb; }
.voss-invitation button { min-height:44px; max-width:100%; white-space:normal; line-height:1.4; }
.voss-signup-sheet { position:relative; width:min(100%,31rem); max-height:calc(100dvh - 1rem); overflow-y:auto; overscroll-behavior:contain; border:1px solid #a58e6c; background:#e9d8b9; box-shadow:0 1.5rem 4rem #0009; }
.voss-signup-dialog .voss-case-signup { width:100%; max-width:none; margin:0; padding:clamp(1.25rem,4vw,2rem); border:0; box-shadow:none; background:#e9d8b9; }
.voss-signup-dialog .voss-case-signup h2 { max-width:22rem; font:400 clamp(1.9rem,7vw,2.8rem)/1.05 var(--vc-display); letter-spacing:.02em; }
.voss-signup-dialog .voss-case-signup p { line-height:1.55; }
.voss-signup-dialog .voss-case-signup form { gap:.8rem; margin-top:1rem; }
.voss-signup-dialog .voss-case-signup label { font-size:.9rem; }
.voss-signup-dialog .voss-case-signup input[type="email"] { width:100%; min-height:44px; font-size:1rem; }
.voss-signup-dialog .voss-reader__primary, .voss-signup-later, .voss-signup-close, .voss-signup-success button { min-height:44px; }
.voss-signup-later, .voss-signup-success button { padding:.7rem; border:1px solid #7d6543; color:#211b17; background:transparent; font:700 .72rem/1.3 var(--vc-mono); }
.voss-signup-close { position:sticky; top:0; z-index:2; display:block; margin:0 0 0 auto; padding:.4rem .85rem; border:0; color:#211b17; background:#e9d8b9; font:700 .7rem/1 var(--vc-mono); }
.voss-signup-dialog .voss-puzzle__index { color:#79121a; }
@media (max-width:700px) { .voss-signup-dialog { align-items:end; padding:0; } .voss-signup-sheet { width:100%; max-height:100dvh; border-radius:.35rem .35rem 0 0; padding-bottom:env(safe-area-inset-bottom); } }
