@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chakra-petch-thai-500-normal-DeexCGiz.woff2)format("woff2"),url(/assets/chakra-petch-thai-500-normal-CJG_V2_m.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chakra-petch-vietnamese-500-normal-HqvoIJPu.woff2)format("woff2"),url(/assets/chakra-petch-vietnamese-500-normal-BVzUBLGs.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chakra-petch-latin-ext-500-normal-gA6791b0.woff2)format("woff2"),url(/assets/chakra-petch-latin-ext-500-normal-BCHeNDEx.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/chakra-petch-latin-500-normal-BR1ody1F.woff2)format("woff2"),url(/assets/chakra-petch-latin-500-normal-CnUQnZ4D.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-thai-700-normal-B7WL5pBr.woff2)format("woff2"),url(/assets/chakra-petch-thai-700-normal-vZLZ_5L8.woff)format("woff");unicode-range:U+2D7,U+303,U+331,U+E01-E5B,U+200C-200D,U+25CC}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-vietnamese-700-normal-ZDCXY9IA.woff2)format("woff2"),url(/assets/chakra-petch-vietnamese-700-normal-gQuUA8Wu.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-ext-700-normal-DAkvJhej.woff2)format("woff2"),url(/assets/chakra-petch-latin-ext-700-normal-BeviJPUl.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Chakra Petch;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/chakra-petch-latin-700-normal-CnDBPjkL.woff2)format("woff2"),url(/assets/chakra-petch-latin-700-normal-D1s_c2du.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-cyrillic-400-normal-obahsSVq.woff2)format("woff2"),url(/assets/inter-cyrillic-400-normal-HOLc17fK.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2)format("woff2"),url(/assets/inter-greek-ext-400-normal-KugGGMne.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-greek-400-normal-B4URO6DV.woff2)format("woff2"),url(/assets/inter-greek-400-normal-q2sYcFCs.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-vietnamese-400-normal-DMkecbls.woff2)format("woff2"),url(/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-ext-400-normal-C1nco2VV.woff2)format("woff2"),url(/assets/inter-latin-ext-400-normal-77YHD8bZ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/inter-latin-400-normal-C38fXH4l.woff2)format("woff2"),url(/assets/inter-latin-400-normal-CyCys3Eg.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-ext-600-normal-Dfes3d0z.woff2)format("woff2"),url(/assets/inter-cyrillic-ext-600-normal-Bcila6Z-.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-cyrillic-600-normal-CWCymEST.woff2)format("woff2"),url(/assets/inter-cyrillic-600-normal-4D_pXhcN.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-ext-600-normal-DRtmH8MT.woff2)format("woff2"),url(/assets/inter-greek-ext-600-normal-B8X0CLgF.woff)format("woff");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-greek-600-normal-plRanbMR.woff2)format("woff2"),url(/assets/inter-greek-600-normal-BZpKdvQh.woff)format("woff");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-vietnamese-600-normal-Cc8MFFhd.woff2)format("woff2"),url(/assets/inter-vietnamese-600-normal-BuLX-rYi.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-ext-600-normal-D2bJ5OIk.woff2)format("woff2"),url(/assets/inter-latin-ext-600-normal-CIVaiw4L.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/inter-latin-600-normal-LgqL8muc.woff2)format("woff2"),url(/assets/inter-latin-600-normal-CiBQ2DWP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--void:#05060b;--ink:#eef1ff;--dim:#9aa3c7;--faint:#5d6690;--gold:#ffc65c;--gold-hi:#fff1c9;--violet:#8c6bff;--rose:#ff3d7f;--panel:#0c0e1cc7;--line:#ffffff17;--display:"Chakra Petch", system-ui, sans-serif;--body:"Inter", system-ui, sans-serif;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{background:var(--void);height:100%;color:var(--ink);font-family:var(--body);-webkit-user-select:none;user-select:none;touch-action:none;overscroll-behavior:none;margin:0;overflow:hidden}#stage,#stage canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.hidden{display:none!important}#vignette{pointer-events:none;background:radial-gradient(#0000 45%,#03020a8c 80%,#03020ae6 100%);position:fixed;inset:0}#hurt{pointer-events:none;opacity:0;background:radial-gradient(#0000 40%,#ff28508c 100%);transition:opacity .35s ease-out;position:fixed;inset:0}#flash{pointer-events:none;opacity:0;background:#fff;position:fixed;inset:0}#hud{pointer-events:none;font-family:var(--display);position:fixed;inset:0}.xpbar{top:var(--safe-t);background:#ffffff0f;height:5px;position:absolute;left:0;right:0}.xpfill{background:linear-gradient(90deg,#5be7ff,#b8f6ff);width:0;height:100%;transition:width .12s ease-out;box-shadow:0 0 12px #5be7ff}.hud-top{top:calc(var(--safe-t) + 12px);left:calc(var(--safe-l) + 16px);right:calc(var(--safe-r) + 64px);text-shadow:0 2px 8px #000c;justify-content:space-between;align-items:center;font-weight:700;display:flex;position:absolute}.hud-lvl,.hud-kills{align-items:baseline;gap:6px;min-width:80px;font-size:22px;display:flex}.hud-kills{justify-content:flex-end}.label{letter-spacing:.16em;color:var(--dim);font-size:11px}.hud-time{letter-spacing:.06em;font-variant-numeric:tabular-nums;font-size:26px}.bossbar{top:calc(var(--safe-t) + 52px);text-align:center;width:min(560px,82vw);position:absolute;left:50%;transform:translate(-50%)}.bossname{letter-spacing:.3em;color:#ffb3cb;text-transform:uppercase;text-shadow:0 0 14px #ff3d7fcc;margin-bottom:6px;font-size:13px}.bosstrack{background:#ffffff14;border:1px solid #ff3d7f66;border-radius:4px;height:8px;overflow:hidden}.bossfill{background:linear-gradient(90deg,#ff2f7a,#ff86b0);width:100%;height:100%;transition:width .15s;box-shadow:0 0 14px #ff3d7f}.hud-bottom{left:calc(var(--safe-l) + 16px);bottom:calc(var(--safe-b) + 16px);flex-direction:column;gap:8px;display:flex;position:absolute}.hp{align-items:center;gap:10px;display:flex}.hptrack{background:#ffffff14;border:1px solid #ffffff1f;border-radius:5px;width:190px;height:10px;position:relative;overflow:hidden}.hpghost,.hpfill{width:100%;position:absolute;inset:0 auto 0 0}.hpghost{background:#ffffff8c;transition:width .6s ease-in .2s}.hpfill{background:linear-gradient(90deg,#ffc65c,#fff1c9);box-shadow:0 0 10px #ffc65cb3}.hpfill.low{background:linear-gradient(90deg,#ff3d6a,#ff8fa8);animation:.6s infinite alternate pulse}@keyframes pulse{to{opacity:.55}}.hptext{font-variant-numeric:tabular-nums;text-shadow:0 2px 6px #000;font-size:15px;font-weight:700}.weapons{gap:6px;display:flex}.wslot{border:1px solid var(--line);width:34px;height:34px;color:var(--gold);background:#0a0c1ab3;border-radius:9px;place-items:center;display:grid;position:relative}.wslot svg{width:20px;height:20px}.wslot i{background:var(--void);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:0 4px;font-size:11px;font-style:normal;font-weight:700;position:absolute;bottom:-5px;right:-3px}.team{top:calc(var(--safe-t) + 88px);left:calc(var(--safe-l) + 16px);flex-direction:column;gap:6px;font-size:13px;display:flex;position:absolute}.team .mate{align-items:center;gap:8px;display:flex}.team .mate b{border-radius:50%;width:8px;height:8px}.team .bar{background:#ffffff1a;border-radius:3px;width:80px;height:5px;overflow:hidden}.team .bar span{background:currentColor;height:100%;display:block}.banner{text-align:center;letter-spacing:.2em;opacity:0;text-shadow:0 0 30px,0 4px 20px #000;font-size:clamp(26px,6vw,54px);font-weight:700;position:absolute;top:30%;left:0;right:0;transform:scale(.9)}.banner.show{animation:2.4s ease-out forwards banner}.banner small{letter-spacing:.4em;color:var(--dim);text-shadow:none;margin-top:8px;font-size:.32em;display:block}@keyframes banner{0%{opacity:0;letter-spacing:.4em;transform:scale(1.25)}12%{opacity:1;letter-spacing:.2em;transform:scale(1)}75%{opacity:1}to{opacity:0;transform:scale(.98)}}.iconbtn{pointer-events:auto;border:1px solid var(--line);width:44px;height:44px;color:var(--ink);cursor:pointer;background:#0a0c1a99;border-radius:12px;place-items:center;display:grid}.iconbtn svg{width:22px;height:22px}.pausebtn{top:calc(var(--safe-t) + 10px);right:calc(var(--safe-r) + 12px);position:absolute}#touch{pointer-events:none;position:fixed;inset:0}.stick{opacity:0;background:radial-gradient(circle,#ffffff0f,#ffffff03);border:2px solid #ffffff29;border-radius:50%;width:120px;height:120px;transition:opacity .12s;position:absolute;top:-60px;left:-60px}.stick.on{opacity:1}.knob{background:radial-gradient(circle at 40% 35%,#fff,#ffd98a 45%,#ffc65c);border-radius:50%;width:48px;height:48px;position:absolute;top:36px;left:36px;box-shadow:0 0 20px #ffc65c99}.tbtn{pointer-events:auto;color:var(--ink);touch-action:none;background:#0a0c1a8c;border:2px solid #ffffff2e;border-radius:50%;place-items:center;display:grid;position:absolute;overflow:hidden}.tbtn svg{width:44%;height:44%;position:relative}.tbtn.dash{width:84px;height:84px;right:calc(var(--safe-r) + 28px);bottom:calc(var(--safe-b) + 40px)}.tbtn.nova{width:68px;height:68px;right:calc(var(--safe-r) + 124px);bottom:calc(var(--safe-b) + 92px)}.tbtn .cd,.tbtn .charge{background:#ffffff24;height:0;position:absolute;inset:auto 0 0}.tbtn .charge{background:linear-gradient(#fff1c959,#ffc65ca6)}.tbtn.ready{border-color:var(--gold);animation:.9s infinite alternate ready;box-shadow:0 0 24px #ffc65ca6,inset 0 0 18px #ffc65c66}@keyframes ready{to{box-shadow:0 0 8px #ffc65c66,inset 0 0 8px #ffc65c33}}.keyhints{right:calc(var(--safe-r) + 16px);bottom:calc(var(--safe-b) + 16px);color:var(--faint);pointer-events:none;gap:14px;font-size:12px;display:flex;position:fixed}.keyhints b{color:var(--dim);font-weight:600}.novahint{left:50%;bottom:calc(var(--safe-b) + 90px);font-family:var(--display);letter-spacing:.18em;color:var(--gold);text-shadow:0 0 16px #ffc65ccc;pointer-events:none;font-size:14px;font-weight:700;animation:.7s infinite alternate pulse;position:fixed;transform:translate(-50%)}.screen{padding:calc(var(--safe-t) + 16px) 16px calc(var(--safe-b) + 16px);flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.screen.dim{-webkit-backdrop-filter:blur(6px);background:#04040c9e}.panel{background:var(--panel);border:1px solid var(--line);border-radius:22px;flex-direction:column;gap:12px;width:min(420px,100%);padding:28px 24px;animation:.35s cubic-bezier(.2,.9,.3,1.2) rise;display:flex;box-shadow:0 30px 80px #0009,inset 0 1px #ffffff0f}.panel.wide{width:min(560px,100%)}@keyframes rise{0%{opacity:0;transform:translateY(18px)scale(.97)}}h2{font-family:var(--display);letter-spacing:.04em;text-align:center;margin:0 0 4px;font-size:30px}.btn{font-family:var(--display);letter-spacing:.06em;color:var(--ink);cursor:pointer;pointer-events:auto;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:14px;justify-content:center;align-items:center;gap:10px;min-height:50px;padding:13px 20px;font-size:17px;font-weight:600;transition:transform .12s,background .15s,border-color .15s;display:inline-flex}.btn:hover{background:#ffffff17;border-color:#ffffff38}.btn:active{transform:scale(.96)}.btn.primary{color:#1a1206;background:linear-gradient(#ffe2a1,#ffc65c 55%,#f0a93a);border-color:#ffe2a1;box-shadow:0 8px 30px #ffc65c59,inset 0 1px #fff9}.btn.primary:hover{background:linear-gradient(#fff0c8,#ffd07a 55%,#f5b24a)}.btn.big{border-radius:18px;min-height:62px;padding:16px 44px;font-size:22px}.btn.ghost{color:var(--dim);background:0 0;border-color:#0000}.btn[disabled]{opacity:.45;pointer-events:none}.ico{width:20px;height:20px;display:inline-grid}.ico svg{width:100%;height:100%}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.title-top{top:calc(var(--safe-t) + 12px);left:calc(var(--safe-l) + 16px);right:calc(var(--safe-r) + 16px);justify-content:space-between;align-items:center;display:flex;position:absolute}.title-center{text-align:center;flex-direction:column;align-items:center;gap:18px;display:flex}.wordmark{font-family:var(--display);letter-spacing:.08em;background:linear-gradient(#fff 0%,#fff1c9 40%,#ffc65c 100%);color:#0000;filter:drop-shadow(0 0 22px #ffc65c73)drop-shadow(0 6px 30px #000c);-webkit-background-clip:text;background-clip:text;margin:0;padding-left:.08em;font-size:clamp(46px,12vw,108px);font-weight:700;line-height:1}.wordmark span{background:linear-gradient(#e9e4ff 0%,#b9a6ff 50%,#8c6bff 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.tagline{font-family:var(--display);letter-spacing:.5em;text-transform:uppercase;color:var(--dim);margin:-6px 0 18px;padding-left:.5em;font-size:13px}.best{color:var(--faint);min-height:18px;margin:4px 0 0;font-size:13px}.lumens{font-family:var(--display);color:var(--gold-hi);align-items:center;gap:8px;font-size:18px;font-weight:700;display:inline-flex}.lumens svg{color:#9ff4ff;width:18px;height:18px}.lumens.center{justify-content:center}.pp-studio{left:50%;bottom:calc(3.5vh + var(--safe-b));opacity:.92;width:clamp(140px,34vmin,280px);height:auto;position:absolute;transform:translate(-50%)}.pp-credit{text-align:center;color:var(--dim);margin-top:22px;font-size:12px}.pp-credit img{opacity:.7;width:120px;height:auto;margin:0 auto 8px;display:block}.pp-credit p{margin:2px 0}.pp-credit a{color:var(--ink)}html.portal .pp-credit a{display:none}#levelup{background:radial-gradient(#0806148c,#04040ce0);gap:22px}.lu-head{text-align:center;animation:.3s ease-out rise}.lu-kicker{font-family:var(--display);color:var(--gold);letter-spacing:.35em;text-transform:uppercase;margin-bottom:6px;font-size:13px}.cards{flex-wrap:wrap;justify-content:center;gap:14px;width:100%;max-width:900px;display:flex}.card{pointer-events:auto;width:min(260px,100%);min-height:250px;color:var(--ink);text-align:left;cursor:pointer;opacity:0;font-family:var(--body);background:linear-gradient(#1e1c38f2,#0e0e1ef2);border:1px solid #ffffff1f;border-radius:20px;flex-direction:column;gap:10px;padding:22px 18px 18px;transition:border-color .15s,box-shadow .15s;animation:.42s cubic-bezier(.2,1,.3,1.25) forwards deal;display:flex;position:relative;transform:translateY(30px)scale(.92)}.card:nth-child(2){animation-delay:70ms}.card:nth-child(3){animation-delay:.14s}@keyframes deal{to{opacity:1;transform:none}}.card:hover,.card:focus-visible{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold), 0 16px 50px #ffc65c40;outline:none}.card.picked{animation:.3s ease-in forwards picked}@keyframes picked{50%{transform:scale(1.06);box-shadow:0 0 60px #ffc65cb3}to{opacity:0;transform:scale(.9)}}.card .cicon{width:54px;height:54px;color:var(--gold-hi);background:radial-gradient(circle at 50% 35%,#ffc65c4d,#ffc65c0f);border:1px solid #ffc65c59;border-radius:15px;place-items:center;display:grid}.card.passive .cicon{color:#d4f8ff;background:radial-gradient(circle at 50% 35%,#5be7ff4d,#5be7ff0d);border-color:#5be7ff59}.card .cicon svg{width:30px;height:30px}.card .ckind{letter-spacing:.2em;text-transform:uppercase;color:var(--dim);font-size:11px}.card .cname{font-family:var(--display);font-size:22px;font-weight:700;line-height:1.1}.card .cdesc{color:#c9cfee;flex:1;font-size:14px;line-height:1.45}.card .pips{gap:5px;display:flex}.card .pips i{background:#ffffff1f;border-radius:3px;width:22px;height:5px}.card .pips i.on{background:var(--gold)}.card .pips i.new{background:#fff;box-shadow:0 0 10px #fff}.card .badge{letter-spacing:.15em;color:#1a1206;background:var(--gold);border-radius:6px;padding:3px 7px;font-size:11px;font-weight:700;position:absolute;top:16px;right:16px}.card .key{font-family:var(--display);color:var(--faint);font-size:12px;position:absolute;bottom:14px;right:16px}.lu-hint{color:var(--faint);margin:0;font-size:13px}@media (max-width:640px){.cards{flex-direction:column;align-items:center;gap:10px}.card{flex-flow:wrap;align-items:center;width:100%;max-width:420px;min-height:0;padding:14px}.card .cbody{flex:1;min-width:0}.card .pips{width:100%}.card .key{display:none}}.cbody{flex-direction:column;gap:6px;display:flex}.res-kicker{text-align:center;font-family:var(--display);letter-spacing:.35em;text-transform:uppercase;color:var(--dim);font-size:12px}.res-sub{text-align:center;color:var(--dim);margin:0;font-size:15px;line-height:1.5}.stats{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:10px;margin:8px 0;display:grid}.stat{border:1px solid var(--line);text-align:center;opacity:0;background:#ffffff0a;border-radius:14px;padding:12px;animation:.4s ease-out forwards deal}.stat b{font-family:var(--display);font-size:26px;display:block}.stat span{letter-spacing:.15em;text-transform:uppercase;color:var(--dim);font-size:11px}.stat.record b{color:var(--gold)}.earned{text-align:center;font-family:var(--display);color:var(--gold-hi);margin-bottom:6px;font-size:20px}.build{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:6px;display:flex}.frames{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.frame{pointer-events:auto;text-align:left;border:1px solid var(--line);color:var(--ink);cursor:pointer;font-family:var(--body);background:#ffffff0a;border-radius:16px;align-items:center;gap:12px;padding:14px;display:flex}.frame.sel{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold)}.frame .dot{color:#0b0a14;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.frame .dot svg{width:22px;height:22px}.frame b{font-family:var(--display);font-size:18px;display:block}.frame small{color:var(--dim);font-size:13px;line-height:1.35;display:block}.frame .price{font-family:var(--display);color:var(--gold-hi);white-space:nowrap;margin-left:auto;font-size:14px}.set{pointer-events:auto;justify-content:space-between;align-items:center;gap:16px;padding:8px 2px;font-size:16px;display:flex}.set input[type=range]{width:55%;accent-color:var(--gold)}.set input[type=checkbox]{width:22px;height:22px;accent-color:var(--gold)}.coop-body{flex-direction:column;gap:10px;display:flex}.coop-body input{font:inherit;border:1px solid var(--line);color:var(--ink);text-align:center;letter-spacing:.3em;text-transform:uppercase;-webkit-user-select:text;user-select:text;background:#ffffff0d;border-radius:12px;padding:12px 14px;font-size:18px}.roster{flex-direction:column;gap:6px;display:flex}.roster div{background:#ffffff0a;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.roster b{border-radius:50%;width:10px;height:10px}.code{font-family:var(--display);letter-spacing:.3em;text-align:center;color:var(--gold-hi);font-size:34px}.roster .seat b{background:var(--c,#fff3);box-shadow:0 0 10px var(--c,transparent)}.roster .seat span{text-align:left;flex:1}.roster .seat small{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);font-size:11px}.roster .seat.empty{opacity:.45;border:1px dashed var(--line);background:0 0}.field{text-align:left;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);flex-direction:column;gap:6px;font-size:12px;display:flex}.field input{border:1px solid var(--line);color:var(--ink);font:inherit;letter-spacing:normal;text-transform:none;-webkit-user-select:text;user-select:text;background:#ffffff0d;border-radius:12px;padding:12px 14px;font-size:16px}.join{gap:8px;display:flex}.join input{border:1px solid var(--line);min-width:0;color:var(--ink);font-family:var(--display);text-align:center;letter-spacing:.3em;text-transform:uppercase;-webkit-user-select:text;user-select:text;background:#ffffff0d;border-radius:12px;flex:1;padding:12px 14px;font-size:18px}.coop-err{color:#ff8aa8;min-height:1.2em;margin:0;font-size:13px}.earned .rank{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--dim);margin-top:6px;font-size:13px;display:block}.boot{background:var(--void);z-index:10;place-items:center;transition:opacity .5s;display:grid;position:fixed;inset:0}.boot.gone{opacity:0;pointer-events:none}.boot-mark{font-family:var(--display);letter-spacing:.1em;color:var(--gold);font-size:28px;font-weight:700;animation:.8s infinite alternate pulse}.boot-mark span{color:var(--violet)}@media (prefers-reduced-motion:reduce){.card,.panel,.stat{animation-duration:10ms!important}}.pp-links{justify-content:center;gap:14px;display:flex}.stage-tag{color:var(--gold);letter-spacing:.08em;border:1px solid #ffc65c80;border-radius:999px;margin-left:6px;padding:1px 8px;font-size:11px;display:inline-block}.alpha-note{text-align:left;margin:12px 0 4px;font-size:13px;line-height:1.55}.alpha-note summary{cursor:pointer;text-align:center;color:var(--ink)}.alpha-note p{margin:8px 0 0}.alpha-note b{color:var(--ink)}.linkbtn{color:var(--ink);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:6px 2px;font-size:14px;text-decoration:underline}.linkbtn.danger,.pp-row.danger{color:#ff6b7a}.pp-credit .linkbtn{margin-top:10px;font-size:13px}.ppid{color:#f6f3eb;background:#151515;border:1px solid #f6f3eb17;border-radius:20px;flex-direction:column;gap:10px;padding:16px;display:flex}.ppid h3{letter-spacing:.2em;color:#a9a59c;margin:0;font-size:11px;font-weight:600}.pp-note{color:#a9a59c;margin:0;font-size:13px}.ppid .linkbtn{color:#a9a59c;align-self:flex-start;font-size:13px}.pp-signin{color:#0b0b0b;width:100%;min-width:240px;height:52px;font:700 17px var(--body);cursor:pointer;background:#c7f000;border:0;border-radius:14px;align-items:center;gap:12px;padding:0 16px;transition:transform .1s,filter .1s;display:flex}.pp-signin span:last-child{text-align:center;flex:1;padding-right:22px}.pp-signin:active{filter:brightness(1.08);transform:scale(.97)}.pp-p{width:25px;height:32px;display:grid}.pp-p svg{width:100%;height:100%}.pp-who{align-items:center;gap:12px;display:flex}.pp-who b{font-size:15px;display:block}.pp-who span{color:#a9a59c;font-size:13px}.pp-av{width:var(--s);height:var(--s);background:#1d1d1d;border-radius:22%;flex:none;place-items:center;display:grid;position:relative;overflow:visible}.pp-av>img:first-child{object-fit:cover;border-radius:22%;width:100%;height:100%}.pp-av b{color:#a9a59c;font-size:calc(var(--s) * .42)}.pp-av .pp-frame{pointer-events:none;width:114%;height:114%;position:absolute;inset:-7%}.pp-row{color:#f6f3eb;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #f6f3eb17;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;font-size:15px;text-decoration:none;display:flex}.pp-row>div{flex-direction:column;display:flex}.pp-row span,.pp-row em{color:#a9a59c;font-size:13px;font-style:normal}.pp-row.link i:after{content:"›";color:#a9a59c;font-size:20px;font-style:normal}.sheet-layer{z-index:60;background:#04040c99;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{color:#f6f3eb;width:min(480px,100%);max-height:92vh;padding:10px 20px calc(var(--safe-b) + 22px);background:#151515;border:1px solid #f6f3eb17;border-bottom:0;border-radius:24px 24px 0 0;flex-direction:column;gap:12px;animation:.28s cubic-bezier(.2,.9,.3,1) sheet-up;display:flex;overflow-y:auto}@keyframes sheet-up{0%{opacity:0;transform:translateY(40px)}}.sheet-handle{background:#f6f3eb40;border-radius:2px;width:40px;height:4px;margin:0 auto 6px}.sheet h2{font:700 20px var(--body);margin:4px 0;line-height:1.3}.sheet input{color:#f6f3eb;font:16px var(--body);background:#0b0b0b;border:1px solid #f6f3eb33;border-radius:12px;padding:12px 14px}.pp-msg{color:#ff6b7a;min-height:1em;margin:0;font-size:13px}.pp-opt{text-align:left;color:#f6f3eb;font:inherit;cursor:pointer;background:#0f0f0f;border:1px solid #f6f3eb17;border-radius:16px;flex-direction:column;gap:2px;padding:14px 16px;display:flex}.pp-opt b{font-size:16px}.pp-opt span{color:#a9a59c;font-size:13px}.pp-opt.sel{border:2px solid #c7f000;padding:13px 15px;box-shadow:0 0 18px #c7f0002e}.pp-sides{grid-template-columns:1fr 1fr;gap:10px;display:grid}@media (max-width:360px){.pp-sides{grid-template-columns:1fr}}.pp-side{text-align:center;border:1px solid #f6f3eb17;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:14px 10px;display:flex}.pp-side b{margin-top:6px}.pp-side span{color:#a9a59c;font-size:13px}.pp-lines{color:#f6f3eb;margin:0;padding-left:20px;line-height:1.6}.btn.lime{color:#0b0b0b;background:#c7f000;border-color:#c7f000}.btn.outline{background:0 0;border-color:#f6f3eb4d}.btn.dangerfill{color:#0b0b0b;background:#ff6b7a;border-color:#ff6b7a}.sheet .linkbtn{color:#a9a59c;align-self:center}.pp-toast{left:50%;bottom:calc(var(--safe-b) + 28px);z-index:70;color:#f6f3eb;opacity:0;pointer-events:none;background:#151515;border:1px solid #f6f3eb17;border-radius:999px;max-width:calc(100% - 32px);padding:10px 18px;font-size:14px;transition:opacity .2s,transform .2s;position:fixed;transform:translate(-50%,20px)}.pp-toast.on{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){.sheet{animation:none}.pp-toast{transition:none}}body.flying{cursor:none}#hurt.on{animation:.6s ease-out hurt}@keyframes hurt{0%{opacity:1}to{opacity:0}}.sky-top{top:calc(var(--safe-t) + 12px);justify-content:space-between;align-items:center;gap:12px;width:min(540px,100vw - 24px);padding-right:52px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.hearts{align-items:center;gap:5px;display:flex}.heart{width:22px;height:20px;-webkit-mask:var(--heart) center / contain no-repeat;-webkit-mask:var(--heart) center / contain no-repeat;mask:var(--heart) center / contain no-repeat;filter:drop-shadow(0 0 6px #ff7ad9cc);--heart:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 22'%3E%3Cpath d='M12 21C4 15 1 11 1 7a5.5 5.5 0 0 1 11-1.5A5.5 5.5 0 0 1 23 7c0 4-3 8-11 14z'/%3E%3C/svg%3E");background:#ff7ad9;transition:transform .2s,opacity .2s}.heart.empty{filter:none;background:#ffffff2e;transform:scale(.85)}.shieldpip{border:2px solid #5be7ff;border-radius:50%;width:18px;height:18px;margin-left:4px;box-shadow:0 0 10px #5be7ff,inset 0 0 6px #5be7ff99}.counts{font-family:var(--display);text-shadow:0 2px 8px #000000e6;gap:14px;font-size:17px;font-weight:700;display:flex}.count{font-variant-numeric:tabular-nums;align-items:center;gap:6px;display:inline-flex}.count .ico{width:16px;height:16px;color:var(--gold)}.lightpip{background:radial-gradient(circle,#fff 0 25%,#ffe2a0 45%,#ffc65c00 72%);border-radius:50%;width:12px;height:12px;box-shadow:0 0 10px #ffc65c}.prog{top:calc(var(--safe-t) + 44px);background:#ffffff1f;border-radius:2px;width:min(300px,60vw);height:4px;position:absolute;left:50%;transform:translate(-50%)}.progfill{transform-origin:0;background:linear-gradient(90deg,#ffc65c,#fff1c9);border-radius:2px;height:100%;transform:scaleX(0);box-shadow:0 0 8px #ffc65cb3}.progmark{background:#fff1c9;border-radius:1px;width:2px;height:10px;margin-left:-1px;position:absolute;top:-3px}.bossbar{top:calc(var(--safe-t) + 60px);width:min(420px,78vw)}.bossfill{transform-origin:0;transition:transform .15s}.toast{text-align:center;width:min(86vw,420px);line-height:1.5;font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-hi);text-shadow:0 0 18px #ffc65ce6,0 2px 8px #000;opacity:0;margin-left:calc(min(86vw,420px)/-2);font-size:15px;font-weight:700;transition:opacity .25s,transform .25s;position:absolute;top:22%;left:50%;transform:translateY(6px)}.toast.show{opacity:1;transform:none}.banner{color:var(--gold-hi)}.novabtn{right:calc(var(--safe-r) + 18px);bottom:calc(var(--safe-b) + 22px);pointer-events:auto;color:#fff1c980;background:radial-gradient(circle, #0c0e1cd9 58%, transparent 60%), conic-gradient(#ffc65c calc(var(--charge,0) * 360deg), #ffffff24 0);border:0;border-radius:50%;place-items:center;width:74px;height:74px;display:grid;position:fixed}.novabtn .ico{width:30px;height:30px}.novabtn.ready{color:#1a1206;background:radial-gradient(circle,#fff1c9,#ffc65c 70%);animation:.7s infinite alternate pulse;box-shadow:0 0 30px #ffc65ccc}.bombbtn{right:calc(var(--safe-r) + 104px);bottom:calc(var(--safe-b) + 26px);pointer-events:auto;color:#fff1c973;background:#0c0e1ccc;border:1px solid #ffc65c59;border-radius:50%;place-items:center;width:64px;height:64px;display:grid;position:fixed}.bombbtn .ico{width:28px;height:28px}.bombbtn.ready{color:#fff1c9;border-color:#ffc65c;box-shadow:0 0 18px #ffc65c73}.bombhint{left:calc(var(--safe-l) + 18px);bottom:calc(var(--safe-b) + 38px);opacity:.35;pointer-events:none;font-size:12px;position:fixed}.bombhint.ready{opacity:.85}.novahint{left:calc(var(--safe-l) + 18px);bottom:calc(var(--safe-b) + 18px);opacity:.35;font-size:12px;animation:none;transform:none}.novahint.ready{opacity:1;animation:.7s infinite alternate pulse}.next-level{color:var(--dim);font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;margin:4px 0 18px;font-size:14px}#btn-daily.done{border-color:#ffc65c73}.worlds{flex-direction:column;gap:14px;max-height:62vh;padding:2px;display:flex;overflow-y:auto}.world{background:linear-gradient(180deg, #05060b59, #05060bcc), var(--bg) center 30% / cover;border:1px solid #ffffff1f;border-radius:18px;flex:none;padding:14px;position:relative;overflow:hidden}.world.locked{filter:saturate(.3)brightness(.7)}.world-head{font-family:var(--display);text-shadow:0 2px 8px #000;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.world-head b{letter-spacing:.06em;font-size:20px}.world-head>span{color:var(--gold-hi);align-items:center;gap:4px;font-size:14px;display:inline-flex}.world-head svg{width:14px;height:14px;color:var(--gold)}.world-head .need{color:var(--dim);margin-left:auto;font-size:13px}.lvls{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.lvl{color:var(--ink);font-family:var(--display);cursor:pointer;background:#080a16b3;border:1px solid #ffffff29;border-radius:14px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;transition:transform .12s,border-color .15s;display:flex}.lvl:hover{border-color:var(--gold);transform:translateY(-2px)}.lvl.locked{opacity:.45;cursor:default}.lvl-n{color:#1a1206;background:linear-gradient(#ffe2a1,#ffc65c);border-radius:50%;place-items:center;width:34px;height:34px;font-size:17px;font-weight:700;display:grid}.lvl.boss .lvl-n{color:#fff;background:linear-gradient(#ff86b0,#ff3d8b)}.lvl-n svg{width:20px;height:20px}.lvl-name{text-align:center;min-height:2.4em;font-size:12px;line-height:1.2}.lvl-stars{gap:2px;display:flex}.star{clip-path:polygon(50% 0,62% 35%,100% 38%,70% 60%,80% 100%,50% 78%,20% 100%,30% 60%,0 38%,38% 35%);background:#fff3;width:12px;height:12px}.star.on{background:var(--gold);filter:drop-shadow(0 0 4px var(--gold))}.ships{grid-template-columns:repeat(4,1fr);gap:8px;display:grid}.ship{color:var(--ink);cursor:pointer;text-align:center;background:#ffffff0a;border:1px solid #ffffff1f;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:10px 6px;display:flex}.ship.sel{border-color:var(--c);box-shadow:0 0 18px color-mix(in srgb, var(--c) 40%, transparent), inset 0 0 20px color-mix(in srgb, var(--c) 15%, transparent)}.ship img{object-fit:contain;width:56px;height:56px;filter:drop-shadow(0 0 10px color-mix(in srgb, var(--c) 60%, transparent))}.ship.locked img{filter:grayscale(.7)brightness(.6)}.ship b{font-family:var(--display);font-size:14px}.ship span{color:var(--dim);font-size:11px;line-height:1.3}.ship em,.up em{font-style:normal;font-family:var(--display);color:var(--gold);align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.ship em svg,.up em svg{width:13px;height:13px}em.short{color:var(--faint)}.ups{flex-direction:column;gap:6px;display:flex}.up{color:var(--ink);text-align:left;cursor:pointer;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:14px;align-items:center;gap:12px;padding:10px 14px;display:flex}.up:hover:not([disabled]){border-color:#ffc65c80}.up[disabled]{cursor:default}.up>.ico{width:26px;height:26px;color:var(--gold);flex:none}.up-body{flex-direction:column;flex:1;gap:2px;display:flex}.up-body b{font-family:var(--display);font-size:15px}.up-body span{color:var(--dim);font-size:12px}.pips{gap:4px;margin-top:4px;display:flex}.pips i{background:#ffffff24;border-radius:2px;width:18px;height:4px}.pips i.on{background:var(--gold);box-shadow:0 0 6px var(--gold)}.em.max,.up em.max{color:var(--dim)}.price-note{text-align:center;color:var(--faint);margin:4px 0 0;font-size:12px}.res-kicker{text-align:center;color:var(--dim);font-family:var(--display);letter-spacing:.2em;text-transform:uppercase;font-size:13px}.resstars{justify-content:center;gap:18px;margin:6px 0 4px;display:flex}.rstar{width:104px;color:var(--faint);text-align:center;flex-direction:column;align-items:center;gap:6px;font-size:12px;display:flex}.rstar svg{color:#ffffff24;width:46px;height:46px}.rstar.on svg{color:var(--gold);filter:drop-shadow(0 0 12px #ffc65ce6);animation:starIn .5s cubic-bezier(.2, 1.4, .4, 1) var(--d) both}.rstar.on span{color:var(--gold-hi)}@keyframes starIn{0%{opacity:0;transform:scale(0)rotate(-40deg)}}#res-stats>div{background:#ffffff0a;border-radius:12px;flex-direction:column;align-items:center;gap:2px;padding:10px;display:flex}#res-stats span{color:var(--dim);font-size:12px}#res-stats b{font-family:var(--display);font-size:20px}.earned{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.earned svg{width:20px;height:20px;color:var(--gold)}.earned span{width:100%;color:var(--dim);font-size:13px;font-family:var(--body)}@media (max-width:520px){.ships{grid-template-columns:repeat(2,1fr)}.lvls{gap:6px}.lvl-name{font-size:11px}}#title{background:linear-gradient(#05060b9e,#05060b4d 42% 62%,#05060bb3)}.wordmark{filter:drop-shadow(0 4px 24px #000000b3)}.res-goal{color:var(--dim,#9aa3c7);text-align:center;margin:4px 0 14px;font-size:14px}.res-goal b{color:var(--ink,#eef1ff);font-weight:600}.res-goal:empty{display:none}.res-rewards{gap:6px;max-width:380px;margin:4px auto 12px;display:grid}.res-rewards div{color:var(--gold-hi,#fff1c9);background:#ffc65c1f;border:1px solid #ffc65c59;border-radius:12px;align-items:center;gap:10px;padding:10px 14px;font-size:14px;animation:.5s ease-out .6s both reward-in;display:flex}.res-rewards svg{width:18px;height:18px;fill:var(--gold,#ffc65c);flex:none}@keyframes reward-in{0%{opacity:0;transform:translateY(8px)scale(.97)}to{opacity:1;transform:none}}.star-rewards{color:var(--dim,#9aa3c7);flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;display:flex}.star-rewards>b{color:var(--ink,#eef1ff);align-items:center;gap:5px;margin-right:4px;display:inline-flex}.star-rewards>b svg{width:14px;height:14px;fill:var(--gold,#ffc65c)}.star-rewards span{border:1px solid var(--line,#ffffff17);border-radius:999px;align-items:center;gap:6px;padding:5px 10px;display:inline-flex}.star-rewards span i{color:var(--ink,#eef1ff);font-style:normal;font-weight:600}.star-rewards span.got{color:var(--gold-hi,#fff1c9);background:#ffc65c1a;border-color:#ffc65c80}.res-board{width:100%;max-width:380px;margin:4px auto 12px}.res-board h3{font:500 12px var(--display,system-ui);letter-spacing:.18em;text-transform:uppercase;color:var(--dim,#9aa3c7);text-align:center;margin:0 0 6px}.res-board ol{gap:2px;margin:0;padding:0;list-style:none;display:grid}.res-board li{color:var(--dim,#9aa3c7);border-radius:8px;grid-template-columns:28px 1fr auto;gap:10px;padding:5px 12px;font-size:14px;display:grid}.res-board li span{color:var(--faint,#5d6690);font-variant-numeric:tabular-nums}.res-board li b{color:var(--ink,#eef1ff);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.res-board li em{font-variant-numeric:tabular-nums;font-style:normal}.res-board li.me{background:#ffc65c24}.res-board li.me b,.res-board li.me em{color:var(--gold-hi,#fff1c9)}
