:root{color:#eafaff;background:#05070b;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none}*{box-sizing:border-box}html,body,#game-root{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:#05070b}button{font:inherit}#game-root{position:relative;isolation:isolate;touch-action:none;-webkit-user-select:none;user-select:none}#game-canvas{position:absolute;inset:0;display:block;width:100%;height:100%;background:radial-gradient(circle at 60% 40%,#0a101c 0,#05070b 55%,#020306)}#webgl-fallback{position:absolute;z-index:50;inset:50% auto auto 50%;transform:translate(-50%,-50%);width:min(92vw,420px);padding:28px;border:1px solid #ff5a72;background:#0b0d13;box-shadow:0 0 40px #ff5a7233;text-align:center}#webgl-fallback span{display:block;margin:12px 0 20px;color:#9ba8b8}.game-ui{position:absolute;inset:0;z-index:10;pointer-events:none}.game-ui button{pointer-events:auto}.hud{position:absolute;inset:max(14px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) auto max(16px,env(safe-area-inset-left));display:grid;grid-template-columns:1fr auto 1fr;align-items:start;gap:16px;opacity:0;transition:opacity .2s ease}.game-ui.playing .hud,.game-ui:has(.upgrade-overlay:not([hidden])) .hud{opacity:1}.score-cluster{display:grid;justify-items:start;filter:drop-shadow(0 0 8px #8fd8ff66)}.eyebrow,.kicker{color:#78ffb0;font:700 10px/1.1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.22em}#score{font:800 clamp(20px,4vw,34px)/1 ui-monospace,SFMono-Regular,Menlo,monospace;letter-spacing:.08em}.combo{color:#ffe87a;font:800 18px/1 ui-monospace,monospace}.progress-nodes{display:grid;grid-template-columns:auto auto auto;align-items:center;gap:9px;padding-top:6px}.progress-nodes span{color:#71879c;font:700 9px/1 ui-monospace,monospace;letter-spacing:.12em;white-space:nowrap}.progress-nodes b{display:flex;gap:6px}.progress-nodes i{width:24px;height:4px;border:1px solid #435268;background:#101722;transform:skew(-25deg)}.progress-nodes i.active{background:#8fd8ff;border-color:#8fd8ff;box-shadow:0 0 12px #8fd8ff}.progress-nodes i.done{background:#78ffb0;border-color:#78ffb0}.durability-wrap{display:flex;justify-content:flex-end;align-items:center;gap:12px}.durability{display:flex;gap:5px}.durability i{width:16px;height:9px;border:1px solid #496076;transform:skew(-20deg)}.durability i.active{background:#8fd8ff;border-color:#8fd8ff;box-shadow:0 0 10px #8fd8ff99}.icon-button{min-width:44px;min-height:44px;border:1px solid #314154;color:#d9f3ff;background:#08101acc;cursor:pointer}.overlay{position:absolute;inset:0;display:grid;place-items:center;padding:24px;pointer-events:auto;background:radial-gradient(circle,#0b1324cc 0,#030509f2 72%);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.overlay[hidden]{display:none}.menu-panel,.pause-panel,.result-panel,.upgrade-panel{width:min(92vw,680px);text-align:center}.menu-panel{position:relative;padding:clamp(24px,6vw,64px);border:1px solid #28435b;background:linear-gradient(145deg,#07101bd9,#03070dd9);box-shadow:0 0 80px #3a7aa933,inset 0 0 40px #8fd8ff0c;clip-path:polygon(0 18px,18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%)}.menu-panel:before{content:"";position:absolute;inset:8px;border:1px solid #78ffb019;pointer-events:none}.menu-panel h1{margin:18px 0 8px;font:900 clamp(48px,12vw,100px)/.75 ui-sans-serif,system-ui;letter-spacing:-.08em;color:#e8f8ff;text-shadow:0 0 28px #8fd8ff55}.menu-panel h1 em{color:#78ffb0;font-style:normal}.menu-panel p{margin:24px 0;color:#9fb1c5;letter-spacing:.08em}.primary-button{min-height:52px;min-width:min(280px,82vw);padding:0 28px;border:1px solid #78ffb0;color:#03110a;background:#78ffb0;font-weight:900;letter-spacing:.12em;cursor:pointer;box-shadow:0 0 22px #78ffb055;clip-path:polygon(0 10px,10px 0,100% 0,100% calc(100% - 10px),calc(100% - 10px) 100%,0 100%);transition:transform .15s ease,box-shadow .15s ease}.primary-button:hover,.primary-button:focus-visible{transform:translateY(-2px);box-shadow:0 0 36px #78ffb099;outline:2px solid #fff;outline-offset:3px}.controls-copy{display:flex;justify-content:center;gap:24px;margin-top:24px;color:#708196;font:600 11px ui-monospace,monospace}.best-score{margin-top:24px;color:#64778c;font:700 11px ui-monospace,monospace;letter-spacing:.2em}.best-score strong{color:#8fd8ff}.upgrade-panel h2,.pause-panel h2{margin:10px 0 28px;font-size:clamp(28px,6vw,50px)}.upgrade-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.upgrade-grid button{min-height:176px;padding:20px;border:1px solid #314b62;color:#dff7ff;background:linear-gradient(155deg,#0c1624,#070b12);text-align:left;cursor:pointer;clip-path:polygon(0 12px,12px 0,100% 0,100% calc(100% - 12px),calc(100% - 12px) 100%,0 100%)}.upgrade-grid button:hover,.upgrade-grid button:focus-visible{border-color:#78ffb0;transform:translateY(-4px);outline:none;box-shadow:0 0 28px #78ffb02e}.upgrade-grid span{color:#78ffb0;font:700 10px ui-monospace,monospace;letter-spacing:.18em}.upgrade-grid strong{display:block;margin:18px 0 10px;font:900 18px ui-monospace,monospace}.upgrade-grid small{color:#91a0b2;line-height:1.5}.pause-panel,.result-panel{padding:36px;border:1px solid #314b62;background:#07101bea}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:20px}.settings-grid button{min-height:48px;border:1px solid #26394d;color:#b6c7d8;background:#08101a;cursor:pointer}.settings-grid b{color:#78ffb0;margin-left:8px}.result-panel h2{margin:14px 0 22px;font:900 clamp(46px,12vw,88px)/1 ui-monospace,monospace;color:#8fd8ff}.result-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:20px 0 28px}.result-stats span{padding:10px;color:#7e90a3;font:700 10px ui-monospace,monospace}.result-stats b{display:block;margin-top:6px;color:#eafaff;font-size:15px}.tutorial-hint{position:absolute;left:50%;bottom:18%;transform:translate(-50%);padding:9px 14px;color:#eafaff;background:#07101acc;border:1px solid #8fd8ff55;font:700 12px ui-monospace,monospace}.tutorial-hint:empty{display:none}.jump-button{position:absolute;right:max(18px,env(safe-area-inset-right));bottom:max(18px,env(safe-area-inset-bottom));width:72px;height:72px;border-radius:50%;border:1px solid #8fd8ff99;color:#8fd8ff;background:#07101ab8;font:800 11px ui-monospace,monospace;letter-spacing:.08em;box-shadow:0 0 24px #8fd8ff22;opacity:0}.game-ui.playing .jump-button{opacity:1}.aim-help{position:absolute;left:max(18px,env(safe-area-inset-left));bottom:max(22px,env(safe-area-inset-bottom));color:#5e7186;font:700 10px ui-monospace,monospace;letter-spacing:.16em;opacity:0}.game-ui.playing .aim-help{opacity:.8}.aim-help span{color:#9b7bff;font-size:18px}.score-popups{position:fixed;inset:0;pointer-events:none;overflow:hidden}.score-popups span{position:fixed;color:#fff;font:900 18px ui-monospace,monospace;text-shadow:0 0 12px #9b7bff;animation:score-rise .72s ease-out forwards}@keyframes score-rise{to{transform:translateY(-42px) scale(1.1);opacity:0}}.color-blind .durability i.active,.color-blind .progress-nodes i.done{background:#00e8d4}@media(max-width:600px){.hud{gap:8px}.progress-nodes{gap:3px}.progress-nodes span{font-size:7px;letter-spacing:.05em}.progress-nodes b{gap:2px}.progress-nodes i{width:13px}.durability i{width:11px}.controls-copy{flex-direction:column;gap:6px}.upgrade-grid{grid-template-columns:1fr;max-height:62vh;overflow-y:auto}.upgrade-grid button{min-height:112px}.menu-panel{padding:32px 20px}.menu-panel h1{font-size:58px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}#game-canvas{filter:none!important}}@media(max-height:560px){.menu-panel{padding-block:18px}.menu-panel h1{font-size:48px;margin-block:10px}.menu-panel p,.controls-copy,.best-score{margin-block:10px}.jump-button{width:58px;height:58px}}
