@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=Manrope:wght@500;600;700;800&family=Prata&display=swap');
:root{--ink:#ede5d8;--paper:#d8cdb9;--red:#a43f37;--gold:#c4a264;--night:#171311;--panel:#211b18;--line:#4a3c35;--muted:#a99c8e}*{box-sizing:border-box}body{margin:0;min-height:100vh;color:var(--ink);background:radial-gradient(circle at 50% -15%,#46372e 0,#201915 36%,#100d0c 78%);font-family:Manrope,Arial,sans-serif}.app{width:min(100%,920px);margin:auto;padding:20px 18px 60px}.topbar,.brand,.stats,.file-head,.section-title,.board-head{display:flex;align-items:center}.topbar{justify-content:space-between;margin-bottom:27px}.brand{gap:11px}.seal{display:grid;place-items:center;width:43px;height:43px;border:1px solid #e5c98f;border-radius:50%;color:#171311;background:var(--gold);font:700 21px IBM Plex Mono;box-shadow:0 0 0 4px #c4a26420}.brand b{display:block;font:400 18px/1 Prata,serif;letter-spacing:1px}.brand small{display:block;margin-top:3px;color:var(--muted);font-size:9px;letter-spacing:.8px}.stats{gap:8px}.stats span{padding:8px 10px;border:1px solid var(--line);background:#231c18;color:var(--muted);font:600 8px IBM Plex Mono;letter-spacing:.7px}.stats b{color:var(--gold)}.case-file{position:relative;padding:31px 30px 26px;color:#28221d;background:linear-gradient(145deg,#e1d7c6,#cbbda7);box-shadow:0 22px 48px #0007;transform:rotate(-.2deg)}.case-file:after{content:'';position:absolute;inset:9px;border:1px solid #51473c25;pointer-events:none}.file-tab{position:absolute;top:-15px;left:23px;padding:7px 13px;color:#eee7db;background:#5f2925;font:600 9px IBM Plex Mono;letter-spacing:1px}.file-head{position:relative;z-index:1;justify-content:space-between;gap:10px}.file-head p,.section-title p,.board-head p,.dialog-kicker{margin:0 0 4px;color:#7c312c;font:600 9px IBM Plex Mono;letter-spacing:1.2px}.file-head h1{margin:0;font:400 clamp(27px,5vw,42px)/1.08 Prata,serif}.status{padding:6px 9px;border:2px solid #8f3a33;color:#8f3a33;font:600 9px IBM Plex Mono;transform:rotate(3deg)}.incident{position:relative;z-index:1;max-width:740px;margin:21px 0 19px;font-size:13px;line-height:1.65;font-weight:700}.objective{position:relative;z-index:1;display:grid;gap:4px;padding:12px 14px;border-left:4px solid #8f3a33;background:#82746115}.objective span{color:#8f3a33;font:600 8px IBM Plex Mono;letter-spacing:1px}.objective b{font-size:11px;line-height:1.45}.timeline{position:relative;z-index:1;display:grid;grid-template-columns:repeat(4,1fr);margin-top:20px;border-top:1px solid #71655666}.timeline div{position:relative;padding:13px 9px 0;border-right:1px solid #71655644}.timeline div:before{content:'';position:absolute;top:-4px;left:8px;width:7px;height:7px;border-radius:50%;background:#8f3a33}.timeline b{display:block;font:600 10px IBM Plex Mono}.timeline span{display:block;margin-top:3px;font-size:8px;line-height:1.3;font-weight:700;color:#5c5147}.workspace{margin-top:28px}.section-title{gap:10px;margin-bottom:11px}.section-title>span{display:grid;place-items:center;width:30px;height:30px;border:1px solid var(--gold);border-radius:50%;color:var(--gold);font:600 9px IBM Plex Mono}.section-title div{flex:1}.section-title p,.board-head p{color:var(--gold)}.section-title h2,.board-head h2{margin:0;font:400 19px Prata,serif}.section-title button{border:1px solid #59483e;padding:8px 10px;color:#cbbfb1;background:#251e1a;font:700 8px Manrope;cursor:pointer}.evidence-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.evidence{position:relative;display:grid;align-content:start;min-height:178px;padding:13px;border:1px solid #493b34;color:var(--ink);background:linear-gradient(150deg,#2b231f,#1d1815);font-family:inherit;text-align:left;cursor:pointer;transition:.2s}.evidence:hover{transform:translateY(-2px);border-color:#8b725d}.evidence.selected{border-color:var(--gold);box-shadow:inset 0 0 0 2px #c4a26420}.evidence.selected:after{content:'';position:absolute;inset:6px;border:1px solid #c4a26444;pointer-events:none}.evidence-top{display:flex;justify-content:space-between;color:#857569;font:600 8px IBM Plex Mono}.evidence-top em{color:#b98a58;font-style:normal}.evidence b{margin:14px 0 7px;font:400 16px Prata,serif}.evidence small{color:#b6a99c;font-size:9px;line-height:1.5;font-weight:600}.evidence>i{align-self:end;margin-top:11px;color:#b98a58;font:600 7px IBM Plex Mono;letter-spacing:.7px;font-style:normal}.suspect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.suspect{display:flex;gap:10px;min-height:150px;padding:13px;border:1px solid #4a3c35;color:var(--ink);background:#211b18;text-align:left;font-family:inherit;cursor:pointer}.suspect.selected{border-color:#a94840;background:#2c1d1b;box-shadow:inset 4px 0 #a94840}.suspect>i{display:grid;place-items:center;flex:0 0 39px;height:47px;border:1px solid #66554b;color:#cbb99e;background:#342a24;font:600 12px IBM Plex Mono;font-style:normal}.suspect span{display:grid;align-content:start}.suspect b{font-size:11px}.suspect em{margin:2px 0 9px;color:#aa9483;font-size:8px;font-style:normal}.suspect small{color:#c6bcb2;font-size:9px;line-height:1.45;font-weight:600}.theory-board{margin-top:28px;padding:20px;border:1px solid #5a473d;background:linear-gradient(145deg,#2c221e,#1a1513);box-shadow:0 18px 40px #0005}.board-head{justify-content:space-between}.board-head em{color:#b95a50;font-size:14px;font-style:normal;letter-spacing:3px}.theory-suspect{margin:17px 0 8px;padding:10px 12px;border-left:3px solid var(--red);background:#3d211e;color:#eadcd2;font-size:10px;font-weight:800}.evidence-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.evidence-slots span{display:grid;place-items:center;min-height:46px;padding:8px;border:1px dashed #5b4a41;color:#71645c;font:600 8px/1.3 IBM Plex Mono;text-align:center}.evidence-slots span.filled{border-style:solid;border-color:#8a6e57;color:#d1b990;background:#2b2420}.feedback{min-height:36px;margin:13px 0;color:#a99c8e;font-size:9px;line-height:1.45;font-weight:700}.accuse{width:100%;padding:13px;border:1px solid #c37066;color:#fff4e8;background:#8e3933;font:800 10px Manrope;letter-spacing:1px;cursor:pointer}.accuse:disabled{border-color:#443934;color:#6e625b;background:#28211e;cursor:not-allowed}.season-card{display:grid;grid-template-columns:1fr auto;gap:3px;width:100%;margin-top:15px;padding:16px 18px;border:1px solid #6a503f;color:#eee2d4;background:#37271f;text-align:left;cursor:pointer}.season-card span{grid-column:1;color:#c39a68;font:600 8px IBM Plex Mono;letter-spacing:1px}.season-card b{font:400 13px Prata}.season-card em{grid-column:2;grid-row:1/3;align-self:center;color:#c39a68;font:600 9px IBM Plex Mono;font-style:normal}dialog{width:min(calc(100% - 30px),510px);border:1px solid #806451;padding:25px;color:#e8ddd1;background:#251d19;box-shadow:0 30px 80px #000c}dialog::backdrop{background:#080604d9}.dialog-close{position:absolute;top:8px;right:10px;border:0;color:#b8a99d;background:none;font-size:22px;cursor:pointer}dialog h2{margin:5px 0 13px;font:400 27px Prata}dialog p{color:#bfb1a6;font-size:11px;line-height:1.6}.price-card{display:grid;gap:5px;margin-top:16px;padding:15px;border:1px solid #715847;background:#322721}.price-card span{color:#c39a68;font:600 8px IBM Plex Mono}.price-card b{font:400 16px Prata}.price-card small{color:#9f9186;font-size:9px}.result-seal{display:inline-block;padding:8px 12px;border:2px solid #b64e45;color:#ce695f;font:600 10px IBM Plex Mono;transform:rotate(-2deg)}.reward{margin:17px 0;padding:12px;border:1px solid #57463d;color:#b8aa9d;font-size:10px}.reward b{color:#e9cf9d;font-size:17px}.reward span{float:right;color:#86ad77}.next-case{width:100%;padding:13px;border:1px solid #c29b6e;color:#211915;background:#c2a06c;font:800 10px Manrope;cursor:pointer}.toast{position:fixed;z-index:20;left:50%;bottom:25px;width:min(90%,460px);padding:12px 15px;border:1px solid #74584c;transform:translate(-50%,18px);color:#efe4d9;background:#2b211d;box-shadow:0 15px 45px #000b;font-size:10px;font-weight:800;text-align:center;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}@media(max-width:700px){.app{padding:14px 10px 40px}.topbar{align-items:flex-start}.brand small{display:none}.stats{display:grid;gap:4px}.stats span{padding:6px}.case-file{padding:27px 18px 20px}.timeline{grid-template-columns:repeat(2,1fr);gap:10px 0}.evidence-grid,.suspect-grid{grid-template-columns:1fr}.evidence{min-height:0}.evidence-slots{grid-template-columns:1fr}.section-title button{max-width:115px}.suspect{min-height:0}.season-card{padding:14px}.file-head h1{font-size:29px}}
