*{font-family:inherit}body,html{width:calc(100 * var(--game-vw,1vw));height:calc(100 * var(--game-vh,1vh));background:#02030a;justify-content:center;align-items:center;margin:0;display:flex;overflow:hidden}.home-page #nebula{z-index:2;pointer-events:none;opacity:1;transition:opacity 2.5s cubic-bezier(.22,1,.36,1);position:fixed;inset:0;overflow:hidden}.loading-colors{--nebula-primary:48, 104, 198;--nebula-secondary:42, 164, 194;--nebula-accent:174, 205, 255;--nebula-deep:18, 34, 82;--loading-cloud-texture:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='640' height='480'%3E%3Cfilter id='clouds' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.007 .011' numOctaves='3' seed='8' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 -1'/%3E%3C/filter%3E%3Cpath filter='url(%23clouds)' d='M0 0h640v480H0z'/%3E%3C/svg%3E");background:radial-gradient(ellipse at 28% 38%, rgba(var(--nebula-deep), .4), transparent 62%), radial-gradient(ellipse at 76% 64%, rgba(var(--nebula-secondary), .08), transparent 58%), #02030a;transition:opacity .6s;position:absolute;inset:-18%}.home-page.nebula-ready .loading-colors{opacity:0}.loading-colors:before,.loading-colors:after{content:"";-webkit-mask-image:var(--loading-cloud-texture);mask-image:var(--loading-cloud-texture);position:absolute;inset:0;mask-size:100% 100%}.loading-colors:before{background:radial-gradient(ellipse 28% 12% at 28% 37%, rgba(var(--nebula-primary), .65), transparent 74%), radial-gradient(ellipse 38% 23% at 34% 46%, rgba(var(--nebula-primary), .35), transparent 72%), radial-gradient(ellipse 22% 32% at 60% 65%, rgba(var(--nebula-accent), .18), transparent 76%), radial-gradient(ellipse 33% 16% at 78% 60%, rgba(var(--nebula-secondary), .55), transparent 72%), radial-gradient(ellipse 24% 25% at 83% 23%, rgba(var(--nebula-secondary), .35), transparent 76%);animation:16s ease-in-out -4s infinite alternate loading-nebula-drift}.loading-colors:after{background:radial-gradient(ellipse 22% 5% at 32% 41%, rgba(var(--nebula-accent), .22), transparent 78%), radial-gradient(ellipse 27% 9% at 43% 50%, rgba(var(--nebula-primary), .3), transparent 76%), radial-gradient(ellipse 9% 25% at 60% 56%, rgba(var(--nebula-secondary), .3), transparent 78%), radial-gradient(ellipse 21% 6% at 72% 66%, rgba(var(--nebula-accent), .22), transparent 78%);animation:11s ease-in-out -3s infinite alternate loading-nebula-wisps}.loading-glass{backdrop-filter:blur(8px)saturate(1.12);background:linear-gradient(128deg,#c5e8ff0a,#0d1b291a 48%,#b9cee908);position:absolute;inset:0;box-shadow:inset 0 1px #dbedff14,inset 1px 0 #dbedff08,inset 0 0 120px #02061166}.loading-glass:before,.loading-glass:after{content:"";position:absolute;inset:0}.loading-glass:before{background:linear-gradient(122deg,#0000 12%,#d4edff03 21%,#d4edff12 26%,#0000 34% 66%,#c5ddf70c 72%,#0000 79%)}.loading-glass:after{opacity:.025;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='128'%3E%3Cfilter id='grain'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Cpath fill='%23fff' filter='url(%23grain)' d='M0 0h128v128H0z'/%3E%3C/svg%3E")}@keyframes loading-nebula-drift{0%{transform:translate(-7%,5%)rotate(-5deg)scale(1.06)}to{transform:translate(8%,-6%)rotate(6deg)scale(1.15)}}@keyframes loading-nebula-wisps{0%{opacity:.65;transform:translate(6%,-4%)rotate(7deg)scale(1.12)}to{opacity:1;transform:translate(-8%,7%)rotate(-8deg)scale(1.02)}}#loadingProgress{z-index:20;pointer-events:none;background:#81cde614;border-top:1px solid #c3e7f224;width:100%;height:16px;transition:transform .5s cubic-bezier(.22,1,.36,1);position:absolute;bottom:0;left:0}#loadingProgress span{transform-origin:0;background:linear-gradient(90deg,#6aafc340,#9edcf080);height:100%;transition:transform .32s;display:block;transform:scaleX(0);box-shadow:0 0 18px #88d0e326}.home-page.loading-complete #loadingProgress{transform:translateY(110%)}.home-page.nebula-ready #nebula,.home-page.loading-complete #nebula{opacity:0}.home-page.nebula-ready #nebula{transition-duration:1.2s}@media (prefers-reduced-motion:reduce){.loading-colors:before,.loading-colors:after{animation:none}.home-page #nebula,.loading-colors,#loadingProgress,#loadingProgress span{transition:none}}#debugPanel{color:#fff;z-index:3;text-align:right;font-family:monospace;font-size:12px;display:none;position:absolute;top:120px;right:20px}#weaponButtons{z-index:99;opacity:0;pointer-events:none;background:linear-gradient(135deg,#071425d1,#030a16bd);border:1px solid #84d4ff38;border-radius:5px 12px;flex-direction:column;gap:7px;padding:7px;transition:opacity .16s,transform .16s;display:none;position:absolute;top:50%;left:16px;transform:translate(-8px,-50%)scale(.96);box-shadow:0 10px 24px #0000003d}body.local-debug #weaponButtons{display:flex}body.local-debug.weapon-debug-visible #weaponButtons{opacity:1;pointer-events:auto;transform:translateY(-50%)scale(1)}#tuningPanel{z-index:99;width:min(278px, calc(calc(100 * var(--game-vw,1vw)) - 32px));max-height:calc(calc(100 * var(--game-vh,1vh)) - 32px);color:#ebf9fff0;box-sizing:border-box;opacity:0;pointer-events:none;scrollbar-width:thin;scrollbar-color:#68daff73 transparent;background:linear-gradient(145deg,#071425f0,#030a16e6);border:1px solid #84d4ff47;border-radius:12px 5px;padding:12px;transition:opacity .16s,transform .16s;display:none;position:fixed;top:50%;right:16px;overflow-y:auto;transform:translate(8px,-50%)scale(.98);box-shadow:inset 0 0 24px #4bc4ff09,0 12px 32px #00000052}body.local-debug #tuningPanel{display:block}body.local-debug.weapon-debug-visible #tuningPanel{opacity:1;pointer-events:auto;transform:translateY(-50%)scale(1)}.tuning-header{border-bottom:1px solid #84d4ff24;justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:9px;display:flex}.tuning-kicker{color:#66dcffb8;letter-spacing:.18em;font:700 9px/1 Titillium Web,sans-serif;display:block}.tuning-header h2{letter-spacing:.035em;margin:3px 0 0;font:600 16px/1 Titillium Web,sans-serif}#resetTuning{color:#dbf5ffd6;letter-spacing:.06em;cursor:pointer;background:#49b8e614;border:1px solid #75daff47;border-radius:3px 7px;padding:5px 8px;font:600 10px/1 Titillium Web,sans-serif;transition:color .14s,background .14s,border-color .14s,box-shadow .14s}#resetTuning:hover,#resetTuning:focus-visible{color:#fff;background:#49b8e633;border-color:#75daffbd;outline:none;box-shadow:0 0 11px #53ccff29}.tuning-section{padding:9px 0 2px}.tuning-section+.tuning-section{border-top:1px solid #84d4ff1a}.tuning-section h3{color:#a4e3ffb8;letter-spacing:.1em;text-transform:uppercase;margin:0 0 7px;font:600 10px/1 Titillium Web,sans-serif}.tuning-control{color:#e4f2f9d1;grid-template-columns:1fr auto;align-items:center;gap:2px 10px;margin:0 0 7px;font:500 11px/1.1 Titillium Web,sans-serif;display:grid}.tuning-control output{color:#d8f6ff;text-align:right;min-width:52px;font:600 10px/1 monospace}.tuning-control input[type=range]{--fill:50%;appearance:none;cursor:ew-resize;background:0 0;grid-column:1/-1;width:100%;height:14px;margin:0}.tuning-control input[type=range]::-webkit-slider-runnable-track{background:linear-gradient(90deg, #59daffe6, #c363ffd1 var(--fill), #688da62e var(--fill));border-radius:2px;height:3px}.tuning-control input[type=range]::-webkit-slider-thumb{appearance:none;background:#e4f9ff;border:1px solid #5cdaffe6;border-radius:50%;width:10px;height:10px;margin-top:-3.5px;transition:transform .12s,box-shadow .12s;box-shadow:0 0 8px #4ccfffad}.tuning-control input[type=range]:hover::-webkit-slider-thumb,.tuning-control input[type=range]:focus-visible::-webkit-slider-thumb{transform:scale(1.2);box-shadow:0 0 12px #4ccfffeb}.tuning-note{color:#bddae780;margin:5px 0 0;font:500 9px/1.25 Titillium Web,sans-serif}.weapon-btn{--weapon-rgb:255, 91, 101;color:#f7fcfff0;background:linear-gradient(105deg, rgba(var(--weapon-rgb), .27), #081427c7 62%);border:1px solid rgba(var(--weapon-rgb), .58);min-width:118px;box-shadow:inset 2px 0 0 rgba(var(--weapon-rgb), .9), inset 0 0 12px rgba(var(--weapon-rgb), .08);letter-spacing:.04em;text-align:left;cursor:pointer;border-radius:3px 9px;padding:7px 10px 7px 13px;font:600 12px/1 Titillium Web,sans-serif;transition:transform .15s,border-color .15s,box-shadow .15s,background .15s;position:relative;overflow:hidden}.weapon-btn:after{content:"";background:linear-gradient(90deg,#0000,#ffffff4d,#0000);width:26%;transition:transform .35s;position:absolute;inset:0 auto 0 -40%;transform:skew(-22deg)}.weapon-btn:hover,.weapon-btn:focus-visible{background:linear-gradient(105deg, rgba(var(--weapon-rgb), .46), #0d1f37eb 62%);border-color:rgba(var(--weapon-rgb), .95);box-shadow:inset 2px 0 0 rgba(var(--weapon-rgb), 1), inset 0 0 16px rgba(var(--weapon-rgb), .2), 0 0 13px rgba(var(--weapon-rgb), .18);outline:none;transform:translate(3px)}.weapon-btn:hover:after,.weapon-btn:focus-visible:after{transform:translate(520%)skew(-22deg)}.weapon-btn:active{transform:translate(1px)scale(.98)}.weapon-btn[data-weapon-level=dual]{--weapon-rgb:225, 76, 126}.weapon-btn[data-weapon-level=purple]{--weapon-rgb:233, 79, 255}.weapon-btn[data-weapon-level=cannon]{--weapon-rgb:255, 79, 225}#gameControls{z-index:99;gap:8px;display:flex;position:absolute;top:16px;left:16px}.game-control{color:#ddf4ffd1;cursor:pointer;background:linear-gradient(135deg,#0c1b2fc7,#040b18bd);border:1px solid #84d4ff57;border-radius:5px 11px;place-items:center;width:38px;height:38px;padding:0;transition:transform .16s,color .16s,border-color .16s,background .16s,box-shadow .16s;display:grid;position:relative;box-shadow:inset 0 0 0 1px #ffffff09,0 5px 16px #0003}.game-control[data-tooltip]:not([data-tooltip=""]):before{content:attr(data-tooltip);width:max-content;max-width:calc(calc(100 * var(--game-vw,1vw)) - 32px);color:#e5f8fff0;letter-spacing:.04em;pointer-events:none;opacity:0;background:#040d1de0;border:1px solid #84d4ff47;border-radius:3px 7px;padding:4px 7px;font:600 11px/1 Titillium Web,sans-serif;transition:opacity .14s,transform .14s;position:absolute;top:calc(100% + 9px);left:50%;transform:translate(-50%,-4px);box-shadow:0 4px 14px #0000003d}.game-control i{font-size:15px;transition:transform .22s}.game-control:hover,.game-control:focus-visible{color:#f1fbff;background:linear-gradient(135deg,#14415beb,#08182de6);border-color:#90e7ffeb;outline:none;transform:translateY(-1px)scale(1.04);box-shadow:inset 0 0 12px #69dcff29,0 0 16px #53ccff47}.game-control[data-tooltip]:not([data-tooltip=""]):hover:before,.game-control[data-tooltip]:not([data-tooltip=""]):focus-visible:before{opacity:1;transform:translate(-50%)}#toggleButton:before{left:0;transform:translateY(-4px)}#restartButton:before{left:auto;right:0;transform:translateY(-4px)}#toggleButton:hover:before,#toggleButton:focus-visible:before,#restartButton:hover:before,#restartButton:focus-visible:before{transform:translate(0)}#toggleButton:hover i,#toggleButton:focus-visible i{transform:scale(1.13)}#restartButton:hover i,#restartButton:focus-visible i{transform:rotate(120deg)}canvas{z-index:1;position:absolute;top:0;left:0}#crosshair{--crosshair-x:calc(50 * var(--game-vw,1vw));--crosshair-y:calc(50 * var(--game-vh,1vh));--reticle-color:#a6ebffe0;--reticle-glow:#7ee0ff9e;left:var(--crosshair-x);top:var(--crosshair-y);pointer-events:none;z-index:4;background:radial-gradient(circle at center, var(--reticle-color) 0 1.5px, transparent 2px);width:32px;height:32px;filter:drop-shadow(0 0 3px var(--reticle-glow));opacity:0;transition:opacity .12s ease-out,transform .12s ease-out;animation:3.6s ease-in-out infinite reticle-glow;position:fixed;transform:translate(-50%,-50%)}body.game-active #crosshair{opacity:.75}body.game-active.control-hover #crosshair,body.game-active:has(.game-control:hover) #crosshair,body.game-active:has(#weaponButtons:hover,#tuningPanel:hover) #crosshair{opacity:0}#tiltEdges{--tilt-left:0;--tilt-right:0;--tilt-top:0;--tilt-bottom:0;pointer-events:none;z-index:3;position:fixed;inset:0}.tilt-edge{opacity:0;filter:blur(1px)drop-shadow(0 0 9px #ff2316d1);will-change:opacity, transform;position:absolute}.tilt-edge-left,.tilt-edge-right{width:28px;top:0;bottom:0}.tilt-edge-top,.tilt-edge-bottom{height:28px;left:0;right:0}.tilt-edge-left{opacity:var(--tilt-left);transform:scaleX(calc(.35 + var(--tilt-left) * .65));transform-origin:0;background:linear-gradient(90deg,#ff4e30db,#ff180c33 42%,#0000);left:0}.tilt-edge-right{opacity:var(--tilt-right);transform:scaleX(calc(.35 + var(--tilt-right) * .65));transform-origin:100%;background:linear-gradient(270deg,#ff4e30db,#ff180c33 42%,#0000);right:0}.tilt-edge-top{opacity:var(--tilt-top);transform:scaleY(calc(.35 + var(--tilt-top) * .65));transform-origin:top;background:linear-gradient(#ff4e30db,#ff180c33 42%,#0000);top:0}.tilt-edge-bottom{opacity:var(--tilt-bottom);transform:scaleY(calc(.35 + var(--tilt-bottom) * .65));transform-origin:bottom;background:linear-gradient(#0000,#ff180c33 58%,#ff4e30db);bottom:0}#forwardMarker{pointer-events:none;z-index:3;color:#dfbd77;filter:drop-shadow(0 0 3px #241a08);width:20px;height:20px;display:none;position:fixed;top:0;left:0}body.game-active #forwardMarker{opacity:var(--forward-opacity,0);display:block}#forwardMarker svg{stroke:currentColor;stroke-width:1.3px;stroke-linecap:round;stroke-linejoin:round;width:100%;height:100%}#crosshair svg{width:100%;height:100%;stroke:var(--reticle-color);stroke-width:1.2px;stroke-linecap:round;stroke-linejoin:round;display:block;overflow:visible}#crosshair g{transform-origin:16px 16px;display:none}#crosshair[data-barrels="1"] .reticle-single,#crosshair[data-barrels="2"] .reticle-twin,#crosshair[data-barrels="3"] .reticle-triple{display:block}#crosshair.firing{--reticle-color:#ff75db;--reticle-glow:#ff75dbe0}#crosshair[data-range=unreachable]{--reticle-color:#c49d65;--reticle-glow:#c49d6566}.target-range-label{top:min(40px, calc(100 * var(--game-vh,1vh) - var(--crosshair-y) - 12px));left:clamp(calc(94px - var(--crosshair-x)), 50%, calc(100 * var(--game-vw,1vw) - var(--crosshair-x) - 62px));text-align:center;color:#e2b578;width:140px;font:600 9px/1.3 var(--pw-font-body);letter-spacing:.09em;display:none;position:absolute;transform:translate(-50%)}#crosshair[data-range=unreachable] .target-range-label{display:block}#crosshair.hit{--reticle-color:#ffe080;--reticle-glow:#ffe080f5;transform:translate(-50%,-50%)scale(.92)}#crosshair.cannon{--reticle-color:#ff4fe1;--reticle-glow:#ff4fe1;transform:translate(-50%,-50%)scale(1.14)}@keyframes reticle-glow{0%,to{filter:drop-shadow(0 0 2px var(--reticle-glow))}50%{filter:drop-shadow(0 0 4px var(--reticle-glow))}}@media (prefers-reduced-motion:reduce){#crosshair{animation:none}}#combo{text-align:center;white-space:nowrap;color:#ffe08a;letter-spacing:.16em;text-shadow:0 0 14px #ffc151cc;opacity:0;pointer-events:none;z-index:4;min-height:18px;margin-bottom:6px;font-size:14px;font-weight:700;transition:opacity .2s,transform .2s;position:relative;transform:translateY(5px)}#combo.visible{opacity:1;transform:translateY(0)}#momentumHud{--momentum-color:#63d9ff;width:min(280px, calc(calc(100 * var(--game-vw,1vw)) - 48px));opacity:0;pointer-events:none;z-index:4;transition:opacity .25s,transform .25s;position:fixed;bottom:50px;left:50%;transform:translate(-50%,12px)}body.game-active #momentumHud{opacity:.78;transform:translate(-50%)}#momentumHud[data-tier="2"]{--momentum-color:#8d8bff}#momentumHud[data-tier="3"]{--momentum-color:#d65bff}#momentumHud[data-tier="4"]{--momentum-color:#ff4fcf}.momentum-readout{white-space:nowrap;color:#dbf7ffc2;letter-spacing:.18em;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:5px;font-size:9px;font-weight:700;display:flex}.momentum-readout b{color:var(--momentum-color);text-shadow:0 0 10px;font-size:10px}.momentum-track{clip-path:polygon(2% 0,100% 0,98% 100%,0 100%);background:#ace0ff1f;height:3px;overflow:hidden}#momentumFill{transform-origin:0;background:linear-gradient(90deg, #63d9ff59, var(--momentum-color));width:100%;height:100%;box-shadow:0 0 12px var(--momentum-color);transition:transform .12s linear,background .2s;display:block;transform:scaleX(0)}#momentumHud.tier-up{animation:.5s ease-out momentum-tier-up}#powerUpStatus{color:#d7b8ff;letter-spacing:.16em;text-align:center;text-shadow:0 0 12px #be5bffe6;opacity:0;height:0;font-size:10px;font-weight:700;transition:height .18s,opacity .18s,transform .18s;overflow:hidden;transform:translateY(4px)}#powerUpStatus.visible{opacity:1;height:18px;padding-top:5px;transform:translateY(0)}@keyframes momentum-tier-up{0%{filter:brightness()}35%{filter:brightness(2.4) drop-shadow(0 0 12px var(--momentum-color))}to{filter:brightness()}}#impactFlash{opacity:0;pointer-events:none;z-index:3;background:radial-gradient(circle,#ffbf661f,#0000 48%);position:fixed;inset:0}.wrapper{color:#fff;text-align:center;z-index:2;cursor:crosshair;box-sizing:border-box;flex-direction:column;justify-content:start;align-items:center;width:100%;height:100%;padding-top:10%;display:flex}html:has(body.game-active){touch-action:none;overscroll-behavior:none}body.game-active,body.game-active .wrapper{cursor:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:none}body.game-active .wrapper{pointer-events:none}body.game-active #gameControls,body.game-active.local-debug #weaponButtons,body.game-active.local-debug #tuningPanel{pointer-events:auto}body.game-active .game-control{cursor:pointer;touch-action:manipulation}body.game-active #graphicsSettings{touch-action:pan-y}body.game-active #weaponButtons,body.game-active #tuningPanel,body.game-active #tuningPanel *{cursor:auto}body.game-active #weaponButtons button,body.game-active #tuningPanel button{cursor:pointer}#touchJoystick{left:max(52px, calc(env(safe-area-inset-left) + 24px));bottom:max(116px, calc(env(safe-area-inset-bottom) + 88px));-webkit-backdrop-filter:blur(3px);touch-action:none;pointer-events:auto;-webkit-tap-highlight-color:transparent;opacity:0;z-index:8;background:radial-gradient(circle,#59c2eb14 0 44%,#0000 45%),#04112047;border:1px solid #89e0ff6b;border-radius:50%;width:190px;height:190px;transition:opacity .18s,transform .18s,border-color .18s;display:none;position:fixed;transform:scale(.9);box-shadow:inset 0 0 24px #42baea1f,0 0 22px #2caee51a}body.touch-controls.game-active #touchJoystick{opacity:.72;display:block;transform:scale(1)}#touchJoystick.active{opacity:.94;border-color:#9aebffb8}#touchJoystickKnob{pointer-events:none;will-change:transform;background:radial-gradient(circle at 40% 35%,#dafaff57,#48beea2e 58%,#0723376b);border:1px solid #c9f6ffc7;border-radius:50%;width:76px;height:76px;margin:-38px 0 0 -38px;position:absolute;top:50%;left:50%;box-shadow:inset 0 0 12px #d0f9ff2e,0 0 14px #3ecaff3d}#touchFireButton,#swapTouchControls{-webkit-appearance:none;appearance:none;color:#e2f9ffe6;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;z-index:8;background:#0411204d;border:1px solid #89e0ff80;outline:none;display:none;position:fixed}#touchFireButton{right:max(52px, calc(env(safe-area-inset-right) + 24px));bottom:max(145px, calc(env(safe-area-inset-bottom) + 117px));opacity:.74;border-radius:50%;width:132px;height:132px;padding:0;transition:opacity .14s,transform .1s,border-color .14s,box-shadow .14s;box-shadow:inset 0 0 28px #42baea1a,0 0 22px #2caee51a}#touchFireButton:before{content:"";background:radial-gradient(circle at 40% 35%,#dffbff47,#4ec2ee29 58%,#07233761);border-radius:50%;position:absolute;inset:27%;box-shadow:inset 0 0 14px #d0f9ff24,0 0 15px #3ecaff38}#touchFireButton i{z-index:1;text-shadow:0 0 8px #7ee0ffb8;font-size:24px;position:relative}#touchFireButton.active{opacity:1;color:#fff;border-color:#aeefffe6;transform:scale(.94);box-shadow:inset 0 0 32px #42baea33,0 0 28px #46cdff4d}#swapTouchControls{touch-action:manipulation;left:max(52px, calc(env(safe-area-inset-left) + 24px));top:auto;bottom:max(322px, calc(env(safe-area-inset-bottom) + 294px));opacity:.5;border-radius:50%;width:42px;height:42px;padding:0;transform:none}#swapTouchControls:active{opacity:.9;transform:scale(.94)}body.touch-controls.game-active #touchFireButton,body.touch-controls.game-active #swapTouchControls{display:block}body.touch-controls.game-active .site-header{pointer-events:none}body.touch-controls.game-active .site-header a{pointer-events:auto}body.touch-controls-reversed #touchJoystick,body.touch-controls-reversed #swapTouchControls{left:auto;right:max(52px, calc(env(safe-area-inset-right) + 24px))}body.touch-controls-reversed #touchFireButton{right:auto;left:max(52px, calc(env(safe-area-inset-left) + 24px))}body.touch-controls.game-active #crosshair{opacity:.75;transition:opacity .12s,transform 80ms}body.touch-controls.game-active.control-hover #crosshair,body.touch-controls.game-active:has(.game-control:hover) #crosshair{opacity:.75}@media only screen and (width<=600px){#touchJoystick{left:max(28px, calc(env(safe-area-inset-left) + 16px));bottom:max(106px, calc(env(safe-area-inset-bottom) + 82px));width:164px;height:164px}#touchJoystickKnob{width:64px;height:64px;margin:-32px 0 0 -32px}#touchFireButton{right:max(28px, calc(env(safe-area-inset-right) + 16px));bottom:max(132px, calc(env(safe-area-inset-bottom) + 108px));width:112px;height:112px}body.touch-controls-reversed #touchJoystick{right:max(28px, calc(env(safe-area-inset-right) + 16px))}body.touch-controls-reversed #touchFireButton{left:max(28px, calc(env(safe-area-inset-left) + 16px))}}.content{opacity:1;pointer-events:none;user-select:none;width:auto;transition:opacity .3s ease-in-out,transform .3s ease-in-out;transform:translateY(0)}.content.hidden{opacity:0;pointer-events:none;transform:translateY(-20px)}.title{opacity:0;z-index:10;pointer-events:auto;user-select:none;cursor:pointer;transition:opacity .5s ease-in-out,transform .5s ease-in-out;position:absolute;top:4px;right:20px;transform:translateY(-150%)}.title.visible{opacity:1;transform:translateY(0)}.title h2{margin:0}#score{opacity:0;text-align:center;color:#fff;z-index:2;user-select:none;width:100%;font-size:24px;transition:transform .5s ease-in-out,opacity .5s ease-in-out;position:fixed;bottom:4px;left:50%;transform:translate(-50%)translateY(150%)}#score.visible{opacity:1;transform:translate(-50%)translateY(0)}.orange{color:orange}.white{color:#fff}h1{font-size:2em}.bg_dark{background:radial-gradient(circle,#666 0%,#111 100%)}img{width:90%}.text-center{text-align:center}a{color:var(--pw-text);text-decoration:none}a:hover{color:var(--pw-brand-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}@media only screen and (width<=799px){h1{font-size:20px}.content{width:140px}.wrapper{padding-top:0!important}.subtitle{font-size:.8em}}.home-page{background:var(--pw-background);overflow:hidden}.home-page .site-header{justify-content:flex-end;max-width:none;position:absolute;top:0;left:0;right:0}.home-page .site-header nav{color:var(--pw-text-secondary)}.home-page .content{width:min(calc(90 * var(--game-vw,1vw)), 960px);margin:clamp(145px, calc(25 * var(--game-vh,1svh)), 320px) 0 0;pointer-events:auto;flex-direction:column;align-items:center;display:flex}.home-page .content h1{width:min(680px, calc(86 * var(--game-vw,1vw)));margin:0 0 32px;line-height:0}.home-page .home-intro{font-family:var(--pw-font-body);font-size:clamp(24px, calc(3 * var(--game-vw,1vw)), 34px);letter-spacing:-.035em;color:var(--pw-text);text-wrap:balance;margin:0 0 12px;font-weight:500;line-height:1.25}.home-page .content .subtitle{letter-spacing:0;max-width:440px;color:var(--pw-text-secondary);text-wrap:balance;margin:0;font-size:16px;font-weight:400;line-height:1.6}.home-actions{justify-content:center;align-items:center;gap:26px;margin-top:30px;display:flex}.home-contact{min-height:48px;color:var(--pw-text-secondary);text-underline-offset:5px;align-items:center;font-size:14px;text-decoration:underline;display:inline-flex}.home-contact:hover{color:var(--pw-text)}@media (width<=700px){.home-page .content{margin-top:clamp(120px, calc(23 * var(--game-vh,1svh)), 220px)}.home-page .content h1{width:min(420px, calc(88 * var(--game-vw,1vw)));margin-bottom:30px}.home-page .content .subtitle{max-width:310px;font-size:14px}.home-actions{gap:20px;margin-top:26px}}@media (height<=650px){.home-page .content{margin-top:110px}.home-page .content h1{width:min(460px, calc(86 * var(--game-vw,1vw)));margin-bottom:22px}.home-page .home-intro{font-size:24px}.home-actions{margin-top:22px}}@media (height<=500px){.home-page .content{margin-top:72px}.home-page .content h1{width:min(310px, calc(78 * var(--game-vw,1vw)));margin-bottom:12px}.home-page .home-intro{margin-bottom:6px;font-size:22px}.home-page .content .subtitle{max-width:none;font-size:13px}.home-actions{margin-top:14px}}.home-page canvas{z-index:0;position:fixed;inset:0}.home-page .wrapper{pointer-events:none;z-index:10}.home-page #gameControls{bottom:34px;right:calc(5 * var(--game-vw,1vw));gap:12px;display:flex;position:fixed;top:auto}.home-page #toggleButton{border:1px solid var(--pw-control-border);background:var(--pw-surface);width:auto;min-width:142px;height:46px;color:var(--pw-text);border-radius:99px;justify-content:center;align-items:center;gap:10px;padding:0 17px;font:600 13px -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;display:flex}.home-page #toggleButton:disabled{opacity:.5;cursor:wait}.home-page #restartButton{border:1px solid var(--pw-control-border);background:var(--pw-surface);border-radius:50%;width:46px;height:46px;font-size:25px}.home-page .title{top:108px;right:calc(5 * var(--game-vw,1vw))}.home-page .title h2{font-size:26px}.home-footer{bottom:40px;left:calc(5 * var(--game-vw,1vw));z-index:20;color:var(--pw-text-secondary);gap:22px;font-size:11px;display:flex;position:fixed}.home-footer a{text-underline-offset:4px;text-decoration:underline}#gameStatus{z-index:20;color:var(--pw-text-muted);text-align:center;max-width:90%;font-size:11px;position:fixed;bottom:103px;left:50%;transform:translate(-50%)}#gameHint{top:105px;left:calc(5 * var(--game-vw,1vw));z-index:10;color:var(--pw-text-secondary);font-size:11px;display:none;position:fixed}.game-active #gameHint{display:block}.game-active .home-footer{display:none}.home-page .orange{color:var(--pw-brand)}.home-page .white{color:var(--pw-text)}@media (width<=700px){.home-page #gameControls{bottom:26px;right:calc(6 * var(--game-vw,1vw))}.home-footer{left:calc(6 * var(--game-vw,1vw));font-size:10px;bottom:86px}.home-footer>span{display:none}.home-page .title{top:115px}.home-page .title h2{font-size:22px}#gameHint{top:148px;left:calc(6 * var(--game-vw,1vw));max-width:70%;font-size:10px}#gameStatus{bottom:95px}}.home-page #gameControls{left:auto}.home-page #weaponButtons,.home-page #tuningPanel,.home-page #debugPanel{display:none}.home-page.local-debug.weapon-debug-visible #weaponButtons,.home-page.local-debug.weapon-debug-visible #tuningPanel{display:block}.home-page:not(.game-active) #restartButton{display:none}.home-page .title:not(.visible){visibility:hidden}.home-page .content.hidden{pointer-events:none;visibility:hidden}.home-page #restartButton:before,.home-page #toggleButton:before{display:none}.home-page .wrapper{padding-top:0}.home-page .site-header a{cursor:pointer}.home-page #momentumHud{display:none}.home-page.game-active #momentumHud{display:block}body.home-page.local-debug #weaponButtons,body.home-page.local-debug #tuningPanel{display:none}body.home-page.local-debug.weapon-debug-visible #weaponButtons,body.home-page.local-debug.weapon-debug-visible #tuningPanel{display:block}.home-page #gameControls{pointer-events:auto}.home-page canvas{opacity:0;transition:opacity 1.2s}.home-page.nebula-ready canvas,.home-page.space-ready canvas{opacity:.8}@media (prefers-reduced-motion:reduce){.home-page #nebula,.home-page canvas{transition:none}}.home-page:after{content:"";pointer-events:none;z-index:1;background:radial-gradient(at 50% 48%,#02030a70,#0000 68%);position:fixed;inset:0}@media (height<=500px) and (width>=480px){.home-page #gameStatus{max-width:250px;bottom:12px}.home-footer{bottom:30px}}.home-page .hero-logo{width:100%;height:auto;display:block}.home-page .title{width:240px}.home-page .title h2{margin:0;line-height:0}.home-page .title img{width:100%;height:auto;display:block}.home-page #toggleButton{font-family:var(--pw-font-body)}@media (width<=700px){.home-page .title{width:190px;top:105px}.home-page #gameHint{top:168px}.home-page #momentumHud{bottom:100px}.home-page.game-active #score{left:calc(6 * var(--game-vw,1vw));width:auto;max-width:calc(calc(100 * var(--game-vw,1vw)) - 235px);text-align:left;font-size:16px;line-height:1.3;bottom:30px;transform:none}}@media (height<=500px) and (width>=480px){.home-page .title{width:180px;top:80px}}.home-page #gameControls{align-items:center;left:auto}.home-page #graphicsSettingsButton{border:1px solid var(--pw-control-border);width:46px;height:46px;color:var(--pw-text-secondary);background:var(--pw-surface);border-radius:99px;place-items:center;padding:0;transition:color .14s,border-color .14s;display:grid}.home-page #graphicsSettingsButton svg{display:block}.home-page #graphicsSettingsButton:hover,.home-page #graphicsSettingsButton[aria-expanded=true]{color:var(--pw-brand);border-color:var(--pw-brand)}.home-page #graphicsSettings{--graphics-panel-bottom:92px;right:calc(5 * var(--game-vw,1vw));bottom:var(--graphics-panel-bottom);z-index:30;width:min(300px, calc(calc(100 * var(--game-vw,1vw)) - 32px));max-height:max(0px, calc(100 * var(--game-vh,1svh) - var(--graphics-panel-top,96px) - var(--graphics-panel-bottom)));overscroll-behavior:contain;scrollbar-gutter:stable;scrollbar-width:thin;scrollbar-color:var(--pw-control-border) transparent;color-scheme:dark;box-sizing:border-box;border:1px solid var(--pw-control-border);color:var(--pw-text);font:13px var(--pw-font-body);text-align:left;pointer-events:auto;background:#050c17f7;border-radius:23px;padding:20px;animation:.14s ease-out graphics-reveal;position:fixed;overflow:auto}@supports selector(::-webkit-scrollbar){.home-page #graphicsSettings{scrollbar-width:auto;scrollbar-color:auto}.home-page #graphicsSettings::-webkit-scrollbar{background:0 0;width:8px;height:8px}.home-page #graphicsSettings::-webkit-scrollbar-track{background:0 0;margin-block:20px}.home-page #graphicsSettings::-webkit-scrollbar-thumb{background:var(--pw-control-border);background-clip:padding-box;border:2px solid #0000;border-radius:99px;min-height:36px}.home-page #graphicsSettings::-webkit-scrollbar-thumb:hover{background-color:var(--pw-text-secondary)}.home-page #graphicsSettings::-webkit-scrollbar-thumb:active{background-color:var(--pw-brand)}.home-page #graphicsSettings::-webkit-scrollbar-button{display:none}.home-page #graphicsSettings::-webkit-scrollbar-corner{background:0 0}}.graphics-settings-header{justify-content:space-between;align-items:center;margin-bottom:21px;display:flex}.graphics-settings-header h2{font:600 16px var(--pw-font-body);margin:0}.graphics-settings-header button{color:var(--pw-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:50%;width:30px;height:30px;font-size:22px}.graphics-setting-label{color:var(--pw-text-secondary);margin-bottom:9px;display:block}.graphics-quality-picker{position:relative}:is(#graphicsQualityTrigger,#gameDifficulty,#startDifficultyRun){box-sizing:border-box;inline-size:100%;border:1px solid var(--pw-control-border);background:var(--pw-surface);min-height:46px;color:var(--pw-text);font:inherit;cursor:pointer;border-radius:99px;padding-block:0;padding-inline:17px;transition:border-color .14s,background-color .14s}:is(#graphicsQualityTrigger,#gameDifficulty,#startDifficultyRun):hover{border-color:var(--pw-brand)}:is(#graphicsQualityTrigger,#gameDifficulty,#startDifficultyRun):focus-visible{outline:2px solid var(--pw-brand);outline-offset:3px}#startDifficultyRun:active{background:color-mix(in oklch, var(--pw-surface), var(--pw-brand) 12%)}#startDifficultyRun:disabled{opacity:.5;cursor:not-allowed}#graphicsQualityTrigger{justify-content:space-between;align-items:center;display:flex}.graphics-difficulty-picker{position:relative}.graphics-difficulty-picker svg{color:var(--pw-text);pointer-events:none;position:absolute;inset-block-start:50%;inset-inline-end:18px;transform:translateY(-50%)}#gameDifficulty{appearance:none;touch-action:auto;padding-inline-end:45px}#gameDifficulty option{background:var(--pw-surface);color:var(--pw-text)}#startDifficultyRun{margin-block:0 20px}#graphicsQualityTrigger svg{transition:transform .14s}#graphicsQualityTrigger[aria-expanded=true] svg{transform:rotate(180deg)}#graphicsQualityOptions{border:1px solid var(--pw-control-border);background:#08111e;border-radius:23px;gap:4px;margin-top:8px;padding:6px;animation:.14s ease-out graphics-reveal;display:grid}#graphicsQualityOptions button{width:100%;min-height:44px;color:var(--pw-text);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:20px;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}#graphicsQualityOptions button:hover,#graphicsQualityOptions button:focus-visible{background:#ffffff0f}#graphicsQualityOptions button[aria-pressed=true]{color:var(--pw-brand);background:#ffb42317}#graphicsQualityOptions small{color:var(--pw-text-muted);margin-top:3px;font-size:10px;display:block}.quality-check{visibility:hidden}[aria-pressed=true]>.quality-check{visibility:visible}.home-page #graphicsStatus{color:var(--pw-text-muted);margin:11px 0 21px;font-size:11px}.home-page .graphics-performance-hint{color:var(--pw-text-secondary);white-space:nowrap;font-size:11px;line-height:1.3}.home-page .graphics-performance-hint[data-kind=lower]{color:var(--pw-brand)}.home-page:not(.game-active) .graphics-performance-hint,.graphics-performance-hint[hidden],.graphics-performance-advice[hidden]{display:none}.home-page .graphics-performance-advice{color:var(--pw-text-secondary);margin-block:-10px 18px;font-size:11px;line-height:1.5}.graphics-fps-toggle{cursor:pointer;align-items:center;gap:8px;min-height:36px;display:flex}.graphics-fps-toggle>span:first-child{flex:1}.graphics-fps-toggle input{opacity:0;width:1px;height:1px;position:absolute}.graphics-switch{background:#293243;border-radius:99px;width:36px;height:22px;transition:background .14s}.graphics-switch:before{content:"";background:#e2e7ef;border-radius:50%;width:16px;height:16px;margin:3px;transition:transform .14s;display:block}.graphics-fps-toggle input:checked+.graphics-switch{background:var(--pw-brand)}.graphics-fps-toggle input:checked+.graphics-switch:before{background:#07111d;transform:translate(14px)}.graphics-fps-toggle input:focus-visible+.graphics-switch{outline:2px solid var(--pw-brand);outline-offset:4px}.graphics-diagnostics{border-top:1px solid var(--pw-control-border);color:var(--pw-text-secondary);font:11px/1.7 var(--pw-font-body);margin-top:14px;padding-top:12px}.graphics-diagnostics summary{cursor:pointer;color:var(--pw-text);font-size:12px}#graphicsTimings{white-space:pre-line;font-variant-numeric:tabular-nums;margin:10px 0}#saveGraphicsReport{border:1px solid var(--pw-control-border);background:var(--pw-surface);width:100%;color:var(--pw-text);font:12px var(--pw-font-body);cursor:pointer;border-radius:99px;padding:9px 12px}#saveGraphicsReport:hover,#saveGraphicsReport:focus-visible{border-color:var(--pw-brand);outline:1px solid var(--pw-brand)}.home-page #fpsCounter{top:34px;left:calc(5 * var(--game-vw,1vw));z-index:25;border:1px solid var(--pw-control-border);background:var(--pw-surface);color:var(--pw-text-secondary);font:11px var(--pw-font-body);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:99px;padding:7px 11px;position:fixed}#graphicsSettings[hidden],#graphicsQualityOptions[hidden],#fpsCounter[hidden]{display:none}@keyframes graphics-reveal{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.home-page #graphicsSettings,#graphicsQualityOptions{animation:none}.home-page #graphicsSettingsButton,#graphicsQualityTrigger svg,.graphics-switch,.graphics-switch:before{transition:none}}.home-page #debugPanel{pointer-events:auto;max-width:calc(calc(100 * var(--game-vw,1vw)) - 32px);border:1px solid var(--pw-control-border);background:#030912f0;border-radius:8px;padding:12px}.home-page #debugPanel button{color:var(--pw-text);background:var(--pw-surface);border:1px solid var(--pw-control-border);cursor:pointer;border-radius:5px;margin-top:8px;padding:6px 10px}@media (width<=700px){.home-page #gameControls{gap:8px;bottom:20px;right:16px}.home-page #graphicsSettings{--graphics-panel-bottom:78px;right:16px}.home-page #fpsCounter{top:78px;left:16px}}.home-page #gameControls{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .42s,transform .42s,visibility 0s linear .42s;transform:translateY(10px)}.home-page.game-controls-ready #gameControls{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .42s,transform .42s,visibility;transform:translateY(0)}.home-page #gameStatus{color:var(--pw-text-secondary);font-size:12px}@media (prefers-reduced-motion:reduce){.home-page #gameControls{transition:none;transform:none}}.home-page #gameStatus{left:auto;right:calc(5 * var(--game-vw,1vw));width:max-content;max-width:calc(100 * var(--game-vw,1vw) - 32px);text-align:right;pointer-events:none;margin:0;line-height:1.5;transition:opacity .42s;bottom:46px;transform:none}.home-page.game-controls-ready #gameStatus{opacity:0}@media (width<=700px){.home-page #gameStatus{bottom:30px;right:16px}}@media (prefers-reduced-motion:reduce){.home-page #gameStatus{transition:none}}body:not(.touch-controls) .touch-aim-setting,body.touch-controls .mouse-aim-setting{display:none}.aim-sensitivity{margin:18px 0}.aim-sensitivity label{justify-content:space-between;font-size:13px;display:flex}.aim-sensitivity output{color:var(--pw-text-secondary);font-variant-numeric:tabular-nums}.aim-sensitivity input{width:100%;height:32px;accent-color:var(--pw-brand);touch-action:none;margin:6px 0 0}.aim-sensitivity p{color:var(--pw-text-secondary);margin:0;font-size:11px;line-height:1.5}.weapon-readout{color:#ffbc69;justify-content:space-between;gap:8px;font-size:10px;display:flex}.weapon-readout strong{font-weight:600}#weaponGoal{color:#aebbc8;font-variant-numeric:tabular-nums}.weapon-track{background:#ffbc6926;height:2px;margin:6px 0}#weaponProgressFill{transform-origin:0;background:#ffbc69;height:100%;transition:transform .2s;display:block}#weaponNext,#weaponStats{color:#aebbc8;font-size:9px}#weaponAnnouncement{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}#weaponStats{color:#c9d4df;margin-bottom:4px}.home-page.game-active .title{top:max(24px, env(safe-area-inset-top));left:max(calc(5 * var(--game-vw,1vw)), env(safe-area-inset-left));pointer-events:none;width:240px;position:fixed;right:auto}.home-page #fpsCounter{top:max(34px, calc(env(safe-area-inset-top) + 10px));left:50%;transform:translate(-50%)}@media (width<=700px){.home-page.game-active .title{top:max(16px, env(safe-area-inset-top));left:max(16px, env(safe-area-inset-left));width:128px}.home-page #fpsCounter{top:max(18px, calc(env(safe-area-inset-top) + 2px))}.home-page.game-active #gameHint{top:164px}.home-page.game-active .site-header{padding-top:68px}}#weaponDetailsButton{pointer-events:auto;color:#ffbc69;background:var(--pw-surface);border:1px solid var(--pw-control-border);cursor:pointer;touch-action:manipulation;border-radius:50%;place-items:center;width:36px;height:36px;padding:0;display:grid;position:absolute;bottom:-9px;right:-42px}#weaponDetailsButton:hover,#weaponDetailsButton[aria-expanded=true]{border-color:#ffbc69}#weaponDetailsButton:focus-visible,#closeWeaponDetails:focus-visible{outline-offset:3px;outline:2px solid #ffbc69}#weaponDetails{pointer-events:auto;width:min(320px, calc(calc(100 * var(--game-vw,1vw)) - 48px));border:1px solid var(--pw-control-border);color:var(--pw-text);background:var(--pw-surface);box-sizing:border-box;border-radius:20px;padding:20px;position:absolute;bottom:38px;left:50%;transform:translate(-50%)}#weaponDetails[hidden]{display:none}#weaponDetails header{justify-content:space-between;align-items:center;margin-bottom:18px;display:flex}#weaponDetails h2{font:600 15px var(--pw-font-body);margin:0}#closeWeaponDetails{width:32px;height:32px;color:var(--pw-text-secondary);cursor:pointer;background:0 0;border:0;font-size:24px}#weaponDetails .weapon-readout{font-size:12px}#weaponDetails #weaponNext,#weaponDetails #weaponStats,#weaponDetails .weapon-note{font-size:11px;line-height:1.6}#weaponDetails .weapon-note{color:var(--pw-text-secondary);margin:14px 0 0}@media (width<=700px){.home-page.touch-controls.game-active #momentumHud{bottom:calc(env(safe-area-inset-bottom) + 75px);width:min(260px, calc(calc(100 * var(--game-vw,1vw)) - 104px))}}.home-page #score{width:auto;font-family:var(--pw-font-body);pointer-events:none;justify-content:center;align-items:center;gap:10px;line-height:1.1;display:flex;bottom:12px}#score .score-label{letter-spacing:.18em;text-transform:uppercase;color:#9baebf;font-size:9px;font-weight:600}#scoreValue{font-family:var(--pw-font-display);color:#f4c875;font-variant-numeric:tabular-nums;letter-spacing:.025em;text-shadow:0 0 18px #ffb83330;font-size:26px;font-weight:500}@media (width<=700px){.home-page.game-active #score{flex-direction:column;align-items:flex-start;gap:4px;bottom:28px}#scoreValue{font-family:var(--pw-font-display);font-size:18px}#score .score-label{font-size:8px}}.home-page.game-active #momentumHud.weapon-open{opacity:1;z-index:30}#weaponDetails{background:#080e18}body.game-landscape-rotated{width:calc(100 * var(--game-vw));height:calc(100 * var(--game-vh));transform-origin:0 0;min-height:0;transform:translateX(var(--game-screen-width)) rotate(90deg);position:fixed;inset:0 auto auto 0;overflow:hidden}.home-page.game-phone .title{width:128px;top:14px;left:20px}.home-page.game-phone .site-header{justify-content:flex-end;padding:10px 20px 0}.home-page.game-phone .site-header nav{gap:18px;width:auto;margin-left:auto;font-size:12px}.home-page.game-phone #fpsCounter{top:12px}.home-page.game-phone #gameHint{display:none}.home-page.game-phone #swapTouchControls{width:44px;height:44px;top:auto;bottom:220px;left:24px;transform:none}.home-page.game-phone.touch-controls-reversed #swapTouchControls{left:auto;right:24px}.home-page.game-phone #touchJoystick:before{content:"";border-radius:50%;position:absolute;inset:-24px}.home-page.game-phone #touchJoystick{width:112px;height:112px;bottom:80px;left:24px;right:auto}.home-page.game-phone #touchJoystickKnob{width:46px;height:46px;margin:-23px 0 0 -23px}.home-page.game-phone #touchFireButton{width:86px;height:86px;bottom:93px;left:auto;right:24px}.home-page.game-phone.touch-controls-reversed #touchJoystick{left:auto;right:24px}.home-page.game-phone.touch-controls-reversed #touchFireButton{left:24px;right:auto}.home-page.game-phone #gameControls{bottom:16px;right:20px}.home-page.game-phone.game-active #momentumHud{width:180px;bottom:28px}.home-page.game-phone #score{flex-direction:column;align-items:flex-start;gap:4px;bottom:20px;left:24px;transform:none}.home-page.game-phone #scoreValue{font-size:22px}.home-page.game-phone #weaponDetails{max-height:calc(100 * var(--game-vh) - 140px);bottom:44px;overflow-y:auto}.home-page.game-phone #graphicsSettings{--graphics-panel-bottom:72px;right:20px}#loadingProgress{overflow:hidden}#loadingProgress:after{content:"";background:linear-gradient(90deg,#0000,#b9eaff55,#0000);animation:2.4s linear infinite loading-activity;position:absolute;inset:0}@keyframes loading-activity{0%{transform:translate(-100%)}to{transform:translate(100%)}}@media (prefers-reduced-motion:reduce){#loadingProgress:after{animation:none}}.home-page.game-phone .wrapper:has(#graphicsSettings:not([hidden])){z-index:40}#gameActionsToggle{display:none}.home-page.game-phone #gameActionsToggle{border:1px solid var(--pw-control-border);width:44px;height:44px;color:var(--pw-text-secondary);background:var(--pw-surface);font:18px var(--pw-font-body);pointer-events:auto;z-index:31;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:16px;right:20px}.home-page.game-phone:not(.game-actions-open) #gameControls{display:none}.home-page.game-phone.game-actions-open #gameControls{border:1px solid var(--pw-control-border);background:#080e18;border-radius:32px;padding:8px;bottom:70px}.home-page.game-phone.game-actions-open .wrapper{z-index:40}.home-page.game-phone.game-actions-open #graphicsSettings{--graphics-panel-bottom:140px}body.game-phone{transition:none}.home-page.graphics-loading #loadingProgress{z-index:60;transform:none}#resetAimSettings{color:var(--pw-text-secondary);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 0;text-decoration:underline}#resetAimSettings:hover{color:var(--pw-text)}.touch-aim-caption{text-align:center;width:100%;font:10px var(--pw-font-body);color:#aac5cf;opacity:.7;pointer-events:none;position:absolute;bottom:10px}#shipHull{color:#baf4e8;pointer-events:none;font:10px var(--pw-font-display);letter-spacing:.12em;text-shadow:0 1px 3px #000;grid-template-columns:auto minmax(40px,1fr) auto;align-items:center;gap:4px 8px;margin-bottom:8px;display:none;position:relative}.game-active #shipHull:not([hidden]){display:grid}body.game-active #momentumHud:has(#shipHull:not([hidden])){opacity:1}#shipHull strong{font-variant-numeric:tabular-nums;letter-spacing:0;font-size:12px}.hull-track{background:#253541d9;height:4px}#shipHullFill{transform-origin:0;background:#71e0ca;height:100%;transition:transform .2s;display:block}#shipHull[data-critical=true]{color:#ffa68b}#shipHull[data-critical=true] #shipHullFill{background:#ff8662}#shipWarning{text-align:center;color:#ffd296;letter-spacing:.04em;width:100%;font-size:9px;position:absolute;bottom:calc(100% + 6px);left:0}#shipDamageFlash{z-index:3;pointer-events:none;opacity:0;background:radial-gradient(#0000 42%,#ff26381a 66%,#ff26387a 100%);display:none;position:fixed;inset:0}.game-active #shipDamageFlash{display:block}.difficulty-description{color:#a6bbc7;font-size:12px;line-height:1.5}#runEnd{z-index:200;pointer-events:auto;touch-action:pan-y;background:#030810c9;place-items:center;display:grid;position:fixed;inset:0}#runEnd[hidden]{display:none}.run-end-content{text-align:center;color:#d8ecf1;padding:24px}.run-end-content h2{font-family:var(--pw-font-display);color:#ffbd77}.run-end-content button{color:#ecf7ff;background:#20303f;border:1px solid #627989;border-radius:24px;margin:12px 5px 0;padding:12px 25px}.benchmark-launch{border:1px solid var(--pw-control-border);background:var(--pw-surface);width:100%;color:var(--pw-text);font:inherit;cursor:pointer;border-radius:20px;margin-top:14px;padding:11px 14px}#combatBenchmark{color:#edf1f7;background:#060b14;border:0;width:100%;max-width:none;height:100%;max-height:none;margin:0;padding:0;font:14px/1.55 Inter,sans-serif;position:fixed;inset:0}#combatBenchmark::backdrop{background:#060b14}#combatBenchmark .benchmark-stage,#combatBenchmark iframe{pointer-events:none;border:0;width:100%;height:100%;position:absolute;inset:0}#combatBenchmark .benchmark-panel{box-sizing:border-box;background:#0b1423f5;border:1px solid #ffffff24;border-radius:22px;width:min(880px,100% - 32px);margin:32px auto;padding:24px;position:relative}#combatBenchmark header{justify-content:space-between;align-items:center;gap:16px;display:flex}#combatBenchmark h2{margin:0;font-size:22px}#combatBenchmark select{color:inherit;font:inherit;background:#172539;border:1px solid #ffffff35;border-radius:10px;margin-left:8px;padding:8px 12px}#combatBenchmark select:focus-visible{outline-offset:3px;outline:2px solid #ffbb38}#combatBenchmark button{min-height:42px;color:inherit;font:inherit;cursor:pointer;background:#172539;border:1px solid #ffffff35;border-radius:22px;padding:8px 18px}#combatBenchmark [data-action=start]{color:#15100a;background:#ffbb38;border-color:#0000}#combatBenchmark button:focus-visible,#combatBenchmark summary:focus-visible{outline-offset:3px;outline:2px solid #ffbb38}#combatBenchmark .benchmark-actions{flex-wrap:wrap;gap:10px;margin:16px 0;display:flex}#combatBenchmark progress{accent-color:#ffbb38;width:100%;height:8px}#combatBenchmark .benchmark-status{min-height:22px}#combatBenchmark .benchmark-table-wrap{overflow-x:auto}#combatBenchmark table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}#combatBenchmark caption{text-align:left;margin:12px 0;font-weight:600}#combatBenchmark th,#combatBenchmark td{text-align:right;white-space:nowrap;border-bottom:1px solid #ffffff20;padding:12px 10px}#combatBenchmark th:first-child,#combatBenchmark td:first-child{text-align:left}#combatBenchmark th{color:#aab8ca;font-size:12px;font-weight:500}#combatBenchmark .benchmark-note{color:#aab8ca;font-size:12px}#combatBenchmark summary{cursor:pointer;padding:10px 0}#combatBenchmark .benchmark-details{color:#b9c8da;font-size:12px}#combatBenchmark.benchmark-running .benchmark-panel{width:min(600px,100% - 24px);margin:12px;padding:14px 18px}#combatBenchmark.benchmark-running .benchmark-results,#combatBenchmark [hidden]{display:none}body.benchmark-scene{pointer-events:none;overflow:hidden}.benchmark-scene .site-header,.benchmark-scene .home-footer,.benchmark-scene #gameControls,.benchmark-scene #graphicsSettings,.benchmark-scene #fpsCounter,.benchmark-scene .content,.benchmark-scene .title,.benchmark-scene #touchJoystick,.benchmark-scene #touchFireButton,.benchmark-scene #swapTouchControls{display:none!important}@media (width<=600px){#combatBenchmark .benchmark-panel{margin:16px auto;padding:18px}#combatBenchmark h2{font-size:18px}}
