:root{--void:#05060f;--void-lift:#0c1024;--accent:#6cf0ff;--accent-dim:#2b6b78;--warn:#ffb347;--danger:#ff5470;--rock:#7d8496;--star-near:#fff;--star-mid:#c9d4ff;--star-far:#6b7699}html,body{background:var(--void);color:#1a1a1a;height:100%;margin:0;font-family:system-ui,sans-serif;overflow:hidden}a{color:#0b5fff}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.visually-hidden:focus{clip-path:none;color:#1a1a1a;background:#fff;width:auto;height:auto;padding:.5rem;position:static}#game{width:100vw;height:100vh;position:relative}#scene{width:100%;height:100%;display:block}#hud{top:max(1rem, env(safe-area-inset-top));left:max(1rem, env(safe-area-inset-left));pointer-events:none;gap:clamp(.5rem,1.5vw,1rem);display:flex;position:absolute}.gauge{flex-direction:column;align-items:center;gap:.4rem;display:flex}.meter{background:#ffffff14;border:2px solid #ffffff59;border-radius:999px;align-items:flex-end;width:clamp(.75rem,2vw,1.25rem);height:clamp(6rem,22vh,10rem);display:flex;overflow:hidden}.meter-fill{background:var(--gauge-color);width:100%;height:100%;transition:height .12s linear}.gauge-icon{width:clamp(.9rem,2.2vw,1.35rem);height:auto;color:var(--gauge-color);opacity:.85}.gauge:has([data-meter=air]){--gauge-color:var(--accent)}.gauge:has([data-meter=fuel]){--gauge-color:var(--warn)}.gauge:has([data-meter=ammo]){--gauge-color:#ffe066}.meter.is-critical{border-color:var(--danger)}.meter.is-critical .meter-fill{background:var(--danger)}#controls{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));opacity:.55;grid-template-columns:repeat(3,2.75rem);gap:.35rem;transition:opacity .2s;display:grid;position:absolute}#controls:hover,#controls:focus-within{opacity:.9}.key{color:#ffffffbf;touch-action:none;cursor:pointer;background:#ffffff14;border:2px solid #fff6;border-bottom-width:4px;border-radius:.5rem;place-items:center;min-width:44px;height:2.75rem;min-height:44px;padding:0;transition:transform 60ms,background-color 60ms,border-color 60ms;display:grid}.key svg{fill:none;stroke:currentColor;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round;width:55%;height:55%}.key.is-down,.key:active{border-bottom-width:2px;border-color:var(--accent);color:#fff;background:#6cf0ff47;margin-bottom:2px;transform:translateY(2px)}.key-w{grid-area:1/2}.key-a{grid-area:2/1}.key-d{grid-area:2/3}.key-space{background:#ffe06624;grid-area:3/1/auto/-1;height:1.75rem;min-height:32px}.key-space.is-down,.key-space:active{background:#ffe06661;border-color:#ffe066}
