:root{color-scheme:light dark;font-family:Aptos,Segoe UI,Noto Sans SC,sans-serif;color:#20242b;background:#e7e4dc;--ink: #20242b;--muted: #656b73;--surface: #f4f1e9;--surface-strong: #fffdf7;--line: #b7b4ab;--accent: #d77a27;--accent-ink: #442004;font-synthesis:none;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100dvh}button{font:inherit}button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.home-shell{min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;gap:clamp(2rem,6vw,7rem);max-width:1380px;margin:0 auto;padding:clamp(2rem,5vw,5rem);background-image:linear-gradient(rgb(32 36 43 / .05) 1px,transparent 1px),linear-gradient(90deg,rgb(32 36 43 / .05) 1px,transparent 1px);background-size:36px 36px}.brand-lockup{display:flex;align-items:center;gap:.75rem;font:700 .78rem/1.2 Cascadia Mono,monospace;letter-spacing:.16em;text-transform:uppercase}.home-copy h1{margin:2rem 0 1rem;font-size:clamp(3.8rem,9vw,8rem);line-height:.82;letter-spacing:-.075em;max-width:7ch}.home-copy h1 span{display:block;font-size:.27em;line-height:1.4;letter-spacing:.12em}.lede{max-width:34rem;font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.6;color:var(--muted)}.home-actions{display:grid;grid-template-columns:repeat(2,minmax(0,12rem));gap:.75rem;margin-top:2rem}.home-actions button,.icon-button{min-height:3.25rem;border:1px solid var(--ink);border-radius:.45rem;background:transparent;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;gap:.6rem;cursor:pointer;transition:transform .18s ease,background .18s ease}.home-actions button:hover{background:#fff6;transform:translateY(-2px)}.home-actions .primary-action{background:var(--ink);color:var(--surface)}.case-preview{position:relative;padding:clamp(1.25rem,3vw,2.5rem);border:1px solid var(--ink);border-radius:.75rem;background:var(--surface-strong);box-shadow:16px 18px #20242b21;transform:rotate(1.5deg)}.preview-stamp{position:absolute;top:-1rem;right:1.5rem;padding:.6rem .9rem;border:2px solid var(--accent);color:var(--accent-ink);background:#f3b76f;font:800 .75rem/1 Cascadia Mono,monospace;letter-spacing:.1em;transform:rotate(-4deg)}.preview-grid{display:grid;grid-template-columns:repeat(4,1fr);aspect-ratio:1;border:2px solid var(--ink)}.preview-grid span{border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 86%,#88a8a1)}.preview-grid span:nth-child(3n){background:color-mix(in srgb,var(--surface) 86%,#c68f79)}.preview-grid .is-marked:after{content:"?";display:grid;height:100%;place-items:center;color:var(--accent-ink);background:var(--accent);font:800 clamp(2rem,5vw,4rem)/1 "Cascadia Mono",monospace}.preview-caption{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;padding-top:1.25rem}.preview-caption strong{font-size:1.25rem}.preview-caption span{color:var(--muted);font-size:.9rem}.page-shell{min-height:100dvh;max-width:1280px;margin:0 auto;padding:1.25rem clamp(1rem,4vw,4rem)}.topbar{display:flex;justify-content:space-between;align-items:center}.icon-button{width:3.25rem;padding:0}.placeholder-page{padding:12vh 0}.placeholder-page h1{font-size:clamp(3rem,8vw,7rem);margin:.25rem 0;letter-spacing:-.06em}.kicker{font:700 .75rem/1 Cascadia Mono,monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}.case-library{padding:clamp(3rem,8vw,7rem) 0}.case-library h1{margin:.25rem 0 2rem;font-size:clamp(3rem,8vw,7rem);letter-spacing:-.06em}.case-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem}.case-list button{display:grid;gap:.75rem;min-height:10rem;padding:1rem;text-align:left;border:1px solid var(--line);border-radius:.55rem;background:var(--surface-strong);color:var(--ink);cursor:pointer}.case-list button:hover{border-color:var(--accent);transform:translateY(-2px)}.case-list strong{align-self:end;font-size:1.2rem}.case-list button>span:last-child{color:var(--muted);font-size:.8rem}.case-list-code{font:700 .65rem/1 Cascadia Mono,monospace;color:var(--accent-ink)}.scene-thumbnail{display:grid;width:100%;aspect-ratio:16 / 7;border:1px solid var(--line);overflow:hidden;background:var(--surface)}.scene-thumbnail i{position:relative;min-width:0;opacity:.78;border:1px solid color-mix(in srgb,var(--surface-strong) 40%,transparent)}.scene-thumbnail i.has-object:after{content:"";position:absolute;width:38%;aspect-ratio:1;left:31%;top:31%;border-radius:50%;background:var(--ink);opacity:.65}.library-filters{display:flex;flex-wrap:wrap;gap:.75rem;margin:0 0 1.5rem}.library-filters label{display:grid;gap:.35rem;color:var(--muted);font-size:.8rem}.library-filters select{min-width:10rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface-strong);color:var(--ink)}.case-library .library-modes{grid-template-columns:repeat(3,minmax(0,1fr))}.case-library .library-modes button{padding:.75rem .5rem;font-size:.9rem;overflow-wrap:anywhere}.library-filters>button{align-self:end;padding:.65rem .8rem;border:1px solid var(--ink);border-radius:.4rem;background:transparent;color:var(--ink);cursor:pointer}.settings-page,.manual-page,.random-page{max-width:760px;padding:clamp(3rem,8vw,7rem) 0}.settings-page h1,.manual-page h1,.random-page h1{margin:.25rem 0 2rem;font-size:clamp(3rem,8vw,6rem);letter-spacing:-.06em}.settings-page>label{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.2rem 0;border-bottom:1px solid var(--line)}.settings-page label span{display:grid;gap:.3rem}.settings-page small{color:var(--muted)}.settings-page input{width:1.4rem;height:1.4rem;accent-color:var(--accent)}.manual-page>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:.5rem 2rem}.manual-page .manual-grid{grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem}.manual-grid article{padding:1rem;border:1px solid var(--line);background:var(--surface-strong)}.rule-diagram{display:block;width:100%;height:auto;margin-bottom:1rem;color:var(--ink)}.manual-page h2{margin:0;font-size:1rem}.manual-page p{margin:0 0 1.25rem;color:var(--muted);line-height:1.6}.random-controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));align-items:end;gap:.75rem}.random-controls>*{min-width:0}.random-controls label{display:grid;gap:.35rem;color:var(--muted);font-size:.8rem}.random-controls select,.random-controls input,.random-controls button{min-height:3rem;padding:.65rem .8rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface-strong);color:var(--ink)}.random-controls button{border-color:var(--ink);background:var(--ink);color:var(--surface);cursor:pointer}.random-controls .secondary-random-action{background:transparent;color:var(--ink)}.core-environment-options{grid-column:1 / -1;display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin:0;padding:.75rem;border:1px solid var(--line)}.core-environment-options legend{padding:0 .35rem;color:var(--muted);font-size:.8rem}.core-environment-options label{display:flex;grid-auto-flow:column;align-items:center;gap:.35rem;color:var(--ink)}.random-advanced{margin-top:1rem;border-top:1px solid var(--line);padding-top:.75rem}.random-advanced summary{cursor:pointer;font-weight:700}.random-advanced[open]{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:.75rem}.random-advanced label{display:grid;gap:.35rem;color:var(--muted);font-size:.8rem}.random-advanced select{min-height:2.75rem;padding:.55rem .7rem;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink)}.seed-history{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}.seed-history h2{flex-basis:100%;margin-bottom:.25rem}.seed-history button{max-width:100%;padding:.5rem .7rem;overflow-wrap:anywhere;white-space:normal;border:1px solid var(--line);border-radius:.35rem;background:var(--surface-strong);color:var(--ink);font:600 .72rem/1.2 Cascadia Mono,monospace;cursor:pointer}.generation-advice{color:var(--ink);line-height:1.65;max-width:70ch}.random-case-tools{width:100%;max-width:1500px;margin:0 auto 1rem;padding:.75rem;border:1px solid var(--line);border-radius:.4rem;background:var(--surface)}.random-case-tools p,.local-random-library p{max-width:70ch;font-size:.85rem;line-height:1.65;overflow-wrap:anywhere}.random-case-tools p:last-child{margin-bottom:0}.archive-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem}.archive-actions button,.local-random-library button,.local-library-link{min-height:2.75rem;padding:.6rem .8rem;border:1px solid var(--ink);border-radius:.4rem;background:var(--surface-strong);color:var(--ink);cursor:pointer;overflow-wrap:anywhere}.archive-actions label,.archive-import label{display:flex;align-items:center;gap:.4rem;font-size:.85rem}.local-library-link{margin-top:1rem}.local-random-library{padding:2rem 0}.local-random-library h1{font-size:2rem}.archive-import{display:grid;gap:1rem;margin:1.5rem 0}.archive-import>label:first-child{align-items:start;flex-direction:column}.archive-import input[type=file]{max-width:100%;color:var(--ink)}.archive-list{list-style:none;padding:0}.archive-list li{padding:1.25rem 0;border-top:1px solid var(--line)}.archive-list h2{margin:0;font-size:1.1rem;overflow-wrap:anywhere}.archive-list fieldset{margin:1rem 0 0;border:1px solid var(--line)}.game-shell{min-height:100dvh;display:flex;flex-direction:column;padding:1rem}.game-header{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;max-width:1500px;width:100%;margin:0 auto 1rem}.game-header h1{margin:.1rem 0 0;font-size:clamp(1.3rem,3vw,2.2rem);letter-spacing:-.035em}.case-code,.difficulty-badge{font:700 .7rem/1.2 Cascadia Mono,monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.case-code{text-transform:none;overflow-wrap:anywhere}.difficulty-badge{border:1px solid var(--line);border-radius:.35rem;padding:.55rem .7rem;color:var(--ink)}.game-meta{position:relative;display:flex;align-items:center;gap:.7rem;font:700 .72rem/1 Cascadia Mono,monospace;color:var(--muted)}.share-status{position:absolute;top:calc(100% + .35rem);right:0;z-index:8;width:max-content;max-width:min(18rem,70vw);overflow-wrap:anywhere;padding:.45rem .65rem;border:1px solid var(--line);background:var(--surface-strong);color:var(--ink);font:600 .72rem/1.3 system-ui,sans-serif}.game-layout{flex:1;display:grid;grid-template-columns:minmax(210px,270px) minmax(360px,1fr) minmax(230px,320px);align-items:start;gap:1rem;max-width:1500px;width:100%;margin:0 auto;min-height:0}.left-rail,.right-rail,.board-stage{min-width:0}.left-rail,.right-rail{position:sticky;top:1rem;align-self:start;max-height:calc(100dvh - 6.5rem);overflow-y:auto;scrollbar-gutter:stable}.investigation-panel{height:auto;padding:1rem;border:1px solid var(--line);border-radius:.65rem;background:color-mix(in srgb,var(--surface-strong) 88%,transparent)}.investigation-panel h2{margin:0 0 1rem;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase}.suspect-list{display:grid;gap:.5rem}.suspect-list button{width:100%;display:flex;align-items:center;gap:.7rem;padding:.65rem;text-align:left;color:var(--ink);border:1px solid transparent;border-radius:.45rem;background:transparent;cursor:pointer}.suspect-list button:hover,.suspect-list button.is-selected{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent)}.suspect-list button.is-clue-related{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--accent) 65%,white)}.suspect-badge,.suspect-token{display:grid;place-items:center;width:2.3rem;aspect-ratio:1;border:2px solid currentColor;border-radius:50%;font:800 .72rem/1 Cascadia Mono,monospace}.suspect-list button>span:last-child{display:grid;gap:.12rem}.suspect-list small{color:var(--muted)}.suspect-list .placed-status{color:var(--ink);font-size:.7rem}.suspect-list button.is-placed{background:color-mix(in srgb,var(--ink) 5%,transparent)}.suspect-badge{position:relative;flex:0 0 2.6rem;width:2.6rem;height:2.6rem}.suspect-badge em{position:absolute;right:-.15rem;bottom:-.15rem;display:grid;place-items:center;min-width:1rem;height:1rem;padding:0 .15rem;border-radius:50%;background:var(--ink);color:var(--surface);font-size:.58rem;font-style:normal}.portrait{display:block;width:100%;height:100%}.portrait.is-victim{filter:saturate(.8)}.clue-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem;margin-bottom:.8rem}.clue-filters button{min-width:0;padding:.45rem .25rem;border:1px solid var(--line);background:transparent;color:var(--muted);font-size:.7rem;cursor:pointer}.clue-filters button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--ink)}.clue-groups{display:grid;gap:.7rem}.clue-groups details{border-top:1px solid var(--line);padding-top:.55rem}.clue-groups summary{display:flex;justify-content:space-between;align-items:center;margin-bottom:.55rem;color:var(--muted);font:700 .7rem/1.2 Cascadia Mono,monospace;letter-spacing:.08em;cursor:pointer}.clue-groups summary span{display:grid;place-items:center;min-width:1.4rem;height:1.4rem;border-radius:50%;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--ink);letter-spacing:0}.clue-card-list{display:grid;gap:.75rem}.clue-statements{margin:0;padding:0;list-style:none}.clue-statements li+li{margin-top:.3rem;padding-top:.3rem;border-top:1px solid var(--line)}.clue-card{border:1px solid var(--line);background:var(--surface-strong);padding:.65rem}.clue-card.is-selected{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.clue-card header{display:flex;align-items:center;gap:.5rem;margin-bottom:.45rem}.clue-card header>.clue-source-mark{display:grid;place-items:center;flex:0 0 2rem;width:2rem;height:2rem;border:1px solid var(--line);border-radius:50%;overflow:hidden;font-size:.95rem}.clue-card header>span:last-child{display:grid;gap:.08rem}.clue-card header small{color:var(--muted);font-size:.66rem}.clue-card button{width:100%;border:0;padding:.4rem .5rem;background:transparent;color:var(--ink);text-align:left;line-height:1.4;cursor:pointer}.clue-card button:hover,.clue-card button:focus-visible,.clue-card button.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.investigation-note-list{display:grid;gap:.4rem;margin:0 0 .8rem;padding:.65rem;border:1px solid var(--line);background:color-mix(in srgb,var(--accent) 7%,var(--surface-strong))}.investigation-note-list button{border:0;padding:.45rem .5rem;background:transparent;color:var(--ink);text-align:left;line-height:1.4;cursor:pointer}.investigation-note-list button:hover,.investigation-note-list button:focus-visible,.investigation-note-list button.is-active{background:color-mix(in srgb,var(--accent) 14%,transparent)}.board-stage{display:grid;align-content:start;justify-items:center;gap:.75rem;overflow:visible;padding:0 .5rem .5rem}.game-board{width:min(100%,720px);display:grid;aspect-ratio:1;border:4px solid var(--ink);background:var(--line);gap:0}.board-cell{position:relative;min-width:0;border-style:solid;border-color:color-mix(in srgb,var(--ink) 30%,transparent);border-width:1px;border-radius:0;background:color-mix(in srgb,var(--region-color) 18%,var(--surface-strong));color:var(--ink);cursor:pointer;overflow:hidden;isolation:isolate}.board-cell.has-region-edge-top{border-top-width:4px;border-top-color:var(--ink)}.board-cell.has-region-edge-right{border-right-width:4px;border-right-color:var(--ink)}.board-cell.has-region-edge-bottom{border-bottom-width:4px;border-bottom-color:var(--ink)}.board-cell.has-region-edge-left{border-left-width:4px;border-left-color:var(--ink)}.board-cell:hover,.board-cell:focus-visible{z-index:1;box-shadow:inset 0 0 0 3px var(--accent)}.board-cell.is-selected-placement{z-index:2;outline:4px solid var(--accent);outline-offset:-7px}.board-cell.is-placement-axis:before{content:"";position:absolute;z-index:0;pointer-events:none;background:color-mix(in srgb,var(--accent) 62%,transparent)}.board-cell.is-placement-axis-row:before{left:0;right:0;top:calc(50% - 2px);height:4px}.board-cell.is-placement-axis-col:before{top:0;bottom:0;left:calc(50% - 2px);width:4px}.board-cell.is-auto-excluded{background:color-mix(in srgb,var(--ink) 9%,var(--surface-strong))}.board-cell.is-clue-related{box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--accent) 72%,white)}.board-cell.is-auto-excluded:after{content:"";position:absolute;inset:16%;z-index:0;background:linear-gradient(45deg,transparent 47%,color-mix(in srgb,var(--ink) 32%,transparent) 48% 52%,transparent 53%),linear-gradient(-45deg,transparent 47%,color-mix(in srgb,var(--ink) 32%,transparent) 48% 52%,transparent 53%);pointer-events:none}.board-cell.is-blocked{background:color-mix(in srgb,var(--line) 70%,var(--surface));cursor:not-allowed}.board-cell.is-blocked:before{content:"";position:absolute;inset:33%;border:1px solid color-mix(in srgb,var(--muted) 50%,transparent);transform:rotate(45deg);pointer-events:none}.cell-environment{position:absolute;z-index:1;left:.3rem;bottom:.3rem;display:flex;gap:.15rem;color:color-mix(in srgb,var(--ink) 78%,var(--region-color))}.cell-decor{position:absolute;z-index:0;right:.2rem;top:.2rem;display:flex;color:color-mix(in srgb,var(--region-color) 50%,transparent);opacity:.55;pointer-events:none}.cell-decor .environment-icon{width:.8rem;height:.8rem}.environment-icon,.scene-artwork{width:clamp(.95rem,42%,2.8rem);height:auto;filter:drop-shadow(0 1px 0 rgb(255 255 255 / .45))}.scene-artwork{color:color-mix(in srgb,var(--ink) 86%,var(--region-color))}.region-label{position:absolute;z-index:1;top:.22rem;left:.28rem;max-width:calc(100% - .5rem);padding:.15rem .25rem;overflow:hidden;color:var(--ink);background:color-mix(in srgb,var(--surface-strong) 78%,transparent);font:700 clamp(.42rem,.75vw,.62rem)/1.1 "Cascadia Mono",monospace;text-overflow:ellipsis;white-space:nowrap}.suspect-token{position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:clamp(2.1rem,52%,4.5rem);overflow:hidden;background:var(--ink);color:var(--surface)}.suspect-token.is-victim{background:var(--accent);color:var(--accent-ink)}.suspect-token b{position:absolute;right:0;bottom:0;display:grid;place-items:center;min-width:1.05rem;height:1.05rem;padding:0 .12rem;border-radius:50%;background:var(--ink);color:var(--surface);font-size:.55rem}.x-mark{position:absolute;inset:0;display:grid;place-items:center;color:#a33e2c;font:400 clamp(2rem,5vw,5rem)/1 sans-serif}.pencil-marks{position:absolute;left:.25rem;right:.25rem;bottom:.2rem;font:600 clamp(.42rem,1vw,.68rem)/1.2 "Cascadia Mono",monospace;color:var(--muted)}.tool-bar{position:sticky;bottom:1rem;display:flex;align-items:center;justify-content:center;gap:.25rem;max-width:max-content;margin:1rem auto 0;padding:.45rem;border:1px solid var(--line);border-radius:.65rem;background:var(--surface-strong);box-shadow:0 10px 30px #20242b29}.tool-bar button{min-width:3.2rem;min-height:3rem;display:grid;place-items:center;gap:.1rem;padding:.35rem .55rem;border:1px solid transparent;border-radius:.4rem;color:var(--ink);background:transparent;cursor:pointer}.tool-bar button[aria-pressed=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,transparent)}.tool-bar button:disabled{opacity:.35;cursor:not-allowed}.tool-bar button span{font-size:.65rem}.tool-bar .submit-tool{display:block;padding:.5rem 1rem;color:var(--surface);background:var(--ink);white-space:nowrap}.tool-separator{width:1px;height:2rem;margin:0 .2rem;background:var(--line)}.game-feedback,.hint-strip{width:min(100%,720px);margin:0;padding:.7rem 1rem;border:1px solid var(--accent);background:var(--surface-strong)}.game-feedback.is-solved{border-color:#4f7c65}.hint-strip{display:flex;align-items:center;justify-content:space-between;gap:1rem}.hint-strip button{flex:0 0 2.25rem;width:2.25rem;height:2.25rem;display:grid;place-items:center;border:0;border-radius:.35rem;background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--ink);cursor:pointer}.hint-panel{width:min(100%,720px);border:1px solid var(--accent);background:var(--surface-strong);padding:.7rem 1rem}.hint-panel header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.hint-panel [role=tablist]{display:flex;flex-wrap:wrap;gap:.25rem}.hint-panel button{padding:.5rem .7rem;border:1px solid transparent;border-radius:.35rem;background:transparent;color:var(--ink);cursor:pointer}.hint-panel [aria-selected=true]{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 15%,transparent)}.hint-panel .hint-close{display:grid;place-items:center;min-width:2.25rem;min-height:2.25rem}.hint-panel p{line-height:1.6;margin:.7rem 0}.hint-panel small{color:var(--muted)}.hint-panel .hint-step-text,.hint-panel .hint-proof-text{white-space:pre-line;overflow-wrap:anywhere}.hint-step-navigation{display:flex;align-items:center;justify-content:space-between;gap:.35rem}.hint-panel button:disabled{opacity:.5;cursor:default}.hint-panel .hint-scope{font-size:.8rem}.clue-line-source{display:block;margin-top:.35rem;color:var(--ink);font-size:.68rem;font-weight:600}.clue-number{color:var(--muted);font-size:.7rem}.dialog-backdrop{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:1rem;background:#0c0e11b3}.confirm-dialog{max-width:28rem;padding:1.5rem;border-radius:.65rem;background:var(--surface-strong);color:var(--ink);box-shadow:0 24px 70px #0000004d}.confirm-dialog h2{margin-top:0}.confirm-dialog>div{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1.5rem}.confirm-dialog button{padding:.7rem 1rem;border:1px solid var(--ink);border-radius:.4rem;background:transparent;color:var(--ink)}.confirm-dialog button:last-child{background:var(--ink);color:var(--surface)}.result-dialog{width:min(32rem,100%);text-align:center}.result-dialog:has(.random-case-tools){max-height:calc(100dvh - 2rem);overflow-y:auto}.result-dialog h2{margin-bottom:1.25rem;font-size:clamp(2rem,6vw,3.5rem);letter-spacing:-.05em}.result-kicker{margin:0 0 .35rem;color:var(--accent);font:800 .7rem/1 Cascadia Mono,monospace;letter-spacing:.18em;text-transform:uppercase}.result-dialog>.result-culprit{display:grid;justify-items:center;justify-content:center;gap:.65rem;margin:0 0 1.25rem}.result-culprit .portrait{width:6rem;height:6rem;border:3px solid var(--accent);border-radius:50%}.result-culprit strong{font-size:1.2rem}.result-stats{display:grid;grid-template-columns:1fr 1fr;margin:0;border-block:1px solid var(--line)}.result-stats div{padding:1rem}.result-stats div+div{border-left:1px solid var(--line)}.result-stats dt{margin-bottom:.25rem;color:var(--muted);font-size:.72rem}.result-stats dd{margin:0;font:800 1.1rem/1 Cascadia Mono,monospace}.new-best{margin:.9rem 0 0;color:var(--accent);font-weight:800}.result-dialog>.result-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}.result-actions button:last-child{background:transparent;color:var(--ink)}.feedback-dialog{border-top:4px solid var(--accent)}.game-shell.is-high-contrast{--line: var(--ink)}.game-shell.is-high-contrast .board-cell{box-shadow:inset 0 0 0 1px var(--ink)}@media(min-width:781px)and (max-width:1100px){.game-layout{grid-template-columns:minmax(180px,220px) minmax(0,1fr);align-items:start}.board-stage{align-content:start}.left-rail,.right-rail{position:static;max-height:none;overflow:visible}.right-rail{grid-column:1 / -1}.right-rail .investigation-panel{height:auto}.clue-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:780px){.home-shell{grid-template-columns:1fr;padding:1.25rem;align-content:start}.home-copy{padding-top:1rem}.home-copy h1{font-size:clamp(3.5rem,19vw,6rem)}.case-preview{order:-1;max-width:23rem;width:78%;justify-self:end;transform:rotate(1deg)}.home-actions{grid-template-columns:1fr 1fr}.game-shell{padding:.6rem}.game-layout{grid-template-columns:1fr;overflow:visible}.board-stage{order:-1;padding:0;overflow:visible}.left-rail,.right-rail{position:static;display:block;max-height:none;overflow:visible}.investigation-panel{height:auto}.tool-bar{max-width:calc(100vw - 1rem);overflow-x:auto;justify-content:flex-start;bottom:.5rem}.tool-bar button span{display:none}.manual-page>div{grid-template-columns:1fr}.random-controls{grid-template-columns:1fr}}@media(max-width:480px){.home-actions{grid-template-columns:1fr}.case-preview{width:68%;padding:.8rem}.preview-caption{display:none}}.testimony-controls{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--line);background:var(--surface);border-radius:.5rem}.testimony-controls summary{cursor:pointer;font-weight:700}.terminology-help{margin:0 0 1rem;padding:.8rem 1rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:.5rem}.terminology-help summary{cursor:pointer;font-weight:700}.terminology-help dl{max-width:72ch;line-height:1.7}.terminology-help dt{margin-top:1rem;font-weight:700}.terminology-help dd{margin:.3rem 0 0}.testimony-controls p{margin:.65rem 0;font-size:.85rem}.testimony-controls fieldset{display:flex;flex-wrap:wrap;gap:.5rem 1rem;border:1px solid var(--line)}.testimony-controls label{display:inline-flex;align-items:center;gap:.35rem}.statement-truth{display:flex;align-items:center;justify-content:flex-end;gap:.5rem;margin:.3rem 0 .6rem;color:var(--muted);font-size:.75rem}.statement-truth select{min-height:2.5rem;padding:.3rem .6rem;border:1px solid var(--line);color:var(--ink);background:var(--surface);border-radius:.3rem}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media(prefers-color-scheme:dark){:root{color:#ebe8df;background:#171a1f;--ink: #ebe8df;--muted: #a7adb5;--surface: #22262d;--surface-strong: #292e36;--line: #51565e;--accent: #e28b38;--accent-ink: #251102}.home-actions button:hover{background:#ffffff12}.case-preview{box-shadow:16px 18px #00000040}}
