:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#e8f4f7;font-synthesis:none;text-rendering:optimizelegibility;--minimum-window-width:1100px;--minimum-window-height:780px;--hud-height:130px;background:#071b24;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body{width:100%;height:100%;min-width:var(--minimum-window-width);min-height:var(--minimum-window-height);margin:0}body{background:radial-gradient(circle at 50% 0,#134e6073,#0000 45%),#071b24;min-height:100dvh}button,canvas{touch-action:none}.app-shell{grid-template-rows:var(--hud-height) minmax(0, 1fr) auto;width:100%;height:100dvh;min-width:var(--minimum-window-width);min-height:var(--minimum-window-height);gap:12px;margin:0;padding:20px;display:grid}.hud{grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;height:100%;min-height:0;display:grid}.hud section{background:#082631d1;border:1px solid #97cdda47;border-radius:14px;align-content:start;gap:4px;min-width:0;min-height:0;padding:14px 16px;display:grid;overflow:hidden}.hud strong,.hud-label,.hud-detail{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.hud strong{font-size:clamp(1.25rem,2.2vw,2rem)}.hud-detail{color:#b9d2d9;font-size:.78rem}#bottom-depth.is-contact{color:#ffd08c;font-weight:700}.bottom-contact-card.contact-minor #bottom-contact{color:#ffe0a8}.bottom-contact-card.contact-warning{background:#432711db;border-color:#ffaa4a85}.bottom-contact-card.contact-warning #bottom-contact,.bottom-contact-card.contact-heavy #bottom-contact{color:#ffbd75}.bottom-contact-card.contact-heavy{background:#481b15e6;border-color:#ff6b4da3}.current-card.current-moving{background:#07313fe0;border-color:#69d5e77a}.current-card.current-strong{background:#053b4ceb;border-color:#47e2f7b3}.current-card.current-strong #current-speed{color:#9ff3ff;animation:1.1s ease-in-out infinite current-number-pulse}.current-card.current-opposed{background:#422b12e6;border-color:#ffb0569e}.current-card.current-opposed #current-effort{color:#ffd08f;font-weight:700}.air-card.air-low{border-color:#ffbe707a}.air-card.air-low #tank-pressure{color:#ffd395}.air-card.air-reserve{background:#462311e6;border-color:#ff7b44ad}.air-card.air-reserve #tank-pressure{color:#ffad78;animation:1.25s ease-in-out infinite health-number-pulse}.air-card.air-empty{background:#411217eb;border-color:#ff4242c2}.air-card.air-empty #tank-pressure{color:#ff8178}.health-card.health-injured{border-color:#dd5b5b7a}.health-card.health-injured #health{color:#ffb2aa}.health-card.health-serious{background:#411217e6;border-color:#ff4242b3}.health-card.health-serious #health{color:#ff8178;animation:1.25s ease-in-out infinite health-number-pulse}.hud-label{color:#98bcc7;text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}.viewport{background:#0b3442;border:1px solid #97cdda52;border-radius:18px;width:100%;min-width:0;height:100%;min-height:0;position:relative;overflow:hidden}#scene{outline-offset:-3px;width:100%;min-width:0;height:100%;min-height:0;transition:filter .16s;display:block}.camera-mode-indicator{z-index:3;color:#c5dce2;letter-spacing:.04em;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#051921b8;border:1px solid #97cdda47;border-radius:999px;padding:7px 10px;font-size:.78rem;position:absolute;top:14px;right:14px}.first-person-overlay{z-index:3;pointer-events:none;position:absolute;inset:0;overflow:hidden}.first-person-overlay[hidden]{display:none}.mask-frame{border:clamp(24px,4.4vw,58px) solid #030d12db;border-radius:42% 42% 36% 36%/48% 48% 31% 31%;position:absolute;inset:-6%;box-shadow:inset 0 0 0 3px #82bbc857,inset 0 0 28px 8px #01080cb8,0 0 22px 12px #01070aa3}.mask-frame:before,.mask-frame:after{content:"";background:linear-gradient(#0000,#99d5e142 24%,#99d5e11a 72%,#0000);width:2px;position:absolute;top:9%;bottom:17%}.mask-frame:before{left:2.4%}.mask-frame:after{right:2.4%}.mask-bridge{background:linear-gradient(#020b10f5 0 52%,#0f262eeb 70%,#0000 100%);border-radius:0 0 44% 44%;width:clamp(52px,7vw,100px);height:20%;position:absolute;top:-1%;left:50%;transform:translate(-50%);box-shadow:0 6px 8px #00000047}.first-person-hand{opacity:.92;transform-origin:50% 100%;background:radial-gradient(circle at 50% 19%,#f2b35f 0 14%,#0000 15%),linear-gradient(150deg,#ef9c3a 0 42%,#c86420 76%,#7f3518 100%);border-radius:54% 54% 30% 30%;width:clamp(110px,16vw,210px);height:clamp(125px,27vh,250px);animation:2.4s ease-in-out infinite first-person-hand-bob;position:absolute;bottom:-7%;box-shadow:inset 10px 5px 18px #ffe1a838,inset -12px -8px 20px #48140857,0 8px 20px #00000047}.first-person-hand span{background:linear-gradient(#24333a,#0f1d23);border-radius:32% 32% 12% 12%;width:54%;height:54%;position:absolute;bottom:-8%;left:23%}.first-person-hand-left{left:4%;transform:rotate(17deg)}.first-person-hand-right{animation-delay:-1.2s;right:4%;transform:rotate(-17deg)scaleX(-1)}.instructions{color:#c5dce2;pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#051921c7;border:1px solid #97cdda47;border-radius:12px;gap:3px;padding:12px 14px;font-size:.88rem;display:grid;position:absolute;top:14px;left:14px}.instructions strong{color:#f1fbfd;margin-bottom:2px}.warning{color:#ffe1b8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#4e2310e0;border:1px solid #ffbe70a6;border-radius:12px;max-width:min(420px,100% - 28px);padding:12px 14px;font-size:.9rem;position:absolute;bottom:14px;right:14px}.notice{color:#8daab3;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0 2px;font-size:.85rem;overflow:hidden}.game-over{-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#020d12b8;place-items:center;padding:24px;display:grid;position:absolute;inset:0}.game-over[hidden]{display:none}.game-over-panel{color:#ffe8ca;text-align:center;background:#271611f0;border:1px solid #ffbe70b3;border-radius:16px;width:min(440px,100%);padding:26px}.game-over-kicker{color:#ffc27d;letter-spacing:.12em;text-transform:uppercase;font-size:.78rem;font-weight:700}.game-over h1{color:#fff4e7;text-transform:uppercase;margin:8px 0 12px;font-size:clamp(2rem,6vw,3.2rem)}.game-over p{margin:10px 0;line-height:1.5}.game-over button{color:#2b1b11;font:inherit;cursor:pointer;background:#ffd09b;border:1px solid #ffdcb2bf;border-radius:10px;margin-top:10px;padding:10px 16px;font-weight:700}.game-over button:hover{background:#ffe0bd}.pressure-vignette{z-index:2;pointer-events:none;opacity:0;transition:opacity .15s;position:absolute;inset:0;overflow:hidden}.pressure-vignette:before,.pressure-vignette:after{opacity:0;content:"";pointer-events:none;position:absolute;inset:-18%}.viewport.pressure-mild .pressure-vignette{opacity:calc(.12 + var(--pressure-intensity,0) * .16);background:radial-gradient(circle,#0000 38%,#ffc47014 63%,#ffb14c61 100%);box-shadow:inset 0 0 82px 28px #ffc4707a}.viewport.pressure-moderate #scene{filter:saturate(1.32)sepia(.18)hue-rotate(-12deg)contrast(1.08)}.viewport.pressure-moderate .pressure-vignette{opacity:calc(.42 + var(--pressure-intensity,0) * .3);background:radial-gradient(circle,#0000 22%,#ffb44621 48%,#ff842485 78%,#682305c7 100%);animation:.92s ease-in-out infinite pressure-pulse;box-shadow:inset 0 0 118px 42px #ff8b2ac7,inset 0 0 34px 8px #ffd17c52}.viewport.pressure-severe #scene{filter:saturate(1.7)contrast(1.3)brightness(.82)sepia(.15);animation:.12s steps(2,end) infinite pressure-scene-jitter}.viewport.pressure-severe .pressure-vignette{opacity:calc(.72 + var(--pressure-intensity,0) * .24);background:radial-gradient(circle,#7800000d 12%,#b100003d 42%,#e8140cab 76%,#440000f0 100%);animation:.38s ease-in-out infinite pressure-pulse;box-shadow:inset 0 0 148px 56px #ff1910eb,inset 0 0 42px 10px #ff695294}.viewport.pressure-severe .pressure-vignette:before{opacity:.56;mix-blend-mode:screen;background-image:repeating-radial-gradient(at 21% 17%,#0000 0 2px,#ffe1da57 3px,#0000 4px 7px),repeating-linear-gradient(103deg,#ff141000 0 3px,#ffece552 4px,#55000038 5px 8px);background-size:19px 17px,13px 11px;animation:95ms steps(2,end) infinite pressure-red-noise}.viewport.pressure-severe .pressure-vignette:after{opacity:.38;mix-blend-mode:overlay;background:repeating-linear-gradient(#ffffff17 0 1px,#4d00001a 2px,#0000 4px);animation:.24s linear infinite pressure-scanline-drift;inset:0}.bleeding-vignette{z-index:2;pointer-events:none;opacity:0;transition:opacity .26s;position:absolute;inset:0;overflow:hidden}.bleeding-vignette:before,.bleeding-vignette:after{content:"";pointer-events:none;position:absolute;inset:0}.viewport.body-bleeding .bleeding-vignette{opacity:var(--bleeding-opacity,0);box-shadow:inset 0 0 var(--bleeding-shadow-radius,44px) var(--bleeding-shadow-spread,8px) #9e00118f;background:radial-gradient(#0000 42%,#70000a1a 61%,#91000e8a 84%,#300007db 100%);animation:2.2s ease-in-out infinite bleeding-vignette-pulse}.viewport.body-bleeding .bleeding-vignette:before{opacity:var(--bleeding-detail-opacity,0);filter:blur(1px);background:radial-gradient(at 8% 26%,#b50314b8 0 1.2%,#0000 3.4%),radial-gradient(at 92% 62%,#74000cad 0 1.5%,#0000 4.2%),radial-gradient(at 23% 96%,#96001194 0 2%,#0000 5.2%)}.viewport.body-bleeding .bleeding-vignette:after{opacity:var(--bleeding-ripple-opacity,0);background:repeating-radial-gradient(#0000 0 26px,#68000b29 28px 31px,#0000 34px 48px);animation:6s linear infinite bleeding-drift;inset:-8%}.ear-pressure-card.pressure-mild #ear-pressure{animation:1.5s ease-in-out infinite pressure-number-pulse}.ear-pressure-card.pressure-moderate #ear-pressure,.ear-pressure-card.pressure-severe #ear-pressure{color:#ffd29a;animation:.75s ease-in-out infinite pressure-number-pulse}.ear-pressure-card.pressure-severe #ear-pressure{color:#ff9c8e}.equalization-attempt{z-index:5;color:#e9fbfd;-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);pointer-events:none;background:#051e27e0;border:1px solid #b0e8ee9e;border-radius:16px;align-items:center;gap:14px;min-width:min(340px,100% - 36px);padding:14px 18px;display:flex;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.equalization-attempt[hidden]{display:none}.equalization-attempt:before,.equalization-attempt:after{content:"";pointer-events:none;border:1px solid #b5eff494;border-radius:999px;width:80px;height:80px;animation:1.25s ease-out infinite equalization-pressure-wave;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.equalization-attempt:after{animation-delay:.6s}.equalization-attempt>div:last-child{gap:3px;display:grid}.equalization-attempt strong{font-size:1.05rem}.equalization-attempt span{color:#b9d9df;font-size:.82rem}.equalization-progress{--equalization-progress-angle:0deg;background:conic-gradient(#a9ecf1 var(--equalization-progress-angle), #a9ecf129 0);border-radius:999px;flex:0 0 62px;place-items:center;width:62px;height:62px;display:grid;position:relative}.equalization-progress:before{border-radius:inherit;content:"";background:#082b36;position:absolute;inset:6px}.equalization-progress span{z-index:1;color:#f5feff;font-size:.78rem;font-weight:700;position:relative}.equalization-result{z-index:4;pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.equalization-result[hidden]{display:none}.equalization-result strong{z-index:1;color:#eaffff;letter-spacing:.05em;text-transform:uppercase;background:#041f27db;border-radius:999px;padding:9px 14px;font-size:.95rem}.equalization-wave{border:3px solid #9fe8ed;border-radius:999px;width:48px;height:48px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.equalization-result.is-success .equalization-wave{border-color:#aaf3f3;animation:.85s ease-out forwards equalization-result-wave}.equalization-result.is-partial .equalization-wave{border-color:#ffd08c;animation:.85s ease-out forwards equalization-result-wave}.equalization-result.is-failed .equalization-wave{border-color:#ff8e7e;animation:.42s ease-out both equalization-failed-shake}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes pressure-pulse{0%,to{filter:saturate(.95)brightness(.94)}50%{filter:saturate(1.5)brightness(1.08)}}@keyframes pressure-red-noise{0%{transform:translate(-2%,1%)scale(1.02)}25%{transform:translate(3%,-2%)scale(1.06)}50%{transform:translate(-1%,3%)scale(1.04)}75%{transform:translate(2%,1%)scale(1.08)}to{transform:translate(-3%,-1%)scale(1.03)}}@keyframes pressure-scanline-drift{0%{transform:translateY(-4px)}to{transform:translateY(4px)}}@keyframes pressure-scene-jitter{0%,to{transform:translate(0,0)scale(1.003)}25%{transform:translate(-1px,1px)scale(1.005)}50%{transform:translate(1px,-1px)scale(1.003)}75%{transform:translate(1px,1px)scale(1.005)}}@keyframes pressure-number-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes health-number-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes first-person-hand-bob{0%,to{translate:0}50%{translate:0 -5px}}@keyframes bleeding-vignette-pulse{0%,to{filter:saturate(.9)brightness(.92)}50%{filter:saturate(1.2)brightness(1.05)}}@keyframes bleeding-drift{0%{transform:translate(-1.5%,-1%)scale(1.02)}to{transform:translate(1.5%,1%)scale(1.08)}}@keyframes equalization-pressure-wave{0%{opacity:.55;transform:translate(-50%,-50%)scale(.55)}to{opacity:0;transform:translate(-50%,-50%)scale(2.4)}}@keyframes equalization-result-wave{0%{opacity:.8;transform:translate(-50%,-50%)scale(.35)}to{opacity:0;transform:translate(-50%,-50%)scale(8)}}@keyframes equalization-failed-shake{0%,to{opacity:0;transform:translate(-50%,-50%)scale(.8)}20%,60%{opacity:.9;transform:translate(calc(-50% - 8px),-50%)scale(1.2)}40%,80%{opacity:.9;transform:translate(calc(8px - 50%),-50%)scale(1.2)}}@media (prefers-reduced-motion:reduce){#scene,.pressure-vignette,.pressure-vignette:before,.pressure-vignette:after,.ear-pressure-card #ear-pressure,.health-card #health,.bleeding-vignette,.bleeding-vignette:before,.bleeding-vignette:after,.equalization-attempt:before,.equalization-attempt:after,.equalization-wave,.first-person-hand{animation:none!important}}.instructions,.warning{z-index:3}.game-over{z-index:10}.impact-feedback{z-index:4;pointer-events:none;opacity:0;position:absolute;inset:0;overflow:hidden}.impact-feedback:before,.impact-feedback:after{content:"";opacity:0;pointer-events:none;position:absolute;inset:-18%}.impact-feedback.is-rock-impact{animation:.72s ease-out both rock-impact-flash}.impact-feedback.is-rock-impact:before{opacity:1;mix-blend-mode:screen;background:radial-gradient(circle at 50% 54%,#ff3a307a 0,#a6000a4d 28%,#0000 64%),radial-gradient(circle at 12% 70%,#81000cad 0 2%,#0000 3.5%),radial-gradient(circle at 86% 24%,#a8001299 0 1.5%,#0000 3%);animation:.72s ease-out both rock-impact-blood-pulse}.impact-feedback.is-rock-impact:after{opacity:.86;background:linear-gradient(72deg,#0000 43%,#ffd6cfbd 45%,#ae000eeb 47% 49%,#0000 51%),linear-gradient(104deg,#0000 49%,#69000ae0 51% 53%,#0000 55%);animation:.62s cubic-bezier(.16,.7,.2,1) both rock-impact-slashes;inset:-24% 8%;transform:scale(.78)rotate(-4deg)}@keyframes rock-impact-flash{0%{opacity:0}8%{opacity:1}42%{opacity:.82}to{opacity:0}}@keyframes rock-impact-blood-pulse{0%{opacity:0;transform:scale(.72)}12%{opacity:1}to{opacity:0;transform:scale(1.18)}}@keyframes rock-impact-slashes{0%{opacity:0;transform:scale(.62)rotate(-9deg)}14%{opacity:.92}to{opacity:0;transform:scale(1.08)rotate(-2deg)}}@media (prefers-reduced-motion:reduce){.impact-feedback.is-rock-impact,.impact-feedback.is-rock-impact:before,.impact-feedback.is-rock-impact:after{animation-duration:1ms}}@keyframes current-number-pulse{0%,to{opacity:.82}50%{opacity:1}}.map-overview{z-index:4;pointer-events:none;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#04171fe0;border:1px solid #97cdda57;border-radius:14px;width:clamp(250px,24vw,310px);padding:10px;position:absolute;top:54px;right:14px;box-shadow:0 16px 34px #00080c57}.map-overview[hidden]{display:none}.map-overview-header,.map-overview-legend{justify-content:space-between;align-items:center;gap:8px;display:flex}.map-overview-header{color:#e4f4f7;letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:.78rem}.map-overview-header span{color:#8fb7c1;font-size:.68rem;font-weight:600}#map-overview-canvas{background:#071e28;border:1px solid #97cdda33;border-radius:9px;width:100%;height:clamp(280px,45vh,350px);display:block}.map-overview-legend{color:#a9c8cf;flex-wrap:wrap;justify-content:flex-start;margin-top:8px;font-size:.66rem}.map-overview-legend span{align-items:center;gap:4px;display:inline-flex}.map-key{width:8px;height:8px;display:inline-block}.map-key-diver{clip-path:polygon(50% 0,100% 100%,50% 76%,0 100%);background:#fff0a8}.map-key-current{background:#73e6f5;width:11px;height:2px}.map-key-rock{background:#dfe6d8;border-radius:50%}@media (width<=760px){:root{--minimum-window-width:0px;--minimum-window-height:0px}html,body{overscroll-behavior:none;min-width:0;min-height:0;overflow:hidden}body{position:fixed;inset:0}.app-shell{width:100%;min-width:0;height:100dvh;min-height:0;padding:0;display:block;position:relative;overflow:hidden}.viewport{border:0;border-radius:0;position:absolute;inset:0}.hud{top:max(6px, env(safe-area-inset-top));right:max(6px, env(safe-area-inset-right));left:max(6px, env(safe-area-inset-left));z-index:7;pointer-events:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;height:auto;display:grid;position:absolute}.hud section{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#041b24c2;border-radius:8px;gap:1px;min-height:38px;padding:4px 5px;box-shadow:0 2px 8px #00090d33}.hud-label{font-size:0;line-height:1}.hud-label:after{color:#a9cad2;content:attr(data-compact-label);letter-spacing:.06em;text-transform:uppercase;font-size:.56rem;font-weight:650}.hud strong{font-size:clamp(.82rem,3.7vw,1rem);line-height:1.05}.hud-detail{display:none}.camera-mode-indicator{top:auto;right:max(6px, env(safe-area-inset-right));bottom:max(6px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:4px 7px;font-size:.6rem}.instructions{top:auto;bottom:max(6px, env(safe-area-inset-bottom));left:max(6px, env(safe-area-inset-left));white-space:nowrap;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:999px;padding:4px 7px;font-size:0;display:block}.instructions>*{display:none}.instructions:after{color:#c5dce2;content:"WASD/QE · Space · C/M";letter-spacing:.02em;font-size:.6rem}.warning{right:max(8px, env(safe-area-inset-right));bottom:calc(max(6px, env(safe-area-inset-bottom)) + 30px);left:max(8px, env(safe-area-inset-left));text-align:center;border-radius:9px;max-width:none;padding:8px 10px;font-size:.74rem}.notice{display:none}.equalization-attempt{border-radius:12px;gap:10px;width:calc(100% - 24px);min-width:0;padding:10px 12px}.equalization-progress{flex-basis:48px;width:48px;height:48px}.equalization-attempt strong{font-size:.9rem}.equalization-attempt span{font-size:.7rem}.map-overview{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));bottom:max(8px, env(safe-area-inset-bottom));left:max(8px, env(safe-area-inset-left));z-index:8;grid-template-rows:auto minmax(0,1fr) auto;width:auto;padding:8px;display:grid;overflow:hidden}#map-overview-canvas{width:100%;height:100%;min-height:0}.map-overview-legend{margin-top:6px}.game-over{padding:max(12px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left))}.game-over-panel{border-radius:12px;max-height:100%;padding:16px;overflow-y:auto}.game-over h1{margin:5px 0 8px;font-size:clamp(1.5rem,8vw,2.15rem)}.game-over p{margin:7px 0;font-size:.82rem;line-height:1.35}.game-over button{margin-top:6px;padding:8px 12px}.mask-frame{border-width:clamp(18px,6vw,30px)}.first-person-hand{width:clamp(82px,24vw,120px);height:clamp(100px,31vh,150px);bottom:-11%}}@media (width<=380px){.hud{gap:3px}.hud section{min-height:34px;padding:3px 4px}.hud strong{font-size:.78rem}.instructions:after,.camera-mode-indicator{font-size:.55rem}}
