@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-ext-400-normal-ChcxYnmu.woff2) format("woff2"),url(/assets/special-elite-latin-ext-400-normal-CaJZjSVf.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Special Elite;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/special-elite-latin-400-normal-YjDd9tmf.woff2) format("woff2"),url(/assets/special-elite-latin-400-normal-BtSRmyJ6.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-ext-400-normal-B-EsvyE4.woff2) format("woff2"),url(/assets/courier-prime-latin-ext-400-normal-CKOCNFvK.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/courier-prime-latin-400-normal-BbyBr73r.woff2) format("woff2"),url(/assets/courier-prime-latin-400-normal-BAlbUm6l.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-ext-700-normal-ByMJlNdM.woff2) format("woff2"),url(/assets/courier-prime-latin-ext-700-normal-BIFoAzHx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Courier Prime;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/courier-prime-latin-700-normal-D1YCjmaD.woff2) format("woff2"),url(/assets/courier-prime-latin-700-normal-CVvp4Sof.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--paper: #E6D7B8;--paper-2: #F4EBD6;--folder: #D9B977;--folder-dark: #B8964F;--ink: #2B2219;--ink-soft: #5C4D3C;--red: #9E2A22;--red-soft: rgba(158, 42, 34, .16);--pen: rgba(158, 42, 34, .42);--sel: rgba(43, 34, 25, .28);--reveal: #E8B64A;--rule: rgba(43, 34, 25, .22);--shadow: 0 2px 0 rgba(43, 34, 25, .1), 0 8px 22px rgba(43, 34, 25, .1);--type: "Special Elite", "Courier Prime", monospace;--body: "Courier Prime", "Courier New", monospace;--sheet: #FFFDF6;--selected-bg: #FBF3E0;--brief-bg: rgba(255, 255, 255, .35);--polaroid: #fff;--clip: #8A8F96;--cold: #3A5A78;--gridline: rgba(60, 110, 160, .07);--margin-line: rgba(158, 42, 34, .3);--overlay: rgba(20, 14, 8, .55);--on-red: #fff;--stain: radial-gradient(circle at 88% 12%, rgba(120, 72, 30, .1) 0 70px, transparent 72px), radial-gradient(circle at 88% 12%, transparent 0 78px, rgba(120, 72, 30, .07) 79px 83px, transparent 84px)}:root[data-theme=noir]{--paper: #18181C;--paper-2: #232329;--folder: #4A3F2E;--folder-dark: #3A3123;--ink: #EBD9A8;--ink-soft: #B5A57E;--red: #E0564C;--red-soft: rgba(224, 86, 76, .2);--pen: rgba(224, 86, 76, .55);--sel: rgba(235, 217, 168, .25);--reveal: #C98F2A;--rule: rgba(235, 217, 168, .18);--shadow: 0 2px 0 rgba(0, 0, 0, .4), 0 8px 22px rgba(0, 0, 0, .35);--sheet: #1E1E23;--selected-bg: #2E2A22;--brief-bg: rgba(255, 255, 255, .04);--polaroid: #D9CFB4;--clip: #6B7078;--cold: #7FA6CC;--gridline: rgba(235, 217, 168, .05);--margin-line: rgba(224, 86, 76, .35);--overlay: rgba(0, 0, 0, .7);--on-red: #18181C;--stain: none}:root[data-theme=ink]{--paper: #FFFFFF;--paper-2: #FFFFFF;--folder: #FFFFFF;--folder-dark: #000000;--ink: #000000;--ink-soft: #333333;--red: #000000;--red-soft: rgba(0, 0, 0, .1);--pen: rgba(0, 0, 0, .35);--sel: rgba(0, 0, 0, .18);--reveal: #D8D8D8;--rule: #000000;--shadow: none;--sheet: #FFFFFF;--selected-bg: #EFEFEF;--brief-bg: #FFFFFF;--polaroid: #FFFFFF;--clip: #000000;--cold: #000000;--gridline: transparent;--margin-line: #000000;--overlay: rgba(0, 0, 0, .6);--on-red: #FFFFFF;--stain: none}:root[data-theme=ink] .case-card,:root[data-theme=ink] .folder{border:2px solid #000;border-top:6px double #000}:root[data-theme=ink] .case-card:before{background:#000;height:6px;top:-14px}:root[data-theme=ink] .masthead{border-bottom:6px double #000}:root[data-theme=ink] .masthead:before{content:"CONFIDENTIAL · POLICE REPORT";display:block;letter-spacing:.3em;font-size:14px;border:2px solid #000;padding:2px 8px;width:max-content;margin:0 auto 8px}:root[data-theme=ink] .grid,:root[data-theme=ink] .notebook,:root[data-theme=ink] .statement{border:2px solid #000}:root[data-theme=ink] .cell.reveal{outline:2px solid #000;outline-offset:-3px}:root[data-theme=ink] .bar{background:#fff;border:1.5px solid #000}:root[data-theme=ink] .polaroid{transform:none;border:1px solid #000}:root[data-theme=ink] .silhouette rect{fill:#fff}:root[data-theme=ink] .silhouette path,:root[data-theme=ink] .silhouette circle{fill:#000}:root[data-theme=noir] .silhouette path,:root[data-theme=noir] .silhouette circle{fill:#0e0e10}*{box-sizing:border-box}html,body{margin:0}body{background:var(--stain),var(--paper);background-attachment:fixed;color:var(--ink);font:17px/1.55 var(--body);-webkit-tap-highlight-color:transparent;min-height:100vh}button{font-family:inherit}.page{max-width:1080px;margin:0 auto;padding:20px 16px 72px}h1,h2,h3{font-family:var(--type);font-weight:400;line-height:1.15}h1{font-size:clamp(30px,6vw,46px);margin:6px 0 12px}h2{font-size:22px;margin:28px 0 10px}h3{font-size:19px;margin:18px 0 8px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:14px;color:var(--red);margin:0}.muted{color:var(--ink-soft)}.small{font-size:15px}.center{text-align:center}.link{background:none;border:0;color:var(--ink-soft);font-size:16px;cursor:pointer;padding:8px 0;min-height:44px;text-decoration:underline;text-align:left}.btn{background:var(--ink);color:var(--paper-2);border:2px solid var(--ink);border-radius:6px;font:700 17px var(--body);padding:12px 20px;cursor:pointer;min-height:48px;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.btn:hover:not(:disabled){filter:brightness(1.15)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.ghost{background:transparent;color:var(--ink)}.btn.danger{background:var(--red);border-color:var(--red)}.small-btn{min-height:42px;padding:8px 14px;font-size:15px}.icon-btn{background:none;border:0;font-size:24px;cursor:pointer;color:var(--ink);min-width:44px;min-height:44px}.masthead{position:relative;text-align:center;border-bottom:3px double var(--ink);padding:8px 40px 16px}.corner-btns{position:absolute;right:0;top:0;display:flex;gap:8px}.round-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--ink);background:var(--paper-2);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;padding:0;cursor:pointer;font:700 20px/1 var(--type, inherit);box-shadow:var(--shadow)}.round-btn svg{display:block}.round-btn:hover{background:var(--paper)}.masthead{padding-right:156px;padding-left:156px}@media(max-width:560px){.masthead{padding:56px 8px 16px}}.subtitle{margin:0;font-size:17px}.badge-row{display:flex;flex-wrap:wrap;gap:12px;margin:20px 0 6px}.badge{background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;padding:10px 16px;display:flex;flex-direction:column;gap:2px;min-width:170px;box-shadow:var(--shadow)}.badge-label{font-size:14px;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft)}.badge-rank{font-family:var(--type);font-size:22px;font-weight:400}.bar{height:8px;background:var(--rule);border-radius:4px;overflow:hidden;margin:4px 0}.bar span{display:block;height:100%;background:var(--red)}.continue{flex:1 1 260px;text-align:left}.continue .small{font-weight:400;opacity:.85}.cover{display:block;width:100%;height:clamp(120px,22vw,220px);object-fit:cover;border-radius:10px;margin-top:28px;box-shadow:var(--shadow)}.folder-art{display:block;width:calc(100% + 40px);margin:-22px -20px 14px;height:clamp(110px,20vw,190px);object-fit:cover;border-radius:0 12px 0 0}.reveal-art{display:block;width:100%;max-width:760px;margin:8px auto 4px;border-radius:10px;box-shadow:var(--shadow)}:root[data-theme=ink] .cover,:root[data-theme=ink] .folder-art,:root[data-theme=ink] .reveal-art{filter:grayscale(1) contrast(1.1);border:2px solid #000}.collection-head{display:flex;justify-content:space-between;align-items:end;gap:12px}.collection-head p{margin:0}.count{font-family:var(--type);font-size:20px;white-space:nowrap}.case-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin-top:14px}.case-card{position:relative;text-align:left;cursor:pointer;background:linear-gradient(var(--folder),var(--folder)) top/100% 0 no-repeat,var(--paper-2);color:var(--ink);border:1px solid var(--rule);border-top:14px solid var(--folder);border-radius:4px 14px 6px 6px;padding:14px 16px 22px;font-size:17px;display:flex;flex-direction:column;gap:6px;min-height:130px;box-shadow:var(--shadow);transition:transform .15s}.case-card:before{content:"";position:absolute;top:-24px;left:14px;width:74px;height:12px;background:var(--folder);border-radius:6px 6px 0 0}.case-card:hover:not(.locked){transform:translateY(-3px) rotate(-.4deg)}.case-no{font-family:var(--type);font-size:15px;color:var(--ink-soft)}.case-title{font-size:19px;font-weight:700;line-height:1.25}.case-stars{color:var(--red);font-size:18px}.case-open{font-size:15px;color:var(--ink-soft);font-style:italic}.stamp-mini{position:absolute;right:10px;bottom:10px;color:var(--red);border:2px solid var(--red);padding:0 6px;font-family:var(--type);transform:rotate(-8deg);font-size:14px;opacity:.85}.case-card.master{border-top-color:var(--ink);background:var(--ink);color:var(--paper-2);cursor:default}.case-card.master:before{background:var(--ink)}.case-card.master .case-no{color:var(--reveal)}.case-card.locked{opacity:.82}.modal-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);display:grid;place-items:center;z-index:50;padding:16px}.modal{background:var(--paper-2);border-radius:10px;padding:20px;max-width:440px;width:100%;display:flex;flex-direction:column;gap:12px;box-shadow:var(--shadow)}.modal h2{margin:0;padding-right:40px}.modal{position:relative;max-height:calc(100dvh - 32px);overflow-y:auto}.modal-x{position:absolute;top:8px;right:8px;width:44px;height:44px;border-radius:50%;border:0;background:transparent;color:var(--ink);font-size:22px;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.modal-x:hover{background:var(--rule)}.modal.tutorial{max-width:520px;font-size:17px}.modal.tutorial p{margin:0}.tut-list{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;line-height:1.45}.tut-suspects{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.tut-suspects span{font-family:var(--type);font-size:17px;padding:4px 12px;border:1px solid var(--rule);border-radius:6px;background:var(--paper)}.tut-suspects span.done{text-decoration:line-through;opacity:.55}.tut-grid{width:min(100%,300px);margin:0 auto}.tut-statement{font-family:var(--type);font-size:22px;text-align:center;color:var(--red)}.tut-pick{display:flex;gap:12px;justify-content:center}.tut-pick .btn{min-width:110px}.tut-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:4px}.theme-pick{border:1px solid var(--rule);border-radius:8px;padding:6px 10px 10px;margin:0;display:flex;flex-direction:column;gap:6px}.theme-pick legend{font-family:var(--type);font-size:17px;padding:0 6px}.theme-pick label{display:flex;gap:10px;align-items:flex-start;padding:8px;border-radius:6px;cursor:pointer;min-height:44px}.theme-pick label.on{outline:2px solid var(--red)}.theme-pick label>span{display:flex;flex-direction:column}.theme-pick input{width:20px;height:20px;margin-top:2px;accent-color:var(--red)}.theme-btn{font-size:22px}.top-actions{display:inline-flex;align-items:center;gap:6px}.vol-row{display:flex;align-items:center;gap:10px;padding:6px 2px 10px;font-size:18px}.vol-row input[type=range]{flex:1;min-height:32px;accent-color:var(--red)}.vol-val{min-width:3.2em;text-align:right;font-size:16px}.print-dialog fieldset{border:1px solid var(--rule);border-radius:8px;margin:0;padding:4px 10px 8px;display:flex;flex-wrap:wrap;gap:4px 8px}.print-dialog legend{font-family:var(--type);padding:0 6px}.print-dialog label{display:inline-flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;cursor:pointer;min-height:40px}.print-dialog label.on{outline:2px solid var(--red)}.print-dialog input{accent-color:var(--red);width:18px;height:18px}.check-row{display:flex;align-items:center;gap:8px;min-height:44px}.check-row input{width:20px;height:20px;accent-color:var(--red)}.paper-note{margin-top:40px;border-top:3px double var(--ink);padding-top:8px}a.btn{text-decoration:none}.confirm{display:flex;flex-direction:column;gap:10px}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,100vw);background:var(--paper);overflow-y:auto;padding:12px 18px 40px;box-shadow:-10px 0 30px #0000004d;animation:slide .25s ease-out}@keyframes slide{0%{transform:translate(40px);opacity:0}}.drawer-head{display:flex;justify-content:space-between;align-items:center;position:sticky;top:-12px;background:var(--paper);padding-top:4px;z-index:1}.drawer-head h2{margin:8px 0}.folder{position:relative;background:var(--paper-2);border:1px solid var(--rule);border-top:18px solid var(--folder);border-radius:4px 16px 8px 8px;padding:22px 20px 18px;margin-top:30px;box-shadow:var(--shadow)}.folder:after{content:"";position:absolute;top:-30px;right:40px;width:18px;height:54px;border:3px solid var(--clip);border-radius:10px;border-bottom-color:transparent;transform:rotate(8deg)}.folder-tab{position:absolute;top:-40px;left:0;background:var(--folder);padding:4px 16px 2px;border-radius:8px 8px 0 0;font-family:var(--type);font-size:15px}.confidential{position:absolute;top:14px;right:18px;color:var(--red);border:3px solid var(--red);font-family:var(--type);padding:2px 10px;transform:rotate(6deg);opacity:.7;font-size:15px}.victim{margin:0 0 10px}.briefing{background:var(--paper-2);border-left:4px solid var(--red);padding:14px 16px;margin:0}.folder .briefing{background:var(--brief-bg)}.how{padding-left:22px;margin:0}.how li{margin:4px 0}.diffs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}.diff-card{background:var(--paper-2);border:1px solid var(--rule);border-radius:8px;padding:14px;display:flex;flex-direction:column;gap:6px;box-shadow:var(--shadow)}.diff-card b{font-family:var(--type);font-size:21px;font-weight:400}.diff-actions{display:flex;gap:8px;flex-wrap:wrap}.diff-actions .btn{flex:1}.dossier{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}.card{position:relative;background:var(--paper-2);border:1px solid var(--rule);border-radius:6px;padding:10px;display:flex;gap:10px;align-items:flex-start;text-align:left;color:var(--ink);font-size:16px;box-shadow:var(--shadow)}button.card{cursor:pointer}button.card:hover:not(:disabled){outline:2px solid var(--ink)}.card.selected{outline:3px solid var(--red);background:var(--selected-bg)}.card.selected:after{content:"📌";position:absolute;top:-10px;right:-6px;font-size:22px}.card.cleared{opacity:.55}.card.cleared .card-name{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px}.card.candidate{border:2px dashed var(--red)}.card-body{display:flex;flex-direction:column;gap:2px;min-width:0}.card-name{font-size:17px}.card-note{font-size:15px;color:var(--ink-soft);line-height:1.4}.card-stamp{position:absolute;right:8px;bottom:6px;color:var(--red);border:2px solid var(--red);font-family:var(--type);font-size:14px;padding:0 5px;transform:rotate(-8deg)}.polaroid{position:relative;flex:0 0 64px;background:var(--polaroid);padding:4px 4px 14px;box-shadow:0 1px 3px #00000040;transform:rotate(-2deg)}.silhouette{display:block;width:56px;height:56px}.mugshot{display:block;width:56px;height:72px;object-fit:cover;object-position:50% 12%}.lineup{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:0 0 14px;background:#3a3530;padding:6px;border-radius:6px}.lineup figure{margin:0;position:relative}.lineup img{display:block;width:100%;aspect-ratio:auto;height:clamp(150px,26vw,300px);object-fit:cover;object-position:50% 20%;border-radius:3px}.lineup figcaption{position:absolute;left:0;right:0;bottom:0;background:#000000a6;color:#fff;font-size:14px;padding:3px 4px;text-align:center;line-height:1.2}:root[data-theme=ink] .lineup img,:root[data-theme=ink] .mugshot{filter:grayscale(1) contrast(1.1)}.initials{position:absolute;left:0;right:0;bottom:0;text-align:center;font-family:var(--type);font-size:14px;line-height:14px}.topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.steps{display:flex;gap:4px}.step{font-size:14px;padding:4px 10px;border-radius:20px;border:1px solid var(--rule);color:var(--ink-soft)}.step.done{background:var(--ink-soft);color:var(--paper-2);border-color:transparent}.step.now{background:var(--red);color:var(--on-red);border-color:transparent}.scene-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:8px}.scene-title{margin:4px 0 10px}.play-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}@media(max-width:860px){.play-layout{grid-template-columns:1fr;gap:8px}.steps .step:not(.now){display:none}}.grid-wrap{--cell: min(calc((100vw - 44px) / var(--n)), 46px);display:flex;justify-content:center}@media(min-width:861px){.grid-wrap{--cell: min(calc((100vw - 400px) / var(--n)), 46px, calc((100vh - 230px) / var(--n)))}}.grid{position:relative;display:grid;grid-template-columns:repeat(var(--n),var(--cell));background:var(--sheet);border:2px solid var(--ink);padding:4px;box-shadow:var(--shadow);touch-action:none;user-select:none;-webkit-user-select:none;background-image:linear-gradient(var(--gridline) 1px,transparent 1px);background-size:100% var(--cell);background-position:0 4px}.cell{width:var(--cell);height:var(--cell);display:grid;place-items:center;font:700 max(14px,calc(var(--cell) * .58)) var(--body);cursor:pointer;position:relative;z-index:1}.cell.found{color:var(--red)}.cell.anchor,.cell.pending{background:var(--sel);border-radius:50%}.cell.pending{animation:pulse 1s ease-in-out infinite}.cell.reveal{animation:revealPop .4s ease-out both}@keyframes revealPop{0%{background:transparent}60%{background:var(--reveal);transform:scale(1.2)}to{background:var(--reveal);color:var(--ink);border-radius:4px}}.grid:focus{outline:none}.grid:focus-visible{outline:3px solid var(--red);outline-offset:3px}.cell.kbd{box-shadow:inset 0 0 0 3px var(--red);border-radius:6px}.cell.hint{outline:3px solid var(--red);outline-offset:-3px;border-radius:50%;animation:pulse 1s ease-in-out infinite}@keyframes pulse{50%{opacity:.45}}.lines{position:absolute;top:4px;right:4px;bottom:4px;left:4px;width:calc(100% - 8px);height:calc(100% - 8px);pointer-events:none;z-index:2}.lines line{stroke-linecap:round}.found-line{stroke:var(--pen);stroke-width:.62}.sel-line{stroke:var(--sel);stroke-width:.72}.flash{text-align:center;min-height:1.6em;margin:6px 0 0;font-weight:700}.flash.ok{color:var(--red)}.flash.no{color:var(--ink-soft)}.notebook{background:var(--sheet);border:1px solid var(--rule);padding:4px 16px 16px 38px;box-shadow:var(--shadow);background-image:linear-gradient(90deg,transparent 24px,var(--margin-line) 24px 26px,transparent 26px)}.notebook h2{font-size:19px;margin:14px 0 6px}.words{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:2px 12px;font-size:16px}.words.cat li{font-weight:700}.words li{transition:color .2s}.words li.struck{text-decoration:line-through;text-decoration-color:var(--red);text-decoration-thickness:2px;color:var(--ink-soft)}.progress-line{margin:10px 0}@media(max-width:860px){.words{grid-template-columns:repeat(3,1fr);font-size:15px}}@media(max-width:380px){.words{grid-template-columns:1fr 1fr}}.statement{margin-top:24px;background:var(--paper-2);border:2px solid var(--ink);padding:18px;box-shadow:var(--shadow);animation:slide .3s ease-out}.typed{font-family:var(--type);font-size:clamp(21px,4vw,30px);margin:8px 0 12px;min-height:1.4em}.caret{animation:pulse .7s steps(1) infinite}.next-btn{margin-top:16px;width:100%}.statement-line{font-family:var(--type);font-size:17px;background:#e8b64a40;padding:6px 10px;margin:6px 0 10px}.attempts{font-size:16px}.attempts.shake{animation:shake .4s}@keyframes shake{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}.error{color:var(--red)}.accuse-block h2{margin-bottom:4px}.accuse-bar{position:sticky;bottom:0;margin:24px -16px 0;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--paper);border-top:2px solid var(--ink);display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;z-index:5}.accuse-bar .btn{flex:0 0 auto}.big-stamp{font-family:var(--type);font-size:clamp(40px,10vw,76px);text-align:center;line-height:1.1;border:6px solid currentColor;padding:8px 20px;margin:30px auto 12px;width:max-content;max-width:100%;transform:rotate(-6deg);animation:stamp .35s cubic-bezier(.2,1.6,.4,1) both}.big-stamp.ok{color:var(--red)}.big-stamp.cold{color:var(--cold)}@keyframes stamp{0%{transform:rotate(-6deg) scale(2.2);opacity:0}}.stars{text-align:center;font-size:36px;color:var(--red);margin:0 0 10px}.verdict{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}.verdict div{background:var(--paper-2);border:1px solid var(--rule);padding:10px;display:flex;flex-direction:column;text-align:center}.verdict b{font-family:var(--type);font-size:19px;font-weight:400}@media(max-width:480px){.verdict{grid-template-columns:1fr}}.stats{list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px}.stats li{display:flex;flex-direction:column;background:var(--paper-2);padding:8px 12px;border-radius:6px}.token{text-align:center;font-size:18px}.token b{font-family:var(--type);background:var(--ink);color:var(--reveal);padding:2px 10px;letter-spacing:.1em}.master-btn{background:var(--red);border-color:var(--red)}.result-actions{display:flex;flex-direction:column;gap:10px;max-width:460px;margin:20px auto 0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);z-index:60;background:var(--ink);color:var(--reveal);font-family:var(--type);font-size:20px;padding:12px 22px;border-radius:8px;box-shadow:var(--shadow);animation:slide .3s ease-out}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.cell.reveal{background:var(--reveal);color:var(--ink);border-radius:4px}}#print-root{display:none}.print-sheets{--p-ink: #000;--p-soft: #333;--p-paper: #fff;--p-accent: #000;--p-box: #000;--p-h: 10.05in;color:var(--p-ink);font:11pt/1.4 Courier Prime,Courier New,monospace}.print-sheets[data-paper=a4]{--p-h: 10.75in}.print-sheets[data-style=color]{--p-paper: #F4EBD6;--p-accent: #9E2A22;--p-soft: #5C4D3C;--p-ink: #2B2219;-webkit-print-color-adjust:exact;print-color-adjust:exact}.sheet{position:relative;height:var(--p-h);overflow:hidden;break-after:page;page-break-after:always;background:var(--p-paper);padding:.1in .15in;box-sizing:border-box;display:flex;flex-direction:column}.sheet>*{flex-shrink:0}.sheet:last-child{break-after:auto;page-break-after:auto}.p-head{display:flex;justify-content:space-between;font-size:9.5pt;letter-spacing:.08em;text-transform:uppercase;border-bottom:2px solid var(--p-ink);padding-bottom:3pt;margin-bottom:8pt}.p-stamp{position:absolute;top:.5in;right:.2in;border:3px solid var(--p-accent);color:var(--p-accent);font:13pt Special Elite,monospace;padding:2pt 8pt;transform:rotate(6deg)}.p-title{font:26pt/1.1 Special Elite,monospace;margin:4pt 1.6in 6pt 0}.p-victim{margin:0 0 6pt}.p-brief{border-left:3pt solid var(--p-accent);padding:4pt 0 4pt 9pt;margin:0 0 8pt;text-align:justify}.p-h2{font:15pt Special Elite,monospace;margin:10pt 0 4pt}.p-h3{font:12.5pt Special Elite,monospace;margin:8pt 0 3pt}.p-h3 span{font:9.5pt Courier Prime,monospace;color:var(--p-soft)}.p-suspects,.p-items,.p-evidence,.p-choices,.p-toc{list-style:none;margin:0;padding:0}.p-suspects li{padding:3pt 0;border-bottom:1px dotted var(--p-soft)}.p-how{margin:0;padding-left:16pt}.p-how li{margin:2pt 0}.p-how-big{font-size:12.5pt}.p-how-big li{margin:8pt 0}.p-notes{margin-top:10pt;flex:1 1 auto!important;min-height:1in;margin-bottom:.1in;border:1px solid var(--p-soft);background-image:repeating-linear-gradient(transparent 0 .29in,var(--p-soft) .29in calc(.29in + 1px))}.p-notes span{font-size:9.5pt;background:var(--p-paper);padding:0 4pt}.p-scene{font:19pt/1.15 Special Elite,monospace;margin:2pt 0 8pt}.p-scene span{font-size:13pt;color:var(--p-soft)}.p-center{display:flex;justify-content:center}.p-grid{position:relative;display:grid;border:2px solid var(--p-ink);box-sizing:content-box;background:#fff;font-family:Courier Prime,monospace;font-weight:700}.p-grid>span{display:flex;align-items:center;justify-content:center}.p-lines{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.p-lines line{stroke:#00000059;stroke-width:.62;stroke-linecap:round}[data-style=color] .p-lines line{stroke:#9e2a2273}.p-cols{display:grid;grid-template-columns:1.15fr 1fr;gap:14pt}.p-items li{font-size:9.5pt;line-height:1.3;padding:1.5pt 0 1.5pt 14pt;text-indent:-14pt}.p-items b{font-size:11pt}.p-evidence{columns:3;column-gap:8pt;font-size:10.5pt}.p-evidence li{break-inside:avoid;padding:1pt 0;white-space:nowrap}.p-check{display:inline-block;width:8pt;height:8pt;border:1.2px solid var(--p-ink);margin-right:5pt;vertical-align:-1pt;text-indent:0}.p-boxes{display:flex;flex-wrap:wrap;gap:6pt 12pt}.p-word{display:inline-flex;gap:2pt}.p-box{width:.26in;height:.3in;border:1.4px solid var(--p-box);border-radius:2pt}.p-small{font-size:10pt;color:var(--p-soft)}.p-accuse{border:1.5px solid var(--p-ink);padding:4pt 10pt 8pt;margin:8pt 0}.p-line{border-bottom:1px solid var(--p-soft);height:.34in;font-size:9.5pt;color:var(--p-soft);margin-bottom:6pt}.p-choices{display:grid;grid-template-columns:1fr 1fr;gap:3pt 12pt}.p-keyref{margin:0}.p-solution{display:flex;flex-wrap:wrap;gap:6pt 18pt;font:13pt Special Elite,monospace;margin:0 0 8pt}.p-solution small{display:block;font:9pt Courier Prime,monospace;color:var(--p-soft)}.p-keygrid{display:grid;grid-template-columns:1fr 1fr;gap:6pt 14pt;justify-items:center}.p-keygrid figure{margin:0}.p-keygrid figcaption{font-size:9.5pt;text-align:center;margin-top:3pt;max-width:3.1in}.p-keygrid+.p-brief{font-size:10pt;margin-top:8pt}.p-cover{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.p-cover h1,.p-divider h1{font:40pt/1.05 Special Elite,monospace;margin:8pt 0}.p-cover .p-stamp{position:static;transform:rotate(-6deg);font-size:18pt;margin-bottom:18pt}.p-eyebrow{letter-spacing:.25em;text-transform:uppercase;font-size:10pt;margin:0}.p-sub{font-size:14pt;margin:4pt 0 16pt}.p-meta{font-size:11pt;border-top:2px solid var(--p-ink);border-bottom:2px solid var(--p-ink);padding:6pt 12pt}.p-toc{text-align:left;margin:14pt 0}.p-toc li{margin:4pt 0}.p-tagline{font:13pt Special Elite,monospace;margin-top:18pt}.p-divider{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:6px double var(--p-ink)}.book-view{background:#777;padding:20px 0}.book-view .sheet{width:7.6in;margin:0 auto 20px;box-shadow:0 4px 16px #0006}.book-view .print-sheets[data-paper=a4] .sheet{width:7.37in}@media print{html,body{background:#fff!important}.app-ui{display:none!important}#print-root{display:block}.book-view{background:none;padding:0}.book-view .sheet{width:auto;margin:0;box-shadow:none}}
