:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#060914;--bg-2:#0c1230;--glass:#ffffff0b;--glass-strong:#ffffff16;--line:#ffffff17;--line-strong:#fff3;--text:#eef2ff;--muted:#8d95ba;--blue:#3b82f6;--blue-glow:#3b82f680;--red:#ef4444;--red-glow:#ef444480;--accent:#ffcb05;--accent-2:#ff8a00;--accent-glow:#ffcb0573;--poke-blue:#2a5bd7;--brand-red:#e8373e;--brand-red-deep:#a3121c;--brand-cream:#fff4dc;--brand-ink:#0b1026;--ok:#34d399;--radius:18px;--font:"Segoe UI", system-ui, -apple-system, "Helvetica Neue", Arial, sans-serif;--font-display:"Segoe UI Black", "Arial Black", "Helvetica Neue", system-ui, sans-serif;--type-normal:#a8a77a;--type-fire:#ee8130;--type-water:#6390f0;--type-electric:#f7d02c;--type-grass:#7ac74c;--type-ice:#96d9d6;--type-fighting:#c22e28;--type-poison:#a33ea1;--type-ground:#e2bf65;--type-flying:#a98ff3;--type-psychic:#f95587;--type-bug:#a6b91a;--type-rock:#b6a136;--type-ghost:#735797;--type-dragon:#6f35fc;--type-dark:#705746;--type-steel:#b7b7ce;--type-fairy:#d685ad;font-family:var(--font);background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{min-height:100vh;margin:0;overflow:hidden}#root{height:100vh}button,input,select{font:inherit;color:inherit}::selection{background:var(--accent);color:#111}button{background:var(--glass-strong);color:var(--text);border:1px solid var(--line-strong);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-weight:600;transition:transform .15s,background .15s,border-color .15s,box-shadow .15s;display:inline-flex}button:hover:not(:disabled){background:#ffffff24;border-color:#ffffff59;transform:translateY(-1px)}button:active:not(:disabled){transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:linear-gradient(180deg, #ffd84a, var(--accent));color:#1a1405;box-shadow:0 6px 18px -6px var(--accent-glow);border-color:#ffe27a}button.primary:hover:not(:disabled){background:linear-gradient(#ffe375,#ffd21f)}button.ghost{border-color:var(--line);background:0 0}.icon-button{border-radius:12px;padding:9px}.icon{flex:none}input,select{color:var(--text);border:1px solid var(--line-strong);background:#030612b3;border-radius:12px;outline:none;padding:9px 12px;transition:border-color .15s,box-shadow .15s}input:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #ffcb0533}select{cursor:pointer}select:disabled{opacity:.6;cursor:default}.screen{z-index:1;isolation:isolate;height:100vh;padding:22px clamp(16px,3vw,40px);position:relative;overflow:hidden auto}.screen.center{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}.screen::-webkit-scrollbar{width:10px}.screen::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:10px}.glass,.panel{border:1px solid var(--line);border-radius:var(--radius);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:linear-gradient(#ffffff0f,#ffffff06);padding:20px;box-shadow:0 20px 50px -24px #000c,inset 0 1px #ffffff0f}.panel{flex-direction:column;gap:10px;display:flex}.panel-head{flex-direction:column;gap:2px;margin-bottom:14px;display:flex}.panel-head h2,.panel-head h3{font-family:var(--font-display);letter-spacing:.3px;margin:0}.panel-head h2{font-size:24px}.panel-head h3{font-size:18px}.eyebrow{letter-spacing:2.4px;text-transform:uppercase;color:var(--accent);align-items:center;gap:6px;font-size:11px;font-weight:800;display:inline-flex}.eyebrow.live{color:#fb7185}.eyebrow.live .icon{animation:1.4s ease-in-out infinite live-pulse}@keyframes live-pulse{50%{opacity:.35}}.muted{color:var(--muted)}.error{color:#fca5a5;font-weight:600}.inline,.checkbox{align-items:center;gap:8px;display:flex}.badge{letter-spacing:1px;text-transform:uppercase;vertical-align:middle;background:linear-gradient(90deg,#7c3aed,#c026d3);border-radius:999px;align-items:center;margin-left:10px;padding:2px 10px;font-size:11px;font-weight:800;display:inline-flex}.field{color:var(--muted);text-transform:uppercase;letter-spacing:1.2px;flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.field input,.field select{text-transform:none;letter-spacing:0;color:var(--text);font-size:15px;font-weight:500}.switch{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;font-size:14px;display:inline-flex}.switch input{appearance:none;cursor:pointer;border:1px solid var(--line-strong);background:#ffffff1f;border-radius:999px;flex:none;width:40px;height:22px;margin:0;padding:0;transition:background .2s;position:relative}.switch input:before{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:transform .2s;position:absolute;top:2px;left:2px;box-shadow:0 2px 6px #0006}.switch input:checked{background:var(--accent);border-color:var(--accent)}.switch input:checked:before{transform:translate(18px)}.types{flex-wrap:wrap;gap:5px;display:flex}.type{letter-spacing:.6px;text-transform:uppercase;background:var(--t,#555);color:#fff;text-shadow:0 1px 2px #0000008c;border-radius:999px;padding:2px 9px;font-size:11px;font-weight:800}.type-normal{--t:var(--type-normal)}.type-fire{--t:var(--type-fire)}.type-water{--t:var(--type-water)}.type-electric{--t:var(--type-electric)}.type-grass{--t:var(--type-grass)}.type-ice{--t:var(--type-ice)}.type-fighting{--t:var(--type-fighting)}.type-poison{--t:var(--type-poison)}.type-ground{--t:var(--type-ground)}.type-flying{--t:var(--type-flying)}.type-psychic{--t:var(--type-psychic)}.type-bug{--t:var(--type-bug)}.type-rock{--t:var(--type-rock)}.type-ghost{--t:var(--type-ghost)}.type-dragon{--t:var(--type-dragon)}.type-dark{--t:var(--type-dark)}.type-steel{--t:var(--type-steel)}.type-fairy{--t:var(--type-fairy)}.pmd-sprite{image-rendering:pixelated;background-repeat:no-repeat;flex:none;display:inline-block}.pmd-fallback{object-fit:contain;width:64px;height:64px}.silhouette{filter:brightness(0)drop-shadow(0 0 1px #ffffff59);opacity:.75}kbd{text-align:center;min-width:24px;font:700 11px var(--font);color:var(--text);background:linear-gradient(#2a3150,#1a2038);border:1px solid #ffffff2e;border-radius:6px;padding:2px 7px;display:inline-block;box-shadow:0 2px #0a0d1c}.credits-footer{z-index:6;text-align:center;color:#fff;background:linear-gradient(#0000,#060914f0 34%);border-top:1px solid #ffffff8c;margin:0;padding:18px 16px 12px;font-size:12px;line-height:1.45;position:fixed;bottom:0;left:0;right:0}.credits-footer p{margin:0}.credits-footer .legal-links{margin-top:4px}.credits-footer a{color:inherit;text-underline-offset:2px;text-decoration:underline}.toast{z-index:20;background:linear-gradient(90deg,#9a3412,#be123c);border-radius:14px;padding:12px 20px;font-weight:700;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px -10px #000c}.legal-screen{color:var(--text)}.legal-sheet{width:min(760px,100%);margin:0 auto;padding:12px 0 48px}.legal-back{margin:0 0 18px}.legal-back a{color:var(--accent);font-weight:700}.legal-sheet h1{font-family:var(--font-display);letter-spacing:.3px;margin:0;font-size:clamp(32px,5vw,46px)}.legal-kicker{color:var(--muted);margin:8px 0 28px}.legal-sheet section{margin:0 0 28px;scroll-margin-top:16px}.legal-sheet h2{margin:0 0 10px;font-size:20px}.legal-sheet p{margin:0 0 12px;line-height:1.55}.legal-sheet ul{margin:0 0 12px;padding-left:18px}.legal-sheet li{margin:0 0 8px;line-height:1.5}.legal-sheet a{color:var(--accent)}.legal-sheet table{border-collapse:collapse;width:100%;margin:0 0 12px;font-size:14px}.legal-sheet th,.legal-sheet td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 12px}.legal-sheet th{color:var(--muted);letter-spacing:.6px;text-transform:uppercase;font-size:12px}.legal-sheet td:first-child{width:34%;font-weight:700}.cta{background:linear-gradient(180deg, #ffe066 0%, var(--accent) 45%, #f5a300 100%);color:#1d1300;font-family:var(--font-display);letter-spacing:.6px;text-transform:uppercase;box-shadow:0 6px 0 #b86e00, 0 18px 40px -12px var(--accent-glow);border:none;border-radius:999px;gap:12px;padding:14px 26px;font-size:17px;position:relative;overflow:hidden}.cta:hover:not(:disabled){box-shadow:0 8px 0 #b86e00, 0 22px 44px -10px var(--accent-glow);background:linear-gradient(#fff0a3 0%,#ffd42a 45%,#ffae0f 100%);transform:translateY(-2px)}.cta:active:not(:disabled){transform:translateY(4px);box-shadow:0 2px #b86e00}.cta:after{content:"";background:linear-gradient(100deg,#0000,#fff9,#0000);width:40%;animation:3.6s ease-in-out infinite cta-shine;position:absolute;top:0;bottom:0;left:-60%;transform:skew(-20deg)}@keyframes cta-shine{0%,60%{left:-60%}to{left:130%}}.cta-wide{width:100%}.cta-ball{background:linear-gradient(#ef4444 0 46%,#1d1300 46% 54%,#fff 54%);border:2px solid #1d1300;border-radius:50%;flex:none;width:22px;height:22px;transition:transform .4s;position:relative}.cta-ball:after{content:"";box-sizing:border-box;background:#fff;border:2px solid #1d1300;border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:5px}.cta:hover .cta-ball{transform:rotate(-200deg)}.login-screen{flex-direction:column;align-items:center;padding-bottom:84px;display:flex}.login-volume{z-index:2;position:absolute;top:16px;right:clamp(16px,3vw,40px)}.login-hero{flex-direction:column;align-items:center;gap:18px;margin:auto 0;animation:.7s cubic-bezier(.2,.8,.2,1) rise-in;display:flex}@keyframes rise-in{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.input-hero{text-align:center;letter-spacing:.5px;border-radius:14px;padding:14px 16px;font-size:20px;font-weight:700}.pokeball-spinner{background:linear-gradient(#ef4444 0 46%,#111 46% 54%,#fff 54%);border:3px solid #111;border-radius:50%;width:46px;height:46px;animation:1s ease-in-out infinite ball-wobble;position:relative}.pokeball-spinner:after{content:"";box-sizing:border-box;background:#fff;border:3px solid #111;border-radius:50%;width:14px;height:14px;position:absolute;top:calc(50% - 7px);left:calc(50% - 7px)}@keyframes ball-wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-18deg)}75%{transform:rotate(18deg)}}@media (height<=820px){.login-screen{padding-top:14px}.login-hero{gap:12px}.input-hero{padding:10px 14px;font-size:18px}}@media (prefers-reduced-motion:reduce){.cta:after{animation:none}}.logo{-webkit-user-select:none;user-select:none;align-items:center;margin:0;line-height:1;animation:.6s cubic-bezier(.2,1.3,.4,1) both logo-pop;display:flex}@keyframes logo-pop{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:none}}.logo-text{flex-direction:column;align-items:center;gap:8px;display:flex}.logo-word{font-family:var(--font-display);text-transform:uppercase;letter-spacing:1px;-webkit-text-stroke:4px var(--brand-ink);paint-order:stroke fill;text-shadow:0 6px 0 var(--brand-ink), 0 16px 34px #e8373e4d;align-items:baseline;font-size:clamp(48px,7vw,88px);display:inline-flex;transform:skew(-8deg)}.logo-poke{color:var(--brand-red)}.logo-brow{color:var(--brand-cream)}.logo-caret{background:var(--accent);width:.11em;height:.74em;box-shadow:0 0 0 3px var(--brand-ink), 0 0 18px var(--accent-glow);border-radius:3px;align-self:center;margin-left:.08em;animation:1.1s step-end infinite caret-blink}@keyframes caret-blink{50%{opacity:0}}.logo-slogan{letter-spacing:4.5px;text-transform:uppercase;color:var(--brand-cream);opacity:.88;align-items:center;gap:10px;padding-left:4px;font-size:clamp(11px,1.1vw,14px);font-weight:800;display:inline-flex}.logo-slogan:before{content:"";background:linear-gradient(90deg, var(--brand-red), var(--accent));border-radius:3px;width:28px;height:3px}.logo.compact .logo-word{-webkit-text-stroke-width:2.5px;text-shadow:0 3px 0 var(--brand-ink);font-size:30px}.logo.compact .logo-caret{box-shadow:0 0 0 2px var(--brand-ink)}.login-pitch{text-align:center;flex-direction:column;align-items:center;gap:10px;margin:2px 0 0;display:flex}.login-pitch strong{color:#fff;text-shadow:0 2px 8px #0009;font-size:clamp(15px,1.5vw,18px);font-weight:800}.login-pitch ul{flex-wrap:wrap;justify-content:center;gap:8px;margin:0;padding:0;list-style:none;display:flex}.login-pitch li{letter-spacing:.6px;color:var(--brand-cream);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0b1026b8;border:1px solid #fff4dc38;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800}.login-pitch li b{color:var(--accent)}@media (height<=820px){.login-hero .logo-word{font-size:clamp(40px,8.5vh,72px)}.login-pitch{gap:6px}}@media (prefers-reduced-motion:reduce){.logo,.logo-caret{animation:none}}.auth-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(170deg,#141e4eeb,#080b1ef0 60%);border:1px solid #93c5fd38;border-radius:26px;width:min(440px,94vw);animation:.6s cubic-bezier(.2,.9,.25,1.15) card-pop;position:relative;overflow:hidden;box-shadow:0 36px 70px -24px #000000f2,0 0 0 6px #ffffff08,inset 0 1px #ffffff1f}.auth-card.loading{flex-direction:column;align-items:center;gap:12px;padding:32px;display:flex}@keyframes card-pop{0%{opacity:0;transform:translateY(18px)scale(.96)}to{opacity:1;transform:none}}.auth-head{background:linear-gradient(115deg, #e0302f 0%, #ff6a2b 42%, #ffb11f 78%, var(--accent) 100%);clip-path:polygon(0 0,100% 0,100% 72%,0 100%);color:#fff;align-items:center;gap:14px;padding:20px 24px 30px;display:flex;position:relative}.auth-head:after{content:"";pointer-events:none;mix-blend-mode:overlay;background:repeating-linear-gradient(115deg,#ffffff1a 0 2px,#0000 2px 14px);position:absolute;inset:0}.auth-head small{letter-spacing:2.4px;text-transform:uppercase;opacity:.88;font-size:11px;font-weight:800;display:block}.auth-head h2{font-family:var(--font-display);letter-spacing:.3px;text-shadow:0 3px #78140a8c;margin:2px 0 0;font-size:24px}.auth-head-ball{background:linear-gradient(#fff 0 44%,#1b1010 44% 56%,#f4f4f4 56%);border:3px solid #1b1010;border-radius:50%;flex:none;width:46px;height:46px;animation:4s ease-in-out infinite head-ball;position:relative;box-shadow:0 6px 14px #500a0073}.auth-head-ball:after{content:"";box-sizing:border-box;background:#fff;border:3px solid #1b1010;border-radius:50%;width:14px;height:14px;position:absolute;top:calc(50% - 7px);left:calc(50% - 7px)}@keyframes head-ball{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-16deg)}86%{transform:rotate(14deg)}94%{transform:rotate(-6deg)}}.auth-tabs{border:1px solid var(--line);background:#030612bf;border-radius:14px;grid-template-columns:repeat(3,1fr);margin:-6px 20px 0;padding:4px;display:grid;position:relative}.auth-tabs:before{content:"";background:linear-gradient(180deg, #ffe066, var(--accent) 55%, #f5a300);width:calc(33.3333% - 2.66667px);box-shadow:0 4px 12px -4px var(--accent-glow);transform:translateX(calc(var(--tab-index,0) * 100%));border-radius:10px;transition:transform .35s cubic-bezier(.3,1.3,.5,1);position:absolute;top:4px;bottom:4px;left:4px}.auth-tabs button{z-index:1;color:#c7d0f5;background:0 0;border:none;border-radius:10px;padding:9px 6px;font-size:14px;font-weight:800;position:relative}.auth-tabs button:hover:not(:disabled){color:#fff;background:0 0;border-color:#0000;transform:none}.auth-tabs button.active{color:#1d1300}.auth-body{padding:18px 24px 22px;animation:.3s ease-out body-in}@keyframes body-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:none}}.auth-form{flex-direction:column;gap:12px;display:flex}.auth-form .cta{margin-top:4px}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field>label{letter-spacing:1.6px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.auth-field input{border-radius:12px;width:100%;padding:11px 14px;font-size:15px;font-weight:600}.auth-field input.input-hero{padding:13px 16px;font-size:19px}.auth-field input.invalid{border-color:#f87171;box-shadow:0 0 0 3px #f871712e}.auth-input-wrap{position:relative}.auth-input-wrap input{padding-right:84px}.auth-reveal{background:#ffffff14;border-radius:9px;padding:5px 12px;font-size:12px;font-weight:800;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.auth-reveal:hover:not(:disabled),.auth-reveal:active:not(:disabled){transform:translateY(-50%)}.auth-status{font-size:12px;font-weight:700}.auth-status-checking{color:var(--muted)}.auth-status-available{color:var(--ok)}.auth-status-taken,.auth-status-invalid{color:#fca5a5}.auth-hint{color:var(--muted);font-size:12px}.strength{align-items:center;gap:10px;display:flex}.strength-bars{flex:1;grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.strength-bars span{background:#ffffff1a;border-radius:999px;height:5px;transition:background .25s}.strength small{text-align:right;text-transform:uppercase;letter-spacing:1px;min-width:58px;font-size:11px;font-weight:800}.strength-1 .on{background:#f87171}.strength-1 small{color:#f87171}.strength-2 .on{background:#fb923c}.strength-2 small{color:#fb923c}.strength-3 .on{background:#facc15}.strength-3 small{color:#facc15}.strength-4 .on{background:var(--ok)}.strength-4 small{color:var(--ok)}.auth-warning{color:#fde68a;background:#ffcb051a;border:1px solid #ffcb0573;border-radius:12px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.auth-warning p{margin:0;font-size:12.5px;line-height:1.45}.auth-warning b{color:#fff3c4}.auth-warning-icon{background:var(--accent);color:#1d1300;border-radius:50%;flex:none;place-items:center;width:20px;height:20px;margin-top:1px;font-size:13px;font-weight:900;display:grid}.auth-note{color:var(--muted);text-align:center;margin:0;font-size:12px;line-height:1.45}.auth-form .error{text-align:center;margin:0}.auth-overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03050eb8;place-items:center;padding:20px;animation:.2s ease-out body-in;display:grid;position:fixed;inset:0;overflow-y:auto}.auth-close{z-index:2;color:#fff;background:#00000040;border-color:#fff6;border-radius:50%;width:34px;height:34px;padding:0;font-size:22px;line-height:1;position:absolute;top:12px;right:14px}.auth-lead{color:#c7d0f5;margin:0 0 14px;font-size:13.5px;line-height:1.5}.auth-lead b{color:var(--accent)}.guest-chip{vertical-align:middle;letter-spacing:.6px;text-transform:uppercase;color:var(--accent);background:#ffcb0524;border:1px solid #ffcb0580;border-radius:999px;align-items:center;gap:6px;margin-left:8px;padding:2px 10px;font-size:11px;font-weight:800;display:inline-flex}.guest-chip:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#1d1300;transform:none}@media (height<=820px){.auth-head{padding:14px 20px 24px}.auth-head h2{font-size:22px}.auth-head-ball{width:38px;height:38px}.auth-body{padding:14px 20px 16px}.auth-form{gap:9px}.auth-field input{padding:9px 12px}.auth-field input.input-hero{padding:10px 14px;font-size:17px}}@media (prefers-reduced-motion:reduce){.auth-card,.auth-body,.auth-head-ball{animation:none}.auth-tabs:before{transition:none}}.scene-host{z-index:0;pointer-events:none;position:fixed;inset:0;overflow:hidden}.scene{pointer-events:none;--scene-blur:5px;background:#24461d;position:absolute;inset:0;overflow:hidden}.scene-camera{transform-origin:0 0;position:absolute;top:0;left:0}.scene-blur{filter:blur(var(--scene-blur))}.scene-world{will-change:transform;animation:90s ease-in-out infinite alternate scene-pan;position:relative}.scene-world>*,.scene-stage>*,.scene-static>*{position:absolute}.scene-static,.scene-stage{inset:0}.scene-stage{animation:stage-in var(--stage-fade,.8s) ease-out both}@keyframes stage-in{0%{opacity:0}to{opacity:1}}@keyframes scene-pan{0%{transform:translate(-24px,-24px)}30%{transform:translate(calc(var(--pan-x) * .55), calc(var(--pan-y) * .2))}60%{transform:translate(var(--pan-x), calc(var(--pan-y) * .7))}to{transform:translate(calc(var(--pan-x) * .3), var(--pan-y))}}.terrain-grass{background:var(--tex-ground) 0 0 / 256px;inset:0}.terrain-forest{background:var(--tex-forest) 0 0 / 320px;box-shadow:inset 0 0 50px #00000073}.terrain-path{background:var(--tex-path) 0 0 / 180px;border-radius:28px;box-shadow:0 0 0 5px #6048264d,inset 0 0 22px #00000047}.terrain-tall-grass{background:#3f9a34;border-radius:22px;overflow:hidden;box-shadow:inset 0 0 0 3px #143c1259}.terrain-tall-grass:before{content:"";background:radial-gradient(circle at 50% 100%,#1f6e22 0 8px,#2f8a2c 9px 10px,#0000 11px) 0 0/22px 18px;animation:2.6s ease-in-out infinite alternate grass-sway;position:absolute;inset:-6px}@keyframes grass-sway{0%{transform:translate(-3px)skew(4deg)}to{transform:translate(3px)skew(-4deg)}}.terrain-river,.terrain-waterfall{overflow:hidden}.terrain-river{box-shadow:0 0 0 10px #705432cc,0 0 0 18px #346e2673}.terrain-river:before,.terrain-waterfall:before{content:"";background:var(--tex-water) 0 0 / 220px;animation:9s linear infinite water-flow;position:absolute;inset:-220px 0 0}.terrain-waterfall{border-radius:0 0 40px 40px}.terrain-waterfall:before{background-image:var(--tex-waterfall);animation-duration:2.4s}.terrain-waterfall:after{content:"";background:radial-gradient(#ffffffd9,#0000 70%);border-radius:50%;height:46px;animation:1.2s ease-in-out infinite alternate foam;position:absolute;bottom:-14px;left:-10%;right:-10%}@keyframes water-flow{to{transform:translateY(220px)}}@keyframes foam{0%{opacity:.7;transform:scaleX(.9)}to{opacity:1;transform:scaleX(1.05)}}.terrain-bridge{background:repeating-linear-gradient(90deg,#946035 0 22px,#6e4520 22px 25px);border-top:9px solid #4a2e14;border-bottom:9px solid #4a2e14;border-radius:8px;box-shadow:0 10px #0000004d}.terrain-base{background:var(--tex-stone) 0 0 / 160px;width:300px;height:300px;box-shadow:0 0 0 8px var(--team-ring), 0 0 60px 10px var(--team-glow), inset 0 0 40px #00000059;border-radius:50%;margin:-150px 0 0 -150px}.terrain-base-blue{--team-ring:#3b82f6d9;--team-glow:#3b82f673}.terrain-base-red{--team-ring:#ef4444d9;--team-glow:#ef444473}.terrain-fence{background:var(--tex-fence) 0 0 / auto 40px repeat-x;height:40px;position:absolute;left:40px;right:40px}.terrain-fence-top{top:-34px}.terrain-fence-bottom{bottom:-30px}.terrain-banner{transform-origin:50% 6%;width:72px;animation:3.2s ease-in-out infinite alternate banner-sway}.terrain-banner-red{animation-delay:-1.6s}@keyframes banner-sway{0%{transform:rotate(-3deg)skew(2deg)}to{transform:rotate(3deg)skew(-3deg)}}.terrain-prop{filter:drop-shadow(8px 12px 5px #00000059);-webkit-user-select:none;user-select:none}.terrain-bush{background:var(--tex-bush) 0 0 / 90px;border-radius:50%;box-shadow:6px 10px 8px #00000059,inset 0 -8px 14px #0000004d}.scene-walker{will-change:transform;animation-timing-function:linear;animation-iteration-count:infinite;top:0;left:0}@keyframes scene-walk-x{0%{transform:translateX(var(--from))}to{transform:translateX(var(--to))}}@keyframes scene-walk-y{0%{transform:translateY(var(--from))}to{transform:translateY(var(--to))}}.scene-actor{flex-direction:column;align-items:center;display:flex;position:relative;transform:translate(-50%,-100%)}.scene-shadow{background:#00000061;border-radius:50%;width:56px;height:14px;margin-top:-8px}.scene-duel{width:340px;height:170px}.duel-fighter{flex-direction:column;align-items:center;display:flex;position:absolute;bottom:0}.duel-fighter-left{--recoil:-8px;left:0}.duel-fighter-right{--recoil:8px;right:0}.duel-body{z-index:1;animation:4s infinite duel-hit;animation-delay:var(--hit-delay);position:relative}@keyframes duel-hit{0%,40%,56%,to{filter:none;transform:none}44%{transform:translateX(var(--recoil));filter:brightness(2.4)}48%{transform:translateX(calc(var(--recoil) * -.5));filter:brightness(1.4)}}.duel-hp{background:#0009;border:1px solid #fff9;border-radius:4px;width:64px;height:9px;margin-bottom:4px;overflow:hidden}.duel-hp span{height:100%;animation:16s infinite hp-drain;animation-delay:var(--hit-delay);background:#4ade80;display:block}@keyframes hp-drain{0%,10%{background:#4ade80;width:100%}12%,35%{background:#4ade80;width:74%}37%,60%{background:#facc15;width:48%}62%,85%{background:#fb923c;width:24%}87%,94%{background:#ef4444;width:8%}to{background:#4ade80;width:100%}}.duel-damage{z-index:2;font:900 18px var(--font-display);color:#fff;-webkit-text-stroke:3px #7f1d1d;paint-order:stroke fill;opacity:0;animation:4s infinite duel-damage;animation-delay:var(--hit-delay);position:absolute;top:-18px}@keyframes duel-damage{0%,42%{opacity:0;transform:translateY(0)scale(.6)}46%{opacity:1;transform:translateY(-6px)scale(1.15)}72%,to{opacity:0;transform:translateY(-30px)scale(1)}}.duel-lane{z-index:2;position:absolute;top:104px;left:0;right:0}.duel-lane.mirrored{transform:scaleX(-1)}.duel-orb{opacity:0;background:radial-gradient(circle, #fff 0 25%, var(--orb) 55%, transparent 72%);width:20px;height:20px;box-shadow:0 0 18px 6px var(--orb);border-radius:50%;animation:4s linear infinite duel-shot;position:absolute;top:-10px;left:0}@keyframes duel-shot{0%{opacity:0;transform:translate(72px)scale(.4)}6%{opacity:1;transform:translate(86px)scale(1.2)}40%{opacity:1;transform:translate(250px)scale(1.2)}46%,to{opacity:0;transform:translate(262px)scale(3)}}.scene-cloud{background:radial-gradient(#0812284d,#0000 68%);border-radius:50%;animation:95s linear infinite cloud-drift;left:-800px}@keyframes cloud-drift{to{transform:translate(3600px,160px)}}.scene-tint{position:absolute;inset:0}.scene-tint:before,.scene-tint:after{content:"";mix-blend-mode:multiply;opacity:0;animation:none;position:absolute;inset:0}.scene-tint:before{background:#ff9a5c;animation-name:dusk}.scene-tint:after{background:#2a3f9e;animation-name:night}@keyframes dusk{0%,32%{opacity:0}44%{opacity:.55}54%,84%{opacity:0}90%{opacity:.35}to{opacity:0}}@keyframes night{0%,44%{opacity:0}56%,80%{opacity:.8}92%,to{opacity:0}}.scene-fireflies{opacity:0;animation:120s linear infinite night-show;position:absolute;inset:0}@keyframes night-show{0%,50%{opacity:0}58%,80%{opacity:1}88%,to{opacity:0}}.scene-fireflies span{background:#fef08a;border-radius:50%;width:5px;height:5px;animation:ease-in-out infinite alternate firefly;position:absolute;box-shadow:0 0 12px 4px #fef08ab3}@keyframes firefly{0%{opacity:.15;transform:translate(0)}50%{opacity:1}to{opacity:.25;transform:translate(34px,-26px)}}.scene-stripes{background:repeating-linear-gradient(115deg,#ffffff0a 0 2px,#0000 2px 28px);animation:14s linear infinite stripes-move;position:absolute;inset:-40px}@keyframes stripes-move{to{transform:translate(62px)}}.scene-shade{background:linear-gradient(#060c1829,#060c1829),radial-gradient(60% 70% at 50% 48%,#0609144d,#060914b3 100%),linear-gradient(#06091459,#0000 26% 70%,#060914b3);position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.scene *,.scene :before,.scene :after{animation:none!important}}.scene-flag{--team:#3b82f6;background:linear-gradient(90deg,#27272a,#a1a1aa 50%,#27272a);border-radius:4px;width:8px;position:absolute}.scene-flag-red{--team:#ef4444}.scene-flag:before{content:"";background:#facc15;border-radius:50%;width:14px;height:14px;margin-left:-7px;position:absolute;top:-7px;left:50%;box-shadow:0 0 10px #facc15b3}.scene-flag-cloth{width:var(--cloth-w);height:var(--cloth-h);background:linear-gradient(180deg, #ffffff47, transparent 45%, #00000038), var(--team);clip-path:polygon(0 0,100% 50%,0 100%);transform-origin:0;animation:1.4s ease-in-out infinite alternate flag-wave;position:absolute;top:6px;left:100%}@keyframes flag-wave{0%{transform:scaleX(.8)skewY(5deg)}to{transform:scaleX(1.05)skewY(-4deg)}}.scene-flag-planted{--cloth-w:96px;--cloth-h:62px;height:150px;bottom:0;left:-4px}.scene-flag-carried{z-index:2;--cloth-w:46px;--cloth-h:30px;width:5px;height:78px;bottom:40%;left:62%}.scene-flag-carried.trail-left{left:32%;transform:scaleX(-1)}.scene-flag-carried .scene-flag-cloth{animation-duration:.45s}.ctf-pad{width:0;height:0}.ctf-pad-blue{--pad-ring:#3b82f6e6;--pad-glow:#3b82f680}.ctf-pad-red{--pad-ring:#ef4444e6;--pad-glow:#ef444480}.ctf-pad:before{content:"";border:4px solid var(--pad-ring);background:radial-gradient(ellipse, var(--pad-glow), transparent 70%);border-radius:50%;width:100px;height:50px;animation:2.4s ease-in-out infinite pad-pulse;position:absolute;top:-25px;left:-50px}@keyframes pad-pulse{0%,to{opacity:.75;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}.soccer-pitch{background:repeating-linear-gradient(90deg, #00000017 0 150px, #ffffff0d 150px 300px), var(--tex-ground) 0 0 / 256px;border-radius:6px;box-shadow:0 0 0 12px #1e461e8c,0 24px 50px #00000059}.soccer-pitch>*{position:absolute}.pitch-line{border:6px solid #f8fafcd9}.pitch-border{inset:16px}.pitch-halfway{border-width:0 0 0 6px;width:0;margin-left:-3px;top:16px;bottom:16px;left:50%}.pitch-circle{border-radius:50%;width:260px;height:260px;margin:-130px 0 0 -130px;top:50%;left:50%}.pitch-spot{background:#f8fafce6;border-radius:50%;width:18px;height:18px;margin:-9px 0 0 -9px;top:50%;left:50%}.pitch-box{width:260px;top:140px;bottom:140px}.pitch-small-box{width:110px;top:250px;bottom:250px}.pitch-box-blue{left:16px}.pitch-box-red{right:16px}.soccer-goal{--team:#3b82f6f2;background:repeating-linear-gradient(0deg,#ffffff73 0 2px,#0000 2px 15px),#3b82f647 repeating-linear-gradient(90deg,#ffffff73 0 2px,#0000 2px 15px);border-radius:6px;animation:6s ease-in-out infinite net-ripple;box-shadow:0 12px 20px #00000059}.soccer-goal-blue{border-right:8px solid var(--team);transform-origin:100%}.soccer-goal-red{--team:#ef4444f2;border-left:8px solid var(--team);transform-origin:0;background-color:#ef444447;animation-delay:-3s}.soccer-goal:before,.soccer-goal:after{content:"";background:#f8fafc;border:3px solid #1f2937;border-radius:50%;width:22px;height:22px;position:absolute}.soccer-goal:before{top:-11px}.soccer-goal:after{bottom:-11px}.soccer-goal-blue:before,.soccer-goal-blue:after{right:-15px}.soccer-goal-red:before,.soccer-goal-red:after{left:-15px}@keyframes net-ripple{0%,80%,to{transform:scaleX(1)}86%{transform:scaleX(1.14)}92%{transform:scaleX(.96)}}.soccer-stand{background:radial-gradient(circle,#ef4444 0 5px,#0000 6px) 0 0/28px 22px,radial-gradient(circle,#3b82f6 0 5px,#0000 6px) 14px 11px/28px 22px,linear-gradient(#3f3f46,#27272a);border-radius:10px;animation:.9s ease-in-out infinite alternate crowd-cheer;box-shadow:inset 0 0 0 4px #00000059,0 10px 20px #00000059}@keyframes crowd-cheer{0%{background-position:0 0,14px 11px,0 0}to{background-position:0 -4px,14px 7px,0 0}}.scene-carry-ball{z-index:2;background:radial-gradient(circle,#111827 0 5px,#0000 6px),radial-gradient(circle at 18% 30%,#111827 0 3px,#0000 4px),radial-gradient(circle at 80% 72%,#111827 0 3px,#0000 4px),radial-gradient(circle at 35% 30%,#fff 0 35%,#d1d5db 75%,#9ca3af);border-radius:50%;width:26px;height:26px;animation:.5s linear infinite ball-roll;position:absolute;bottom:2px;left:calc(100% - 18px);box-shadow:0 0 0 2px #00000040}.scene-carry-ball.lead-left{animation-direction:reverse;left:auto;right:calc(100% - 18px)}@keyframes ball-roll{to{transform:rotate(360deg)}}.race-curb{background:repeating-linear-gradient(45deg,#ef4444 0 24px,#f8fafc 24px 48px)}.race-curb-outer{border-radius:230px;box-shadow:0 18px 36px #00000059}.race-asphalt{background:linear-gradient(#33415599, #33415599), var(--tex-path) 0 0 / 180px;border-radius:216px;box-shadow:inset 0 0 50px #00000073}.race-centerline{border:5px dashed #f8fafc59;border-radius:150px}.race-curb-inner{border-radius:130px}.race-infield{background:var(--tex-ground) 0 0 / 256px;border-radius:116px;box-shadow:inset 0 0 40px #14532d8c}.race-finish{background:repeating-conic-gradient(#111827 0 25%, #f8fafc 0 50%) 0 0 / 40px 40px;box-shadow:0 0 18px #ffffff59}.race-gate{opacity:.85;background:repeating-linear-gradient(#facc15 0 26px,#0000 26px 52px)}.race-gate:before,.race-gate:after{content:"";background:#facc15;border-radius:50%;width:20px;height:20px;margin-left:-10px;position:absolute;left:50%;box-shadow:0 0 12px #facc15cc}.race-gate:before{top:-10px}.race-gate:after{bottom:-10px}.race-chevron{width:40px;height:40px;transform:rotate(var(--chevron-turn));border-top:8px solid #f8fafc80;border-right:8px solid #f8fafc80;animation:1.2s ease-in-out infinite chevron-pulse}@keyframes chevron-pulse{0%,to{opacity:.25}50%{opacity:1}}.menu-screen{flex-direction:column;gap:22px;padding-bottom:84px;display:flex}.menu-top{align-items:center;gap:20px;animation:.5s ease-out rise-in;display:flex}@media (width<=900px){.menu-top{flex-wrap:wrap}}.menu-top .logo{flex:none;margin-right:16px}.menu-actions{flex:none;gap:10px;margin-left:auto;display:flex}@media (width<=1180px){.trainer-card .badge-case{display:none}}.pokedex-button{background:linear-gradient(#ef4444,#b91c1c);border-color:#fca5a5;box-shadow:0 4px #7f1d1d}.pokedex-button:hover:not(:disabled){background:linear-gradient(#f87171,#dc2626)}.trainer-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:linear-gradient(120deg,#2a5bd759,#ffffff0a);border:1px solid #93c5fd38;border-radius:20px;flex:1 1 0;align-items:center;gap:16px;min-width:0;max-width:820px;padding:10px 14px 10px 10px;display:flex}.trainer-avatar{background:radial-gradient(circle at 50% 82%,#ffcb0559,#0a0e24e6 62%);border:2px solid #ffcb058c;border-radius:18px;flex:none;justify-content:center;align-items:flex-end;width:76px;height:76px;padding-bottom:6px;display:flex;overflow:hidden}.trainer-info{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.trainer-name{letter-spacing:2px;text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:800}.trainer-name strong{font-family:var(--font-display);letter-spacing:.4px;text-transform:none;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:22px;display:block;overflow:hidden}.trainer-stats{color:var(--muted);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.trainer-stats b{color:var(--text);margin-right:2px}.trainer-progress{border:1px solid var(--line);background:#00000073;border-radius:999px;height:16px;position:relative;overflow:hidden}.trainer-progress>span{background:linear-gradient(90deg, var(--accent-2), var(--accent));box-shadow:0 0 12px var(--accent-glow);border-radius:999px;position:absolute;inset:0 auto 0 0}.trainer-progress small{text-align:center;letter-spacing:1px;text-shadow:0 1px 2px #000;font-size:10px;font-weight:800;line-height:14px;display:block;position:relative}.badge-case{border:1px solid var(--line);background:#00000059;border-radius:14px;gap:6px;margin:0;padding:8px 10px;list-style:none;display:flex}.badge-case li{align-items:center;gap:10px;display:flex}.badge-case.detailed{background:0 0;border:none;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:0;display:grid}@media (width<=760px){.badge-case.detailed{grid-template-columns:1fr 1fr}}.badge-case.detailed li{border:1px solid var(--line);background:#00000047;border-radius:14px;padding:10px 12px}.badge-case.detailed li.earned{background:linear-gradient(120deg,#ffcb051f,#0003);border-color:#ffcb0566}.badge-text{flex-direction:column;font-size:13px;display:flex}.badge-text small{color:var(--muted);font-size:12px}.gym-badge{filter:saturate(.2)brightness(.5);opacity:.7;flex:none;width:24px;height:24px;transition:filter .3s,transform .3s;display:block}.badge-case.detailed .gym-badge{width:34px;height:34px}.earned .gym-badge{filter:drop-shadow(0 0 6px #ffffff73);opacity:1}.earned .gym-badge:hover{transform:scale(1.2)rotate(-8deg)}.gym-boulder{clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);background:linear-gradient(135deg,#e5e7eb,#6b7280)}.gym-cascade{background:linear-gradient(135deg,#bae6fd,#2563eb);border-radius:50% 0 50% 50%;transform:rotate(-45deg)scale(.85)}.gym-thunder{clip-path:polygon(50% 0,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%);background:linear-gradient(135deg,#fde68a,#f97316)}.gym-rainbow{clip-path:polygon(50% 0,65% 20%,100% 25%,80% 50%,100% 75%,65% 80%,50% 100%,35% 80%,0 75%,20% 50%,0 25%,35% 20%);background:conic-gradient(#f87171,#fbbf24,#4ade80,#60a5fa,#c084fc,#f87171);border-radius:50%}.gym-soul{clip-path:polygon(50% 100%,0 40%,10% 10%,30% 2%,50% 20%,70% 2%,90% 10%,100% 40%);background:linear-gradient(135deg,#fbcfe8,#db2777)}.gym-marsh{background:radial-gradient(circle,#fef3c7 0 18%,#d97706 19% 38%,#fde68a 39% 58%,#b45309 59%);border-radius:50%}.gym-volcano{clip-path:polygon(50% 0,70% 30%,85% 20%,100% 100%,0 100%,15% 20%,30% 30%);background:linear-gradient(#fdba74,#ef4444 50%,#7f1d1d)}.gym-earth{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(135deg,#bbf7d0,#15803d)}.gym-master{clip-path:polygon(50% 0,63% 32%,98% 35%,71% 58%,80% 93%,50% 74%,20% 93%,29% 58%,2% 35%,37% 32%);background:linear-gradient(135deg,#fff7c2,#f59e0b 50%,#a855f7)}.menu-grid{grid-template-columns:minmax(0,1.35fr) minmax(320px,1fr);align-items:start;gap:22px;animation:.6s ease-out rise-in;display:grid}@media (width<=980px){.menu-grid{grid-template-columns:1fr}}.create-panel{flex-direction:column;gap:16px;display:flex}.create-panel .panel-head{margin-bottom:0}.create-row{grid-template-columns:1fr auto;align-items:end;gap:14px;display:grid}@media (width<=640px){.create-row{grid-template-columns:1fr}}.mode-picker{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.mode-tile{--mode:var(--accent);cursor:pointer;border:1px solid var(--line);background:linear-gradient(135deg, color-mix(in srgb, var(--mode) 16%, transparent), #ffffff05);border-radius:16px;align-items:center;gap:12px;min-height:96px;padding:16px 88px 16px 16px;transition:transform .2s,border-color .2s,box-shadow .2s;display:flex;position:relative;overflow:hidden}.mode-tile:hover{border-color:color-mix(in srgb, var(--mode) 60%, transparent);transform:translateY(-2px)}.mode-tile.active{border-color:var(--mode);box-shadow:0 0 0 1px var(--mode), 0 14px 34px -14px var(--mode);background:linear-gradient(135deg, color-mix(in srgb, var(--mode) 32%, transparent), #ffffff08)}.mode-tile input{opacity:0;pointer-events:none;position:absolute}.mode-battle{--mode:#f97316}.mode-ctf{--mode:#a855f7}.mode-soccer{--mode:#22c55e}.mode-race{--mode:#38bdf8}.mode-icon{background:color-mix(in srgb, var(--mode,var(--accent)) 25%, #0006);width:42px;height:42px;color:var(--mode,var(--accent));border-radius:12px;flex:none;place-items:center;display:grid}.mode-text{z-index:1;flex-direction:column;gap:3px;min-width:0;display:flex}.mode-text b{font-family:var(--font-display);font-size:17px}.mode-text small{color:#c3cbe8;font-size:12px;line-height:1.35}.mode-mascot{opacity:.55;align-items:flex-end;transition:opacity .2s,transform .25s;display:flex;position:absolute;bottom:2px;right:4px}.mode-tile.active .mode-mascot,.mode-tile:hover .mode-mascot{opacity:1;transform:scale(1.08)}.segmented{border:1px solid var(--line);background:#0006;border-radius:14px;gap:4px;padding:4px;display:inline-flex}.segmented label{cursor:pointer;color:var(--muted);border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:7px 14px;transition:background .15s,color .15s;display:flex}.segmented label.active{color:var(--text);box-shadow:inset 0 0 0 1px var(--line-strong);background:#ffffff1a}.segmented input{opacity:0;pointer-events:none;position:absolute}.segmented b{letter-spacing:.5px;font-size:13px}.format-dots{align-items:center;gap:3px;display:flex}.format-dots i{border-radius:50%;width:7px;height:7px}.format-dots em{text-transform:none;margin:0 3px;font-size:9px;font-style:normal;font-weight:800}.dot-blue{background:var(--blue);box-shadow:0 0 6px var(--blue-glow)}.dot-red{background:var(--red);box-shadow:0 0 6px var(--red-glow)}.rooms-panel{flex-direction:column;display:flex}.room-list{flex-direction:column;gap:10px;max-height:420px;margin:0 0 14px;padding:0;list-style:none;display:flex;overflow-y:auto}.room-item{--mode:var(--accent);border:1px solid var(--line);border-left:3px solid var(--mode);background:#0000004d;border-radius:14px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:12px;padding:12px;animation:.35s ease-out rise-in;display:grid}.room-info{flex-direction:column;gap:4px;min-width:0;display:flex}.room-info b{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.room-chips{gap:6px;display:flex}.room-chips i{color:#c3cbe8;background:#ffffff14;border-radius:999px;padding:1px 8px;font-size:11px;font-style:normal;font-weight:700}.room-chips .chip-dev{background:#a855f74d}.room-fill{background:#ffffff14;border-radius:999px;height:4px;overflow:hidden}.room-fill span{background:var(--mode);height:100%;display:block}.room-count{font-family:var(--font-display);color:var(--muted);font-size:15px}.room-empty{border:1px dashed var(--line-strong);border-radius:14px;align-items:center;gap:14px;padding:14px;display:flex}.room-empty span:last-child{flex-direction:column;gap:2px;display:flex}.join-code{gap:8px;display:flex}.join-code input{letter-spacing:.28em;flex:1;min-width:0;font-family:ui-monospace,Cascadia Code,Consolas,monospace}.ranking-button{color:#1a1405;background:linear-gradient(#f6c945,#d89209);border-color:#ffe08a;box-shadow:0 4px #8a5a08}.ranking-button:hover:not(:disabled){background:linear-gradient(#ffe07a,#f0b429)}.ranking-overlay{z-index:30;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#03050eb8;place-items:center;padding:20px;display:grid;position:fixed;inset:0;overflow-y:auto}.ranking-card{background:linear-gradient(#243049,#171d30);border:1px solid #ffffff14;border-radius:26px;flex-direction:column;width:min(440px,100%);max-height:min(860px,100vh - 40px);display:flex;position:relative;overflow:hidden;box-shadow:0 30px 80px -20px #000000d9}.ranking-banner{color:#1a1405;background:repeating-linear-gradient(115deg,#f6c453 0 12px,#e8a31a 12px 24px);align-items:center;gap:12px;padding:16px 52px 16px 16px;display:flex;position:relative}.ranking-banner h2{font-family:var(--font-display);letter-spacing:.2px;margin:0;font-size:26px}.ranking-banner p{margin:2px 0 0;font-size:13px;font-weight:700}.ranking-medal{color:#7c2d12;background:radial-gradient(circle at 35% 30%,#fff6d0,#f5b942 46%,#d97706);border-radius:50%;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:inset 0 -3px #0000002e}.ranking-close{color:#1a1405;background:#ffffff59;border-color:#0000;border-radius:50%;width:32px;height:32px;padding:0;font-size:22px;line-height:1;position:absolute;top:10px;right:10px}.ranking-tabs{align-items:center;gap:8px;padding:12px 12px 8px;display:flex}.ranking-tabs button{color:#c5cceb;background:#12182b;border-color:#0000;border-radius:999px;width:42px;height:42px;padding:0}.ranking-tabs button.active{color:#fff;background:#313a57;border-color:#ffffff29;gap:8px;width:auto;padding:0 16px}.ranking-scope{background:#12182b;border-radius:16px;align-items:center;gap:10px;margin:0 12px 8px;padding:10px 12px;display:flex}.ranking-globe{color:#f6c453;background:radial-gradient(circle at 40% 35%,#3a4f86,#1a2748);border-radius:50%;flex:none;place-items:center;width:36px;height:36px;display:grid}.ranking-scope b{font-size:15px;display:block}.ranking-scope small{color:var(--muted);font-size:12px}.ranking-list{flex-direction:column;flex:1;gap:8px;min-height:180px;padding:4px 12px 8px;display:flex;overflow-y:auto}.ranking-list::-webkit-scrollbar{width:8px}.ranking-list::-webkit-scrollbar-thumb{background:#e8b84a;border-radius:8px}.ranking-status{text-align:center;margin:28px 0}.ranking-podium-list,.ranking-rows{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.ranking-podium,.ranking-row{background:#232b42;border:1px solid #ffffff0f;border-radius:16px;align-items:center;gap:10px;padding:8px 12px 8px 8px;display:flex}.ranking-podium.rank-1{background:linear-gradient(90deg,#f5c54229,#232b42 42%);border-color:#f5c542d9}.ranking-podium.rank-2{border-color:#93c5fd73}.ranking-podium.rank-3{border-color:#c4b5fd66}.ranking-podium.is-self,.ranking-row.is-self{border-color:#f5c542;box-shadow:inset 0 0 0 1px #f5c542}.ranking-row.pinned{margin-top:4px}.ranking-avatar{border:3px solid var(--ring,#f5c542);background:radial-gradient(circle at 50% 80%,#fff3,#00000073 70%);border-radius:50%;flex:none;justify-content:center;align-items:flex-end;display:flex;overflow:hidden}.ranking-avatar.large{width:64px;height:64px}.ranking-avatar.small{border-width:2px;width:36px;height:36px}.rank-1{--ring:#f5c542}.rank-2{--ring:#93c5fd}.rank-3{--ring:#c4b5fd}.ranking-place{text-align:center;color:#c5cceb;flex:none;width:18px;font-weight:800}.ranking-identity{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.ranking-identity b{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;font-size:15px;display:flex;overflow:hidden}.ranking-identity small{color:#9aa3c7;white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.ranking-you-chip{color:#f6c453;letter-spacing:.4px;background:#f5c5422e;border-radius:999px;flex:none;padding:1px 6px;font-size:10px;font-weight:800}.ranking-score{flex-direction:column;flex:none;align-items:flex-end;line-height:1;display:flex}.ranking-score strong{font-family:var(--font-display);font-size:22px}.ranking-score small{color:#9aa3c7;margin-top:4px;font-size:11px;font-weight:700}.ranking-score.compact{flex-direction:row;align-items:center;gap:6px;font-weight:800}.ranking-gem{clip-path:polygon(50% 0,100% 50%,50% 100%,0 50%);background:linear-gradient(135deg,#fde68a,#f59e0b);width:12px;height:12px}.ranking-footer{padding:8px 14px 14px}.ranking-you{text-align:center;color:#d5dcf3;margin:0 0 8px;font-size:13px;font-weight:700}.ranking-bands{justify-content:space-between;gap:4px;margin:0 0 12px;padding:0;list-style:none;display:flex}.ranking-bands li{color:#9aa3c7;flex-direction:column;align-items:center;gap:4px;font-size:10px;font-weight:800;display:flex}.ranking-bands i{border-radius:50%;width:18px;height:18px;display:block}.band-gold{background:radial-gradient(circle at 35% 30%,#fff4c2,#f5b942)}.band-blue{background:radial-gradient(circle at 35% 30%,#dbeafe,#3b82f6)}.band-green{background:radial-gradient(circle at 35% 30%,#dcfce7,#22c55e)}.band-purple{background:radial-gradient(circle at 35% 30%,#ede9fe,#8b5cf6)}.band-orange{background:radial-gradient(circle at 35% 30%,#ffedd5,#f97316)}.band-red{background:radial-gradient(circle at 35% 30%,#fee2e2,#ef4444)}.ranking-full{color:#fff;background:linear-gradient(#60a5fa,#2563eb);border-color:#93c5fd;border-radius:999px;width:100%;padding:12px 16px;font-weight:800;box-shadow:0 4px #1e3a8a}.ranking-full:hover:not(:disabled){background:linear-gradient(#93c5fd,#3b82f6)}.avatar-sheet{width:min(820px,96vw);max-height:min(760px,92vh);color:var(--text);background:linear-gradient(#1a2238 0%,#101622 28%,#0d121c 100%);border:1px solid #ffffff14;border-radius:24px;flex-direction:column;animation:.35s cubic-bezier(.2,.9,.25,1.15) card-pop;display:flex;position:relative;overflow:hidden;box-shadow:0 36px 80px -24px #000000d9}.avatar-head{align-items:center;gap:18px;padding:22px 58px 6px 22px;display:flex}.avatar-head h2{font-family:var(--font-display);letter-spacing:.2px;margin:2px 0 6px;font-size:28px}.avatar-head p:last-child{color:#b7c0dc;max-width:460px;margin:0;font-size:14px;line-height:1.45}.avatar-preview{background:radial-gradient(circle at 50% 42%,#6d7ea8,#243049 68%);border:4px solid #ffffff29;border-radius:50%;flex:none;place-items:center;width:104px;height:104px;display:grid;overflow:hidden;box-shadow:0 10px 24px #0006}.avatar-preview img{object-fit:contain;width:92px;height:92px;image-rendering:pixelated}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:4px 2px;padding:12px 14px 18px;display:grid;overflow-y:auto}.avatar-option{cursor:pointer;background:0 0;border:none;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:8px 4px 10px;display:flex}.avatar-option:hover:not(:disabled){background:#ffffff0a;border-color:#0000;transform:none}.avatar-option:active:not(:disabled){transform:none}.avatar-option:disabled{opacity:1}.avatar-orb{background:radial-gradient(circle at 50% 38%,#46567a,#1c263c 70%);border:3px solid #ffffff0f;border-radius:50%;place-items:center;width:86px;height:86px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid;overflow:hidden}.avatar-option:hover:not(:disabled) .avatar-orb{border-color:#ffcb0573}.avatar-option.selected .avatar-orb{background:radial-gradient(circle at 50% 38%,#8a7424,#3d3412 72%);border-color:#f0c428;box-shadow:0 0 0 3px #f0c42873}.avatar-orb img{object-fit:contain;width:72px;height:72px;image-rendering:pixelated}.avatar-option b{color:#d5dcf5;font-size:13px;font-weight:700}.avatar-option.selected b{color:#ffe27a}.avatar-error{text-align:center;margin:0 18px 16px}button.trainer-avatar{cursor:pointer;padding:0 0 6px}button.trainer-avatar:hover:not(:disabled){border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow);background:radial-gradient(circle at 50% 82%,#ffcb0580,#0a0e24e6 62%);transform:none}button.trainer-avatar:active:not(:disabled){transform:none}.browser{grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:20px;display:grid}@media (width<=900px){.browser{grid-template-columns:1fr}.spotlight{order:-1;position:static}}.browser-main{min-width:0}.browser-empty{text-align:center;grid-column:1/-1;padding:30px}.pokemon-filter{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.filter-search{background-image:radial-gradient(circle at 17px 50%, transparent 5px, var(--muted) 5.5px 7px, transparent 7.5px);background-repeat:no-repeat;flex:220px;padding-left:36px}.filter-count{font-family:var(--font-display);color:var(--accent);background:#ffcb051f;border-radius:999px;margin-left:auto;padding:4px 10px;font-size:13px}.pokemon-grid{grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;display:grid}.poke-tile{--tint:var(--type-normal);background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--tint) 34%, transparent), transparent 62%), #080c1ebf;border:1px solid color-mix(in srgb, var(--tint) 30%, var(--line));border-radius:16px;flex-direction:column;justify-content:flex-start;gap:4px;min-height:140px;padding:10px 6px 9px;font-weight:600;position:relative}.poke-tile>*{pointer-events:none}.poke-tile:hover:not(:disabled){background:radial-gradient(circle at 50% 38%, color-mix(in srgb, var(--tint) 55%, transparent), transparent 66%), #0c1228e6;border-color:var(--tint);box-shadow:0 14px 28px -14px var(--tint);transform:translateY(-3px)}.poke-tile.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent), 0 16px 30px -12px var(--accent-glow)}.poke-tile.locked{border-color:var(--line);background:#080c1e99}.poke-tile.locked:disabled{opacity:1}.poke-tile.locked .tile-art img{filter:brightness(0);opacity:.55}.poke-tile.locked .tile-name{color:var(--muted)}.tile-dex{color:#fff6;letter-spacing:.5px;font-size:10px;font-weight:800;position:absolute;top:6px;left:9px}.tile-art{justify-content:center;align-items:flex-end;width:100%;height:76px;padding-bottom:2px;display:flex}.tile-art img{image-rendering:pixelated;object-fit:contain;width:64px;height:64px;transition:transform .2s}.poke-tile:hover .tile-art img{transform:scale(1.12)}.tile-name{white-space:nowrap;text-overflow:ellipsis;max-width:100%;font-size:13px;overflow:hidden}.tile-types{gap:4px;display:flex}.type-dot{background:var(--t);border-radius:50%;width:10px;height:10px;box-shadow:0 0 0 2px #0006}.tile-lock,.tile-check{border-radius:50%;place-items:center;width:22px;height:22px;display:grid;position:absolute;top:6px;right:7px}.tile-lock{color:var(--muted);background:#0009}.tile-check{background:var(--accent);color:#1a1405}.spotlight{--tint:var(--type-normal);background:linear-gradient(180deg, color-mix(in srgb, var(--tint) 26%, #0a0e24eb), #0a0e24eb 55%);border:1px solid color-mix(in srgb, var(--tint) 45%, transparent);box-shadow:0 24px 50px -24px color-mix(in srgb, var(--tint) 70%, #000);border-radius:22px;flex-direction:column;gap:12px;padding:18px;animation:.3s ease-out spotlight-in;display:flex;position:sticky;top:12px}@keyframes spotlight-in{0%{opacity:.4;transform:translateY(6px)}to{opacity:1;transform:none}}.spotlight-stage{background:radial-gradient(circle at 50% 80%, color-mix(in srgb, var(--tint) 45%, transparent), transparent 60%), repeating-linear-gradient(45deg, #ffffff06 0 10px, transparent 10px 20px);border-radius:16px;height:210px;position:relative;overflow:hidden}.spotlight-art{justify-content:center;align-items:flex-end;padding-bottom:34px;display:flex;position:absolute;inset:0}.spotlight-art .pmd-sprite{z-index:1;filter:drop-shadow(0 6px 10px #00000080);position:relative}.spotlight-art .pmd-sprite.silhouette{filter:brightness(0)drop-shadow(0 0 2px #fff6)}.spotlight-platform{background:radial-gradient(ellipse, color-mix(in srgb, var(--tint) 70%, #fff) 0%, color-mix(in srgb, var(--tint) 30%, transparent) 55%, transparent 72%);border-radius:50%;width:180px;height:38px;position:absolute;bottom:18px}.spotlight-dex{font-family:var(--font-display);color:#ffffff24;font-size:30px;position:absolute;top:10px;left:14px}.spotlight-role{letter-spacing:1px;text-transform:uppercase;border:1px solid var(--line-strong);background:#00000080;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:800;position:absolute;top:12px;right:12px}.spotlight-name{font-family:var(--font-display);letter-spacing:.3px;margin:0;font-size:28px}.spotlight-lock{border:1px dashed var(--line-strong);color:#e2e8f0;background:#0006;border-radius:12px;align-items:center;gap:8px;margin:0;padding:8px 10px;font-size:13px;display:flex}.stat-bars{flex-direction:column;gap:7px;margin:0;display:flex}.stat-bar{grid-template-columns:86px 1fr 52px;align-items:center;gap:10px;font-size:12px;display:grid}.stat-bar dt{color:var(--muted);font-weight:700}.stat-bar dd{background:#ffffff14;border-radius:999px;height:8px;margin:0;overflow:hidden}.stat-bar dd span{transform-origin:0;border-radius:999px;height:100%;animation:.6s cubic-bezier(.2,.8,.2,1) bar-grow;display:block}.stat-bar b{text-align:right;font-variant-numeric:tabular-nums}.stat-hp dd span{background:linear-gradient(90deg,#16a34a,#4ade80)}.stat-speed dd span{background:linear-gradient(90deg,#0284c7,#38bdf8)}.stat-offense dd span{background:linear-gradient(90deg,#dc2626,#fb923c)}.stat-defense dd span{background:linear-gradient(90deg,#7c3aed,#c084fc)}@keyframes bar-grow{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.spotlight-moves{grid-template-columns:1fr 1fr;gap:8px;display:grid}.spotlight-moves div{border:1px solid var(--line);background:#00000059;border-radius:12px;flex-direction:column;gap:2px;padding:9px 11px;display:flex}.spotlight-moves small{letter-spacing:1px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.spotlight-moves b{font-size:14px}.evo-chain{justify-content:center;align-items:center;gap:4px;display:flex}.evo-chain button{border-color:var(--line);background:#00000059;border-radius:14px;padding:4px}.evo-chain button+button{margin-left:18px;position:relative}.evo-chain button+button:before{content:"";border-top:2px solid var(--muted);border-right:2px solid var(--muted);width:10px;height:10px;position:absolute;top:50%;left:-16px;transform:translateY(-50%)rotate(45deg)}.evo-chain button.active{border-color:var(--tint);background:color-mix(in srgb, var(--tint) 25%, #00000059)}.evo-chain img{image-rendering:pixelated;display:block}.lobby-screen{flex-direction:column;gap:20px;padding-bottom:0;display:flex}.lobby-header{flex-wrap:wrap;align-items:center;gap:16px;animation:.4s ease-out rise-in;display:flex}.lobby-title{flex-direction:column;min-width:0;margin-right:auto;display:flex}.lobby-title h2{font-family:var(--font-display);white-space:nowrap;text-overflow:ellipsis;margin:0;font-size:26px;overflow:hidden}.code-chip{background:#00000073;border:1px dashed #ffcb0580;border-radius:14px;align-items:center;gap:2px;padding:4px 6px 4px 14px;display:inline-flex}.code-chip button{box-shadow:none;background:0 0;border-color:#0000;border-radius:10px;padding:6px}.code-chip .code-copy{gap:10px;padding:4px 4px 4px 0}.code-chip button:hover:not(:disabled),.code-chip button:active:not(:disabled){background:#ffffff1a;border-color:#0000;transform:none}.code-chip small{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.code-chip span{color:var(--accent);letter-spacing:.28em;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:20px;font-weight:700}.code-chip.copied{border-style:solid;border-color:var(--ok)}.code-chip.copied small{color:var(--ok)}.lobby-settings{gap:10px;display:flex}.lobby-settings label{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);flex-direction:column;gap:3px;font-size:10px;font-weight:800;display:flex}.lobby-settings select{letter-spacing:0;text-transform:none;color:var(--text);padding:7px 10px;font-size:14px;font-weight:600}.versus{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:18px;display:grid}@media (width<=860px){.versus{grid-template-columns:1fr}.vs-emblem{padding:0}}.team{--team:var(--blue);--team-glow:var(--blue-glow);border-radius:var(--radius);background:linear-gradient(180deg, color-mix(in srgb, var(--team) 20%, #0a0e24d9), #0a0e24d9);border:1px solid color-mix(in srgb, var(--team) 55%, transparent);box-shadow:0 0 40px -18px var(--team-glow), inset 0 1px 0 #ffffff14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;gap:8px;padding:12px 14px;display:flex;position:relative}.team-red{--team:var(--red);--team-glow:var(--red-glow)}.team-blue{animation:.5s ease-out slide-left}.team-red{animation:.5s ease-out slide-right}@keyframes slide-left{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:none}}@keyframes slide-right{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:none}}.team-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.team-head h3{font-family:var(--font-display);color:color-mix(in srgb, var(--team) 70%, #fff);text-transform:uppercase;letter-spacing:1px;margin:0;font-size:20px}.team-head h3 small{color:var(--muted);font-size:14px}.team-ready{color:var(--muted);font-size:12px;font-weight:700}.slots{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.slot{border:1px solid var(--line);background:#00000059;border-radius:14px;align-items:center;gap:12px;min-height:64px;padding:6px 12px 6px 6px;animation:.3s ease-out rise-in;display:flex}.slot-art{background:radial-gradient(ellipse at 50% 55%, color-mix(in srgb, var(--team) 45%, transparent), transparent 72%);border-radius:10px;flex:none;justify-content:center;align-items:center;width:64px;height:56px;display:flex;position:relative}.slot-art .pmd-sprite{margin-bottom:0}.slot-info{flex-direction:column;flex:1;min-width:72px;display:flex}.slot-info b{white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;display:flex;overflow:hidden}.slot-info small{color:var(--muted);font-size:12px}.slot.me{background:linear-gradient(90deg,#ffcb051f,#00000059);border-color:#ffcb058c}.slot.ready{box-shadow:inset 3px 0 0 var(--ok)}.slot.empty{color:var(--muted);background:0 0;border-style:dashed;align-items:center}.slot.empty .slot-art{background:0 0}.slot.empty .slot-art:after{content:"";background:linear-gradient(#0000 0 45%,#ffffff24 45% 55%,#0000 55%);border:2px solid #ffffff24;border-radius:50%;width:26px;height:26px}.slot.empty b{font-weight:600}.you-tag{letter-spacing:1px;text-transform:uppercase;background:var(--accent);color:#1a1405;border-radius:6px;padding:1px 6px;font-size:10px;font-style:normal;font-weight:800}.status-pill{letter-spacing:1px;text-transform:uppercase;border-radius:999px;padding:4px 10px;font-size:11px;font-weight:800}.status-pill.ready{color:var(--ok);box-shadow:0 0 14px -4px var(--ok);background:#34d3992e;animation:1.6s ease-in-out infinite ready-glow}.status-pill.not-ready{color:var(--muted);background:#ffffff0f}@keyframes ready-glow{50%{box-shadow:0 0 20px -2px var(--ok)}}.team-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;display:flex}.team-actions:empty{display:none}.race-roster{--team:var(--accent);--team-glow:#ffcb0566;max-width:720px}.add-bot,.bot-controls{align-items:center;gap:6px;display:inline-flex}.bot-controls{flex:0 auto;min-width:0;margin-left:auto}.bot-controls select{min-width:0;max-width:112px}.bot-controls select:first-child{max-width:88px}.bot-controls select,.add-bot select{border-radius:10px;padding:5px 8px;font-size:13px}.bot-controls button,.add-bot button{border-radius:10px;padding:5px 10px;font-size:13px}.vs-emblem{flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:0 6px;display:flex}.vs-emblem span{width:84px;height:84px;font-family:var(--font-display);background:linear-gradient(135deg, var(--blue) 0 49%, var(--red) 51%);color:#fff;text-shadow:0 3px #00000080;border:4px solid #fff;border-radius:50%;place-items:center;font-size:34px;font-style:italic;animation:2.4s ease-in-out infinite vs-pulse;display:grid;box-shadow:0 0 0 4px #00000080,0 0 40px #ffffff40}.vs-emblem small{letter-spacing:2px;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:800}@keyframes vs-pulse{50%{transform:scale(1.07)rotate(-4deg)}}.picker .panel-head{margin-bottom:10px}.lobby-footer{z-index:5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:linear-gradient(#06091400,#060914eb 30%);flex-wrap:wrap;align-items:center;gap:18px;margin:0 calc(-1*clamp(16px,3vw,40px));padding:14px clamp(16px,3vw,40px);display:flex;position:sticky;bottom:0}.ready-button{min-width:230px;font-size:19px}.ready-button.is-ready{background:linear-gradient(#6ee7b7,#10b981);box-shadow:0 6px #047857,0 18px 40px -12px #10b98199}.ready-count{color:var(--ok);align-items:center;gap:6px;font-weight:800;display:inline-flex}.controls-help{color:var(--muted);flex-wrap:wrap;gap:14px;margin:0 0 0 auto;padding:0;font-size:12px;list-style:none;display:flex}.controls-help li{align-items:center;gap:6px;display:flex}.collection-screen{flex-direction:column;gap:20px;display:flex}.dex-header{flex-wrap:wrap;align-items:center;gap:20px;animation:.4s ease-out rise-in;display:flex}.dex-ring{--progress:0deg;background:conic-gradient(var(--accent) var(--progress), #ffffff14 0);width:86px;height:86px;box-shadow:0 0 30px -8px var(--accent-glow);border-radius:50%;flex:none;place-items:center;display:grid}.dex-ring span{background:var(--bg);width:70px;height:70px;font-family:var(--font-display);border-radius:50%;place-items:center;font-size:20px;display:grid}.dex-title{flex-direction:column;margin-right:auto;display:flex}.dex-title h2{font-family:var(--font-display);margin:0;font-size:34px}.dex-stats{flex-wrap:wrap;gap:10px;margin:0;display:flex}.dex-stats div{background:var(--glass);border:1px solid var(--line);border-radius:14px;min-width:92px;padding:10px 14px}.dex-stats dt{letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:800}.dex-stats dd{font-family:var(--font-display);margin:2px 0 0;font-size:22px}.achievements{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px;margin:0;padding:0;list-style:none;display:grid}.achievements li{border:1px solid var(--line);background:#0000004d;border-radius:14px;align-items:center;gap:12px;padding:12px;display:flex}.achievements li.done{background:linear-gradient(120deg,#ffcb0524,#00000040);border-color:#ffcb0573}.achievement-icon{width:38px;height:38px;color:var(--muted);background:#ffffff0f;border-radius:12px;flex:none;place-items:center;display:grid}.done .achievement-icon{color:#1a1405;box-shadow:0 0 16px -4px var(--accent-glow);background:linear-gradient(#ffe066,#f5a300)}.achievement-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.achievement-text small{color:var(--muted);font-size:12px}.done .achievement-text b{color:var(--accent)}.achievement-bar{background:#ffffff14;border-radius:999px;height:5px;margin-top:3px;overflow:hidden}.achievement-bar span{background:linear-gradient(90deg, var(--accent-2), var(--accent));height:100%;display:block}.achievement-count{font-variant-numeric:tabular-nums;color:var(--muted);font-weight:700}.game-view{z-index:1;position:fixed;inset:0}.game-canvas{position:absolute;inset:0}.hud{pointer-events:none;position:absolute;inset:0}.hud .volume-control,.hud button,.hud input{pointer-events:auto}.scoreboard{background:#0009;border-radius:12px;align-items:center;gap:12px;padding:6px 16px;font-size:28px;font-weight:700;display:flex;position:absolute;top:10px;left:50%;transform:translate(-50%)}.score.blue{color:var(--blue)}.score.red{color:var(--red)}.clock{text-align:center;min-width:120px;font-size:22px}.hud-top-right{position:absolute;top:10px;right:12px}.volume-control{background:#00000080;border-radius:8px;align-items:center;gap:6px;padding:4px 8px;display:flex}.volume-control button{min-width:36px;min-height:32px;padding:2px 6px}.volume-control button:hover:not(:disabled),.volume-control button:active:not(:disabled){transform:none}.countdown{text-align:center;width:100%;color:var(--accent);text-shadow:4px 4px #000;font-size:96px;font-weight:700;position:absolute;top:40%}.flag-status{flex-wrap:wrap;justify-content:center;gap:8px;max-width:620px;font-size:14px;display:flex;position:absolute;top:62px;left:50%;transform:translate(-50%)}.flag-status span{background:#0009;border-bottom:3px solid;border-radius:8px;padding:3px 10px}.flag-status span.team-blue{border-color:var(--blue)}.flag-status span.team-red{border-color:var(--red)}.flag-status .carry-hint{text-align:center;width:100%;color:var(--accent);text-shadow:2px 2px #000;font-size:16px}.race-status{border-bottom:3px solid var(--accent);text-shadow:2px 2px #000;background:#0009;border-radius:10px;align-items:baseline;gap:10px;padding:4px 16px;display:flex;position:absolute;top:12px;left:12px}.race-lap{font-size:22px}.race-pace{color:var(--accent);font-size:16px;font-weight:800}.race-place{color:var(--accent);font-size:26px}.race-place small{color:#e2e8f0;font-size:14px}.objective-banner{text-shadow:4px 4px #000;pointer-events:none;flex-direction:column;align-items:center;gap:4px;width:100%;animation:.35s ease-out banner-pop;display:flex;position:absolute;top:22%}.objective-banner strong{letter-spacing:4px;font-size:88px}.objective-banner span{font-size:22px}.objective-banner.team-blue strong{color:var(--blue)}.objective-banner.team-red strong{color:var(--red)}@keyframes banner-pop{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}.respawn-banner{text-align:center;color:#fca5a5;text-shadow:2px 2px #000;width:100%;font-size:32px;position:absolute;top:45%}.kill-feed{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex;position:absolute;top:70px;right:12px}.kill-feed li{background:#0009;border-left:4px solid;border-radius:6px;padding:4px 10px}.kill-feed li.team-blue{border-color:var(--blue)}.kill-feed li.team-red{border-color:var(--red)}.toast{z-index:20;background:#7c2d12;border-radius:8px;padding:10px 16px;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.reconnect-overlay{color:#fde047;text-shadow:2px 2px #000;z-index:30;background:#0000008c;justify-content:center;align-items:center;font-size:26px;font-weight:700;display:flex;position:fixed;inset:0}.results-overlay{z-index:10;background:#0000009e;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.tone-red{--splash:var(--red);--splash-soft:#ef444480;--splash-glow:var(--red-glow)}.tone-blue{--splash:var(--blue);--splash-soft:#3b82f680;--splash-glow:var(--blue-glow)}.tone-draw{--splash:var(--accent);--splash-soft:#ffcb056b;--splash-glow:var(--accent-glow)}.victory-splash{cursor:pointer;color:#fff;background:radial-gradient(ellipse at 50% 46%, color-mix(in srgb, var(--splash) 40%, #12080c) 0%, #04060cf7 46%, #05060c 74%);outline:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden}.victory-splash:focus-visible{outline:2px solid var(--splash);outline-offset:-8px}.victory-rays,.victory-glow,.victory-burst,.victory-flare,.victory-sparks{pointer-events:none;position:absolute}.victory-rays{background:repeating-conic-gradient(from 0deg, transparent 0deg 13deg, color-mix(in srgb, var(--splash) 34%, transparent) 13deg 14.2deg);animation:32s linear infinite victory-spin;inset:-35%;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 64%);mask-image:radial-gradient(circle,#000 0%,#0000 64%)}.victory-glow{background:radial-gradient(circle, var(--splash-soft), transparent 68%);filter:blur(6px);border-radius:50%;width:min(920px,92vw);height:min(440px,52vh);animation:2.6s ease-in-out infinite victory-pulse}.victory-burst{border:2px solid var(--splash);width:160px;height:160px;box-shadow:0 0 24px var(--splash-glow);border-radius:50%;animation:1s ease-out 80ms both victory-burst}.victory-flare{background:linear-gradient(90deg, transparent, var(--splash), #fff, var(--splash), transparent);height:2px;box-shadow:0 0 16px var(--splash), 0 0 42px var(--splash-glow);animation:.72s cubic-bezier(.16,1,.3,1) 50ms forwards victory-flare;top:50%;left:0;right:0;transform:scaleX(0)}.victory-sparks{inset:0}.victory-sparks i{background:linear-gradient(#fff, var(--splash));opacity:0;width:3px;height:16px;animation:victory-spark 1.2s ease-out calc(var(--i) * 28ms) both;border-radius:999px;margin-left:-1px;position:absolute;top:50%;left:50%}.victory-sparks i:nth-child(odd){width:5px;height:5px;box-shadow:0 0 10px var(--splash);background:#fff;border-radius:50%;margin-left:-2px}.victory-copy{z-index:1;text-align:center;flex-direction:column;align-items:center;padding:0 24px;display:flex;position:relative}.victory-label{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.victory-word-wrap{padding:20px 12px 28px;position:relative;overflow:hidden}.victory-word-wrap:after{content:"";mix-blend-mode:screen;pointer-events:none;background:linear-gradient(105deg,#0000 32%,#ffffffeb 50%,#0000 68%);animation:.9s .55s both victory-shine;position:absolute;inset:0;transform:translate(-130%)}.victory-word{font-family:var(--font-display);letter-spacing:.14em;background:linear-gradient(180deg, #fff 8%, #fff 40%, var(--splash) 100%);color:#0000;filter:drop-shadow(0 10px 0 #00000059) drop-shadow(0 0 22px var(--splash-glow));-webkit-background-clip:text;background-clip:text;margin:0;padding-left:.14em;font-size:clamp(68px,13vw,156px);font-weight:900;line-height:.88;animation:.86s cubic-bezier(.16,1,.3,1) both victory-slam}.victory-rule{background:linear-gradient(90deg, transparent, var(--splash), #fff, var(--splash), transparent);width:min(460px,68vw);height:2px;box-shadow:0 0 16px var(--splash-glow);margin-top:14px;animation:.55s .32s forwards victory-flare;transform:scaleX(0)}.victory-subtitle{color:var(--splash);text-shadow:0 0 22px var(--splash-glow), 0 2px 0 #000;margin:16px 0 0;font-weight:800;animation:.55s .42s both victory-sub}.victory-subtitle.kind-team{letter-spacing:.46em;text-indent:.46em;font-size:clamp(16px,2.5vw,30px)}.victory-subtitle.kind-name{letter-spacing:.08em;font-size:clamp(22px,3vw,40px)}.victory-hint{z-index:1;letter-spacing:.28em;text-transform:uppercase;color:#ffffff9e;font-size:12px;font-weight:700;animation:.5s 1.05s both victory-sub;position:absolute;bottom:32px}.results{width:min(960px,100vw - 32px);max-height:min(90vh,820px)}.results-board{border-color:color-mix(in srgb, var(--splash) 55%, transparent);box-shadow:0 24px 60px -24px #000000d9, 0 0 48px -18px var(--splash-glow), inset 0 1px 0 #ffffff14;animation:.55s cubic-bezier(.16,1,.3,1) both board-rise;overflow:hidden}.results-board>.winner,.results-board>.final-score,.results-board>.results-actions{flex:none}.results-table{min-height:0;max-height:calc(min(90vh,820px) - 210px);overflow:auto}.results-board .winner,.results-board .final-score,.results-board .results-actions{animation:.42s both cell-in}.results-board .final-score{animation-delay:70ms}.results-board .results-actions{animation-delay:.28s}.results h2.winner{font-family:var(--font-display);letter-spacing:.04em;margin:0;font-size:28px}.winner.team-blue{color:var(--blue)}.winner.team-red{color:var(--red)}.winner.team-draw{color:var(--accent)}.final-score{margin:0;font-size:28px;font-weight:800}.results table{border-collapse:separate;border-spacing:0;width:100%;min-width:640px}.results th,.results td{text-align:left;white-space:nowrap;padding:8px 10px}.results th:first-child,.results td:first-child{z-index:1;background:#121722;position:sticky;left:0}.results tr.me td:first-child{background:#4a3f16}.results th{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:11px}.results td{border-top:1px solid var(--line)}.results td img{vertical-align:middle}.results tr.team-blue,.results tr.team-red{animation:none}.results tr.team-blue td:first-child{border-left:4px solid var(--blue)}.results tr.team-red td:first-child{border-left:4px solid var(--red)}.results tr.me{background:#facc151f}.results-board tbody tr td{animation:.42s both cell-in;animation-delay:calc(80ms + var(--row,0) * 55ms)}@keyframes victory-spin{to{transform:rotate(360deg)}}@keyframes victory-pulse{50%{opacity:.62;transform:scale(1.06)}}@keyframes victory-burst{0%{opacity:.85;transform:scale(.15)}to{opacity:0;transform:scale(7)}}@keyframes victory-flare{to{transform:scaleX(1)}}@keyframes victory-spark{0%{opacity:0;transform:rotate(calc(var(--i) * 25.7deg)) translateY(12px) scale(.4)}22%{opacity:1}to{opacity:0;transform:rotate(calc(var(--i) * 25.7deg)) translateY(-260px) scale(1)}}@keyframes victory-slam{0%{opacity:0;filter:blur(10px);transform:scale(1.55)}55%{opacity:1;filter:blur();transform:scale(.96)}to{opacity:1;filter:drop-shadow(0 10px 0 #00000059) drop-shadow(0 0 22px var(--splash-glow));transform:none}}@keyframes victory-shine{to{transform:translate(130%)}}@keyframes victory-sub{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}@keyframes board-rise{0%{opacity:0;transform:translateY(46px)scale(.98)}to{opacity:1;transform:none}}@keyframes cell-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.victory-rays,.victory-glow,.victory-burst,.victory-flare,.victory-sparks i,.victory-word,.victory-word-wrap:after,.victory-rule,.victory-subtitle,.victory-hint,.results-board,.results-board .winner,.results-board .final-score,.results-board .results-actions,.results-board tbody tr td{animation:none}.victory-flare,.victory-rule{transform:none}}.reward-overlay{z-index:25;cursor:pointer;color:#fff;background:radial-gradient(ellipse at 50% 44%, color-mix(in srgb, var(--reward) 32%, #110c12) 0%, #04050cf7 40%, #05060c 68%);outline:none;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow:hidden}.reward-overlay:focus-visible{outline:2px solid var(--reward);outline-offset:-8px}.reward-rays,.reward-glow,.reward-flash,.reward-sparks{pointer-events:none;position:absolute}.reward-rays{background:repeating-conic-gradient(from 0deg, transparent 0deg 14deg, color-mix(in srgb, var(--reward) 40%, transparent) 14deg 15deg);animation:28s linear infinite reward-spin;inset:-35%;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 62%);mask-image:radial-gradient(circle,#000 0%,#0000 62%)}.reward-glow{background:radial-gradient(circle, color-mix(in srgb, var(--reward) 55%, transparent), transparent 68%);filter:blur(8px);border-radius:50%;width:min(760px,88vw);height:min(460px,58vh);animation:2.4s ease-in-out infinite reward-pulse}.reward-flash{opacity:0;background:#fff;animation:.45s .42s both reward-flash;inset:0}.reward-sparks{inset:0}.reward-sparks i{width:6px;height:6px;box-shadow:0 0 10px var(--reward);opacity:0;animation:reward-spark 1.15s ease-out calc(.5s + var(--i) * 30ms) both;background:#fff;border-radius:50%;margin-left:-3px;position:absolute;top:46%;left:50%}.reward-copy{z-index:1;text-align:center;flex-direction:column;align-items:center;padding:0 24px;display:flex;position:relative}.reward-kicker{letter-spacing:.42em;text-indent:.42em;text-transform:uppercase;color:var(--accent);margin:0 0 8px;font-size:13px;font-weight:800;animation:.45s .7s both reward-sub}.reward-stage{justify-content:center;align-items:flex-end;min-height:280px;margin-bottom:8px;display:flex;position:relative}.reward-ball{background:linear-gradient(#e8373e 0 48%,#f7f7f7 52% 100%);border:4px solid #161616;border-radius:50%;width:86px;height:86px;margin-left:-43px;animation:.42s linear reward-shake,.32s .42s forwards reward-burst;position:absolute;bottom:78px;left:50%;box-shadow:0 16px 24px #00000073,inset 0 -8px #0000001f}.reward-ball:before,.reward-ball:after{content:"";position:absolute;left:50%}.reward-ball:before{background:#161616;width:100%;height:8px;margin:-4px 0 0 -50%;top:50%}.reward-ball:after{background:#fff;border:4px solid #161616;border-radius:50%;width:22px;height:22px;margin:-11px 0 0 -11px;top:50%;box-shadow:inset 0 0 0 3px #e8373e}.reward-shadow{filter:blur(2px);background:#00000073;border-radius:50%;width:140px;height:22px;margin-left:-70px;animation:.55s .55s both reward-pop;position:absolute;bottom:18px;left:50%}.reward-sprite-pop{z-index:1;filter:drop-shadow(0 16px 8px #00000080) drop-shadow(0 0 16px color-mix(in srgb, var(--reward) 70%, #fff));animation:.7s cubic-bezier(.16,1.45,.3,1) .48s both reward-pop;position:relative}.reward-name{font-family:var(--font-display);letter-spacing:.04em;text-shadow:0 0 22px color-mix(in srgb, var(--reward) 70%, transparent), 0 4px 0 #000;margin:0;font-size:clamp(40px,7vw,72px);animation:.45s .78s both reward-sub}.reward-types{gap:8px;margin:10px 0 0;animation:.45s .9s both reward-sub;display:flex}.reward-types span{letter-spacing:.14em;text-transform:uppercase;color:#fff;background:color-mix(in srgb, var(--chip,var(--reward)) 42%, #111);border:1px solid color-mix(in srgb, var(--chip,var(--reward)) 75%, #fff);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:800}.reward-conquest{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin:14px 0 0;font-size:14px;font-weight:700;animation:.45s 1.02s both reward-sub}.reward-hint{z-index:1;letter-spacing:.28em;text-transform:uppercase;color:#ffffff9e;font-size:12px;font-weight:700;animation:.45s 1.15s both reward-sub;position:absolute;bottom:28px}@keyframes reward-spin{to{transform:rotate(360deg)}}@keyframes reward-pulse{50%{opacity:.6;transform:scale(1.05)}}@keyframes reward-flash{0%{opacity:0}30%{opacity:.85}to{opacity:0}}@keyframes reward-shake{0%,to{transform:rotate(0)}25%{transform:rotate(-16deg)}50%{transform:rotate(14deg)}75%{transform:rotate(-8deg)}}@keyframes reward-burst{to{opacity:0;transform:scale(1.7)}}@keyframes reward-pop{0%{opacity:0;transform:scale(.35)translateY(16px)}to{opacity:1;transform:none}}@keyframes reward-sub{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes reward-spark{0%{opacity:0;transform:rotate(calc(var(--i) * 30deg)) translateY(10px) scale(.4)}25%{opacity:1}to{opacity:0;transform:rotate(calc(var(--i) * 30deg)) translateY(-220px) scale(1)}}@media (prefers-reduced-motion:reduce){.reward-rays,.reward-glow,.reward-flash,.reward-sparks i,.reward-ball,.reward-shadow,.reward-sprite-pop,.reward-kicker,.reward-name,.reward-types,.reward-conquest,.reward-hint{animation:none}.reward-ball{opacity:0}.reward-flash{display:none}}
