:root{--colour-surface:#10131a;--colour-panel:#1b2130;--colour-text:#f2f5fa;--colour-text-muted:#b9c3d6;--colour-accent:#6ea8fe;--colour-accent-contrast:#0a0d14;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{background:var(--colour-surface);color:var(--colour-text);overscroll-behavior:none;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;overflow:hidden}.game-surface{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;position:fixed;inset:0}.game-surface canvas{width:100%;height:100%;display:block}.overlay{padding:calc(1.5rem + var(--safe-top)) calc(1.5rem + var(--safe-right)) calc(1.5rem + var(--safe-bottom)) calc(1.5rem + var(--safe-left));text-align:center;z-index:10;background:#090b10eb;flex-direction:column;justify-content:center;align-items:center;gap:1rem;display:flex;position:fixed;inset:0}.overlay h1,.overlay h2{margin:0;font-size:clamp(1.3rem,4vw,2rem)}.overlay p{max-width:34rem;color:var(--colour-text-muted);margin:0;line-height:1.5}.button{background:var(--colour-accent);min-width:44px;min-height:44px;color:var(--colour-accent-contrast);font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;padding:.65rem 1.4rem;font-weight:600}.button--secondary{border-color:var(--colour-text-muted);color:var(--colour-text);background:0 0}.button--update{border-color:var(--colour-accent);color:var(--colour-text);background:0 0;margin-top:.75rem}:focus-visible{outline:3px solid var(--colour-accent);outline-offset:2px}.settings-panel{background:var(--colour-panel);text-align:left;border-radius:12px;flex-direction:column;gap:1rem;width:min(28rem,100%);padding:1.25rem;display:flex}.settings-field{flex-direction:column;gap:.4rem;display:flex}.settings-field--inline{flex-direction:row;align-items:center;gap:.75rem}.settings-field input[type=range]{width:100%}.crosshair{pointer-events:none;z-index:5;background:#ffffffd9;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;position:fixed;top:50%;left:50%;box-shadow:0 0 0 1px #0009}.touch-controls{pointer-events:none;z-index:4;position:fixed;inset:0}.hud-button{right:calc(1.25rem + var(--safe-right));bottom:calc(1.75rem + var(--safe-bottom));min-width:64px;min-height:64px;color:var(--colour-text);font:inherit;z-index:6;background:#00000059;border:2px solid #fff9;border-radius:50%;padding:.75rem 1rem;font-size:.8rem;position:fixed}.interaction-prompt{color:var(--colour-text);pointer-events:none;z-index:5;background:#0000008c;border-radius:6px;align-items:baseline;gap:.5rem;padding:.35rem .75rem;font-size:.95rem;display:flex;position:fixed;top:calc(50% - 3.5rem);left:50%;transform:translate(-50%)}.interaction-prompt__key{border:1px solid #fff9;border-radius:4px;padding:0 .4rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85em}.interaction-prompt__hint{color:var(--colour-text-muted);font-size:.85em}.interaction-prompt__stow{color:var(--colour-text-muted);white-space:nowrap;font-size:.85em}.interaction-prompt__stow .interaction-prompt__key{color:var(--colour-text)}.hud-button--throw{right:calc(1.25rem + 88px + var(--safe-right))}.hud-button--jump{bottom:calc(1.75rem + 84px + var(--safe-bottom))}.hud-button--pause{top:calc(.75rem + var(--safe-top));border-radius:10px;min-width:88px;bottom:auto;left:50%;right:auto;transform:translate(-50%)}.hud-corner{top:calc(.75rem + var(--safe-top));right:calc(.75rem + var(--safe-right));pointer-events:none;z-index:5;flex-direction:column;align-items:flex-end;gap:.4rem;display:flex;position:fixed}.objective-hud{max-width:40vw;color:var(--colour-text);pointer-events:none;z-index:5;background:#0000008c;border-radius:6px;padding:.5rem .75rem;font-size:.85rem}.objective-hud__level{letter-spacing:.08em;text-transform:uppercase;opacity:.7;margin:0 0 .35rem;font-size:.7rem;font-weight:600}.objective-hud__item{margin:0}.objective-hud__item+.objective-hud__item{margin-top:.25rem}.objective-hud__count{font-variant-numeric:tabular-nums;min-width:2.25em;font-weight:600;display:inline-block}.objective-hud__item--complete{color:#9fe8ac}.part-tally-hud{max-width:40vw;color:var(--colour-text);pointer-events:none;z-index:5;background:#0000008c;border-radius:6px;padding:.5rem .75rem;font-size:.85rem}.part-tally-hud__count{font-variant-numeric:tabular-nums;font-weight:600}.update-notice{top:calc(.75rem + var(--safe-top));left:calc(.75rem + var(--safe-left));max-width:40vw;color:var(--colour-text);pointer-events:none;z-index:5;background:#0000008c;border-radius:6px;padding:.5rem .75rem;font-size:.85rem;position:fixed}.settings-build-id{color:var(--colour-text-muted);font-variant-numeric:tabular-nums;margin:.75rem 0 0;font-size:.75rem}.perf-readout{top:calc(.5rem + var(--safe-top));left:calc(.5rem + var(--safe-left));color:#9ff59f;pointer-events:none;z-index:20;background:#0009;border-radius:4px;padding:.25rem .5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem;position:fixed}.crossing-fade{z-index:40;opacity:0;pointer-events:none;background:#05060c;transition:opacity .32s ease-in-out;position:fixed;inset:0}.crossing-fade--on{opacity:1;transition-duration:.18s}.pocket-hud{bottom:calc(.75rem + var(--safe-bottom));z-index:5;position:fixed;left:50%;transform:translate(-50%)}.pocket-hud__slots{gap:.4rem;display:flex}.pocket-hud__slot{min-width:64px;min-height:48px;color:var(--colour-text);font:inherit;background:#00000073;border:2px solid #ffffff59;border-radius:8px;flex-direction:column;align-items:center;gap:.1rem;padding:.3rem .5rem;font-size:.7rem;display:flex}.pocket-hud__slot--full{background:#000000a6;border-color:#ffffffbf}.pocket-hud__number{font-variant-numeric:tabular-nums;opacity:.75;font-size:.85rem;font-weight:600}.pocket-hud__label{text-overflow:ellipsis;white-space:nowrap;max-width:8rem;overflow:hidden}.pocket-hud__message{color:var(--colour-text);text-align:center;background:#000000a6;border-radius:6px;margin:0 0 .35rem;padding:.3rem .6rem;font-size:.8rem}.hud-button--stow{right:calc(1.25rem + 88px + var(--safe-right));bottom:calc(1.75rem + 84px + var(--safe-bottom))}
