:root{--bg-void: #090606;--bg-deep: #0e0a09;--green-900: #190f0d;--green-800: #221310;--green-700: #2c1714;--green-600: #421f18;--green-500: #4f2820;--green-300: #a02c20;--bone: #d4cec3;--bone-dim: #93877c;--amber: oklch(.78 .13 80);--amber-dim: oklch(.6 .1 80);--blood: oklch(.45 .13 25);--blood-bright: oklch(.55 .17 25);--font-display: "Oswald", "Arial Narrow", sans-serif;--font-mono: "Share Tech Mono", monospace}*{margin:0;padding:0;box-sizing:border-box}html,body{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%;background:var(--bg-void);color:var(--bone);font-family:var(--font-mono);overflow:hidden}#app{position:fixed;inset:0}.screen{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .6s ease}.screen.active{opacity:1;pointer-events:auto}#game-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.forest{position:absolute;inset:0;overflow:hidden;background:radial-gradient(120% 90% at 50% 110%,#1d1210 0%,transparent 55%),linear-gradient(to bottom,#06060a,#100808 45%,#150c0a 75%,#0f0908)}.fog{position:absolute;left:-20%;width:140%;height:40%;background:radial-gradient(50% 100% at 50% 100%,rgba(118,92,84,.1),transparent 70%);animation:fog-drift 38s ease-in-out infinite alternate}.fog.f1{bottom:8%;animation-duration:44s;opacity:.9}.fog.f2{bottom:22%;animation-duration:56s;opacity:.55;animation-delay:-20s}.fog.f3{bottom:0%;animation-duration:33s;opacity:.7;animation-delay:-9s}@keyframes fog-drift{0%{transform:translate(-4%)}to{transform:translate(4%)}}.tree{position:absolute;bottom:-4%;background:linear-gradient(to top,#080505 0%,#120a0a 60%,transparent 100%);clip-path:polygon(18% 100%,38% 0%,62% 0%,82% 100%)}.tree.far{opacity:.5;filter:blur(2px)}.tree.mid{opacity:.8;filter:blur(.6px)}.tree.near{opacity:1;background:linear-gradient(to top,#050303 0%,#0d0707 70%,transparent 100%)}.canopy{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(4,2,2,.92) 0%,transparent 38%);pointer-events:none}.ground{position:absolute;left:0;right:0;bottom:0;height:18%;background:linear-gradient(to bottom,transparent,rgba(12,8,7,.9) 60%)}.grain{position:absolute;inset:-100px;pointer-events:none;opacity:.07;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='240' height='240' filter='url(%23n)' opacity='0.6'/%3E%3C/svg%3E");animation:grain-jump .9s steps(4) infinite}@keyframes grain-jump{0%{transform:translate(0)}25%{transform:translate(-32px,18px)}50%{transform:translate(20px,-28px)}75%{transform:translate(-14px,-10px)}to{transform:translate(26px,22px)}}.darkness{position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle 360px at var(--lx, 50%) var(--ly, 55%),transparent 0%,rgba(3,2,2,.55) 42%,rgba(2,1,1,.93) 78%,rgba(0,0,0,.98) 100%)}.beam-warmth{position:absolute;inset:0;pointer-events:none;mix-blend-mode:soft-light;background:radial-gradient(circle 300px at var(--lx, 50%) var(--ly, 55%),oklch(.82 .1 85 / .55) 0%,transparent 65%);animation:lamp-flicker 7s steps(1) infinite}@keyframes lamp-flicker{0%,91%,93.5%,to{opacity:1}91.5%{opacity:.55}92%{opacity:.85}93%{opacity:.4}}.vignette{position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 0 28vmin #000000d9}.adrn-veil{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity .5s;background:radial-gradient(ellipse at 50% 50%,transparent 52%,oklch(.72 .11 220 / .3) 100%)}.adrn-on .adrn-veil{opacity:1}.hurt-flash{position:absolute;inset:0;pointer-events:none;opacity:0;background:radial-gradient(ellipse at 50% 50%,transparent 30%,oklch(.45 .19 25 / .65) 100%);transition:opacity .55s ease-out}.hurt-flash.hit{opacity:1;transition:none}.dread-veil{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1.2s ease;background:radial-gradient(ellipse at 50% 50%,transparent 48%,oklch(.3 .13 25 / .38) 100%)}.dread-on .dread-veil{opacity:1;animation:dread-pulse 1.1s ease-in-out infinite}@keyframes dread-pulse{0%,to{opacity:.5}50%{opacity:.85}}.dread-on .grain{opacity:.16}.dread-on .hud-chroma{text-shadow:-2px 0 oklch(.55 .15 25 / .7),2px 0 oklch(.6 .1 230 / .6)}.eyes{position:absolute;display:flex;gap:7px;opacity:0;transition:opacity 1.8s ease}.eyes span{width:5px;height:5px;border-radius:50%;background:#f6922e;box-shadow:0 0 9px #f6922ecc}.eyes.blink{opacity:1;animation:eye-blink 5s steps(1) infinite}@keyframes eye-blink{0%,86%,92%,to{opacity:1}88%,90%{opacity:0}}@media (prefers-reduced-motion: reduce){.grain,.fog,.beam-warmth,.dread-veil,.eyes{animation:none!important}}.hud-layer{position:absolute;inset:0;pointer-events:none;z-index:30}.hud-label{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.22em;font-weight:600}.objective{position:absolute;top:34px;left:38px;display:flex;flex-direction:column;gap:8px}.fps-counter{position:absolute;top:12px;left:38px;font-size:10px;letter-spacing:.12em;color:var(--amber-dim);opacity:.65;font-variant-numeric:tabular-nums;pointer-events:none}.objective .obj-title{font-size:13px;color:var(--amber-dim);letter-spacing:.3em}.objective .obj-main{font-size:clamp(15px,1.8vw,21px);color:var(--bone);letter-spacing:.18em;white-space:nowrap}.fuse-pips{display:flex;gap:7px;margin-top:2px}.fuse-pip{width:22px;height:8px;background:#d4cec41f;border:1px solid rgba(212,206,196,.25);transform:skew(-18deg)}.fuse-pip.lit{background:var(--amber);border-color:var(--amber);box-shadow:0 0 8px #e3ad4b80}.obj-hint{font-size:12px;color:var(--bone-dim);letter-spacing:.08em}.compass{position:absolute;top:28px;left:50%;transform:translate(-50%);width:320px;height:26px;overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent,#000 25%,#000 75%,transparent);mask-image:linear-gradient(to right,transparent,#000 25%,#000 75%,transparent)}.compass-tape{position:absolute;left:50%;display:flex;font-size:13px;color:var(--bone-dim);letter-spacing:.1em;white-space:nowrap;will-change:transform}.compass-tape span{display:inline-block;width:56px;text-align:center;flex:none}.compass-tape .cardinal{color:var(--bone);font-weight:700}.compass-notch{position:absolute;top:0;left:50%;width:1px;height:100%;background:var(--amber)}.vitals{position:absolute;bottom:38px;left:38px;display:flex;flex-direction:column;gap:10px;width:230px}.bar-row{display:flex;align-items:center;gap:10px}.bar-tag{font-size:11px;color:var(--bone-dim);letter-spacing:.25em;width:34px}.bar-track{flex:1;height:7px;background:#d4cec41a;border:1px solid rgba(212,206,196,.2);transform:skew(-18deg);overflow:hidden}.bar-fill{height:100%;transition:width .4s ease}.bar-fill.hp{background:var(--bone);width:100%}.bar-fill.st{background:var(--green-300);width:100%}.bar-fill.low{background:var(--blood-bright)}.battery-row{display:flex;align-items:center;gap:10px}.battery-shell{width:38px;height:14px;border:1px solid rgba(212,206,196,.4);padding:2px;position:relative}.battery-shell:after{content:"";position:absolute;right:-4px;top:4px;width:3px;height:6px;background:#d4cec466}.battery-fill{height:100%;background:var(--amber);transition:width 1s linear;width:100%}.battery-pct{font-size:11px;color:var(--bone-dim);letter-spacing:.1em}.ammo{position:absolute;bottom:38px;right:38px;text-align:right}.ammo .weapon-name{font-size:12px;color:var(--bone-dim);letter-spacing:.3em}.ammo .count{font-size:42px;font-family:var(--font-display);font-weight:600;line-height:1;color:var(--bone);letter-spacing:.05em}.ammo .count .reserve{font-size:19px;color:var(--bone-dim)}.reticle{position:absolute;left:50%;top:50%;width:4px;height:4px;transform:translate(-50%,-50%);border-radius:50%;background:#d4cec4a6;box-shadow:0 0 6px #d4cec466}.prompt{position:absolute;left:50%;top:64%;transform:translate(-50%);display:flex;align-items:center;gap:10px;font-size:14px;letter-spacing:.15em;color:var(--bone);opacity:0;transition:opacity .3s}.prompt.show{opacity:1}.key-cap{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:26px;padding:0 6px;border:1px solid rgba(212,206,196,.5);background:#090606b3;font-size:13px;color:var(--amber)}.heartbeat{position:absolute;bottom:110px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;opacity:0;transition:opacity .25s;color:var(--blood-bright);font-size:15px;font-weight:600;letter-spacing:.3em}.run-on .heartbeat{opacity:1;animation:run-flash .7s ease-in-out infinite}.heartbeat b{color:#ff4530}@keyframes run-flash{0%,to{opacity:.75}50%{opacity:1}}.pulse-dot{width:10px;height:10px;border-radius:50%;background:var(--blood-bright);animation:heart-thump .9s ease-in-out infinite}@keyframes heart-thump{0%,to{transform:scale(1);opacity:.6}12%{transform:scale(1.7);opacity:1}24%{transform:scale(1);opacity:.7}36%{transform:scale(1.45);opacity:1}50%{transform:scale(1);opacity:.6}}.score-line{font-size:11px;letter-spacing:.22em;color:var(--bone-dim)}.score-line #score-val{color:var(--amber-dim);transition:color .4s}.score-line #score-val.bump{color:var(--amber)}.score-pop{margin-left:8px;font-size:11px;color:var(--amber);opacity:0;transition:opacity .3s}.score-pop.show{opacity:1}.tape-card{position:absolute;top:24%;left:50%;transform:translate(-50%);width:min(560px,78vw);padding:14px 18px;background:#090606c7;border-left:2px solid var(--amber);font-size:13px;line-height:1.8;letter-spacing:.08em;color:var(--bone);opacity:0;transition:opacity .4s;pointer-events:none}.tape-card.show{opacity:1}.lock-hint{position:absolute;inset:0;z-index:50;display:none;flex-direction:column;align-items:center;justify-content:center;gap:14px;background:#03020299;backdrop-filter:blur(2px);cursor:pointer}.lock-hint.show{display:flex}.lock-hint-title{font-family:var(--font-display);font-size:24px;font-weight:600;letter-spacing:.35em;text-indent:.35em;color:var(--bone)}.lock-hint-sub{font-size:12px;letter-spacing:.12em;color:var(--bone-dim)}@media (prefers-reduced-motion: reduce){.heartbeat,.pulse-dot{animation:none!important}}.title-content{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;text-align:center}.title-kicker,.game-title{white-space:nowrap}.title-kicker{font-size:13px;letter-spacing:.55em;color:var(--bone-dim);text-indent:.55em}.game-title{font-family:var(--font-display);font-weight:700;font-size:clamp(54px,8.5vw,130px);letter-spacing:.12em;text-indent:.12em;line-height:1;color:var(--bone);text-shadow:0 0 60px rgba(0,0,0,.9)}.game-title .dark-word{color:var(--green-300)}.title-rule{width:220px;height:1px;margin:22px 0 28px;background:linear-gradient(to right,transparent,rgba(212,206,196,.4),transparent)}.menu{display:flex;flex-direction:column;align-items:center;gap:4px}.menu button{font-family:var(--font-display);font-size:19px;font-weight:500;letter-spacing:.35em;text-indent:.35em;text-transform:uppercase;color:var(--bone-dim);background:transparent;border:none;padding:9px 30px;min-height:44px;cursor:pointer;transition:color .2s,letter-spacing .25s}.menu button:hover{color:var(--amber);letter-spacing:.45em;text-indent:.45em}.menu button.disabled{opacity:.3;pointer-events:none}.controls-card{margin-top:26px;display:grid;grid-template-columns:repeat(2,auto);gap:5px 28px;justify-content:center;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--bone-dim);opacity:.75}.controls-card b{color:var(--amber);font-weight:600}.is-touch .controls-card{display:none}.title-foot{position:absolute;bottom:26px;width:100%;display:flex;justify-content:space-between;padding:0 38px;font-size:11px;letter-spacing:.15em;color:#93877c80}.clear-overlay{position:fixed;inset:0;z-index:190;display:none;align-items:center;justify-content:center;background:radial-gradient(ellipse at 50% 60%,#170a08,#050302 60%,#000)}.clear-overlay.open{display:flex}.clear-content{display:flex;flex-direction:column;align-items:center;gap:14px;text-align:center}.clear-sub{font-size:12px;letter-spacing:.4em;text-indent:.4em;color:var(--amber)}.clear-title{font-family:var(--font-display);font-size:clamp(40px,7vw,84px);font-weight:700;letter-spacing:.18em;text-indent:.18em;color:var(--bone);line-height:1.1}.clear-score{font-size:16px;letter-spacing:.25em;color:var(--amber)}.clear-next{font-size:12px;letter-spacing:.25em;color:var(--bone-dim)}.clear-story{max-width:540px;margin-top:4px;font-size:12px;line-height:1.9;letter-spacing:.12em;color:var(--bone-dim)}.clear-overlay .ghost-btn{margin-top:18px;pointer-events:none}.clear-hint{font-size:10px;letter-spacing:.3em;color:var(--bone-dim);opacity:.6}@media (max-height: 560px){.game-title{font-size:clamp(38px,6.5vw,64px)}.title-kicker{font-size:10px}.title-rule{margin:10px 0 12px}.menu button{font-size:14px;padding:4px 24px;min-height:34px}.title-foot{bottom:10px}}.guide-overlay{position:fixed;inset:0;z-index:210;display:none;align-items:center;justify-content:center;background:#030202e0}.guide-overlay.open{display:flex}.guide-sheet{width:min(760px,94vw);max-height:90vh;max-height:90dvh;display:flex;flex-direction:column;background:linear-gradient(160deg,#160f0d,#0f0a09);border:1px solid rgba(212,206,196,.2);box-shadow:0 30px 80px #000c}.guide-head{display:flex;justify-content:space-between;align-items:center;padding:16px 20px 10px}.guide-head h2{font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.3em;color:var(--bone)}.guide-body{overflow-y:auto;padding:0 20px 22px;font-size:12px;line-height:1.8;letter-spacing:.06em;color:var(--bone-dim)}.guide-body h3{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.32em;color:var(--amber);margin:18px 0 8px}.guide-body p b,.guide-card b{color:var(--bone);font-weight:600}.guide-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:10px}.guide-card{display:flex;gap:10px;align-items:flex-start;background:#d4cec40a;border:1px solid rgba(212,206,196,.1);padding:8px}.guide-card img{width:64px;height:64px;flex:none;object-fit:contain;background:radial-gradient(circle,rgba(212,206,196,.07),transparent 70%)}.guide-card img.sick{filter:saturate(.25) brightness(.85)}.guide-card img.tiny{transform:scale(.7)}.guide-card span{display:block;font-size:11px;line-height:1.65}.guide-tip{margin-top:8px}.options-overlay{position:fixed;inset:0;z-index:200;display:none;align-items:center;justify-content:center;background:#030202d1}.options-overlay.open{display:flex}.options-sheet{width:min(440px,88vw);background:linear-gradient(160deg,#160f0d,#0f0a09);border:1px solid rgba(212,206,196,.2);padding:24px 28px 20px;box-shadow:0 30px 80px #000c;display:flex;flex-direction:column;gap:22px}.options-sheet h2{font-family:var(--font-display);font-size:18px;font-weight:600;letter-spacing:.3em;color:var(--bone)}.option-row{display:flex;align-items:center;gap:14px}.option-row label{font-size:11px;letter-spacing:.18em;color:var(--bone-dim);white-space:nowrap}.option-val{font-size:12px;color:var(--amber);width:38px;text-align:right}.option-toggle{margin-left:auto;width:20px;height:20px;accent-color:var(--amber);cursor:pointer}.option-row input[type=range]{flex:1;appearance:none;-webkit-appearance:none;height:4px;background:#d4cec433;outline:none}.option-row input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--amber);border:none;cursor:pointer}.option-row input[type=range]::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--amber);border:none;cursor:pointer}.options-sheet .ghost-btn{align-self:flex-end}.map-overlay{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#030202d1;backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s}.map-overlay.open{opacity:1;pointer-events:auto}.map-sheet{width:min(680px,82vw);background:linear-gradient(160deg,#160f0d,#0f0a09);border:1px solid rgba(212,206,196,.2);padding:28px 32px 24px;box-shadow:0 30px 80px #000c}.map-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:18px}.map-head h2{white-space:nowrap;font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.3em;color:var(--bone)}.map-head .map-meta{font-size:11px;color:var(--bone-dim);letter-spacing:.12em}.map-close{width:44px;height:44px;margin:-10px -10px 0 6px;border:1px solid rgba(212,206,196,.3);background:#09060680;color:var(--bone);font-size:16px;cursor:pointer}.map-close:active{border-color:var(--amber);color:var(--amber)}.map-grid{position:relative;height:min(320px,calc(100vh - 150px));height:min(320px,calc(100dvh - 150px));background:repeating-linear-gradient(0deg,transparent 0 39px,rgba(212,206,196,.06) 39px 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(212,206,196,.06) 39px 40px),radial-gradient(80% 70% at 30% 60%,rgba(61,38,32,.35),transparent 70%),#110c0b;border:1px solid rgba(212,206,196,.12);overflow:hidden}#map-canvas{position:absolute;inset:0;width:100%;height:100%}.map-pin{position:absolute;display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;letter-spacing:.15em;color:var(--bone-dim);transform:translate(-50%,-50%)}.map-pin .dot{width:8px;height:8px;border-radius:50%}.map-pin.you .dot{background:var(--amber);box-shadow:0 0 12px #e3ad4bb3}.map-pin.you{color:var(--amber)}.map-pin.fuse .dot{background:var(--green-300);border-radius:0;transform:rotate(45deg)}.map-pin.unknown{color:#93877c99}.map-pin.unknown .dot{background:transparent;border:1px dashed rgba(147,135,124,.6);width:12px;height:12px;border-radius:50%}.map-foot{margin-top:16px;display:flex;justify-content:space-between;font-size:11px;color:var(--bone-dim);letter-spacing:.1em}@media (max-height: 640px){.caught-content{gap:4px;overflow-y:auto}.caught-title{font-size:42px}.caught-sub{font-size:11px}.score-card{margin-top:10px;gap:30px}.score-cell .num{font-size:26px}.caught-score{margin-top:8px;font-size:15px}.caught-actions{margin-top:12px}}.victory-bg{background:radial-gradient(ellipse at 50% 60%,#14201a,#050803 60%,#000)!important}.victory-title{color:var(--amber)!important;animation:none!important}.score-breakdown{margin-top:8px;font-size:11px;letter-spacing:.18em;color:var(--bone-dim)}.caught-bg{position:absolute;inset:0;background:radial-gradient(ellipse at 50% 60%,#170a08,#050302 60%,#000)}.caught-content{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}.caught-title{font-family:var(--font-display);font-weight:700;font-size:clamp(48px,8vw,110px);letter-spacing:.18em;text-indent:.18em;color:var(--blood-bright);animation:caught-glitch 2.8s steps(1) infinite}@keyframes caught-glitch{0%,93%,to{transform:none;text-shadow:none}94%{transform:translate(-5px) skew(-3deg);text-shadow:4px 0 oklch(.6 .1 230 / .5)}96%{transform:translate(4px);text-shadow:-4px 0 oklch(.55 .15 25 / .7)}}.caught-sub{font-size:14px;letter-spacing:.4em;text-indent:.4em;color:var(--bone-dim)}.caught-attrib{margin-top:6px;font-size:12px;letter-spacing:.22em;color:var(--bone-dim)}.score-card{margin-top:34px;display:flex;gap:54px}.score-cell{text-align:center}.score-cell .num{font-family:var(--font-display);font-size:44px;font-weight:600;color:var(--bone)}.score-cell .lbl{font-size:11px;letter-spacing:.3em;color:var(--bone-dim)}.caught-score{margin-top:26px;font-family:var(--font-display);font-size:20px;font-weight:600;letter-spacing:.3em;text-indent:.3em;color:var(--amber)}.challenge-btn{margin-top:26px;font-family:var(--font-display);font-size:14px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--bg-void);background:var(--amber);border:none;border-radius:3px;padding:13px 30px;min-height:44px;cursor:pointer;transition:filter .2s,transform .1s;box-shadow:0 0 24px #d4a84d59}.challenge-btn:hover{filter:brightness(1.12)}.challenge-btn:active{transform:scale(.97)}.caught-actions{margin-top:26px;display:flex;gap:16px}.title-challenge{display:none;margin:-6px 0 18px;font-family:var(--font-mono, monospace);font-size:12px;letter-spacing:.12em;color:var(--amber);opacity:.92}.title-challenge.show{display:block}.ghost-btn{white-space:nowrap;font-family:var(--font-display);font-size:15px;font-weight:500;letter-spacing:.3em;text-indent:.3em;text-transform:uppercase;color:var(--bone);background:transparent;border:1px solid rgba(212,206,196,.35);padding:13px 34px;min-height:44px;cursor:pointer;transition:all .2s}.ghost-btn:hover{border-color:var(--amber);color:var(--amber)}.ghost-btn.danger:hover{border-color:var(--blood-bright);color:var(--blood-bright)}@media (prefers-reduced-motion: reduce){.caught-title{animation:none!important}}.equip{position:absolute;bottom:38px;right:250px;display:flex;align-items:center;gap:12px}.equip-box{width:52px;height:52px;border:1px solid rgba(212,206,196,.3);background:#0906068c;display:flex;align-items:center;justify-content:center;position:relative}.equip-glyph{width:10px;height:28px;background:linear-gradient(to top,#7a2d20 0%,#7a2d20 62%,var(--amber) 62%);border-radius:2px;transform:rotate(18deg);box-shadow:0 0 8px #e3ad4b59}.equip-glyph.adrenaline{background:linear-gradient(to top,#20507a 0%,#20507a 50%,var(--bone) 50%);transform:rotate(-12deg)}.equip-qty{position:absolute;bottom:-7px;right:-7px;font-size:10px;color:var(--bone);background:#090606f2;border:1px solid rgba(212,206,196,.3);padding:1px 5px}.equip-key{position:absolute;top:-7px;left:-7px;font-size:9px;color:var(--amber);background:#090606f2;border:1px solid rgba(212,206,196,.3);padding:1px 4px}.equip-label{font-size:11px;letter-spacing:.14em;color:var(--bone-dim);line-height:1.7;white-space:nowrap}.equip-label b{color:var(--bone);font-weight:400}.compass-ping{position:absolute;top:4px;left:50%;width:9px;height:9px;background:var(--amber);transform:rotate(45deg);box-shadow:0 0 12px #e3ad4bcc;opacity:0;transition:opacity .5s}.ping-on .compass-ping{opacity:1}.compass-bull{position:absolute;top:5px;left:50%;width:9px;height:9px;background:#d0261a;transform:rotate(45deg);box-shadow:0 0 12px #d0261ae6;opacity:0;transition:opacity .2s}.compass-fuse{position:absolute;top:5px;left:50%;width:8px;height:8px;border:1.5px solid var(--amber);background:transparent;transform:rotate(45deg);box-shadow:0 0 8px #e3ad4b80;opacity:0;transition:opacity .4s}.ping-chevron{position:absolute;top:68px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:7px;opacity:0;transition:opacity .5s;pointer-events:none}.ping-on .ping-chevron{opacity:1}.ping-chevron .chev{width:13px;height:13px;border-right:2px solid var(--amber);border-top:2px solid var(--amber);transform:rotate(-45deg);filter:drop-shadow(0 0 6px oklch(.78 .13 80 / .7));animation:chev-pulse 1s ease-in-out infinite}@keyframes chev-pulse{0%,to{opacity:.45;transform:rotate(-45deg) translate(0)}50%{opacity:1;transform:rotate(-45deg) translate(2px,-2px)}}.ping-text{font-size:11px;letter-spacing:.32em;text-indent:.32em;color:var(--amber)}.ping-timer{font-size:10px;letter-spacing:.18em;color:var(--amber-dim)}.toast{position:absolute;top:120px;right:38px;display:flex;flex-direction:column;align-items:flex-end;gap:8px;pointer-events:none}.toast-item{font-size:12px;letter-spacing:.12em;color:var(--bone);background:#090606d1;border:1px solid rgba(212,206,196,.25);border-right:2px solid var(--amber);padding:9px 14px;animation:toast-in .3s ease-out,toast-out .6s ease-in 3.2s forwards}.toast-item b{color:var(--amber);font-weight:400}@keyframes toast-in{0%{transform:translate(18px);opacity:0}to{transform:none;opacity:1}}@keyframes toast-out{to{transform:translate(10px);opacity:0}}@media (prefers-reduced-motion: reduce){.chev,.toast-item{animation:none!important}}.rotate-overlay{position:fixed;inset:0;z-index:300;display:none;flex-direction:column;align-items:center;justify-content:center;gap:26px;background:var(--bg-void);text-align:center}.rotate-overlay.show{display:flex}.rotate-phone{width:46px;height:78px;border:2px solid var(--bone-dim);border-radius:8px;position:relative;animation:rotate-hint 2.4s ease-in-out infinite}.rotate-phone:after{content:"";position:absolute;top:6px;left:50%;transform:translate(-50%);width:14px;height:3px;border-radius:2px;background:var(--bone-dim)}@keyframes rotate-hint{0%,25%{transform:rotate(0)}55%,80%{transform:rotate(-90deg)}to{transform:rotate(-90deg)}}.rotate-title{font-family:var(--font-display);font-size:22px;font-weight:600;letter-spacing:.3em;text-indent:.3em;color:var(--bone)}.rotate-sub{font-size:12px;letter-spacing:.15em;color:var(--bone-dim)}.rotate-fullscreen{max-width:320px;margin-top:6px;font-size:11px;letter-spacing:.1em;line-height:2;color:var(--bone-dim)}.rotate-fullscreen b,.rotate-fullscreen .share-glyph{color:var(--amber);font-weight:400}.rotate-fullscreen svg.share-glyph{width:15px;height:15px;vertical-align:-2px}.touch-layer{display:none}.is-touch .touch-layer{display:block;position:absolute;inset:0;z-index:40;pointer-events:none}.look-zone{position:absolute;inset:0;pointer-events:auto;touch-action:none}.stick-zone{position:absolute;left:0;top:0;bottom:0;width:42%;pointer-events:auto;touch-action:none}.stick-visual{position:absolute;left:12%;bottom:8%;width:130px;height:130px;opacity:.5;pointer-events:none;transition:opacity .15s}.stick-zone.active .stick-visual{bottom:auto;opacity:1}.stick-base{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(212,206,196,.25);background:#09060659}.stick-nub{position:absolute;left:50%;top:50%;width:54px;height:54px;border-radius:50%;background:#d4cec42e;border:1.5px solid rgba(212,206,196,.45);transform:translate(-50%,-50%) translate(var(--nub-x, 0px),var(--nub-y, 0px));transition:transform .08s linear}.sprint-hint{position:absolute;left:50%;top:-20px;width:0;height:0;transform:translate(-50%);border-left:8px solid transparent;border-right:8px solid transparent;border-bottom:10px solid rgba(212,206,196,.3);transition:border-bottom-color .15s}.stick-zone.sprinting .sprint-hint{border-bottom-color:var(--amber)}.stick-zone.sprinting .stick-base{border-color:var(--amber)}.touch-actions{position:absolute;right:max(4%,env(safe-area-inset-right));bottom:8%;display:grid;grid-template-columns:auto auto;gap:14px;pointer-events:auto}.touch-btn{width:64px;height:64px;border-radius:50%;border:1.5px solid rgba(212,206,196,.4);background:#09060680;color:var(--bone);font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.12em;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;touch-action:manipulation}.touch-btn:active,.touch-btn.held{background:#d4cec433;border-color:var(--amber);color:var(--amber)}.touch-btn.fire{width:78px;height:78px;border-color:#c13c3b99;color:var(--blood-bright)}.touch-btn.fire:active{background:#90302e4d;border-color:var(--blood-bright)}#touch-equip{flex-direction:column;line-height:1.3}.touch-btn .qty{font-size:9px;color:var(--amber)}.touch-utils{position:absolute;top:max(14px,env(safe-area-inset-top));right:max(3%,env(safe-area-inset-right));display:flex;gap:10px;pointer-events:auto}.touch-utils .touch-btn{width:46px;height:46px;font-size:8px}.is-touch #screen-game .objective{top:max(16px,env(safe-area-inset-top));left:max(20px,env(safe-area-inset-left));gap:5px}.is-touch #screen-game .objective .obj-title{font-size:10px}.is-touch #screen-game .objective .obj-main{font-size:15px}.is-touch #screen-game .obj-hint{font-size:10px}.is-touch #screen-game .ammo{top:auto;bottom:max(12px,env(safe-area-inset-bottom));left:calc(50% + 60px);right:auto;text-align:left}.is-touch #screen-game .ammo .weapon-name{font-size:10px}.is-touch #screen-game .ammo .count{font-size:26px}.is-touch #screen-game .ammo .count .reserve{font-size:14px}.is-touch #screen-game .equip{display:none}.is-touch #screen-game .vitals{bottom:max(12px,env(safe-area-inset-bottom));left:calc(50% - 250px);width:190px;gap:6px}.is-touch #screen-game .heartbeat{bottom:max(64px,calc(env(safe-area-inset-bottom) + 52px))}.is-touch #screen-game .toast{top:86px;right:auto;left:50%;transform:translate(-50%);align-items:center}.is-touch .key-hint,.is-touch .prompt .key-cap{display:none!important}.is-touch #screen-game .hud-layer{z-index:45}.is-touch #screen-game .prompt.show{pointer-events:auto}.is-touch #screen-game .prompt{top:56%;padding:12px 26px;border:1.5px solid var(--amber);background:#090606b8;color:var(--amber);letter-spacing:.2em;font-family:var(--font-display);font-weight:600}.touch-only{display:none}.is-touch .touch-only{display:inline}.is-touch .lock-hint{display:none!important}@media (max-height: 560px){.is-touch #screen-game .objective .obj-title{font-size:13px}.is-touch #screen-game .ammo .count{font-size:26px}}.lb-content{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;padding:84px 24px 40px;overflow-y:auto}.lb-title{font-family:var(--font-display);font-size:clamp(30px,4.5vw,48px);font-weight:700;letter-spacing:.25em;text-indent:.25em;color:var(--bone);white-space:nowrap}.lb-sub{font-size:11px;letter-spacing:.3em;color:var(--bone-dim);margin-top:6px}.lb-tabs{display:flex;gap:8px;margin-top:18px}.lb-tab{background:transparent;border:1px solid var(--bone-dim);color:var(--bone-dim);font:inherit;font-size:11px;letter-spacing:.2em;padding:6px 16px;cursor:pointer;border-radius:2px}.lb-tab.active{border-color:var(--blood);color:var(--bone);background:#8c14102e}.lb-table{width:min(640px,92vw);margin-top:20px;border-collapse:collapse;font-size:13px}.lb-table th{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--green-300);text-align:left;padding:8px 14px;border-bottom:1px solid rgba(212,206,196,.18)}.lb-table th.num,.lb-table td.num{text-align:right}.lb-table td{padding:11px 14px;color:var(--bone-dim);border-bottom:1px solid rgba(212,206,196,.07);letter-spacing:.06em}.lb-table td.rank{color:var(--bone-dim);width:44px}.lb-table td.name{color:var(--bone)}.lb-table tr.top td.rank,.lb-table tr.top td.name{color:var(--amber)}.lb-table tr.you-row td{background:#d96a4a14}.lb-table tr.you-row td:nth-child(2){color:var(--amber)}.you-chip{display:inline-block;vertical-align:middle;margin-left:12px;padding:2px 8px;font-size:9px;font-weight:700;letter-spacing:.22em;line-height:1;color:var(--bg-void);background:var(--amber);border-radius:3px;transform:translateY(-1px)}.lb-status{font-size:11px;letter-spacing:.18em;color:var(--bone-dim);margin-top:14px}.lb-foot{margin-top:26px;display:flex;gap:16px}.name-entry{margin-top:30px;display:flex;flex-direction:column;align-items:center;gap:12px}.name-label{font-size:11px;letter-spacing:.3em;color:var(--bone-dim)}.name-row{display:flex;gap:10px}.name-input{font-family:var(--font-mono);font-size:18px;letter-spacing:.25em;text-transform:uppercase;color:var(--bone);background:#090606b3;border:1px solid rgba(212,206,196,.35);padding:12px 16px;width:240px;min-height:44px;text-align:center;outline:none}.name-input:focus{border-color:var(--amber)}.name-input.flagged{border-color:var(--blood-bright);color:var(--blood-bright)}.name-warn{font-size:11px;letter-spacing:.14em;color:var(--blood-bright);min-height:16px}.name-warn.ok{color:var(--green-300)}
