:root{--acc:#f08a2c;--acc2:#c9d36a;--bad:#ff4a3a;--good:#7ee08a;--ink:#e9ece4;--dim:#9aa196;--panel:#0e110fdb;--line:#e9ece429;--sat:env(safe-area-inset-top,0px);--sab:env(safe-area-inset-bottom,0px);--sal:env(safe-area-inset-left,0px);--sar:env(safe-area-inset-right,0px);font-family:Segoe UI,Roboto Condensed,Roboto,system-ui,sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{height:100%;color:var(--ink);overscroll-behavior:none;-webkit-user-select:none;user-select:none;background:#0b0d0c;margin:0;overflow:hidden}#app{touch-action:none;position:fixed;inset:0}#c{touch-action:none;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}#boot{text-align:center;z-index:50;background:radial-gradient(circle at 50% 40%,#1c221d,#0b0d0c);place-content:center;display:grid;position:absolute;inset:0}#boot h1,.title h1{letter-spacing:.06em;margin:0;font-size:clamp(44px,9vw,110px);font-style:italic;font-weight:900}#boot h1 b,.title h1 b{color:var(--acc)}#boot p{color:var(--dim)}#rotate{z-index:60;text-align:center;background:#0b0d0c;place-content:center;padding:24px;display:none;position:absolute;inset:0}#rotate .phone{border:3px solid var(--acc);border-radius:8px;width:46px;height:80px;margin:0 auto 18px;animation:2s ease-in-out infinite rot}@keyframes rot{50%{transform:rotate(90deg)}}@media (orientation:portrait) and (pointer:coarse){#rotate{display:grid}}#hud{pointer-events:none;z-index:10;text-shadow:0 1px 2px #000000b3;font-weight:600;display:none;position:absolute;inset:0}#hud.on{display:block}.h-obj{left:calc(14px + var(--sal));top:calc(12px + var(--sat));border-left:3px solid var(--acc);background:linear-gradient(90deg,#0a0c0bb3,#0a0c0b00);max-width:42vw;padding:7px 12px;position:absolute}.h-obj-t{text-transform:uppercase;letter-spacing:.04em;font-size:15px}.h-obj-p{color:var(--acc2);margin-top:2px;font-size:13px}.h-boss{top:calc(12px + var(--sat));text-align:center;width:min(46vw,560px);display:none;position:absolute;left:50%;transform:translate(-50%)}.h-boss.on{display:block}.h-boss-n{letter-spacing:.25em;color:#ffd2c0;font-size:15px}.h-boss-bar{background:#0000008c;border:1px solid #ff5a3c99;height:9px;margin-top:4px}.h-boss-bar i{background:linear-gradient(90deg,#ff3d24,#ff8a3a);height:100%;transition:width .15s;display:block}.h-boss-ph{color:var(--dim);letter-spacing:.1em;margin-top:3px;font-size:12px}.h-toasts{flex-direction:column;align-items:center;gap:5px;display:flex;position:absolute;top:22%;left:50%;transform:translate(-50%)}.toast{border:1px solid var(--line);letter-spacing:.06em;text-transform:uppercase;background:#0a0c0bb8;padding:6px 16px;font-size:15px;transition:opacity .4s,transform .4s;animation:.2s ease-out tin}.toast.good{color:var(--good);border-color:#7ee08a99}.toast.warn{color:#ffbb7a;border-color:#f08a2cb3}.toast.bad{color:#ff8070;border-color:#ff4a3acc}.toast.out{opacity:0;transform:translateY(-6px)}@keyframes tin{0%{opacity:0;transform:scale(1.08)}}.h-vitals{left:calc(16px + var(--sal));bottom:calc(14px + var(--sab));width:min(30vw,300px);position:absolute}.h-vitals b{letter-spacing:.2em;color:var(--dim);font-size:10px}.bar{border:1px solid var(--line);background:#00000080;height:10px;margin:2px 0 6px;position:relative;overflow:hidden}.bar i{z-index:2;background:var(--acc2);position:absolute;top:0;bottom:0;left:0}.bar s{z-index:1;background:#fff3;position:absolute;top:0;bottom:0;left:0}.h-hp .bar{height:13px}.h-hp .bar i{background:linear-gradient(90deg,#8fb04a,#c9d36a)}.h-hp.low .bar i{background:var(--bad);animation:.6s infinite alternate blink}@keyframes blink{to{opacity:.5}}.h-en .bar i{background:linear-gradient(90deg,#2c9bd6,#74d4ff)}.h-dodge{color:#74d4ff;letter-spacing:3px;font-size:11px;position:absolute;top:0;right:0}.h-en{position:relative}.h-state{letter-spacing:.2em;border:1px solid var(--line);color:var(--dim);padding:2px 8px;font-size:11px;display:inline-block}.h-state.hover{color:#9fe0ff;border-color:#9fe0ff66}.h-state.boost{color:var(--acc);border-color:var(--acc)}.h-weap{right:calc(16px + var(--sar));bottom:calc(14px + var(--sab));align-items:flex-end;gap:10px;display:flex;position:absolute}.h-w{border:1px solid var(--line);opacity:.55;background:#0a0c0b8c;width:132px;padding:5px 8px}.h-w.active{opacity:1;border-color:var(--acc)}.h-w b{letter-spacing:.08em;font-size:12px;display:block}.h-w span{color:var(--dim);letter-spacing:.1em;font-size:10px}.h-w .bar{height:6px;margin:4px 0 2px}.h-w .bar i.heat{background:linear-gradient(90deg,#ffcf4a,#ff5a2a)}.h-w .bar i.charge{background:#8fd8ff}.h-w .bar i.ammo{background:var(--ink)}.h-w.hot{border-color:var(--bad)}.h-w.hot span{color:var(--bad)}.h-ab{place-items:center;width:52px;height:52px;display:grid;position:relative}.h-ab svg{position:absolute;inset:0;transform:rotate(-90deg)}.h-ab circle{fill:#0a0c0b99;stroke-width:3px}.h-ab .bg{stroke:var(--line)}.h-ab .fg{stroke:var(--acc);fill:none;transition:stroke-dashoffset .1s}.h-ab b{letter-spacing:.05em;font-size:10px;position:relative}.h-ab.ready .fg{stroke:var(--good)}.h-cross{width:0;height:0;position:absolute;top:50%;left:50%}.h-cross .cr{width:28px;height:28px;transition:transform 80ms;position:absolute;top:-14px;left:-14px}.h-cross .cr:before,.h-cross .cr:after{content:"";background:#ffffffe6;position:absolute;box-shadow:0 0 2px #000}.w-auto .cr:before{clip-path:polygon(0 0,100% 0,100% 35%,0 35%,0 65%,100% 65%,100% 100%,0 100%);width:2px;height:28px;top:0;left:13px}.w-auto .cr:after{clip-path:polygon(0 0,35% 0,35% 100%,0 100%,0 0,65% 0,100% 0,100% 100%,65% 100%);width:28px;height:2px;top:13px;left:0}.w-pellets .cr{border:2px solid #ffffffd9;border-radius:50%;width:46px;height:46px;top:-23px;left:-23px}.w-pellets .cr:before{width:2px;height:2px;top:20px;left:20px}.w-charge .cr:before,.w-beam .cr:before,.w-lob .cr:before{border-radius:50%;width:4px;height:4px;top:12px;left:12px}.w-charge .cr:after{background:0 0;border-left:7px solid #fff;border-right:7px solid #fff;width:24px;height:2px;top:13px;left:2px}.w-lock .cr{border:2px solid #fffc;width:34px;height:34px;top:-17px;left:-17px}.w-beam .cr{border:2px dashed #ffbe78d9;border-radius:50%}.w-lob .cr:after{background:0 0;border:2px solid #fff;border-top:none;border-radius:0 0 10px 10px;width:20px;height:8px;top:18px;left:4px}.h-cross.on .cr:before,.h-cross.on .cr:after{background-color:#ff6a50}.h-cross.on .cr{border-color:#ff6a50}.h-cross.weak .cr{transform:scale(1.18)}.h-cross.weak .cr:before,.h-cross.weak .cr:after{background-color:#ffc040}.h-cross.shield .cr:before,.h-cross.shield .cr:after{background-color:#60b8ff}.h-cross.st-boost .cr{opacity:.8;transform:scale(1.5)}.h-charge{background:conic-gradient(#8fd8ff calc(var(--c,0) * 360deg), transparent 0);border-radius:50%;width:52px;height:52px;position:absolute;top:-26px;left:-26px;-webkit-mask:radial-gradient(circle,#0000 22px,#000 23px);mask:radial-gradient(circle,#0000 22px,#000 23px)}.h-hitm{position:absolute;top:0;left:0}.hm{width:22px;height:22px;position:absolute;top:-11px;left:-11px}.hm:before,.hm:after{content:"";clip-path:polygon(0 0,100% 0,100% 30%,0 30%,0 70%,100% 70%,100% 100%,0 100%);background:#fff;width:2px;height:22px;position:absolute;top:0;left:10px}.hm:before{transform:rotate(45deg)}.hm:after{transform:rotate(-45deg)}.hm.weak:before,.hm.weak:after{background:#ffb020}.hm.weak{transform:scale(1.35)}.hm.shield:before,.hm.shield:after{background:#60b8ff}.hm.part:before,.hm.part:after{background:#ffd090}.hm.kill:before,.hm.kill:after{background:#ff3d24;width:3px}.hm.kill{transform:scale(1.6)}.h-locks .lock{border:2px solid #ffb020;width:32px;height:32px;transition:transform 50ms;position:absolute;top:-16px;left:-16px}.h-locks .lock.locked{border-color:#ff3d24;box-shadow:0 0 8px #ff3d24}.h-markers .mk{letter-spacing:.08em;white-space:nowrap;font-size:11px;position:absolute;top:0;left:0}.mk.enemy{transform-origin:50%;opacity:.85;border:2px solid #ff4a3a;width:8px;height:8px;margin:-4px;rotate:45deg}.mk.obj{color:#ffd257;margin-top:-8px;padding-left:18px}.mk.obj:before{content:"";border:2px solid #ffd257;width:10px;height:10px;position:absolute;top:2px;left:0;rotate:45deg}.mk.obj.off:before{rotate:calc(var(--ang) + 45deg);border-bottom-color:#0000;border-left-color:#0000}.h-dmg{position:absolute;top:50%;left:50%}.h-dmg .arc{border-top:6px solid #ff321ed9;border-radius:50%;width:220px;height:220px;position:absolute;top:-110px;left:-110px;-webkit-mask:linear-gradient(90deg,#0000 30%,#000 45% 55%,#0000 70%);mask:linear-gradient(90deg,#0000 30%,#000 45% 55%,#0000 70%)}.h-miss{position:absolute;top:50%;left:50%}.h-miss .mis{width:0;height:0;position:absolute;top:0;left:0}.h-miss .mis i{filter:drop-shadow(0 0 6px red);border-top:14px solid #0000;border-bottom:14px solid #0000;border-left:24px solid #ff2a1a;width:0;height:0;animation:.25s infinite alternate blink;position:absolute;top:-14px;left:130px}.h-miss .mis span{color:#ff6050;letter-spacing:.15em;font-size:11px;position:absolute;top:-8px;left:160px}.h-aa{color:#ff6050;letter-spacing:.15em;background:#28000066;border:1px solid #ff6050;padding:4px 14px;font-size:14px;animation:.4s infinite alternate blink;display:none;position:absolute;top:34%;left:50%;transform:translate(-50%)}.h-aa.on{display:block}.h-hurt{opacity:0;background:radial-gradient(#0000 55%,#c8140a8c);position:absolute;inset:0}.h-shieldfx{opacity:0;background:radial-gradient(#0000 60%,#3ca0ff59);transition:opacity .2s;position:absolute;inset:0}.h-shieldfx.on{opacity:1}.h-fps{right:10px;top:calc(8px + var(--sat));color:var(--dim);font-size:12px;position:absolute}#hud.missile .h-obj{border-left-color:var(--bad)}#touch{z-index:11;pointer-events:none;--bs:1;display:none;position:absolute;inset:0}#touch.on{display:block}.t-btn{pointer-events:auto;touch-action:none;color:#fff;font-weight:700;font-size:calc(11px * var(--bs));letter-spacing:.04em;width:calc(64px * var(--bs));height:calc(64px * var(--bs));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0a0c0b59;border:2px solid #ffffff59;border-radius:50%;place-items:center;padding:0;display:grid;position:absolute}.t-btn.down{border-color:var(--acc);background:#f08a2c8c}.t-fire{width:calc(96px * var(--bs));height:calc(96px * var(--bs));right:calc(36px + var(--sar));bottom:calc(40px + var(--sab));font-size:calc(14px * var(--bs));border-color:#ff7850b3}.t-dodge{right:calc(150px * var(--bs) + var(--sar));bottom:calc(26px + var(--sab))}.t-swap{right:calc(146px * var(--bs) + var(--sar));bottom:calc(108px * var(--bs) + var(--sab))}.t-ability{right:calc(60px * var(--bs) + var(--sar));bottom:calc(150px * var(--bs) + var(--sab))}.t-ability.ready{border-color:var(--good)}.t-fly{left:calc(30px + var(--sal));bottom:calc(170px * var(--bs) + var(--sab));border-radius:12px}.t-boost{left:calc(108px * var(--bs) + var(--sal));bottom:calc(196px * var(--bs) + var(--sab));width:calc(78px * var(--bs));border-radius:12px}.t-up,.t-down{right:calc(214px * var(--bs) + var(--sar));width:calc(56px * var(--bs));height:calc(56px * var(--bs));border-radius:12px;display:none}.t-up{bottom:calc(140px * var(--bs) + var(--sab))}.t-down{bottom:calc(76px * var(--bs) + var(--sab))}#touch.flying .t-up,#touch.flying .t-down{display:grid}#touch.flying .t-fly{color:#9fe0ff;border-color:#9fe0ff}.t-pause{left:50%;top:calc(8px + var(--sat));border-radius:10px;width:42px;height:42px;font-size:13px;transform:translate(-50%)}.t-stick{opacity:0;background:#ffffff0d;border:2px solid #ffffff40;border-radius:50%;width:130px;height:130px;margin:-65px 0 0 -65px;position:absolute;top:70vh;left:18vw}.t-stick.active{opacity:1}.t-knob{background:#ffffff73;border-radius:50%;width:50px;height:50px;position:absolute;top:40px;left:40px}#touch.swap .t-fire{right:auto;left:calc(36px + var(--sal))}#touch.swap .t-dodge{right:auto;left:calc(150px * var(--bs) + var(--sal))}#touch.swap .t-swap{right:auto;left:calc(146px * var(--bs) + var(--sal))}#touch.swap .t-ability{right:auto;left:calc(60px * var(--bs) + var(--sal))}#touch.swap .t-up,#touch.swap .t-down{right:auto;left:calc(214px * var(--bs) + var(--sal))}#touch.swap .t-fly{left:auto;right:calc(30px + var(--sar))}#touch.swap .t-boost{left:auto;right:calc(108px * var(--bs) + var(--sar))}@media (max-height:420px){.h-w{width:110px}.h-obj-t{font-size:13px}}.menu{z-index:20;padding:calc(18px + var(--sat)) calc(22px + var(--sar)) calc(18px + var(--sab)) calc(22px + var(--sal));touch-action:pan-y;background:linear-gradient(120deg,#080a09eb,#080a098c);display:none;position:absolute;inset:0;overflow-y:auto}.menu.on{display:block}.menu.s-pause,.menu.s-results{background:#060807b3;place-items:center;display:grid}.menu button{font:inherit;color:var(--ink);border:1px solid var(--line);cursor:pointer;text-align:left;letter-spacing:.04em;background:#ffffff0d;padding:10px 16px}.menu button:hover{border-color:var(--acc);background:#f08a2c1f}.menu button.locked{opacity:.35;cursor:default}.menu button small{color:var(--dim);letter-spacing:0;margin-top:2px;font-size:12px;display:block}.menu .big{border-color:var(--acc);background:#f08a2c29;font-size:20px;font-weight:800}.title{margin:4vh 0 3vh}.title p{color:var(--dim);letter-spacing:.08em;margin:6px 0 0}.col{flex-direction:column;gap:8px;width:min(420px,90vw);display:flex}.foot{color:var(--dim);margin-top:3vh;font-size:12px}.hdr{align-items:center;gap:12px;margin-bottom:12px;display:flex}.hdr h2{letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:22px}.hdr button{padding:6px 14px;font-size:18px}.hdr .scrap{color:var(--acc);margin-left:auto;font-weight:700}.tabs{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.tab.on{border-color:var(--acc);background:#f08a2c29}.blurb{color:var(--dim);margin:6px 0 12px}.grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;display:grid}.ms{grid-template-rows:auto auto;grid-template-columns:34px 1fr;column-gap:8px;display:grid}.ms b{color:var(--acc);grid-row:span 2;align-self:center;font-size:22px}.ms.done b{color:var(--good)}.ms.boss{border-color:#ff4a3a99}.ms.todo{color:var(--dim);border:1px dashed var(--line);padding:12px;font-size:13px}.brief{grid-template-columns:1fr minmax(220px,300px);gap:20px;max-width:1100px;display:grid}.brief .tag{color:var(--acc);letter-spacing:.1em;text-transform:uppercase;font-size:13px}.brief h3{letter-spacing:.18em;color:var(--dim);text-transform:uppercase;margin:16px 0 6px;font-size:13px}.brief ol{margin:0;padding-left:20px;line-height:1.6}.brief .ch{color:var(--acc2)}.brief .meta{color:var(--dim);font-size:13px}.b-r{flex-direction:column;gap:8px;display:flex}.b-r .go{text-align:center;margin-top:auto;padding:18px;font-size:26px}@media (max-width:700px),(max-height:480px){.brief{grid-template-columns:1fr 200px;gap:12px;font-size:14px}}.hangar h3{letter-spacing:.18em;color:var(--dim);text-transform:uppercase;margin:14px 0 6px;font-size:13px}.cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.card.on{border-color:var(--acc);background:#f08a2c29}.settings .row{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.settings .row span{width:230px;color:var(--dim)}.opt{padding:7px 12px!important}.opt.on{border-color:var(--acc)!important;background:#f08a2c33!important}.opt.danger{border-color:var(--bad)!important}.panel{background:var(--panel);border:1px solid var(--line);flex-direction:column;gap:8px;width:min(520px,92vw);padding:22px;display:flex}.panel h2{letter-spacing:.12em;margin:0 0 4px}.panel .pm{color:var(--acc);margin:0}.panel p{color:var(--dim);margin:2px 0}.panel .keys{color:var(--dim);margin-top:8px;font-size:11px;line-height:1.5}.res.win h2{color:var(--good)}.res.lose h2{color:var(--bad)}.stars{color:#ffd257;letter-spacing:6px;font-size:34px}.stats{grid-template-columns:1fr 1fr;gap:6px;margin:8px 0;display:grid}.stats span{color:var(--dim)}.stats b{color:var(--ink);float:right}.loading{z-index:30;text-align:center;background:#0b0d0c;place-content:center;display:none;position:absolute;inset:0}.loading.on{display:grid}.ld-t{letter-spacing:.3em;font-weight:800}.ld-bar{background:#222;width:min(60vw,420px);height:6px;margin:14px auto}.ld-bar i{background:var(--acc);width:0;height:100%;transition:width .2s;display:block}.ld-s{color:var(--dim);font-size:13px}
