@font-face{font-family:Fell;src:url(../fonts/IMFell-Regular.woff2)format("woff2");font-display:swap}@font-face{font-family:Fell;font-style:italic;src:url(../fonts/IMFell-Italic.woff2)format("woff2");font-display:swap}@font-face{font-family:Typewriter;src:url(../fonts/SpecialElite.woff2)format("woff2");font-display:swap}@font-face{font-family:Scrawl;src:url(../fonts/ReenieBeanie.woff2)format("woff2");font-display:swap}@font-face{font-family:Figtree;src:url(../fonts/Figtree-VF.subset.woff2)format("woff2");font-weight:300 900;font-display:swap}@font-face{font-family:Noto Sans SC;src:url(../fonts/NotoSansSC-VF.subset.woff2)format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+2E80-2FFF,U+3000-303F,U+3040-30FF,U+3100-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF}:root{--bone:#ddd6c6;--bone-dim:#9d968a;--ash:#5d5953;--blood:#9b1512;--blood-hi:#d42a1e;--ink:#050505;--panel:#080808db;--serif:"Fell", "Noto Sans SC", Georgia, serif;--type:"Typewriter", "Noto Sans SC", "Courier New", monospace;--sans:"Figtree", "Noto Sans SC", system-ui, sans-serif;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px)}*{box-sizing:border-box}html,body{height:100%;color:var(--bone);font-family:var(--sans);-webkit-font-smoothing:antialiased;background:#000;margin:0;overflow:hidden}html:lang(zh-CN){--serif:"Noto Sans SC", serif;--type:"Noto Sans SC", monospace}body{-webkit-user-select:none;user-select:none;touch-action:none}#game{width:100%;height:100%;display:block;position:fixed;inset:0}#ui{pointer-events:none;position:fixed;inset:0}.fatal{color:var(--blood-hi);font-family:var(--type);text-align:center;place-items:center;padding:2rem;display:grid;position:fixed;inset:0}.screen,.note-overlay{opacity:0;visibility:hidden;transition:opacity .6s,visibility 0s linear .6s;position:absolute;inset:0}.screen.is-active,.note-overlay.is-active{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .6s}.screen.hud.is-active{pointer-events:none}.screen.hud.is-active button{pointer-events:auto}.card{background:var(--panel);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);border:1px solid #ddd6c61f;width:min(460px,92vw);max-height:92vh;padding:2rem 2.2rem;position:absolute;top:50%;left:50%;overflow:auto;transform:translate(-50%,-50%);box-shadow:0 0 80px #000}.card.wide{width:min(620px,94vw)}h2{font-family:var(--serif);letter-spacing:.04em;margin:0 0 1rem;font-size:2rem;font-weight:400}.muted{color:var(--bone-dim);line-height:1.5}.menu{flex-direction:column;align-items:stretch;gap:.45rem;margin-top:1.4rem;display:flex}.row-menu{flex-direction:row;justify-content:center}.btn{appearance:none;font:500 1.02rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--bone);cursor:pointer;background:0 0;border:1px solid #ddd6c62e;min-height:44px;padding:.8rem 1.4rem;transition:background .2s,border-color .2s,color .2s,letter-spacing .3s}.btn:hover,.btn:focus-visible{border-color:var(--blood);color:#fff;letter-spacing:.2em;background:#9b151238;outline:none}.btn.primary{border-color:#9b1512b3}.btn.ghost{color:var(--bone-dim);border-color:#0000}html:lang(zh-CN) .btn{letter-spacing:.3em}.boot{background:#000;place-items:center;display:grid}.boot-inner{text-align:center}.boot p{font-family:var(--type);color:var(--ash);letter-spacing:.2em}.boot-bar{background:#1a1a1a;width:220px;height:1px;margin:1.4rem auto;overflow:hidden}.boot-bar i{background:var(--blood);transform-origin:0;height:100%;transition:transform .3s;display:block;transform:scaleX(0)}.logo{letter-spacing:.16em;white-space:nowrap;color:var(--bone);text-shadow:2px 0 #d42a1e73,-2px 0 #4678c840,0 0 40px #000000e6;margin:0;font-family:Fell,serif;font-size:clamp(2.6rem,7.4vw,6.4rem);font-weight:400}.title{background:linear-gradient(90deg,#000000eb 0%,#0000008c 45%,#0000 75%)}.title-inner{max-width:560px;position:absolute;top:50%;left:clamp(1.5rem,7vw,7rem);transform:translateY(-50%)}.title .logo span{animation:7s step-end infinite flicker;display:inline-block}.title-sub{font-family:var(--type);color:var(--bone-dim);letter-spacing:.28em;margin:.4rem 0 0 .3rem;font-size:.95rem}.title .menu{max-width:280px;margin-top:2.6rem}.title-best{font-family:var(--type);color:var(--ash);letter-spacing:.15em;margin-top:1.4rem}.warning{left:clamp(1.5rem,7vw,7rem);bottom:calc(1.4rem + var(--safe-b));max-width:520px;color:var(--ash);align-items:center;gap:.7rem;margin:0;font-size:.82rem;line-height:1.45;display:flex;position:absolute}.warning svg{width:22px;color:var(--bone-dim);flex:none}@keyframes flicker{0%,to{opacity:1}42%{opacity:1}42.5%{opacity:.2}43%{opacity:1}43.6%{opacity:.35}44%{opacity:1}81%{opacity:1;transform:none}81.3%{opacity:.6;transform:translate(3px)skew(-4deg)}81.8%{opacity:1;transform:none}}.calib,.controls,.intro,.pause,.settings,.records,.results{background:#000000b8}.calib-marks{background:#000;justify-content:center;gap:3rem;margin:1.5rem 0;padding:1.6rem;display:flex}.calib-marks i{clip-path:polygon(50% 0,62% 38%,100% 38%,69% 60%,80% 100%,50% 76%,20% 100%,31% 60%,0 38%,38% 38%);width:70px;height:70px;display:block}.calib-marks .m1{background:#111}.calib-marks .m2{background:#040404}.row{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;gap:1rem;padding:.55rem 0;display:flex}.row>span{color:var(--bone-dim);font-size:.95rem}input[type=range]{appearance:none;background:#333;outline:none;width:52%;height:2px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--bone);width:16px;height:16px;box-shadow:0 0 0 1px var(--bone-dim);cursor:pointer;border:3px solid #000;border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--bone);border:2px solid #000;border-radius:50%;width:12px;height:12px}input[type=range]:focus-visible::-webkit-slider-thumb{background:var(--blood-hi)}.seg{border:1px solid #ddd6c62e;display:flex}.seg button,.toggle{appearance:none;color:var(--bone-dim);font:500 .85rem var(--sans);letter-spacing:.1em;cursor:pointer;text-transform:uppercase;background:0 0;border:0;min-height:36px;padding:.5rem .8rem}.seg button.is-on{color:#fff;background:#9b151259}.seg button:focus-visible,.toggle:focus-visible{outline:1px solid var(--blood-hi)}.toggle{border:1px solid #ddd6c62e;min-width:70px}.toggle.is-on{color:#fff;border-color:var(--blood)}.controls-grid{grid-template-columns:1fr 1fr;gap:.6rem 1.2rem;margin:.4rem 0 1.2rem;display:grid}.controls-grid div{color:var(--bone-dim);align-items:center;gap:.7rem;font-size:.92rem;display:flex}kbd{font:600 .74rem var(--sans);letter-spacing:.06em;color:var(--bone);text-align:center;white-space:nowrap;background:#00000080;border:1px solid #ddd6c659;border-bottom-width:2px;border-radius:3px;min-width:1.8rem;padding:.18rem .45rem;display:inline-block}.rules{color:var(--bone);border-top:1px solid #ffffff12;margin:0;padding:1rem 0 0 1.1rem;font-size:.95rem;line-height:1.55}.rules li::marker{color:var(--blood-hi)}.intro{background:#000;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.intro-text{font-family:var(--type);text-align:center;opacity:0;max-width:720px;margin:0 0 3rem;font-size:clamp(1.1rem,2.4vw,1.5rem);line-height:1.7}.intro-text.is-in{animation:2.4s forwards typeIn}@keyframes typeIn{0%{opacity:0;filter:blur(4px);letter-spacing:.12em}to{opacity:1;filter:none;letter-spacing:.02em}}.intro-actions{gap:1rem;display:flex}.ui-fx{pointer-events:none;z-index:5;width:100%;height:100%;position:absolute;inset:0}.hud-tl{left:1.6rem;top:calc(1.4rem + var(--safe-t));flex-direction:column;gap:.7rem;display:flex;position:absolute}.objective{max-width:380px;font-family:var(--type);color:var(--bone);text-shadow:0 0 6px #000,0 0 12px #000;border-left:2px solid var(--blood);padding-left:.9rem;font-size:.98rem;line-height:1.45}.objective.is-new{animation:1.2s objIn}@keyframes objIn{0%{opacity:0;transform:translate(-8px)}30%{opacity:1;color:#fff;text-shadow:0 0 14px #ffa050cc,0 0 4px #000}to{transform:none}}.fuse-rack{align-items:center;gap:.38rem;padding-left:.9rem;display:flex}.fuse-slot{filter:drop-shadow(0 2px 4px #000);opacity:.72;background:url(../ui/fuse-empty.webp) 50%/100% 100% no-repeat;width:17px;height:64px;transition:opacity .3s,filter .4s,transform .3s}.fuse-slot.is-held{opacity:1;background-image:url(../ui/fuse-lit.webp);animation:1.6s ease-in-out infinite fuseHeld}.fuse-slot.is-installed{opacity:1;filter:hue-rotate(75deg)saturate(1.4)brightness(1.1)drop-shadow(0 0 8px #5aff96a6);background-image:url(../ui/fuse-lit.webp);animation:.7s cubic-bezier(.2,1.6,.4,1) fuseIn}@keyframes fuseHeld{50%{filter:drop-shadow(0 0 10px #ff9628d9)brightness(1.2)}}@keyframes fuseIn{0%{filter:brightness(3)drop-shadow(0 0 16px #fff);transform:scale(1.6)rotate(-8deg)}}.fuses{font-family:var(--type);color:var(--bone-dim);letter-spacing:.12em;text-shadow:0 0 6px #000;margin-left:.45rem;font-size:.8rem}.gate-timer{top:calc(1.4rem + var(--safe-t));font-family:var(--type);letter-spacing:.15em;color:var(--blood-hi);text-shadow:0 0 14px #d42a1ecc,0 0 4px #000;opacity:0;font-size:1.5rem;transition:opacity .5s;position:absolute;left:50%;transform:translate(-50%)}.gate-timer.is-on{opacity:1;animation:1s infinite pulseRed}.gate-timer.is-open{color:#e8e2d0;text-shadow:0 0 14px #fff9;animation:none}@keyframes pulseRed{50%{opacity:.55}}.zone-title{text-align:center;font-family:var(--serif);letter-spacing:.3em;color:var(--bone);opacity:0;text-shadow:0 0 20px #000;filter:blur(3px);font-size:clamp(1.8rem,4.5vw,3rem);transition:opacity 1.4s,letter-spacing 3s,filter 2s;position:absolute;top:22%;left:0;right:0}.zone-title.is-on{opacity:.85;letter-spacing:.38em;filter:none}.reticle{width:56px;height:56px;margin:-28px 0 0 -28px;position:absolute;top:50%;left:50%}.reticle .dot{background:#ddd6c680;border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;transition:transform .2s,background .2s;position:absolute;top:50%;left:50%}.reticle .ring{opacity:0;transition:opacity .2s,transform .25s cubic-bezier(.2,1.5,.4,1);position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)scale(.6)}.reticle circle{fill:none;stroke-width:2.5px}.ring-bg{stroke:#ddd6c659;stroke-dasharray:3 5}.ring-fill{stroke:#ffb04a;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--p,0) * 100);opacity:0;filter:drop-shadow(0 0 4px #ff8a20)}.reticle.is-focus .ring{opacity:1;transform:rotate(-90deg)scale(.75)}.reticle.is-focus .dot{background:#fff0dcf2;transform:scale(1.5);box-shadow:0 0 8px #ffdcb499}.reticle.is-focus[data-focus=fuse] .ring-bg,.reticle.is-focus[data-focus=panel] .ring-bg{stroke:#ffaa46b3}.reticle.is-focus[data-focus=battery] .ring-bg{stroke:#62ff9c99}.reticle.is-focus[data-focus=locker] .ring-bg{stroke:#8fb5d899}.reticle.is-ritual .ring{opacity:1;animation:90ms infinite ritualShake;transform:rotate(-90deg)scale(1)}.reticle.is-ritual .ring-fill{opacity:1}.reticle.is-ritual .ring-bg{stroke:#ffaa4659;stroke-dasharray:none}@keyframes ritualShake{50%{translate:.6px -.6px}}.prompt{letter-spacing:.08em;color:var(--bone);text-shadow:0 0 6px #000,0 0 12px #000;opacity:0;white-space:nowrap;text-transform:uppercase;align-items:center;gap:.6rem;font-size:.95rem;transition:opacity .2s,transform .25s;display:flex;position:absolute;top:calc(50% + 40px);left:50%;transform:translate(-50%)translateY(6px)}.prompt.is-on{opacity:1;transform:translate(-50%)}.prompt kbd,.bottles kbd{color:#1d1812;min-width:30px;height:31px;font:700 .8rem var(--sans);text-shadow:0 1px #ffffff59;filter:drop-shadow(0 2px 3px #000);background:url(../ui/keycap.webp) 50%/100% 100% no-repeat;border:0;place-items:center;padding:0 .45rem 2px;display:inline-grid}.prompt.is-ritual{color:#ffc27a;text-shadow:0 0 10px #ff8c28cc,0 0 4px #000;animation:.5s infinite pulseRed}.toast{left:50%;top:calc(11% + var(--safe-t));aspect-ratio:900/204;opacity:0;filter:drop-shadow(0 8px 20px #000);background:url(../ui/toast.webp) 50%/100% 100% no-repeat;place-items:center;width:min(460px,84vw);transition:opacity .6s,transform .6s;display:grid;position:absolute;transform:translate(-50%)scale(.96)}.toast.is-on{opacity:1;animation:.5s cubic-bezier(.2,1.4,.4,1) toastIn;transform:translate(-50%)scale(1)}@keyframes toastIn{0%{filter:brightness(2.2)blur(2px);transform:translate(-50%)scale(1.18)}}.toast-text{font-family:var(--serif);letter-spacing:.28em;text-transform:uppercase;color:#ffc27a;text-shadow:0 0 12px #ff821ecc,0 0 2px #000;text-align:center;padding:0 1.4rem;font-size:clamp(1rem,2.4vw,1.35rem)}.toast[data-tone=green] .toast-text{color:#b8ffd0;text-shadow:0 0 12px #3cff8cb3,0 0 2px #000}.toast[data-tone=bone] .toast-text{color:var(--bone);text-shadow:0 0 12px #ffffff59,0 0 2px #000}html:lang(zh-CN) .toast-text{letter-spacing:.4em}.subtitle{left:50%;bottom:calc(19% + var(--safe-b));text-align:center;max-width:min(760px,90vw);font-family:var(--type);color:var(--bone);text-shadow:0 0 8px #000,0 0 16px #000,0 0 2px #000;opacity:0;font-size:clamp(.98rem,2vw,1.18rem);line-height:1.5;transition:opacity .8s;position:absolute;transform:translate(-50%)}.subtitle.is-on{opacity:1}.subtitle.is-voice{font-family:var(--serif);color:#e2dbcb;font-size:clamp(1.05rem,2.2vw,1.3rem);font-style:italic}.subtitle.is-voice:before,.subtitle.is-voice:after{content:"— ";opacity:.45}.subtitle.is-voice:after{content:" —"}.subtitle.is-matron{font-family:var(--scrawl,var(--type));color:#c23b2e;letter-spacing:.08em;text-shadow:0 0 10px #200,0 0 18px #000;animation:.2s infinite shudder}.hint{left:50%;bottom:calc(2rem + var(--safe-b));text-align:center;max-width:min(720px,92vw);color:var(--bone);opacity:0;background:linear-gradient(90deg,#0000,#000000b8 12% 88%,#0000);border-top:1px solid #c89a5547;border-bottom:1px solid #c89a5547;padding:.6rem 2.4rem;font-size:.9rem;line-height:1.8;transition:opacity .8s;position:absolute;transform:translate(-50%)}.hint.is-on{opacity:1}.hint kbd{margin:0 .15rem}.vitals{left:1.6rem;bottom:calc(1.4rem + var(--safe-b));opacity:.5;align-items:flex-end;gap:1.1rem;transition:opacity .6s;display:flex;position:absolute}.vitals.is-active{opacity:1}.lungs{--level:1;width:64px;height:66px;position:relative}.lungs img{width:100%;height:100%;position:absolute;inset:0}.lungs img:first-child{opacity:.22;filter:grayscale()}.lungs-fill{clip-path:inset(calc((1 - var(--level)) * 100%) 0 0 0);filter:sepia(.6)brightness(1.05)drop-shadow(0 0 6px #ffe6be73);transition:clip-path .15s linear}.lungs.is-exhausted .lungs-fill{filter:sepia()saturate(6)hue-rotate(-40deg)brightness(.9)drop-shadow(0 0 8px #d42a1ecc);animation:.5s ease-in-out infinite gasp}@keyframes gasp{50%{transform:scale(1.06)}}.noise{flex-direction:column;align-items:center;gap:.2rem;min-width:52px;display:flex}.noise svg{width:40px;height:40px;overflow:visible}.noise path{fill:none;stroke:#ddd6c640;stroke-width:2.4px;stroke-linecap:round;transition:stroke .15s,filter .15s}.noise .ear{stroke:#ddd6c699}.noise[data-level="1"] .w1,.noise[data-level="2"] .w1,.noise[data-level="2"] .w2,.noise[data-level="3"] path{stroke:#ffb04a;filter:drop-shadow(0 0 3px #ff8c28cc)}.noise[data-level="3"] path{stroke:var(--blood-hi);filter:drop-shadow(0 0 5px #d42a1ee6)}.noise[data-level="3"]{animation:.15s infinite shudder}.noise-label{font:700 .66rem var(--sans);letter-spacing:.22em;color:var(--blood-hi);text-shadow:0 0 6px #000;min-height:.9rem}.bottles{font:700 .9rem var(--type);color:#e8b27a;text-shadow:0 0 6px #000;align-items:flex-end;gap:.35rem;display:flex}.bottles img{filter:drop-shadow(0 0 6px #ff8c3259);height:52px}.bottles b{margin-bottom:.2rem}.bottles .throw-key{transform-origin:0 100%;margin-bottom:.1rem;transform:scale(.85)}.bottles.is-empty{opacity:.35;filter:grayscale()}.battery{right:1.4rem;bottom:calc(1.1rem + var(--safe-b));--level:1;filter:drop-shadow(0 6px 14px #000);width:128px;height:130px;position:absolute}.battery .dial{width:100%;height:100%;position:absolute;inset:0}.battery .needle{transform-origin:50% 100%;width:3px;height:33%;transform:rotate(calc(-66deg + var(--level) * 132deg));background:linear-gradient(#ffe6b0,#d89040);border-radius:2px;transition:transform .4s cubic-bezier(.3,1.6,.5,1);position:absolute;top:20%;left:calc(50% - 1.5px);box-shadow:0 0 6px #ffbe6ecc}.battery .needle:after{content:"";background:radial-gradient(circle at 35% 35%,#f0d7a0,#6a4a20);border-radius:50%;width:11px;height:11px;position:absolute;bottom:-5px;left:-4px}.battery .glass{mix-blend-mode:screen;opacity:1;background:radial-gradient(circle at 50% 40%,#ffdca047,#ffaa5a14 55%,#0000 70%);border-radius:50%;transition:opacity .25s;position:absolute;inset:19%}.battery b{text-align:center;font:700 .68rem var(--type);letter-spacing:.1em;color:#e8d6b0;text-shadow:0 0 4px #000;position:absolute;bottom:25%;left:0;right:0}.battery.is-off .glass{opacity:0}.battery.is-off .needle{filter:brightness(.55);box-shadow:none}.battery.is-low .needle{background:linear-gradient(#ff9a80,#c02010);animation:.12s infinite needleJitter}.battery.is-low .glass{background:radial-gradient(circle at 50% 40%,#ff3c2859,#0000 70%);animation:.9s infinite pulseRed}.battery.is-low b{color:var(--blood-hi)}@keyframes needleJitter{50%{translate:.8px;rotate:2deg}}.locker-view{opacity:0;--breath:1;transition:opacity .35s;position:absolute;inset:0}.locker-view.is-on{opacity:1}.slats{background:repeating-linear-gradient(#000 0 26px,#000000f0 26px 30px,#0000 30px 44px,#000000f0 44px 48px,#000 48px 70px);position:absolute;inset:0;-webkit-mask:radial-gradient(34% 30% at 50% 48%,#0000 45%,#000 100%);mask:radial-gradient(34% 30% at 50% 48%,#0000 45%,#000 100%)}.slats:after{content:"";opacity:.92;background:repeating-linear-gradient(#000 0 30px,#0000 30px 44px);position:absolute;inset:0;-webkit-mask:radial-gradient(34% 30% at 50% 48%,#000 30%,#0000 100%);mask:radial-gradient(34% 30% at 50% 48%,#000 30%,#0000 100%)}.breath{left:50%;bottom:calc(2.4rem + var(--safe-b));text-align:center;color:var(--bone-dim);text-shadow:0 0 6px #000;flex-direction:column;align-items:center;gap:.6rem;font-size:.9rem;display:flex;position:absolute;transform:translate(-50%)}.breath-lungs{place-items:center;width:96px;height:96px;display:grid;position:relative}.breath-lungs img{opacity:.75;width:56px;transition:transform .3s,filter .3s}.breath-lungs svg{position:absolute;inset:0;overflow:visible;transform:rotate(-90deg)}.breath-lungs circle{fill:none;stroke-width:3px}.b-bg{stroke:#ffffff1a}.b-fill{stroke:var(--bone);stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--breath) * 100);transition:stroke .2s}.locker-view.is-holding .b-fill{stroke:#8fb5d8;filter:drop-shadow(0 0 5px #8fb5d8cc)}.locker-view.is-holding .breath-lungs img{filter:sepia()hue-rotate(170deg)saturate(2)drop-shadow(0 0 6px #8fb5d8b3);transform:scale(1.12)}.locker-view.is-gasping .b-fill{stroke:var(--blood-hi);filter:drop-shadow(0 0 6px #d42a1ee6)}.locker-view.is-gasping .breath-lungs{animation:.12s infinite shudder}.locker-view.is-holding .breath-label{color:#8fb5d8}.locker-view{--heard:0}.locker-view.is-panting .breath-label{color:var(--blood-hi)}.locker-view.is-panting .breath-lungs img{animation:.45s ease-in-out infinite alternate pant}.locker-view:after{content:"";pointer-events:none;opacity:var(--heard);background:radial-gradient(#0000 45%,#7808048c 100%);transition:opacity .25s;position:absolute;inset:0}@keyframes pant{0%{transform:scale(1)}to{transform:scale(1.09)}}body.is-crouching .reticle .dot{background:#8fb5d8b3}.note-overlay{background:#000c;flex-direction:column;justify-content:center;align-items:center;gap:1.4rem;padding:1.5rem;display:flex}.note-paper{color:#2a2118;filter:drop-shadow(0 20px 40px #000);background:url(../ui/paper.webp) 50%/100% 100% no-repeat;width:min(540px,92vw);max-height:78vh;padding:3rem 3rem 3.4rem;animation:.6s cubic-bezier(.2,1.2,.4,1) noteIn;position:relative;overflow:auto;transform:rotate(-1.2deg)}@keyframes noteIn{0%{opacity:0;transform:rotate(-6deg)translateY(40px)scale(.94)}}.note-paper:before{content:"";pointer-events:none;background:radial-gradient(circle at 80% 85%,#6e140a47 0 30px,#0000 70px),radial-gradient(circle at 12% 70%,#50321429 0 18px,#0000 60px);position:absolute;inset:0}.note-title{font-family:var(--serif);border-bottom:1px solid #2a21184d;margin:0 0 1.1rem;padding-bottom:.6rem;font-size:1.5rem;font-weight:400}.note-body{font-family:var(--type);white-space:pre-line;margin:0;font-size:1.02rem;line-height:1.65}.note-paper.is-child .note-body{color:#3a2a6a;font-family:Scrawl,Noto Sans SC,cursive;font-size:1.7rem;line-height:1.3}html:lang(zh-CN) .note-paper.is-child .note-body{font-family:Noto Sans SC,sans-serif;font-size:1.15rem}.note-paper.is-torn{clip-path:polygon(0 2%,8% 0,22% 3%,40% 0,61% 2%,80% 0,100% 3%,98% 100%,70% 97%,45% 100%,20% 96%,0 100%)}.note-overlay .btn{background:#00000080}.dead{text-align:center;background:radial-gradient(#1a0000 0%,#000 70%);place-items:center;display:grid}.dead-title{font-family:var(--serif);letter-spacing:.18em;color:var(--blood-hi);text-shadow:0 0 30px #d42a1e80;margin:0;font-size:clamp(2.6rem,9vw,6rem);font-weight:400;animation:.18s infinite shudder}@keyframes shudder{0%{transform:translate(0)}25%{transform:translate(-1px,1px)}50%{transform:translate(1px,-1px)skew(-1deg)}75%{transform:translate(-1px)}}.dead-sub{font-family:var(--type);color:var(--bone-dim);margin:1.2rem 0 .3rem}.dead .menu{width:260px;margin:2rem auto 0}.end-story{font-family:var(--type);white-space:pre-line;color:var(--bone);margin:0 0 1.4rem;line-height:1.65}.stats{grid-template-columns:repeat(4,1fr);gap:.8rem;margin:0 0 1.2rem;display:grid}.stats div{text-align:center;border:1px solid #ffffff12;padding:.7rem}.stats dt{letter-spacing:.15em;text-transform:uppercase;color:var(--bone-dim);font-size:.72rem}.stats dd{font:1.4rem var(--type);margin:.3rem 0 0}.rank{color:var(--bone-dim);flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0 0 .6rem;display:flex}.rank strong{font:400 1.7rem var(--serif);color:var(--blood-hi);letter-spacing:.08em}.rank em{font-family:var(--type);flex-basis:100%;font-size:.9rem;font-style:normal}.res-name{font:1rem var(--type);color:var(--bone);border:0;border-bottom:1px solid var(--bone-dim);text-transform:uppercase;letter-spacing:.1em;-webkit-user-select:text;user-select:text;background:0 0;width:55%;padding:.35rem}.res-name:focus{border-color:var(--blood-hi);outline:none}table{border-collapse:collapse;width:100%;font-family:var(--type)}th{text-align:left;font:.7rem var(--sans);letter-spacing:.15em;color:var(--bone-dim);text-transform:uppercase;padding:.4rem}td{border-top:1px solid #ffffff0d;padding:.5rem .4rem}tr.is-you td{color:var(--blood-hi)}.pause-objective{font-family:var(--type);border-left:2px solid var(--blood);padding-left:.8rem}.touch,.touch-pause{display:none}body.has-touch .touch{display:block}body.has-touch .touch-pause{right:1rem;top:calc(1rem + var(--safe-t));width:44px;height:44px;color:var(--bone);background:#0006;border:1px solid #ddd6c640;border-radius:50%;place-items:center;display:grid;position:absolute}.touch-pause svg{width:18px}.touch-stick{opacity:.35;border:1px solid #ddd6c633;border-radius:50%;width:112px;height:112px;margin:-56px 0 0 -56px;position:absolute;top:72%;left:18%}.touch-stick.is-active{opacity:.8}.touch-stick i{background:#ddd6c64d;border-radius:50%;width:44px;height:44px;margin:-22px 0 0 -22px;position:absolute;top:50%;left:50%}.touch-buttons{right:calc(1rem + env(safe-area-inset-right,0px));bottom:calc(1.2rem + var(--safe-b));grid-template-columns:repeat(4,62px);gap:.55rem;display:grid;position:absolute}.touch-buttons button{pointer-events:auto;width:62px;height:62px;color:var(--bone);font:700 .66rem var(--sans);letter-spacing:.08em;touch-action:none;background:#0000006b;border:1px solid #ddd6c647;border-radius:50%}.touch-buttons button.is-down{border-color:var(--blood-hi);background:#9b151280}body.has-touch .battery{bottom:auto;top:calc(4.6rem + var(--safe-t));width:92px;height:94px;right:1rem}body.has-touch .vitals{left:auto;right:1rem;top:calc(11rem + var(--safe-t));transform-origin:100% 0;bottom:auto;transform:scale(.8)}body.has-touch .hint{bottom:calc(10rem + var(--safe-b))}body.has-touch .prompt{top:calc(50% + 40px)}@media (max-width:640px){.objective{max-width:62vw;font-size:.85rem;left:1rem}.hud-tl{left:1rem}.fuse-slot{width:13px;height:50px}.controls-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,1fr)}.card{padding:1.4rem}.title{background:linear-gradient(#0003,#000000d9 70%)}.title-inner{top:auto;bottom:7rem;transform:none}}@media (prefers-reduced-motion:reduce){.title .logo span,.dead-title,.gate-timer.is-on,.battery.is-low,.noise,.reticle .ring,.subtitle.is-matron,.locker-view .breath-lungs,.locker-view .breath-lungs img{animation:none!important}}.hud .locker-view{z-index:0}.hud .hud-tl,.hud .gate-timer,.hud .zone-title,.hud .reticle,.hud .prompt,.hud .toast,.hud .subtitle,.hud .hint,.hud .vitals,.hud .battery{z-index:1}.locker-view .breath{bottom:calc(5.6rem + var(--safe-b))}#ui[data-screen=note] .prompt,#ui[data-screen=note] .reticle,#ui[data-screen=note] .hint,#ui[data-screen=note] .zone-title{visibility:hidden;transition:none;opacity:0!important}.lang-toggle{top:calc(1.2rem + var(--safe-t));right:calc(1.4rem + env(safe-area-inset-right,0px));z-index:3;-webkit-backdrop-filter:blur(4px);background:#00000080;border-color:#ddd6c63d;border-radius:999px;position:absolute;overflow:hidden;box-shadow:0 0 24px #000c}.lang-toggle button{letter-spacing:.16em;min-width:58px;padding:.45rem .95rem;font-size:.8rem;transition:background .25s,color .25s}.lang-toggle button[data-value=zh-CN]{font-family:"Noto Sans SC", var(--sans);letter-spacing:.1em}.lang-toggle button:hover{color:#fff;background:#9b151233}.lang-toggle button.is-on{color:#fff;background:#9b151294;box-shadow:inset 0 0 12px #d42a1e8c}.title-torch{pointer-events:none;--mx:72vw;--my:52vh;background:radial-gradient(circle 170px at var(--mx) var(--my), #ffd6a01c, #ffb46e0a 45%, transparent 72%);mix-blend-mode:screen;position:absolute;inset:0}body[data-input=touch] .title-torch,body.has-touch .title-torch{display:none}.title .menu .btn{position:relative}.title .menu .btn:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ff8a2e 25%,#ffd592 50%,#ff8a2e 75%,#0000);border-radius:2px;height:2px;transition:transform .35s cubic-bezier(.2,.9,.3,1.25);position:absolute;bottom:-1px;left:10%;right:10%;transform:scaleX(0);box-shadow:0 0 10px #ff8c32f2,0 0 24px #d42a1ea6}.title .menu .btn:hover:after,.title .menu .btn:focus-visible:after{animation:1.4s infinite emberLine;transform:scaleX(1)}@keyframes emberLine{50%{opacity:.6;filter:brightness(1.35)blur(.4px)}}.eye{top:calc(4.3rem + var(--safe-t));z-index:1;opacity:0;filter:drop-shadow(0 0 6px #000)drop-shadow(0 0 2px #000);pointer-events:none;width:60px;height:30px;transition:opacity .35s,transform .4s cubic-bezier(.3,1.6,.5,1);position:absolute;left:50%;transform:translate(-50%)scaleY(.15)}.eye svg{width:100%;height:100%;overflow:visible}.eye .eye-lid{fill:#100b0999;stroke:var(--bone-dim);stroke-width:2.2px;transition:stroke .3s,fill .3s}.eye .eye-iris{fill:#ddd6c614;stroke:var(--bone-dim);stroke-width:2px;transition:stroke .3s,fill .3s}.eye .eye-pupil{fill:var(--bone-dim);transition:fill .3s}.eye .eye-cover{fill:#0a0706;stroke:var(--bone-dim);stroke-width:2.2px;transition:transform .4s cubic-bezier(.3,1.5,.5,1),stroke .3s;transform:translateY(9px)}.eye[data-level="1"]{opacity:.88;transform:translate(-50%)scaleY(1)}.eye[data-level="2"]{opacity:1;animation:.6s infinite eyeThrob;transform:translate(-50%)scale(1.14)}.eye[data-level="2"] .eye-lid{stroke:var(--blood-hi);fill:#3a040299}.eye[data-level="2"] .eye-iris{stroke:var(--blood-hi);fill:#d42a1e66}.eye[data-level="2"] .eye-pupil{fill:#ffd6c8}.eye[data-level="2"] .eye-cover{stroke:var(--blood-hi);transform:translateY(-8px)}@keyframes eyeThrob{50%{filter:drop-shadow(0 0 12px #d42a1ef2)drop-shadow(0 0 3px #000)}}.battery.is-smack{animation:.45s cubic-bezier(.2,1.6,.4,1) dialSmack}.battery.is-smack .glass{animation:.45s ease-out glassFlash}@keyframes dialSmack{0%{rotate:0deg}15%{translate:-3px 2px;rotate:-9deg}40%{translate:1px -1px;rotate:6deg}70%{rotate:-2deg}to{translate:0;rotate:0deg}}@keyframes glassFlash{0%{opacity:1;filter:brightness(2.4)}to{filter:brightness()}}.touch-buttons button[data-touch=smack]{font-size:.6rem}.subtitle.is-shaky{animation:.16s steps(2,end) infinite subShake}.subtitle.is-matron.is-shaky{animation:.2s infinite shudder}@keyframes subShake{0%{translate:0}25%{translate:.9px -.6px}50%{translate:-.7px .5px}75%{translate:.6px .7px}}body.reduced-motion .subtitle.is-shaky,body.reduced-motion .eye[data-level="2"],body.reduced-motion .battery.is-smack{animation:none}@media (prefers-reduced-motion:reduce){.subtitle.is-shaky,.eye[data-level="2"],.battery.is-smack{animation:none}}.note-close kbd{margin-right:.5rem}@media (max-height:400px){.touch-buttons{bottom:calc(.9rem + var(--safe-b));grid-template-columns:repeat(4,54px);gap:.45rem}.touch-buttons button{width:54px;height:54px;font-size:.6rem}}@media (max-height:500px){.zone-title{font-size:clamp(1.4rem,3.6vw,2.2rem);top:30%}}@media (orientation:portrait){body.has-touch .eye{top:calc(7.6rem + var(--safe-t))}body.has-touch .zone-title{top:33%}}
