:root{--bg:#05060a;--fg:#e7e5e4;--muted:#a8a29e;--blood:#b91c1c;--blood-hi:#ef4444;--crt:#4ade80;--amber:#fbbf24;--paper:#f5f0dc;--ink:#1f2937;--type:"Special Elite", "Courier New", monospace;--mono:"VT323", ui-monospace, "Cascadia Mono", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background:var(--bg);height:100%;color:var(--fg);overscroll-behavior:none;margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}a{color:var(--blood-hi)}button{font:inherit}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.small{font-size:.85em}kbd{font-family:var(--mono);background:#1c1917;border:1px solid #57534e;border-bottom-width:2px;border-radius:4px;padding:0 .35em;font-size:1.05em}.btn{cursor:pointer;color:var(--fg);background:#1c1917;border:1px solid #44403c;border-radius:4px;padding:.55rem 1rem;text-decoration:none;transition:background .15s,transform .1s;display:inline-block}.btn:hover{background:#292524}.btn:active{transform:translateY(1px)}.btn-blood{background:var(--blood);border-color:var(--blood-hi);color:#fff;font-family:var(--type);letter-spacing:.04em;box-shadow:0 0 24px #b91c1c55}.btn-blood:hover{background:#dc2626}.btn-ghost{background:0 0}.btn-big{padding:.8rem 1.6rem;font-size:1.3rem}.loading,.fatal{font-family:var(--type);color:var(--muted);text-align:center;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.fatal pre{text-align:left;white-space:pre-wrap;color:var(--blood-hi);font-family:var(--mono);font-size:1.1rem}.title-screen{background:radial-gradient(at 30% 40%,#1a0e0e 0%,#05060a 65%);grid-template-columns:1fr auto;align-items:center;gap:2rem;padding:4vh 6vw;display:grid;position:fixed;inset:0;overflow:auto}.title-noise{pointer-events:none;opacity:.06;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='0.9'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:.6s steps(4,end) infinite grain;position:fixed;inset:-50%}@keyframes grain{to{transform:translate(3%,-4%)}}.title-main{max-width:640px;position:relative}.title-kicker{font-family:var(--type);color:var(--muted);letter-spacing:.25em;text-transform:uppercase;font-size:.85rem}.title-logo{font-family:var(--type);color:#f5f5f4;text-shadow:0 0 30px #b91c1c88;margin:.2em 0;font-size:clamp(3.2rem,11vw,7.5rem);line-height:.9;animation:6s infinite flick;position:relative}@keyframes flick{0%,92%,96%,to{opacity:1}93%,95%{opacity:.35}}.title-sub{color:#d6d3d1;font-size:1.15rem}.title-actions{flex-wrap:wrap;gap:.75rem;margin:1.5rem 0 1rem;display:flex}.title-actions .btn-blood{padding:.75rem 1.5rem;font-size:1.25rem}.title-options{color:var(--muted);flex-wrap:wrap;gap:1.25rem;font-size:.95rem;display:flex}.title-options label{cursor:pointer}.title-hint{color:#78716c;margin-top:1.5rem;font-size:.85rem}.coward-door{color:var(--fg);text-align:center;flex-direction:column;align-items:center;gap:1rem;max-width:260px;text-decoration:none;display:flex}.coward-door-frame{background:linear-gradient(#16301f,#0b1a10);border:6px solid #3f3f46;border-bottom:none;width:130px;height:210px;transition:box-shadow .3s,transform .3s;animation:3s ease-in-out infinite doorglow;position:relative;box-shadow:0 0 40px #22c55e55,inset 0 0 30px #22c55e33}@keyframes doorglow{50%{box-shadow:0 0 70px #22c55e88,inset 0 0 40px #22c55e55}}.coward-door:hover .coward-door-frame,.coward-door:focus-visible .coward-door-frame{transform:perspective(400px)rotateY(-14deg)}.coward-door-sign{white-space:nowrap;color:#4ade80;font-family:var(--mono);text-shadow:0 0 8px #4ade80;background:#052e16;border:1px solid #22c55e;padding:0 .6rem;font-size:1.4rem;position:absolute;top:-34px;left:50%;transform:translate(-50%)}.coward-door-knob{background:#a1a1aa;border-radius:50%;width:10px;height:10px;position:absolute;top:52%;right:14px}.coward-door-copy{flex-direction:column;gap:.35rem;display:flex}.coward-door-copy strong{font-family:var(--type);color:#4ade80}.coward-door-copy em{color:var(--muted);font-size:.95rem}.coward-door-cta{color:#86efac;text-decoration:underline}@media (max-width:760px){.title-screen{grid-template-columns:1fr;align-content:start;padding:48px 16px}.coward-door{text-align:left;flex-direction:row;max-width:none}.coward-door-frame{flex:none;width:70px;height:110px}.coward-door-sign{font-size:1rem;top:-26px}}.game{position:fixed;inset:0}.game canvas{touch-action:none}.hud{z-index:5;pointer-events:none;font-family:var(--type);text-shadow:0 1px 3px #000;position:fixed;inset:0}.hud a,.hud button{pointer-events:auto}.hud-top-left{max-width:min(420px,100vw - 140px);position:absolute;top:16px;left:16px}.hud-objective{border-left:3px solid var(--blood);background:#0c0a09cc;padding:.4rem .75rem;font-size:.95rem}.hud-label{letter-spacing:.2em;text-transform:uppercase;color:var(--blood-hi);font-size:.7rem;display:block}.hud-stats{align-items:center;gap:1rem;margin-top:.5rem;font-size:.9rem;display:flex}.hud-battery{border:1px solid #a8a29e;width:60px;height:10px;position:relative}.hud-battery:after{content:"";background:#a8a29e;width:3px;height:4px;position:absolute;top:2px;right:-4px}.hud-battery-bar{background:var(--amber);height:100%;display:block}.im-out{font-family:var(--type);color:#86efac;background:#052e16cc;border:1px solid #22c55e;border-radius:4px;padding:.35rem .8rem;text-decoration:none;position:absolute;top:16px;right:16px}.im-out-tip{width:220px;color:var(--muted);opacity:0;pointer-events:none;background:#0c0a09ee;border-radius:4px;padding:.4rem .6rem;font-size:.8rem;transition:opacity .2s;position:absolute;top:calc(100% + 6px);right:0}.im-out:hover .im-out-tip,.im-out:focus-visible .im-out-tip{opacity:1}.crosshair{background:#fff8;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;transition:transform .15s,background .15s;position:absolute;top:50%;left:50%}.crosshair-active{background:0 0;border:1px solid #fde68a;transform:scale(2.2)}.hud-prompt{white-space:nowrap;background:#0c0a09cc;border-radius:4px;padding:.3rem .8rem;font-size:1rem;position:absolute;top:calc(50% + 34px);left:50%;transform:translate(-50%)}.hud-prompt-btn{background:var(--blood);color:#fff;font-family:var(--type);border:none;border-radius:4px;padding:.5rem 1rem}.hud-toast{text-align:center;background:#0c0a09dd;border:1px solid #44403c;max-width:min(560px,100vw - 32px);padding:.6rem 1rem;animation:.3s ease-out toastIn;position:absolute;bottom:18%;left:50%;transform:translate(-50%)}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,10px)}}.hud-help{text-align:center;background:#0c0a09cc;border-radius:4px;width:max-content;max-width:calc(100vw - 32px);padding:.5rem .9rem;font-family:system-ui,sans-serif;font-size:.85rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.hud-dark .hud-objective,.hud-dark .hud-stats{opacity:.15}.pause{z-index:6;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0008;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.pause-panel{flex-direction:column;align-items:center;gap:1rem;width:100%;max-width:520px;display:flex}.pause-resume{font-family:var(--type);color:var(--fg);cursor:pointer;background:0 0;border:none;font-size:1.6rem;animation:4s infinite flick}.pause-row{flex-wrap:wrap;justify-content:center;gap:.5rem;display:flex}.settings{background:#0c0a09ee;border:1px solid #44403c;border-radius:6px;width:100%;padding:1rem}.settings fieldset{border:1px solid #292524;flex-direction:column;gap:.35rem;margin:0 0 .75rem;display:flex}.settings legend{color:var(--muted);font-size:.85rem}.modal-backdrop{z-index:10;background:#000a;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{border-radius:8px;flex-direction:column;width:min(620px,100%);max-height:calc(100dvh - 32px);animation:.18s ease-out modalIn;display:flex;overflow:hidden}.modal:focus{outline:none}.modal-wide{width:min(980px,100%)}@keyframes modalIn{0%{opacity:0;transform:scale(.97)}}.modal-head{font-family:var(--mono);letter-spacing:.05em;justify-content:space-between;align-items:center;padding:.5rem .9rem;font-size:1.25rem;display:flex}.modal-close{color:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:4px;padding:.1rem .5rem}.modal-body{padding:1rem 1.2rem 1.3rem;overflow:auto}.modal-crt,.modal-amber{--c:var(--crt);color:var(--c);border:1px solid color-mix(in srgb, var(--c) 40%, transparent);box-shadow:0 0 40px color-mix(in srgb, var(--c) 18%, transparent), inset 0 0 80px #000;font-family:var(--mono);background:#04110a repeating-linear-gradient(0deg,#0003 0 2px,#0000 2px 4px);font-size:1.2rem}.modal-amber{--c:var(--amber);background-color:#120b02}.modal-crt .modal-head,.modal-amber .modal-head{border-bottom:1px solid color-mix(in srgb, var(--c) 30%, transparent)}.modal-crt a,.modal-amber a{color:var(--c)}.modal-paper{background:var(--paper);color:var(--ink);font-family:var(--type);box-shadow:0 10px 50px #000}.modal-paper .modal-head{background:#e7dfc0}.term-log{white-space:pre-wrap;font-family:var(--mono);cursor:default;margin:0 0 1rem;font-size:1.15rem;line-height:1.25}.term-scroll{max-height:60vh;overflow:auto}.note-pre{font-family:var(--type);white-space:pre-wrap;color:#1f2937;background:#fde047;padding:1rem;font-size:1.15rem;transform:rotate(-1deg);box-shadow:2px 3px 8px #0004}.note-list li{margin:.3rem 0}.note-sign{text-align:right}.note-quote{border-left:4px solid var(--blood);background:#fff8;margin:1rem 0;padding:.5rem 1rem}.badge-card{border-top:10px solid var(--blood);background:#fff;border-radius:8px;align-items:center;gap:1rem;padding:1rem;display:flex}.badge-card p{margin:.15rem 0}.badge-photo{color:#78716c;background:#d6d3d1;place-items:center;width:80px;height:96px;font-size:2.5rem;display:grid}.badge-name{font-size:1.4rem;font-weight:700}.puzzle-title{letter-spacing:.08em;margin:0 0 .25rem;font-weight:400}.puzzle-prompt{margin:0 0 .75rem}.puzzle-body{color:#d1fae5;background:#0006;border:1px solid #ffffff1a;padding:.6rem .8rem;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem;line-height:1.5;overflow:auto}.puzzle-log{color:#fef3c7}.puzzle-body .ln{color:#6b7280;-webkit-user-select:none;user-select:none;margin-right:1rem}.line-broken{color:#fecaca;background:#7f1d1d88}.puzzle-choices{gap:.5rem;margin-top:.75rem;display:grid}.btn-choice{text-align:left;border-color:color-mix(in srgb, currentColor 35%, transparent);color:inherit;background:#0005}.btn-choice code{white-space:pre-wrap;font-family:ui-monospace,Cascadia Mono,Consolas,monospace;font-size:.85rem}.btn-choice:hover{background:color-mix(in srgb, currentColor 12%, transparent)}.modal-paper .btn-choice{background:#fff8}.puzzle-form{align-items:center;gap:.5rem;margin-top:.75rem;display:flex}.puzzle-form input{min-width:0;color:inherit;font:inherit;background:0 0;border:none;border-bottom:2px solid;outline:none;flex:1;padding:.2rem .3rem;font-size:1.3rem}.puzzle-form .btn{color:inherit;background:0 0;border-color:currentColor}.prompt-caret{font-size:1.3rem}.puzzle-msg{margin:.75rem 0 0}.puzzle-msg.bad{color:#f87171}.puzzle-msg.ok{color:#86efac}.modal-paper .puzzle-msg.ok{color:#15803d}.modal-paper .puzzle-msg.bad{color:#b91c1c}.puzzle-hint{border:1px dashed;margin-top:.9rem;padding:.5rem .75rem;font-size:.95em}.puzzle-sarcasm{opacity:.7;margin-top:.25rem;font-style:italic;display:block}.puzzle-reveal{margin-top:.75rem}.puzzle-reveal .btn{color:inherit;border-color:currentColor}.shake{animation:.35s shake}@keyframes shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.digitpad{flex-direction:column;align-items:center;gap:.6rem;margin-top:.75rem;display:flex}.digitpad-display{text-align:center;width:220px;font:inherit;letter-spacing:.4em;color:inherit;background:#000;border:1px solid;padding:.2rem;font-size:2.2rem}.digitpad-keys{grid-template-columns:repeat(3,64px);gap:.4rem;display:grid}.btn-key{height:52px;color:inherit;border-color:color-mix(in srgb, currentColor 40%, transparent);background:#1c1917;font-size:1.4rem}.btn-enter{background:#14532d}.tabs{border-bottom:1px solid color-mix(in srgb, currentColor 30%, transparent);gap:.25rem;margin-bottom:1rem;display:flex}.tab{color:inherit;opacity:.6;cursor:pointer;font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;padding:.4rem .8rem}.tab.active{opacity:1;border-color:currentColor}.casefile-meta{flex-wrap:wrap;gap:1.5rem;display:flex}.casefile-summary{font-size:1.25rem}.casefile h4{letter-spacing:.1em;margin:1rem 0 .4rem;font-weight:400;text-decoration:underline}.chips{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.chips li{border:1px solid;border-radius:999px;padding:0 .6rem}.casefile-list li{margin:.2rem 0}.casefile-images{flex-wrap:wrap;gap:.6rem;margin:1rem 0;display:flex}.casefile-images img{filter:sepia(.2)contrast(1.05);border:1px solid;max-width:min(100%,360px)}.casefile-links{gap:1rem;margin:.75rem 0 1rem;display:flex}.board{grid-template-columns:1fr 260px;gap:1rem;display:grid}@media (max-width:760px){.board{grid-template-columns:1fr}}.board-svg{border-radius:8px;width:100%;height:auto;box-shadow:inset 0 0 30px #0008}.card rect{fill:#fdfbf3;stroke:#0002;filter:drop-shadow(1px 2px 2px #0006)}.card-missing rect{fill:#0002;stroke:#fff6;stroke-dasharray:6 5;filter:none}.card-q{font:40px var(--type);fill:#fff8}.card-title{font:bold 15px var(--type);fill:#111}.card-meta{font:12px var(--type);fill:#57534e}.card-stack{fill:#334155;font:12px ui-monospace,monospace}.pin{fill:#dc2626;stroke:#7f1d1d}.card-clickable{cursor:pointer}.card-clickable:hover rect{stroke:#dc2626;stroke-width:2px}.card-sel rect{stroke:#dc2626;stroke-width:4px}.string{fill:none;stroke:#dc2626;stroke-width:2.5px;stroke-dasharray:1200;stroke-dashoffset:1200px;filter:drop-shadow(0 1px 1px #0008);animation:1.6s ease-out forwards draw}@keyframes draw{to{stroke-dashoffset:0}}.string-label{font:12px var(--type);fill:#fff;paint-order:stroke;stroke:#7f1d1d;stroke-width:3px}.board-side p{margin-top:0}.tally h4{margin:0 0 .4rem}.tally ol{margin:0;padding:0;list-style:none}.tally li{grid-template-columns:1fr 70px 20px;align-items:center;gap:.4rem;padding:.15rem .3rem;display:grid}.tally-bar{background:#dc2626;justify-self:start;height:6px}.tally-top{border-radius:40% 50% 45% 55%;outline:2px solid #dc2626;font-weight:700}.tally-note{font-style:italic}.ending{z-index:20;color:#1c1917;background:radial-gradient(#fff7e0 0%,#d6cfb8 55%,#a8a08a 100%);grid-template-columns:1fr 1fr;animation:1.2s ease-out lightsOn;display:grid;position:fixed;inset:0;overflow:auto}@keyframes lightsOn{0%{opacity:0;filter:brightness(3)}20%{opacity:1}30%{opacity:.4}40%,to{opacity:1;filter:none}}.ending-panel{flex-direction:column;justify-content:center;align-items:flex-start;gap:.75rem;padding:6vh 6vw;display:flex}.ending .title-kicker,.ending .muted{color:#57534e}.ending a{color:#991b1b}.ending .btn-blood{color:#fff}.ending .btn-ghost{color:#1c1917;border-color:#1c1917}.ending-title{font-family:var(--type);margin:0;font-size:clamp(2.2rem,6vw,4rem);line-height:1}.ending-sub{margin:0;font-size:1.3rem}.ending-contacts{flex-wrap:wrap;gap:1rem;padding:0;list-style:none;display:flex}.credits{font-family:var(--type);text-align:center;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 15% 85%,#0000);mask-image:linear-gradient(#0000,#000 15% 85%,#0000)}.credits-roll{width:100%;animation:28s linear infinite roll;position:absolute}.credits h3{letter-spacing:.3em;color:#991b1b;margin:2rem 0 .4rem;font-size:.85rem}.credits p{margin:.2rem 0;font-size:1.15rem}@keyframes roll{0%{transform:translateY(100vh)}to{transform:translateY(-100%)}}@media (max-width:760px){.ending{grid-template-rows:auto 260px;grid-template-columns:1fr}.ending-panel{padding:48px 16px 16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.001ms!important;animation-iteration-count:1!important}.credits-roll{position:static;transform:none}.string{stroke-dashoffset:0}}.mobile{pointer-events:none;position:fixed;inset:0}.mobile-look{pointer-events:auto;touch-action:none;position:absolute;inset:0}.joy{left:24px;bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:auto;touch-action:none;background:#ffffff10;border:2px solid #fff4;border-radius:50%;place-items:center;width:130px;height:130px;display:grid;position:absolute}.joy-knob{background:#fff5;border-radius:50%;width:54px;height:54px}.mobile-buttons{right:20px;bottom:calc(24px + env(safe-area-inset-bottom));pointer-events:auto;flex-direction:column;gap:10px;display:flex;position:absolute}.mobile-buttons button{color:#fff;width:64px;height:64px;font-family:var(--type);background:#0c0a09aa;border:2px solid #fff4;border-radius:50%}.mobile-buttons button:first-child{background:#b91c1ccc;width:76px;height:76px}.hud-draglook{text-align:center;width:max-content;max-width:calc(100vw - 32px);color:var(--muted);background:#0c0a09aa;border-radius:4px;padding:.2rem .6rem;font-size:.8rem;position:absolute;bottom:64px;left:50%;transform:translate(-50%)}.ending-downloads{flex-wrap:wrap;gap:.75rem;display:flex}.ending-downloads .btn{font-family:var(--type);text-align:left;flex-direction:column;align-items:flex-start;max-width:300px;display:flex}.ending-downloads small{letter-spacing:0;opacity:.85;margin-top:.2rem;font-family:system-ui,sans-serif;font-size:.75rem}.lang-picker{align-items:center;gap:.25rem;font-family:system-ui,sans-serif;font-size:.85rem;display:inline-flex}.lang-picker button{color:var(--muted);cursor:pointer;background:0 0;border:1px solid #44403c;border-radius:999px;padding:.2rem .7rem}.lang-picker button.active{color:#fff;border-color:var(--blood-hi);background:#7f1d1d}.lang-picker-label{margin-right:.15rem}.title-lang{z-index:2;position:fixed;top:16px;right:16px}:lang(ja) .title-logo,:lang(ja) body{word-break:normal;line-break:strict}
