@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/cdf703449fd42bc8-s.103uf.8aa8pr3.woff2?dpl=dpl_BAfDTtRDeZHLdLCtPhnCzfDAE8yK)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/3f10656f33c57dec-s.0m4wt3xm5i890.woff2?dpl=dpl_BAfDTtRDeZHLdLCtPhnCzfDAE8yK)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/56eb15be423b6220-s.0zqusx.h7vgvl.woff2?dpl=dpl_BAfDTtRDeZHLdLCtPhnCzfDAE8yK)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/96074e70a40501da-s.0fw52gc_mc5b0.woff2?dpl=dpl_BAfDTtRDeZHLdLCtPhnCzfDAE8yK)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../media/de161955856a921d-s.p.04z8pihzuh7s1.woff2?dpl=dpl_BAfDTtRDeZHLdLCtPhnCzfDAE8yK)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:"Press Start 2P Fallback";src:local(Arial);ascent-override:44.58%;descent-override:0.0%;line-gap-override:0.0%;size-adjust:224.32%}.press_start_2p_db99a2be-module__niinoG__className{font-family:"Press Start 2P","Press Start 2P Fallback";font-style:normal;font-weight:400}.press_start_2p_db99a2be-module__niinoG__variable{--font-pixel:"Press Start 2P", "Press Start 2P Fallback"}
@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/42b07301cbfb88de-s.00h2pk9.eev0o.woff2?dpl=dpl_BAfDTtRDeZHLdLCtPhnCzfDAE8yK)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/674d141a92451548-s.0utf7qfb0khyu.woff2?dpl=dpl_BAfDTtRDeZHLdLCtPhnCzfDAE8yK)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:VT323;font-style:normal;font-weight:400;font-display:swap;src:url(../media/0c8c4ded07fff55c-s.p.0wf336i9wr3zj.woff2?dpl=dpl_BAfDTtRDeZHLdLCtPhnCzfDAE8yK)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:VT323 Fallback;src:local(Arial);ascent-override:89.16%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:89.73%}.vt323_a37afa26-module__fMU-xW__className{font-family:VT323,VT323 Fallback;font-style:normal;font-weight:400}.vt323_a37afa26-module__fMU-xW__variable{--font-term:"VT323", "VT323 Fallback"}
:root{--bg:#06080a;--bg-2:#0c1013;--fog:#8b948b;--blood:#8c1414;--blood-bright:#d11f1f;--rust:#7a3b1d;--bone:#c9c4b2;--crt-green:#84a78f;--amber:#c8a060;--font-pixel:var(--font-pixel), "Courier New", monospace;--font-term:var(--font-term), "Courier New", monospace}*{box-sizing:border-box}html{background:var(--bg);-webkit-font-smoothing:none;font-size:18px}html,body,#app{height:100%}body{font-family:var(--font-term);color:var(--bone);background:var(--bg);cursor:crosshair;margin:0;overflow:hidden}img{max-width:100%;height:auto;display:block}button{color:inherit;cursor:crosshair;background:0 0;border:none;font-family:inherit}.scene{background:radial-gradient(120% 90% at 50% 0%, var(--bg-2) 0%, var(--bg) 60%, #020304 100%);position:fixed;inset:0;overflow:hidden}.layer{pointer-events:none;position:fixed;inset:0}.fog{z-index:1;filter:blur(10px);background:radial-gradient(45% 60% at 18% 28%,#969e962e,#0000 62%),radial-gradient(55% 55% at 82% 58%,#858d8726,#0000 62%),radial-gradient(72% 80% at 50% 95%,#969e963d,#0000 68%),radial-gradient(60% 70% at 72% 12%,#7a3b1d0f,#0000 60%);animation:26s ease-in-out infinite alternate fog-drift}.fog:before,.fog:after{content:"";background-repeat:no-repeat;position:absolute;inset:-25%}.fog:before{filter:blur(28px);background:radial-gradient(38% 45% at 28% 42%,#969e9629,#0000 60%),radial-gradient(46% 50% at 64% 72%,#969e9621,#0000 62%),radial-gradient(52% 55% at 88% 30%,#969e961c,#0000 60%);animation:34s ease-in-out infinite alternate fog-roll-a}.fog:after{filter:blur(40px);mix-blend-mode:screen;background:radial-gradient(52% 52% at 18% 72%,#969e9624,#0000 62%),radial-gradient(42% 48% at 54% 22%,#969e961c,#0000 60%),radial-gradient(48% 54% at 92% 82%,#969e961f,#0000 62%);animation:46s ease-in-out infinite alternate fog-roll-b}@keyframes fog-drift{0%{transform:translate(-4%,2%)scale(1.1)}to{transform:translate(4%,-2%)scale(1.25)}}@keyframes fog-roll-a{0%{transform:translate(-9%,-3%)scale(1.2)}to{transform:translate(9%,4%)scale(1.35)}}@keyframes fog-roll-b{0%{transform:translate(7%,4%)scale(1.3)}to{transform:translate(-8%,-4%)scale(1.15)}}.grain{z-index:2;opacity:.5;background-image:repeating-radial-gradient(circle at 17% 41%,#ffffff06 0 1px,#0000 1px 3px),repeating-radial-gradient(circle at 73% 8%,#ffffff05 0 1px,#0000 1px 4px),repeating-radial-gradient(circle at 39% 84%,#0000002e 0 1px,#0000 1px 3px);animation:.6s steps(4,end) infinite grain-shift}@keyframes grain-shift{0%{transform:translate(0)}25%{transform:translate(-2px,1px)}50%{transform:translate(1px,-2px)}75%{transform:translate(2px,2px)}to{transform:translate(0)}}.vignette{z-index:3;background:radial-gradient(120% 120% at 50% 45%,#0000 40%,#0000008c 100%);box-shadow:inset 0 0 18vw 6vw #000000eb}.flashlight{--mouse-x:50%;--mouse-y:50%;z-index:4;background:radial-gradient(circle 220px at var(--mouse-x) var(--mouse-y), transparent 0, transparent 70px, #04050673 180px, #040506a8 320px);mix-blend-mode:multiply;transition:background 80ms linear}.scanlines{z-index:6;background:repeating-linear-gradient(#0000 0 2px,#00000047 3px 4px)}.crt-flicker{z-index:7;background:#84a78f08;animation:5s step-end infinite crt-flicker}@keyframes crt-flicker{0%,96%,to{opacity:.4}97%{opacity:0}98%{opacity:.85}99%{opacity:.1}}.boot{z-index:10;flex-direction:column;justify-content:center;align-items:center;gap:22px;height:100%;animation:.5s ease-out crt-on;display:flex;position:relative}@keyframes crt-on{0%{filter:brightness(4);transform:scaleY(.004)}60%{transform:scaleY(.02)}to{filter:brightness();transform:scaleY(1)}}.boot-disc{border:3px solid #c9c4b240;border-top-color:var(--crt-green);border-radius:50%;width:54px;height:54px;animation:.9s linear infinite disc-spin}@keyframes disc-spin{to{transform:rotate(360deg)}}.boot-line{font-family:var(--font-term);letter-spacing:4px;color:var(--crt-green);margin:0;font-size:28px}.boot-bar{gap:4px;display:flex}.boot-bar span{background:#84a78f26;width:14px;height:18px;animation:2.2s ease-in-out infinite block-fill}@keyframes block-fill{0%,to{background:#84a78f1f}50%{background:var(--crt-green);box-shadow:0 0 8px var(--crt-green)}}.boot-hint{font-family:var(--font-pixel);letter-spacing:2px;color:#c9c4b28c;margin:6px 0 0;font-size:11px;animation:1.1s step-end infinite blink}.title-screen{z-index:10;text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;height:100%;padding:40px 24px;animation:1.4s ease-out fade-in;display:flex;position:relative}.title-screen .game-title{pointer-events:auto}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.title-block{margin-bottom:54px}.title-kicker{font-family:var(--font-pixel);letter-spacing:4px;color:#c9c4b266;margin:0 0 26px;font-size:10px}.game-title{font-family:var(--font-pixel);letter-spacing:2px;color:var(--bone);text-shadow:0 0 18px #8c141499,3px 3px #000;margin:0;font-size:clamp(28px,7vw,76px);font-weight:400;line-height:1.1;animation:4s ease-in-out infinite title-breathe;position:relative}.title-suffix{letter-spacing:1px;vertical-align:bottom;color:var(--crt-green);text-shadow:0 0 8px #84a78f80;opacity:.8;margin-left:.1em;font-size:.26em}.game-title:before,.game-title:after{content:attr(data-text);pointer-events:none;position:absolute;inset:0}.game-title:before{color:var(--blood-bright);clip-path:inset(0 0 55%);animation:3.4s steps(2,end) infinite glitch-red}.game-title:after{color:var(--crt-green);clip-path:inset(55% 0 0);animation:2.7s steps(2,end) infinite glitch-green}@keyframes glitch-red{0%,92%,to{opacity:0;transform:translate(0)}93%{opacity:.8;transform:translate(-3px,-1px)}96%{opacity:.5;transform:translate(2px,1px)}}@keyframes glitch-green{0%,90%,to{opacity:0;transform:translate(0)}94%{opacity:.7;transform:translate(3px,1px)}97%{opacity:.4;transform:translate(-2px,-1px)}}@keyframes title-breathe{0%,to{text-shadow:0 0 14px #8c141466,3px 3px #000}50%{text-shadow:0 0 28px #d11f1fcc,3px 3px #000}}.game-title.glitching{animation:.65s steps(2,end) title-jolt}.game-title.glitching:before{animation:.65s steps(2,end) glitch-red-burst}.game-title.glitching:after{animation:.65s steps(2,end) glitch-green-burst}@keyframes title-jolt{0%{transform:translate(0)skew(0)}20%{transform:translate(-7px,2px)skew(7deg)}40%{transform:translate(6px,-3px)skew(-5deg)}60%{transform:translate(-4px,1px)skew(3deg)}80%{transform:translate(3px,-2px)skew(-2deg)}to{transform:translate(0)skew(0)}}@keyframes glitch-red-burst{0%,to{opacity:0;clip-path:inset(0 0 55%);transform:translate(0)}20%{opacity:.9;clip-path:inset(8% 0 42%);transform:translate(-9px,-2px)}50%{opacity:.7;clip-path:inset(34% 0 20%);transform:translate(7px,2px)}75%{opacity:.85;clip-path:inset(0 0 60%);transform:translate(-5px,1px)}}@keyframes glitch-green-burst{0%,to{opacity:0;clip-path:inset(55% 0 0);transform:translate(0)}20%{opacity:.85;clip-path:inset(42% 0 8%);transform:translate(9px,2px)}50%{opacity:.7;clip-path:inset(20% 0 34%);transform:translate(-7px,-2px)}75%{opacity:.8;clip-path:inset(60% 0 0);transform:translate(5px,-1px)}}.game-subtitle{font-family:var(--font-term);letter-spacing:8px;color:var(--blood-bright);margin:18px 0 0;font-size:24px}.menu{flex-direction:column;gap:6px;min-width:min(420px,86vw);display:flex}.menu-item{text-align:left;font-family:var(--font-term);border:1px solid #0000;grid-template-columns:28px auto;align-items:baseline;gap:4px 8px;padding:10px 18px;transition:background .12s,border-color .12s,transform 80ms;display:grid;position:relative}.menu-label{letter-spacing:4px;color:#c9c4b2b3;font-size:28px;transition:color .12s}.menu-hint{letter-spacing:1px;color:#c9c4b247;grid-column:2;max-height:0;font-size:15px;transition:max-height .18s;overflow:hidden}.pointer{color:var(--blood-bright);opacity:0;grid-row:1;font-size:22px;transition:opacity .12s,transform .12s;transform:translate(-6px)}.menu-item.selected{background:linear-gradient(90deg,#8c141438,#0000);border-color:#8c141480;transform:translate(4px)}.menu-item.selected .menu-label{color:var(--bone);text-shadow:0 0 10px #d11f1f99}.menu-item.selected .menu-hint{max-height:28px}.menu-item.selected .pointer{opacity:1;animation:.9s step-end infinite blink;transform:translate(0)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.flavor{min-height:24px;font-family:var(--font-term);letter-spacing:1px;color:var(--crt-green);margin:48px 0 0;font-size:20px}.caret{animation:.8s step-end infinite blink}.press-start{font-family:var(--font-pixel);letter-spacing:2px;color:#c9c4b259;font-size:9px;position:absolute;bottom:26px}.condition{font-family:var(--font-pixel);letter-spacing:2px;background:#0006;border:1px solid;align-items:center;gap:10px;padding:8px 14px;font-size:11px;display:inline-flex;position:absolute;top:22px;right:26px}.condition-ekg{background-color:#0000;background-image:linear-gradient(currentColor,currentColor),linear-gradient(currentColor,currentColor);background-position:0;background-repeat:no-repeat,no-repeat;background-size:100% 1px,0 0;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;width:30px;height:12px;position:relative}.condition-ekg:before{content:"";clip-path:polygon(0 50%,30% 50%,40% 0,55% 100%,65% 50%,100% 50%,100% 60%,0 60%);background:repeating-linear-gradient(90deg,#0000 0 6px,currentColor 6px 7px);animation:1s linear infinite ekg-pulse;position:absolute;inset:0}@keyframes ekg-pulse{0%{transform:translate(0)}to{transform:translate(7px)}}.condition.fine{color:var(--crt-green)}.condition.caution{color:var(--amber);animation:1.6s ease-in-out infinite pulse-soft}.condition.danger{color:var(--blood-bright);animation:.6s ease-in-out infinite pulse-soft}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.35}}.toast{z-index:60;max-width:86vw;font-family:var(--font-term);letter-spacing:1px;color:var(--bone);border:1px solid var(--rust);background:#0a0808eb;align-items:center;gap:12px;padding:14px 22px;font-size:19px;animation:.25s ease-out toast-in;display:inline-flex;position:fixed;bottom:64px;left:50%;transform:translate(-50%);box-shadow:0 0 24px #000c}.toast-ribbon{background:var(--blood);border:2px solid var(--rust);flex:none;width:16px;height:16px;box-shadow:inset 0 0 0 2px #0006}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,14px)}to{opacity:1;transform:translate(-50%)}}.death{z-index:70;background:radial-gradient(70% 70%,#3c00008c,#000 80%);flex-direction:column;justify-content:center;align-items:center;gap:18px;width:100%;animation:1.1s ease-out death-in;display:flex;position:fixed;inset:0}.death-text{font-family:var(--font-pixel);letter-spacing:6px;color:var(--blood-bright);text-shadow:0 0 30px #8c1414e6;font-size:clamp(34px,9vw,92px)}.death-hint{font-family:var(--font-term);letter-spacing:2px;color:#c9c4b280;font-size:18px;animation:1.2s step-end infinite blink}@keyframes death-in{0%{opacity:0;letter-spacing:30px;filter:blur(8px)}to{opacity:1;filter:blur()}}.ash{z-index:5}.mote{background:var(--bone);opacity:var(--mote-opacity,.5);pointer-events:auto;cursor:crosshair;border-radius:50%;padding:0;animation-name:ash-fall;animation-timing-function:linear;animation-iteration-count:infinite;position:absolute;top:0;box-shadow:0 0 6px #c9c4b273}.mote:after{content:"";position:absolute;inset:-22px}@keyframes ash-fall{0%{opacity:0;transform:translateY(-12vh)}12%{opacity:var(--mote-opacity,.5)}88%{opacity:var(--mote-opacity,.5)}to{transform:translate3d(var(--drift,0px), 112vh, 0);opacity:0}}.figure{z-index:0;pointer-events:auto;cursor:crosshair;filter:blur(6px);opacity:.45;background:radial-gradient(48% 22% at 50% 12%,#000000f5 0,#000000e6 42%,#0000 72%),linear-gradient(#000000eb 0%,#000000c7 70%,#0000 100%);border-radius:48% 48% 30% 30%/60% 60% 40% 40%;width:clamp(58px,8vw,120px);height:clamp(180px,26vh,320px);padding:0;transition:opacity .4s,filter .4s;position:fixed;top:50%;left:0}.figure.from-left{animation:15s linear forwards figure-walk-left}.figure.from-right{animation:15s linear forwards figure-walk-right}.figure.banished{opacity:0;filter:blur(16px);animation-play-state:paused}@keyframes figure-walk-left{0%{transform:translate(-14vw)}50%{transform:translate(50vw,-6px)}to{transform:translate(114vw)}}@keyframes figure-walk-right{0%{transform:translate(114vw)}50%{transform:translate(50vw,-6px)}to{transform:translate(-14vw)}}.whispers{z-index:50}.whisper{font-family:var(--font-term);letter-spacing:2px;color:#c9c4b2b3;text-shadow:0 0 8px #8c141480;white-space:nowrap;font-size:18px;animation:2.6s ease-out forwards whisper-rise;position:absolute;transform:translate(-50%,-50%)}@keyframes whisper-rise{0%{opacity:0;filter:blur(2px);transform:translate(-50%,-30%)}18%{opacity:.85;filter:blur()}to{opacity:0;filter:blur(3px);transform:translate(-50%,-170%)}}@media (max-width:600px){.game-subtitle{letter-spacing:4px;font-size:16px}.menu-label{font-size:22px}.condition{top:14px;right:14px}}@media (prefers-reduced-motion:reduce){.fog,.fog:before,.fog:after,.grain,.crt-flicker,.game-title,.game-title:before,.game-title:after,.boot-disc,.condition,.condition-ekg:before,.mote,.figure,.figure.from-left,.figure.from-right,.whisper{animation:none!important}}