:root{--ink: #070818;--panel: rgba(10, 12, 34, .78);--line: rgba(160, 170, 255, .18);--fg: #eef1ff;--muted: #9aa1cc;--me: #19e3ff;--ai: #ff2e9a;--amber: #ffb52e;--mint: #3dffa2;--violet: #7c5cff;color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0;background:var(--ink);color:var(--fg);overflow:hidden;font-family:Rubik,system-ui,-apple-system,Segoe UI,Arial,sans-serif;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:none}canvas#gl{position:fixed;inset:0;width:100%;height:100%;display:block}#touch{position:fixed;inset:0;z-index:2}.num{font-family:Orbitron,Rubik,system-ui,sans-serif;font-variant-numeric:tabular-nums}button{font:inherit;color:inherit}button:focus-visible{outline:2px solid var(--amber);outline-offset:3px}.bar{position:fixed;left:0;right:0;z-index:3;pointer-events:none;display:flex;align-items:center;justify-content:space-between;padding:0 14px;transition:opacity .3s}.bar.top{top:0;padding-top:calc(env(safe-area-inset-top,0px) + 8px);align-items:flex-start;padding-left:10px;padding-right:10px}.bar.top .corner{display:flex;align-items:flex-start;gap:8px}.bar.top .side{min-width:0}.bar.top .who{white-space:nowrap}.bar.bottom{bottom:0;padding-bottom:calc(env(safe-area-inset-bottom,0px) + 12px)}body.attract .bar{opacity:0}body.attract .bar *{pointer-events:none!important}.side{display:flex;flex-direction:column;gap:3px;min-width:84px}.side.end{align-items:flex-end}.side .who{font-size:13px;color:var(--muted);display:flex;align-items:center;gap:6px}.side .who i{width:8px;height:8px;border-radius:50%;display:inline-block}.side.me .who i{background:var(--me);box-shadow:0 0 10px var(--me)}.side.ai .who i{background:var(--ai);box-shadow:0 0 10px var(--ai)}.side .pts{font-size:20px;font-weight:800;letter-spacing:.02em}.side.me .pts{color:var(--me)}.side.ai .pts{color:var(--ai)}.pw{unicode-bidi:isolate;font-size:12px;font-weight:700;padding:3px 8px;border-radius:20px;background:var(--panel);border:1px solid var(--line);width:max-content;opacity:0;transition:opacity .2s}.pw.on{opacity:1}.bar.top .board{padding:5px 10px 6px;border-radius:12px;min-width:76px}.bar.top .goals{font-size:22px}.bar.top .timer{width:64px;margin-inline:auto}.board{text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:6px 14px 7px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.goals{direction:ltr;display:flex;align-items:center;justify-content:center;gap:10px;font-size:26px;font-weight:900;line-height:1}.goals .g-me{color:var(--me);text-shadow:0 0 14px rgba(25,227,255,.6)}.goals .g-ai{color:var(--ai);text-shadow:0 0 14px rgba(255,46,154,.6)}.goals .sep{color:var(--muted);font-size:18px}.timer{margin-top:4px;height:4px;border-radius:4px;background:#ffffff1a;overflow:hidden;width:96px}.timer b{display:block;height:100%;width:100%;background:linear-gradient(90deg,var(--me),var(--violet),var(--ai));transform-origin:right}[dir=ltr] .timer b{transform-origin:left}.timer.low b{background:var(--amber)}.tsec{font-size:11px;color:var(--muted);margin-top:3px}.timer.low+.tsec{color:var(--amber)}.legend-hint{font-size:12px;color:var(--muted);text-align:center}.icon-btn{pointer-events:auto;width:40px;height:40px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font-size:13px;letter-spacing:-2px;cursor:pointer}.overlay{position:fixed;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;overflow-y:auto;padding:24px 16px;padding-top:calc(env(safe-area-inset-top,0px) + 24px);padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px);background:radial-gradient(ellipse at 50% 45%,#07081873,#070818e0);transition:opacity .3s;touch-action:pan-y}.overlay.hidden{opacity:0;pointer-events:none}.overlay.hidden *{pointer-events:none!important}.card{width:min(380px,100%);text-align:center;margin:auto}.card.wide{width:min(440px,100%)}.logo{position:relative;display:inline-block;font-family:Mr Dafoe,Brush Script MT,cursive;font-weight:400;direction:ltr;line-height:1.1;margin:0 0 26px;font-size:clamp(50px,15vw,74px);color:#ffe8f5;transform:rotate(-4deg);text-shadow:0 0 2px #fff,0 0 10px #ff4fae,0 0 24px #ff2e9a}.logo .rest{position:absolute;right:.02em;bottom:-.26em;width:.95em;height:auto;overflow:visible;transform:rotate(4deg);filter:drop-shadow(0 0 2px #fff) drop-shadow(0 0 6px #ff4fae) drop-shadow(0 0 14px #ff2e9a)}.logo .rest path{fill:#ffe8f5}.logo.art{transform:none;text-shadow:none;font-size:16px;width:min(84vw,340px);margin:0 auto 18px;line-height:0}.logo.art img{display:block;width:100%;height:auto;user-select:none;-webkit-user-drag:none}.logo.art .rest{display:none;width:30%;right:6%;bottom:-8%;transform:none}.logo.art.flips{margin-bottom:30px}.logo.art.flips .rest{display:block}.logo .rest .pin{fill:#ff2e9a}.sub{color:var(--muted);font-size:14px;margin:0 0 16px}.profile{display:flex;gap:10px;margin:0 0 16px}.profile>div{flex:1;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:8px 10px;display:flex;flex-direction:column;align-items:center;font-size:12px;color:var(--muted)}.profile b{font-size:20px;color:var(--fg)}.coin{color:var(--amber)!important}.coin:before{content:"◉ ";font-size:.7em;vertical-align:.1em}.xpbar{width:80%;height:3px;border-radius:3px;background:#ffffff1a;margin-top:5px;overflow:hidden}.xpbar b{display:block;height:100%;width:0;background:var(--violet)}.seg{display:flex;gap:6px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:5px;margin:0 auto 14px}.seglabel{margin:0 0 6px;font-size:12.5px;color:var(--muted);text-align:start}.seg button{flex:1;font-weight:700;font-size:15px;color:var(--muted);background:transparent;border:0;border-radius:10px;padding:10px 0;cursor:pointer}.seg button[aria-pressed=true]{background:linear-gradient(135deg,#19e3ff38,#7c5cff47);color:var(--fg);box-shadow:inset 0 0 0 1px #19e3ff66}.swatches{display:flex;justify-content:space-between;gap:8px;margin:0 0 18px}.swatch{flex:0 0 auto;width:38px;height:38px;border-radius:50%;border:0;cursor:pointer;background:radial-gradient(circle at 35% 30%,#fff8,transparent 45%),var(--c);box-shadow:0 0 0 1px #ffffff26;transition:transform .15s,box-shadow .15s}.swatch[aria-pressed=true]{transform:scale(1.12);box-shadow:0 0 0 3px var(--ink),0 0 0 5px var(--c),0 0 18px var(--c)}.surfhint{margin:-6px 0 16px;font-size:12.5px;color:var(--muted);min-height:1.3em}.go{font-size:18px;font-weight:800;width:100%;padding:16px;border:0;border-radius:16px;cursor:pointer;color:#04121a;background:linear-gradient(135deg,var(--me),color-mix(in srgb,var(--me),#fff 45%));box-shadow:0 0 0 1px #ffffff40 inset,0 10px 30px color-mix(in srgb,var(--me),transparent 65%)}.go:active{transform:scale(.98)}.row{display:flex;gap:10px;margin-top:10px}.ghost{flex:1;font-size:15px;font-weight:700;padding:12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--fg);cursor:pointer}.result{font-size:44px;font-weight:800;margin:0 0 4px}.final{direction:ltr;font-family:Orbitron,sans-serif;font-weight:900;font-size:36px;margin:0 0 18px}.final .a{color:var(--me)}.final .b{color:var(--ai)}.coins{display:flex;justify-content:center;gap:22px;margin:0 0 22px;color:var(--muted);font-size:13px}.coins b{display:block;font-size:24px;color:var(--fg)}.head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.head h2{margin:0;font-size:26px}.wallet b{font-size:20px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}.skin{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:8px}.skin.on{border-color:var(--me);box-shadow:inset 0 0 0 1px var(--me)}.skin .ball{width:54px;height:54px;border-radius:50%;box-shadow:inset -6px -8px 14px #00000073,0 4px 14px #00000080}.skin .ballshot{position:relative;width:76px;height:76px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle at 50% 42%,rgba(160,170,255,.22),rgba(124,92,255,.08) 48%,transparent 70%)}.skin .ballshot:after{content:"";position:absolute;left:22%;right:22%;bottom:6%;height:10%;border-radius:50%;background:radial-gradient(ellipse,rgba(0,0,0,.55),transparent 70%);z-index:0}.skin .ballshot img{position:relative;z-index:1;width:64px;height:64px;margin-bottom:6px}.skin .ballshot.ball{width:54px;height:54px}.skin .ballshot.ball:after{display:none}.skin .nm{font-weight:700}.skin .thumb{border-radius:10px;box-shadow:0 0 0 1px #ffffff1f,0 4px 14px #00000080}.grid.three{grid-template-columns:1fr 1fr 1fr}.grid.three .skin{padding:10px 8px}.grid.three .skin button{font-size:12.5px;padding:7px 4px}.tabs button{font-size:13.5px;padding:9px 0}.skin button{width:100%;padding:8px;border-radius:10px;border:0;font-weight:700;cursor:pointer;background:#ffffff14}.skin button.buy{background:linear-gradient(135deg,var(--amber),#ffd58a);color:#241400}.skin button:disabled{opacity:.55;cursor:default}.note{font-size:12.5px;color:var(--muted);margin:0 0 16px;line-height:1.5}#count{position:fixed;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;pointer-events:none;font-family:Orbitron,sans-serif;font-weight:900;font-size:96px;color:#fff;text-shadow:0 0 30px rgba(124,92,255,.9);opacity:0}#banner{position:fixed;left:0;right:0;top:42%;z-index:4;text-align:center;pointer-events:none;opacity:0;transform:scale(.8);transition:opacity .25s,transform .35s cubic-bezier(.2,1.6,.4,1)}#banner.show{opacity:1;transform:scale(1)}#banner h2{margin:0 auto;padding:0 12px;font-weight:900;font-style:italic;font-size:clamp(42px,13.5vw,60px);line-height:1.05;color:transparent;-webkit-background-clip:text;background-clip:text;-webkit-text-stroke:1.5px #1a0830}#banner:before{content:"";position:absolute;inset:-18px 0;z-index:-1;background:radial-gradient(ellipse 60% 50% at 50% 50%,#05060fd9,#05060f00)}#banner p{margin:6px 0 0;font-size:16px;font-weight:700;color:#f1ecff;opacity:.9;text-shadow:0 1px 6px #000}#banner.me h2{background-image:linear-gradient(180deg,#fff,#d8fbff 45%,#0a2a5a 50%,#19e3ff 53%,#7c5cff);filter:drop-shadow(0 0 10px rgba(25,227,255,.55)) drop-shadow(0 3px 0 #061030)}#banner.ai h2{background-image:linear-gradient(180deg,#fff,#e4dcff 45%,#2a1a5a 50%,#ff6ad5 53%,#ffb04a);filter:drop-shadow(0 0 10px rgba(255,46,154,.5)) drop-shadow(0 3px 0 #1a0830)}#banner.tie h2{background-image:linear-gradient(180deg,#fff,#fff3d0 45%,#4a2a08 50%,#ffd23d 53%,#ff8a2e);filter:drop-shadow(0 0 10px rgba(255,181,46,.5)) drop-shadow(0 3px 0 #2a1404)}body[data-world="2"] #banner h2{font-style:normal;-webkit-text-stroke:0;background:none;filter:none;color:#ffd23d;text-shadow:1px 1px 0 #ff2e9a,2px 2px 0 #ff2e9a,3px 3px 0 #c0157a,4px 4px 0 #c0157a,5px 5px 0 #6e0a48,0 0 22px rgba(255,46,154,.55)}body[data-world="2"] #banner.me h2{color:#7cf0ff;text-shadow:1px 1px 0 #3b6bff,2px 2px 0 #3b6bff,3px 3px 0 #2443c0,4px 4px 0 #2443c0,5px 5px 0 #121f66,0 0 22px rgba(25,227,255,.55)}body[data-world="2"] #banner.tie h2{color:#fff3d0;text-shadow:1px 1px 0 #ff8a2e,2px 2px 0 #ff8a2e,3px 3px 0 #b0561a,4px 4px 0 #b0561a,5px 5px 0 #5a2a08,0 0 22px rgba(255,181,46,.5)}.float{direction:ltr;unicode-bidi:isolate;position:fixed;z-index:3;pointer-events:none;font-family:Orbitron,sans-serif;font-weight:800;font-size:15px;transform:translate(-50%,-50%);animation:rise .9s ease-out forwards;white-space:nowrap}.float.me{color:var(--me);text-shadow:0 0 10px rgba(25,227,255,.8)}.float.ai{color:var(--ai);text-shadow:0 0 10px rgba(255,46,154,.8)}.float.big{font-size:19px}.float.warn{color:#ff7a5c;font-family:Rubik,sans-serif;font-size:14px}@keyframes rise{0%{opacity:1;transform:translate(-50%,-50%) scale(.8)}to{opacity:0;transform:translate(-50%,-190%) scale(1.15)}}.orbtag{position:fixed;z-index:3;pointer-events:none;transform:translate(-50%,-100%);font-size:16px;filter:drop-shadow(0 0 6px rgba(0,0,0,.8));display:none}#err{position:fixed;inset:0;display:none;align-items:center;justify-content:center;text-align:center;padding:30px;z-index:9;background:var(--ink)}@media(prefers-reduced-motion:reduce){.float{animation-duration:.01s}#banner{transition:none}}#splash{position:fixed;inset:0;z-index:20;display:grid;place-items:center;overflow:hidden;cursor:pointer;direction:ltr;background:linear-gradient(#0b0326,#2a0a4a 50%,#4a0f52 66%,#04030f 66.2%);transition:opacity .4s}#splash.gone{opacity:0;pointer-events:none}#splash .floor{position:absolute;inset:66% -40% 0;background:repeating-linear-gradient(90deg,#ff2e9a44 0 2px,transparent 2px 46px),repeating-linear-gradient(#ff2e9a55 0 2px,transparent 2px 26px);transform:perspective(240px) rotateX(58deg);transform-origin:top;animation:splashFloor 2.4s linear infinite}@keyframes splashFloor{to{background-position:0 0,0 26px}}#splash .mark{position:relative;display:grid;justify-items:center;gap:12px;transform:translateY(-4vh)}#splash svg{width:min(78vw,330px);height:auto;overflow:visible}#splash .draw{stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset .9s cubic-bezier(.3,.6,.3,1)}#splash.play .draw{stroke-dashoffset:0}#splash .name{font-family:Audiowide,Orbitron,sans-serif;font-size:min(9vw,40px);letter-spacing:.08em;font-style:italic;background:linear-gradient(#fff 0 40%,#8fd8ff 48%,#3a2a7a 52%,#ffd9f0 70%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 2px 0 #ff2e9a) drop-shadow(0 0 14px #ff2e9a99);opacity:0;transition:opacity .6s .7s}#splash .tag{font:400 10px "Press Start 2P",monospace;letter-spacing:.3em;color:#ffd36b;opacity:0;transition:opacity .5s 1.2s}#splash.play .name,#splash.play .tag{opacity:1}@media(prefers-reduced-motion:reduce){#splash .floor{animation:none}#splash .draw,#splash .name,#splash .tag{transition:none}}#titleSplash{position:fixed;inset:0;z-index:19;display:grid;place-items:center;overflow:hidden;cursor:pointer;background:#06040f;transition:opacity .4s}#titleSplash.gone{opacity:0;pointer-events:none}#titleSplash .fire{position:absolute;inset:0;width:100%;height:100%;image-rendering:pixelated}#titleSplash .tlogo{position:relative;width:min(92vw,560px);height:auto;opacity:0;transform:scale(.94);transition:opacity .5s,transform .7s cubic-bezier(.2,1.4,.4,1);user-select:none;-webkit-user-drag:none}#titleSplash.play .tlogo{opacity:1;transform:none}.profile-chip{display:inline-flex;align-items:center;gap:8px;margin:0 0 10px;padding:6px 14px 6px 6px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:700 14px Rubik,sans-serif;cursor:pointer}.profile-chip .av{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffff14;font-size:18px}label.seglabel{display:block}.text{width:100%;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:#ffffff0f;color:var(--fg);font:600 16px Rubik,sans-serif;outline:none}.text:focus{border-color:var(--me)}.err{min-height:1.3em;margin:6px 0 10px;font-size:13px;color:#ff6b8a}.icons{display:grid;grid-template-columns:repeat(8,1fr);gap:6px;margin:0 0 16px}.icons button{aspect-ratio:1;font-size:20px;border-radius:10px;border:1px solid transparent;background:#ffffff0f;cursor:pointer;padding:0}.icons button[aria-pressed=true]{border-color:var(--me);background:color-mix(in srgb,var(--me),transparent 80%)}.record{display:grid;grid-template-columns:1fr auto auto;gap:4px 14px;align-items:baseline;margin:0 0 16px;padding:12px 14px;border-radius:14px;background:#0a0c1ed1;border:1px solid var(--line);font-variant-numeric:tabular-nums}.record .h{font-size:12px;opacity:.6;text-align:center}.record .n{font:700 20px Rubik,sans-serif;text-align:center;min-width:3ch}.record .w{color:var(--me)}.record .row{font-size:14px}.record .sum{border-top:1px solid var(--line);padding-top:6px}.record .clean{grid-column:1 / -1;display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);padding-top:8px;margin-top:4px;font-size:14px}.record .clean small{opacity:.6;font-size:12px}.account{display:grid;gap:10px;margin:18px 0 12px;padding-top:16px;border-top:1px solid var(--line)}.account .note{margin:0}.google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:12px;border-radius:14px;border:0;background:#fff;color:#1f1f1f;font:600 15px Rubik,sans-serif;cursor:pointer}.google svg{width:20px;height:20px}.google:disabled{opacity:.6}.ghost.wide{width:100%}.danger{width:100%;padding:10px;border-radius:12px;border:1px solid rgba(255,90,120,.45);background:transparent;color:#ff8aa3;font:600 14px Rubik,sans-serif;cursor:pointer}.legal{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:4px 0 14px;font-size:13px}.legal a{color:var(--muted)}.gis{display:flex;justify-content:center;min-height:44px}.under-play{margin:14px 0 4px}.under-play .surfhint{margin-bottom:12px}.ladder-btn{display:flex;align-items:center;justify-content:center;gap:10px;color:#fff;background:linear-gradient(135deg,#ff2e9a,#a46bff);box-shadow:0 0 0 1px #ffffff40 inset,0 10px 30px #ff2e9a59}.lstars{font:700 14px Rubik,sans-serif;color:#ffcf4a}.overlay.ladder{display:block;padding:0;background:#07051a;overflow:hidden}.ladder-top{position:absolute;inset:0 0 auto;z-index:2;display:flex;align-items:center;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 12px) 16px 18px;background:linear-gradient(#07051a 65%,transparent)}.ladder-top b{flex:1;font:800 20px Orbitron,sans-serif;letter-spacing:.08em}.ladder-top .back{font-size:22px;letter-spacing:0}.climb{position:absolute;inset:0;overflow-y:auto;display:flex;flex-direction:column-reverse;gap:12px;padding:calc(env(safe-area-inset-top,0px) + 70px) 16px calc(env(safe-area-inset-bottom,0px) + 20px);max-width:520px;margin:0 auto;scrollbar-width:none}.wbanner{position:relative;border-radius:18px;overflow:hidden;flex:0 0 auto;box-shadow:0 10px 30px #00000080}.wbanner img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover}.wbanner .cap{position:absolute;inset:auto 0 0;padding:26px 14px 10px;background:linear-gradient(transparent,#05030feb);font-size:13px;color:var(--muted)}.wbanner .cap b{display:block;font:800 18px Orbitron,sans-serif;color:var(--fg)}.rungs{position:relative;display:flex;flex-direction:column-reverse;gap:4px;flex:0 0 auto;padding:6px 0}.rungs:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:4px;margin-left:-2px;background:repeating-linear-gradient(#3a2f7a 0 7px,transparent 7px 12px)}.node{position:relative;display:flex;align-items:center;gap:10px;width:62%;min-height:50px;border:0;background:none;color:var(--fg);font:inherit;text-align:start;padding:0;cursor:pointer;direction:ltr}.node:nth-child(odd){align-self:flex-start;flex-direction:row-reverse;justify-content:flex-start;text-align:end}.node:nth-child(2n){align-self:flex-end}.node .dot{flex:0 0 auto;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;font:800 15px Orbitron,sans-serif;background:#1b1640;border:2px solid #3a2f7a}.node .meta{display:grid;line-height:1.25;min-width:0}.node .meta small{font-size:12px;color:var(--muted)}.node .st{color:#ffcf4a;font-size:13px;letter-spacing:1px}.node.done .dot{border-color:var(--me);background:color-mix(in srgb,var(--me),#07051a 80%)}.node.now .dot{border-color:#ff4fae;background:#3a0d2a;box-shadow:0 0 0 5px #ff4fae38,0 0 20px #ff4fae;animation:nodePulse 1.6s ease-in-out infinite}.node.lock{opacity:.4;cursor:default}.node.boss .dot{width:54px;height:54px;border-color:#ffcf4a;font-size:22px}@keyframes nodePulse{50%{box-shadow:0 0 0 9px #ff4fae1a,0 0 28px #ff4fae}}.res-stars{margin:-6px 0 16px;font-size:30px;letter-spacing:6px;color:#ffcf4a;min-height:0}.res-stars:empty{display:none}.res-stars .off{color:#ffffff2e}.res-stars small{display:block;font:600 13px Rubik,sans-serif;letter-spacing:0;color:var(--muted);margin-top:2px}#nextStage{margin-bottom:10px}[hidden]{display:none!important}.wbanner .need{display:flex;gap:8px;margin-top:6px}.wbanner .need span{font:700 12px Rubik,sans-serif;padding:3px 9px;border-radius:20px;background:#ffffff14;border:1px solid var(--line);color:#ffd23d}.wbanner .need span.ok{color:#3dffa2;border-color:#3dffa266}.wbanner.locked img{filter:grayscale(.85) brightness(.45)}.wbanner.soon{background:radial-gradient(ellipse at 50% 70%,#2a1450,#07051a 70%);border:1px dashed rgba(164,107,255,.5);min-height:120px}.wbanner.soon img{filter:drop-shadow(0 0 2px rgba(164,107,255,.9)) drop-shadow(0 0 14px rgba(164,107,255,.55))}.wbanner.soon .cap{text-align:center}.wbanner.soon .cap b:before{content:"? ";color:#a46bff}.res-stars .goals-list{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:8px 0 2px;font-size:12px;font-weight:700}.res-stars .goals-list span{padding:3px 9px;border-radius:20px;background:#ffffff0f;border:1px solid var(--line);color:var(--muted);letter-spacing:0}.res-stars .goals-list span.ok{color:#3dffa2;border-color:#3dffa266}.overlay.preview{align-items:flex-end;background:linear-gradient(to bottom,transparent 40%,rgba(7,8,24,.85))}.pv-card{background:var(--panel);border:1px solid var(--line);border-radius:22px;padding:16px 16px 12px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);margin:auto auto 0}.pv-kicker{font-size:12px;color:var(--muted);letter-spacing:.04em}.pv-card h2{margin:2px 0 8px;font:800 24px Orbitron,Rubik,sans-serif}.pv-tags{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin-bottom:10px}.pv-tags span{font-size:12px;font-weight:700;padding:3px 10px;border-radius:20px;background:#ffffff12;border:1px solid var(--line)}.pv-goals{display:grid;gap:4px;margin:0 auto 14px;width:max-content;text-align:start;font-size:14px}.pv-goals div{display:flex;align-items:center;gap:8px}.pv-goals b{color:#ffcf4a;font-size:18px}.pv-goals b.off{color:#fff3}.res-stars .gift{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;margin:10px auto 0;padding:8px 12px;border-radius:14px;background:#ffd23d1a;border:1px solid rgba(255,210,61,.45);font:700 14px Rubik,sans-serif;letter-spacing:0;color:#ffd23d;width:max-content;max-width:100%}.res-stars .gift button{padding:6px 12px;font-size:13px}.pv-goals .prize{margin-top:4px;color:#ffd23d;font-weight:700}.passive{position:fixed;z-index:3;pointer-events:none;transform:translate(-50%,-50%);width:max-content;max-width:82vw;opacity:0;transition:opacity .25s}.passive.on{opacity:1}.passive small{display:block;padding:3px 10px;border-radius:14px;background:#0708188c;color:#fff;font:700 12px Rubik,sans-serif;text-align:center}.pcount,.phit{position:fixed;z-index:3;pointer-events:none;transform:translate(-50%,-50%);font-family:Orbitron,sans-serif;font-weight:900;color:#fff;opacity:0;-webkit-text-stroke:1.5px rgba(10,10,30,.5);white-space:nowrap}.pcount{font-size:84px;line-height:1;text-shadow:0 0 22px rgba(255,255,255,.6)}.pcount.pop{animation:racecount 1s ease-out forwards}@keyframes racecount{0%{opacity:0;transform:translate(-50%,-50%) scale(1.6)}15%{opacity:.62;transform:translate(-50%,-50%) scale(1)}75%{opacity:.55;transform:translate(-50%,-50%) scale(.96)}to{opacity:0;transform:translate(-50%,-50%) scale(.85)}}.phit{font-size:34px;text-shadow:0 0 14px rgba(255,90,60,.8),0 0 30px rgba(255,90,60,.45)}.phit:after{content:"";position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:2px solid rgba(255,200,180,.7);box-shadow:0 0 16px #ff5a3c99;opacity:0}.phit.boom{animation:softboom 1.4s cubic-bezier(.2,.9,.3,1) .45s both}.phit.boom:after{animation:boomring .9s ease-out .45s both}@keyframes softboom{0%{opacity:0;transform:translate(-50%,-50%) scale(.4);filter:blur(4px)}18%{opacity:.95;transform:translate(-50%,-50%) scale(1.15);filter:blur(0)}35%{transform:translate(-50%,-50%) scale(1)}75%{opacity:.85}to{opacity:0;transform:translate(-50%,-50%) scale(1.25);filter:blur(3px)}}@keyframes boomring{0%{opacity:.9;transform:scale(.3)}to{opacity:0;transform:scale(3.2)}}@media(prefers-reduced-motion:reduce){.pcount.pop{animation:none;opacity:.6}.phit.boom:after{animation:none}}.unlock .card{width:min(380px,100%)}.u-kicker{margin:0;font:800 12px Orbitron,Rubik,sans-serif;letter-spacing:.12em;color:#ffd23d}.unlock h2{margin:4px 0 14px;font:900 26px Rubik,sans-serif}.u-world{position:relative;border-radius:16px;overflow:hidden;margin:0 0 14px;box-shadow:0 10px 30px #00000080}.u-world img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:cover;filter:brightness(0) saturate(0)}.u-sweep{position:absolute;inset:0;background:linear-gradient(100deg,transparent 0 40%,rgba(255,255,255,.85) 50%,transparent 60% 100%);background-size:260% 100%;background-position:120% 0;opacity:0}.unlock.reveal .u-world img{animation:unveil 1.6s .3s ease-out forwards}.unlock.reveal .u-sweep{animation:sweep 1.4s .35s ease-in-out forwards}@keyframes unveil{0%{filter:brightness(0) saturate(0)}60%{filter:brightness(1.25) saturate(.6)}to{filter:none}}@keyframes sweep{0%{opacity:1;background-position:120% 0}to{opacity:.2;background-position:-40% 0}}.u-prize{margin:0 0 14px}.u-flip{position:relative;width:192px;height:144px;margin:0 auto;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,1.4,.5,1)}.u-flip canvas{position:absolute;inset:0;width:100%;height:100%;border-radius:14px;backface-visibility:hidden}.u-flip .u-front,.unlock.flip .u-flip{transform:rotateY(180deg)}.u-prize p{margin:8px 0 0;font-weight:700;color:#ffd23d}@media(prefers-reduced-motion:reduce){.unlock.reveal .u-world img,.unlock.reveal .u-sweep{animation:none;filter:none}.u-flip{transition:none}}.overlay.unlock{background:radial-gradient(ellipse at 50% 40%,#1e0e3cf7,#05040ffa)}.board-pick{display:flex;align-items:center;gap:10px;width:100%;padding:6px 12px 6px 6px;text-align:start}.board-pick canvas{width:18px;height:33px;border-radius:4px;flex:none}.board-pick span{flex:1;font-weight:700}.board-pick b{color:var(--muted);font-size:20px}[dir=rtl] .board-pick b{transform:scaleX(-1)}.boards{max-height:60vh;overflow-y:auto;margin:0 -4px 14px;padding:0 4px;text-align:start}.bhead{margin:12px 0 6px;font:800 13px Orbitron,Rubik,sans-serif;color:var(--muted);letter-spacing:.04em}.brow{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}.btile{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px 8px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--fg);cursor:pointer;font:700 11px Rubik,sans-serif}.btile .thumb{border-radius:6px}.btile small{font-size:10px;color:var(--muted);font-weight:600}.btile.on{border-color:var(--me);box-shadow:inset 0 0 0 1px var(--me)}.btile.lock{opacity:.55;cursor:default}.abtn{position:fixed;z-index:3;pointer-events:none;bottom:calc(env(safe-area-inset-bottom,0px) + 52px);width:78px;opacity:.8;transition:opacity .4s}.abtn.left{left:8px}.abtn.right{right:8px}.abtn svg{display:block;width:100%;height:auto;overflow:visible}.abtn .s-hi{stop-color:color-mix(in srgb,var(--me),#fff 14%)}.abtn .s-mid{stop-color:color-mix(in srgb,var(--me),#000 12%)}.abtn .s-lo{stop-color:color-mix(in srgb,var(--me),#000 38%)}.abtn .s-dk{stop-color:color-mix(in srgb,var(--me),#000 58%)}.abtn .h-hi{stop-color:color-mix(in srgb,var(--me),#000 40%)}.abtn .h-mid{stop-color:color-mix(in srgb,var(--me),#000 55%)}.abtn .h-lo{stop-color:color-mix(in srgb,var(--me),#000 72%)}.ab-hole{fill:color-mix(in srgb,var(--me),#000 82%)}.ab-cap{transition:transform .07s}.abtn.down .ab-cap{transform:translateY(6px)}.abtn.down svg{filter:brightness(1.12)}.abtn.hint{opacity:1}.abtn.hint:after{content:"";position:absolute;left:0;right:0;top:18%;height:70%;border-radius:50%;border:2px solid var(--me);animation:abtnpulse 1.1s ease-out infinite}@keyframes abtnpulse{0%{transform:scale(.9);opacity:.9}to{transform:scale(1.5);opacity:0}}body.attract .abtn{opacity:0}@media(prefers-reduced-motion:reduce){.abtn.hint:after{animation:none}}.bar.bottom .side.me{padding-bottom:0}.modes{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}.modes .mode{margin:0;padding:10px 8px;font-size:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;line-height:1.2}.modes .friend-btn{color:#fff}.friend-btn{background:linear-gradient(135deg,#7c5cff,#3d7bff);box-shadow:0 0 0 1px #ffffff40 inset,0 10px 30px #7c5cff59}.room-or{text-align:center;opacity:.55;margin:14px 0 6px;font-size:13px}.room-join{display:flex;gap:8px}.room-join .code{flex:1;text-transform:uppercase;letter-spacing:.2em;font:700 20px Orbitron,Rubik,sans-serif;text-align:center}.room-join .go{width:auto;padding-inline:18px;margin:0}#roomWait{text-align:center}.room-label{margin:0 0 4px;opacity:.75}.room-code{margin:0 0 10px;font:800 38px Orbitron,Rubik,sans-serif;letter-spacing:.16em;color:var(--me)}.room-qr{width:180px;height:180px;margin:0 auto 12px;display:block;background:#fff;border-radius:12px;padding:8px}.room-qr[hidden]{display:none}.room-status{margin:10px 0 0;opacity:.8;min-height:1.4em}.net-wait{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);padding:10px 18px;border-radius:999px;background:#0a0c1ed9;border:1px solid var(--line);font-size:15px;z-index:30;pointer-events:none;opacity:0;transition:opacity .2s}.net-wait.on{opacity:1}.text.pick{width:100%;margin:0 0 12px;appearance:none;-webkit-appearance:none;padding-inline-end:36px;background:var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%239aa3c7' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat left 14px center / 12px 8px}[dir=ltr] .text.pick{background-position:right 14px center}.room-own{margin:0 0 14px;font-size:13px}.friends{margin:4px 0 2px}.friend-list{display:grid;gap:8px}.friend{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:14px;background:#ffffff0d;border:1px solid var(--line)}.friend .av{font-size:22px}.friend .nm{flex:1;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.friend .rec{font:700 13px Rubik,sans-serif;color:var(--muted);font-variant-numeric:tabular-nums}.friend button{width:auto;flex:none;padding:8px 14px;margin:0;font-size:14px}.invite-bar{position:fixed;z-index:40;top:calc(env(safe-area-inset-top,0px) + 10px);left:50%;transform:translate(-50%);width:min(440px,calc(100% - 24px));display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:16px;background:#10122cf5;border:1px solid #7c5cff;box-shadow:0 10px 30px #00000080;animation:inviteIn .3s ease-out}.invite-bar[hidden]{display:none}.invite-bar .who{flex:1;font-weight:700;font-size:15px}.invite-bar button{width:auto;flex:none;padding:9px 14px;margin:0;font-size:14px}@keyframes inviteIn{0%{transform:translate(-50%,-20px);opacity:0}}.daily-chip{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:0 0 10px;padding:9px 12px;border-radius:14px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:700 14px Rubik,sans-serif;cursor:pointer}.daily-chip b{color:#ffcf4a;font-variant-numeric:tabular-nums}.daily-chip .streak{color:#ff8a2e;font-weight:700}.daily-chip .streak:empty{display:none}.daily-chip.all{border-color:#3dffa280}.challenges{display:grid;gap:10px;margin:0 0 14px}.challenge{display:flex;align-items:center;gap:10px;padding:12px;border-radius:14px;background:#ffffff0d;border:1px solid var(--line)}.challenge .ck{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-weight:800;color:#04121a}.challenge.done .ck{background:#3dffa2;border-color:#3dffa2}.challenge .tx{flex:1;display:grid;gap:6px;min-width:0}.challenge .tx b{font-size:15px}.challenge .tx i{position:relative;display:block;height:6px;border-radius:3px;background:#ffffff14;font-style:normal}.challenge .tx s{position:absolute;inset-block:0;inset-inline-start:0;border-radius:3px;background:var(--me);text-decoration:none}.challenge.done .tx s{background:#3dffa2}.challenge .tx i:after{content:attr(data-n);position:absolute;inset-inline-end:0;top:8px;font-size:11px;color:var(--muted);direction:ltr}.challenge .tx i[data-n=""]:after{display:none}.challenge .rw{flex:none;font:700 14px Rubik,sans-serif;color:#ffcf4a;font-variant-numeric:tabular-nums;direction:ltr}.challenge:has(.tx i:not([data-n=""])){padding-bottom:20px}.res-stars .daily-done{display:grid;gap:4px;margin:10px auto 0;padding:8px 12px;border-radius:14px;background:#3dffa214;border:1px solid rgba(61,255,162,.4);font:700 13px Rubik,sans-serif;letter-spacing:0;color:#3dffa2;width:max-content;max-width:100%}.float.combo{font-size:22px}.coach{position:fixed;z-index:4;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 150px);transform:translate(-50%,10px);width:min(360px,calc(100% - 40px));padding:12px 16px;border-radius:16px;background:#0a0c1ee0;border:1px solid var(--me);text-align:center;font:700 16px/1.35 Rubik,sans-serif;color:#fff;pointer-events:none;opacity:0;transition:opacity .3s,transform .3s}.coach.on{opacity:1;transform:translate(-50%)}#shop .card.wide{text-align:start}#shop .head{text-align:center}.deal{margin:0 0 14px;padding:14px;border-radius:18px;background:linear-gradient(135deg,#ffb52e29,#7c5cff29);border:1px solid rgba(255,207,74,.55);box-shadow:0 10px 30px #ffb52e1f}.deal[hidden]{display:none}.deal-body{display:flex;align-items:center;gap:14px}.deal-thumb{flex:none;width:110px;display:grid;place-items:center}.deal-thumb .ballshot{width:104px;height:104px}.deal-thumb .ball{width:84px;height:84px;border-radius:50%;box-shadow:inset -8px -10px 18px #00000073,0 6px 18px #00000080}.deal-thumb .thumb{border-radius:10px;box-shadow:0 0 0 1px #ffffff1f,0 4px 14px #00000080}.deal-thumb .ballshot img{width:88px;height:88px}.deal-info{flex:1;display:grid;gap:4px;min-width:0}.deal-tag{justify-self:start;padding:3px 10px;border-radius:999px;background:#ffcf4a;color:#241400;font:800 12px Rubik,sans-serif}.deal-info .nm{font:800 19px Rubik,sans-serif}.deal-info .cat{font-size:13px;color:var(--muted)}.deal-info .price{font:800 18px Rubik,sans-serif;color:#ffcf4a;font-variant-numeric:tabular-nums}.deal-info .price s{color:var(--muted);font-weight:600;font-size:14px}.deal-info button{width:100%;padding:10px;margin-top:4px;border-radius:12px;border:0;font-weight:800;cursor:pointer;background:#ffffff14;color:var(--fg)}.deal-info button.buy{background:linear-gradient(135deg,var(--amber),#ffd58a);color:#241400}.deal-info button:disabled{opacity:.6;cursor:default}.deal-info .next{font-size:12px;color:var(--muted)}.shop-nav{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:8px -16px 0;padding:6px 16px 12px;touch-action:pan-x}.shop-nav::-webkit-scrollbar{display:none}.shop-nav button{flex:none;padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--panel);color:var(--fg);font:700 14px Rubik,sans-serif;cursor:pointer;white-space:nowrap}.shop-nav button[aria-pressed=true]{background:var(--me);border-color:var(--me);color:#04121a}.shop-sec{scroll-margin-top:6px;margin:10px 0 18px}.shop-sec h3{margin:0 0 8px;font:800 17px Rubik,sans-serif}.shop-sec .note{margin:-4px 0 8px;font-size:12.5px}.shop-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin:0 -16px;padding:2px 16px 6px;touch-action:pan-x pan-y}.shop-row::-webkit-scrollbar{display:none}.shop-row .skin{flex:none;width:138px;scroll-snap-align:start}.shop-row.small .skin{width:104px;padding:10px 8px}.shop-row.small .skin button{font-size:12.5px;padding:7px 4px}#shop.overlay{display:block;padding:0;overflow:hidden}#shop .card.wide{height:100%;margin:0 auto;display:flex;flex-direction:column}#shop .shop-top{flex:none;padding:calc(env(safe-area-inset-top,0px) + 14px) 16px 0;background:linear-gradient(to bottom,#070818f5 70%,#070818cc);border-bottom:1px solid var(--line)}#shop .shop-top .head{margin-bottom:0}#shop .shop-scroll{flex:1;min-height:0;overflow-y:auto;padding:14px 16px calc(env(safe-area-inset-bottom,0px) + 24px);touch-action:pan-y;overscroll-behavior:contain}.num.gem{color:#7ef0ff}.num.gem:before{content:"◆ ";font-size:.8em}.wallet{display:flex;gap:12px;align-items:baseline}.skin button.gems{background:linear-gradient(135deg,#5ee6ff,#a46bff);color:#08061a}.toast{position:fixed;z-index:30;left:50%;top:calc(env(safe-area-inset-top,0px) + 70px);transform:translate(-50%,-10px);padding:10px 18px;border-radius:999px;background:#0a0c1eeb;border:1px solid #7ef0ff;color:#7ef0ff;font:800 15px Rubik,sans-serif;opacity:0;pointer-events:none;transition:opacity .3s,transform .3s}.toast.on{opacity:1;transform:translate(-50%)}.shop-row.wide .skin{width:230px}.bundle .minis{display:flex;gap:6px;justify-content:center;align-items:center;min-height:76px}.bundle .minis>*{transform:scale(.62);margin:-14px}.bundle .list{font-size:12px;color:var(--muted);text-align:center}.bundle .price{font:800 13px Rubik,sans-serif;color:var(--muted)}.bundle .price s{margin-inline-end:4px}.bundle .pay{display:flex;gap:6px;width:100%}.bundle .pay button{flex:1}.res-stars .gems-got{display:block;margin-top:6px;color:#7ef0ff;font:800 14px Rubik,sans-serif;letter-spacing:0}
