:root{--ink:#071018;--paper:#e8f4ff;--muted:#8aa0b5;--cyan:#3de0ff;--mag:#ff3d7a;--amber:#ffc14a;--panel:#060c14c7}*{box-sizing:border-box;margin:0;padding:0}html,body{width:100%;height:100%;color:var(--paper);cursor:crosshair;background:#02060b;font-family:IBM Plex Mono,ui-monospace,monospace;overflow:hidden}canvas#game{width:100%;height:100%;display:block}#scanlines,#vignette{pointer-events:none;position:fixed;inset:0}#scanlines{mix-blend-mode:overlay;opacity:.35;background:repeating-linear-gradient(#ffffff08 0 1px,#0000 2px 4px)}#vignette{background:radial-gradient(#0000 45%,#0000008c 100%)}#hud{pointer-events:none;z-index:2;position:fixed;inset:0}.hud-top{justify-content:space-between;gap:16px;padding:18px 22px;display:flex}.panel{background:var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #3de0ff38;min-width:240px;padding:12px 14px;box-shadow:0 0 24px #3de0ff14}.label{letter-spacing:.12em;color:var(--cyan);margin-bottom:8px;font-size:10px}.bar-wrap{grid-template-columns:42px 1fr 64px;align-items:center;gap:8px;margin-bottom:6px;font-size:11px;display:grid}.bar-wrap span{color:var(--muted)}.bar{background:#12202c;border:1px solid #2a4154;height:8px;overflow:hidden}.bar i{transform-origin:0;background:linear-gradient(90deg,#1f9b6c,#5dffb0);width:100%;height:100%;display:block}.bar.ammo i{background:linear-gradient(90deg, #b8861a, var(--amber))}.bar-wrap em{text-align:right;color:var(--paper);font-style:normal}.case-chip{text-align:right;max-width:360px}#case-name{letter-spacing:.04em;font-family:Oswald,Impact,sans-serif;font-size:26px;line-height:1}#case-crime{color:var(--muted);margin-top:4px;font-size:11px}.trace{color:var(--amber);letter-spacing:.12em;margin-top:8px;font-size:12px}.hud-bottom{flex-direction:column;align-items:center;gap:10px;display:flex;position:absolute;bottom:18px;left:0;right:200px}.prompt{border:1px solid var(--amber);color:var(--amber);letter-spacing:.04em;background:#ffc14a1f;padding:8px 14px;font-size:13px}.legend{color:#e8f4ff73;letter-spacing:.06em;font-size:10px}.radar-wrap{width:168px;height:188px;position:absolute;bottom:18px;right:18px}#radar{background:#040a10cc;border:1px solid #3de0ff59;border-radius:50%;width:168px;height:168px;box-shadow:0 0 20px #3de0ff1f}.radar-label{text-align:center;letter-spacing:.2em;color:var(--cyan);margin-top:6px;font-size:10px}.overlay{z-index:5;background:#02060bb8;flex-direction:column;justify-content:center;align-items:center;padding:32px;display:flex;position:fixed;inset:0}.overlay.hidden,.hidden{display:none!important}#title h1{letter-spacing:.12em;text-shadow:0 0 24px #3de0ff73,0 8px #08131c;font-family:Oswald,Impact,sans-serif;font-size:clamp(64px,12vw,132px);line-height:.9}.title-mark{letter-spacing:.4em;color:var(--cyan);margin-bottom:10px;font-size:12px}.tag{letter-spacing:.16em;word-spacing:.28em;color:var(--mag);margin:12px 0 18px;font-family:Oswald,sans-serif;font-size:22px}.blurb{text-align:center;max-width:560px;color:var(--muted);word-spacing:.08em;margin-bottom:28px;line-height:1.55}button{pointer-events:auto;cursor:pointer;border:1px solid var(--cyan);color:var(--paper);letter-spacing:.18em;word-spacing:.35em;background:0 0;padding:12px 28px;font-family:Oswald,sans-serif;font-size:18px;box-shadow:0 0 18px #3de0ff2e}button:hover{background:#3de0ff1f}.controls-card{color:var(--muted);flex-wrap:wrap;justify-content:center;gap:10px 18px;margin-top:28px;font-size:12px;display:flex}kbd{color:var(--paper);border:1px solid #355;margin-right:4px;padding:2px 6px;display:inline-block}.wanted{color:#1b140c;text-align:center;background:#f3e6c4;width:min(440px,92vw);padding:22px;box-shadow:0 20px 60px #00000073}.wanted-head{letter-spacing:.14em;border-bottom:3px solid #1b140c;justify-content:space-between;padding-bottom:6px;font-size:11px;display:flex}.wanted-head strong{color:#9b1c1c}.mug{border:3px solid #1b140c;width:120px;height:140px;margin:16px auto 10px}.wanted h2{letter-spacing:.04em;font-family:Oswald,sans-serif;font-size:32px}#brief-alias{margin-bottom:12px;font-size:13px}.wanted dl{text-align:left;gap:6px;margin:12px 0;font-size:12px;display:grid}.wanted dl div{grid-template-columns:90px 1fr;display:grid}.wanted dt{color:#7a5b32}.brief-text{text-align:left;margin-bottom:18px;font-size:13px;line-height:1.5}.wanted button{color:#1b140c;box-shadow:none;border-color:#1b140c}.dialog-card{background:var(--panel);border:1px solid #ffc14a59;width:min(620px,92vw);padding:20px 22px 16px}.dialog-who{color:var(--amber);letter-spacing:.16em;margin-bottom:8px;font-size:11px}#dialog-text{font-size:15px;line-height:1.55}.dialog-hint{color:var(--muted);margin-top:14px;font-size:11px}.toast{z-index:6;border:1px solid var(--cyan);letter-spacing:.16em;background:#060e16e6;padding:10px 18px;font-size:13px;position:fixed;top:28%;left:50%;transform:translate(-50%)}.pause-card,.end-card{text-align:center;background:var(--panel);border:1px solid #3de0ff4d;width:min(520px,92vw);padding:28px 32px}.pause-card h2,.end-card h2{letter-spacing:.08em;margin-bottom:8px;font-family:Oswald,sans-serif;font-size:36px}.end-kicker{color:var(--cyan);letter-spacing:.28em;margin-bottom:8px;font-size:12px}#end-text{color:var(--muted);margin:10px 0 18px;line-height:1.5}.stats{color:var(--amber);letter-spacing:.08em;margin-bottom:20px;font-size:12px}.pause-card p{color:var(--muted);margin-bottom:20px}
