:root{--app-width: 100vw;--app-height: 100vh;--arena-accent: #20cfff;color:#fff;font-family:Bahnschrift,Arial Narrow,Segoe UI,sans-serif;background:#000106;font-synthesis:none}@supports (height: 100dvh){:root{--app-height: 100dvh}}*{box-sizing:border-box;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}html,body{width:100%;min-height:100%;height:100%;margin:0;overflow:hidden;background:#000106;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none;overscroll-behavior:none}body{position:relative;display:grid;place-items:center;isolation:isolate;width:var(--app-width);height:var(--app-height);min-height:var(--app-height);overflow:hidden;overscroll-behavior:none;touch-action:none;cursor:crosshair}button{font:inherit}.startup-loading{position:fixed;z-index:30;inset:0;display:grid;align-content:center;justify-items:center;gap:14px;color:#eafcff;background:radial-gradient(circle at 50% 58%,rgba(21,85,190,.28),transparent 42%),#000106;font-size:clamp(18px,4vw,30px);font-weight:900;letter-spacing:.18em;transition:opacity .28s ease,visibility .28s ease}.startup-loading.hidden{opacity:0;visibility:hidden;pointer-events:none}.startup-loading-track{width:min(240px,58vw);height:3px;overflow:hidden;border-radius:99px;background:#3d7dff33}.startup-loading-track i{display:block;width:42%;height:100%;background:#87eaff;box-shadow:0 0 12px #168cff;animation:startup-load 1.1s ease-in-out infinite}@keyframes startup-load{0%{transform:translate(-120%)}to{transform:translate(340%)}}#game-shell{position:relative;z-index:2;width:min(var(--app-width),calc(var(--app-height) * .45));height:min(var(--app-height),calc(var(--app-width) * 2.2222));min-height:0;overflow:hidden;background:transparent;touch-action:none;cursor:crosshair}#game-shell.cinematic .hud,#game-shell.cinematic .gesture-hint,body:has(#game-shell.cinematic) #aim-dot{opacity:0;transition:opacity .12s ease-out}#game-shell.ad-paused .gesture-hint,body:has(#game-shell.browser-paused) #aim-dot,body:has(#game-shell.browser-paused) .gesture-hint,body:has(#game-shell.ad-paused) #aim-dot{opacity:0}#stage,#stage canvas{position:fixed;inset:0;width:var(--app-width);height:var(--app-height);display:block;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-user-drag:none}#stage{z-index:0;pointer-events:none}#stage canvas{transition:filter .28s ease}body:has(#game-shell.paused) #stage canvas{filter:saturate(.8) brightness(.95)}body:has(#game-shell.failed) #stage canvas{filter:grayscale(1) contrast(1.08) brightness(.68)}.vignette{pointer-events:none;position:fixed;inset:0;z-index:1;background:linear-gradient(to bottom,rgba(1,3,15,.55),transparent 24%,transparent 72%,rgba(1,3,15,.55)),radial-gradient(ellipse at center,transparent 48%,rgba(1,3,15,.35) 100%)}.hud{position:absolute;z-index:9;top:max(18px,env(safe-area-inset-top));left:18px;right:18px;display:grid;gap:9px;pointer-events:none;text-shadow:0 2px 8px #000}.hud-copy{display:grid;align-content:start;gap:4px;padding-right:78px;min-width:0;min-height:77px;container-type:inline-size}#objective-label{max-width:100%;color:#b0cee5;font-size:10px;font-weight:800;line-height:1.4;letter-spacing:.045em}.hud-actions{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:7px}.menu-toggle{position:absolute;top:0;right:0;z-index:3;display:grid;place-items:center;width:64px;min-height:34px;padding:5px}.hud-weapon{position:absolute;top:43px;right:0;width:64px;min-height:34px;padding:5px}.quick-menu #levels-toggle{grid-column:1 / -1}.menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}.menu-toggle[aria-expanded=true]{border-color:var(--arena-accent);color:#fff;box-shadow:0 0 18px #25cfff35}.quick-menu-backdrop{position:fixed;z-index:1;inset:0;background:#01061355;pointer-events:auto}.quick-menu{position:absolute;z-index:2;top:43px;right:0;width:min(264px,100%);padding:16px;border:1px solid #77d9ff60;border-radius:14px;background:linear-gradient(145deg,#10243af5,#050d1ff8);box-shadow:0 14px 50px #000a,inset 0 1px #c9f4ff15;pointer-events:auto}.quick-menu[hidden],.quick-menu-backdrop[hidden]{display:none}.quick-menu-title{margin-bottom:12px;color:#c1d9ed;font-size:10px;font-weight:800;letter-spacing:.16em}.quick-menu .icon-button{min-height:44px;opacity:1;font-size:11px}.quick-menu .icon-button.muted{color:#a5bad3}.weapon-button{color:#c9f3ff;border-color:#43d1ffb3;opacity:.82}.boss-hud{position:absolute;z-index:5;top:max(150px,calc(env(safe-area-inset-top) + 138px));left:14%;right:14%;display:grid;gap:4px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity .2s,transform .2s}.boss-hud.visible{opacity:1;transform:translateY(0)}.boss-hud span{text-align:center;color:#ffe56d;font-size:13px;font-weight:900;letter-spacing:.16em;text-shadow:0 2px 7px #000}.boss-health-track{height:8px;padding:1px;border:1px solid rgba(255,229,109,.8);background:#0c0308d1;box-shadow:0 0 14px #ff462859}.boss-health-track i{display:block;width:100%;height:100%;background:linear-gradient(90deg,#ff263f,#ffcb35);transform-origin:left;transition:transform .16s}.icon-button{pointer-events:auto;min-height:30px;padding:5px 8px;border:1px solid rgba(99,176,255,.48);border-radius:8px;color:#dcecff;background:linear-gradient(145deg,#1b314ed9,#061023d1);box-shadow:inset 0 0 12px #1a6eff29,0 0 10px #1761ff1f;font-size:10px;font-weight:800;letter-spacing:.06em;cursor:pointer;opacity:.9;transition:opacity .15s ease,transform .12s ease}.icon-button:hover,.icon-button:focus-visible{opacity:1}.icon-button:active{transform:scale(.96)}.icon-button.muted{color:#7d89a8;border-color:#7d89a859}#level-label{font-size:clamp(16px,11.5cqi,30px);white-space:nowrap;font-weight:800;letter-spacing:.035em;color:#e8eaff}.level-menu{position:fixed;inset:0;z-index:10;display:grid;place-items:center;padding:24px;opacity:0;visibility:hidden;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,#091634ad,#00020cdb);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);transition:opacity .18s ease,visibility .18s ease}.level-menu.visible{opacity:1;visibility:visible;pointer-events:auto}.level-menu-card{width:min(330px,100%);max-width:calc(var(--app-width) - 32px);max-height:min(calc(var(--app-height) - 32px),760px);padding:22px;border:1px solid rgba(85,167,255,.55);border-radius:20px;background:radial-gradient(ellipse at top right,rgba(59,56,128,.5),transparent 65%),linear-gradient(160deg,#0d243b,#050b1c);box-shadow:0 24px 90px #0009,0 0 45px #0c5cff2e,inset 0 1px #bdedff25}.level-menu-title{margin-bottom:16px;text-align:center;font-size:24px;font-weight:900;letter-spacing:.08em}.level-grid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:max-content;align-content:start;gap:7px;max-height:min(61vh,calc(var(--app-height) - 190px));overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding:2px 3px 8px;scrollbar-color:rgba(81,175,255,.65) rgba(4,12,35,.65)}.level-button,.menu-close{border:1px solid rgba(96,169,255,.55);border-radius:7px;color:#fff;background:#11377dad;font-weight:800;cursor:pointer}.level-button{min-height:40px;aspect-ratio:1.05;font-size:clamp(15px,4vw,19px);box-shadow:inset 0 0 15px #2886ff24}.level-button.current{color:#06111d;background:#78d8ff;box-shadow:0 0 22px #2eb5ffb3}.level-button{position:relative}.level-button .level-stars{position:absolute;inset:auto 0 2px;color:#ffe76a;font-size:8px;line-height:1;letter-spacing:-1px}.level-button.locked{opacity:.3;cursor:not-allowed}.menu-close{width:100%;margin-top:14px;padding:10px;letter-spacing:.08em;min-height:42px;color:#041426;border-color:#9eeeff;background:linear-gradient(120deg,#a4f7ee,#5dc6ff);box-shadow:0 5px 22px #28baff30}.weapon-menu-card{width:min(370px,100%)}.weapon-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.weapon-card{min-width:0;min-height:75px;padding:9px 4px 7px;border:1px solid rgba(88,179,255,.45);border-radius:9px;color:#dcefff;background:#071840cc;cursor:pointer}.weapon-card .weapon-icon{display:block;margin-bottom:3px;font-size:27px;filter:drop-shadow(0 0 8px currentColor)}.weapon-card .weapon-name{display:block;overflow:hidden;font-size:10px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.weapon-card.selected{color:#06121f;border-color:#dfffff;background:#79ddff;box-shadow:0 0 24px #2ac1ffa6}.weapon-card.locked{opacity:.3;filter:grayscale(1);cursor:not-allowed}.weapon-detail{min-height:92px;margin-top:14px;padding:12px;border:1px solid rgba(74,157,255,.25);border-radius:8px;color:#a9c7ed;background:#010718a8;font-size:14px;line-height:1.28}.weapon-detail strong{display:block;margin-bottom:5px;color:#fff;font-size:17px;letter-spacing:.05em}.weapon-detail small{display:block;margin-top:5px;color:#70dcff}.tutorial-card{text-align:center}.tutorial-icon{margin-bottom:4px;color:#a9f3ff;font-size:66px;filter:drop-shadow(0 0 20px #168cff)}.tutorial-card p{color:#c3d7f6;font-size:18px;line-height:1.32}.tutorial-tip{padding:10px;border-left:3px solid #55d8ff;color:#72dcff;background:#167edc1a;font-size:14px}#aim-dot{position:fixed;z-index:4;width:19px;height:19px;margin:-10px 0 0 -10px;border:2px solid rgba(150,213,255,.9);border-radius:50%;box-shadow:0 0 9px #1a7cff,inset 0 0 7px #1a7cff;opacity:0;transform:scale(.7);transition:opacity .15s,transform .15s;pointer-events:none}body:has(#game-shell.aiming) #aim-dot{opacity:.82;transform:scale(1)}.gesture-hint{position:absolute;z-index:5;left:50%;bottom:max(9%,calc(env(safe-area-inset-bottom) + 32px));transform:translate(-50%);width:max-content;max-width:85%;display:grid;place-items:center;text-align:center;pointer-events:none;animation:hint-bob 1.15s ease-in-out infinite alternate;transition:opacity .35s,transform .35s;text-shadow:0 2px 12px #000}.gesture-hint.hidden{opacity:0;transform:translate(-50%,12px)}.gesture-icon{display:grid;place-items:center;width:54px;height:54px;margin-bottom:8px;border:2px solid rgba(92,175,255,.9);border-radius:50%;color:#dff6ff;font-size:30px;box-shadow:0 0 24px #07f9,inset 0 0 18px #0077ff40;background:linear-gradient(145deg,#53efff24,#6152ff18)}.gesture-hint strong{font-size:clamp(15px,4vw,21px);letter-spacing:.08em}.gesture-hint small{margin-top:2px;color:#c0d7ee;font-size:clamp(11px,3vw,13px);letter-spacing:.04em}.result{position:absolute;inset:0;z-index:6;display:grid;align-content:start;justify-items:center;padding-top:min(24vh,calc(var(--app-height) * .24));pointer-events:none;opacity:0;transform:scale(.82);transition:opacity .18s ease,transform .3s cubic-bezier(.2,1.5,.4,1)}.result.visible{opacity:1;transform:scale(1)}#result-title{max-width:92%;text-align:center;white-space:pre-line;font-size:clamp(36px,10vw,55px);line-height:.98;font-style:italic;font-weight:900;letter-spacing:-.04em;color:#fff;-webkit-text-stroke:0;text-shadow:0 3px 0 #207bac,0 0 26px #23bfff80,0 14px 24px rgba(0,0,0,.85)}.failed #result-title{color:#ff5367;-webkit-text-stroke-color:#fff;text-shadow:0 4px 0 #761a2a,0 9px 22px #000}#result-subtitle{display:block;max-width:90%;margin-top:15px;text-align:center;color:#c4ddec;font-size:11px;line-height:1.6}.result-stars{min-height:42px;margin-top:22px;color:#ffe452;font-size:clamp(31px,9vw,48px);line-height:1;letter-spacing:.07em;text-shadow:0 0 15px rgba(255,195,22,.8),0 3px 0 #7d4910}.result-actions{display:flex;gap:10px;margin-top:24px;pointer-events:auto}#restart-button,#next-button{pointer-events:auto;padding:14px 20px;border:1px solid #62a9ff;border-radius:10px;color:#fff;background:#123482b8;box-shadow:0 0 24px #1476ff73;font-weight:800;letter-spacing:.04em;font-size:12px;cursor:pointer}#next-button{border-color:#fff3a4;color:#111827;background:linear-gradient(120deg,#fff1a2,#ffc646);box-shadow:0 0 24px #ffc52247}.result:not(.outcome) .result-actions{display:none}.result.visible.outcome{pointer-events:auto}#game-shell:has(.result.visible.outcome) .hud-copy,#game-shell:has(.result.visible.outcome) .battle-progress,#game-shell:has(.result.visible.outcome) .boss-hud,#game-shell:has(.result.visible.outcome) .gesture-hint,#game-shell:has(.result.visible.outcome) .combo{visibility:hidden;pointer-events:none}.result.final{pointer-events:auto}.combat-float{position:absolute;z-index:5;left:50%;top:42%;max-width:78%;padding:7px 12px;border:1px solid rgba(102,220,255,.6);border-radius:5px;color:#eaffff;background:#010718d1;font-size:15px;font-weight:900;letter-spacing:.08em;text-align:center;transform:translate(-50%,-50%);animation:combat-float .85s ease-out forwards;pointer-events:none}@keyframes combat-float{0%{opacity:0;transform:translate(-50%,-30%) scale(.8)}18%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(-50%,-95%) scale(.96)}}#flash{position:fixed;inset:0;z-index:8;opacity:0;pointer-events:none;background:#dff8ff;mix-blend-mode:screen}#flash.hit{animation:flash .13s ease-out}#flash.launch{background:#36bfff;animation:launch-flash .18s ease-out}#flash.lightning{background:#c9ffff;animation:lightning-flash .24s ease-out}#flash.bomb{background:#ff8518;animation:bomb-flash .45s ease-out}@keyframes hint-bob{to{translate:0 -8px}}@keyframes flash{0%{opacity:.18}to{opacity:0}}@keyframes launch-flash{0%{opacity:.08}to{opacity:0}}@keyframes lightning-flash{0%{opacity:.16}22%{opacity:.05}42%{opacity:.12}to{opacity:0}}@keyframes bomb-flash{0%{opacity:.28}to{opacity:0}}.battle-progress{display:flex;gap:12px;align-items:center}.battle-progress-track{flex:1;height:3px;background:#6ab2d02e;border-radius:3px;overflow:hidden}.battle-progress-track i{display:block;height:100%;background:var(--arena-accent);box-shadow:0 0 12px var(--arena-accent);transform-origin:left;transition:transform .25s ease}.combo{position:absolute;z-index:5;top:28%;right:12%;display:grid;justify-items:center;opacity:0;transform:scale(.75) rotate(-8deg);transition:opacity .2s,transform .2s cubic-bezier(.2,1.8,.4,1);pointer-events:none}.combo.visible{opacity:1;transform:scale(1) rotate(-8deg)}.combo strong{color:#fff4b2;font-size:44px;font-style:italic;line-height:1;text-shadow:0 0 22px #ffb32190,0 3px 0 #ab4c22}.combo span{color:#ffd55d;font-size:10px;font-weight:800;letter-spacing:.22em}body:has(.result.visible.outcome) .vignette{background:radial-gradient(ellipse at 50% 38%,#031728dc,#02061260 75%)}body:has(#game-shell.failed .result.visible.outcome) .vignette{background:radial-gradient(ellipse at 50% 38%,#3d1122dc,#09030980 75%)}.result.visible .result-stars{animation:stars-arrive .65s .12s both}@keyframes stars-arrive{0%{opacity:0;transform:translateY(15px) scale(.7)}to{opacity:1;transform:none}}body:has(#game-shell.paused) .vignette{box-shadow:inset 0 0 85px #20baff25}body:has(#game-shell.eco) .gesture-hint,body:has(#game-shell.eco) .result-stars{animation:none}button:focus-visible{outline:2px solid #fff3ad;outline-offset:3px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.gesture-hint{animation:none}.combat-float{animation-duration:.01ms}}@media(max-height:420px)and (orientation:landscape){#game-shell{width:min(var(--app-width),max(88vh,440px));height:var(--app-height)}.hud{top:max(5px,env(safe-area-inset-top));left:max(8px,env(safe-area-inset-left));right:max(8px,env(safe-area-inset-right));grid-template-columns:1fr;gap:5px 14px}.hud-copy{gap:1px;min-height:66px}#level-label{font-size:18px}#objective-label{font-size:8px}.battle-progress{grid-column:1;grid-row:2}.menu-toggle{min-height:30px}.hud-weapon{top:36px;min-height:30px}.battle-progress{padding-right:78px}.quick-menu{top:38px}.combo{top:30%;right:7%}.hud-actions{gap:4px}.icon-button{min-height:25px;padding:3px 6px;font-size:9px}.boss-hud{top:max(78px,calc(env(safe-area-inset-top) + 70px))}.gesture-hint{bottom:max(7px,env(safe-area-inset-bottom));transform:translate(-50%) scale(.76);transform-origin:bottom center}.gesture-icon{width:36px;height:36px;margin-bottom:3px;font-size:21px}.gesture-hint strong{font-size:15px}.gesture-hint small{font-size:11px}.level-menu{padding:max(6px,env(safe-area-inset-top)) 8px max(6px,env(safe-area-inset-bottom))}.level-menu-card{max-width:min(520px,calc(var(--app-width) - 16px));max-height:calc(var(--app-height) - 12px);padding:10px;overflow:hidden;overscroll-behavior:contain;touch-action:pan-y}.weapon-menu-card,.tutorial-card{overflow-y:auto}.level-menu-title{margin-bottom:7px;font-size:18px}.level-grid{max-height:calc(var(--app-height) - 98px);gap:4px}.level-button{min-height:30px;font-size:14px}.menu-close{margin-top:7px;padding:6px}.weapon-grid{gap:5px}.weapon-card{min-height:48px;padding:4px 2px}.weapon-card .weapon-icon{margin-bottom:0;font-size:20px}.weapon-detail{min-height:0;margin-top:6px;padding:7px;font-size:11px}.weapon-detail strong{margin-bottom:2px;font-size:13px}.weapon-detail small{margin-top:2px}.tutorial-icon{margin:0;font-size:36px}.tutorial-card p{margin:4px 0;font-size:13px}.tutorial-tip{padding:5px;font-size:11px}.result{padding-top:max(80px,calc(env(safe-area-inset-top) + 65px))}#result-title{font-size:clamp(34px,15vh,50px)}.result-stars{min-height:28px;margin-top:9px;font-size:28px}.result-actions{margin-top:9px}#result-subtitle{margin-top:5px;font-size:9px}#restart-button,#next-button{padding:7px 18px}}@media(max-width:390px){.hud{left:10px;right:10px}.hud-actions{gap:4px}.icon-button{padding-inline:6px}.weapon-grid{grid-template-columns:repeat(4,1fr);gap:6px}.level-menu-card{padding:17px}}
