:root{font-family:Avenir Next,Trebuchet MS,sans-serif;color:#e6f4ff;--hud-bg: rgba(3, 15, 26, .74);--hud-border: rgba(119, 192, 231, .22);--hud-glass: linear-gradient(180deg, rgba(7, 25, 41, .88), rgba(3, 14, 23, .8));--text-muted: #9dc9dc;--text-bright: #dff7ff;--card-bg: linear-gradient(180deg, rgba(8, 31, 47, .92), rgba(4, 16, 28, .85));background:radial-gradient(circle at top,rgba(18,77,110,.35),transparent 40%),linear-gradient(180deg,#04111a,#02070c);color-scheme:dark}*{box-sizing:border-box}html,body,#app{margin:0;width:100%;height:100%;overflow:hidden}body{background:radial-gradient(circle at 20% 20%,rgba(53,126,161,.18),transparent 32%),radial-gradient(circle at 80% 10%,rgba(214,162,72,.12),transparent 28%),linear-gradient(180deg,#04111a,#02070c)}.shell{position:relative;width:100%;height:100%}.viewport{width:100%;height:100%}.hud{position:absolute;inset:0;pointer-events:none;font-size:clamp(10px,1.4vmin,14px)}.hud-tl{position:absolute;top:1em;left:1em;display:flex;flex-direction:column;gap:.6em;max-width:min(340px,calc(100vw - 2em))}.hud-br{position:absolute;bottom:1em;right:1em;display:flex;flex-direction:column;align-items:flex-end;gap:0;pointer-events:auto}.hud-bl{position:absolute;left:.8em;bottom:calc(env(safe-area-inset-bottom,0px) + 7.4em);pointer-events:none;z-index:5}.coord-readout{display:grid;grid-template-columns:1fr;gap:.22em;width:max-content;max-width:calc(100vw - 1.6em);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.66em;letter-spacing:.035em;color:#d6f6ffc7;text-shadow:0 0 .55em rgba(58,222,255,.35)}.coord-axis{display:block;width:34.5em;max-width:calc(100vw - 1.6em);white-space:nowrap;font-variant-numeric:tabular-nums;background:#01081080;border:1px solid rgba(123,226,255,.14);border-radius:.45em;padding:.24em .38em;box-sizing:border-box;overflow:hidden;text-overflow:clip}.coord-axis.x{color:#ffbeaae0}.coord-axis.y{color:#aaffcde0}.coord-axis.z{color:#a0daffe0}.player-card{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--hud-glass),var(--hud-bg);border:1px solid var(--hud-border);border-radius:1.2em;padding:1em 1.2em;position:relative;overflow:hidden}.player-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(109,199,255,.1),transparent 34%);pointer-events:none}.gauges{display:flex;gap:1.2em;align-items:center}.gauge-col{display:flex;flex-direction:column;align-items:center;gap:.15em}.gauge-value{font-size:.78em;font-weight:700;line-height:1;letter-spacing:.12em;text-transform:uppercase;color:var(--text-bright)}.depth-val{color:#9fffe0}.hp-val{color:#8edfc8}.loot-val{font-size:1.4em;color:#ffd071}.gauge-sub{font-size:.75em;letter-spacing:.12em;text-transform:uppercase;color:#a2d3e9a6}.mini-gauge{width:5.8em;height:.55em;border-radius:.4em;background:#08131deb;border:1px solid rgba(111,209,255,.12);overflow:hidden;margin-top:.15em}.mini-gauge-fill{--fill: 0%;--accent: #9fffe0;height:100%;width:var(--fill);border-radius:.35em;background:linear-gradient(90deg,var(--accent),color-mix(in srgb,var(--accent) 70%,white));box-shadow:0 0 8px color-mix(in srgb,var(--accent) 35%,transparent);transition:width .18s ease-out,background .18s ease-out}.mini-gauge-fill.hp-fill{--accent: #8edfc8}.stall-col{min-width:3.2em}.stall-badge{font-size:.7em;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.2em .5em;border-radius:.4em;line-height:1}.stall-badge.calm{color:transparent}.stall-badge.warm{color:#ffd071;background:#ffd0711f}.stall-badge.hot{color:#ff8f6a;background:#ff8f6a26;text-shadow:0 0 8px rgba(255,143,106,.3)}.loot-col{margin-left:auto}.debug-panel{pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030c16d1;border:1px solid rgba(119,192,231,.14);border-radius:.8em;padding:.6em .9em}.fps-panel{display:grid;gap:.35em;margin-bottom:.55em}.fps-title{font-size:.72em;letter-spacing:.14em;text-transform:uppercase;color:#a2d3e9a6}.fps-stats{font-size:.8em;color:#dff7ff;letter-spacing:.04em}.fps-canvas{width:220px;max-width:100%;height:64px;border:1px solid rgba(111,209,255,.12);border-radius:.55em}.benchmark-shell{background:radial-gradient(circle at 20% 20%,rgba(53,126,161,.14),transparent 32%),radial-gradient(circle at 80% 10%,rgba(214,162,72,.08),transparent 28%),linear-gradient(180deg,#04111a,#02070c)}.benchmark-overlay{position:absolute;top:1em;left:1em;display:grid;gap:.7em;max-width:min(440px,calc(100vw - 2em));pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#030c16d1;border:1px solid rgba(119,192,231,.14);border-radius:.8em;padding:.9em}.benchmark-stats,.benchmark-hints{font-size:.8em;letter-spacing:.04em;color:#6fb8d4;line-height:1.5}.benchmark-types{display:grid;gap:.45em}.benchmark-type-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;gap:.45em;align-items:center;padding:.35em;border-radius:.55em;border:1px solid rgba(111,209,255,.08)}.benchmark-type-row.selected{border-color:#6fd1ff47;background:#0b1f308c}.benchmark-type-label,.benchmark-step-btn{border:0;border-radius:999px;padding:.45em .8em;font:inherit;color:#dff7ff;background:#12354fe6;cursor:pointer}.benchmark-step-btn{min-width:2.2em;padding-inline:0}.benchmark-type-count{min-width:4.4em;text-align:center;color:#ffd071;font-weight:700}.debug-label{font-size:.62em;letter-spacing:.14em;text-transform:uppercase;color:#6fd1ff59;margin-top:.45em;margin-bottom:.05em}.debug-label:first-of-type{margin-top:0}.debug-line{font-size:.8em;letter-spacing:.04em;color:#6fb8d4;line-height:1.5;white-space:pre-wrap;word-break:break-all}.restart-btn{border:0;border-radius:999px;padding:.55em 1em;font:inherit;font-size:.85em;background:linear-gradient(180deg,#d1a558,#9a6f2b);color:#04111a;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.menu-btn{border:0;border-radius:999px;padding:.45em .85em;margin-bottom:.4em;font:inherit;font-size:.75em;background:#081f33d1;color:#9dc9dc;cursor:pointer;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(119,192,231,.18)}.menu-btn:active{background:#12354fe6}.menu-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#02070c8c;pointer-events:auto}.menu-card{width:min(88vw,300px);border-radius:1.2em;padding:1.2em;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--hud-glass),var(--hud-bg);border:1px solid var(--hud-border)}.menu-card h2{margin:0 0 .8em;font-size:1.4em;text-align:center}.menu-row{display:flex;justify-content:space-between;align-items:center;padding:.6em 0;font-size:.9em;color:#dff7ff;cursor:pointer}.menu-toggle{appearance:none;width:2.8em;height:1.4em;border-radius:999px;background:#12354fb3;border:1px solid rgba(119,192,231,.2);cursor:pointer;position:relative;transition:background .15s ease}.menu-toggle:after{content:"";position:absolute;top:.15em;left:.15em;width:1em;height:1em;border-radius:50%;background:#6fb8d4;transition:transform .15s ease,background .15s ease}.menu-toggle:checked{background:linear-gradient(180deg,#d1a558,#9a6f2b)}.menu-toggle:checked:after{transform:translate(1.4em);background:#04111a}.menu-close-btn{display:block;margin:1em auto 0;border:0;border-radius:999px;padding:.5em 1.2em;font:inherit;background:#12354fb3;color:#9dc9dc;cursor:pointer}.joystick-base{position:absolute;bottom:8em;left:2em;width:120px;height:120px;border-radius:50%;background:#030f1a8c;border:1px solid rgba(119,192,231,.18);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);touch-action:none;pointer-events:auto;display:none}.joystick-thumb{position:absolute;top:50%;left:50%;width:44px;height:44px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#6fd1ff73,#6fd1ff26);border:1px solid rgba(119,192,231,.3);transform:translate(-50%,-50%);pointer-events:none}.vertical-btn{position:absolute;right:2em;width:56px;height:56px;border-radius:50%;border:1px solid rgba(119,192,231,.18);background:#030f1a8c;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#9dc9dc;font-size:1.2em;display:none;align-items:center;justify-content:center;touch-action:none;pointer-events:auto;cursor:pointer}.vertical-btn.up{bottom:13em}.vertical-btn.down{bottom:7em}.vertical-btn:active{background:#12354fb3}.death-overlay,.pause-overlay{position:absolute;inset:0;display:grid;place-items:center;background:#02070c8c;pointer-events:auto}.pause-card{width:min(92vw,360px);border-radius:24px;padding:22px;pointer-events:auto;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(180deg,#071929e0,#030e17cc),var(--hud-bg);border:1px solid var(--hud-border);box-shadow:var(--hud-shadow);text-align:center}.pause-card h2{margin:0 0 8px;font-size:30px}.pause-card p{margin:0;color:#a4cadb}.pause-resume-btn{width:100%;border:0;border-radius:.55em;padding:.72em 1em;margin:.45em 0 .4em;font:inherit;font-weight:700;background:linear-gradient(180deg,#d1a558,#9a6f2b);color:#04111a;cursor:pointer}.pause-menu-grid{display:grid;gap:.05em;margin:1em 0 .2em}.death-card{pointer-events:auto;width:min(88vw,320px);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--hud-glass),var(--hud-bg);border:1px solid var(--hud-border);border-radius:1.6em;padding:1.8em}.death-card h2{margin:0 0 .4em;font-size:1.8em}.death-card p{margin:0 0 1em;color:#a4cadb;font-size:.9em}.death-stats{display:grid;gap:.4em;margin-bottom:1.2em;font-size:.9em}.death-card button{border:0;border-radius:999px;padding:.6em 1.2em;font:inherit;background:linear-gradient(180deg,#d1a558,#9a6f2b);color:#04111a;cursor:pointer}.debug-panel,.key-hints{display:none}.key-hints{font-size:.65em;letter-spacing:.06em;color:#82b9d280;line-height:1.4;padding:0 .2em;pointer-events:none}@media(max-width:480px){.hud-tl{max-width:calc(100vw - 1.5em);top:.6em;left:.6em}.hud-bl{left:.55em;bottom:calc(env(safe-area-inset-bottom,0px) + 7.1em)}.coord-readout{gap:.16em;font-size:.54em}.coord-axis{width:34.5em;max-width:calc(100vw - 1.1em)}.gauges{gap:.7em}.gauge-value{font-size:.72em}.mini-gauge{width:4.6em}.debug-panel{display:none}}.graphics-fallback{min-height:100svh;display:grid;place-items:center;padding:1.5rem;box-sizing:border-box;background:radial-gradient(circle at 20% 10%,rgba(87,190,255,.18),transparent 32rem),radial-gradient(circle at 80% 90%,rgba(134,74,255,.16),transparent 34rem),#020713;color:#e2f8ffeb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.graphics-fallback__card{width:min(42rem,100%);border:1px solid rgba(127,224,255,.22);border-radius:1.25rem;padding:1.25rem;background:#040d1cc7;box-shadow:0 1.5rem 4rem #00000073}.graphics-fallback__eyebrow{color:#7de1ffbd;letter-spacing:.18em;font-size:.72rem;margin-bottom:.6rem}.graphics-fallback h1{margin:0 0 .75rem;font-size:clamp(1.55rem,5vw,2.6rem)}.graphics-fallback p{line-height:1.55}.graphics-fallback pre{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid rgba(127,224,255,.16);border-radius:.75rem;padding:.8rem;background:#0000003d;color:#cbf3ffdb}.graphics-fallback__hint{color:#cbf3ffb3}.player-card{padding:0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;overflow:visible}.player-card:before{display:none}.gauges{align-items:flex-end;gap:.8em;padding:.2em}.gauge-col{display:grid;grid-template-rows:auto auto;grid-template-columns:auto auto;column-gap:.42em;row-gap:.1em;align-items:end;justify-items:center}.gauge-value{display:none}.gauge-sub{grid-column:2;grid-row:2;font-size:.62em;letter-spacing:.1em;writing-mode:vertical-rl;transform:rotate(180deg);opacity:.78}.mini-gauge{grid-column:1;grid-row:1 / span 2;width:.82em;height:5.6em;display:flex;align-items:flex-end;border-radius:999px 999px 0 0;background:#030d17ad;border:0;box-shadow:inset 0 0 0 1px #6fd1ff14,0 0 18px #00000038;margin:0}.mini-gauge-fill{width:100%;height:var(--fill);border-radius:999px 999px 0 0;background:linear-gradient(0deg,color-mix(in srgb,var(--accent) 52%,#04111a),var(--accent));transition:height .18s ease-out,background .18s ease-out,box-shadow .18s ease-out}.stall-col{min-width:0;display:flex;align-items:flex-end;justify-content:center}.loot-col{display:none}.pause-overlay{z-index:30}.joystick-base,.vertical-btn{z-index:8}.pause-resume-btn{display:block;width:100%;margin-top:1em;border:0;border-radius:999px;padding:.72em 1em;font:inherit;font-weight:700;color:#04111a;background:linear-gradient(180deg,#9fffe0,#6fd1ff);cursor:pointer}@media(max-width:480px){.mini-gauge{height:4.8em}.gauges{gap:.55em}}.startup-loader{position:fixed;inset:0;z-index:50;display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 50% 38%,rgba(72,180,230,.18),transparent 30%),radial-gradient(circle at 35% 65%,rgba(214,162,72,.1),transparent 26%),linear-gradient(180deg,#04111a,#02070c);transition:opacity .42s ease,visibility .42s ease}.startup-loader.done{opacity:0;visibility:hidden;pointer-events:none}.loader-card{width:min(86vw,360px);display:grid;justify-items:center;gap:18px;padding:28px 26px;border-radius:28px;background:linear-gradient(180deg,#071929d6,#030e17bd);border:1px solid rgba(119,192,231,.22);box-shadow:0 24px 80px #0000006b,inset 0 1px #ffffff0d;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.loader-ship{width:138px;height:86px;overflow:visible;animation:loader-ship-float 1.6s ease-in-out infinite;filter:drop-shadow(0 0 18px rgba(111,209,255,.25))}.loader-ship .hull{fill:none;stroke:#dff7ff;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.loader-ship .sail{fill:#6fd1ff29;stroke:#9fffe0;stroke-width:4;stroke-linejoin:round}.loader-ship .wake{fill:none;stroke:#6fd1ff8c;stroke-width:3;stroke-linecap:round;stroke-dasharray:18 14;animation:loader-wake 1.1s linear infinite}.loader-title{font-size:18px;line-height:1;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#dff7ff}.loader-subtitle{min-height:1.4em;font-size:12px;letter-spacing:.08em;color:#a2d3e9c7;text-align:center}.loader-bar{width:100%;height:7px;overflow:hidden;border-radius:999px;background:#08131deb;border:1px solid rgba(111,209,255,.12)}.loader-bar:before{content:"";display:block;height:100%;width:42%;border-radius:inherit;background:linear-gradient(90deg,#9fffe0,#6fd1ff,#ffd071);animation:loader-bar-scan 1.15s ease-in-out infinite}@keyframes loader-ship-float{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-8px) rotate(1deg)}}@keyframes loader-wake{0%{stroke-dashoffset:0}to{stroke-dashoffset:-32}}@keyframes loader-bar-scan{0%{transform:translate(-105%)}55%{transform:translate(65%)}to{transform:translate(245%)}}
