:root{color-scheme:dark;--bg:#0c181d;--panel:#13262d;--ink:#efe7d5;--muted:#adbbb9;--gold:#e1bf82;--line:#35474b;--paper:#e9deca;--paperink:#24343a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 Georgia,serif}button,input,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;color:var(--ink);background:#1d343b;border:1px solid #536268;border-radius:3px;padding:10px 16px;transition:background .15s}button:hover{background:#314950}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{cursor:default;color:#bcc4c3;background:#26383e;border-color:#536268}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400;line-height:1.15}h1{font-size:38px;margin:17px 0}h2{font-size:30px}h3{font-size:24px;margin:14px 0}p{margin:12px 0}.shell{max-width:1680px;margin:auto;padding:0 40px}header{height:100px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{display:flex;gap:13px;align-items:center;color:var(--ink);text-decoration:none;font:16px/1.5 Georgia,serif;letter-spacing:3px}.wordmark small{display:block;font:9px/1.6 system-ui,sans-serif;letter-spacing:2.4px;color:var(--muted)}.crest{font-size:29px;line-height:45px;width:42px;text-align:center;border:1px solid var(--gold);color:var(--gold)}.quiet{font:12px/1.4 system-ui,sans-serif;border-color:var(--line);background:transparent;color:var(--muted)}main{display:grid;grid-template-columns:225px minmax(0,1fr) 245px;gap:32px;min-height:calc(100vh - 153px);padding:36px 0}.eyebrow{font:10px/1.5 system-ui,sans-serif;letter-spacing:1.8px;color:var(--gold)}.case-intro{color:var(--muted);font-size:14px;line-height:1.8}.rule{height:1px;background:var(--line);margin:28px 0 22px}nav{display:grid;gap:5px;margin:15px 0}nav button{display:flex;align-items:center;text-align:left;padding:10px 12px;border:1px solid transparent;background:none;color:var(--muted);font-size:15px}nav button.active{color:var(--gold);background:#223338;border-color:#56615a}nav .num{font:10px system-ui,sans-serif;color:var(--muted);margin-right:14px}nav .dot{margin-left:auto;color:var(--gold);font-size:11px}.aside-bottom{display:grid;gap:12px;font:11px system-ui,sans-serif;color:var(--muted);margin-top:40px}.weather{font-family:Georgia,serif;font-style:italic;font-size:13px}.scene-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;gap:16px}.scene-top h2{margin-top:4px}.scene{position:relative;overflow:hidden;background:#172d33;aspect-ratio:5/3;border:1px solid #4e5751;box-shadow:0 15px 40px #0004}.scene svg{display:block;width:100%;height:100%}.spot{position:absolute;transform:translate(-50%,-50%);border-radius:50%;height:33px;width:33px;padding:0;background:#172d33ed;border:1px solid #e8ca8a;color:#f6d390;font:21px/1 system-ui,sans-serif;box-shadow:0 0 0 5px #16232b50}.spot.found{border-color:#9daaa5;color:#d6e0dc;background:#203b3cf2}.spot:hover{background:#906b35;color:#fff8e5}.scene-caption{font-style:italic;color:var(--muted);font-size:13px;margin:14px 0 8px}#room-copy p{font-size:15px;line-height:1.7}.people{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.person{display:flex;gap:10px;align-items:center;font-size:13px;text-align:left;background:#182d34}.person small{display:block;color:var(--muted);font:10px/1.6 system-ui,sans-serif}.avatar{border:1px solid #758680;border-radius:50%;width:31px;height:36px;display:grid;place-items:center;color:var(--gold);font-size:15px}.detail{border-top:1px solid var(--line);padding:18px 0;min-height:145px}.detail p{font-size:15px}.detail h3{margin:5px 0 10px;font-size:23px}.topic-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.topic-list button{font-size:12px;padding:8px 10px}.tag{font:10px/1.5 system-ui,sans-serif;letter-spacing:1px;color:var(--gold)}.notebook{border-left:1px solid var(--line);padding-left:28px}.notebook h2{font-size:26px;margin-top:15px}.notebook>p{color:var(--muted);font-size:13px}.notebook-link{display:flex;width:100%;gap:8px;border-width:0 0 1px;border-color:var(--line);border-radius:0;background:none;text-align:left;padding:17px 0;font-size:14px}.notebook-link b{margin-left:auto;color:var(--gold);font-weight:400}.notebook-link span{font:10px system-ui,sans-serif;background:#334850;border-radius:3px;padding:2px 6px;align-self:center}.notebook-paper{background:var(--paper);color:var(--paperink);padding:23px 19px;margin-top:28px;min-height:205px;box-shadow:3px 4px 0 #3b4947;transform:rotate(-1deg)}.notebook-paper .eyebrow{color:#625137}.notebook-paper p{font-size:13px;border-bottom:1px solid #b7b4a6;padding-bottom:10px}.signature{font-style:italic;text-align:center;margin-top:24px!important;font-size:12px!important}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);padding:17px 0;color:var(--muted);font:9px system-ui,sans-serif;letter-spacing:1.1px}dialog{background:#142a31;color:var(--ink);border:1px solid #65716b;max-width:760px;width:calc(100% - 32px);max-height:88vh;padding:26px 30px;box-shadow:0 20px 100px #000a}dialog::backdrop{background:#061015d9;backdrop-filter:blur(5px)}.modal-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:13px}.modal-top button{border:0;background:none;padding:5px 10px}dialog h2{margin:10px 0 20px}dialog p{color:#d5dcd5}.evidence-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clue-card{background:#e9deca;color:#24343a;border:1px solid #aa9f8e;padding:16px;text-align:left}.clue-card p{color:#34454b;font-size:14px}.clue-card small{font:10px system-ui,sans-serif;letter-spacing:1px;color:#5b513e}.clue-card h3{font-size:20px;margin:9px 0}.clue-card.selected{outline:3px solid #edc67e;outline-offset:2px;background:#fff0cf}.deduction{border:1px solid var(--line);padding:18px;margin:15px 0}.deduction h3{font-size:21px;margin-top:0}.deduction.solved{border-color:#acbb8c}.deduction button{margin:7px 6px 0 0;font-size:13px}.deduction p{font-size:14px}.feedback{padding:12px;border-left:3px solid var(--gold);background:#243b40;margin:15px 0}.choices{display:grid;gap:10px}.choices button{text-align:left}.choices .picked{border-color:var(--gold);color:var(--gold)}.actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.actions button{font-size:13px}#toast{position:fixed;bottom:22px;left:50%;transform:translateX(-50%);background:#eadcc0;color:#22343b;box-shadow:0 3px 30px #0007;padding:10px 20px;font:13px system-ui,sans-serif;max-width:90vw;opacity:0;pointer-events:none;z-index:3}#toast.visible{opacity:1}.danger{border-color:#b48274;color:#ffcfb9}.file-label{display:inline-block;padding:10px 16px;border:1px solid #536268;cursor:pointer;font-size:13px}input[type=file]{display:block;margin:15px 0;width:100%}a{color:var(--gold)}.ending{font-size:18px;line-height:1.85}.empty{font-style:italic;color:var(--muted)}@media(min-width:1500px){main{grid-template-columns:250px minmax(0,1fr) 270px;gap:46px}.scene{margin-top:25px}h1{font-size:44px}}@media(max-width:1150px){.shell{padding:0 24px}main{grid-template-columns:185px minmax(0,1fr);gap:25px}.notebook{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding:22px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px 24px}.notebook>.eyebrow,.notebook>h2,.notebook>p,.notebook-paper{display:none}.notebook-link{padding:10px 0}h1{font-size:31px}}@media(max-width:650px){.shell{padding:0 16px}header{height:76px}.wordmark{font-size:13px;letter-spacing:2px}.crest{width:33px;font-size:24px;line-height:37px}.wordmark small{font-size:8px}.quiet{padding:8px 9px}main{display:flex;flex-direction:column;padding:20px 0;gap:20px}.house>.eyebrow,.house>h1,.case-intro,.rule,.aside-bottom{display:none}nav{display:flex;overflow:auto;margin:0;gap:7px;padding:3px 2px 9px}nav button{white-space:nowrap;border-color:var(--line);padding:9px 12px;font-size:13px}nav .num{display:none}nav .dot{margin-left:7px}.scene-top h2{font-size:28px}.scene-top{margin-bottom:15px}.scene{aspect-ratio:5/3}.spot{width:30px;height:30px;font-size:19px}.detail{min-height:120px}.notebook{position:sticky;bottom:0;background:#0c181df5;padding:12px 0 0;gap:12px;margin-top:auto;z-index:2}.notebook-link{font-size:12px;padding:12px 3px;line-height:1.3;gap:4px}footer{font-size:8px;gap:15px}dialog{padding:18px}.evidence-grid{grid-template-columns:1fr}.clue-card{padding:14px}dialog h2{font-size:26px}.scene-caption{font-size:12px}.topic-list button{min-height:40px}.notebook-link b{display:none}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
