@font-face{font-family:Bungee;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/font-081450ba228c97ae.ttf)format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/font-7114a75fe286fb28.ttf)format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/font-386f6ea0357d0d20.ttf)format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/font-d43ca9d2b43c728a.ttf)format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/font-bccf817781978f71.ttf)format("truetype")}@font-face{font-family:Nunito;font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/font-4f6fb361835e2fe2.ttf)format("truetype")}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/font-1397ed57e1a029a7.ttf)format("truetype")}:root{--color-cream:#fffdf5;--color-white:#fff;--color-black:#000;--ink:#111827;--text:#243044;--muted:#4b5870;--surface-blue-white:#f8fbff;--surface-bright:#fbfcff;--surface-cool:#f7f9fc;--surface-muted:#eef3fb;--surface-cyan:#e7f6ff;--surface-yellow-pale:#fff6bf;--surface-yellow-soft:#fff5b8;--surface-yellow-log:#fff8cf;--surface-disabled:#e9edf3;--neutral-bar:#d8dee8;--neutral-slate:#cbd5e1;--neutral-disabled:#cad3df;--neutral-divider:#9aa8bb;--poke-yellow:#ffcb05;--poke-yellow-bright:#ffdb3d;--poke-blue:#2a75bb;--poke-cyan:#38bdf8;--poke-deep:#163d77;--poke-green:#86d96b;--poke-ice:#8ee3ef;--poke-purple:#c084fc;--poke-red:#ef5350;--logo-accent:#ca3c25;--logo-accent-hover:#e45d45;--logo-accent-shadow:#8f291a;--footer-background:#d7907b;--gold-shadow:#d79400;--positive:#35c66b;--positive-lime:#b8dc4b;--cyan-border:#178f9e;--trainer-you:#31d0aa;--trainer-rival-a:#ffb84a;--trainer-rival-b:#7eb6ff;--trainer-rival-c:#ff6b93;--type-normal:var(--color-cream);--type-fire:var(--poke-red);--type-water:var(--poke-cyan);--type-electric:var(--poke-yellow);--type-grass:var(--poke-green);--type-ice:var(--poke-ice);--type-fighting:var(--poke-red);--type-poison:var(--poke-purple);--type-ground:#b88746;--type-flying:var(--poke-ice);--type-psychic:#ef6da8;--type-bug:var(--poke-green);--type-rock:#b89d64;--type-ghost:#8f77d8;--type-dragon:var(--poke-blue);--type-dark:var(--poke-deep);--type-steel:#8aa4b8;--type-fairy:#f2a7d7;--battle-background:#0a1f3b;--battle-outline:#071426;--battle-control:#071a33;--battle-panel:#102f59;--battle-button:#173a68;--battle-charcoal:#101626;--battle-text:#dbeafe;--battle-text-bright:#e8efff;--battle-highlight:#9edfff;--accent:var(--poke-blue);--bg:var(--color-cream);--danger:var(--poke-red);--font-badge:"Press Start 2P", ui-monospace, "SFMono-Regular", Consolas, monospace;--font-logo:Bungee, Impact, Haettenschweiler, "Arial Black", sans-serif;--font-ui:Nunito, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--line:var(--ink);--panel:#fffdf5f5;--shadow:6px 6px 0 var(--ink);color:var(--text);background:linear-gradient(135deg, #ffcb052e, transparent 30%), linear-gradient(225deg, #2a75bb2e, transparent 34%), repeating-linear-gradient(0deg, #11182709 0 1px, transparent 1px 22px), var(--bg);font-family:var(--font-ui);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.45}*{box-sizing:border-box}body{min-width:320px;margin:0}button,select{letter-spacing:0}.app-shell{background:linear-gradient(#fffdf56b,#fffdf5b3),repeating-linear-gradient(0deg,#11182706 0 1px,#0000 1px 5px),url(/pixel-draft-world.png) top/cover no-repeat;flex-direction:column;min-height:100svh;padding:24px;display:flex}@property --winner-fill{syntax:"<angle>";inherits:false;initial-value:0deg}.menu-shell{isolation:isolate;background:linear-gradient(#163d7714,#11182738),url(/pixel-draft-world.png) 50%/cover no-repeat;flex-direction:column;justify-content:space-between;align-items:center;gap:0;min-height:100svh;padding:0;display:flex;position:relative;overflow:hidden}.menu-shell:before{content:"";pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,#1118270e 0 1px,#0000 1px 4px);position:absolute;inset:0}.site-footer{background:var(--footer-background);border-bottom:3px solid var(--ink);border-top:3px solid var(--ink);color:var(--ink);justify-content:space-between;align-items:center;gap:18px;width:calc(100% + 48px);margin:auto -24px -24px;padding:12px 24px;display:flex}.site-footer a{color:var(--poke-deep);text-underline-offset:3px;flex:none;font-size:.82rem;font-weight:700;text-decoration:underline;text-decoration-thickness:2px}.site-footer a:hover,.site-footer a:focus-visible{color:var(--logo-accent)}.site-footer p{color:var(--ink);text-align:right;max-width:98ch;margin:0;font-size:.76rem;font-weight:700;line-height:1.45}.menu-card{box-shadow:none;text-align:center;background:0 0;border:0;border-radius:0;align-content:center;justify-items:center;gap:clamp(24px,5vh,48px);width:100%;max-width:1080px;margin:auto;padding:clamp(56px,10vh,110px) 24px 42px;display:grid;position:relative}.menu-title-block{justify-items:center;display:grid}.menu-title-block h1{color:var(--color-cream);overflow-wrap:anywhere;max-width:100%;text-shadow:0 5px 0 var(--poke-blue), 0 10px 0 var(--poke-deep), 5px 10px 0 var(--ink), -3px -3px 0 var(--ink), 3px -3px 0 var(--ink), -3px 3px 0 var(--ink);font-size:clamp(3.8rem,9vw,7.8rem);line-height:.9}.brand-poke{color:var(--logo-accent)}.menu-title-block .brand-poke{text-shadow:0 5px 0 var(--logo-accent-shadow), 0 10px 0 var(--poke-deep), 5px 10px 0 var(--ink), -3px -3px 0 var(--ink), 3px -3px 0 var(--ink), -3px 3px 0 var(--ink)}.menu-title-block .brand-finals{color:var(--color-cream)}.menu-command-panel{border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);background:repeating-linear-gradient(0deg,#163d770a 0 1px,#0000 1px 6px),#fffdf5f5;border-radius:8px;grid-template-columns:1fr;align-items:center;gap:18px;width:min(100%,560px);padding:16px;display:grid}.menu-actions,.top-actions{flex-wrap:wrap;gap:10px;display:flex}.menu-actions{grid-template-columns:1fr;width:100%;display:grid}.menu-actions button{text-transform:uppercase;width:100%;min-height:52px}.menu-command-panel .daily-chip{box-shadow:4px 4px 0 var(--ink);grid-template-columns:auto auto;justify-content:space-between;align-items:center;width:100%}.menu-shell .site-footer{width:100%;margin:0;position:relative}.menu-actions button,.top-actions button,.modal-panel>.primary-action,.language-select{background:var(--color-cream);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);color:var(--ink);border-radius:9px;min-height:42px;padding:0 16px;font-weight:850;transition:border-color .16s,transform .16s,box-shadow .16s}.language-select{cursor:pointer;padding-right:34px}.menu-actions .primary-action,.primary-action{background:var(--poke-yellow);border-color:var(--ink);color:var(--ink)}.modal-backdrop{z-index:20;background:#10162675;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.modal-panel{background:var(--color-white);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink), 0 28px 80px #11182738;border-radius:8px;gap:14px;width:min(100%,520px);max-width:520px;padding:22px;display:grid}.modal-panel p{color:var(--text)}.privacy-panel{grid-template-rows:minmax(0,1fr) auto;width:min(100%,760px);max-width:760px;max-height:min(88vh,820px)}.privacy-content{scrollbar-color:var(--poke-blue) var(--color-cream);min-height:0;padding-right:12px;overflow-y:auto}.privacy-content>header{border-bottom:3px solid var(--ink);margin-bottom:16px;padding-bottom:12px}.privacy-content h2,.privacy-content h3{color:var(--ink)}.privacy-content h2{margin-bottom:4px}.privacy-content h3{margin:18px 0 6px;font-family:Nunito,sans-serif;font-size:1rem}.privacy-content p{margin:0 0 9px;font-size:.92rem;line-height:1.55}.privacy-content small{color:var(--muted);font-weight:800}.modal-panel>.primary-action{background:var(--poke-yellow);border-color:var(--ink);color:var(--ink);cursor:pointer;justify-self:end;min-width:148px}.modal-panel>.primary-action:hover,.modal-panel>.primary-action:focus-visible{background:var(--poke-yellow-bright)}.result-backdrop{z-index:30;background:#101626b8;justify-content:center;align-items:center;padding:18px;display:flex;position:fixed;inset:0}.result-dialog{background:var(--color-cream);border:4px solid var(--ink);box-shadow:9px 9px 0 var(--ink), 0 28px 90px #11182761;border-radius:10px;width:min(100%,920px);max-width:920px;max-height:min(92vh,900px);animation:.52s cubic-bezier(.16,.9,.24,1) both resultDialogIn;overflow-y:auto}.result-hero{background:repeating-linear-gradient(0deg, #ffffff0f 0 1px, transparent 1px 5px), var(--poke-deep);border-bottom:4px solid var(--ink);color:var(--color-cream);gap:6px;padding:20px 24px;display:grid;position:relative}.result-dialog.is-victory .result-hero{box-shadow:inset 9px 0 0 var(--poke-yellow)}.result-dialog.is-defeat .result-hero{box-shadow:inset 9px 0 0 var(--poke-red)}.result-hero span{color:var(--poke-yellow);font-family:var(--font-badge);text-transform:uppercase;font-size:.58rem}.result-hero h2{color:var(--color-cream);font-family:var(--font-logo);letter-spacing:0;font-size:clamp(2rem,5vw,3.4rem);line-height:1}.result-hero p{color:var(--battle-text);font-weight:800}.result-content{grid-template-columns:minmax(220px,.72fr) minmax(0,1.5fr);gap:22px;padding:20px 22px;display:grid}.result-personal,.result-community{align-content:start;gap:12px;min-width:0;display:grid}.result-content h3{color:var(--ink);font-family:var(--font-badge);text-transform:uppercase;margin:0;font-size:.68rem;line-height:1.5}.result-stat-grid,.community-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.result-stat{background:var(--surface-blue-white);border:2px solid var(--ink);border-radius:7px;gap:5px;min-height:72px;padding:9px 10px;display:grid;box-shadow:3px 3px #111827eb}.result-stat span{color:var(--muted);font-size:.72rem;font-weight:850;line-height:1.15}.result-stat strong{color:var(--ink);font-size:1.25rem}.result-mvp{background:var(--surface-yellow-pale);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:8px;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;padding:10px;animation:.72s cubic-bezier(.16,.9,.24,1.18) .18s both resultMvpStretchReveal;display:grid}@keyframes resultMvpStretchReveal{0%{opacity:0;transform:scaleX(.42)scaleY(.7)}58%{opacity:1;transform:scaleX(1.08)scaleY(.94)}78%{transform:scaleX(.97)scaleY(1.035)}to{opacity:1;transform:scale(1)}}.result-mvp .pokemon-portrait.compact{width:54px;min-width:54px}.result-mvp span,.result-mvp small{color:var(--muted);font-size:.72rem;font-weight:800;display:block}.result-mvp strong{color:var(--ink);overflow-wrap:anywhere;display:block}.result-section-heading{gap:4px;display:grid}.result-section-heading small{color:var(--muted);font-size:.72rem;line-height:1.35}.community-picks{gap:7px;display:grid}.community-team-heading{border-bottom:2px solid var(--ink);color:var(--ink);font-family:var(--font-badge);letter-spacing:0;text-transform:uppercase;margin:2px 0 0;padding-bottom:6px;font-size:.58rem}.community-pick{background:var(--surface-bright);border:2px solid var(--line);border-radius:7px;grid-template-columns:42px minmax(104px,1fr) minmax(78px,.72fr) minmax(94px,.82fr);align-items:center;gap:9px;min-width:0;padding:6px 8px;display:grid}.community-pick .pokemon-portrait.compact{width:38px;min-width:38px}.community-pick>strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.community-pick>span{gap:1px;display:grid}.community-pick small{color:var(--muted);font-size:.66rem;font-weight:800}.community-pick b{color:var(--poke-deep);font-size:1rem}.result-actions{background:var(--surface-muted);border-top:3px solid var(--ink);justify-content:flex-end;gap:10px;padding:14px 22px 18px;display:flex}.result-actions button{background:var(--color-cream);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);color:var(--ink);cursor:pointer;border-radius:8px;min-height:42px;padding:8px 16px;font-weight:900;transition:background-color .12s,box-shadow .12s,transform .12s}.result-actions .primary-action{background:var(--poke-yellow)}.result-actions button:hover,.result-actions button:focus-visible{background:var(--surface-cyan);box-shadow:1px 1px 0 var(--ink);outline:none;transform:translate(2px,2px)}.result-actions .primary-action:hover,.result-actions .primary-action:focus-visible{background:var(--poke-yellow-bright)}.result-actions button:active{box-shadow:0 0 0 var(--ink);transform:translate(3px,3px)}@keyframes resultDialogIn{0%{opacity:0;transform:translateY(26px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.setting-row{border:2px solid var(--ink);color:var(--ink);border-radius:8px;align-items:center;gap:10px;min-height:52px;padding:12px;display:flex}.setting-row input{width:44px;height:24px}.setting-toggle-row input[type=checkbox]{appearance:none;background:radial-gradient(circle at 10px 50%, var(--color-white) 0 7px, transparent 8px), var(--neutral-bar);border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);cursor:pointer;border-radius:12px;flex:none;margin-left:auto;transition:background .14s,box-shadow .14s,transform .14s}.setting-toggle-row input[type=checkbox]:checked{background:radial-gradient(circle at 30px 50%, var(--color-white) 0 7px, transparent 8px), var(--positive)}.setting-toggle-row input[type=checkbox]:hover{box-shadow:3px 3px 0 var(--ink);transform:translate(-1px,-1px)}.setting-toggle-row input[type=checkbox]:focus-visible{outline:3px solid var(--poke-blue);outline-offset:3px}.setting-row .language-select{margin-left:auto}.topbar{border:3px solid var(--ink);box-shadow:0 6px 0 var(--ink);isolation:isolate;background:linear-gradient(90deg,#fffdf51f,#fffdf5a3 43%,#fffdf524),url(/pixel-mountain-header.png) 50% 62%/cover no-repeat;border-left:0;border-right:0;border-radius:0;justify-content:space-between;align-items:center;gap:16px;width:calc(100% + 48px);max-width:none;min-height:154px;margin:-24px -24px 24px;padding:18px max(20px,50vw - 700px);display:flex;position:relative;overflow:hidden}.topbar:after{content:"";pointer-events:none;z-index:-1;background:repeating-linear-gradient(0deg,#1118270a 0 1px,#0000 1px 4px);position:absolute;inset:0}.topbar h1{text-shadow:3px 3px #fffdf5eb;font-size:clamp(2rem,4vw,3.6rem)}.brand-home{appearance:none;color:inherit;cursor:pointer;font:inherit;line-height:inherit;text-shadow:inherit;background:0 0;border:0;padding:4px 0}.brand-home .brand-poke{color:var(--logo-accent);text-shadow:0 3px 0 var(--logo-accent-shadow), 0 6px 0 var(--poke-deep), 3px 6px 0 var(--ink), -2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink)}.brand-home .brand-finals{color:var(--color-cream);text-shadow:0 3px 0 var(--poke-blue), 0 6px 0 var(--poke-deep), 3px 6px 0 var(--ink), -2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink)}.brand-home:focus-visible{outline:4px solid var(--poke-yellow);outline-offset:5px}.brand-home:hover{transform:translateY(-1px)}.brand-home:hover .brand-poke{color:var(--logo-accent-hover)}.brand-home:hover .brand-finals{color:var(--color-cream)}.topbar .eyebrow{background:var(--poke-deep);border:2px solid var(--ink);color:var(--color-cream);padding:3px 7px;display:inline-block}.eyebrow{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0 0 4px;font-size:.78rem;font-weight:800}h1,h2,p{margin:0}h1{color:var(--ink);font-family:var(--font-logo);letter-spacing:0;font-size:clamp(2rem,4vw,4.5rem);font-weight:400;line-height:.98}h2{color:var(--ink);font-size:1rem;font-weight:850}button,select{font:inherit}button{cursor:pointer}.daily-chip{background:var(--panel);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:8px;gap:2px;min-width:150px;padding:12px 14px;display:grid}.daily-chip span,.choice-kicker,.panel-heading span,.champion-box span,.battle-header span{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-size:.78rem;font-weight:800}.daily-chip strong{color:var(--ink);font-family:var(--font-badge);letter-spacing:0;font-size:.72rem;font-weight:400;line-height:1.45}.countdown-chip strong{font-variant-numeric:tabular-nums;white-space:nowrap;min-width:8ch;font-size:.78rem}.topbar .countdown-chip{min-width:232px}.stage{grid-template-columns:minmax(0,1fr) 286px;align-items:start;gap:18px;width:100%;max-width:1440px;margin:0 auto;display:grid;position:relative}.draft-panel,.arena-panel,.battle-panel{background:var(--panel);border:3px solid var(--ink);box-shadow:var(--shadow);border-radius:8px}.draft-panel,.arena-panel{padding:18px}.draft-panel{min-width:0}.app-shell:not(.is-tournament-shell) .draft-panel{box-shadow:8px 8px 0 var(--ink);background:repeating-linear-gradient(0deg,#11182706 0 1px,#0000 1px 5px),#fffdf5e6;border-width:4px;overflow:hidden}.app-shell:not(.is-tournament-shell) .draft-panel>.panel-heading{background:repeating-linear-gradient(90deg, #ffffff0a 0 1px, transparent 1px 7px), var(--poke-deep);border-bottom:4px solid var(--ink);min-height:64px;margin:-18px -18px 18px;padding:11px 14px}.app-shell:not(.is-tournament-shell) .draft-panel>.panel-heading>span{color:var(--color-cream);font-family:var(--font-badge);font-size:.66rem;line-height:1.5}.app-shell:not(.is-tournament-shell) .choice-grid{border:3px solid var(--ink);background:repeating-linear-gradient(135deg,#fffdf521 0 7px,#0000 7px 14px),#163d772e;border-radius:8px;gap:12px;padding:12px;box-shadow:inset 0 -5px #11182729}.app-shell:not(.is-tournament-shell) .player-draft-team{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:#fffdf5ad;border-radius:8px;padding:10px}.app-shell:not(.is-tournament-shell) .player-draft-team .trainer-column.is-player-team{box-shadow:none}.app-shell:not(.is-tournament-shell) .arena-panel.rival-sidebar{border:4px solid var(--ink);box-shadow:8px 8px 0 var(--ink);background:repeating-linear-gradient(0deg,#ffffff0a 0 1px,#0000 1px 6px),#0b2345f0;padding:14px;overflow:hidden}.app-shell:not(.is-tournament-shell) .rival-sidebar .trainer-board{gap:12px}.app-shell:not(.is-tournament-shell) .rival-sidebar .trainer-column{border-color:var(--ink);box-shadow:4px 4px 0 var(--battle-outline);border-width:3px}.panel-heading,.battle-header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.panel-heading strong,.battle-header strong{color:var(--ink)}.battle-header small{color:var(--muted);font-size:.78rem;font-weight:800}.reroll-row{flex-wrap:wrap;align-items:center;gap:8px;margin:0;display:flex}.header-rerolls{justify-content:flex-end}.reroll-row button{background:var(--poke-yellow);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);color:var(--ink);border-radius:10px;align-items:center;gap:7px;min-height:34px;padding:0 12px;font-size:.86rem;font-weight:850;transition:border-color .16s,transform .16s,box-shadow .16s;display:inline-flex}.reroll-row button span{color:inherit;font-size:inherit;font-weight:inherit}.reroll-button-value{text-align:center;align-items:center;min-width:4.6rem;display:inline-grid;overflow:hidden}.constraint-button-reel{height:1.15em;line-height:1.15;display:inline-grid;overflow:hidden}.constraint-button-reel-track{animation:constraintButtonReel var(--slot-roll-ms,1.7s) cubic-bezier(.16, .86, .28, 1) both;display:grid}.constraint-button-reel-track span{white-space:nowrap;justify-content:center;align-items:center;height:1.15em;display:inline-flex}.reroll-row button small{background:var(--color-cream);color:inherit;font-family:var(--font-badge);border:2px solid;border-radius:7px;padding:4px 5px;font-size:.52rem;line-height:1}.refresh-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2px;width:15px;height:15px}.reroll-row button.is-spinning{cursor:wait;opacity:1}.reroll-row button.is-spinning .refresh-icon{animation:.36s steps(8,end) infinite rerollIconSpin}.reroll-row button:not(:disabled):hover,.reroll-row button:not(:disabled):focus-visible{border-color:var(--ink);box-shadow:5px 5px 0 var(--ink);outline:none;transform:translate(-1px,-1px)}.reroll-row button:disabled{color:var(--muted);cursor:not-allowed;opacity:.55}.reroll-row button.is-spinning:disabled{color:var(--ink);cursor:wait;opacity:1}.reroll-row>span{color:var(--muted);font-size:.82rem;font-weight:750}.choice-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid;position:relative}.choice-grid:has(.drag-active){perspective:1400px}.choice-grid.is-skippable-roll{cursor:pointer}.skip-roll-overlay{cursor:pointer;z-index:12;background:0 0;border:0;padding:0;position:absolute;inset:0}.pokemon-card{--shine-x:50%;--shine-y:50%;--tilt-x:0deg;--tilt-y:0deg;color:var(--text);perspective:1200px;text-align:left;touch-action:none;-webkit-user-select:none;user-select:none;background:0 0;border:0;border-radius:10px;min-height:500px;padding:0;transition:border-color .16s,box-shadow .16s,filter .16s,opacity .16s,transform .26s cubic-bezier(.18,.78,.22,1);display:block;position:relative}.choice-card:not(.slot-rolling){cursor:grab}.card-flipper{min-height:500px;transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transform-style:preserve-3d;transition:filter .16s,opacity .16s,transform .54s cubic-bezier(.18,.78,.22,1);position:relative}.card-inner{min-height:500px;transform-style:preserve-3d;transition:transform .54s cubic-bezier(.18,.78,.22,1);position:relative}.choice-card:not(.slot-rolling):hover .card-flipper,.choice-card:not(.slot-rolling):focus-visible .card-flipper{transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}.choice-card:not(.slot-rolling):not(.drag-active):hover .card-inner,.choice-card:not(.slot-rolling):not(.drag-active):focus-visible .card-inner{transform:rotateY(180deg)}.choice-card.drag-active .card-inner{transform:rotateY(0)}.choice-card.drag-active:not(.is-held){transform:translate3d(var(--react-x,0), var(--react-y,0), 0) rotateZ(var(--react-rot,0deg)) scale(var(--react-scale,1));will-change:transform;transition:transform 70ms cubic-bezier(.16,.86,.24,1),filter .16s,opacity .16s}.choice-card.is-held{cursor:grabbing;filter:saturate(.82);opacity:.42;z-index:7;transition:filter 90ms,opacity 90ms,transform 80ms cubic-bezier(.16,.86,.24,1);transform:scale(.96)rotate(-1.2deg)}.choice-card.is-held .card-flipper{transform:rotateX(4deg)rotateY(-6deg)}.choice-card.is-held .card-inner{transform:rotateY(0)}.pokemon-drag-ghost{pointer-events:none;height:286px;transform:translate3d(calc(var(--ghost-x) - 98px), calc(var(--ghost-y) - 143px), 0) rotateZ(var(--ghost-swing)) rotateX(5deg) rotateY(-7deg);transform-origin:50%;z-index:40;width:196px;transition:transform 42ms linear;position:fixed;top:0;left:0}.pokemon-drag-ghost .card-face{align-content:space-between;min-height:286px;padding:12px;position:relative;inset:auto}.pokemon-drag-ghost .card-face:before{border-radius:6px;inset:6px}.pokemon-drag-ghost .pokemon-portrait{width:136px;height:122px}.pokemon-drag-ghost .pokemon-portrait img{width:96%;height:96%}.pokemon-drag-ghost .card-title{gap:4px}.pokemon-drag-ghost .card-title strong{font-size:1.12rem}.pokemon-drag-ghost .type-list{justify-content:center}.pokemon-drag-ghost .type-list span{padding:1px 6px;font-size:.62rem}.choice-card.drag-over{z-index:5;transform:translateY(-10px)rotate(1.2deg)}.choice-card.drag-over .card-face{border-color:var(--ink);box-shadow:9px 9px 0 var(--ink), inset 0 0 0 7px #fffdf5b8}.card-face{backface-visibility:hidden;background:radial-gradient(circle at 74% 18%, color-mix(in srgb, var(--type-b) 54%, transparent), transparent 26%), radial-gradient(circle at 18% 82%, color-mix(in srgb, var(--type-a) 42%, transparent), transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--type-a) 30%, var(--color-cream)), color-mix(in srgb, var(--type-b) 24%, var(--color-cream))), var(--panel);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink), inset 0 0 0 7px #fffdf594;border-radius:10px;min-height:500px;padding:18px;display:grid;position:absolute;inset:0;overflow:hidden}.card-face:before{content:"";pointer-events:none;border:2px solid #11182729;border-radius:7px;position:absolute;inset:10px}.card-face:after{background:radial-gradient(circle at var(--shine-x) var(--shine-y), #fffdf5b3, transparent 34%), linear-gradient(115deg, transparent 0 42%, #ffffff3d 45% 51%, transparent 54%);content:"";opacity:0;pointer-events:none;transition:opacity .18s;position:absolute;inset:0}.choice-card:hover .card-face:after,.choice-card:focus-visible .card-face:after{opacity:.46}.card-front{align-content:space-between;justify-items:center;gap:18px}.previous-pick-badge{backface-visibility:hidden;background:var(--poke-yellow);border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);color:var(--ink);font-family:var(--font-badge);pointer-events:none;text-align:left;z-index:3;border-radius:6px;max-width:calc(100% - 28px);padding:4px 7px;font-size:.5rem;line-height:1.45;position:absolute;top:14px;left:14px;transform:translateZ(18px)}.card-front .pokemon-portrait{background:radial-gradient(circle at 50% 48%, #fffdf5d6, #fffdf529 54%), linear-gradient(145deg, color-mix(in srgb, var(--type-a) 44%, var(--color-cream)), color-mix(in srgb, var(--type-b) 36%, var(--color-cream)));width:min(76%,220px);min-width:0;box-shadow:inset 0 0 0 7px #fffdf566,5px 5px #111827e6}.card-front .pokemon-portrait img{width:94%;height:94%}.card-title{text-align:center;justify-items:center;gap:6px;display:grid}.card-title strong{color:var(--ink);font-size:clamp(1.35rem,2vw,1.9rem);line-height:1}.card-front .type-list{justify-content:center}.card-back-face{grid-template-rows:auto auto 1fr auto;gap:10px;transform:rotateY(180deg)}.card-back-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.card-back-heading .type-list{justify-content:flex-end}.card-back-face .move-list{align-content:stretch}.card-back-face .move-pill{min-height:48px}.card-back-face .rating-grid{border:1px solid var(--line);background:#f5f9ffdb;border-radius:8px;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px}.card-back-face .meter{grid-template-columns:minmax(0,1fr) auto}.slot-settle .card-flipper{animation:.26s ease-out cardSettle}.slot-rolling .card-flipper{transition:filter .16s,opacity .16s,transform .16s}.slot-rolling{cursor:wait}.slot-rolling .card-flipper{filter:blur(2px)saturate(.65);opacity:.18;transform:scale(.98)}.slot-reel{color:var(--ink);text-align:center;z-index:5;background:0 0;border-radius:10px;position:absolute;inset:0;overflow:hidden}.slot-card-window{border-radius:10px;width:100%;height:500px;position:relative;overflow:hidden}.slot-card-strip{animation:1.04s cubic-bezier(.12,.78,.18,1) forwards slotCardRoll;animation-delay:var(--slot-delay);display:grid}.slot-card-face{background:radial-gradient(circle at 74% 18%, color-mix(in srgb, var(--type-b) 54%, transparent), transparent 26%), radial-gradient(circle at 18% 82%, color-mix(in srgb, var(--type-a) 42%, transparent), transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--type-a) 30%, var(--color-cream)), color-mix(in srgb, var(--type-b) 24%, var(--color-cream))), var(--panel);border:3px solid var(--ink);box-shadow:7px 7px 0 var(--ink), inset 0 0 0 7px #fffdf594;border-radius:10px;align-content:space-between;justify-items:center;height:500px;padding:18px;display:grid;position:relative;overflow:hidden}.slot-card-face:before{content:"";pointer-events:none;border:2px solid #11182729;border-radius:7px;position:absolute;inset:10px}.slot-card-face .pokemon-portrait{background:radial-gradient(circle at 50% 48%, #fffdf5d6, #fffdf529 54%), linear-gradient(145deg, color-mix(in srgb, var(--type-a) 44%, var(--color-cream)), color-mix(in srgb, var(--type-b) 36%, var(--color-cream)));width:min(76%,220px);min-width:0;box-shadow:inset 0 0 0 7px #fffdf566,5px 5px #111827e6}.slot-card-face .type-list{justify-content:center}.card-face.has-water,.slot-card-face.has-water{background:radial-gradient(circle at 20% 22%, #fffdf5b8 0 6px, transparent 7px), radial-gradient(circle at 78% 34%, #fffdf57a 0 10px, transparent 11px), repeating-radial-gradient(ellipse at 50% 112%, color-mix(in srgb, var(--poke-cyan) 32%, transparent) 0 10px, transparent 11px 26px), linear-gradient(145deg, color-mix(in srgb, var(--poke-cyan) 46%, var(--color-cream)), color-mix(in srgb, var(--poke-blue) 34%, var(--color-cream)))}.card-face.has-water.has-grass,.slot-card-face.has-water.has-grass{background:radial-gradient(circle at 22% 78%, color-mix(in srgb, var(--poke-green) 46%, transparent), transparent 26%), radial-gradient(circle at 78% 18%, color-mix(in srgb, var(--poke-cyan) 54%, transparent), transparent 30%), linear-gradient(135deg, color-mix(in srgb, var(--poke-cyan) 40%, var(--color-cream)), color-mix(in srgb, var(--poke-green) 46%, var(--color-cream)))}.card-face.has-water.has-poison,.slot-card-face.has-water.has-poison{background:radial-gradient(circle at 52% 48%, color-mix(in srgb, var(--poke-purple) 46%, transparent), transparent 33%), radial-gradient(circle at 18% 20%, #fffdf59e 0 6px, transparent 7px), repeating-radial-gradient(circle at 86% 86%, color-mix(in srgb, var(--poke-purple) 24%, transparent) 0 8px, transparent 9px 22px), linear-gradient(145deg, color-mix(in srgb, var(--poke-cyan) 34%, var(--color-cream)), color-mix(in srgb, var(--poke-purple) 48%, var(--color-cream)))}.card-face.has-ice,.slot-card-face.has-ice{background:linear-gradient(60deg, transparent 0 39%, #fffdf58a 40% 43%, transparent 44%), linear-gradient(128deg, transparent 0 58%, #fffdf580 59% 62%, transparent 63%), radial-gradient(circle at 68% 18%, color-mix(in srgb, var(--poke-ice) 56%, transparent), transparent 31%), linear-gradient(145deg, color-mix(in srgb, var(--poke-ice) 54%, var(--color-cream)), color-mix(in srgb, var(--poke-cyan) 28%, var(--color-cream)))}.card-face.has-electric,.slot-card-face.has-electric{background:linear-gradient(118deg, transparent 0 39%, #1118272e 40% 42%, transparent 43%), linear-gradient(300deg, transparent 0 48%, #fffdf5b3 49% 52%, transparent 53%), radial-gradient(circle at 72% 22%, color-mix(in srgb, var(--poke-yellow) 76%, transparent), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--poke-yellow) 58%, var(--color-cream)), color-mix(in srgb, var(--poke-blue) 18%, var(--color-cream)))}.pokemon-portrait.has-water:before{background:radial-gradient(circle at 22% 24%,#fffdf59e 0 5px,#0000 6px),radial-gradient(circle at 72% 62%,#fffdf570 0 8px,#0000 9px),repeating-radial-gradient(at 50% 106%,#fffdf53d 0 7px,#0000 8px 18px)}.pokemon-portrait.has-water.has-grass:before{background:radial-gradient(ellipse at 24% 72%, color-mix(in srgb, var(--poke-green) 42%, transparent), transparent 28%), linear-gradient(135deg, transparent 0 44%, #fffdf55c 45% 48%, transparent 49%)}.pokemon-portrait.has-water.has-poison:before{background:radial-gradient(circle at 48% 48%, color-mix(in srgb, var(--poke-purple) 42%, transparent), transparent 35%), radial-gradient(circle at 80% 22%, #fffdf580 0 7px, transparent 8px)}.pokemon-portrait.has-ice:before{background:linear-gradient(60deg,#0000 0 38%,#fffdf58f 39% 43%,#0000 44%),linear-gradient(130deg,#0000 0 59%,#fffdf570 60% 64%,#0000 65%)}.pokemon-portrait.has-electric:before{background:linear-gradient(115deg,#0000 0 36%,#11182729 37% 41%,#0000 42%),linear-gradient(298deg,#0000 0 48%,#fffdf5bd 49% 53%,#0000 54%)}.choice-card:hover,.choice-card:focus-visible,.menu-actions button:hover,.menu-actions button:focus-visible,.top-actions button:hover,.top-actions button:focus-visible,.modal-panel>.primary-action:hover,.modal-panel>.primary-action:focus-visible,.language-select:hover,.language-select:focus-visible,.champion-box button:hover,.champion-box button:focus-visible{border-color:var(--accent);box-shadow:5px 5px 0 var(--ink);outline:none;transform:translate(-1px,-1px)}.language-select:hover,.language-select:focus-visible{transform:none}.choice-card:hover .card-face,.choice-card:focus-visible .card-face{border-color:var(--ink);box-shadow:9px 9px 0 var(--ink), inset 0 0 0 7px #fffdf5b8}.choice-card:disabled:hover,.choice-card:disabled:focus-visible{transform:none}.choice-card.is-locking-in,.choice-card.is-locking-in:hover,.choice-card.is-locking-in:focus-visible,.choice-card.is-locking-in:disabled:hover,.choice-card.is-locking-in:disabled:focus-visible{animation:cardLockIn .86s cubic-bezier(.16, .9, .24, 1) var(--lock-delay,0s) forwards;cursor:default;pointer-events:none;transform-origin:50%;z-index:18}.choice-card.is-locking-in .card-flipper{animation:cardLockPulse .86s cubic-bezier(.16, .9, .24, 1) var(--lock-delay,0s) forwards}.choice-card.is-locking-in .card-inner{transform:rotateY(0)}.choice-card.is-locking-in .card-face{border-color:var(--ink);box-shadow:10px 10px 0 var(--ink), inset 0 0 0 7px #fffdf5c2}.choice-card.is-instant-team-drop,.choice-card.is-instant-team-drop:hover,.choice-card.is-instant-team-drop:focus-visible{opacity:0;pointer-events:none;transition:opacity 70ms linear,transform .11s ease-in;transform:scale(.72)}.trainer-column.lock-target{border-color:color-mix(in srgb, var(--trainer-color) 68%, var(--line));animation:.92s cubic-bezier(.16,.9,.24,1) both deckLockPulse;box-shadow:0 18px 38px #2457ff1f}.pokemon-card strong{color:var(--ink);font-size:1.08rem}.card-front .card-title strong,.slot-card-face .card-title strong{font-size:clamp(1.35rem,2vw,1.9rem)}.pokemon-portrait{aspect-ratio:1;background:radial-gradient(circle at 50% 46%, #fffdf5d1, #fffdf51f 58%), linear-gradient(145deg, color-mix(in srgb, var(--type-a) 38%, var(--color-cream)), color-mix(in srgb, var(--type-b) 34%, var(--color-cream)));border:3px solid var(--ink);isolation:isolate;border-radius:8px;justify-content:center;align-items:center;width:88px;min-width:78px;display:flex;position:relative;overflow:hidden;box-shadow:4px 4px #111827e6}.pokemon-portrait:before{content:"";opacity:.82;z-index:0;background:radial-gradient(circle at 24% 28%,#fffdf58f 0 6px,#0000 7px),radial-gradient(circle at 76% 66%,#fffdf56b 0 9px,#0000 10px),linear-gradient(135deg,#0000 0 42%,#fffdf533 43% 48%,#0000 49%);position:absolute;inset:0}.pokemon-portrait img{object-fit:contain;z-index:2;width:92%;height:92%;display:block;position:relative}.pokemon-portrait.compact{border-width:2px;border-radius:7px;flex:0 0 42px;width:42px;min-width:42px;box-shadow:2px 2px #111827bf}.pokemon-portrait.compact img{width:96%;height:96%}.pokemon-info-hover{place-items:center;display:inline-grid;position:relative}.pokemon-info-hover:focus-visible{outline:3px solid var(--poke-yellow);outline-offset:4px}.pokemon-info-card{background:radial-gradient(circle at 22% 18%, color-mix(in srgb, var(--type-a) 26%, transparent), transparent 34%), linear-gradient(145deg, color-mix(in srgb, var(--type-a) 22%, var(--color-cream)), color-mix(in srgb, var(--type-b) 18%, var(--color-cream)));border:3px solid var(--ink);box-shadow:8px 8px 0 var(--ink), 0 20px 48px #11182738;pointer-events:none;z-index:80;border-radius:8px;gap:10px;width:292px;max-width:calc(100vw - 24px);padding:10px;display:grid;position:fixed;top:0;left:0}.pokemon-info-header{grid-template-columns:82px minmax(0,1fr);align-items:center;gap:10px;display:grid}.pokemon-info-header .pokemon-portrait{width:78px;min-width:70px}.pokemon-info-header strong{color:var(--ink);overflow-wrap:anywhere;margin-bottom:7px;font-size:1.05rem;line-height:1.05;display:block}.pokemon-info-moves{gap:5px;display:grid}.pokemon-info-moves span{background:color-mix(in srgb, var(--type-color) 16%, var(--color-cream));border:2px solid var(--ink);box-shadow:2px 2px 0 color-mix(in srgb, var(--type-color) 38%, var(--ink));border-radius:7px;gap:1px;min-height:35px;padding:5px 7px;display:grid}.pokemon-info-moves strong{color:color-mix(in srgb, var(--type-color) 62%, var(--color-black));text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;line-height:1.05;overflow:hidden}.pokemon-info-moves em{color:var(--muted);text-transform:capitalize;font-size:.68rem;font-style:normal;font-weight:800;line-height:1.05}.pokemon-info-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;display:grid}.pokemon-info-stats .meter{border:2px solid var(--ink);min-height:28px;box-shadow:2px 2px #111827b8}.card-topline{justify-content:space-between;align-items:center;display:flex}.card-title{gap:6px;display:grid}.move-list{align-content:start;gap:7px;display:grid}.move-pill{background:color-mix(in srgb, var(--type-color) 14%, var(--color-white));border:2px solid var(--ink);box-shadow:2px 2px 0 color-mix(in srgb, var(--type-color) 42%, var(--ink));border-radius:7px;gap:1px;min-height:44px;padding:7px 8px;display:grid}.move-pill strong{color:color-mix(in srgb, var(--type-color) 64%, var(--color-black));font-size:.86rem;line-height:1.1}.move-pill em{color:var(--muted);text-transform:capitalize;font-size:.72rem;font-style:normal;font-weight:750;line-height:1.1}.rating-grid{gap:5px;display:grid}.pokemon-mark{width:54px;height:54px}.pokemon-mark.compact{flex:0 0 34px;width:34px;height:34px}.type-list{flex-wrap:wrap;gap:6px;display:flex}.type-list span{background:color-mix(in srgb, var(--type-color) 62%, var(--color-cream));border:2px solid var(--ink);box-shadow:2px 2px 0 var(--ink);color:var(--ink);font-family:var(--font-badge);border-radius:8px;padding:3px 7px;font-size:.54rem;font-weight:850;line-height:1.6}.meter{background:var(--color-white);border:1px solid #10162612;border-radius:7px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:26px;padding:4px 7px;display:grid}.meter span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;font-weight:800;overflow:hidden}.meter strong{color:var(--ink);font-variant-numeric:tabular-nums;text-align:right;font-size:.78rem;font-weight:900}.section-note{color:var(--muted);font-size:.92rem}.champion-box button{background:var(--ink);border:1px solid var(--ink);min-height:40px;color:var(--color-white);border-radius:7px;font-weight:850}.arena-panel{gap:14px;display:grid}.rival-sidebar{padding:12px;position:sticky;top:18px}.player-draft-team{margin-top:18px}.trainer-board{grid-template-columns:1fr;gap:10px;display:grid}.trainer-column{background:var(--color-cream);border:2px solid var(--line);border-top:5px solid var(--trainer-color);border-radius:8px;padding:12px;transition:background .18s,border-color .18s,box-shadow .18s,transform .18s;position:relative}.trainer-column.is-player-team{background:linear-gradient(135deg, #ffcb0529, transparent 34%), linear-gradient(315deg, #38bdf824, transparent 42%), var(--color-cream);border:3px solid var(--ink);border-top:8px solid var(--trainer-color);box-shadow:5px 5px 0 var(--ink);padding:14px}.trainer-column.is-rival-team{box-shadow:3px 3px 0 var(--ink);padding:9px}.trainer-column.drop-target{background:linear-gradient(145deg, #31d0aa29, #2457ff1a), var(--color-white);border-color:color-mix(in srgb, var(--trainer-color) 55%, var(--line));outline:3px dashed color-mix(in srgb, var(--trainer-color) 72%, var(--ink));outline-offset:-8px}.trainer-column.drop-target:after{background:repeating-linear-gradient(135deg, #ffffff0a 0 9px, color-mix(in srgb, var(--trainer-color) 8%, transparent) 9px 18px);content:"";pointer-events:none;z-index:0;border-radius:4px;position:absolute;inset:8px}.trainer-column.drop-target>*{z-index:1;position:relative}.trainer-column.team-drop-hover{background:linear-gradient(145deg, #31d0aa47, #38bdf82e), var(--color-white);box-shadow:5px 5px 0 var(--ink), 0 20px 34px #2457ff33;outline-color:var(--poke-blue);transform:translateY(-3px)}.trainer-column-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px;display:flex}.trainer-column-heading h2{font-size:1.06rem}.is-player-team .trainer-column-heading h2{font-family:var(--font-logo);font-size:1.3rem;font-weight:400}.team-count{background:var(--ink);color:var(--color-cream);font-family:var(--font-badge);border-radius:6px;padding:6px 7px;font-size:.52rem;line-height:1}.team-list{gap:8px;display:grid}.is-player-team .team-list{grid-template-columns:repeat(6,minmax(0,1fr))}.is-rival-team .team-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.empty-slot{border:1px dashed var(--line);color:var(--muted);border-radius:7px;padding:12px;font-size:.86rem}.team-slot{background:var(--surface-cool);border:1px solid var(--line);border-radius:7px;align-items:center;gap:8px;min-height:58px;padding:8px;display:flex}.team-slot:not(.empty-team-slot){animation:.26s cubic-bezier(.16,.9,.24,1) both teamSlotArrive}.is-player-team .team-slot{min-height:68px}.is-rival-team .team-slot{justify-content:center;min-height:54px;padding:4px}.is-rival-team .team-slot-copy{display:none}.empty-team-slot{border:2px dashed color-mix(in srgb, var(--trainer-color) 55%, var(--ink));color:color-mix(in srgb, var(--trainer-color) 60%, var(--ink));font-family:var(--font-badge);background:repeating-linear-gradient(135deg,#2a75bb0b 0 8px,#0000 8px 16px),#ffffffa8;justify-content:center;align-items:center;font-size:.54rem;display:flex}.is-rival-team .pokemon-portrait.compact{flex-basis:46px;width:46px;min-width:46px}.team-slot div{gap:1px;min-width:0;display:grid}.team-slot strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.team-slot span{color:var(--muted);font-size:.74rem;line-height:1.2}.tournament-stage{align-content:start;gap:18px;min-height:calc(100vh - 132px);display:grid}.tournament-stage.is-battle-layout{grid-template-columns:minmax(0,1fr) minmax(286px,340px);grid-template-areas:"controls controls""battle bracket";align-items:start}.is-battle-layout .tournament{display:contents}.is-battle-layout .tournament-control-bar{grid-area:controls}.is-battle-layout .battle-panel{border:3px solid var(--ink);box-shadow:var(--hard-shadow);border-radius:8px;grid-area:battle;align-self:start;min-width:0}.is-battle-layout .classic-bracket{grid-area:bracket;grid-template-columns:1fr;align-content:start;align-self:start;gap:12px;min-height:0;padding:12px;position:sticky;top:12px}.bracket-title,.bracket-section-label{display:none}.is-battle-layout .bracket-title{border-bottom:3px solid var(--ink);gap:2px;padding:2px 2px 9px;display:grid}.is-battle-layout .bracket-title span,.is-battle-layout .bracket-section-label{color:var(--muted);font-family:var(--font-badge);text-transform:uppercase;font-size:.52rem;line-height:1.5}.is-battle-layout .bracket-section-label{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:0;width:fit-content;padding:2px 0}.is-battle-layout .bracket-section-label:disabled{cursor:default;opacity:.54}.is-battle-layout .bracket-title strong{color:var(--ink);font-size:1rem}.is-battle-layout .bracket-section-label{display:block}.is-battle-layout .left-side{order:1}.is-battle-layout .right-side{order:2}.is-battle-layout .final-round{order:3}.is-battle-layout .semifinal-side,.is-battle-layout .final-round{border-left:2px solid var(--line);grid-template-columns:1fr;gap:7px;padding-left:10px;display:grid}.is-battle-layout .semifinal-side:before,.is-battle-layout .semifinal-side:after,.is-battle-layout .semifinal-side .bracket-team-slot:after,.is-battle-layout .final-round:after,.is-battle-layout .bracket-champion:before{display:none}.is-battle-layout .bracket-team-slot{width:100%}.is-battle-layout .bracket-team-slot.is-viewed .tournament-trainer-card{border-color:var(--poke-blue);box-shadow:3px 3px 0 var(--poke-blue)}.is-battle-layout .bracket-team-slot.is-viewed:before{background:var(--poke-blue);content:"";width:10px;height:2px;position:absolute;top:50%;right:100%}.is-battle-layout .tournament-trainer-card{min-height:84px}.is-battle-layout .team-preview{gap:5px;height:84px;padding:7px 8px}.is-battle-layout .team-preview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.is-battle-layout .team-preview-grid .pokemon-portrait.compact{width:27px;min-width:27px}.is-battle-layout .mini-hp-bar{width:27px}.is-battle-layout .bracket-champion{grid-column:1;justify-self:stretch;width:100%;min-width:0}.is-battle-layout .champion-box{padding:10px}.is-battle-layout .champion-box>strong{font-size:1.05rem}.tournament{gap:18px;display:grid}.classic-bracket{border:3px solid var(--ink);box-shadow:5px 5px 0 var(--ink);background:linear-gradient(#fffdf5e8,#fffdf5d1),url(/pixel-mountain-header.png) bottom/cover no-repeat;border-radius:8px;grid-template-columns:minmax(168px,.82fr) minmax(300px,1fr) minmax(168px,.82fr);align-items:center;gap:72px;min-height:390px;padding:20px 16px 26px;display:grid;position:relative}.semifinal-side{gap:74px;display:grid;position:relative}.semifinal-side:before{background:var(--line);content:"";z-index:0;width:2px;height:calc(100% - 108px);position:absolute;top:54px}.semifinal-side:after{background:var(--line);content:"";z-index:0;width:36px;height:2px;position:absolute;top:50%}.left-side:before{right:-36px}.left-side:after{right:-72px}.right-side:before{left:-36px}.right-side:after{left:-72px}.final-round{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center;gap:14px;display:grid;position:relative}.semifinal-side .bracket-team-slot:after{background:var(--line);content:"";z-index:0;width:36px;height:2px;position:absolute;top:50%}.left-side .bracket-team-slot:after{left:100%}.right-side .bracket-team-slot:after{right:100%}.final-round:after{background:var(--line);content:"";z-index:0;width:2px;height:42px;position:absolute;top:calc(50% + 58px);left:50%;transform:translate(-1px)}.bracket-champion:before{background:var(--line);content:"";z-index:-1;width:2px;height:22px;position:absolute;top:-22px;left:50%;transform:translate(-1px)}.bracket-team-slot{color:inherit;text-align:left;z-index:1;background:0 0;border:0;border-radius:8px;padding:0;position:relative}.bracket-team-slot:not([aria-disabled=true]){cursor:pointer}.bracket-team-slot[aria-disabled=true]{cursor:wait}.bracket-team-slot.active .tournament-trainer-card{border-color:var(--accent);box-shadow:0 22px 46px #2457ff29}.bracket-team-slot.winner .tournament-trainer-card{border-color:color-mix(in srgb, var(--trainer-color) 72%, var(--accent));animation:.94s cubic-bezier(.16,.9,.24,1) both bracketWinnerLock}.semifinal-side .bracket-team-slot.trainer-smash:first-child .tournament-trainer-card{animation:.76s cubic-bezier(.16,.9,.24,1) both trainerSmashDown}.semifinal-side .bracket-team-slot.trainer-smash:nth-child(2) .tournament-trainer-card{animation:.76s cubic-bezier(.16,.9,.24,1) both trainerSmashUp}.final-round .bracket-team-slot.trainer-smash:first-child .tournament-trainer-card{animation:.76s cubic-bezier(.16,.9,.24,1) both trainerSmashRight}.final-round .bracket-team-slot.trainer-smash:nth-child(2) .tournament-trainer-card{animation:.76s cubic-bezier(.16,.9,.24,1) both trainerSmashLeft}.bracket-team-slot.eliminated .tournament-trainer-card{filter:grayscale()saturate(0)contrast(.94);opacity:.48}.bracket-team-slot.eliminated .pokemon-portrait img,.bracket-team-slot.eliminated .pokemon-mark{filter:grayscale()saturate(0)}.bracket-team-slot.finalist{align-self:center}.pending-finalist{pointer-events:none}.bracket-champion{z-index:1;grid-column:1/-1;justify-self:center;min-width:min(100%,280px);max-width:320px;position:relative}.bracket-champion.is-revealed{transform-origin:50%;animation:.76s cubic-bezier(.16,.9,.24,1.16) both championStretchReveal}@keyframes championStretchReveal{0%{opacity:0;transform:scaleX(.38)scaleY(.72)}54%{opacity:1;transform:scaleX(1.1)scaleY(.92)}76%{transform:scaleX(.97)scaleY(1.045)}to{opacity:1;transform:scale(1)}}.tournament-trainer-card{background:var(--surface-bright);border:1px solid var(--line);border-top:4px solid var(--trainer-color);min-height:var(--team-reel-height,136px);z-index:1;border-radius:8px;position:relative;overflow:hidden}.tournament-trainer-card:after{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0}.bracket-team-slot.winner .tournament-trainer-card:after{background:conic-gradient(from -90deg, var(--trainer-color) var(--winner-fill), transparent 0);-webkit-mask:linear-gradient(var(--color-black) 0 0) content-box, linear-gradient(var(--color-black) 0 0);-webkit-mask-composite:xor;padding:2px;animation:.94s cubic-bezier(.16,.9,.24,1) both bracketBorderFill;-webkit-mask-composite:xor;mask-composite:exclude}.tournament-trainer-card.is-player{background:linear-gradient(145deg, #31d0aa1f, #2457ff12), var(--color-white);box-shadow:0 18px 34px #2457ff1f}.tournament-trainer-card.is-set{animation:.42s both reveal}.tournament-trainer-card.is-rolling{box-shadow:0 16px 30px #1016261f}.tournament-trainer-card.is-pending{background:repeating-linear-gradient(135deg, var(--surface-cool), var(--surface-cool) 10px, var(--surface-muted) 10px, var(--surface-muted) 20px);color:var(--muted);border-style:dashed;justify-content:center;align-items:center;padding:18px;display:flex}.tournament-trainer-card.is-pending strong{color:var(--muted);text-align:center;font-size:.88rem}.tournament-team-reel{height:var(--team-reel-height,136px);overflow:hidden}.tournament-team-strip{grid-auto-rows:var(--team-reel-height,136px);animation:2.38s cubic-bezier(.12,.78,.18,1) forwards tournamentTeamRoll;display:grid}.team-preview{height:var(--team-reel-height,136px);align-content:center;gap:7px;min-height:0;padding:9px;display:grid}.team-preview strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:.88rem;overflow:hidden}.team-preview-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;display:grid}.team-preview-member{place-items:center;gap:3px;min-width:0;display:grid}.team-preview-grid .pokemon-portrait.compact{flex-basis:34px;justify-self:center;width:34px;min-width:34px}.team-preview-grid .pokemon-portrait.is-attacking.pulse-even{border-color:color-mix(in srgb, var(--trainer-color) 70%, var(--accent));box-shadow:0 0 0 3px color-mix(in srgb, var(--trainer-color) 22%, transparent);z-index:2;animation:.68s cubic-bezier(.16,.9,.24,1) both pokemonMiniAttackA}.team-preview-grid .pokemon-portrait.is-attacking.pulse-odd{border-color:color-mix(in srgb, var(--trainer-color) 70%, var(--accent));box-shadow:0 0 0 3px color-mix(in srgb, var(--trainer-color) 22%, transparent);z-index:2;animation:.68s cubic-bezier(.16,.9,.24,1) both pokemonMiniAttackB}.team-preview-grid .pokemon-portrait.is-hit.pulse-even{border-color:var(--poke-red);z-index:2;animation:.68s cubic-bezier(.16,.9,.24,1) both pokemonMiniHitA;box-shadow:0 0 0 3px #ef53503d}.team-preview-grid .pokemon-portrait.is-hit.pulse-odd{border-color:var(--poke-red);z-index:2;animation:.68s cubic-bezier(.16,.9,.24,1) both pokemonMiniHitB;box-shadow:0 0 0 3px #ef53503d}.team-preview-grid .pokemon-portrait.is-hit:after{border-radius:inherit;content:"";pointer-events:none;z-index:3;background:radial-gradient(circle,#fffdf5eb,#ffcb055c 34%,#0000 58%);animation:.68s both pokemonImpactFlash;position:absolute;inset:-4px}.team-preview-grid .pokemon-portrait.is-knocked-out{background:linear-gradient(145deg, #1016261f, #1016260a), var(--surface-disabled);filter:grayscale()saturate(0);opacity:.42}.mini-hp-bar{background:var(--neutral-bar);border-radius:999px;width:34px;height:4px;display:block;overflow:hidden}.mini-hp-bar i{background:linear-gradient(90deg, var(--trainer-you), var(--positive-lime));height:100%;transition:width .26s;display:block}.tournament-control-bar{background:var(--battle-charcoal);border:3px solid var(--ink);box-shadow:var(--hard-shadow);color:var(--battle-text-bright);border-radius:8px;justify-content:space-between;align-items:center;gap:14px;min-height:54px;padding:10px 12px 10px 14px;display:flex}.tournament-control-bar.is-counting{animation:countdownPulse var(--countdown-pulse-ms,1s) steps(2, end) infinite;background:var(--poke-yellow);color:var(--ink)}.tournament-countdown{flex:1;justify-content:space-between;align-items:center;gap:12px;min-width:min(100%,220px);display:flex}.tournament-countdown span{font-weight:850}.tournament-countdown strong{background:var(--color-white);color:var(--ink);border-radius:999px;justify-content:center;align-items:center;min-width:44px;padding:6px 12px;font-size:1.2rem;display:inline-flex}.tournament-controls{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.speed-control{background:var(--battle-control);border:2px solid var(--battle-text);border-radius:7px;align-items:center;gap:7px;padding:3px;display:flex;box-shadow:inset 0 0 0 2px #2a75bb6b,3px 3px #0000007a}.speed-control>span{color:var(--battle-text);font-family:var(--font-badge);text-transform:uppercase;padding-left:7px;font-size:.5rem}.speed-toggle{gap:2px;display:inline-flex}.speed-toggle button{background:var(--battle-button);color:var(--battle-text);cursor:pointer;font-family:var(--font-badge);border:0;border-radius:4px;min-width:42px;min-height:28px;padding:7px 8px;font-size:.52rem;line-height:1;transition:background .12s,color .12s,transform .12s;box-shadow:inset 0 -2px #00000052}.speed-toggle button.active{background:var(--poke-yellow);box-shadow:inset 0 -3px 0 var(--gold-shadow);color:var(--ink)}.speed-toggle button:not(:disabled):hover{background:var(--poke-blue);color:var(--color-cream);transform:translateY(-1px)}.speed-toggle button.active:not(:disabled):hover{background:var(--poke-yellow);color:var(--ink)}.skip-battle-button{background:var(--poke-yellow);border:2px solid var(--color-cream);box-shadow:3px 3px 0 #00000085, inset 0 -3px 0 var(--gold-shadow);color:var(--ink);cursor:pointer;font-family:var(--font-badge);border-radius:7px;min-height:36px;padding:8px 13px;font-size:.52rem;line-height:1;transition:transform .12s,box-shadow .12s,opacity .12s}.skip-battle-button:not(:disabled):hover{box-shadow:1px 1px 0 #00000085, inset 0 -2px 0 var(--gold-shadow);transform:translate(2px,2px)}.skip-battle-button:disabled{cursor:wait;opacity:.48}.champion-box{background:var(--battle-charcoal);color:var(--color-white);border-radius:8px;gap:8px;padding:14px;display:grid}.champion-box strong{font-size:1.4rem}.tournament-mvp{border-top:2px solid #fffdf557;gap:8px;padding-top:10px;animation:.62s cubic-bezier(.16,.9,.24,1) both mvpReveal;display:grid}.tournament-mvp>span{color:var(--poke-yellow);font-family:var(--font-badge);font-size:.58rem;line-height:1.45}.tournament-mvp-pokemon{grid-template-columns:58px minmax(0,1fr);align-items:center;gap:10px;display:grid}.tournament-mvp-pokemon .pokemon-portrait.compact{width:54px;min-width:54px}.champion-box .tournament-mvp-pokemon strong{overflow-wrap:anywhere;font-size:1.05rem;line-height:1.1;display:block}.tournament-mvp-pokemon .type-list{margin-top:6px}.tournament-mvp-pokemon .type-list span{padding:1px 5px;font-size:.44rem}.tournament-mvp-pokemon small{color:var(--battle-text);margin-top:7px;font-size:.78rem;font-weight:800;display:block}.champion-box button{background:var(--color-white);color:var(--ink)}@keyframes mvpReveal{0%{opacity:0;transform:translateY(10px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.battle-panel{background:var(--color-cream);overflow:hidden}.battle-header{background:var(--poke-deep);border-bottom:3px solid var(--ink);color:var(--color-cream);margin:0;padding:12px 16px}.battle-header div{gap:3px;display:grid}.battle-header span,.battle-header strong{color:var(--color-cream)}.battle-team-rosters{background:repeating-linear-gradient(0deg, #11182709 0 1px, transparent 1px 5px), var(--color-cream);grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);align-items:center;gap:18px;padding:12px 16px;display:grid}.battle-roster{background:var(--surface-blue-white);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);border-radius:8px;min-width:0;overflow:hidden}.battle-roster-left{border-color:var(--cyan-border)}.battle-roster-right{border-color:var(--gold-shadow)}.battle-roster .team-preview{height:auto;min-height:104px;padding:9px 12px}.battle-roster .team-preview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.battle-vs{color:var(--poke-deep);font-family:var(--font-badge);text-align:center;text-shadow:3px 3px #2a75bb33;font-size:1.35rem}.pixel-battlefield{border-block:3px solid var(--ink);background:linear-gradient(#fffdf594,#fffdf533),url(/pixel-mountain-header.png) 50% 72%/cover no-repeat;grid-template-columns:minmax(0,1fr) 50px minmax(0,1fr);align-items:end;gap:24px;min-height:250px;padding:18px clamp(20px,5vw,72px) 12px;display:grid;position:relative;overflow:hidden}.pixel-battlefield:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#11182709 0 1px,#0000 1px 4px),linear-gradient(#0000 64%,#163d771f);position:absolute;inset:0}.battle-fighter{z-index:1;place-items:center;gap:6px;min-width:0;display:grid;position:relative}.fighter-right{direction:rtl}.battle-fighter .pokemon-portrait{box-shadow:none;background:0 0;border:0;width:132px;min-width:132px;overflow:visible}.battle-fighter .pokemon-portrait:before{display:none}.battle-fighter .pokemon-portrait img{image-rendering:pixelated;width:100%}.fighter-left .battle-pokemon-sprite img{transform:scaleX(-1)}.battle-fighter-status{background:var(--color-cream);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);direction:ltr;border-radius:7px;gap:5px;width:100%;max-width:260px;padding:8px 10px;display:grid}.battle-fighter-status strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:1rem;overflow:hidden}.battle-fighter-status small{color:var(--muted);font-family:var(--font-badge);font-size:.48rem}.battle-hp-bar{background:var(--neutral-disabled);border:2px solid var(--ink);height:10px;display:block;overflow:hidden}.battle-hp-bar i{background:var(--positive);height:100%;transition:width .26s steps(8,end);display:block}.battle-fighter.is-knocked-out .pokemon-portrait{filter:grayscale();opacity:.42;transform:translateY(18px)rotate(7deg)}.fighter-left.is-attacker.pulse-even .pokemon-portrait,.fighter-left.is-attacker.pulse-odd .pokemon-portrait{animation:.68s cubic-bezier(.16,.9,.24,1) both battleLungeRight}.fighter-right.is-attacker.pulse-even .pokemon-portrait,.fighter-right.is-attacker.pulse-odd .pokemon-portrait{animation:.68s cubic-bezier(.16,.9,.24,1) both battleLungeLeft}.battle-fighter.is-target.pulse-even .pokemon-portrait,.battle-fighter.is-target.pulse-odd .pokemon-portrait{animation:.68s steps(5,end) both battleImpact}.battle-impact-mark{color:var(--poke-red);font-family:var(--font-badge);text-align:center;text-shadow:3px 3px 0 var(--color-cream);z-index:1;align-self:center;padding-bottom:52px;font-size:2rem}.battle-log-heading{background:var(--poke-deep);border-top:3px solid var(--ink);color:var(--color-cream);justify-content:space-between;align-items:center;padding:9px 14px;display:flex}.battle-log-heading strong{color:inherit;font-family:var(--font-badge);text-transform:uppercase;font-size:.62rem}.battle-log-heading span{background:var(--color-cream);border:2px solid var(--ink);color:var(--ink);font-family:var(--font-badge);text-align:center;min-width:28px;padding:3px 5px;font-size:.48rem}.log-list{scrollbar-color:var(--poke-blue) var(--neutral-bar);scrollbar-width:thin;gap:7px;max-height:330px;padding:10px 12px 14px;display:grid;overflow-y:auto}.log-entry{background:var(--surface-bright);border:1px solid var(--line);border-radius:8px;grid-template-columns:74px minmax(0,1fr);gap:2px;padding:8px 10px;display:grid}.log-entry>small{color:var(--poke-deep);font-family:var(--font-badge);grid-row:1/span 3;align-self:start;padding-top:3px;font-size:.45rem}.log-entry>strong,.log-entry>span,.log-entry>em{grid-column:2}.log-entry.fresh{border-color:var(--accent);animation:.42s reveal}.log-entry.is-switch{background:var(--surface-yellow-log);border-color:var(--gold-shadow);box-shadow:inset 4px 0 0 var(--poke-yellow)}.log-entry strong{color:var(--ink)}.log-entry span,.log-entry em{color:var(--muted);font-size:.9rem;font-style:normal}.is-tournament-shell{background:repeating-linear-gradient(0deg, #ffffff06 0 1px, transparent 1px 5px), var(--battle-background);color:var(--color-cream)}.is-tournament-shell .topbar{min-height:112px;margin-bottom:14px;padding-block:12px}.is-tournament-shell .topbar h1{font-size:clamp(2rem,3vw,3rem)}.tournament-stage.is-battle-layout{grid-template-columns:minmax(0,1fr) minmax(242px,278px);grid-template-areas:"controls controls""battle bracket";gap:12px}.is-battle-layout .tournament-control-bar{background:repeating-linear-gradient(90deg, #ffffff09 0 1px, transparent 1px 7px), var(--poke-deep);border:3px solid var(--battle-outline);box-shadow:0 4px 0 var(--battle-outline);border-radius:4px;min-height:48px;padding:6px 8px 6px 14px}.is-battle-layout .tournament-countdown:before{background:var(--poke-yellow);border:2px solid var(--battle-outline);box-shadow:2px 2px 0 var(--battle-outline);content:"";width:12px;height:12px;transform:rotate(45deg)}.is-battle-layout .tournament-countdown span{color:var(--color-cream);font-family:var(--font-badge);text-transform:uppercase;font-size:.62rem;line-height:1.5}.is-battle-layout .tournament-countdown strong{border:2px solid var(--battle-outline);box-shadow:2px 2px 0 var(--battle-outline);font-family:var(--font-badge);border-radius:4px;font-size:.8rem}.is-battle-layout .speed-control{background:var(--battle-control);border-color:var(--battle-outline);box-shadow:2px 2px 0 var(--battle-outline);border-radius:4px}.is-battle-layout .speed-toggle button,.is-battle-layout .skip-battle-button{border-radius:3px}.is-battle-layout .battle-panel{background:var(--battle-outline);border:4px solid var(--battle-outline);border-radius:4px;box-shadow:6px 6px #0000008a}.is-battle-layout .battle-header{background:var(--poke-deep);border:0;border-bottom:3px solid var(--battle-outline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;min-height:54px;margin:0;padding:8px 14px;display:flex;position:relative}.is-battle-layout .battle-header>div{min-width:0}.is-battle-layout .battle-header:after{background:var(--poke-yellow);content:"";width:76px;height:3px;position:absolute;bottom:0;left:14px}.is-battle-layout .battle-header span{color:var(--battle-highlight);font-family:var(--font-badge);font-size:.5rem}.is-battle-layout .battle-header strong{color:var(--color-cream);font-family:var(--font-logo);font-size:clamp(1rem,2vw,1.45rem);font-weight:400}.battle-replay-button{background:var(--poke-yellow);border:2px solid var(--battle-outline);box-shadow:3px 3px 0 var(--battle-outline);color:var(--battle-outline);font-family:var(--font-badge);border-radius:3px;align-items:center;gap:6px;padding:7px 9px;font-size:.52rem;line-height:1.35;display:inline-flex}.battle-replay-button:hover{box-shadow:4px 4px 0 var(--battle-outline);transform:translate(-1px,-1px)}.battle-replay-button:active{box-shadow:1px 1px 0 var(--battle-outline);transform:translate(2px,2px)}.is-battle-layout .battle-header .battle-replay-button span{color:var(--battle-outline);font-family:var(--font-ui);font-size:1rem;font-weight:900;line-height:.8}.is-battle-layout .pixel-battlefield{border:0;border-bottom:4px solid var(--battle-outline);background:linear-gradient(#8ee3ef14 0 54%,#86d96b29 54% 100%),url(/pixel-mountain-header.png) 50% 68%/cover no-repeat;grid-template-columns:minmax(0,1fr) minmax(86px,.28fr) minmax(0,1fr);align-items:end;gap:clamp(8px,2vw,28px);min-height:clamp(390px,48vh,520px);padding:132px clamp(18px,4vw,64px) 20px}.is-battle-layout .pixel-battlefield:before{content:"";pointer-events:none;z-index:1;border:2px solid #fffdf59e;position:absolute;inset:8px}.is-battle-layout .pixel-battlefield:after{z-index:3;background:repeating-linear-gradient(0deg,#07142614 0 1px,#0000 1px 4px),linear-gradient(#0000 72%,#07142633)}.arena-hud{z-index:4;width:min(43%,390px);position:absolute;top:18px}.arena-hud-left{left:18px}.arena-hud-right{right:18px}.arena-hud .team-preview{background:var(--color-cream);border:3px solid var(--battle-outline);box-shadow:4px 4px 0 var(--battle-outline);border-radius:4px;gap:5px;height:auto;min-height:88px;padding:7px 9px}.arena-hud-right .team-preview{box-shadow:-4px 4px 0 var(--battle-outline)}.arena-hud .team-preview>strong{text-transform:uppercase;font-size:.82rem}.arena-hud .team-preview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.arena-hud .team-preview-grid .pokemon-portrait.compact{border:2px solid var(--ink);border-radius:3px;width:34px;min-width:34px}.arena-hud .mini-hp-bar{background:var(--neutral-slate);border:1px solid var(--battle-outline);border-radius:0;height:5px}.is-battle-layout .battle-fighter{z-index:2;align-content:end;gap:10px;min-height:245px}.is-battle-layout .battle-fighter .pokemon-portrait{width:clamp(154px,14vw,218px);min-width:clamp(154px,14vw,218px)}.is-battle-layout .battle-fighter-status{border-color:var(--battle-outline);box-shadow:4px 4px 0 var(--battle-outline);border-radius:4px;max-width:250px;padding:8px 10px 7px}.is-battle-layout .fighter-right .battle-fighter-status{box-shadow:-4px 4px 0 var(--battle-outline)}.is-battle-layout .battle-fighter-status strong{font-family:var(--font-badge);font-size:.64rem;line-height:1.5}.is-battle-layout .battle-hp-bar{border-color:var(--battle-outline);border-radius:0;height:12px}.is-battle-layout .battle-impact-mark{z-index:5;align-self:center;justify-items:center;gap:8px;padding:72px 0 0;display:grid;position:relative}.is-battle-layout .battle-impact-mark>span{color:var(--poke-yellow);font-family:var(--font-logo);text-shadow:3px 3px 0 var(--poke-red), -2px -2px 0 var(--color-cream);font-size:3.2rem;line-height:1}.battle-console{background:var(--color-cream);border:3px solid var(--battle-outline);border-top:0}.battle-console .battle-log-heading{background:var(--battle-panel);border:0;border-bottom:3px solid var(--battle-outline);padding:7px 11px}.battle-console .log-list{background:repeating-linear-gradient(0deg, #11182709 0 1px, transparent 1px 5px), var(--color-cream);gap:0;max-height:270px;padding:0 8px 6px}.battle-console .log-entry{border:0;border-bottom:1px solid var(--neutral-divider);background:0 0;border-radius:0;grid-template-columns:68px minmax(0,1fr);gap:1px 10px;padding:7px 6px}.battle-console .log-entry.fresh{background:var(--surface-cyan);border-left:5px solid var(--poke-blue);animation:.32s steps(4,end) reveal}.battle-console .log-entry.is-switch{background:var(--surface-yellow-soft);border-left:5px solid var(--gold-shadow);box-shadow:none}.battle-console .log-entry>small{font-size:.42rem}.battle-console .log-entry strong{font-size:.88rem}.battle-console .log-entry span,.battle-console .log-entry em{font-size:.78rem}.is-battle-layout .classic-bracket{background:repeating-linear-gradient(0deg, #ffffff09 0 1px, transparent 1px 5px), var(--battle-panel);border:3px solid var(--battle-outline);border-radius:4px;padding:10px;box-shadow:5px 5px #0000007a}.is-battle-layout .bracket-title{border-color:var(--battle-outline);padding:3px 4px 10px}.is-battle-layout .bracket-title span,.is-battle-layout .bracket-section-label{color:var(--poke-ice)}.is-battle-layout .bracket-title strong{color:var(--color-cream);font-family:var(--font-logo);font-size:1rem;font-weight:400}.is-battle-layout .bracket-section-label.is-viewed{color:var(--poke-yellow)}.is-battle-layout .semifinal-side,.is-battle-layout .final-round{border-color:var(--poke-ice)}.is-battle-layout .tournament-trainer-card{border:2px solid var(--battle-outline);border-left:5px solid var(--trainer-color);box-shadow:3px 3px 0 var(--battle-outline);border-radius:3px;min-height:76px}.is-battle-layout .team-preview{height:76px;padding:6px 7px}.is-battle-layout .team-preview>strong{font-size:.78rem}.is-battle-layout .bracket-team-slot.is-viewed .tournament-trainer-card{border-color:var(--poke-yellow);border-left-color:var(--poke-yellow);box-shadow:3px 3px 0 var(--battle-outline), 0 0 0 2px var(--poke-yellow)}.is-battle-layout .bracket-round-block{background:#071a338a;border:2px solid #8ee3ef5c;border-left-width:5px;border-radius:3px;padding:8px;transition:background .15s,border-color .15s,box-shadow .15s}.is-battle-layout .bracket-round-block.is-selected-match{border-color:var(--poke-yellow);box-shadow:inset 0 0 0 1px #fffdf538, 3px 3px 0 var(--battle-outline);background:#ffcb051f}.is-battle-layout .bracket-round-block.is-active-match{animation:1.1s steps(2,end) infinite activeBracketMatch}.is-battle-layout .bracket-round-block.is-active-match:before{background:var(--poke-yellow);border:2px solid var(--battle-outline);box-shadow:2px 2px 0 var(--battle-outline);content:"";z-index:4;width:9px;height:9px;animation:.7s steps(2,end) infinite activeBracketMarker;display:block;position:absolute;top:12px;left:-8px;right:auto;transform:rotate(45deg)}@keyframes activeBracketMatch{0%,to{border-color:var(--poke-yellow)}50%{border-color:var(--color-cream)}}@keyframes activeBracketMarker{0%,to{opacity:1}50%{opacity:.35}}.arena-result-reveal{background:repeating-linear-gradient(0deg, #1118270a 0 1px, transparent 1px 5px), var(--color-cream);border:4px solid var(--battle-outline);box-shadow:8px 8px 0 #071426b8, 0 0 0 4px var(--poke-yellow);text-align:center;transform-origin:50%;z-index:8;place-items:center;gap:8px;width:min(430px,100% - 44px);padding:16px;animation:.76s cubic-bezier(.16,.9,.24,1.16) both arenaResultStretchReveal;display:grid;position:absolute;top:56%;left:50%}.arena-result-kicker,.arena-result-mvp>div>span{color:var(--poke-deep);font-family:var(--font-badge);text-transform:uppercase;font-size:.58rem;line-height:1.5}.arena-result-champion{color:var(--ink);font-family:var(--font-logo);overflow-wrap:anywhere;font-size:clamp(1.65rem,4vw,2.8rem);font-weight:400;line-height:1}.arena-result-mvp{background:var(--surface-yellow-soft);border:3px solid var(--ink);text-align:left;grid-template-columns:66px minmax(0,1fr);align-items:center;gap:10px;width:100%;padding:8px 12px;display:grid}.arena-result-mvp .pokemon-portrait.compact{width:62px;min-width:62px}.arena-result-mvp>div{gap:2px;min-width:0;display:grid}.arena-result-mvp>div>strong{color:var(--ink);overflow-wrap:anywhere;font-size:1.08rem}.arena-result-mvp small{color:var(--muted);font-size:.72rem;font-weight:800}.arena-result-actions{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.arena-result-actions button{background:var(--color-cream);border:3px solid var(--ink);box-shadow:4px 4px 0 var(--ink);color:var(--ink);border-radius:4px;min-height:42px;padding:7px 14px;font-weight:900}.arena-result-actions .primary-action{background:var(--poke-yellow)}.arena-result-actions button:hover,.arena-result-actions button:focus-visible{box-shadow:2px 2px 0 var(--ink);outline:none;transform:translate(2px,2px)}@keyframes arenaResultStretchReveal{0%{opacity:0;transform:translate(-50%,-50%)scaleX(.34)scaleY(.7)}52%{opacity:1;transform:translate(-50%,-50%)scaleX(1.1)scaleY(.9)}74%{transform:translate(-50%,-50%)scaleX(.97)scaleY(1.045)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.is-battle-layout .champion-box{background:var(--battle-control);border:2px solid var(--poke-yellow);box-shadow:3px 3px 0 var(--battle-outline);border-radius:3px}@keyframes battleLungeRight{0%{transform:translate(0)}24%{transform:translate(-18px)}54%{transform:translate(54px)scale(1.08)}to{transform:translate(0)}}@keyframes battleLungeLeft{0%{transform:translate(0)}24%{transform:translate(18px)}54%{transform:translate(-54px)scale(1.08)}to{transform:translate(0)}}@keyframes battleImpact{0%,to{filter:none;transform:translate(0)}42%{filter:brightness(1.6)saturate(.4);transform:translate(-8px)}55%{filter:brightness(.8);transform:translate(8px)}68%{transform:translate(-5px)}}@keyframes reveal{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes countdownPulse{0%,to{box-shadow:var(--hard-shadow)}50%{box-shadow:6px 6px #111827f0,0 0 0 4px #ffcb053d}}@keyframes bracketWinnerLock{0%{transform:translateY(0)scale(1)}38%{transform:translateY(-4px)scale(1.035);box-shadow:0 0 #10162600}64%{box-shadow:0 22px 48px color-mix(in srgb, var(--trainer-color) 28%, transparent);transform:translateY(1px)scale(.99)}to{box-shadow:0 16px 34px color-mix(in srgb, var(--trainer-color) 18%, transparent);transform:translateY(0)scale(1)}}@keyframes bracketBorderFill{0%{--winner-fill:0deg;opacity:.95}to{--winner-fill:360deg;opacity:1}}@keyframes trainerSmashDown{0%{transform:translateY(0)scale(1)}38%{transform:translateY(34px)scale(1.035)rotate(1.5deg)}58%{transform:translateY(26px)scale(.985)rotate(-.6deg)}to{transform:translateY(0)scale(1)}}@keyframes trainerSmashUp{0%{transform:translateY(0)scale(1)}38%{transform:translateY(-34px)scale(1.035)rotate(-1.5deg)}58%{transform:translateY(-26px)scale(.985)rotate(.6deg)}to{transform:translateY(0)scale(1)}}@keyframes trainerSmashRight{0%{transform:translate(0)scale(1)}38%{transform:translate(34px)scale(1.035)rotate(1.5deg)}58%{transform:translate(24px)scale(.985)rotate(-.6deg)}to{transform:translate(0)scale(1)}}@keyframes trainerSmashLeft{0%{transform:translate(0)scale(1)}38%{transform:translate(-34px)scale(1.035)rotate(-1.5deg)}58%{transform:translate(-24px)scale(.985)rotate(.6deg)}to{transform:translate(0)scale(1)}}@keyframes pokemonMiniAttackA{0%{transform:translate(0)scale(1)rotate(0)}24%{transform:translate(calc(var(--attack-x,0px) * -.34), calc(var(--attack-y,0px) * -.34)) scale(.96) rotateZ(-4deg)}48%{transform:translate(var(--attack-x,0px), var(--attack-y,0px)) scale(1.28) rotateZ(5deg)}62%{transform:translate(calc(var(--attack-x,0px) * .7), calc(var(--attack-y,0px) * .7)) scale(.92) rotateZ(-2deg)}to{transform:translate(0)scale(1)rotate(0)}}@keyframes pokemonMiniAttackB{0%{transform:translate(0)scale(1)rotate(0)}24%{transform:translate(calc(var(--attack-x,0px) * -.34), calc(var(--attack-y,0px) * -.34)) scale(.96) rotateZ(-4deg)}48%{transform:translate(var(--attack-x,0px), var(--attack-y,0px)) scale(1.28) rotateZ(5deg)}62%{transform:translate(calc(var(--attack-x,0px) * .7), calc(var(--attack-y,0px) * .7)) scale(.92) rotateZ(-2deg)}to{transform:translate(0)scale(1)rotate(0)}}@keyframes pokemonMiniHitA{0%{filter:saturate();transform:translate(0)scale(1)}44%{filter:saturate(1.1)brightness(1.08);transform:translate(0)scale(1)}52%{filter:saturate(.9)brightness(1.2);transform:translate(calc(var(--attack-x,0px) * .36), calc(var(--attack-y,0px) * .36)) scale(.88) rotateZ(-5deg)}62%{transform:translate(calc(var(--attack-x,0px) * -.16), calc(var(--attack-y,0px) * -.16)) scale(1.08) rotateZ(4deg)}to{filter:saturate();transform:translate(0)scale(1)rotate(0)}}@keyframes pokemonMiniHitB{0%{filter:saturate();transform:translate(0)scale(1)}44%{filter:saturate(1.1)brightness(1.08);transform:translate(0)scale(1)}52%{filter:saturate(.9)brightness(1.2);transform:translate(calc(var(--attack-x,0px) * .36), calc(var(--attack-y,0px) * .36)) scale(.88) rotateZ(-5deg)}62%{transform:translate(calc(var(--attack-x,0px) * -.16), calc(var(--attack-y,0px) * -.16)) scale(1.08) rotateZ(4deg)}to{filter:saturate();transform:translate(0)scale(1)rotate(0)}}@keyframes pokemonImpactFlash{0%,42%{opacity:0;transform:scale(.55)}50%{opacity:.95;transform:scale(1.28)}72%{opacity:.26;transform:scale(1.62)}to{opacity:0;transform:scale(1.82)}}@keyframes cardSettle{0%{opacity:.7;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes cardLockIn{0%{filter:saturate();opacity:1;transform:translate(0,0)rotate(0)scale(1)}18%{filter:saturate(1.12);opacity:1;transform:translate3d(0, -22px, 0) rotateZ(calc(var(--lock-rot,0deg) * -.28)) scale(1.04)}72%{filter:saturate(1.04);opacity:.92;transform:translate3d(calc(var(--lock-x,0px) * .92), calc(var(--lock-y,0px) * .92), 0) rotateZ(var(--lock-rot,0deg)) scale(.42)}to{filter:saturate(.92);opacity:0;transform:translate3d(var(--lock-x,0px), var(--lock-y,0px), 0) rotateZ(var(--lock-rot,0deg)) scale(.34)}}@keyframes cardLockPulse{0%,to{transform:rotateX(0)rotateY(0)}20%{transform:rotateX(6deg)rotateY(-4deg)}72%{transform:rotateX(2deg)rotateY(3deg)}}@keyframes deckLockPulse{0%,to{transform:translateY(0)scale(1)}38%{transform:translateY(-3px)scale(1.015)}68%{transform:translateY(1px)scale(.995)}}@keyframes teamSlotArrive{0%{filter:saturate(1.3);opacity:0;transform:translateY(-8px)scale(.88)}62%{opacity:1;transform:translateY(2px)scale(1.04)}to{filter:saturate();opacity:1;transform:translateY(0)scale(1)}}@keyframes slotCardRoll{0%{filter:blur();transform:translateY(0)}18%{filter:blur(3px)}72%{filter:blur(2px)}to{filter:blur();transform:translateY(var(--roll-distance))}}@keyframes constraintButtonReel{0%{filter:blur();transform:translateY(0)}16%{filter:blur(1px)}76%{filter:blur(.75px)}to{filter:blur();transform:translateY(calc((1 - var(--reel-items)) * 1.15em))}}@keyframes rerollIconSpin{to{transform:rotate(360deg)}}@keyframes tournamentTeamRoll{0%{filter:blur();transform:translateY(0)}20%{filter:blur(3px)}76%{filter:blur(2px)}to{filter:blur();transform:translateY(var(--team-roll-distance))}}@media (width<=1180px){.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.is-player-team .team-list{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=980px){.tournament-stage.is-battle-layout{grid-template-columns:1fr;grid-template-areas:"controls""battle""bracket"}.is-battle-layout .classic-bracket{position:static}.stage{grid-template-columns:1fr}.rival-sidebar{position:static}.rival-sidebar .trainer-board{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.menu-card{padding:48px 14px 30px}.menu-command-panel{grid-template-columns:1fr;padding:12px}.menu-actions{grid-template-columns:1fr}.menu-command-panel .daily-chip{justify-self:stretch}.site-footer{flex-direction:column;align-items:flex-start;gap:8px;width:calc(100% + 28px);margin:24px -14px -14px;padding:12px 14px}.site-footer p{text-align:left}.result-backdrop{align-items:flex-end;padding:8px}.result-dialog{max-height:94vh}.result-content{grid-template-columns:1fr;padding:16px}.community-pick{grid-template-columns:38px minmax(0,1fr) 76px 90px}.app-shell{padding:14px}.tournament-control-bar{flex-direction:column;align-items:stretch}.tournament-controls{justify-content:space-between}.is-battle-layout .tournament-control-bar{gap:8px;padding:8px}.is-battle-layout .pixel-battlefield{grid-template-columns:minmax(0,1fr) minmax(66px,.28fr) minmax(0,1fr);gap:5px;min-height:344px;padding:108px 8px 12px}.arena-hud{width:calc(50% - 15px);top:10px}.arena-hud-left{left:9px}.arena-hud-right{right:9px}.arena-hud .team-preview{min-height:78px;padding:6px}.arena-hud .team-preview>strong{font-size:.68rem}.arena-hud .team-preview-grid{gap:3px}.arena-hud .team-preview-grid .pokemon-portrait.compact{width:26px;min-width:26px}.is-battle-layout .battle-fighter{min-height:184px}.is-battle-layout .battle-fighter .pokemon-portrait{width:clamp(94px,26vw,132px);min-width:clamp(94px,26vw,132px)}.is-battle-layout .battle-fighter-status{padding:6px}.is-battle-layout .battle-fighter-status strong{font-size:.5rem}.is-battle-layout .battle-impact-mark{padding-top:56px}.is-battle-layout .battle-impact-mark>span{font-size:2rem}.battle-console .log-entry{grid-template-columns:58px minmax(0,1fr)}.panel-heading{flex-direction:column;align-items:flex-start}.header-rerolls{justify-content:flex-start;width:100%}.topbar{background-position:bottom;flex-direction:column;align-items:stretch;width:calc(100% + 28px);min-height:176px;margin:-14px -14px 24px;padding:18px 14px}.trainer-board{grid-template-columns:1fr}.classic-bracket{grid-template-columns:1fr;gap:20px;min-height:0;padding-inline:0}.semifinal-side{gap:12px}.semifinal-side:before,.semifinal-side:after,.semifinal-side .bracket-team-slot:after,.final-round:after,.bracket-champion:before{display:none}.final-round{grid-template-columns:1fr}.battle-team-rosters{grid-template-columns:1fr;gap:10px}.battle-vs{display:none}.pixel-battlefield{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);gap:8px;min-height:224px;padding:14px 12px 10px}.battle-fighter .pokemon-portrait{width:104px;min-width:104px}.battle-fighter-status{padding:7px}.battle-impact-mark{padding-bottom:44px;font-size:1.25rem}.log-list{grid-template-columns:1fr}}@media (width<=560px){.menu-title-block h1{text-shadow:0 3px 0 var(--poke-blue), 0 7px 0 var(--poke-deep), 3px 7px 0 var(--ink), -2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink);font-size:clamp(3rem,17vw,4.5rem)}.menu-title-block .brand-poke{text-shadow:0 3px 0 var(--logo-accent-shadow), 0 7px 0 var(--poke-deep), 3px 7px 0 var(--ink), -2px -2px 0 var(--ink), 2px -2px 0 var(--ink), -2px 2px 0 var(--ink)}.community-pick{grid-template-columns:38px minmax(0,1fr) 72px}.community-pick>span:last-child{grid-column:2/-1}.result-actions{grid-template-columns:1fr 1fr;padding-inline:14px;display:grid}.choice-grid{grid-template-columns:1fr}.is-player-team .team-list{grid-template-columns:repeat(2,minmax(0,1fr))}.rival-sidebar .trainer-board{grid-template-columns:1fr}.tournament-team-strip{animation-name:tournamentTeamRoll}.topbar h1{font-size:2rem}.is-battle-layout .pixel-battlefield{grid-template-columns:minmax(0,1fr) 54px minmax(0,1fr);min-height:314px;padding:102px 5px 9px}.arena-hud .team-preview-grid .pokemon-portrait.compact{width:22px;min-width:22px}.is-battle-layout .battle-fighter{min-height:164px}.is-battle-layout .battle-fighter .pokemon-portrait{width:clamp(76px,25vw,106px);min-width:clamp(76px,25vw,106px)}.is-battle-layout .battle-fighter-status strong{font-size:.44rem}.battle-team-rosters{padding-inline:10px}.battle-roster .team-preview{padding-inline:8px}.pixel-battlefield{grid-template-columns:minmax(0,1fr) 18px minmax(0,1fr);min-height:202px;padding-inline:6px}.battle-fighter .pokemon-portrait{width:82px;min-width:82px}.battle-fighter-status strong{font-size:.82rem}.battle-fighter-status small{font-size:.42rem}}
