:root{--radius: 0;--bg: #08060f;--grid: rgba(255, 255, 255, .028);--panel: rgba(10, 7, 18, .5);--panel-2: rgba(10, 7, 18, .5);--card-grad: linear-gradient(180deg, rgba(16, 11, 26, .6), rgba(10, 7, 18, .5));--rail-grad: linear-gradient(180deg, rgba(13, 9, 22, .7), rgba(9, 6, 15, .7));--border-frame: #1d1530;--border-card: #241a33;--border-btn: rgba(176, 180, 205, .3);--border-input: rgba(176, 180, 205, .22);--violet: #7c5cff;--violet-grad: linear-gradient(180deg, rgba(124, 92, 255, .22), rgba(124, 92, 255, .08));--violet-glow: 0 0 12px rgba(124, 92, 255, .18), inset 0 0 14px rgba(124, 92, 255, .07);--violet-glow-hover: 0 0 24px rgba(124, 92, 255, .4), inset 0 0 18px rgba(124, 92, 255, .12);--violet-text: #ece6ff;--violet-tshadow: 0 0 6px rgba(124, 92, 255, .4);--violet-soft: #b6a3ff;--blue: #3d9eff;--blue-grad: linear-gradient(180deg, rgba(61, 158, 255, .22), rgba(61, 158, 255, .07));--blue-grad-hover: linear-gradient(180deg, rgba(61, 158, 255, .3), rgba(61, 158, 255, .1));--blue-glow: 0 0 14px rgba(61, 158, 255, .3);--blue-edge: #5aa8ff;--logo: #2fe0d0;--blue-light: #6fb3ff;--blue-text: #7fc0ff;--red: #ff4d5e;--red-rgb: 255, 77, 94;--red-grad: linear-gradient(180deg, rgba(255, 77, 94, .2), rgba(255, 77, 94, .07));--red-glow: 0 0 14px rgba(255, 77, 94, .28);--red-text: #ff8a92;--teal: #2fe0d0;--teal-glow: 0 0 6px rgba(47, 224, 208, .6);--teal-text: #9af3ea;--amber: #e0b15f;--text: #f2eefb;--text-strong: #ffffff;--text-body: #b3b8cc;--muted: #7d7aa0;--muted-2: #6f6a8c;--muted-3: #5f5a7c;--placeholder: #5f5a7c;--font-head: "Bebas Neue", system-ui, sans-serif;--font-display: "Space Grotesk", system-ui, sans-serif;--font-mono: "Chakra Petch", ui-monospace, monospace}:root[data-palette=cb]{--red: #ff7d1a;--red-rgb: 255, 125, 26;--red-grad: linear-gradient(180deg, rgba(255, 125, 26, .22), rgba(255, 125, 26, .08));--red-glow: 0 0 14px rgba(255, 125, 26, .32);--red-text: #ffa257}*{box-sizing:border-box}body{margin:0;padding:0;font-family:var(--font-display);color:var(--text-body);background-color:var(--bg);min-height:100vh;min-height:100dvh}.view--lobby,.view--match{background-color:var(--bg);background-image:radial-gradient(120% 70% at 100% 0%,rgba(124,92,255,.08),transparent 55%),radial-gradient(120% 80% at 0% 100%,rgba(61,158,255,.08),transparent 50%),linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:100% 100%,100% 100%,34px 34px,34px 34px}.view{min-height:100vh;min-height:100dvh}.view[hidden]{display:none}.loading-splash{position:fixed;inset:0;z-index:60;background-color:var(--bg);background-image:radial-gradient(90% 60% at 50% 40%,rgba(124,92,255,.12),transparent 60%);display:flex;align-items:center;justify-content:center}.loading-splash[hidden]{display:none}.loading-inner{display:flex;flex-direction:column;align-items:center;gap:14px}.loading-inner .mascot{width:92px;height:92px;filter:drop-shadow(0 0 18px rgba(124,92,255,.5))}.loading-title{font-family:var(--font-head);font-size:30px;letter-spacing:.08em;color:#fff;text-shadow:0 0 10px rgba(124,92,255,.5)}.loading-msg{font-family:var(--font-mono);font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}@media (prefers-reduced-motion: no-preference){.loading-inner .mascot{animation:loading-bob 1.7s ease-in-out infinite}.loading-msg{animation:loading-pulse 1.4s ease-in-out infinite}}@keyframes loading-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-9px)}}@keyframes loading-pulse{0%,to{opacity:.5}50%{opacity:1}}@media (min-width: 1000px){.view--lobby,.view--match{max-width:1280px;margin-inline:auto;border-inline:1px solid var(--border-frame)}}.view--lobby{display:grid;grid-template-columns:380px 1fr}.rail{background:var(--rail-grad);border-right:1px solid var(--border-frame);padding:40px 34px;display:flex;flex-direction:column;gap:35px;height:100vh;height:100dvh;overflow-y:auto}.brand{display:flex;align-items:center;gap:12px}.brand .wordmark{display:flex;flex-direction:column;gap:3px}.wordmark .title{font-family:var(--font-head);font-weight:400;font-size:28px;letter-spacing:.1em;color:#fff;line-height:.9;text-shadow:0 0 7px rgba(124,92,255,.4),0 0 16px rgba(124,92,255,.2)}.wordmark .sub{font-family:var(--font-mono);font-weight:500;font-size:9px;letter-spacing:.4em;color:var(--teal-text);text-shadow:0 0 5px rgba(47,224,208,.3)}.section-label{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-weight:600;font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--violet-soft);text-shadow:0 0 8px rgba(124,92,255,.45);margin:2px 0}.section-label:after{content:"";flex:1;height:1px;background:#7c5cff52;opacity:.7}.rail-section{display:flex;flex-direction:column;gap:11px}.rail-spacer{flex:1}.browser{padding:36px 40px;display:flex;flex-direction:column;gap:16px;height:100vh;height:100dvh;overflow:hidden}.browser-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.browser-head .titles{display:flex;flex-direction:column;gap:4px}.browser-head h2{margin:0;font-family:var(--font-head);font-weight:400;font-size:30px;letter-spacing:.06em;color:#fff;text-shadow:0 0 8px rgba(124,92,255,.25)}.browser-head .subhead{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.04em;color:var(--muted)}.game-list{display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;overflow-y:auto;padding-right:4px}.game-list .empty,.game-list .loading{color:var(--muted);font-size:14px;padding:18px 4px}.game-list .lobby-nav-btn{width:100%;margin-top:4px;font-family:var(--font-mono);font-size:13px;color:var(--muted)}.game-list .lobby-nav-btn:hover{color:var(--text)}.view--match{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.match-header{flex:0 0 auto;height:62px;display:flex;align-items:center;justify-content:space-between;gap:14px;padding:0 18px;border-bottom:1px solid var(--border-frame)}.match-header{border-bottom:1px solid var(--border-frame)}.match-header .brand .title{font-size:20px;text-shadow:0 0 6px rgba(124,92,255,.35)}.match-header .chips{display:flex;align-items:center;gap:8px}.view--match #stage{position:relative;display:block;width:fit-content;margin:14px auto}.view--match #game{border:1px solid rgba(124,92,255,.6);border-radius:0;box-shadow:0 0 20px #7c5cff52,inset 0 0 14px #7c5cff0f;display:block}.view--match #panel{padding-bottom:14px}.view--match .unit-bar,.view--match .toolbar,.view--match #commitBar,.view--match #timeline{margin-top:18px}.unit-bar{gap:9px;padding-top:2px}.unit-bar button{font-family:var(--font-display);background:#3d9eff08;border:1px solid rgba(61,158,255,.32);border-radius:0;color:#9ab8d6;padding:8px 14px;font-size:13px;font-weight:500;letter-spacing:.04em}.unit-bar button:hover{border-color:var(--blue);color:#cfe4ff}.unit-bar button.active{border-color:var(--blue);background:var(--blue-grad);color:#e6f2ff;box-shadow:var(--blue-glow);text-shadow:0 0 6px rgba(61,158,255,.45)}.unit-bar button[data-side=B]{border-color:rgba(var(--red-rgb),.32);background:rgba(var(--red-rgb),.03);color:#d6a3aa}.unit-bar button[data-side=B].active{border-color:var(--red);background:var(--red-grad);color:#ffd9dd;box-shadow:var(--red-glow);text-shadow:0 0 6px rgba(var(--red-rgb),.45)}.unit-divider{display:block;flex:0 0 100%;width:100%;height:0}.bar-label{flex:0 0 auto;display:flex;align-items:center;gap:8px;margin:0;font-family:var(--font-mono);font-size:9px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--violet-soft);text-shadow:0 0 8px rgba(124,92,255,.45);white-space:nowrap}.bar-label:after{content:"";display:none;flex:1;min-width:24px;height:1px;background:#7c5cff4d;opacity:.7}.toolbar{gap:9px;padding-top:4px}.toolbar button{font-family:var(--font-display);background:#ffffff03;border:1px solid var(--border-btn);border-radius:0;color:var(--text-body);padding:9px 15px;font-size:13px;font-weight:500;letter-spacing:.04em}.toolbar button:hover{border-color:#6a6388;color:#e8eaf4}#commit,#nextTurn{font-family:var(--font-display);border:1px solid var(--violet);border-radius:0;background:var(--violet-grad);color:var(--violet-text);padding:11px 18px;font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:var(--violet-glow);text-shadow:var(--violet-tshadow)}#commit:hover,#nextTurn:hover{box-shadow:var(--violet-glow-hover)}#commitBar{margin-top:8px}.toolbar #ability.cooldown{background:rgba(var(--red-rgb),.1);border-color:var(--red);color:#ffb3bb}.toolbar #ability.armed{background:#e0b15f;border-color:#f1ca80;color:#1c1405;font-weight:600;animation:ability-armed-pulse 1.3s ease-in-out infinite}@keyframes ability-armed-pulse{0%,to{box-shadow:0 0 0 1px #e0b15f73,0 0 10px -2px #e0b15f80}50%{box-shadow:0 0 0 1px #e0b15fd9,0 0 20px 2px #e0b15fcc}}.toolbar #mapPicker{font-family:var(--font-display);background:#ffffff03;border:1px solid var(--border-btn);border-radius:0;color:var(--text-body);padding:9px 12px;font-size:13px}.toolbar #scrubber{accent-color:var(--teal)}#status{min-height:18px;text-align:center;font-family:var(--font-mono);font-size:12px;font-weight:500;color:var(--muted-2);padding:4px 12px}#status:empty{display:none}.mascot{--m-face: #f6f7fb;--m-edge: #e3e7f2;--m-eye: #3b2a31;--m-red: #c05a60;--m-mouth: #3b2a31;--m-tear: #7cc0f5;--m-gold: #e0b15f;--m-fire: #8f1717;--m-fire2: #a82424;display:block;overflow:visible}.brand .mascot{flex:0 0 auto}.mascot .face{transform-box:fill-box;transform-origin:center}.mascot .body{fill:var(--m-face);stroke:var(--m-edge);stroke-width:2}.mascot .sheen{fill:#fff;opacity:.5}.mascot .ball{fill:var(--m-eye)}.mascot .red{fill:var(--m-red);opacity:.55;transform-box:fill-box;transform-origin:center}.mascot .glint{fill:#fff}.mascot .glint.sm{opacity:.8}.mascot .eyes{transform-box:fill-box;transform-origin:center;transition:transform .18s ease}.mascot .mouth{display:none}.mascot .mouth.smile,.mascot .mouth.frown{fill:none;stroke:var(--m-mouth);stroke-width:4;stroke-linecap:round}.mascot .mouth.grin,.mascot .mouth.o{fill:var(--m-mouth)}.mascot.m-idle .smile,.mascot.m-fire .smile,.mascot.m-happy .grin,.mascot.m-win .grin,.mascot.m-shock .o,.mascot.m-sad .frown,.mascot.m-lose .frown{display:block}.mascot .tear{fill:var(--m-tear);opacity:0}.mascot .spark{fill:var(--m-gold);opacity:0;transform-box:fill-box;transform-origin:center}.mascot .m-lid{fill:var(--m-face);opacity:0;transform-box:fill-box;transform-origin:center}.mascot .m-brow{fill:none;stroke:var(--m-eye);stroke-width:7;stroke-linecap:round;opacity:0;transform-box:fill-box;transform-origin:center}.mascot .m-shard{fill:var(--m-fire);opacity:0;transform-box:fill-box;transform-origin:left center}.mascot .m-shard.alt{fill:var(--m-fire2)}.mascot{--m-eyeclip: path("M59 98a15 19 0 1 0 30 0a15 19 0 1 0 -30 0Z M111 98a15 19 0 1 0 30 0a15 19 0 1 0 -30 0Z")}.mascot .m-lidclip,.mascot .rw-lid,.mascot .rt-lid,.mascot .rs-lid,.mascot .rzn-lid,.mascot .rgt-lid,.mascot .rck-lid,.mascot .rsn-lid,.mascot .rwh-lid,.mascot .rks-lid,.mascot .ryn-lid,.mascot .rpo-lid{clip-path:var(--m-eyeclip)}.mascot .rp-puff{clip-path:path(evenodd,"M0 0H200V200H0Z M22 100a78 78 0 1 0 156 0a78 78 0 1 0 -156 0Z")}.mascot.m-shock .eyes{transform:scale(1.22)}.mascot.m-sad .eyes{transform:translateY(6px) scaleY(.8)}.mascot.m-lose .eyes{transform:scaleY(.5)}.mascot.m-happy .eyes{transform:scaleY(.9)}.mascot.m-win .eyes{transform:scaleY(.86)}.mascot.m-lose{filter:grayscale(.45) brightness(.92)}.mascot.m-sad .tear,.mascot.m-lose .tear{opacity:1}.mascot.anim.m-idle .eyes{animation:m-blink 30s infinite}.mascot.anim.m-idle .face{animation:m-bob 3.4s ease-in-out infinite}.mascot.anim.m-happy .face{animation:m-hop .42s ease-out 2}.mascot.anim.m-happy .spark{animation:m-twinkle .7s ease-out 2}.mascot.anim.m-win .face{animation:m-hop .5s ease-out infinite}.mascot.anim.m-win .spark{animation:m-twinkle .7s ease-out infinite}.mascot.anim.m-shock .face{animation:m-jolt .5s cubic-bezier(.2,.9,.2,1) 1}.mascot.anim.m-sad .face{animation:m-shake .5s ease-in-out 2}.mascot.anim.m-sad .tear,.mascot.anim.m-lose .tear{animation:m-drip 1.3s ease-in infinite}.mascot.anim.m-lose .face{animation:m-wilt .9s ease-out forwards}.mascot.m-fire:not(.anim) .red{transform:translateY(-6px) scale(1.556,2);fill:#a01c1c;opacity:1}.mascot.m-fire:not(.anim) .m-brow{opacity:1}.mascot.m-fire:not(.anim) .m-lid{opacity:1;transform:translateY(14px)}.mascot.anim.m-fire .red{animation:m-fire-eye .95s ease-out}.mascot.anim.m-fire .m-lid{animation:m-fire-lid .95s ease-out}.mascot.anim.m-fire .m-brow{animation:m-fire-brow .95s ease-out}.mascot.anim.m-fire .m-shard{animation:m-fire-ray .95s ease-out}@keyframes m-fire-eye{0%{transform:none;opacity:.55;fill:#c05a60}22%{transform:translateY(-6px) scale(1.556,2);opacity:1;fill:#a01c1c}62%{transform:translateY(-6px) scale(1.556,2);opacity:1;fill:#a01c1c}85%,to{transform:none;opacity:.55;fill:#c05a60}}@keyframes m-fire-lid{0%{opacity:0;transform:translateY(0)}20%,62%{opacity:1;transform:translateY(14px)}82%,to{opacity:0;transform:translateY(0)}}@keyframes m-fire-brow{0%{opacity:0;transform:translateY(-5px)}22%,62%{opacity:1;transform:translateY(0)}80%,to{opacity:0;transform:translateY(-5px)}}@keyframes m-fire-ray{0%,30%{transform:rotate(var(--a)) translate(3px) scaleX(.5);opacity:0}40%{opacity:1}62%{transform:rotate(var(--a)) translate(var(--d)) scaleX(.08);opacity:0}to{transform:rotate(var(--a)) translate(var(--d)) scaleX(.08);opacity:0}}@keyframes m-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}@keyframes m-blink{0%,98.6%,to{transform:scaleY(1)}99.3%{transform:scaleY(.12)}}@keyframes m-hop{0%{transform:translateY(0) scale(1)}30%{transform:translateY(-16px) scale(1.04,.96)}60%{transform:translateY(0) scale(1.02,.98)}to{transform:translateY(0)}}@keyframes m-twinkle{0%{opacity:0;transform:scale(.3) rotate(0)}40%{opacity:1;transform:scale(1.1) rotate(40deg)}to{opacity:0;transform:scale(.5) rotate(90deg)}}@keyframes m-jolt{0%{transform:translateY(0) scale(1)}18%{transform:translateY(-10px) scale(1.12,.9)}40%{transform:translateY(2px) scale(.94,1.08)}to{transform:translateY(0) scale(1)}}@keyframes m-shake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-4px) rotate(-2deg)}75%{transform:translate(4px) rotate(2deg)}}@keyframes m-drip{0%{opacity:0;transform:translateY(-4px)}25%{opacity:1}to{opacity:0;transform:translateY(20px)}}@keyframes m-wilt{0%{transform:translateY(0) rotate(0)}to{transform:translateY(7px) rotate(-4deg)}}.mascot .rx>g{display:none}.mascot.m-rx-hearts .rx-hearts,.mascot.m-rx-cool .rx-cool,.mascot.m-rx-rage .rx-rage,.mascot.m-rx-money .rx-money,.mascot.m-rx-wink .rx-wink,.mascot.m-rx-gg .rx-gg,.mascot.m-rx-sleepy .rx-sleepy,.mascot.m-rx-glitch .rx-glitch,.mascot.m-rx-frozen .rx-frozen,.mascot.m-rx-blazing .rx-blazing,.mascot.m-rx-feral .rx-feral,.mascot.m-rx-cosmic .rx-cosmic,.mascot.m-rx-toxic .rx-toxic,.mascot.m-rx-bubbly .rx-bubbly,.mascot.m-rx-windup .rx-windup,.mascot.m-rx-regal .rx-regal,.mascot.m-rx-warcry .rx-warcry,.mascot.m-rx-dazzle .rx-dazzle,.mascot.m-rx-fang .rx-fang,.mascot.m-rx-smug .rx-smug,.mascot.m-rx-triumph .rx-triumph,.mascot.m-rx-zen .rx-zen,.mascot.m-rx-grit .rx-grit,.mascot.m-rx-awe .rx-awe,.mascot.m-rx-cheeky .rx-cheeky,.mascot.m-rx-joytears .rx-joytears,.mascot.m-rx-sneer .rx-sneer,.mascot.m-rx-whistle .rx-whistle,.mascot.m-rx-kiss .rx-kiss,.mascot.m-rx-yawn .rx-yawn,.mascot.m-rx-pout .rx-pout{display:block}.mascot.m-rx-glitch .mouth,.mascot.m-rx-frozen .mouth,.mascot.m-rx-blazing .mouth,.mascot.m-rx-feral .mouth,.mascot.m-rx-cosmic .mouth,.mascot.m-rx-toxic .mouth,.mascot.m-rx-bubbly .mouth,.mascot.m-rx-windup .mouth,.mascot.m-rx-regal .mouth,.mascot.m-rx-warcry .mouth,.mascot.m-rx-dazzle .mouth,.mascot.m-rx-fang .mouth,.mascot.m-rx-money .mouth,.mascot.m-rx-smug .mouth,.mascot.m-rx-triumph .mouth,.mascot.m-rx-zen .mouth,.mascot.m-rx-grit .mouth,.mascot.m-rx-awe .mouth,.mascot.m-rx-cheeky .mouth,.mascot.m-rx-joytears .mouth,.mascot.m-rx-sneer .mouth,.mascot.m-rx-whistle .mouth,.mascot.m-rx-kiss .mouth,.mascot.m-rx-yawn .mouth,.mascot.m-rx-pout .mouth{display:none}.mascot .rx-heart{fill:#ff6fa5;opacity:.95;transform-box:fill-box;transform-origin:center}.mascot .rx-heart.alt{fill:#ff9ec7}.mascot.anim.m-rx-hearts .rx-heart{animation:m-rx-float 2.2s ease-in-out var(--rd, 0s) infinite}@keyframes m-rx-float{0%{opacity:0;transform:translateY(8px) scale(.5)}22%{opacity:.95;transform:translateY(0) scale(1)}70%{opacity:.85}to{opacity:0;transform:translateY(-26px) scale(.85)}}.mascot .rx-cool{transform-box:fill-box;transform-origin:center}.mascot .rc-lens{fill:#15171f;stroke:#2c3040;stroke-width:1.5}.mascot .rc-bridge,.mascot .rc-arm{fill:none;stroke:#15171f;stroke-width:5;stroke-linecap:round}.mascot .rc-shine{fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;opacity:.4;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-cool .rx-cool{animation:m-rx-drop .65s ease-out both}.mascot.anim.m-rx-cool .rc-shine{animation:m-rx-glint 2.4s ease-in-out .65s infinite}@keyframes m-rx-drop{0%{opacity:0;transform:translateY(-78px)}12%{opacity:1}60%{transform:translateY(4px)}80%{transform:translateY(-2px)}to{transform:translateY(0)}}@keyframes m-rx-glint{0%,78%,to{opacity:.4;transform:none}86%{opacity:.95;transform:translate(3px)}94%{opacity:.4}}.mascot .rr-puff{fill:#d9e0ee;stroke:#96a1bd;stroke-width:2;opacity:.92;transform-box:fill-box;transform-origin:center}.mascot .rr-vein{fill:none;stroke:#e0405e;stroke-width:4;stroke-linecap:round;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-rage .rr-puff{animation:m-rx-puff 1.5s ease-out var(--rd, 0s) infinite}.mascot.anim.m-rx-rage .rr-vein{animation:m-rx-vein 1.2s ease-in-out infinite}@keyframes m-rx-puff{0%{opacity:0;transform:translateY(4px) scale(.4)}28%{opacity:.92;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx, 0px),-14px) scale(1.3)}}@keyframes m-rx-vein{0%,to{transform:scale(1)}45%{transform:scale(1.22)}}.mascot .rm-face{fill:#f2c53d;stroke:#b07a1e;stroke-width:2}.mascot .rm-ring{fill:none;stroke:#cf9a26;stroke-width:2}.mascot .rm-coin,.mascot .rm-spin{transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-money .rm-coin{animation:m-rx-fall 1.9s linear var(--rd, 0s) infinite}.mascot.anim.m-rx-money .rm-spin{animation:m-rx-coinspin .85s ease-in-out var(--rd, 0s) infinite}@keyframes m-rx-fall{0%{opacity:0;transform:translateY(-38px)}12%{opacity:1}82%{opacity:1}to{opacity:0;transform:translateY(72px)}}@keyframes m-rx-coinspin{0%,to{transform:scaleX(1)}50%{transform:scaleX(.16)}}.mascot .rw-lid{fill:var(--m-face)}.mascot .rw-lash,.mascot .rw-tick{fill:none;stroke:var(--m-eye);stroke-width:6;stroke-linecap:round}.mascot .rw-tick{stroke-width:4}.mascot .rw-spark{fill:var(--m-gold);opacity:.9;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-wink .rw-spark{animation:m-rx-wink-tw 2.1s ease-in-out var(--rd, 0s) infinite}@keyframes m-rx-wink-tw{0%,to{opacity:.25;transform:scale(.55) rotate(0)}45%{opacity:1;transform:scale(1.15) rotate(45deg)}}.mascot .rg-bubble{fill:#fdfdff;stroke:#2c3040;stroke-width:2.5;stroke-linejoin:round}.mascot .rg-g{fill:none;stroke:#303548;stroke-width:5.5;stroke-linecap:round;stroke-linejoin:round}.mascot .rg-pop{transform-box:fill-box;transform-origin:18% 100%}.mascot .rg-bob{transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-gg .rg-pop{animation:m-rx-ggpop .6s cubic-bezier(.25,1.6,.4,1) both}.mascot.anim.m-rx-gg .rg-bob{animation:m-rx-ggbob 2.4s ease-in-out .6s infinite}@keyframes m-rx-ggpop{0%{opacity:0;transform:scale(.2)}to{opacity:1;transform:scale(1)}}@keyframes m-rx-ggbob{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.mascot .rz-z{fill:none;stroke:#8a93c9;stroke-linecap:round;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}.mascot .rz-z.z1{stroke-width:3.5;opacity:.95}.mascot .rz-z.z2{stroke-width:4;opacity:.7}.mascot .rz-z.z3{stroke-width:4.5;opacity:.5}.mascot.anim.m-rx-sleepy .rz-z{animation:m-rx-zz 4.5s ease-in-out var(--rd, 0s) infinite}@keyframes m-rx-zz{0%{opacity:0;transform:translateY(10px) scale(.7) rotate(-6deg)}30%{opacity:.9;transform:translate(2px) scale(1) rotate(0)}70%{opacity:.55}to{opacity:0;transform:translate(6px,-20px) scale(1.1) rotate(8deg)}}.mascot .rgl-mouth{fill:none;stroke:var(--m-mouth);stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round}.mascot .rgl-ghost{fill:none;stroke-width:4.5;stroke-linecap:round;stroke-linejoin:round;opacity:.7}.mascot .rgl-ghost.c{stroke:#2fe0d0;transform:translate(-3px,-1px)}.mascot .rgl-ghost.m{stroke:#ff4fd8;transform:translate(3px,1px)}.mascot .rgl-eye{fill:none;stroke-width:2.5;opacity:.55}.mascot .rgl-eye.c{stroke:#2fe0d0;transform:translate(-3px,-1px)}.mascot .rgl-eye.m{stroke:#ff4fd8;transform:translate(3px,1px)}.mascot .rgl-scan{fill:#2fe0d0;opacity:.18}.mascot .rgl-jit{transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-glitch .rgl-jit{animation:m-rx-jitter .55s linear infinite}.mascot.anim.m-rx-glitch .rgl-ghost,.mascot.anim.m-rx-glitch .rgl-eye{animation:m-rx-rgbflick .8s linear infinite}.mascot.anim.m-rx-glitch .rgl-scan{animation:m-rx-scan 1.6s linear infinite}@keyframes m-rx-jitter{0%,14%{transform:translate(0)}15%,29%{transform:translate(2.5px,-1.5px)}30%,44%{transform:translate(-2px,1px)}45%,59%{transform:translate(1.5px,2px)}60%,74%{transform:translate(-2.5px,-1px)}75%,to{transform:translate(0)}}@keyframes m-rx-rgbflick{0%,to{opacity:.7}22%{opacity:.25}24%{opacity:.8}61%{opacity:.3}63%{opacity:.75}}@keyframes m-rx-scan{0%{opacity:0;transform:translateY(-6px)}12%{opacity:.3}82%{opacity:.28}to{opacity:0;transform:translateY(136px)}}.mascot .rf-teeth{fill:#fdfdff;stroke:var(--m-mouth);stroke-width:3}.mascot .rf-gap{fill:none;stroke:var(--m-mouth);stroke-width:1.8;opacity:.55}.mascot .rf-chatter{transform-box:fill-box;transform-origin:center}.mascot .rf-ice{fill:#bfe6ff;stroke:#8fc6ee;stroke-width:1.4;stroke-linejoin:round}.mascot .rf-breath{fill:#dff2ff;stroke:#9fd4f5;stroke-width:1.6;opacity:.85;transform-box:fill-box;transform-origin:center}.mascot .rf-flake{fill:#eaf7ff;opacity:.85;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-frozen .face{animation:m-rx-shiver .28s linear infinite}.mascot.anim.m-rx-frozen .rf-chatter{animation:m-rx-chatter .16s linear infinite}.mascot.anim.m-rx-frozen .rf-breath{animation:m-rx-breath 2.2s ease-out var(--rd, 0s) infinite}.mascot.anim.m-rx-frozen .rf-flake{animation:m-twinkle 1.8s ease-out var(--rd, 0s) infinite}@keyframes m-rx-shiver{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-1.6px) rotate(-.5deg)}75%{transform:translate(1.6px) rotate(.5deg)}}@keyframes m-rx-chatter{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(1.8px) scaleY(.86)}}@keyframes m-rx-breath{0%{opacity:0;transform:translateY(2px) scale(.3)}30%{opacity:.85;transform:translate(4px,-2px) scale(1)}to{opacity:0;transform:translate(15px,-10px) scale(1.35)}}.mascot .rb-maw{fill:var(--m-mouth)}.mascot .rb-throat{fill:#7d1b2a}.mascot .rb-fang{fill:#fdfdff;stroke:#d8dce8;stroke-width:1;stroke-linejoin:round}.mascot .rb-glow{fill:#ff7a1a;opacity:.28;transform-box:fill-box;transform-origin:center}.mascot .rb-ember{fill:#ffb24a;opacity:.9;transform-box:fill-box;transform-origin:center}.mascot .rb-ember.alt{fill:#ff7a1a}.mascot .rb-shim{fill:none;stroke:#ffd23f;stroke-width:2.5;stroke-linecap:round;opacity:.4;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-blazing .rb-glow{animation:m-rx-blaze-glow 1.1s ease-in-out infinite}.mascot.anim.m-rx-blazing .rb-ember{animation:m-rx-ember 1.6s ease-out var(--rd, 0s) infinite}.mascot.anim.m-rx-blazing .rb-shim{animation:m-rx-shimmer 1.4s ease-in-out var(--rd, 0s) infinite}@keyframes m-rx-blaze-glow{0%,to{opacity:.2;transform:scale(.92)}50%{opacity:.42;transform:scale(1.08)}}@keyframes m-rx-ember{0%{opacity:0;transform:translateY(10px) scale(.5)}25%{opacity:.9;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx, 0px),-26px) scale(.6)}}@keyframes m-rx-shimmer{0%{opacity:0;transform:translateY(6px)}35%{opacity:.45}to{opacity:0;transform:translateY(-10px)}}.mascot .rl-maw{fill:var(--m-mouth)}.mascot .rl-throat{fill:#7d1b2a}.mascot .rl-fang{fill:#fdfdff;stroke:#d8dce8;stroke-width:1;stroke-linejoin:round}.mascot .rl-slash{fill:none;stroke:#3c6b3c;stroke-width:4;stroke-linecap:round;opacity:.85}.mascot .rl-leaf{fill:#6fb86f;opacity:.9;transform-box:fill-box;transform-origin:center}.mascot .rl-leaf.alt{fill:#4f8f4f}.mascot.anim.m-rx-feral .face{animation:m-rx-growl .3s linear infinite}.mascot.anim.m-rx-feral .rl-slash{animation:m-rx-slashpulse 1.6s ease-in-out infinite}.mascot.anim.m-rx-feral .rl-leaf{animation:m-rx-leaffall 1.9s ease-in var(--rd, 0s) infinite}@keyframes m-rx-growl{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-1.3px,.6px) rotate(-.5deg)}50%{transform:translate(1.1px,-.5px) rotate(.4deg)}75%{transform:translate(-.8px,-.6px) rotate(-.3deg)}}@keyframes m-rx-slashpulse{0%,to{opacity:.55}50%{opacity:.95}}@keyframes m-rx-leaffall{0%{opacity:0;transform:translateY(-8px) rotate(0)}22%{opacity:.9;transform:translate(0) rotate(30deg)}to{opacity:0;transform:translate(var(--dx, 6px),26px) rotate(110deg)}}.mascot .rk-pupil{fill:#e6e6ff;stroke:#7c5cff;stroke-width:2;stroke-linejoin:round;transform-box:fill-box;transform-origin:center}.mascot .rk-mouth{fill:var(--m-mouth)}.mascot .rk-glint{fill:#e6e6ff;transform-box:fill-box;transform-origin:center}.mascot .rk-jaw{transform-box:fill-box;transform-origin:50% 0}.mascot .rk-orbit{transform-box:view-box;transform-origin:center}.mascot .rk-orb{fill:#e6e6ff}.mascot .rk-orb.alt{fill:#b29dff}.mascot .rk-tw{fill:#b29dff;opacity:.9;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-cosmic .rk-jaw{animation:m-rx-jawdrop .55s cubic-bezier(.2,1.4,.4,1) both}.mascot.anim.m-rx-cosmic .rk-pupil{animation:m-rx-pupil 1.6s ease-in-out infinite}.mascot.anim.m-rx-cosmic .rk-orbit{animation:m-rx-orbit 7s linear infinite}.mascot.anim.m-rx-cosmic .rk-glint{animation:m-twinkle 1.5s ease-out .55s infinite}.mascot.anim.m-rx-cosmic .rk-tw{animation:m-twinkle 2s ease-out var(--rd, 0s) infinite}@keyframes m-rx-jawdrop{0%{transform:scaleY(.25)}to{transform:scaleY(1)}}@keyframes m-rx-pupil{0%,to{transform:scale(.85) rotate(-8deg)}50%{transform:scale(1.12) rotate(8deg)}}@keyframes m-rx-orbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.mascot .rt-tint{fill:#7fd63a;opacity:.12}.mascot .rt-lid{fill:var(--m-face)}.mascot .rt-cheek{fill:#9adb6a;opacity:.55}.mascot .rt-mouth{fill:none;stroke:#3c6b35;stroke-width:4.5;stroke-linecap:round;transform-box:fill-box;transform-origin:center}.mascot .rt-drip{fill:#7fd63a;opacity:.9;transform-box:fill-box;transform-origin:center}.mascot .rt-bub{fill:#7fd63a47;stroke:#7fd63a;stroke-width:1.8;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-toxic .face{animation:m-rx-woozy 2.8s ease-in-out infinite}.mascot.anim.m-rx-toxic .rt-mouth{animation:m-rx-squirm 1.3s ease-in-out infinite}.mascot.anim.m-rx-toxic .rt-drip{animation:m-rx-melt-drip 2.4s ease-in infinite}.mascot.anim.m-rx-toxic .rt-bub{animation:m-rx-toxbub 2.6s ease-out var(--rd, 0s) infinite}@keyframes m-rx-woozy{0%,to{transform:rotate(-2.4deg) translateY(0)}50%{transform:rotate(2.4deg) translateY(2px)}}@keyframes m-rx-squirm{0%,to{transform:translate(0) scaleY(1)}50%{transform:translate(-3px) scaleY(1.15)}}@keyframes m-rx-melt-drip{0%{opacity:0;transform:translateY(-3px)}18%{opacity:.9}to{opacity:0;transform:translateY(20px)}}@keyframes m-rx-toxbub{0%{opacity:0;transform:translateY(8px) scale(.4)}28%{opacity:.85;transform:translate(0) scale(.85)}to{opacity:0;transform:translate(var(--dx, 0px),-28px) scale(1.3)}}.mascot .rp-tint{fill:#2fd0e0;opacity:.1}.mascot .rp-puff{fill:var(--m-face)}.mascot .rp-cheek{fill:#7fe9f2;opacity:.5}.mascot .rp-lips{fill:#ff8fb0;stroke:#d8567e;stroke-width:1.6;stroke-linejoin:round}.mascot .rp-pout{fill:#7d2b44}.mascot .rp-crease{fill:none;stroke:#d8567e;stroke-width:2.2;stroke-linecap:round;opacity:.8}.mascot .rp-mb,.mascot .rp-bub{fill:#7fe9f247;stroke:#2fd0e0;stroke-width:1.8;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-bubbly .face{animation:m-rx-buoy 3.4s ease-in-out infinite}.mascot.anim.m-rx-bubbly .rp-mb{animation:m-rx-blow 2.1s ease-out var(--rd, 0s) infinite}.mascot.anim.m-rx-bubbly .rp-bub{animation:m-rx-toxbub 2.8s ease-out var(--rd, 0s) infinite}@keyframes m-rx-buoy{0%,to{transform:translateY(0) rotate(-1.6deg)}50%{transform:translateY(-6px) rotate(1.6deg)}}@keyframes m-rx-blow{0%{opacity:0;transform:translate(-6px,4px) scale(.3)}22%{opacity:.9;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx, 6px),-34px) scale(1.5)}}.mascot .ru-cog{fill:#c08a3e}.mascot .ru-hub{fill:#77571f}.mascot .ru-spin,.mascot .ru-turn{transform-box:fill-box;transform-origin:center}.mascot .ru-shaft{fill:#8a6a2e}.mascot .ru-lobe{fill:none;stroke:#8a6a2e;stroke-width:5}.mascot .ru-steam{fill:#d9e0ee;stroke:#96a1bd;stroke-width:2;opacity:.9;transform-box:fill-box;transform-origin:center}.mascot .ru-maw{fill:var(--m-mouth)}.mascot .ru-teeth{fill:#e6ddc9;stroke:#9a7434;stroke-width:1.2}.mascot .ru-bolt{fill:#c08a3e;stroke:#77571f;stroke-width:1.4}.mascot.anim.m-rx-windup .face{animation:m-rx-ticktock .9s steps(1,end) infinite}.mascot.anim.m-rx-windup .ru-spin{animation:m-rx-ratchet 3.2s steps(8,end) infinite}.mascot.anim.m-rx-windup .ru-turn{animation:m-rx-keywind 1.7s ease-in-out infinite}.mascot.anim.m-rx-windup .ru-steam{animation:m-rx-puff 1.7s ease-out var(--rd, 0s) infinite}@keyframes m-rx-ticktock{0%,to{transform:rotate(-1.4deg)}50%{transform:rotate(1.4deg)}}@keyframes m-rx-ratchet{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes m-rx-keywind{0%,30%{transform:scaleY(1)}50%{transform:scaleY(.16)}70%,to{transform:scaleY(1)}}.mascot .rq-smirk{fill:none;stroke:var(--m-mouth);stroke-width:5;stroke-linecap:round}.mascot .rq-dimple{fill:none;stroke:var(--m-mouth);stroke-width:3.5;stroke-linecap:round;opacity:.85}.mascot .rq-glint{fill:#ffd23f;opacity:.9;transform-box:fill-box;transform-origin:center}.mascot .rq-gleam{fill:#fff1c2;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-regal .face{animation:m-rx-chinup .9s cubic-bezier(.2,1.2,.4,1) both}.mascot.anim.m-rx-regal .rq-glint{animation:m-twinkle 2s ease-out var(--rd, 0s) infinite}.mascot.anim.m-rx-regal .rq-gleam{animation:m-twinkle 1.6s ease-out .9s infinite}@keyframes m-rx-chinup{0%{transform:rotate(0) translateY(0)}to{transform:rotate(-4deg) translateY(-3px)}}.mascot .ry-maw{fill:var(--m-mouth)}.mascot .ry-throat{fill:#7d1b2a}.mascot .ry-teeth{fill:#fdfdff;stroke:#d8dce8;stroke-width:1;stroke-linejoin:round}.mascot .ry-brow{fill:none;stroke:#a32638;stroke-width:7;stroke-linecap:round}.mascot .ry-strain{fill:none;stroke:var(--m-mouth);stroke-width:2.6;stroke-linecap:round;opacity:.8}.mascot .ry-burst{fill:none;stroke:#e0b15f;stroke-width:4;stroke-linecap:round;opacity:.85;transform-box:fill-box;transform-origin:center}.mascot .ry-slash{transform-box:fill-box;transform-origin:center}.mascot .ry-blade{fill:none;stroke:#fff1c2;stroke-width:3.5;stroke-linecap:round}.mascot .ry-cross{fill:#ffd23f;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-warcry .face{animation:m-rx-warshake .34s linear infinite}.mascot.anim.m-rx-warcry .ry-burst{animation:m-rx-warburst .9s ease-out infinite}.mascot.anim.m-rx-warcry .ry-slash{animation:m-rx-katana 2.1s ease-in-out infinite}.mascot.anim.m-rx-warcry .ry-cross{animation:m-twinkle 2.1s ease-out .25s infinite}@keyframes m-rx-warshake{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-1.5px,.8px) rotate(-.6deg)}50%{transform:translate(1.3px,-.6px) rotate(.5deg)}75%{transform:translate(-.9px,-.8px) rotate(-.4deg)}}@keyframes m-rx-warburst{0%{opacity:0;transform:scale(.85)}30%{opacity:.85}to{opacity:0;transform:scale(1.12)}}@keyframes m-rx-katana{0%{opacity:0;transform:translate(-24px,-24px)}16%{opacity:1}40%{opacity:0;transform:translate(14px,14px)}to{opacity:0;transform:translate(14px,14px)}}.mascot .rd-arc{fill:none;stroke-width:7;stroke-linecap:round;opacity:.3}.mascot .rd-bow{transform-box:fill-box;transform-origin:center}.mascot .rd-eyetint{opacity:.24}.mascot .rd-eyetint.a{fill:#2fd0e0}.mascot .rd-eyetint.b{fill:#ff6fae}.mascot .rd-glim{fill:#fdfdff;opacity:.95;transform-box:fill-box;transform-origin:center}.mascot .rd-mouth{fill:var(--m-mouth)}.mascot .rd-teeth{fill:#fdfdff}.mascot .rd-tongue{fill:#ff8fb0}.mascot .rd-toothstar{fill:#fdfdff;transform-box:fill-box;transform-origin:center}.mascot .rd-tw{opacity:.9;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-dazzle .rd-bow{animation:m-rx-bowdrift 3s ease-in-out infinite}.mascot.anim.m-rx-dazzle .rd-eyetint{animation:m-rx-tintbreathe 2.2s ease-in-out infinite}.mascot.anim.m-rx-dazzle .rd-glim{animation:m-twinkle 1.7s ease-out var(--rd, 0s) infinite}.mascot.anim.m-rx-dazzle .rd-toothstar{animation:m-twinkle 1.9s ease-out .5s infinite}.mascot.anim.m-rx-dazzle .rd-tw{animation:m-twinkle 2s ease-out var(--rd, 0s) infinite}@keyframes m-rx-bowdrift{0%,to{opacity:.75;transform:translate(-3px)}50%{opacity:1;transform:translate(3px)}}@keyframes m-rx-tintbreathe{0%,to{opacity:.14}50%{opacity:.32}}.mascot .rv-tint{fill:#7c5cff;opacity:.08}.mascot .rv-glow{fill:#a01a2e;opacity:.3;transform-box:fill-box;transform-origin:center}.mascot .rv-lip{fill:none;stroke:var(--m-mouth);stroke-width:5;stroke-linecap:round}.mascot .rv-hook{fill:none;stroke:var(--m-mouth);stroke-width:3.5;stroke-linecap:round;opacity:.9}.mascot .rv-lower{fill:none;stroke:var(--m-mouth);stroke-width:3;stroke-linecap:round;opacity:.6}.mascot .rv-fang{fill:#fdfdff;stroke:#d8dce8;stroke-width:1;stroke-linejoin:round}.mascot .rv-drip{fill:#a01a2e;opacity:.9;transform-box:fill-box;transform-origin:center}.mascot .rv-bat{fill:#1a1018;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-fang .rv-glow{animation:m-rx-hypno 1.6s ease-in-out infinite}.mascot.anim.m-rx-fang .rv-drip{animation:m-rx-melt-drip 2.6s ease-in infinite}.mascot.anim.m-rx-fang .rv-bat{animation:m-rx-flit 3.2s ease-in-out infinite}@keyframes m-rx-hypno{0%,to{opacity:.18;transform:scale(.9)}50%{opacity:.42;transform:scale(1.1)}}@keyframes m-rx-flit{0%{opacity:0;transform:translate(-14px,18px)}12%{opacity:1}35%{transform:translate(8px,-6px)}60%{transform:translate(-4px,-20px)}85%{opacity:.9}to{opacity:0;transform:translate(16px,-34px)}}.mascot .rs-lid{fill:var(--m-face)}.mascot .rs-lidline{fill:none;stroke:var(--m-eye);stroke-width:5;stroke-linecap:round}.mascot .rs-smirk{fill:none;stroke:var(--m-mouth);stroke-width:5;stroke-linecap:round}.mascot .rs-under{fill:none;stroke:var(--m-mouth);stroke-width:3;stroke-linecap:round;opacity:.6}.mascot .rs-gleam{fill:#fff1c2;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-smug .face{animation:m-rx-smugtilt .9s cubic-bezier(.2,1.2,.4,1) both}.mascot.anim.m-rx-smug .rs-gleam{animation:m-twinkle 2.2s ease-out .9s infinite}@keyframes m-rx-smugtilt{0%{transform:rotate(0) translateY(0)}to{transform:rotate(3deg) translateY(-2px)}}.mascot .rtr-maw{fill:var(--m-mouth)}.mascot .rtr-teeth{fill:#fdfdff}.mascot .rtr-throat{fill:#7d1b2a}.mascot .rtr-uvula{fill:#b03a52}.mascot .rtr-jaw{transform-box:fill-box;transform-origin:50% 0}.mascot .rtr-ray{fill:none;stroke:#e0b15f;stroke-width:4;stroke-linecap:round;opacity:.85;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-triumph .rtr-jaw{animation:m-rx-jawdrop .55s cubic-bezier(.2,1.4,.4,1) both}.mascot.anim.m-rx-triumph .rtr-ray{animation:m-rx-warburst 1s ease-out infinite}.mascot .rzn-aura{fill:none;stroke:#ffd23f;stroke-width:5;opacity:.22;transform-box:fill-box;transform-origin:center}.mascot .rzn-lid{fill:var(--m-face)}.mascot .rzn-shut{fill:none;stroke:var(--m-eye);stroke-width:5.5;stroke-linecap:round}.mascot .rzn-mouth{fill:none;stroke:var(--m-mouth);stroke-width:4;stroke-linecap:round}.mascot .rzn-spark{fill:var(--m-gold);opacity:.85;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-zen .face{animation:m-rx-breathe 4s ease-in-out infinite}.mascot.anim.m-rx-zen .rzn-aura{animation:m-rx-aura 4s ease-in-out infinite}.mascot.anim.m-rx-zen .rzn-spark{animation:m-twinkle 2.8s ease-out var(--rd, 0s) infinite}@keyframes m-rx-breathe{0%,to{transform:scale(1) translateY(0)}50%{transform:scale(1.025) translateY(-2px)}}@keyframes m-rx-aura{0%,to{opacity:.12;transform:scale(.98)}50%{opacity:.3;transform:scale(1.02)}}.mascot .rgt-lid{fill:var(--m-face)}.mascot .rgt-band{fill:#fdfdff;stroke:var(--m-mouth);stroke-width:3}.mascot .rgt-seam{fill:none;stroke:var(--m-mouth);stroke-width:2;opacity:.55}.mascot .rgt-tooth{fill:none;stroke:var(--m-mouth);stroke-width:1.8;opacity:.55}.mascot .rgt-clench{transform-box:fill-box;transform-origin:center}.mascot.m-rx-grit .m-brow{opacity:1}.mascot.anim.m-rx-grit .rgt-clench{animation:m-rx-clench .45s cubic-bezier(.2,1.4,.4,1) both}@keyframes m-rx-clench{0%{transform:scaleY(1.3)}to{transform:scaleY(1)}}.mascot .raw-maw{fill:var(--m-mouth)}.mascot .raw-teeth{fill:#fdfdff}.mascot .raw-throat{fill:#7d1b2a}.mascot .raw-jaw{transform-box:fill-box;transform-origin:50% 0}.mascot .raw-star{fill:#fdfdff;transform-box:fill-box;transform-origin:center}.mascot .raw-tw{fill:#fff1c2;opacity:.9;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-awe .raw-jaw{animation:m-rx-jawdrop .55s cubic-bezier(.2,1.4,.4,1) both}.mascot.anim.m-rx-awe .raw-star{animation:m-rx-pupil 1.8s ease-in-out infinite}.mascot.anim.m-rx-awe .raw-tw{animation:m-twinkle 2s ease-out var(--rd, 0s) infinite}.mascot .rck-lid{fill:var(--m-face)}.mascot .rck-shut{fill:none;stroke:var(--m-eye);stroke-width:6;stroke-linecap:round}.mascot .rck-tick{fill:none;stroke:var(--m-eye);stroke-width:4;stroke-linecap:round}.mascot .rck-smile{fill:none;stroke:var(--m-mouth);stroke-width:5;stroke-linecap:round}.mascot .rck-tng{fill:#ff8fb0;stroke:#d8567e;stroke-width:1.6;stroke-linejoin:round}.mascot .rck-tline{fill:none;stroke:#d8567e;stroke-width:2;stroke-linecap:round;opacity:.8}.mascot .rck-tongue{transform-box:fill-box;transform-origin:50% 0}.mascot.anim.m-rx-cheeky .rck-tongue{animation:m-rx-waggle 1.1s ease-in-out infinite}@keyframes m-rx-waggle{0%,to{transform:rotate(-5deg)}50%{transform:rotate(6deg)}}.mascot .rj-maw{fill:var(--m-mouth)}.mascot .rj-teeth{fill:#fdfdff}.mascot .rj-pool{fill:var(--m-tear);opacity:.75}.mascot .rj-drop{fill:var(--m-tear);opacity:.9;transform-box:fill-box;transform-origin:center}.mascot .rj-drop.sm{opacity:.75}.mascot.anim.m-rx-joytears .face{animation:m-rx-giggle .55s ease-in-out infinite}.mascot.anim.m-rx-joytears .rj-drop{animation:m-rx-melt-drip 1.8s ease-in var(--rd, 0s) infinite}@keyframes m-rx-giggle{0%,to{transform:rotate(-1.8deg)}50%{transform:rotate(1.8deg)}}.mascot .rsn-arch{fill:none;stroke:var(--m-eye);stroke-width:6;stroke-linecap:round;transform-box:fill-box;transform-origin:center}.mascot .rsn-flat{fill:none;stroke:var(--m-eye);stroke-width:5;stroke-linecap:round}.mascot .rsn-lid{fill:var(--m-face)}.mascot .rsn-lip{fill:none;stroke:var(--m-mouth);stroke-width:5;stroke-linecap:round}.mascot .rsn-tooth{fill:#fdfdff;stroke:#d8dce8;stroke-width:1;stroke-linejoin:round}.mascot .rsn-crease{fill:none;stroke:var(--m-mouth);stroke-width:3;stroke-linecap:round;opacity:.7}.mascot.anim.m-rx-sneer .rsn-arch{animation:m-rx-browlift 2s ease-in-out infinite}@keyframes m-rx-browlift{0%,to{transform:translateY(0)}50%{transform:translateY(-2.5px)}}.mascot .rwh-lid{fill:var(--m-face)}.mascot .rwh-lidline{fill:none;stroke:var(--m-eye);stroke-width:5;stroke-linecap:round}.mascot .rwh-o{fill:none;stroke:var(--m-mouth);stroke-width:4}.mascot .rwh-pucker{fill:none;stroke:var(--m-mouth);stroke-width:2.2;stroke-linecap:round;opacity:.7}.mascot .rwh-note{transform-box:fill-box;transform-origin:center}.mascot .rwh-stem{fill:none;stroke:#8a93c9;stroke-width:3;stroke-linecap:round}.mascot .rwh-head{fill:#8a93c9}.mascot.anim.m-rx-whistle .rwh-note{animation:m-rx-float 2.8s ease-in-out var(--rd, 0s) infinite}.mascot .rks-lid{fill:var(--m-face)}.mascot .rks-lash{fill:none;stroke:var(--m-eye);stroke-width:5.5;stroke-linecap:round}.mascot .rks-tick{fill:none;stroke:var(--m-eye);stroke-width:3.5;stroke-linecap:round}.mascot .rks-lip{fill:#ff7ba3;stroke:#d8567e;stroke-width:1.6;stroke-linejoin:round}.mascot .rks-seam{fill:none;stroke:#a83a5e;stroke-width:2;stroke-linecap:round}.mascot .rks-lips{transform-box:fill-box;transform-origin:center}.mascot .rks-heart{fill:#ff6fa5;opacity:.95;transform-box:fill-box;transform-origin:center}.mascot .rks-heart.sm{fill:#ff9ec7}.mascot.anim.m-rx-kiss .rks-lips{animation:m-rx-smooch 1.6s ease-in-out infinite}.mascot.anim.m-rx-kiss .rks-heart{animation:m-rx-float 2.4s ease-in-out var(--rd, 0s) infinite}@keyframes m-rx-smooch{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.mascot .ryn-lid{fill:var(--m-face)}.mascot .ryn-lidline{fill:none;stroke:var(--m-eye);stroke-width:5;stroke-linecap:round}.mascot .ryn-maw{fill:var(--m-mouth)}.mascot .ryn-tongue{fill:#e08aa6}.mascot .ryn-jaw{transform-box:fill-box;transform-origin:50% 0}.mascot .ryn-puff{fill:none;stroke:#96a1bd;stroke-width:2.6;stroke-linecap:round;opacity:.8;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-yawn .ryn-jaw{animation:m-rx-jawdrop 1.6s ease-in-out both}.mascot.anim.m-rx-yawn .ryn-puff{animation:m-rx-sigh 2.4s ease-out infinite}@keyframes m-rx-sigh{0%{opacity:0;transform:translate(0)}30%{opacity:.8}to{opacity:0;transform:translate(var(--dx, 10px))}}.mascot .rpo-lid{fill:var(--m-face)}.mascot .rpo-brow{fill:none;stroke:var(--m-eye);stroke-width:5;stroke-linecap:round}.mascot .rpo-upper,.mascot .rpo-lower{fill:#ef9ab5;stroke:#c25f83;stroke-width:1.6;stroke-linejoin:round}.mascot .rpo-seam{fill:none;stroke:#a34766;stroke-width:2;stroke-linecap:round}.mascot .rpo-huff{fill:none;stroke:#96a1bd;stroke-width:2.6;stroke-linecap:round;opacity:.8;transform-box:fill-box;transform-origin:center}.mascot.anim.m-rx-pout .face{animation:m-rx-turnaway .8s cubic-bezier(.2,1.2,.4,1) both}.mascot.anim.m-rx-pout .rpo-huff{animation:m-rx-sigh 2.6s ease-out infinite}@keyframes m-rx-turnaway{0%{transform:rotate(0) translate(0)}to{transform:rotate(4deg) translate(3px)}}.btn-primary,.btn-secondary{font-family:var(--font-display);cursor:pointer;border-radius:0;text-transform:uppercase;transition:border-color .13s ease,box-shadow .13s ease,color .13s ease;display:inline-flex;align-items:center;justify-content:center;gap:9px}.btn-primary{height:46px;padding:0 18px;border:1px solid var(--violet);background:var(--violet-grad);color:var(--violet-text);font-weight:600;font-size:13px;letter-spacing:.12em;box-shadow:var(--violet-glow);text-shadow:var(--violet-tshadow)}.btn-primary:hover{box-shadow:var(--violet-glow-hover)}.btn-secondary{height:42px;padding:0 16px;border:1px solid var(--border-btn);background:#ffffff03;color:var(--text-body);font-weight:500;font-size:13px;letter-spacing:.08em}.btn-secondary:hover{border-color:#6a6388;color:#e8eaf4;box-shadow:0 0 10px #ffffff0a}.friends-entry{border-color:var(--teal);color:var(--teal-text);box-shadow:var(--teal-glow)}.friends-entry:hover{border-color:var(--teal);color:var(--teal-text);box-shadow:0 0 12px #2fe0d080}.btn-primary:disabled,.btn-secondary:disabled{opacity:.5;cursor:default;box-shadow:none}.code-input{flex:1;height:48px;border-radius:0;background:#0c0916;border:1px solid var(--border-input);padding:0 15px;color:#d3d7e6;font-family:var(--font-mono);font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase}.code-input:focus{outline:none;border-color:#6a6388;box-shadow:0 0 0 2px #b0b4cd26}.code-input::placeholder{color:#46566e;letter-spacing:.18em}.mode-seg{display:flex;gap:4px;padding:4px;border-radius:0;background:#0c0916;border:1px solid var(--border-btn)}.seg-btn{flex:1;height:32px;padding:0 6px;border:0;border-radius:0;background:transparent;color:var(--muted);font-family:var(--font-display);font-weight:600;font-size:12px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:background .12s,color .12s}.seg-btn:hover{color:var(--text-body)}.seg-btn.active{background:#7c5cff38;color:var(--violet-text);box-shadow:inset 0 0 12px #7c5cff1f}.row{display:flex;gap:10px;align-items:center}.count-pill{font-family:var(--font-mono);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--teal-text);background:#2fe0d014;border:1px solid rgba(47,224,208,.3);padding:4px 10px;border-radius:0}.game-row{position:relative;display:flex;align-items:center;gap:13px;background:var(--panel-2);border:1px solid var(--border-card);border-radius:0;padding:14px 15px 14px 18px;cursor:pointer;text-align:left;font-family:var(--font-display);color:var(--text-strong);transition:border-color .13s ease,background .13s ease}.game-row:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:30px;background:var(--teal);box-shadow:var(--teal-glow)}.game-row:hover{border-color:#3a2f55;background:#140d2099}.game-row.arrived{animation:row-arrived 2.4s ease-out 1}@keyframes row-arrived{0%{border-color:var(--violet);background:#7c5cff2e;box-shadow:0 0 0 1px var(--violet),0 0 18px -2px #7c5cff99}70%{border-color:var(--violet);box-shadow:0 0 0 1px #7c5cff66}to{border-color:var(--border-card);background:var(--panel-2);box-shadow:none}}.count-pill.bump{animation:pill-bump .5s ease-out 1}@keyframes pill-bump{0%{transform:scale(1)}40%{transform:scale(1.28);background:#2fe0d033}to{transform:scale(1)}}.team-dot{flex:0 0 auto;width:8px;height:8px;border-radius:0}.team-dot.blue{background:var(--blue);box-shadow:0 0 8px #3d9effb3}.team-dot.red{background:var(--red);box-shadow:0 0 8px rgba(var(--red-rgb),.7)}.game-row .main{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.game-row .handle{font-weight:600;font-size:15px;color:var(--text-strong);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.game-row .subline{font-family:var(--font-mono);font-weight:500;font-size:12px;letter-spacing:.02em;color:var(--muted)}.turn-pill{flex:0 0 auto;font-family:var(--font-mono);font-weight:600;font-size:9px;letter-spacing:.14em;text-transform:uppercase;padding:5px 9px;border-radius:0;border:1px solid transparent}.turn-pill.your{color:var(--violet-soft);background:#7c5cff0f;border-color:#7c5cff73;text-shadow:0 0 5px rgba(124,92,255,.35)}.turn-pill.their{color:var(--muted-3);border-color:var(--border-input)}.chevron{flex:0 0 auto;color:#4a3f66;font-size:18px}.notify-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.notify-row .btn-secondary{height:42px}.notify-row input{flex:1;min-width:140px;height:42px;border-radius:0;background:#0c0916;border:1px solid var(--border-input);padding:0 14px;color:var(--text);font-family:var(--font-display);font-size:13px}.notify-row input::placeholder{color:var(--placeholder)}.amber-dot{width:7px;height:7px;border-radius:0;background:var(--amber);box-shadow:0 0 7px #e0b15fb3}.green-dot,.red-dot{width:7px;height:7px;border-radius:0}.green-dot{background:var(--teal);box-shadow:var(--teal-glow)}.red-dot{background:var(--red);box-shadow:0 0 7px rgba(var(--red-rgb),.6)}.notify-stack{display:flex;flex-direction:column;gap:8px}.sound-rows{display:flex;flex-direction:column;gap:0}.sound-row{margin-top:8px;display:flex;gap:8px;align-items:center}.sound-toggle{flex:1 1 auto;white-space:nowrap}.sound-vol{flex:1 1 60px;min-width:60px;accent-color:var(--teal)}.sound-track-label{flex:0 0 auto;font-family:var(--font-display);font-size:13px;color:var(--muted)}.sound-track-select{flex:1 1 auto;min-width:0;font-family:var(--font-display);font-size:13px;color:var(--text);background:#b0b4cd0f;border:1px solid rgba(176,180,205,.2);border-radius:8px;padding:6px 8px;cursor:pointer}.handoff-overlay.result:not([hidden]){position:fixed;inset:0;z-index:40;background:radial-gradient(60% 60% at 50% 52%,#08060f80,#06040bdb);padding:16px;display:flex;align-items:center;justify-content:center}.result-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:11px;width:min(452px,100%);max-height:calc(100dvh - 32px);overflow-y:auto;padding:clamp(26px,5vw,40px);text-align:center;background:linear-gradient(180deg,#140d20f5,#0b0812f5);border:1px solid rgba(124,92,255,.5);border-radius:0;box-shadow:0 0 40px #7c5cff2e,0 24px 60px -20px #000c,inset 0 0 40px #7c5cff0d;--nb-bracket: #9d7bff}.result-mascots{display:flex;flex-direction:column;align-items:center;gap:4px}.result-mascot-row{display:flex;align-items:flex-end;justify-content:center;gap:14px}.result-mascot-row .mascot.loser{opacity:.5;filter:grayscale(.5)}.result-winner{font-family:var(--font-display);font-weight:600;font-size:15px;letter-spacing:.02em;color:var(--text-dim)}.result-card.win .result-winner{color:var(--blue-text)}.victory-fx{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:3}.vfx-confetti{position:absolute;top:-6%;width:8px;height:12px;border-radius:1px;opacity:0;animation:vfx-fall 1.9s var(--delay, 0s) ease-in forwards}@keyframes vfx-fall{0%{opacity:0;transform:translateY(-24px) rotate(var(--rot, 0deg))}8%{opacity:1}to{opacity:0;transform:translateY(90vh) rotate(calc(var(--rot, 0deg) + 540deg))}}.vfx-spark{position:absolute;left:50%;top:30%;width:6px;height:6px;border-radius:50%;opacity:0;animation:vfx-burst 1.1s var(--delay, 0s) ease-out forwards}@keyframes vfx-burst{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}to{opacity:0;transform:translate(calc(-50% + var(--dx, 0px)),calc(-50% + var(--dy, 0px))) scale(.35)}}.vfx-rocket{position:absolute;width:3px;height:16px;border-radius:2px;opacity:0;box-shadow:0 0 8px currentcolor;animation:vfx-rise .45s var(--delay, 0s) cubic-bezier(.2,.6,.4,1) forwards}@keyframes vfx-rise{0%{opacity:1;transform:translate(-50%,48vh) scaleY(1.4)}80%{opacity:1}to{opacity:0;transform:translate(-50%) scaleY(.6)}}.vfx-flash{position:absolute;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,currentcolor,transparent 65%);opacity:0;animation:vfx-flash .4s var(--delay, 0s) ease-out forwards}@keyframes vfx-flash{0%{opacity:.9;transform:translate(-50%,-50%) scale(.2)}to{opacity:0;transform:translate(-50%,-50%) scale(1.6)}}.vfx-shell{position:absolute;width:9px;height:9px;border-radius:50%;opacity:0;box-shadow:0 0 8px currentcolor,0 0 20px currentcolor;animation:vfx-shell 1.1s var(--delay, 0s) cubic-bezier(.1,.7,.4,1) forwards}@keyframes vfx-shell{0%{opacity:0;transform:translate(-50%,-50%) scale(1.3)}6%{opacity:1}70%{opacity:.85}to{opacity:0;transform:translate(calc(-50% + var(--dx, 0px)),calc(-50% + var(--dy, 0px) + 34px)) scale(.55)}}.vfx-vstar{position:absolute;top:102%;width:18px;height:18px;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);filter:drop-shadow(0 0 6px rgba(255,210,63,.9));opacity:0;animation:vfx-star-rise 1.8s var(--delay, 0s) ease-out forwards}@keyframes vfx-star-rise{0%{opacity:0;transform:translateY(0) rotate(0) scale(var(--scale, 1))}10%{opacity:1}30%{opacity:.35}45%{opacity:1}62%{opacity:.4}78%{opacity:1}to{opacity:0;transform:translateY(var(--rise, -60vh)) rotate(40deg) scale(var(--scale, 1))}}.vfx-coin{position:absolute;top:102%;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff1c2,#ffd23f 45%,#d99a1f 80%);border:1px solid #a8720f;box-shadow:0 0 10px #ffd23f73;opacity:0;animation:vfx-coin-toss 1.7s var(--delay, 0s) forwards}@keyframes vfx-coin-toss{0%{opacity:1;transform:translate(0) rotateY(0);animation-timing-function:cubic-bezier(.2,.7,.4,1)}45%{opacity:1;transform:translate(calc(var(--dx, 0px) * .6),var(--up, -55vh)) rotateY(calc(var(--spin, 720deg) * .5));animation-timing-function:ease-in}to{opacity:0;transform:translate(var(--dx, 0px),12vh) rotateY(var(--spin, 720deg))}}.vfx-ring{position:absolute;left:50%;top:46%;width:58vmin;height:58vmin;border:3px solid;border-radius:50%;box-shadow:0 0 24px currentcolor,inset 0 0 18px currentcolor;opacity:0;animation:vfx-ring 1.2s var(--delay, 0s) cubic-bezier(.2,.8,.3,1) forwards}@keyframes vfx-ring{0%{opacity:1;transform:translate(-50%,-50%) scale(.06)}45%{opacity:.8}to{opacity:0;transform:translate(-50%,-50%) scale(1)}}.vfx-glyphcol{position:absolute;top:-34%;font-family:var(--font-mono);font-size:13px;line-height:1.15;writing-mode:vertical-rl;text-orientation:upright;text-shadow:0 0 8px currentcolor;opacity:0;animation:vfx-datafall var(--dur, 1.7s) var(--delay, 0s) linear forwards}.vfx-glyphlead{position:absolute;top:-8%;font-family:var(--font-mono);font-size:15px;color:#d8fff9;text-shadow:0 0 10px #2fe0d0,0 0 22px #2fe0d0;opacity:0;--peak: 1;animation:vfx-datafall var(--dur, 1.3s) var(--delay, 0s) linear forwards}@keyframes vfx-datafall{0%{opacity:0;transform:translateY(0)}10%{opacity:var(--peak, .5)}85%{opacity:var(--peak, .5)}to{opacity:0;transform:translateY(130vh)}}.vfx-flake{position:absolute;top:-4%;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,#bfe6ff 75%);box-shadow:0 0 8px #bfe6ffbf;opacity:0;animation:vfx-snow-drift 2.1s var(--delay, 0s) linear forwards}@keyframes vfx-snow-drift{0%{opacity:0;transform:translateY(-14px)}12%{opacity:.95}50%{transform:translate(calc(var(--sway, 0px) * -.35),calc(var(--fall, 70vh) * .5))}88%{opacity:.9}to{opacity:0;transform:translate(var(--sway, 0px),var(--fall, 70vh))}}.vfx-frost{position:absolute;width:14px;height:14px;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);background:#eaf7ff;filter:drop-shadow(0 0 6px rgba(191,230,255,.9));opacity:0;animation:vfx-frost-tw 1.4s var(--delay, 0s) ease-in-out forwards}@keyframes vfx-frost-tw{0%{opacity:0;transform:scale(.2) rotate(0)}45%{opacity:.95;transform:scale(1) rotate(45deg)}to{opacity:0;transform:scale(.35) rotate(90deg)}}.vfx-emberglow{position:absolute;left:0;right:0;bottom:0;height:24%;background:linear-gradient(to top,rgba(255,122,26,.24),transparent);opacity:0;animation:vfx-hearth 2.4s ease-in-out forwards}@keyframes vfx-hearth{0%{opacity:0}25%{opacity:1}55%{opacity:.7}75%{opacity:.95}to{opacity:0}}.vfx-ember{position:absolute;top:102%;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ffe08a,#ff7a1a 70%);box-shadow:0 0 9px #ff7a1ad9;opacity:0;animation:vfx-ember-rise 1.8s var(--delay, 0s) ease-out forwards}@keyframes vfx-ember-rise{0%{opacity:0;transform:translate(0) scale(1)}8%{opacity:1}30%{opacity:.55}45%{opacity:1}65%{opacity:.6}80%{opacity:.95}to{opacity:0;transform:translate(var(--dx, 0px),var(--rise, -50vh)) scale(.4)}}.vfx-ash{position:absolute;top:102%;width:7px;height:7px;border-radius:2px;background:#8d8489;opacity:0;animation:vfx-ash-rise 1.8s var(--delay, 0s) ease-out forwards}@keyframes vfx-ash-rise{0%{opacity:0;transform:translate(0) rotate(0)}12%{opacity:.55}85%{opacity:.4}to{opacity:0;transform:translate(var(--dx, 0px),var(--rise, -30vh)) rotate(220deg)}}.vfx-vleaf{position:absolute;top:-6%;border-radius:0 65% 6%;opacity:0;animation:vfx-leaf-tumble 2s var(--delay, 0s) linear forwards}@keyframes vfx-leaf-tumble{0%{opacity:0;transform:translateY(-16px) rotate(var(--rot, 0deg))}10%{opacity:1}50%{transform:translate(calc(var(--sway, 0px) * -.4),calc(var(--fall, 70vh) * .5)) rotate(calc(var(--rot, 0deg) + 300deg))}88%{opacity:.9}to{opacity:0;transform:translate(var(--sway, 0px),var(--fall, 70vh)) rotate(calc(var(--rot, 0deg) + 600deg))}}.vfx-stardot{position:absolute;width:3px;height:3px;border-radius:50%;background:#e6e6ff;box-shadow:0 0 6px #b57cffcc;opacity:0;animation:vfx-stardot 1.8s var(--delay, 0s) ease-in-out forwards}@keyframes vfx-stardot{0%{opacity:0}20%{opacity:.85}45%{opacity:.25}70%{opacity:.8}to{opacity:0}}.vfx-meteor{position:absolute;width:130px;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,currentcolor 72%,#fff);box-shadow:0 0 10px currentcolor;opacity:0;animation:vfx-meteor .9s var(--delay, 0s) cubic-bezier(.25,.6,.4,1) forwards}@keyframes vfx-meteor{0%{opacity:0;transform:rotate(33deg) translate(-40px)}12%{opacity:1}to{opacity:0;transform:rotate(33deg) translate(75vmin)}}.vfx-starpop{position:absolute;width:15px;height:15px;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);background:#e6e6ff;filter:drop-shadow(0 0 6px rgba(181,124,255,.9));opacity:0;animation:vfx-starpop 1.1s var(--delay, 0s) ease-out forwards}@keyframes vfx-starpop{0%{opacity:0;transform:scale(.15) rotate(0)}35%{opacity:1;transform:scale(1.1) rotate(40deg)}to{opacity:0;transform:scale(.35) rotate(90deg)}}.vfx-toxglow{position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(to top,rgba(127,214,58,.3),transparent);opacity:0;animation:vfx-toxpulse 2.4s ease-in-out forwards}@keyframes vfx-toxpulse{0%{opacity:0}20%{opacity:1}45%{opacity:.55}68%{opacity:.95}to{opacity:0}}.vfx-bubble{position:absolute;top:102%;border-radius:50%;border:2px solid rgba(127,214,58,.9);background:radial-gradient(circle at 35% 30%,#cde84a80,#7fd63a1f 72%);box-shadow:0 0 10px #7fd63a80;opacity:0;animation:vfx-bubble-rise 1.9s var(--delay, 0s) ease-out forwards}@keyframes vfx-bubble-rise{0%{opacity:0;transform:translate(0) scale(.5)}10%{opacity:.9}55%{transform:translate(calc(var(--dx, 0px) * -.45),calc(var(--rise, -45vh) * .55)) scale(.9)}86%{opacity:.85}to{opacity:0;transform:translate(var(--dx, 0px),var(--rise, -45vh)) scale(1.4)}}.vfx-toxmote{position:absolute;width:5px;height:9px;border-radius:50% 50% 60% 60%/40% 40% 60% 60%;background:#7fd63a;box-shadow:0 0 7px #7fd63acc;opacity:0;animation:vfx-toxdrip 1.5s var(--delay, 0s) ease-in forwards}@keyframes vfx-toxdrip{0%{opacity:0;transform:translateY(-6px)}15%{opacity:.9}to{opacity:0;transform:translateY(26vh)}}.vfx-depthglow{position:absolute;left:0;right:0;bottom:0;height:30%;background:linear-gradient(to top,rgba(47,208,224,.22),transparent);opacity:0;animation:vfx-depth 2.4s ease-in-out forwards}@keyframes vfx-depth{0%{opacity:0}22%{opacity:1}55%{opacity:.6}78%{opacity:.9}to{opacity:0}}.vfx-abubble{position:absolute;top:102%;border-radius:50%;border:2px solid rgba(127,233,242,.9);background:radial-gradient(circle at 35% 30%,#eafffb8c,#2fd0e01a 72%);box-shadow:0 0 10px #2fd0e080;opacity:0;animation:vfx-abubble-rise 2s var(--delay, 0s) ease-out forwards}@keyframes vfx-abubble-rise{0%{opacity:0;transform:translate(0) scale(.55)}10%{opacity:.95}55%{transform:translate(calc(var(--dx, 0px) * -.5),calc(var(--rise, -45vh) * .55)) scale(.85)}88%{opacity:.85}to{opacity:0;transform:translate(var(--dx, 0px),var(--rise, -45vh)) scale(1.25)}}.vfx-caustic{position:absolute;width:42%;height:26px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(127,233,242,.3),transparent 70%);opacity:0;animation:vfx-caustic 1.9s var(--delay, 0s) ease-in-out forwards}@keyframes vfx-caustic{0%{opacity:0;transform:translate(0) scaleX(.7)}35%{opacity:.9}65%{opacity:.5}to{opacity:0;transform:translate(9%) scaleX(1.25)}}.vfx-gear{position:absolute;top:102%;filter:drop-shadow(0 0 6px rgba(192,138,62,.55));opacity:0;animation:vfx-gear-drift 2.2s var(--delay, 0s) ease-out forwards}.vfx-gear svg{display:block;animation:vfx-gearspin 2.6s linear infinite}.vfx-gear.rev svg{animation-direction:reverse;animation-duration:3.4s}@keyframes vfx-gear-drift{0%{opacity:0;transform:translate(0)}10%{opacity:1}85%{opacity:.9}to{opacity:0;transform:translate(var(--dx, 0px),var(--rise, -45vh))}}@keyframes vfx-gearspin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.vfx-steam{position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f0f4fad9,#c8d2e226 70%);opacity:0;animation:vfx-steam-vent 1.7s var(--delay, 0s) ease-out forwards}@keyframes vfx-steam-vent{0%{opacity:0;transform:translateY(6px) scale(.4)}22%{opacity:.85}to{opacity:0;transform:translateY(-16vh) scale(2)}}.vfx-cogspark{position:absolute;width:12px;height:12px;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);background:#ffd23f;filter:drop-shadow(0 0 6px rgba(255,210,63,.9));opacity:0;animation:vfx-frost-tw 1.2s var(--delay, 0s) ease-out forwards}.vfx-sandhaze{position:absolute;top:0;bottom:0;left:-40%;width:70%;background:linear-gradient(100deg,transparent,rgba(224,177,95,.2) 35%,rgba(224,177,95,.32) 55%,transparent);opacity:0;animation:vfx-sandgust 2.3s ease-in-out forwards}@keyframes vfx-sandgust{0%{opacity:0;transform:translate(0)}25%{opacity:1}75%{opacity:.8}to{opacity:0;transform:translate(240%)}}.vfx-sandstreak{position:absolute;left:-30%;height:3px;border-radius:2px;background:linear-gradient(90deg,transparent,#e0b15f 70%,#ffd88a);box-shadow:0 0 8px #e0b15f99;opacity:0;animation:vfx-sandblow var(--dur, .9s) var(--delay, 0s) cubic-bezier(.3,.5,.5,1) forwards}@keyframes vfx-sandblow{0%{opacity:0;transform:rotate(-7deg) translate(0)}12%{opacity:.9}to{opacity:0;transform:rotate(-7deg) translate(120vw)}}.vfx-sandgrain{position:absolute;left:-6%;border-radius:50% 40% 55% 45%;background:#d9a558;opacity:0;animation:vfx-grainblow var(--dur, 1.2s) var(--delay, 0s) linear forwards}@keyframes vfx-grainblow{0%{opacity:0;transform:translate(0) rotate(0)}10%{opacity:.85}55%{transform:translate(55vw,calc(var(--dy, 0px) * -.6)) rotate(160deg)}to{opacity:0;transform:translate(115vw,var(--dy, 0px)) rotate(320deg)}}.vfx-goldfleck{position:absolute;width:13px;height:13px;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);background:#ffd23f;filter:drop-shadow(0 0 7px rgba(255,210,63,.95));opacity:0;animation:vfx-frost-tw 1.3s var(--delay, 0s) ease-in-out forwards}.vfx-petal{position:absolute;left:-8%;border-radius:62% 38% 55% 45%/48% 62% 38% 52%;box-shadow:0 0 6px #ff9ecb80;opacity:0;animation:vfx-petalswirl var(--dur, 1.5s) var(--delay, 0s) linear forwards}@keyframes vfx-petalswirl{0%{opacity:0;transform:translate(0) rotate(var(--rot, 0deg))}10%{opacity:.95}35%{transform:translate(32vw,calc(var(--dy, 0px) * -.8)) rotate(calc(var(--rot, 0deg) + 140deg))}70%{transform:translate(72vw,calc(var(--dy, 0px) * .6)) rotate(calc(var(--rot, 0deg) + 300deg))}to{opacity:0;transform:translate(115vw,var(--dy, 0px)) rotate(calc(var(--rot, 0deg) + 430deg))}}.vfx-prismray{position:absolute;left:50%;top:34%;width:44vmin;height:4px;border-radius:2px;background:linear-gradient(90deg,currentcolor,transparent);box-shadow:0 0 9px currentcolor;transform-origin:left center;opacity:0;animation:vfx-prismray 1.5s var(--delay, 0s) ease-out forwards}@keyframes vfx-prismray{0%{opacity:0;transform:rotate(var(--ang, 0deg)) scaleX(.05)}22%{opacity:.9}70%{opacity:.55}to{opacity:0;transform:rotate(var(--ang, 0deg)) scaleX(1)}}.vfx-prismsweep{position:absolute;top:0;bottom:0;left:-55%;width:55%;background:linear-gradient(100deg,transparent,rgba(255,77,77,.14) 18%,rgba(255,210,63,.16) 34%,rgba(79,214,111,.16) 50%,rgba(61,158,255,.16) 66%,rgba(200,107,255,.14) 82%,transparent);opacity:0;animation:vfx-prismsweep 2.2s ease-in-out forwards}@keyframes vfx-prismsweep{0%{opacity:0;transform:translate(0)}20%{opacity:1}80%{opacity:.85}to{opacity:0;transform:translate(282%)}}.vfx-prismtw{position:absolute;width:13px;height:13px;clip-path:polygon(50% 0%,60% 40%,100% 50%,60% 60%,50% 100%,40% 60%,0% 50%,40% 40%);filter:drop-shadow(0 0 6px currentcolor);opacity:0;animation:vfx-frost-tw 1.3s var(--delay, 0s) ease-in-out forwards}.vfx-bloodmoon{position:absolute;right:8%;top:6%;width:34vmin;height:34vmin;border-radius:50%;background:radial-gradient(circle at center,rgba(201,47,66,.4),rgba(160,26,46,.18) 55%,transparent 72%);opacity:0;animation:vfx-moonrise 2.4s ease-in-out forwards}@keyframes vfx-moonrise{0%{opacity:0}25%{opacity:1}60%{opacity:.75}80%{opacity:.95}to{opacity:0}}.vfx-bat{position:absolute;left:-10%;filter:drop-shadow(0 0 4px rgba(26,16,24,.8));opacity:0;animation:vfx-batflit var(--dur, 1.5s) var(--delay, 0s) linear forwards}.vfx-bat svg{display:block;animation:vfx-batflap .22s ease-in-out infinite alternate}@keyframes vfx-batflit{0%{opacity:0;transform:translate(0)}8%{opacity:1}30%{transform:translate(34vw,var(--dy1, -30px))}55%{transform:translate(62vw,calc(var(--dy1, -30px) * -.6))}80%{transform:translate(92vw,var(--dy2, 24px))}to{opacity:0;transform:translate(120vw,calc(var(--dy2, 24px) * .4))}}@keyframes vfx-batflap{0%{transform:scaleY(1)}to{transform:scaleY(.45)}}.result-verdict{font-family:var(--font-head);font-size:clamp(40px,11vw,56px);font-weight:400;letter-spacing:.1em;line-height:.9;color:var(--text)}.result-card.win .result-verdict{color:var(--blue-text);text-shadow:0 0 14px rgba(61,158,255,.6),0 0 30px rgba(61,158,255,.3)}.result-card.lose{border-color:rgba(var(--red-rgb),.5);background:linear-gradient(180deg,#1c0d12f5,#0d080cf5);box-shadow:0 0 40px rgba(var(--red-rgb),.16),0 24px 60px -20px #000c,inset 0 0 40px rgba(var(--red-rgb),.05);--nb-bracket: var(--lose, #ff6b72)}.result-card.lose .result-verdict{color:var(--lose, #ff6b72);text-shadow:0 0 14px rgba(var(--red-rgb),.55),0 0 30px rgba(var(--red-rgb),.28)}:root[data-palette=cb] .result-card.lose{--lose: #ff9a48}.result-card.draw .result-verdict{color:var(--violet-soft);text-shadow:0 0 14px rgba(124,92,255,.5)}.invite-code{font-family:var(--font-head);font-size:30px;font-weight:400;letter-spacing:.28em;padding:3px 12px 3px 20px;margin:2px 0;color:var(--teal-text);background:#2fe0d00f;border:1px solid rgba(47,224,208,.4);text-shadow:var(--teal-glow)}.invite-link{width:100%;max-width:520px;padding:8px 10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--violet-text);background:#7c5cff0d;border:1px solid var(--violet);border-radius:0;box-shadow:var(--violet-glow)}.invite-link:focus{outline:none;box-shadow:var(--violet-glow-hover)}.nb-corner{position:absolute;width:15px;height:15px;pointer-events:none;box-shadow:0 0 8px #7c5cff80}.result-card.lose .nb-corner{box-shadow:0 0 8px rgba(var(--red-rgb),.5)}.nb-corner.tl{left:-1px;top:-1px;border-left:2px solid var(--nb-bracket);border-top:2px solid var(--nb-bracket)}.nb-corner.tr{right:-1px;top:-1px;border-right:2px solid var(--nb-bracket);border-top:2px solid var(--nb-bracket)}.nb-corner.bl{left:-1px;bottom:-1px;border-left:2px solid var(--nb-bracket);border-bottom:2px solid var(--nb-bracket)}.nb-corner.br{right:-1px;bottom:-1px;border-right:2px solid var(--nb-bracket);border-bottom:2px solid var(--nb-bracket)}.result-reason{color:var(--text);font-size:clamp(13px,3.6vw,15px)}.result-stats{color:var(--muted-2, #8a94a6);font-family:var(--font-mono);font-size:clamp(10px,3vw,12px);word-break:break-word}.daily-challenge .challenge-btn{width:100%}.challenge-info{display:flex;flex-direction:column;gap:8px;margin-top:8px}.challenge-line{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:12px;letter-spacing:.03em;color:var(--muted)}.challenge-line span:last-child{color:var(--teal-text);font-weight:600;font-variant-numeric:tabular-nums}.streak-card{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid rgba(176,180,205,.14);border-radius:10px;background:#b0b4cd08}.streak-head{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.streak-title{display:flex;align-items:baseline;gap:7px}.streak-num{font-family:var(--font-mono);font-size:26px;font-weight:700;line-height:1;color:var(--teal);text-shadow:var(--teal-glow);font-variant-numeric:tabular-nums}.streak-word{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-body)}.streak-best{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:var(--muted)}.streak-days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}.streak-day{display:flex;flex-direction:column;align-items:center;gap:4px}.streak-dow{font-family:var(--font-mono);font-size:9px;letter-spacing:.06em;color:var(--muted-2)}.streak-box{width:100%;height:7px;border-radius:3px}.streak-day.kept .streak-box{background:var(--teal)}.streak-day.missed .streak-box{background:#e0b15f52}.streak-day.today .streak-box{background:transparent;border:1px dashed rgba(176,180,205,.3)}.streak-day.today .streak-dow{color:var(--teal-text)}.streak-day.clickable{cursor:pointer}.streak-day.clickable:hover .streak-box{filter:brightness(1.25)}.streak-foot{display:flex;justify-content:space-between;gap:10px;font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;color:var(--muted)}.streak-foot b{color:var(--text-body);font-weight:700;font-variant-numeric:tabular-nums}.streak-left{color:var(--amber);font-weight:700;text-transform:uppercase}.streak-kept{color:var(--teal-text);font-weight:700}.streak-nudge{font-family:var(--font-display);font-size:11px;color:var(--muted)}.challenge-total{font-family:var(--font-head);font-size:clamp(46px,13vw,64px);font-weight:400;letter-spacing:.04em;line-height:.95;color:var(--blue-text);text-shadow:0 0 12px rgba(61,158,255,.45);font-variant-numeric:tabular-nums}.challenge-streak-card{font-family:var(--font-display);font-size:15px;font-weight:700;letter-spacing:.02em;color:var(--amber);text-shadow:0 0 10px rgba(224,177,95,.4)}.challenge-breakdown{display:flex;flex-direction:column;gap:4px;width:min(280px,78vw);margin:2px auto 0}.cb-row{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--text-body)}.cb-row{font-family:var(--font-mono)}.cb-row .cb-val{font-variant-numeric:tabular-nums;font-weight:600;color:var(--teal-text)}.cb-row.neg .cb-val{color:var(--red-text)}.tier-dot{display:inline-block;width:8px;height:8px;border-radius:0;vertical-align:middle;box-shadow:0 0 0 1px #00000059 inset,0 0 7px #ffffff2e}.rank-row{display:flex;align-items:center;gap:7px;font-size:12px}.rank-rating{font-family:var(--font-mono);font-weight:600;color:var(--text-body, #cdd5e1)}.rank-record{font-family:var(--font-mono);color:var(--muted, #8a94a6)}.result-rating{display:inline-flex;align-items:center;gap:7px;font-family:var(--font-mono);font-weight:600;font-size:clamp(12px,3.4vw,15px);color:var(--text-body, #cdd5e1)}.result-rating.positive{color:#5fd07e}.result-rating.negative{color:var(--red-text, #f0a39f)}.result-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:10px;width:100%}@media (max-width: 420px){.result-actions{flex-direction:column}.result-actions button{width:100%}}.handoff-overlay.result{animation:guide-fade .24s ease-out both}@keyframes result-card-in{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes result-row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes result-verdict-win{0%{opacity:0;transform:scale(.7);text-shadow:0 0 0 rgba(79,147,221,0)}55%{opacity:1;transform:scale(1.1);text-shadow:0 0 42px rgba(79,147,221,.85)}to{transform:scale(1);text-shadow:0 0 26px rgba(79,147,221,.5)}}@keyframes result-verdict-in{0%{opacity:0;transform:scale(.78)}60%{opacity:1;transform:scale(1.06)}to{transform:scale(1)}}@keyframes result-verdict-soft{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}.result-anim{animation:result-card-in .4s cubic-bezier(.2,.8,.2,1) both}.result-anim .result-reason,.result-anim .result-rating,.result-anim .result-stats,.result-anim .result-actions{animation:result-row-in .42s ease-out both}.result-anim .result-reason{animation-delay:.1s}.result-anim .result-rating{animation-delay:.17s}.result-anim .result-stats{animation-delay:.24s}.result-anim .result-actions{animation-delay:.31s}.result-anim.win .result-verdict{animation:result-verdict-win .55s cubic-bezier(.2,.9,.2,1) .04s both}.result-anim.draw .result-verdict{animation:result-verdict-in .5s cubic-bezier(.2,.9,.2,1) .04s both}.result-anim.lose .result-verdict,.result-anim.over .result-verdict{animation:result-verdict-soft .45s ease-out .04s both}.tier-chip{position:relative;display:inline-flex;align-items:center;gap:5px}.tier-chip.tier-up{animation:pill-bump .5s ease-out}.tier-ring{position:absolute;left:4px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:999px;border:2px solid currentColor;pointer-events:none;animation:tier-ring-burst .6s ease-out forwards}@keyframes tier-ring-burst{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(3.6)}}.tier-spark{position:absolute;left:9px;top:50%;width:4px;height:4px;margin:-2px 0 0 -2px;border-radius:999px;background:currentColor;pointer-events:none;animation:tier-spark-fly .6s ease-out forwards}@keyframes tier-spark-fly{0%{opacity:1;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--dx, 0),var(--dy, 0)) scale(.3)}}.result-promo{font-family:var(--font-mono);font-size:clamp(11px,3vw,13px);font-weight:700;letter-spacing:.04em;opacity:0}.result-promo.show{animation:guide-rise .42s ease-out both}.coach-banner{flex:0 0 auto;box-sizing:border-box;width:calc(100% - 28px);max-width:720px;margin:12px auto 0;background:linear-gradient(180deg,#140d20f2,#0b0812f2);border:1px solid rgba(124,92,255,.4);border-radius:0;padding:12px 16px;box-shadow:0 0 24px #7c5cff1f,0 6px 22px #00000080;font-family:var(--font-display)}.coach-banner[hidden]{display:none}.coach-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:4px}.coach-text{margin:0 0 10px;color:var(--text);font-size:14px;line-height:1.45}.coach-actions{display:flex;gap:8px}.coach-progress{display:flex;align-items:center;gap:6px;margin-bottom:8px}.coach-dot{width:7px;height:7px;border-radius:0;background:#3a3050;transition:background .2s}.coach-dot.done{background:var(--blue);opacity:.55}.coach-dot.current{background:var(--blue);box-shadow:0 0 7px #4f93ddd9}.coach-cap{margin-left:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted, #8a94a6)}.tutorial-pulse{animation:tut-pulse .9s ease-out 3}@keyframes tut-pulse{0%,to{box-shadow:0 0 #e0b15f00}45%{box-shadow:0 0 0 4px #e0b15f8c}}.guide-backdrop{position:fixed;inset:0;z-index:50;background:#06080cc7;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:28px 16px;animation:guide-fade .18s ease-out}.guide-modal{position:relative;width:100%;max-width:760px;background:linear-gradient(180deg,#140d20f7,#0b0812f7);border:1px solid rgba(124,92,255,.5);border-radius:0;padding:22px 24px 26px;box-shadow:0 0 40px #7c5cff29,0 24px 60px -20px #000c;animation:guide-rise .22s ease-out;--nb-bracket: #9d7bff}@keyframes guide-fade{0%{opacity:0}to{opacity:1}}@keyframes guide-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.guide-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.guide-title{font-family:var(--font-head);font-size:26px;font-weight:400;letter-spacing:.06em;color:#fff;text-shadow:0 0 8px rgba(124,92,255,.3)}.guide-close{background:transparent;border:1px solid var(--border-btn);border-radius:0;color:var(--text-body);width:34px;height:34px;cursor:pointer}.guide-close:hover{border-color:#6a6388;color:#e8eaf4}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.guide-card{background:var(--panel);border:1px solid var(--border-card);border-radius:0;padding:13px 15px}.guide-card-h{font-family:var(--font-mono);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--teal-text);margin-bottom:5px}.guide-card-p{margin:0;font-size:13px;line-height:1.45;color:var(--text-soft, #cdd5e1)}.guide-demo{margin-top:10px;background:transparent;border:1px solid var(--blue);color:var(--blue-text, #7fc0ff);border-radius:0;padding:6px 12px;font-family:var(--font-display);font-size:12px;font-weight:600;cursor:pointer}.guide-demo:hover{background:#4f93dd29}@media (max-width: 620px){.guide-grid{grid-template-columns:1fr}}.onboard-prompt{background:var(--violet-grad);border:1px solid var(--violet);border-radius:0;box-shadow:var(--violet-glow);padding:12px 14px;display:flex;flex-direction:column;gap:8px}.onboard-text{color:var(--text);font-size:13px;font-family:var(--font-display)}.onboard-actions{display:flex;gap:8px}.notify-label{flex:1;min-width:0;display:flex;align-items:center;gap:8px;color:var(--text);font-family:var(--font-display);font-size:13px}.offline-ai-row{display:flex;gap:6px}.offline-ai-row button{flex:1}.status-chip{font-family:var(--font-mono);font-weight:600;font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:6px 12px;border-radius:0;border:1px solid rgba(47,224,208,.4);background:transparent;color:var(--teal-text);box-shadow:0 0 8px #2fe0d01f;display:inline-flex;align-items:center;gap:7px}.turn-abbr{display:none}.status-chip.turn{display:inline-block}.status-chip.opp{gap:5px}.status-chip.opp .vs{color:var(--muted);font-weight:400}.mode-pill{letter-spacing:.12em;flex-direction:column;align-items:center;gap:3px;padding-top:4px;padding-bottom:4px;line-height:1}.mode-pill.mode-domination{color:var(--violet-soft);border-color:#7c5cff66;box-shadow:0 0 8px #7c5cff1f}.mode-details{display:inline-flex;align-items:center;gap:6px}.mode-details.mode-elim{display:flex;justify-content:space-between;width:100%;gap:14px}.elim-team{display:inline-flex;gap:4px}.elim-box{width:8px;height:8px;border-radius:0;box-shadow:0 0 0 1px #0006 inset}.elim-box.alive-a{background:var(--blue);box-shadow:0 0 6px #3d9eff80}.elim-box.alive-b{background:var(--red);box-shadow:0 0 6px rgba(var(--red-rgb),.5)}.elim-box.dead{background:var(--muted-3);opacity:.45}.cp-score{font-weight:700;margin:0 1px}.cp-score .side-a,.side-a{color:var(--blue-text)}.cp-score .side-b,.side-b{color:var(--red-text)}.cp-pip{width:7px;height:7px;border-radius:0;display:inline-block;box-shadow:0 0 0 1px #0006 inset}.cp-pip.cp-neutral{background:#c8ced8}.cp-pip.cp-A{background:var(--blue);box-shadow:0 0 6px #3d9eff80}.cp-pip.cp-B{background:var(--red);box-shadow:0 0 6px rgba(var(--red-rgb),.5)}.mode-intro{position:absolute;inset:0;z-index:35;display:flex;align-items:center;justify-content:center;pointer-events:none;animation:mode-intro-in .32s ease-out both}.mode-intro.out{animation:mode-intro-out .5s ease-in forwards}.mode-intro-card{pointer-events:auto;cursor:pointer;text-align:center;padding:24px 38px;border-radius:0;background:linear-gradient(180deg,#140d20e6,#0b0812e6);border:1px solid rgba(124,92,255,.5);box-shadow:0 0 40px #7c5cff26,0 14px 50px #0000008c}.mode-intro-name{font-family:var(--font-head);font-weight:400;font-size:clamp(34px,7vw,52px);letter-spacing:.08em;color:#fff;text-shadow:0 0 12px rgba(124,92,255,.4)}.mode-intro-blurb{margin-top:6px;font-family:var(--font-mono);font-size:clamp(12px,3vw,14px);letter-spacing:.02em;color:var(--muted)}@keyframes mode-intro-in{0%{opacity:0;transform:scale(.94) translateY(6px)}to{opacity:1;transform:none}}@keyframes mode-intro-out{to{opacity:0;transform:scale(1.02)}}.status-chip.online{color:var(--teal-text);border-color:#2fe0d066}.status-chip.online:before{content:"";width:6px;height:6px;border-radius:0;background:var(--teal);box-shadow:var(--teal-glow)}.status-chip .side-a{color:var(--blue-text);font-weight:600}.status-chip .side-b{color:var(--red-text);font-weight:600}.header-back{height:34px;padding:0 12px;border-radius:0;border:1px solid var(--border-btn);background:#ffffff03;color:var(--text-body);font-family:var(--font-display);font-size:13px;letter-spacing:.04em;cursor:pointer}.header-back:hover{border-color:#6a6388;color:#e8eaf4}.header-controls{display:contents}.header-menu{position:relative}.header-menu[hidden]{display:none}.header-menu-btn{height:34px;width:34px;border-radius:0;border:1px solid var(--border-btn);background:#ffffff03;color:var(--text-body);font-size:18px;line-height:1;cursor:pointer}.header-menu-btn:hover{border-color:#6a6388;color:#e8eaf4}.header-menu-pop{position:absolute;top:40px;right:0;z-index:30;min-width:150px;background:linear-gradient(180deg,#140d20f7,#0b0812f7);border:1px solid rgba(124,92,255,.4);border-radius:0;padding:5px;box-shadow:0 0 24px #7c5cff1f,0 10px 30px #0000008c}.header-menu-pop[hidden]{display:none}.header-menu-item{display:block;width:100%;text-align:left;background:transparent;border:none;border-radius:0;padding:9px 11px;color:var(--red-text, #e0645f);font-family:var(--font-display);font-size:13px;cursor:pointer}.header-menu-item:hover{background:#1a2230}.confirm-backdrop{position:fixed;inset:0;z-index:60;background:radial-gradient(60% 60% at 50% 50%,#08060f8c,#06040bd9);display:flex;align-items:center;justify-content:center;padding:18px;animation:guide-fade .16s ease-out}.confirm-card{position:relative;width:min(380px,100%);background:linear-gradient(180deg,#140d20f7,#0b0812f7);border:1px solid rgba(124,92,255,.5);border-radius:0;padding:22px 24px;box-shadow:0 0 40px #7c5cff29,0 24px 60px -20px #000c;animation:guide-rise .2s ease-out;--nb-bracket: #9d7bff}.confirm-msg{margin:0 0 16px;color:var(--text);font-size:15px;line-height:1.45}.confirm-actions{display:flex;gap:8px;justify-content:flex-end}.dialog-title{font-family:var(--font-head);margin:0 0 16px;font-size:24px;font-weight:400;letter-spacing:.06em;color:#fff;text-shadow:0 0 8px rgba(124,92,255,.3)}.dialog-label{font-family:var(--font-mono);margin:0 0 8px;font-size:10px;font-weight:600;letter-spacing:.26em;text-transform:uppercase;color:var(--muted)}.create-card .mode-seg{margin-bottom:10px}.dialog-hint{margin:0 0 18px;min-height:2.6em;font-size:13px;line-height:1.4;color:var(--text-body)}@media (orientation: landscape) and (max-height: 540px){.view--match .unit-bar,.view--match .toolbar,.view--match #timeline{margin-top:0}.view--match #commitBar{margin-top:auto}.view--match{position:relative;display:grid;grid-template-columns:150px 1fr 150px;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"head  map       rail" "units map       rail" "units timeline  rail";gap:10px;padding:10px 10px calc(14px + env(safe-area-inset-bottom,0px));height:100vh;height:100dvh;overflow:hidden}.match-header{grid-area:head;height:auto;border-bottom:none;padding:0;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;align-self:start;gap:6px}.match-header .brand{display:none}.match-header .chips{flex:1 1 auto;min-width:0;flex-wrap:wrap;gap:5px}.turn .turn-full{display:none}.turn .turn-abbr{display:inline}.header-controls{display:flex;gap:6px;position:absolute;top:10px;right:10px;z-index:5}.match-header .header-back{width:34px;padding:0;font-size:0;display:inline-flex;align-items:center;justify-content:center}.match-header .header-back:before{content:"‹";font-size:24px;line-height:1}.view--match #stage{grid-area:map;margin:0;width:auto;align-self:stretch;justify-self:stretch;display:flex;align-items:center;justify-content:center}.unit-bar{grid-area:units;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:5px;overflow-y:auto}.unit-bar button{width:100%;text-align:left}.unit-divider{display:none}.bar-label{align-self:stretch}.bar-label:after{display:block}.unit-bar button,.toolbar button{font-size:11px;padding:5px 8px}#rail{display:flex;grid-area:rail;flex-direction:column;gap:8px;min-height:0;overflow:hidden;padding-top:44px}.toolbar{flex:0 1 auto;min-height:0;flex-direction:column;flex-wrap:nowrap;align-items:stretch;justify-content:flex-start;gap:6px;overflow-y:auto}.toolbar button,.toolbar #mapPicker{width:100%}#commitBar{flex:0 0 auto;align-self:stretch}#commitBar button{width:100%}#timeline{grid-area:timeline;flex-wrap:nowrap;gap:7px;align-self:center;min-width:0}#timeline #scrubber{flex:1 1 auto;min-width:0;width:auto;touch-action:none}#timeline #turnStrip{flex:0 1 auto;overflow-x:auto;flex-wrap:nowrap}#status{flex:1 1 0;align-self:stretch;margin:0;padding:8px 9px;min-height:40px;overflow-y:auto;text-align:left;white-space:normal;font-size:11px;line-height:1.4;color:var(--muted);background:#11151f;border:1px solid var(--border-card, #1f2735);border-radius:9px}#debug{display:none}.coach-banner{grid-area:map;align-self:start;justify-self:stretch;width:auto;max-width:none;margin:0;padding:7px 11px}.coach-banner .coach-text{font-size:12px;margin-bottom:6px}}@media (orientation: landscape) and (max-height: 540px) and (display-mode: fullscreen),(orientation: landscape) and (max-height: 540px) and (display-mode: standalone){.view--match{padding-bottom:max(32px,calc(14px + env(safe-area-inset-bottom,0px)))}}@media (orientation: portrait) and (max-width: 760px){.match-header{height:auto;min-height:46px;flex-wrap:nowrap;align-items:flex-start;gap:8px;padding:8px 12px}.match-header .brand{display:none}.match-header .chips{flex:1 1 auto;min-width:0;flex-wrap:wrap;gap:5px}.header-controls{display:flex;gap:6px;flex:0 0 auto;align-self:flex-start}.match-header .header-back{flex:0 0 auto;width:34px;box-sizing:border-box;padding:0;font-size:0;display:inline-flex;align-items:center;justify-content:center}.match-header .header-back:before{content:"‹";font-size:24px;line-height:1}.unit-bar,.toolbar{justify-content:flex-start}.bar-label{flex-basis:100%}.bar-label:after{display:block}}@media (max-width: 760px){.view--lobby{display:flex;flex-direction:column;gap:35px;padding:44px 18px 40px}.rail{display:contents}.rail .brand{order:0}.rail-section.play-online{order:1}.rail-section.play-offline{order:2}.browser{order:3;height:auto;min-height:auto;overflow:visible;padding:0;border:none}.rail-section.learn{order:4}.account-section{order:5}.rail-section.settings{order:6}.rail-spacer{display:none}.game-list{flex:none;overflow:visible}.coach-banner{padding:10px 13px}.coach-banner .coach-text{font-size:13px;line-height:1.35;margin-bottom:8px}.coach-banner .coach-actions button{padding:7px 12px}}.view--admin{height:100vh;height:100dvh;overflow-y:auto;background-color:var(--bg)}.admin-wrap{max-width:860px;margin:0 auto;padding:24px 18px 48px;display:flex;flex-direction:column;gap:14px}.admin-login{max-width:360px;margin:14vh auto 0;display:flex;flex-direction:column;gap:12px;padding:26px;background:var(--card-grad);border:1px solid var(--border-card);border-radius:14px}.admin-sub{color:var(--muted);font-size:13px}.admin-error{color:var(--red-text);font-size:13px}.admin-input{background:var(--panel-2);border:1px solid var(--border-input);border-radius:9px;color:var(--text);padding:10px 12px;font-size:14px;font-family:var(--font-mono)}.admin-loading{color:var(--muted);text-align:center;padding:18vh 0}.admin-head{display:flex;align-items:center;justify-content:space-between}.admin-head-actions{display:flex;gap:8px}.admin-title{font-family:var(--font-display);font-size:22px;font-weight:700;color:var(--text-strong)}.admin-range{display:inline-flex;gap:2px;padding:3px;background:var(--panel-2);border:1px solid var(--border-frame);border-radius:10px;align-self:flex-start}.admin-range button{font-family:var(--font-mono);font-size:12px;color:var(--muted);background:transparent;border:none;border-radius:7px;padding:5px 12px;cursor:pointer}.admin-range button:hover{color:var(--text-body)}.admin-range button.active{background:var(--blue-grad);color:#fff}.admin-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.admin-card{background:var(--card-grad);border:1px solid var(--border-card);border-radius:12px;padding:12px 14px}.admin-card-num{font-family:var(--font-mono);font-size:22px;font-weight:600;color:var(--text)}.admin-card-label{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin-top:3px}.admin-note{font-size:12px;color:var(--muted);font-family:var(--font-mono)}.admin-section-label{font-family:var(--font-mono);font-size:11px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--muted-2);margin-top:10px;padding-bottom:4px;border-bottom:1px solid var(--border-frame)}.admin-fine{font-size:11px;color:var(--muted-2);padding:6px 2px}.admin-bars{display:flex;flex-direction:column;gap:4px}.admin-bar-row{display:flex;align-items:center;gap:8px;font-family:var(--font-mono);font-size:11px}.admin-bar-day{width:42px;color:var(--muted)}.admin-bar-track{flex:1;height:10px;background:var(--panel-2);border-radius:5px;overflow:hidden}.admin-bar-fill{height:100%;background:var(--blue);border-radius:5px}.admin-bar-val{width:28px;text-align:right;color:var(--text-body)}.admin-table{display:flex;flex-direction:column}.admin-tr{display:flex;align-items:center;gap:8px;padding:7px 8px;border-bottom:1px solid var(--border-frame);font-size:13px;color:var(--text-body)}.admin-th{color:var(--muted-2);font-size:11px;text-transform:uppercase;letter-spacing:.06em}.admin-tr .c-name{flex:1}.admin-tr .c-id{flex:1;font-family:var(--font-mono)}.admin-tr .c-num{width:72px;text-align:right;font-family:var(--font-mono)}.admin-matches{display:flex;flex-direction:column;gap:6px}.admin-match-row{display:flex;align-items:center;gap:10px;width:100%;text-align:left;background:var(--panel);border:1px solid var(--border-frame);border-radius:10px;padding:9px 12px;cursor:pointer;color:var(--text-body)}.admin-match-row:hover{border-color:var(--border-btn);background:var(--panel-2)}.admin-match-main{flex:1;min-width:0}.admin-match-title{font-family:var(--font-mono);font-size:13px;color:var(--text)}.admin-tag{margin-left:7px;padding:1px 6px;border-radius:6px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;background:#e0b15f29;color:var(--blue-text, #9fc6ff);vertical-align:middle}.mode-tag{background:#8c96a529;color:#aeb8c6}.mode-tag.mode-domination{background:#60a5eb2e;color:#8fc2ff}.admin-mode-filter{margin:2px 0 10px}.admin-challenges{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.admin-note.warn{color:#e0b15f}.admin-challenge-days{display:flex;flex-direction:column;gap:4px}.admin-attempts{display:flex;flex-direction:column;gap:2px;padding:4px 0 8px 12px}.admin-attempt-row{display:grid;grid-template-columns:40px 1fr auto auto;gap:10px;align-items:center;font-size:12.5px}.admin-attempt-row .c-rank{color:var(--text-dim, #8a94a6);font-variant-numeric:tabular-nums}.admin-attempt-row .c-dev{font-family:var(--font-mono);color:var(--text-dim, #8a94a6)}.admin-attempt-row .c-num{font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-body)}.admin-attempt-row .admin-tag{cursor:pointer}.admin-match-sub{font-size:11px;color:var(--muted);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--muted-2)}.admin-pill{font-size:10px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;background:var(--panel-2);color:var(--muted);flex:none}.admin-dot.live{background:var(--amber)}.admin-dot.win-a{background:var(--blue)}.admin-dot.win-b{background:var(--red)}.admin-pill.live{background:#e0b15f29;color:var(--amber)}.admin-pill.win-a{background:#4f93dd29;color:var(--blue-text)}.admin-pill.win-b{background:#e0645f29;color:var(--red-text)}.admin-err-label{display:flex;align-items:center;gap:10px;color:var(--red-text);border-bottom-color:var(--red)}.admin-err-clear{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--muted);background:var(--panel-2);border:1px solid var(--border-btn);border-radius:7px;padding:3px 10px;cursor:pointer}.admin-err-clear:hover{color:var(--text-body)}.admin-errs{display:flex;flex-direction:column;gap:5px}.admin-err-row{display:block;width:100%;text-align:left;background:var(--panel);border:1px solid var(--border-frame);border-left:3px solid var(--red);border-radius:8px;padding:8px 11px;cursor:pointer;color:var(--text-body)}.admin-err-row:hover{background:var(--panel-2)}.admin-err-top{display:flex;align-items:center;gap:9px}.admin-err-src{font-size:9px;font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.05em;padding:2px 6px;border-radius:5px;flex:none}.admin-err-src.client{background:#4f93dd29;color:var(--blue-text)}.admin-err-src.server{background:#e0b15f29;color:var(--amber)}.admin-err-msg{flex:1;min-width:0;font-size:12px;font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-err-meta{font-size:11px;font-family:var(--font-mono);color:var(--muted);flex:none}.admin-err-detail{margin-top:8px;padding-top:8px;border-top:1px solid var(--border-frame);font-size:11px;font-family:var(--font-mono);color:var(--muted);white-space:pre-wrap;word-break:break-word}.account-body{display:flex;flex-direction:column;gap:8px}.account-name-row{display:flex;align-items:center;gap:8px}.account-name{font-family:var(--font-display);font-weight:600;font-size:14px;color:var(--text)}.account-icon-btn{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:13px;padding:2px 4px}.account-icon-btn:hover{color:var(--text-body)}.account-sub{font-family:var(--font-mono);font-size:12px;letter-spacing:.02em;color:var(--muted)}.account-error{font-size:12px;color:var(--red-text)}.account-link{align-self:flex-start;background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:12px;text-decoration:underline;padding:0}.account-link:disabled{opacity:.5;cursor:default}.account-link--danger{color:var(--red-text)}.account-data{display:flex;flex-direction:column;gap:8px;margin-top:10px;padding-top:10px;border-top:1px solid var(--hairline, rgba(255, 255, 255, .08))}.account-consent{font-size:11px;line-height:1.5;color:var(--muted);margin-top:8px}.account-consent a{color:var(--muted);text-decoration:underline}.account-legal{margin-top:12px;font-size:11px;letter-spacing:.04em;color:var(--muted)}.account-legal a{color:var(--muted);text-decoration:none}.account-legal a:hover{text-decoration:underline}:root{--violet: #8a7bff}.view--friends,.view--locker{padding:22px clamp(16px,5vw,48px);overflow-y:auto;max-width:1180px;margin:0 auto;width:100%}.view--tracker{overflow-y:auto;width:100%}.tracker-view{max-width:1360px;margin:0 auto;padding:28px clamp(16px,4vw,34px) 40px;display:flex;flex-direction:column;gap:24px;color:#f4eefb}.tk-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}.tk-head-left{display:flex;align-items:flex-start;gap:12px}.tk-titles{display:flex;flex-direction:column;gap:2px}.tk-eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:.28em;color:#39c9bd}.tk-title{font-family:var(--font-head);font-size:clamp(30px,5vw,46px);line-height:1;color:#f4eefb;letter-spacing:.04em}.tk-season-chip{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;color:#c9c3e0;border:1px solid #35304f;padding:8px 12px;background:#0a071280;white-space:nowrap}.tk-main{display:flex;gap:24px;align-items:stretch}.tk-stats{width:262px;flex:none;display:flex;flex-direction:column;gap:12px}.tk-mini-label{font-family:var(--font-mono);font-size:9px;letter-spacing:.18em;text-transform:uppercase;color:#8a7fb0}.tk-current{border:1px solid #35304f;background:radial-gradient(120% 120% at 50% 0%,rgba(47,224,208,.08),transparent 60%),#0a071280;padding:16px 18px;display:flex;flex-direction:column;gap:6px}.tk-big{font-family:var(--font-head);font-size:62px;line-height:.9;color:#eafffb;text-shadow:0 0 14px rgba(47,224,208,.35)}.tk-current-tier{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:14px;color:#c9c3e0}.tk-net-chip{font-family:var(--font-mono);font-size:11px;padding:2px 7px;border:1px solid;margin-left:auto}.tk-net-chip.up{color:#2fe0d0;border-color:#2fe0d080}.tk-net-chip.down{color:#ff8b7c;border-color:#ff8b7c80}.tk-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tk-tile{border:1px solid #241a33;background:#0a071280;padding:10px 12px;display:flex;flex-direction:column;gap:3px}.tk-tile-val{font-family:var(--font-head);font-size:22px;color:#f4eefb;letter-spacing:.02em}.tk-tile-val.up{color:#2fe0d0}.tk-tile-val.down{color:#ff8b7c}.tk-tile-sub{font-family:var(--font-mono);font-size:10px;color:#9a93b8}.tk-legend{border:1px solid #241a33;background:#0a071280;padding:12px;display:flex;flex-direction:column;gap:8px}.tk-legend-row{display:flex;align-items:center;gap:8px;font-family:var(--font-display);font-size:12px;color:#c9c3e0}.tk-legend-dot{width:10px;height:10px;flex:none;border-radius:0}.tk-legend-name{flex:1}.tk-legend-range{font-family:var(--font-mono);font-size:10px;color:#7d7aa0}.tk-chart-panel{flex:1;min-width:0;border:1px solid #241a33;background:#06040c8c;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.tk-chart-head{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;color:#9a93b8}.tk-chart-unit{color:#6f6a8c;letter-spacing:.06em}.tk-chart{width:100%}.tk-chart-svg{width:100%;height:auto;display:block}.tk-axis-y{font-family:var(--font-display);font-size:12px;fill:#9a93b8}.tk-axis-num,.tk-axis-x{font-family:var(--font-mono);font-size:11px;fill:#8a7fb0}.tk-empty{font-family:var(--font-display);color:#9a93b8;padding:40px 8px;text-align:center;font-size:14px}.tk-rewards{border:1px solid #241a33;background:#0a071280;padding:18px 20px;display:flex;flex-direction:column;gap:6px}.tk-rewards-head{display:flex;justify-content:space-between;align-items:baseline}.tk-rewards-head>span:first-child{font-family:var(--font-head);font-size:20px;letter-spacing:.04em;color:#f4eefb}.tk-rewards-count{font-family:var(--font-mono);font-size:11px;color:#9a93b8;border:1px solid #35304f;padding:4px 8px}.tk-rewards-sub{font-family:var(--font-display);font-size:12px;color:#9a93b8;margin-bottom:6px}.tk-rewards-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.tk-reward-card{--tier: #8a7fb0;border:1px solid color-mix(in srgb,var(--tier) 40%,#241a33);background:color-mix(in srgb,var(--tier) 6%,transparent);padding:12px;display:flex;flex-direction:column;gap:10px}.tk-reward-card.locked{opacity:.9}.tk-reward-card.current{border-style:dashed}.tk-reward-tier{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-size:12px;color:#eafffb}.tk-reward-status{margin-left:auto;font-family:var(--font-mono);font-size:9px;letter-spacing:.04em;color:#9a93b8}.tk-reward-status.new{color:#0b0813;background:#2fe0d0;padding:2px 6px}.tk-reward-tiles{display:flex;gap:8px}.tk-reward-item{display:flex;flex-direction:column;align-items:center;gap:4px}.tk-reward-tile{width:46px;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid color-mix(in srgb,var(--tier) 50%,transparent);background:color-mix(in srgb,var(--tier) 10%,transparent)}.tk-reward-card.locked .tk-reward-tile{opacity:.4}.tk-reward-tile.placeholder{border-style:dashed;color:#6f6a8c;font-family:var(--font-head);font-size:22px}.tk-reward-tile.mascot-tile{padding:3px;overflow:hidden}.tk-reward-tile.mascot-tile .mascot{width:38px;height:38px}.locker-packs{display:grid;grid-template-columns:1fr;gap:10px;margin-top:6px}.locker-pack{display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border:1px solid #241a33;background:#7c5cff0a}.locker-pack-badge{flex:none}.locker-pack-body{display:flex;flex-direction:column;gap:3px;min-width:0}.locker-pack-name{font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--text)}.locker-pack-blurb{font-size:12px;color:var(--text-dim);line-height:1.35}.locker-pack-items{font-size:11px;color:#8a83a8;margin-top:2px}.locker-pack-soon{align-self:flex-start;margin-top:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#b9a6ff;border:1px solid #35304f;padding:2px 7px}@media (min-width: 620px){.locker-packs{grid-template-columns:1fr 1fr}}.tk-reward-cap{font-family:var(--font-mono);font-size:9px;color:#8a7fb0}.tk-reward-progress{display:flex;flex-direction:column;gap:5px}.tk-reward-progress-line{display:flex;justify-content:space-between;font-family:var(--font-mono);font-size:10px;color:#c9c3e0}.tk-reward-bar{height:6px;background:#ffffff14}.tk-reward-bar-fill{height:100%;background:linear-gradient(90deg,#2fe0d0,#b57cff)}@media (max-width: 760px){.tracker-view{padding:20px 16px 36px;gap:18px}.tk-head{flex-wrap:wrap;gap:10px}.tk-season-chip{order:3;width:100%;text-align:center}.tk-main{flex-direction:column;gap:16px}.tk-stats{width:100%}.tk-big{font-size:46px}.tk-tiles{grid-template-columns:repeat(3,1fr)}.tk-tiles .tk-tile:nth-child(3){display:none}.tk-rewards-grid{grid-template-columns:1fr}.tk-reward-card{flex-direction:row;align-items:center;flex-wrap:wrap}.tk-reward-tier,.tk-reward-progress{flex:1 1 100%}}.rank-block{display:flex;flex-direction:column;gap:4px}.rank-season{background:transparent;border:none;text-align:left;cursor:pointer;padding:0;font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;color:var(--muted)}.rank-season:hover{color:var(--text-strong)}.name-tag{display:inline-flex;align-items:center;gap:6px;min-width:0}.name-tag-badge{display:inline-flex;flex:none}.name-tag-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.name-tag-title{font-size:.82em;color:var(--muted);font-weight:400;white-space:nowrap}.locker-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:14px 0 8px}.locker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:10px;max-width:760px}.locker-card{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 10px;background:var(--panel, rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.07);border-radius:10px;cursor:pointer;color:var(--text-strong);text-align:center}.locker-card:hover:not(:disabled){border-color:#8a7bff80}.locker-card--equipped{border-color:#8a7bffbf;background:#8a7bff1a}.locker-card--locked{opacity:.45;cursor:default}.locker-name{font-family:var(--font-display);font-size:13px}.locker-sub{font-family:var(--font-mono);font-size:10px;color:var(--muted);line-height:1.4}.locker-topper-prev{display:flex;align-items:center;justify-content:center;height:58px}.locker-topper-prev .mascot{width:58px;height:58px}.blocked-section{margin-top:22px;max-width:560px}.blocked-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px;border-radius:8px;border:1px solid rgba(255,255,255,.06);margin-top:4px;font-family:var(--font-display);color:var(--muted)}.blocked-row .btn-secondary{font-size:12px;padding:4px 10px}.friends-view{display:flex;flex-direction:column;gap:16px}.friends-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap}.friends-back{background:transparent;border:none;color:var(--muted);cursor:pointer;font-size:22px;line-height:1;padding:0 8px 0 0}.friends-title{font-family:var(--font-head);font-size:34px;letter-spacing:.04em;color:var(--text-strong)}.friends-sub{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.04em}.friends-add{display:flex;gap:8px;align-items:center}.friends-add .code-input{min-width:220px}.friends-add .btn-primary,.friend-code-card .btn-secondary{border-color:#8a7bff8c}.friends-empty{font-family:var(--font-display);color:var(--muted);padding:24px 4px;text-align:center;line-height:1.6}.friends-empty .btn-primary{margin-top:12px}.friend-code-card{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:14px 18px;border-radius:12px;border:1px solid rgba(47,224,208,.28);border-left:4px solid var(--teal);background:linear-gradient(180deg,#2fe0d00f,#2fe0d005)}.fcc-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.fcc-code{font-family:var(--font-mono);font-size:clamp(22px,4vw,30px);font-weight:700;letter-spacing:.14em;color:var(--teal-text);text-shadow:var(--teal-glow)}.fcc-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.fcc-note{font-family:var(--font-display);font-size:11px;color:var(--muted);max-width:180px;text-align:right}.friend-request{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-radius:10px;border:1px solid rgba(176,180,205,.14);background:#8a7bff0d}.fr-who{display:flex;align-items:center;gap:8px;font-family:var(--font-display);color:var(--text-body)}.fr-sub{color:var(--muted);font-size:12px}.fr-actions{display:flex;gap:8px}.fr-actions button{padding:6px 12px;font-size:12px}.friends-list{display:flex;flex-direction:column;gap:8px}.friends-cols,.friend-row{display:grid;grid-template-columns:minmax(0,2.2fr) 1fr 1.3fr 290px;align-items:center;gap:12px}.friends-cols{padding:0 14px;font-family:var(--font-mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted-2)}.friend-row{padding:12px 14px;border-radius:10px;border:1px solid rgba(176,180,205,.12);background:#b0b4cd08}.fr-id{display:flex;align-items:center;gap:10px;min-width:0}.fr-name{font-family:var(--font-display);font-weight:700;color:var(--text-strong);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr-meta{font-family:var(--font-mono);font-size:11px;color:var(--muted);letter-spacing:.02em}.friend-h2h{font-family:var(--font-mono)}.h2h-score{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums;color:var(--muted)}.h2h-score .w{color:var(--teal-text)}.h2h-score .l{color:var(--red-text)}.h2h-sub{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted-2);margin-top:2px}.friend-daily{font-family:var(--font-mono)}.daily-score{color:var(--teal-text);font-weight:700;font-variant-numeric:tabular-nums}.daily-sub{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted-2);margin-top:2px}.daily-none{color:var(--muted-3);font-size:12px}.fr-row-actions{display:flex;align-items:center;gap:8px;justify-content:flex-end}.fr-challenge{border-color:#8a7bff8c;padding:8px 14px;font-size:12px;white-space:nowrap}.fr-challenge:disabled{opacity:.5}.fr-challenge.your-turn{border-color:var(--teal);color:var(--teal-text);box-shadow:var(--teal-glow)}.fr-live{color:var(--teal-text)}.fr-row-actions{flex-wrap:wrap}.lobby-challenge{display:flex;align-items:center;gap:12px;border-left:3px solid var(--violet);background:#8a7bff12;cursor:default}.lobby-challenge:before{display:none}.lc-icon{color:var(--violet);font-size:18px;flex:none}.lobby-challenge .main{flex:1;min-width:0;text-align:left}.lc-actions{display:flex;gap:8px;flex:none}.lc-actions .btn-primary,.lc-actions .btn-secondary{height:34px;padding:0 13px;font-size:12px;letter-spacing:.06em}.challenge-invite{background:#8a7bff17;border-color:#8a7bff59}.challenge-invite .fr-who span:first-child{color:var(--violet)}.fr-remove{background:transparent;border:1px solid rgba(176,180,205,.18);border-radius:8px;color:var(--muted);cursor:pointer;padding:6px 9px;font-size:13px}.fr-remove:hover{color:var(--red-text);border-color:var(--red)}.gfe-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%);background:#121420f5;border:1px solid rgba(176,180,205,.2);color:var(--text);font-family:var(--font-display);font-size:13px;padding:10px 16px;border-radius:10px;z-index:60;box-shadow:0 8px 24px #0006}.gfe-update-toast{display:flex;align-items:center;gap:12px;bottom:24px;z-index:200;padding:10px 12px 10px 16px}.gfe-update-refresh{font-family:var(--font-display);font-size:12px;font-weight:600;letter-spacing:.02em;color:#0b0813;background:var(--blue-light, #4ea1ff);border:0;padding:6px 12px;border-radius:8px;cursor:pointer}.gfe-update-refresh:hover{filter:brightness(1.08)}.gfe-update-dismiss{font-family:var(--font-display);font-size:16px;line-height:1;padding:2px 4px;color:var(--muted);background:transparent;border:0;cursor:pointer}.gfe-update-dismiss:hover{color:var(--text)}@media (max-width: 640px){.friends-cols{display:none}.friend-row{grid-template-columns:1fr 1fr;grid-template-areas:"id id" "h2h daily" "act act";gap:10px}.fr-id{grid-area:id}.friend-h2h{grid-area:h2h;padding:8px 10px;border-radius:8px;background:#b0b4cd0d}.friend-daily{grid-area:daily;padding:8px 10px;border-radius:8px;background:#b0b4cd0d}.fr-row-actions{grid-area:act;justify-content:stretch}.fr-challenge{flex:1}.friend-h2h:before{content:"H2H";display:block;font-size:8px;letter-spacing:.1em;color:var(--muted-3)}.friend-daily:before{content:"DAILY";display:block;font-size:8px;letter-spacing:.1em;color:var(--muted-3)}}
