@font-face{font-family:PixelArt;src:url(/assets/pixel_art-CI7k2JDH.otf) format("opentype");font-weight:400 700;font-style:normal;font-display:swap}:root{color-scheme:dark;font-family:PixelArt,Courier New,Lucida Console,monospace;--bg: #07111f;--panel: rgba(21, 43, 28, .92);--panel-border-light: #d8f3a2;--panel-border-dark: #23351d;--text: #f3ffd5;--muted: #a8c28a;--accent: #8cff72;--warm: #ffd35a;--danger: #ff7c92;--shadow: rgba(12, 18, 10, .95)}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{width:100%;height:100%;margin:0;overflow:hidden;background:var(--bg)}body{position:relative;color:var(--text);image-rendering:pixelated;text-rendering:geometricPrecision;font-size:12px;line-height:1.4}body:before,body:after{content:"";position:fixed;inset:0;pointer-events:none;opacity:0;transition:opacity .12s linear}body:before{z-index:4;box-shadow:inset 0 0 0 0 transparent}body:after{z-index:5;mix-blend-mode:screen}#game{display:block;width:100%;height:100%;position:relative;z-index:0}.hud{position:fixed;inset:0;pointer-events:none;z-index:10;opacity:0;transition:opacity .4s ease}.hud.hud-ready{opacity:1}body.buff-damage-active:before{opacity:1;box-shadow:inset 0 0 0 8px #ff784894,inset 0 0 44px 10px #ff5c306b,inset 0 0 118px 18px #ff220038}body.buff-damage-active:after{opacity:.92;background:linear-gradient(to right,rgba(255,132,74,.18),transparent 7%,transparent 93%,rgba(255,88,38,.16)),linear-gradient(to bottom,rgba(255,190,88,.16),transparent 8%,transparent 92%,rgba(255,86,42,.14));animation:buff-fire-flicker .22s steps(3) infinite}body.buff-speed-active:before{opacity:1;box-shadow:inset 0 0 0 6px #ffd6786b,inset 0 0 36px 8px #ffb74742,inset 0 0 96px 16px #ffeb9629}body.buff-speed-active:after{opacity:.8;background:linear-gradient(to right,rgba(255,224,134,.14),transparent 6%,transparent 94%,rgba(255,194,92,.14)),linear-gradient(to bottom,rgba(255,231,164,.12),transparent 7%,transparent 93%,rgba(255,186,86,.12));animation:buff-speed-sweep .55s linear infinite}body.buff-knockback-active:before{opacity:1;box-shadow:inset 0 0 0 7px #7ee7ff66,inset 0 0 40px 8px #4cc5ff40,inset 0 0 108px 18px #79aaff24}body.buff-knockback-active:after{opacity:.9;background:linear-gradient(to right,rgba(164,240,255,.15),transparent 7%,transparent 93%,rgba(114,198,255,.14)),linear-gradient(to bottom,rgba(170,226,255,.13),transparent 8%,transparent 92%,rgba(112,176,255,.12));animation:buff-electric-pulse .34s steps(3) infinite}body.buff-defense-active:before{opacity:1;box-shadow:inset 0 0 0 7px #9caec070,inset 0 0 40px 10px #6f839847,inset 0 0 108px 18px #54677a33}body.buff-defense-active:after{opacity:.88;background:linear-gradient(to right,rgba(182,201,219,.15),transparent 7%,transparent 93%,rgba(132,154,176,.14)),linear-gradient(to bottom,rgba(170,191,212,.14),transparent 8%,transparent 92%,rgba(109,131,154,.12));animation:buff-steel-pulse .42s steps(3) infinite}@keyframes buff-fire-flicker{0%{transform:translateZ(0) scale(1);filter:brightness(1) saturate(1)}50%{transform:translateZ(0) scale(1.012);filter:brightness(1.14) saturate(1.24)}to{transform:translateZ(0) scale(.996);filter:brightness(.96) saturate(1.08)}}@keyframes buff-speed-sweep{0%{background-position:-24px 0,0 -24px;filter:brightness(.96)}to{background-position:24px 0,0 24px;filter:brightness(1.08)}}@keyframes buff-electric-pulse{0%{transform:translateZ(0);filter:brightness(.94) saturate(1)}50%{transform:translateZ(0) scale(1.008);filter:brightness(1.16) saturate(1.22)}to{transform:translateZ(0) scale(.998);filter:brightness(1) saturate(1.08)}}@keyframes buff-steel-pulse{0%{transform:translateZ(0) scale(1);filter:brightness(1) saturate(.98)}50%{transform:translateZ(0) scale(1.008);filter:brightness(1.08) saturate(1.06)}to{transform:translateZ(0) scale(.997);filter:brightness(.96) saturate(.95)}}.panel{position:absolute;background:var(--panel);border:4px solid var(--panel-border-dark);outline:2px solid var(--panel-border-light);outline-offset:-6px;box-shadow:8px 8px 0 var(--shadow),inset 0 0 0 2px #0b170ebf;image-rendering:pixelated}.panel-left{--panel-left-width: min(276px, calc(100vw - 40px) );--panel-left-primary-top: 20%;--panel-left-primary-left: 12.5%;--panel-left-primary-right: 14.5%;--panel-left-primary-gap: 2px;--panel-left-ammo-top: 35%;--panel-left-ammo-left: 12.5%;--panel-left-ammo-right: 14.5%;--panel-left-kills-top: 52.5%;--panel-left-kills-left: 25%;--panel-left-stat-size: .74rem;--panel-left-secondary-stat-size: .66rem;--panel-left-health-bar-height: 12px;--panel-left-shield-bar-height: 10px;--panel-left-label-width: 54px;--ammo-pip-width: 7px;--ammo-pip-height: 10px;--ammo-pip-gap: 2px;--ammo-size-scale: 1;--panel-left-buff-top: calc(69% + 4px) ;--panel-left-buff-left: 12.5%;--panel-left-buff-right: 14.5%;top:max(0px,env(safe-area-inset-top));left:max(0px,env(safe-area-inset-left));width:var(--panel-left-width);aspect-ratio:1 / 1;padding:0;background:transparent;border:none;outline:none;box-shadow:none;overflow:visible}.panel-left-frame{position:absolute;inset:0 auto auto 0;width:100%;height:100%;display:block;object-fit:contain;object-position:top left;opacity:.77;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none}.panel-left-content{position:absolute;inset:0}.panel-left-primary{position:absolute;display:flex;flex-direction:column}.panel-left-primary{top:var(--panel-left-primary-top);left:var(--panel-left-primary-left);right:var(--panel-left-primary-right);gap:var(--panel-left-primary-gap)}.panel-score{position:absolute;top:max(0px,env(safe-area-inset-top));left:50%;width:min(240px,calc(100vw - 48px));aspect-ratio:493 / 235;transform:translate(-50%)}.panel-score-frame{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:contain;object-position:top center;opacity:.77;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none}.panel-score-content{position:absolute;inset:16% 18% 20%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}.panel-score span{display:block;color:#3b2b17;text-transform:uppercase;letter-spacing:.12em;font-weight:700;text-shadow:1px 1px 0 rgba(255,243,212,.45)}.panel-score strong{display:block;color:#20160e;font-size:1.2rem;line-height:1;text-shadow:1px 1px 0 rgba(255,244,214,.45),0 0 10px rgba(255,225,155,.18)}#hud-stopwatch{margin-top:0;font-size:1.25rem;color:#2a1d12;text-shadow:1px 1px 0 rgba(255,244,214,.4),0 0 8px rgba(255,225,155,.12)}.panel-bottom{left:50%;bottom:max(18px,env(safe-area-inset-bottom));width:min(760px,calc(100vw - 28px));padding:12px 16px;transform:translate(-50%)}.helper-toggle{display:none}.helper-body{width:100%}.helper-text-mobile{display:none}.stat-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:var(--panel-left-stat-size);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.stat-row span{color:#111;text-shadow:1px 1px 0 rgba(255,247,211,.35)}.stat-row strong{color:#111;font-size:inherit;text-shadow:1px 1px 0 rgba(255,246,218,.3)}.panel-left-ammo,.panel-left-kills{position:absolute;font-size:var(--panel-left-secondary-stat-size)}.panel-left-ammo{top:var(--panel-left-ammo-top);left:var(--panel-left-ammo-left);right:var(--panel-left-ammo-right)}.panel-left-kills{top:var(--panel-left-kills-top);left:var(--panel-left-kills-left)}.panel-right{--panel-right-width: min(276px, calc(100vw - 40px) );--panel-right-primary-top: 20%;--panel-right-primary-left: 14.5%;--panel-right-primary-right: 12.5%;--panel-right-primary-gap: 2px;--panel-right-ammo-top: 35%;--panel-right-ammo-left: 14.5%;--panel-right-ammo-right: 12.5%;--panel-right-stat-size: .74rem;--panel-right-secondary-stat-size: .66rem;--panel-right-health-bar-height: 12px;--panel-right-shield-bar-height: 10px;--panel-right-label-width: 54px;top:max(0px,env(safe-area-inset-top));right:max(0px,env(safe-area-inset-right));width:var(--panel-right-width);aspect-ratio:1 / 1;padding:0;background:transparent;border:none;outline:none;box-shadow:none;overflow:visible}.panel-right-frame{position:absolute;inset:0 0 auto auto;width:100%;height:100%;display:block;object-fit:contain;object-position:top right;opacity:.77;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;transform:scaleX(-1)}.panel-right-content{position:absolute;inset:0}.panel-right-primary{position:absolute;display:flex;flex-direction:column;top:var(--panel-right-primary-top);left:var(--panel-right-primary-left);right:var(--panel-right-primary-right);gap:var(--panel-right-primary-gap)}.panel-right-ammo{position:absolute;top:var(--panel-right-ammo-top);left:var(--panel-right-ammo-left);right:var(--panel-right-ammo-right);font-size:var(--panel-right-secondary-stat-size)}.stat-row-ammo{align-items:start;justify-content:flex-start;gap:6px;font-size:.8rem}.stat-row-health{align-items:center;gap:10px}.stat-row-shield{align-items:center;gap:8px}.stat-row-buff{align-items:center;justify-content:flex-start;gap:6px;min-height:16px}.panel-left-buff{position:absolute;top:var(--panel-left-buff-top);left:var(--panel-left-buff-left);right:var(--panel-left-buff-right);z-index:1;width:68%}.stat-row-health>span{flex:0 0 var(--panel-left-label-width)}.stat-row-shield>span,.stat-row-ammo>span{flex:0 0 var(--panel-left-label-width)}.stat-row-health>.cooldown-bar-health,.stat-row-shield>.cooldown-bar-shield,.stat-row-buff>.cooldown-bar-buff{flex:1 1 auto}.stat-row-ammo>strong{flex:1 1 auto;text-align:left}.stat-row-kills{justify-content:flex-start;gap:10px}.stat-row-kills>span{flex:0 0 var(--panel-left-label-width)}.stat-row-kills>strong{color:#21d66c;font-size:1.15em;text-shadow:1px 1px 0 rgba(10,56,26,.45)}.ammo-indicator{display:grid;grid-template-columns:repeat(15,calc(var(--ammo-pip-width) * var(--ammo-size-scale) * 1.12));grid-auto-rows:calc(var(--ammo-pip-height) * var(--ammo-size-scale) * 1.12);gap:var(--ammo-pip-gap);align-items:start;align-content:start;justify-content:start;line-height:0;margin-top:0;max-height:calc((var(--ammo-pip-height) * var(--ammo-size-scale) * 1.12) * 5 + var(--ammo-pip-gap) * 4);overflow:hidden}.ammo-icon{display:inline-block;width:calc(var(--ammo-pip-width) * var(--ammo-size-scale));height:calc(var(--ammo-pip-height) * var(--ammo-size-scale));object-fit:contain;object-position:center;image-rendering:pixelated;transform-origin:center;transform:none;transition:opacity .12s ease,filter .12s ease,transform .12s ease;opacity:.22;filter:grayscale(1) brightness(.52)}.ammo-icon.is-filled{opacity:.95;filter:none}.ammo-icon.is-empty{opacity:.18}.stat-row-health>strong{display:none}.stat-row-shield>strong{display:none}.buff-indicator-icon{width:16px;height:16px;flex:0 0 16px;display:block;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 1px 0 rgba(255,247,214,.24))}.cooldown-bar{position:relative;width:100%;height:14px;border:2px solid var(--panel-border-dark);outline:1px solid var(--panel-border-light);outline-offset:-3px;background:linear-gradient(180deg,#09140bd1,#122215f0);box-shadow:inset 0 0 0 2px #070c07bf,3px 3px #0a120a99;overflow:hidden}.cooldown-bar-fill{width:100%;height:100%;background:repeating-linear-gradient(90deg,#d9fff4 0 10px,#93ffdf 10px 20px,#4cf0ff 20px 30px);transform-origin:left center;transform:scaleX(1);transition:transform 70ms linear,opacity 70ms linear,filter 70ms linear;box-shadow:inset 0 -2px #0f594773,0 0 14px #4cf0ff47}.cooldown-bar-health{width:100%;height:var(--panel-left-health-bar-height)}.cooldown-bar-shield{width:100%;height:var(--panel-left-shield-bar-height)}.cooldown-bar-buff{width:100%;height:12px}.cooldown-bar-fill-health{background:#39d353;box-shadow:inset 0 -2px #1a582273,0 0 14px #4cff7347}.cooldown-bar-fill-buff{background:#ff6b3d;box-shadow:inset 0 -2px #78221259,0 0 12px #ff582680}#hud-shield-cooldown{background:#fff}.panel-bottom p{margin:0;text-align:center;line-height:1.7;color:var(--text);font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;text-shadow:2px 2px 0 rgba(10,18,10,.8)}.panel-debug{top:max(10px,env(safe-area-inset-top));right:max(10px,env(safe-area-inset-right));width:min(340px,calc(100vw - 20px));padding:12px;pointer-events:auto;z-index:12}.debug-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.debug-header-actions{display:flex;align-items:center;gap:6px}.debug-header strong{color:var(--text);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}.debug-header button,.debug-buttons button{border:2px solid #1d2c1b;background:#2f5a31;color:#e8ffe1;font-family:PixelArt,Courier New,monospace;text-transform:uppercase;font-size:.76rem;line-height:1;padding:8px 10px;cursor:pointer;image-rendering:pixelated;box-shadow:inset 0 -2px #08100875,2px 2px #080e089e}.debug-header button[aria-pressed=true]{background:#88542a}#debug-minimize{min-width:34px;padding:8px 8px 10px;line-height:.7}.debug-controls{margin-top:10px}.debug-controls p{margin:0 0 10px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}.debug-checkbox{display:flex;align-items:center;gap:8px;margin:10px 0;color:#f8ffe7;font-size:.66rem;letter-spacing:.05em;text-transform:uppercase}.debug-checkbox input{width:16px;height:16px;accent-color:#ff6565}.debug-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.debug-buttons button{width:100%;background:#233f26}.debug-buttons button:hover,.debug-header button:hover{filter:brightness(1.1)}.debug-buttons button.is-active{background:#6a8e2d;color:#f8ffe7;box-shadow:inset 0 -2px #233a0c8c,2px 2px #080e089e}.debug-size-control{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:2px}.debug-size-control input[type=range]{width:100%;accent-color:#8cff72}.debug-size-control strong{min-width:3.4ch;text-align:right;color:#f8ffe7;font-size:.74rem}kbd{display:inline-block;min-width:2.1rem;padding:.25rem .4rem;margin:0 .15rem;border:2px solid var(--panel-border-dark);outline:1px solid var(--panel-border-light);outline-offset:-3px;background:#22381f;color:var(--accent);font:inherit;text-align:center;text-transform:uppercase;box-shadow:3px 3px #0a120acc}.loss-screen{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:auto;z-index:20}.loss-screen[hidden]{display:none}.loss-backdrop{position:absolute;inset:0;background:#04060ad1}.loss-panel{position:relative;width:min(875px,calc(100vw - 16px));aspect-ratio:4 / 3;max-height:92dvh}.loss-panel-frame{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;opacity:.97;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:1}.loss-panel-inner{position:absolute;inset:12% 16% 10%;transform:translateY(5%);z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:start;gap:0}.loss-header{text-align:center;width:10%}.loss-header-gems{margin-bottom:2px;font-size:.55rem;color:#5a371499;letter-spacing:8px}#loss-title{margin:0 0 10%;padding-top:5%;font-size:2rem;line-height:1;text-transform:uppercase;letter-spacing:.18em;color:#3a1f08;text-shadow:0 1px 0 rgba(255,220,150,.25)}.loss-stats{width:100%;border-top:1px solid rgba(80,50,20,.2);border-bottom:1px solid rgba(80,50,20,.2);margin:4px 0}.loss-stat{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(80,50,20,.1)}.loss-stat:last-child{border-bottom:none}.loss-stat-label{font-size:1rem;text-transform:uppercase;letter-spacing:.08em;color:#37200cb3}.loss-stat-value{font-size:1.2rem;color:#2a1506}.loss-actions{display:flex;gap:10px;width:40%;padding-top:20px}.loss-actions button{flex:1;pointer-events:auto;cursor:pointer;font-family:PixelArt,Courier New,monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;padding:6px 8px;border:2px solid #2f2112;background:#e8d4aa;color:#1f140b;box-shadow:inset 0 -2px #422d1959,2px 2px #120c0766;transition:background .1s,transform .06s;image-rendering:pixelated}.loss-actions button:hover{background:#f3e2be}.loss-actions button:active{transform:translateY(1px);box-shadow:inset 0 2px 4px #00000040}.loss-credits{width:100%;display:flex;flex-direction:column;align-items:center;gap:7px}.loss-credits-sep{width:70%;height:1px;background:linear-gradient(90deg,transparent,rgba(80,50,20,.35),transparent);margin-bottom:2px}.loss-credits-heading{margin:0;font-size:.85rem;text-transform:uppercase;letter-spacing:.22em;color:#3c240e99}.loss-credits-grid{display:grid;grid-template-columns:1fr 1fr;gap:0px 20px;width:100%}.loss-credits-grid span{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#3c26108c;text-align:right}.loss-credits-grid strong{font-size:.82rem;text-transform:uppercase;letter-spacing:.04em;color:#281808cc;text-align:left}.loss-credits-footer{margin:0;font-size:1rem;color:#3c261073;text-transform:uppercase;letter-spacing:.08em}.death-banner{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;z-index:21}.death-banner[hidden]{display:none}.death-banner-text{margin:0;font-family:PixelArt,Courier New,monospace;font-size:clamp(4.8rem,16vw,11rem);line-height:1;letter-spacing:.06em;color:#ff2f2f;text-transform:uppercase;opacity:0;transform:scale(.82);text-shadow:0 0 16px rgba(255,30,30,.62),0 0 44px rgba(170,20,20,.46),3px 3px 0 rgba(26,0,0,.78)}.death-banner.death-banner-animate .death-banner-text{animation:death-banner-fade 1.15s ease-out forwards}.wave-banner{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.wave-banner[hidden]{display:none}.wave-banner h2,.wave-banner p{margin:0;font-family:PixelArt,Courier New,monospace;text-transform:uppercase;color:#fff4c7;text-shadow:4px 4px 0 rgba(24,10,4,.92),0 0 18px rgba(255,211,92,.72),0 0 42px rgba(255,94,48,.38)}.wave-banner h2{font-size:clamp(4rem,12vw,9rem);line-height:.9;letter-spacing:.04em}.wave-banner p{margin-top:14px;font-size:clamp(1rem,3vw,2rem);line-height:1;color:#ffcf70}.wave-banner>*{opacity:0;transform:scale(.82)}.wave-banner.wave-banner-animate>*{animation:wave-banner-pop 1.25s ease-out forwards}.boss-health{position:absolute;left:50%;bottom:clamp(40px,15vh,122px);width:min(840px,78vw);transform:translate(-50%);z-index:18;pointer-events:none;text-align:center}.boss-health[hidden]{display:none}.boss-health-name{margin-bottom:8px;font-family:PixelArt,Courier New,monospace;font-size:clamp(1rem,2.4vw,1.9rem);line-height:1;letter-spacing:.08em;color:#f1d7a1;text-transform:uppercase;text-shadow:3px 3px 0 rgba(24,8,8,.9),0 0 16px rgba(255,80,60,.42)}.boss-health-bar{height:clamp(18px,2.8vh,28px);border:3px solid rgba(38,14,12,.92);background:linear-gradient(180deg,#160909f0,#371714eb);box-shadow:inset 0 0 0 2px #ffdca029,0 4px #0000008c,0 0 24px #8c181261;overflow:hidden}.boss-health-fill{width:100%;height:100%;transform:scaleX(1);transform-origin:left center;background:linear-gradient(180deg,#ff6f64,#b71724 48%,#5f0912);box-shadow:inset 0 -4px #32000057,0 0 18px #ff39357a}@keyframes wave-banner-pop{0%{opacity:0;transform:scale(.82)}14%{opacity:1;transform:scale(1.04)}64%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.12)}}@keyframes death-banner-fade{0%{opacity:0;transform:scale(.82)}12%{opacity:1;transform:scale(1)}62%{opacity:1;transform:scale(1.02)}to{opacity:0;transform:scale(1.12)}}.touch-ui{position:fixed;inset:0;z-index:16;pointer-events:none;-webkit-user-select:none;user-select:none;touch-action:none}.portal-confirm{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#000000b8;pointer-events:all}.portal-confirm:not([hidden]){display:flex}.portal-confirm-box{background:#0d1f12;border:3px solid #4cff88;outline:1px solid #1a3320;outline-offset:-5px;padding:28px 32px;text-align:center;max-width:320px;box-shadow:0 0 32px #4cff8833,8px 8px #000c}.portal-confirm-text{color:var(--text);font-size:1rem;margin:0 0 20px;line-height:1.5;text-shadow:0 0 8px rgba(76,255,136,.3)}.portal-confirm-actions{display:flex;gap:12px;justify-content:center}.portal-confirm-actions button{font-family:inherit;font-size:.8rem;padding:8px 18px;cursor:pointer;border:2px solid;image-rendering:pixelated}#portal-confirm-yes{background:#0d2e18;color:#4cff88;border-color:#4cff88;box-shadow:0 0 12px #4cff8840}#portal-confirm-yes:hover{background:#4cff88;color:#0a1a0e}#portal-confirm-no{background:#1a1a1a;color:var(--muted);border-color:var(--muted)}#portal-confirm-no:hover{background:var(--muted);color:#0d1a0d}.multiplayer-panel{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;background:#000000b8;pointer-events:all;opacity:0;transition:opacity .18s ease-out}.multiplayer-panel.multiplayer-panel-open{opacity:1}.multiplayer-panel:not([hidden]){display:flex}.multiplayer-panel-box{background:#0a1a26;border:3px solid #4ccfff;outline:1px solid #1a3340;outline-offset:-5px;padding:24px 28px;width:min(360px,92vw);box-shadow:0 0 36px #4ccfff38,8px 8px #000c;position:relative}.multiplayer-close{position:absolute;top:6px;right:8px;background:transparent;border:none;color:var(--muted);font-size:1.5rem;font-family:inherit;cursor:pointer;line-height:1;padding:4px 8px}.multiplayer-close:hover{color:#4ccfff}.multiplayer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.multiplayer-header h3{margin:0;color:#4ccfff;font-size:1rem;letter-spacing:.05em;text-shadow:0 0 8px rgba(76,207,255,.4)}.multiplayer-role{font-size:.65rem;padding:2px 8px;border:1px solid currentColor;letter-spacing:.08em;text-transform:uppercase}.multiplayer-role[data-role=host]{color:#fd6}.multiplayer-role[data-role=joiner]{color:#4cff88}.multiplayer-section{margin-bottom:14px}.multiplayer-section label{display:block;font-size:.65rem;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.multiplayer-code-row{display:flex;align-items:center;gap:10px;background:#051018;border:2px solid #1a3340;padding:8px 12px}.multiplayer-code-row strong{flex:1;font-size:1.3rem;letter-spacing:.18em;color:#fd6;text-shadow:0 0 6px rgba(255,221,102,.4)}.multiplayer-code-row button,.multiplayer-join-row button{font-family:inherit;font-size:.7rem;padding:6px 12px;cursor:pointer;background:#082030;color:#4ccfff;border:2px solid #4ccfff;image-rendering:pixelated}.multiplayer-code-row button:hover,.multiplayer-join-row button:hover{background:#4ccfff;color:#06121a}.multiplayer-code-row button:disabled,.multiplayer-join-row button:disabled{opacity:.4;cursor:not-allowed}.multiplayer-peers{list-style:none;margin:0;padding:6px 10px;background:#051018;border:2px solid #1a3340;min-height:56px;max-height:96px;overflow-y:auto}.multiplayer-peer,.multiplayer-peer-empty{font-size:.75rem;padding:3px 0;color:var(--text)}.multiplayer-peer-empty{color:var(--muted);font-style:italic}.multiplayer-peer:before{content:"● ";color:#4cff88;margin-right:4px}.multiplayer-join-row{display:flex;gap:8px}.multiplayer-join-row input{flex:1;background:#051018;border:2px solid #1a3340;color:#fd6;font-family:inherit;font-size:1rem;letter-spacing:.18em;padding:6px 10px;text-align:center;outline:none}.multiplayer-join-row input:focus{border-color:#4ccfff}.multiplayer-status{margin-top:8px;font-size:.7rem;min-height:1em;color:var(--muted)}.multiplayer-status[data-kind=error]{color:#ff7a66}.multiplayer-status[data-kind=ok]{color:#4cff88}.orientation-lock-screen{position:fixed;inset:0;z-index:30;display:none;align-items:center;justify-content:center;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) max(16px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left));background:#090d0beb;pointer-events:auto}.orientation-lock-screen:not([hidden]){display:flex}.orientation-lock-card{min-width:min(280px,calc(100vw - 32px));max-width:360px;padding:18px 20px;border:3px solid rgba(32,23,14,.96);background:linear-gradient(180deg,#f7e8bdf5,#d7be84f5);box-shadow:inset 0 0 0 2px #fff5d661,0 0 28px #00000052;color:#1b140d;text-align:center;text-transform:uppercase}.orientation-lock-card strong,.orientation-lock-card span{display:block}.orientation-lock-card strong{font-size:16px;font-weight:700;letter-spacing:.08em}.orientation-lock-card span{margin-top:8px;font-size:10px;letter-spacing:.06em}.touch-stick,.touch-shield{pointer-events:auto;touch-action:none;-webkit-tap-highlight-color:transparent}.touch-stick{position:absolute;width:96px;height:96px}.touch-stick-left{left:max(10px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom))}.touch-actions{position:absolute;right:max(6px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));width:208px;height:178px}.touch-stick-right{position:absolute;right:0;bottom:0}.touch-stick-base,.touch-stick-knob{position:absolute;inset:0;margin:auto;border-radius:50%;image-rendering:pixelated}.touch-stick-base{width:96px;height:96px;border:3px solid rgba(20,16,10,.9);background:radial-gradient(circle at center,#f5e5ad47 0 34%,#74522633 34% 58%,#1c130c85 58% 100%);box-shadow:inset 0 0 0 2px #f6df964d,0 0 20px #00000040;opacity:.9}.touch-stick-knob{width:42px;height:42px;transform:translateZ(0);border:3px solid rgba(31,20,10,.95);background:radial-gradient(circle at 35% 35%,#fff9e4f2 0 14%,#eac679eb 14% 54%,#663f19e6 54% 100%);box-shadow:inset 0 0 0 2px #ffebba66,0 0 12px #0000003d}.touch-shield{position:absolute;right:-48px;top:20px;width:72px;height:72px;padding:0;border:3px solid rgba(24,18,11,.95);background:#0c0a0847;border-radius:14px;box-shadow:inset 0 0 0 2px #fff5dc1f,0 0 12px #00000038;color:#f2ead6;font-family:PixelArt,Courier New,monospace;text-transform:uppercase;display:grid;place-items:center;overflow:hidden}.touch-shield.is-active{filter:brightness(1.12) saturate(1.04);box-shadow:inset 0 0 0 2px #ffffff5c,0 0 16px #ffe6aa47}.touch-shield-icon{width:80%;height:80%;object-fit:contain;image-rendering:pixelated;pointer-events:none;-webkit-user-select:none;user-select:none;filter:drop-shadow(0 1px 0 rgba(255,255,255,.25))}.touch-shield-arrow{position:absolute;left:50%;top:50%;width:12px;height:12px;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 35% 35%,#fffffff2 0 24%,#aaf4ffe6 24% 72%,#3fc8ff73 72% 100%);box-shadow:0 0 8px #78e6fff2,0 0 14px #5abeffbf,0 0 22px #5096ff85;transform:translate(-50%,-50%) rotate(0) translate(22px);opacity:0;transition:opacity 80ms linear,transform 60ms linear}@media(max-width:860px){.panel-left{--panel-left-width: min(200px, calc(100vw - 20px) )}}@media(max-width:900px)and (pointer:coarse){.touch-ui:not([hidden]){display:block}.touch-stick-left{left:max(40px,env(safe-area-inset-left))}.touch-actions{right:max(60px,env(safe-area-inset-right))}.panel-score{width:min(95px,calc(100vw - 20px))}.panel-score-content{inset:14% 16% 20%;justify-content:flex-start;gap:1px;transform:translateY(8px)}.panel-score strong{font-size:.6rem;margin-top:0;line-height:.9}.panel-score span{line-height:.9}#hud-score{font-size:.55rem}#hud-stopwatch{margin-bottom:0;font-size:.47rem}.panel-left{--panel-left-width: min(132px, 30vw);--panel-left-primary-top: 14%;--panel-left-primary-left: 13%;--panel-left-primary-right: 14%;--panel-left-primary-gap: 3px;--panel-left-stat-size: .46rem;--panel-left-secondary-stat-size: .42rem;--panel-left-health-bar-height: 7px;--panel-left-shield-bar-height: 4px;--panel-left-label-width: 28px;--ammo-pip-width: 4px;--ammo-pip-height: 5px;--ammo-pip-gap: 2px;--panel-left-buff-top: calc(69% + 4px) ;--panel-left-buff-left: 13%;--panel-left-buff-right: 14%}.stat-row{gap:8px;letter-spacing:.04em}.stat-row-health{transform:translateY(4px)}.stat-row-ammo{gap:4px;font-size:.48rem}.stat-row-kills>strong{font-size:.72em}.ammo-indicator{grid-template-columns:repeat(12,calc(var(--ammo-pip-width) * var(--ammo-size-scale) * 1.12));max-height:calc((var(--ammo-pip-height) * var(--ammo-size-scale) * 1.12) * 7 + var(--ammo-pip-gap) * 6)}.panel-bottom{left:50%;right:auto;bottom:max(8px,env(safe-area-inset-bottom));width:min(360px,calc(100vw - 16px));padding:8px 10px 7px;transform:translate(-50%);opacity:.9;pointer-events:auto;display:flex;flex-direction:column;gap:5px;overflow:visible}.panel-bottom.is-collapsed .helper-body{display:none}.panel-bottom.is-collapsed{width:auto;padding:0;border:none;outline:none;background:transparent;box-shadow:none}.helper-toggle{display:flex;position:absolute;left:50%;top:-12px;transform:translate(-50%);align-items:center;justify-content:center;width:26px;height:18px;border:2px solid #2a3c24;background:#121e12e6;color:var(--accent);font-family:PixelArt,Courier New,monospace;font-size:.46rem;line-height:1;letter-spacing:0;text-transform:none;padding:0;box-shadow:inset 0 -1px #060c0885,2px 2px #080e088c;cursor:pointer;pointer-events:auto}.helper-toggle-arrow{display:inline-block;font-size:.8rem;transform:rotate(180deg);transition:transform .12s ease}.panel-bottom:not(.is-collapsed) .helper-toggle-arrow{transform:rotate(0)}.helper-text-desktop{display:none}.helper-text-mobile{display:block}.panel-bottom p{font-size:.44rem;line-height:1.32;text-align:center;letter-spacing:.04em}kbd{min-width:1.5rem;padding:.14rem .28rem;margin:0 .08rem;box-shadow:2px 2px #0a120acc}.loss-panel{width:min(375px,calc(100vw - 10px))}.loss-panel-inner{inset:14% 14% 10%;transform:translateY(4%)}#loss-title{font-size:1.1rem}.loss-stat-label{font-size:.6rem}.loss-stat-value{font-size:.72rem}.loss-stat{padding:4px 0}.loss-actions button{font-size:.72rem;padding:9px 6px}.loss-credits-grid span,.loss-credits-grid strong{font-size:.68rem}.loss-credits-heading{font-size:.7rem}.loss-credits-footer{font-size:.85rem}.panel-debug{width:min(230px,46vw);padding:9px}.debug-header strong{font-size:.62rem}.debug-header button,.debug-buttons button{font-size:.56rem;padding:6px 7px}.debug-controls p,.debug-checkbox{font-size:.48rem}.debug-size-control strong{font-size:.56rem}}@media(max-width:640px){body{font-size:9px}.panel-score{width:min(74px,calc(100vw - 18px))}.panel-score strong{font-size:.53rem;margin-top:0;line-height:.88}#hud-score{font-size:.45rem}.panel-score-content{inset:14% 16% 19%;justify-content:flex-start;gap:0;transform:translateY(5px)}.panel-score span{line-height:.88}#hud-stopwatch{margin-bottom:0}.panel-left{--panel-left-width: min(118px, 28vw);--panel-left-primary-top: 15%;--panel-left-primary-gap: 3px;--panel-left-stat-size: .44rem;--panel-left-health-bar-height: 6px;--panel-left-shield-bar-height: 3px;--panel-left-label-width: 26px;--ammo-pip-width: 4px;--ammo-pip-height: 5px;--ammo-pip-gap: 2px}.stat-row-ammo{font-size:.46rem}.stat-row-health{transform:translateY(3px)}.panel-bottom{width:min(336px,calc(100vw - 12px));bottom:max(8px,env(safe-area-inset-bottom));padding:6px 8px;box-shadow:6px 6px 0 var(--shadow),inset 0 0 0 2px #0b170ebf}.panel-bottom p{font-size:.4rem;line-height:1.26}.helper-toggle{width:24px;height:17px;font-size:.42rem;top:-11px}.touch-stick,.touch-stick-base{width:82px;height:82px}.touch-stick-knob{width:36px;height:36px}.touch-shield{width:60px;height:60px}.touch-shield-icon{width:82%;height:82%}.touch-shield-arrow{width:10px;height:10px}.loss-panel{width:min(340px,calc(100vw - 8px))}.loss-panel-inner{inset:15% 13% 8%;transform:translateY(3%);gap:0}#loss-title{font-size:.92rem;padding-top:0%;margin-bottom:5%}.loss-header-gems{display:none}.loss-stat{padding:0}.loss-stat-label{font-size:.54rem}.loss-stat-value{font-size:.64rem}.loss-actions{gap:6px}.loss-actions button{font-size:.62rem;padding:6px 4px}.loss-credits{gap:3px}.loss-credits-sep{margin-bottom:0}.loss-credits-heading{font-size:.56rem}.loss-credits-grid{gap:0px 12px}.loss-credits-grid span,.loss-credits-grid strong{font-size:.54rem}.loss-credits-footer{font-size:.65rem}}@media(max-width:640px)and (orientation:portrait){.panel-score{top:max(2px,env(safe-area-inset-top));width:min(72px,calc(100vw - 16px))}.panel-score strong{font-size:.43rem}#hud-score{font-size:.38rem}#hud-stopwatch{font-size:.35rem;margin-bottom:2px}.panel-left{--panel-left-width: min(96px, 24vw);--panel-left-primary-top: 15%;--panel-left-primary-left: 14%;--panel-left-primary-right: 14%;--panel-left-primary-gap: 2px;--panel-left-stat-size: .38rem;--panel-left-secondary-stat-size: .34rem;--panel-left-health-bar-height: 5px;--panel-left-shield-bar-height: 2px;--panel-left-label-width: 22px;--ammo-pip-width: 3px;--ammo-pip-height: 4px;--ammo-pip-gap: 2px;--panel-left-buff-top: calc(68% + 3px) }.stat-row{gap:6px}.stat-row-ammo{gap:4px;font-size:.38rem}.stat-row-kills>strong{font-size:.62em}.buff-indicator-icon{width:8px;height:8px;flex-basis:8px}.cooldown-bar-buff{height:6px}.panel-bottom{width:min(308px,calc(100vw - 10px));padding:4px 6px}.panel-bottom.is-collapsed{width:auto;padding:0}.panel-bottom p{font-size:.36rem;line-height:1.2}kbd{min-width:1rem;padding:.04rem .12rem;margin:0 .04rem}.touch-stick-left{left:max(12px,env(safe-area-inset-left));bottom:max(10px,env(safe-area-inset-bottom))}.touch-actions{right:max(2px,env(safe-area-inset-right));bottom:max(10px,env(safe-area-inset-bottom));width:164px;height:138px}.touch-stick,.touch-stick-base{width:69px;height:69px}.touch-stick-knob{width:30px;height:30px}.touch-shield{width:50px;height:50px;border-radius:10px;right:-10px;top:8px}.touch-shield-icon{width:84%;height:84%}.touch-shield-arrow{width:9px;height:9px}}@media(max-width:480px)and (orientation:portrait){.panel-bottom{width:min(286px,calc(100vw - 8px))}}@media(max-width:400px)and (orientation:portrait){.loss-panel{width:calc(100vw - 6px)}.loss-panel-inner{inset:11% 12% 7%;transform:translateY(15%)}#loss-title{font-size:.5rem;padding-top:2%;margin-bottom:4%}.loss-stat-label{font-size:.4rem}.loss-stat-value,.loss-credits-grid span,.loss-credits-grid strong{font-size:.38rem}}@media(max-height:500px)and (orientation:landscape){.loss-panel{height:min(88dvh,420px);width:auto}.loss-credits-grid{gap:0px 12px}.loss-panel-inner{inset:11% 15% 8%;transform:translateY(13%)}#loss-title{font-size:.6rem;padding-top:2%;margin-bottom:4%}.loss-header-gems{display:none}.loss-stat{padding:0}.loss-stat-label{font-size:.42rem}.loss-stat-value{font-size:.38rem}.loss-actions{padding:2px}.loss-actions button{padding:0 8px;font-size:.45rem}.loss-credits{gap:0px}.loss-credits-heading{font-size:.46rem}.loss-credits-grid span,.loss-credits-grid strong{font-size:.34rem}.loss-credits-footer{font-size:.45rem}}
