/* Shared game flows. Native controls keep a dark appearance without the CDN. */
:root { color-scheme: dark; }
[hidden] { display:none !important; }
button,input,select { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:not-allowed; }
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible {
  outline:2px solid #7ff5cf;outline-offset:4px;
}
.game-page { width:min(1184px,100%);margin:0 auto;padding:38px 24px 64px; }
.game-page * { min-width:0; }
.back-link { display:inline-flex;align-items:center;min-height:36px;color:#a5b4c9;font-size:.85rem; }
.back-link:hover { color:#7ff5cf; }
.page-heading { display:flex;justify-content:space-between;align-items:center;gap:24px;margin:20px 0 32px; }
.page-heading h1 { margin:8px 0 12px;font:700 clamp(1.8rem,4vw,2.8rem)/1.15 "Space Grotesk",sans-serif;color:#f8fafc;letter-spacing:-.045em; }
.page-heading p:not(.eyebrow) { color:#a5b4c9;line-height:1.7;max-width:650px; }
.game-feedback { color:#7ff5cf;font-size:.875rem;line-height:1.6; }
.game-feedback:empty { display:none; }
.game-feedback:not(:empty) { padding:12px 16px;border:1px solid #4eebb83d;border-radius:10px;background:#132923;margin:12px 0; }
.context-hint { color:#9cacc0;font-size:.78rem;line-height:1.6; }
.section-heading { display:flex;align-items:center;justify-content:space-between;gap:16px; }
.section-heading h2 { color:#fff;font:600 1.1rem "Space Grotesk",sans-serif; }
.section-heading p { margin-top:5px;color:#9cacc0;font-size:.8rem; }
.mode-tabs { display:flex;gap:6px;border-bottom:1px solid #2c3544;margin:30px 0 24px;overflow-x:auto; }
.mode-tabs :is(a,button) { flex-shrink:0;min-height:48px;padding:12px 20px;background:transparent;border:0;border-bottom:2px solid transparent;color:#a5b4c9;font-weight:600;font-size:.875rem; }
.mode-tabs :is([aria-selected=true],[aria-current=page]) { color:#7ff5cf;border-color:#4eebb8; }
.mode-tabs b { margin-left:8px;border-radius:20px;background:#4eebb8;color:#0b1713;padding:2px 6px;font-size:.7rem; }
.duel-hub { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.duel-tile { display:flex;flex-direction:column;position:relative;overflow:hidden;border:1px solid #30394a;border-radius:22px;background:linear-gradient(155deg,#202637,#11151f);padding:24px;transition:transform .2s,border-color .2s; }
.duel-tile:hover { transform:translateY(-5px);border-color:var(--accent); }
.duel-tile { --accent:#bda1ff; }.clash-tile{--accent:#65bcff}.arena-tile{--accent:#4eebb8}
.duel-tile .eyebrow { color:var(--accent); }.duel-tile h2 { font:700 1.8rem "Space Grotesk";color:#fff;margin:12px 0;letter-spacing:-.04em; }
.duel-tile p { color:#acb9ce;line-height:1.7;font-size:.9rem;flex:1; }
.duel-tile>strong { display:flex;justify-content:space-between;border-top:1px solid #ffffff14;padding-top:22px;margin-top:30px;color:var(--accent);font-size:.85rem; }
.duel-art { height:190px;display:flex;align-items:center;justify-content:center;position:relative;margin:-24px -24px 20px;background:radial-gradient(ellipse at 50% 75%,color-mix(in srgb,var(--accent) 18%,transparent),transparent 70%); }
.duel-art>img { width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 12px 20px #0008);z-index:1; }
.duel-art>img.duel-pokemon-art { width:185px;height:185px; }
.jackpot-orbit { position:absolute;width:156px;height:156px;border:1px solid #bda1ff66;border-radius:50%;background:conic-gradient(from 20deg,#bda1ff44 0 20%,transparent 20% 47%,#bda1ff22 47% 72%,transparent 72%);box-shadow:0 0 0 12px #bda1ff05; }
.clash-art { gap:10px; }.clash-art>img { width:82px;height:82px;transform:rotate(-12deg); }.clash-art>img:last-child{transform:rotate(12deg)}.clash-art>span{font:700 1.1rem "Space Grotesk";color:#65bcff}
.team-overview { background:#141b26;border:1px solid #2b3648;border-radius:18px;padding:22px; }
.team-lineup { display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:20px; }
.lineup-slot { display:flex;flex-direction:column;align-items:center;position:relative;padding:12px 6px;border-radius:12px;background:#1b2636;border:1px solid #324056;color:#f1f5f9;transition:border-color .2s; }
.lineup-slot:hover { border-color:#4eebb8; }.lineup-slot img { width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 7px 8px #0005); }
.lineup-slot strong { font-size:.75rem;margin-top:8px;text-align:center;overflow-wrap:anywhere; }.lineup-slot small { color:#a5b4c9;font-size:.7rem;margin-top:5px; }
.lineup-order { position:absolute;left:10px;top:8px;color:#7388a5;font-size:.65rem; }
.lineup-slot.empty { border-style:dashed;background:#101720;justify-content:center; }.lineup-slot.empty>span{font-size:1.8rem;color:#64809b}
.champion-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.champion-choice { position:relative;text-align:left;background:radial-gradient(ellipse at 80% 15%,#335c7844,transparent 70%),#151d2a;border:2px solid #2c3b50;border-radius:18px;padding:24px;overflow:hidden;transition:border-color .2s,background .2s; }
.champion-choice.selected { border-color:#4eebb8;background:radial-gradient(ellipse at 80% 15%,#27695055,transparent 70%),#15251f; }
.champion-index { font:700 .8rem "Space Grotesk";color:#90a5bb; }.champion-ace { display:block;object-fit:contain;width:150px;height:150px;margin:0 auto 8px;filter:drop-shadow(0 10px 20px #0006); }
.champion-choice h2 { font:700 1.45rem "Space Grotesk";color:white; }.champion-choice>p { font-size:.8rem;color:#abbacf;margin-top:8px; }
.champion-lineup { display:flex;justify-content:space-between;gap:4px;margin-top:18px;border-top:1px solid #ffffff14;padding-top:12px; }.champion-lineup img { width:36px;height:36px;object-fit:contain; }
.battle-launch { display:flex;gap:20px;align-items:center;justify-content:space-between;padding:24px 0; }
.battle-launch fieldset { display:flex;flex-wrap:wrap;gap:12px; }.battle-launch legend { font-size:.75rem;color:#a5b4c9;margin-bottom:8px; }
.battle-launch label { display:flex;align-items:center;gap:10px;border:1px solid #344258;padding:12px 16px;border-radius:10px;background:#151d2a;cursor:pointer; }
.battle-launch label:has(input:checked) { border-color:#7ff5cf;background:#19332b; }.battle-launch input{accent-color:#4eebb8}.battle-launch strong{font-size:.8rem;color:#edf7f3}.battle-launch small{display:block;font-size:.7rem;color:#a5b4c9;margin-top:3px}
.battle-launch>.btn-primary { min-height:52px;justify-content:center;white-space:nowrap; }
.arena-extras { display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #2b3648;margin-top:8px;padding-top:16px; }
.arena-extras details>summary,.battle-recap>summary { cursor:pointer;color:#b4c3d6;font-size:.85rem;padding:14px 0; }
.arena-extras details>p { font-size:.8rem;line-height:1.8;color:#9cacc0;margin:12px 0; }
.battle-history a { display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #ffffff0b;font-size:.8rem;gap:12px; }
.battle-history strong { color:#7ff5cf; }.resume-battle { display:flex;justify-content:space-between;gap:12px;padding:18px 22px;margin-bottom:20px;background:#19392c;border:1px solid #4eebb866;border-radius:14px;font-size:.875rem;color:#7ff5cf; }
.friend-challenges { border:1px solid #2d3c50;border-radius:16px;padding:28px;background:#151e2a; }.friend-challenges h2{font:600 1.35rem "Space Grotesk";color:white}.friend-challenges>p{margin:12px 0;color:#a5b4c9;font-size:.85rem;line-height:1.7}
.friend-challenge-form,.challenge-invitation { display:flex;gap:12px;margin-top:20px;align-items:center;flex-wrap:wrap; }.friend-challenge-form select{flex:1}.challenge-invitation{padding-top:18px;border-top:1px solid #2d3c50}.challenge-invitation strong{flex:1}
/* One battle stage and one action panel; additional information is progressive. */
.arena-play { max-width:1000px;padding-top:20px; }
.battle-toolbar { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px; }
.turn-counter { font:600 .8rem "Space Grotesk";color:#7ff5cf;background:#16342b;padding:7px 12px;border-radius:20px; }
.quiet-button { background:transparent;border:0;color:#9cacc0;font-size:.75rem;min-height:44px;padding:8px; }
.quiet-button:hover { color:#fda4af; }
.arena-board { border:1px solid #34475d;border-radius:20px;overflow:hidden;background:#111c29;box-shadow:0 20px 80px #0004; }
.arena-play .battle-scene { height:390px;border:0;border-radius:0;box-shadow:inset 0 -50px 70px #07142466;background:radial-gradient(ellipse at 70% 10%,#28608055,transparent 65%),linear-gradient(165deg,#172840,#1e3c41 58%,#19333e); }
.arena-play .arena-rings { inset:25% -35% -100%;background:repeating-radial-gradient(ellipse at center,transparent 0 55px,#8ee8d318 56px 57px);transform:rotateX(50deg); }
.arena-play .battle-platform { width:230px;height:60px;background:radial-gradient(ellipse,#64b9ac40,#1b484922 70%);border:2px solid #8be3ce55;box-shadow:0 0 0 10px #80dfc50a,0 8px 20px #0003; }
.arena-play .platform-foe { right:10%;top:48%; }.arena-play .platform-player { left:9%;bottom:8%; }
.arena-play .foe-pokemon { width:190px;height:190px;right:12%;top:6%; }.arena-play .player-pokemon { width:220px;height:220px;left:9%;bottom:9%; }
.arena-play .battle-hud { background:#101c2df2;border:1px solid #526780;border-radius:12px;padding:14px 16px;width:270px;box-shadow:0 8px 24px #06111e55; }
.arena-play .hud-foe { top:9%;left:6%; }.arena-play .hud-player { bottom:10%;right:6%; }
.hud-heading,.hud-meta { display:flex;justify-content:space-between;gap:8px;align-items:center; }.hud-heading strong{color:#fff;font-size:.95rem}.hud-heading small,.hud-meta{font-size:.68rem;color:#c2cfdf}.hud-meta span:last-child{font-variant-numeric:tabular-nums}
.hud-badges { display:flex;flex-wrap:wrap;gap:4px;margin-top:5px; }.hud-badges:empty{display:none}.hud-held{display:flex;gap:5px;align-items:center;margin-top:6px;font-size:.63rem;color:#afc2d9;line-height:1.3}.hud-held img{width:22px;height:22px;object-fit:contain;image-rendering:pixelated}
.boost-pill { padding:2px 4px;background:#1d465d;color:#b1e3ff;font-size:.6rem;border-radius:4px; }
.arena-play .status-pill { background:#604823;color:#fff1be;font-size:.62rem; }
.arena-play .hp-track { height:9px;background:#061523;border:1px solid #607c8955;margin:8px 0 5px; }
.field-effects { position:absolute;left:50%;bottom:6px;transform:translateX(-50%);max-width:95%;font-size:.65rem;text-align:center;color:#c2efe0;background:#0b201dcf;padding:4px 10px;border-radius:10px; }
.battle-announcement { min-height:56px;padding:15px 24px;border-top:1px solid #3e6573;border-bottom:1px solid #2f4257;background:#142938;color:#d6f5e9;font-size:.86rem;line-height:1.65; }
.battle-console { padding:22px 24px 24px; }
.console-heading h1 { font:600 1.05rem "Space Grotesk";color:#fff; }
.command-tabs { display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:16px 0;background:#0b1421;padding:5px;border:1px solid #26394e;border-radius:12px; }
.command-tabs button { border:0;background:transparent;color:#9fb4cb;font-weight:600;font-size:.85rem;border-radius:8px;min-height:42px;padding:8px; }
.command-tabs [aria-selected=true] { background:#2c5c50;color:#b5ffe6;box-shadow:inset 0 0 0 1px #4eebb85c; }
.command-tabs button:disabled { opacity:.4; }
.move-grid { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.battle-move { --move-color:#72baa9;background:#1b2e40;border:1px solid #40556b;border-left:4px solid var(--move-color);padding:14px 16px;min-height:112px;display:flex;gap:9px;border-radius:12px; }
.battle-move:hover:enabled { background:#263e50;border-color:var(--move-color); }
.battle-move:disabled { opacity:.45; }.move-fire{--move-color:#ff996e}.move-water{--move-color:#69b8ff}.move-electric{--move-color:#f5d75e}.move-grass{--move-color:#8bdb85}.move-ice{--move-color:#8edfe2}.move-fighting{--move-color:#ed8b84}.move-poison{--move-color:#ce9be2}.move-ground{--move-color:#d5b27a}.move-flying{--move-color:#b2baf5}.move-psychic{--move-color:#f490bd}.move-bug{--move-color:#c6d873}.move-rock{--move-color:#c8bd8a}.move-ghost{--move-color:#b79adb}.move-dragon{--move-color:#ae9aff}.move-dark{--move-color:#b5a2a3}.move-steel{--move-color:#9dc6cf}.move-fairy{--move-color:#f1b1dc}
.move-heading { display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%; }.move-heading strong{font-size:.9rem;color:#f8fafc}.move-heading small{font-size:.65rem;color:#c5d5e6;white-space:nowrap}.move-meta{display:flex;gap:7px;align-items:center;flex-wrap:wrap;color:#b3c4d5;font-size:.65rem}.move-description{font-size:.7rem;line-height:1.6;color:#adc0d4}
.transformation-options { display:flex;flex-wrap:wrap;gap:8px;margin-top:14px; }.transformation-options:empty{display:none}
.transform-button { padding:9px 12px;min-height:38px;border:1px solid #9b7fc866;color:#d7c4f5;background:#26233e;font-size:.72rem;border-radius:8px; }
.transform-button[aria-pressed=true] { background:#563575;border-color:#dab3ff;color:#fff; }
.transform-button:disabled { opacity:.45; }.transformation-options+.context-hint{margin-top:8px}
.switch-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0; }
.switch-card { position:relative;display:flex;gap:10px;align-items:center;padding:12px 10px;background:#1b2d40;border:1px solid #3b536a;border-radius:12px;text-align:left;min-height:90px; }
.switch-card>img { width:58px;height:58px;object-fit:contain;background:transparent;filter:drop-shadow(0 4px 8px #0005); }
.switch-info { flex:1; }.switch-info strong{font-size:.75rem;color:#f1f5f9;overflow-wrap:anywhere}.switch-info small{font-size:.65rem;color:#b8c7d9}.switch-info .hp-track{height:6px;margin:6px 0}.switch-card:disabled{opacity:.48;background:#132234}.switch-card:hover:enabled,.switch-card[aria-pressed=true]{border-color:#7ff5cf;background:#1d4039}.switch-tag{position:absolute;right:6px;top:4px;font-size:.52rem;color:#b6cce2}
.medicine-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;max-height:270px;overflow-y:auto;scrollbar-color:#436075 #152336;padding:3px; }
.medicine-choice { display:flex;align-items:center;gap:7px;flex-wrap:wrap;background:#1b2d40;border:1px solid #3b536a;border-radius:10px;padding:9px;min-height:60px;text-align:left; }.medicine-choice img{width:32px;height:32px;object-fit:contain;image-rendering:pixelated}.medicine-choice strong{font-size:.7rem;flex:1}.medicine-choice small{font-size:.65rem;color:#a5b4c9}.medicine-choice[aria-pressed=true]{border-color:#7ff5cf;background:#1d4039}.medicine-choice:disabled{opacity:.45}
#medicine-action { border-top:1px solid #354a60;padding-top:15px;margin-top:18px; }#medicine-slot-label{display:block;font-size:.75rem;color:#a5b4c9;margin-bottom:16px}#medicine-slot{display:block;margin-top:6px;width:100%}#use-medicine{margin-right:12px}
.battle-recap { margin-top:20px;border-top:1px solid #293a50; }.battle-recap>summary{display:flex;justify-content:space-between;gap:10px}.battle-recap>summary>span{font-size:.7rem;color:#7991ad}.battle-recap[open]>summary{color:#7ff5cf}
#battle-log { max-height:440px;overflow-y:auto;padding:0 14px 16px;scrollbar-color:#436075 #111a28; }
.recap-turn { border-left:2px solid #2b4658;padding-left:16px;margin:16px 0 24px; }.recap-turn h3{color:#7ff5cf;font-size:.75rem;margin-bottom:10px}.recap-turn p{font-size:.75rem;line-height:1.8;color:#96abc3;margin:5px 0}.recap-turn .recap-move{color:#e5eff7;font-weight:600}.recap-turn .recap-faint{color:#fca5a5}
.battle-results { text-align:center;padding:30px;border:1px solid #345847;background:#142b23;border-radius:16px;margin-top:18px; }.battle-results h2{font:700 2rem "Space Grotesk";color:#8affd2}.reward-money{margin:12px;color:#a6f5d2}.reward-list{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:18px 0;font-size:.7rem;color:#b4ccbf}.reward-list p{padding:8px;border:1px solid #47634e;border-radius:6px}
/* Inventory: ownership and shopping share the same pockets and artwork. */
.inventory-filters { display:flex;align-items:center;gap:12px;margin-bottom:24px; }.inventory-filters>label:first-of-type{flex:1}.inventory-filters input{width:100%}.inventory-filters select{max-width:250px;min-height:44px}
.inventory-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px; }
.inventory-card { display:flex;flex-direction:column;padding:22px;background:#161e2b;border:1px solid #2e3d52;border-radius:16px; }
.inventory-card-top{display:flex;align-items:center;gap:14px}.inventory-card-top h2{color:#f1f5f9;font:600 1.05rem "Space Grotesk";margin:5px 0}.inventory-card-top small{color:#86a7ba;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em}.stock-label{font-size:.7rem;color:#7ff5cf}.item-art{flex-shrink:0;width:68px;height:68px;display:grid;place-items:center;background:radial-gradient(circle at 50% 50%,#4eebb822,#4eebb805);border:1px solid #4eebb82b;border-radius:14px}.item-art img{width:48px;height:48px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 4px 4px #0005)}
.item-description { font-size:.8rem;line-height:1.75;color:#aebed2;margin:18px 0;flex:1;overflow-wrap:anywhere; }
.purchase-total{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.purchase-total strong{font:700 1.1rem "Space Grotesk";color:#7ff5cf}.purchase-total small{font-size:.65rem;color:#9cacc0}.purchase-controls{display:flex;gap:8px}.purchase-controls label{width:76px}.purchase-controls input{width:100%;min-height:44px}.purchase-controls button{flex:1;justify-content:center;min-height:44px}
.item-action{display:block;color:#7ff5cf;font-weight:600;font-size:.8rem;border-top:1px solid #2e3d52;padding-top:16px;margin-bottom:8px}.item-passive{font-size:.75rem;color:#7ff5cf;border-top:1px solid #2e3d52;padding-top:16px}
.empty-state { grid-column:1/-1;text-align:center;border:1px dashed #374b63;border-radius:16px;padding:52px 20px; }.empty-symbol{font-size:2.5rem;color:#668ba8}.empty-state h2{margin:15px 0 25px;font:600 1.2rem "Space Grotesk";color:#d3e1ed}.pagination{display:flex;justify-content:center;align-items:center;gap:18px;margin-top:30px;font-size:.8rem}
.evolution-gems { width:100%;max-width:520px;padding:18px;background:#17202e;border:1px solid #3a455c;border-radius:14px;margin-bottom:12px; }
.evolution-gems>div:first-child{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}.evolution-gems h3{font-size:.85rem;font-weight:600;color:white}.evolution-gems>div>span{font-size:.65rem;color:#c4ace8}.evolution-gems .context-hint{margin-top:8px}.gem-options{display:flex;flex-wrap:wrap;gap:8px}.gem-choice{display:flex;align-items:center;gap:8px;border:1px solid #8e6eba66;border-radius:8px;background:#27213e;padding:8px;margin-top:12px;font-size:.75rem;color:#d4c4ed}.gem-choice img{object-fit:contain;image-rendering:pixelated}.gem-choice[aria-pressed=true]{background:#503266;border-color:#d5a6ff;color:#fff}
/* The team editor uses actual portraits instead of unstyled native buttons. */
.team-slot { display:flex;align-items:center;gap:6px;background:#192a37;border:1px solid #43666c;min-height:58px;padding:6px 10px;color:#d1f5e8;border-radius:10px; }
.team-slot img{width:42px;height:42px;object-fit:contain;background:transparent}.team-slot small{font-size:.65rem}.team-slot:disabled{background:#101b27;color:#7389a2}
.team-grid .r-card { width:100%;background-color:#172535; }
@media (max-width:900px) {
  .inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.duel-hub{gap:12px}.duel-tile{padding:18px}.duel-tile h2{font-size:1.5rem}.clash-art>img{width:64px;height:64px}.champion-choice{padding:16px}.champion-lineup img{width:28px;height:28px}.battle-launch{align-items:stretch;flex-direction:column}.battle-launch fieldset{display:grid;grid-template-columns:1fr 1fr}.switch-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.medicine-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:640px) {
  .game-page{padding:20px 16px 40px}.page-heading{align-items:flex-start;gap:16px;margin:14px 0 24px;flex-direction:column}.page-heading p:not(.eyebrow){font-size:.875rem}.page-heading h1{font-size:2rem}.duel-hub{grid-template-columns:1fr;gap:16px}.duel-tile{padding:24px;min-height:245px}.duel-art{position:absolute;right:20px;top:20px;width:140px;height:140px;margin:0;border-radius:50%;pointer-events:none}.duel-art>img{width:78px;height:78px}.jackpot-orbit{width:110px;height:110px}.duel-tile .eyebrow,.duel-tile h2{max-width:55%;z-index:1}.duel-tile h2{font-size:1.8rem;min-height:60px}.duel-tile p{max-width:85%;z-index:1}.duel-tile>strong{margin-top:20px}.clash-art{gap:2px}.clash-art>img{width:52px;height:52px}.clash-art>span{font-size:.8rem}.duel-art>img.duel-pokemon-art{width:140px;height:140px}
  .team-overview{padding:16px}.section-heading p{font-size:.72rem}.section-heading .btn-ghost{font-size:.7rem;padding:8px}.team-lineup{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.lineup-slot{padding:6px}.lineup-slot img{width:64px;height:64px}.lineup-slot strong{font-size:.65rem}.lineup-slot small{font-size:.6rem;margin-top:2px}.lineup-slot.empty{min-height:106px}
  .champion-grid{grid-template-columns:1fr;gap:10px}.champion-choice{padding:18px 18px 18px 116px;min-height:130px}.champion-ace{position:absolute;left:8px;top:20px;width:100px;height:100px;margin:0}.champion-index{position:absolute;left:12px;top:9px;font-size:.65rem}.champion-choice h2{font-size:1.2rem}.champion-choice>p{font-size:.72rem;margin-top:5px}.champion-lineup{margin-top:10px;padding-top:6px}.champion-lineup img{width:26px;height:26px}.battle-launch label{padding:10px;align-items:flex-start}.battle-launch small{font-size:.65rem}.arena-extras{grid-template-columns:1fr;gap:0}.mode-tabs :is(a,button){padding:12px 14px;font-size:.8rem}.friend-challenges{padding:20px}.friend-challenge-form{flex-direction:column;align-items:stretch}.resume-battle{font-size:.75rem;flex-direction:column}
  .arena-play{padding:12px 10px 30px}.battle-toolbar{gap:6px;margin-bottom:8px}.battle-toolbar .back-link{font-size:.7rem}.turn-counter{font-size:.65rem;padding:6px 10px}.quiet-button{font-size:.65rem}.arena-board{border-radius:14px}
  .arena-play .battle-scene{height:315px}.arena-play .battle-hud{width:48%;max-width:210px;padding:10px;border-radius:10px}.arena-play .hud-foe{left:3%;top:6%}.arena-play .hud-player{right:3%;bottom:9%}.hud-heading{gap:4px;align-items:flex-start}.hud-heading strong{font-size:.74rem}.hud-heading small{font-size:.55rem;white-space:nowrap;padding-top:2px}.hud-meta{font-size:.55rem;gap:4px}.hud-held{font-size:.55rem;margin-top:4px}.hud-held img{width:18px;height:18px}.arena-play .hp-track{height:7px}.arena-play .status-pill,.boost-pill{font-size:.52rem}
  .arena-play .foe-pokemon{width:135px;height:135px;right:5%;top:10%}.arena-play .player-pokemon{width:158px;height:158px;left:2%;bottom:12%}.arena-play .platform-foe{width:150px;height:40px;right:3%;top:43%}.arena-play .platform-player{width:165px;height:40px;left:0;bottom:11%}.arena-play .battle-pokemon.is-dynamax{scale:1.1}.field-effects{font-size:.55rem}.battle-announcement{padding:12px 15px;font-size:.73rem;min-height:60px}
  .battle-console{padding:16px 12px}.console-heading h1{font-size:.9rem}.command-tabs{gap:4px;margin:12px 0;padding:4px}.command-tabs button{font-size:.8rem}.move-grid{gap:8px}.battle-move{padding:12px 10px;min-height:120px;gap:8px}.move-heading{align-items:flex-start;flex-direction:column;gap:4px}.move-heading strong{font-size:.78rem;overflow-wrap:anywhere}.move-heading small{font-size:.58rem}.move-meta{font-size:.6rem;gap:5px}.move-description{display:none}.move-meta .type-pill{font-size:.58rem}.transformation-options{gap:6px}.transform-button{font-size:.62rem;padding:8px}.switch-card{padding:10px 7px;gap:6px;min-height:86px}.switch-card>img{width:40px;height:40px}.switch-info strong{font-size:.68rem}.switch-info small{font-size:.57rem}.switch-tag{font-size:.45rem}
  .medicine-grid{grid-template-columns:repeat(2,minmax(0,1fr));max-height:250px}.medicine-choice{padding:8px;gap:5px}.medicine-choice strong{font-size:.65rem}.battle-recap>summary{font-size:.78rem}.battle-recap>summary>span{font-size:.6rem}.battle-results{padding:22px 14px}
  .inventory-filters{flex-wrap:wrap;gap:8px}.inventory-filters>label:first-of-type{flex-basis:100%}.inventory-filters>label:nth-of-type(2){flex:1}.inventory-filters select{width:100%;max-width:none}.inventory-grid{grid-template-columns:1fr;gap:12px}.inventory-card{padding:20px}.inventory-card-top h2{font-size:1.05rem}.item-description{font-size:.8rem;margin:14px 0}.inventory-tabs{gap:0}.inventory-tabs a{flex:1;text-align:center;padding:12px 8px;font-size:.72rem}.pagination{gap:10px;font-size:.7rem}.pagination .btn-ghost{padding:8px;font-size:.7rem}.evolution-gems{padding:14px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.team-slot{padding:6px;flex:1 1 28%}.team-slot img{width:30px;height:30px}.team-slot small{font-size:.56rem}
}
@media (prefers-reduced-motion:reduce) { .duel-tile,.champion-choice,.lineup-slot { transition:none; }.duel-tile:hover { transform:none; } }

/* User-provided trainer artwork is kept intact; opacity is presentation only. */
.champion-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.champion-choice { isolation:isolate; }
.champion-backdrop { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 25%;opacity:.34;z-index:-2;pointer-events:none; }
.champion-choice::after { content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#0b152122 0%,#101c3177 37%,#111e2bf2 70%);pointer-events:none; }
.champion-choice.selected::after { background:linear-gradient(180deg,#11302511 0%,#16382877 37%,#12291ff2 70%); }
.champion-choice.selected .champion-backdrop { opacity:.48; }
.champion-photo-space { display:block;height:125px; }
.champion-choice h2 { text-shadow:0 2px 8px #000; }
.training-item-preview { margin-top:12px;object-fit:contain;image-rendering:pixelated;background:#1c2b38;border-radius:10px;padding:5px; }
@media(max-width:1000px) { .champion-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media(max-width:640px) {
  .champion-grid{grid-template-columns:1fr}.champion-photo-space{display:none}.champion-choice{padding-left:120px;min-height:142px}.champion-backdrop{width:100%;object-position:center 30%;opacity:.3}.champion-choice::after{background:linear-gradient(90deg,#101c3122,#111e2bd9 38%,#111e2bfa)}.champion-choice.selected::after{background:linear-gradient(90deg,#11302511,#12291fd9 38%,#12291ffa)}.champion-index{color:#fff}
}

/* One visual vocabulary for Pokémon types and move categories. */
.type-badge{display:inline-flex;align-items:center;vertical-align:middle;flex-shrink:0;gap:5px;white-space:nowrap;height:22px;font:700 .65rem/1 "Space Grotesk",sans-serif;color:#fff}
.type-badge img{display:block;object-fit:contain;filter:none;image-rendering:auto;margin:0}
.type-badge.badge-banner{width:100px}.type-badge.badge-banner img{width:100%;height:100%}
.type-badge.badge-icon{min-width:76px;padding-right:8px;border-radius:3px;background:#514a46}
.type-badge.badge-icon img{width:22px;height:22px}
.type-badges,.move-badges{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tera-badge{display:inline-flex;gap:5px;align-items:center;font-size:.6rem;color:#cbb8fa}
.type-filter{position:relative;align-self:flex-start;min-width:146px;z-index:10}
.type-filter>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;border:1px solid #38465a;border-radius:9px;padding:10px 12px;cursor:pointer;font-size:.8rem;background:#17202e}
.type-filter-options{position:absolute;top:calc(100% + 6px);left:0;display:grid;grid-template-columns:1fr 1fr;gap:5px;width:284px;padding:10px;background:#182333;border:1px solid #405268;border-radius:12px;box-shadow:0 18px 40px #0009}
.type-filter-options label{display:flex;align-items:center;gap:6px;min-height:40px;padding:4px;cursor:pointer;border-radius:6px;font-size:.7rem}
.type-filter-options label:has(input:checked){background:#305043}.type-filter-options input{accent-color:#7ff5cf}
.machine-preview{margin-top:16px}.machine-stats{display:flex;flex-wrap:wrap;gap:12px;font-size:.65rem;color:#9cacc0;margin-top:12px}.machine-stats b{color:#e1edf8;margin-left:3px}
.dex-tile .type-badge{width:78px;height:18px}.dex-tile .badge-icon img{height:18px;width:18px}.dex-tile .badge-icon{min-width:68px;width:auto;font-size:.6rem}
.type-match .type-badge{width:86px;height:19px}.type-match .badge-icon{width:auto;min-width:76px}
/* Collection frames remain visible on the field and when choosing a partner. */
.arena-play .battle-scene{height:540px}
.battle-card{position:absolute;width:178px;z-index:2;filter:drop-shadow(0 14px 18px #0005)}
.player-card{left:8%;top:174px;transform:rotate(-4deg)}.foe-card{right:10%;top:26px;transform:rotate(4deg)}
.battle-card .battle-display-card{width:100%;height:225px;padding:14px 8px 12px;gap:5px;border-radius:13px}
.battle-card .battle-display-card>img{width:150px;height:150px;image-rendering:auto}
.battle-card .battle-display-card>span:not(.shiny-stars){font-size:.8rem;text-align:center}
.battle-card .r-value{font-size:.7rem}.card-finish{position:relative;z-index:2;font-size:.52rem;color:#d9e4f5;text-align:center;line-height:1.5}
.battle-card.is-fainted{opacity:.45;filter:grayscale(.75)}.battle-card.is-dynamax{scale:1.08;filter:drop-shadow(0 0 16px #f472b6aa)}
.arena-play .hud-foe{top:44px;left:7%}.arena-play .hud-player{bottom:132px;right:7%}
.arena-play .platform-player{bottom:133px;left:5%}.arena-play .platform-foe{top:224px;right:7%}
.hud-meta{flex-wrap:wrap;row-gap:6px}.hud-meta>.type-badges .type-badge{width:78px;height:18px}.hud-meta>.type-badges .badge-icon{width:auto;min-width:60px;font-size:.58rem}.hud-meta .badge-icon img{width:18px;height:18px}
.hud-badges .type-badge{height:16px;width:72px;font-size:.55rem}.hud-badges .badge-icon img{width:16px;height:16px}
.battle-dialogue{position:absolute;inset:auto 0 0;z-index:4;min-height:100px;max-height:116px;overflow:auto;padding:13px 24px;border-top:1px solid #72c0b766;background:#0d202cf5;color:#e5f8ef;display:flex;flex-direction:column;justify-content:center;gap:4px;scrollbar-width:thin}
.battle-dialogue p{font-size:.78rem;line-height:1.5;margin:0}.battle-dialogue .event-move{font-weight:600}.battle-dialogue :is(.event--supereffective,.event--crit){color:#f7db9a}.battle-dialogue .event-faint{color:#fda4af}
.field-effects{bottom:119px;z-index:3;font-size:.6rem}
.battle-recap{border:1px solid #293d51;border-radius:10px;background:#111e2c;margin-top:14px}.battle-recap>summary{padding:12px 16px;font-size:.75rem}.battle-recap #battle-log{max-height:230px}.recap-turn{margin:10px 0 18px}.recap-turn p{font-size:.7rem}
.switch-card .battle-mini-card{width:60px;flex:0 0 60px;height:78px;border-radius:6px;overflow:hidden}
.switch-card .battle-mini-card>img{width:53px;height:53px}.switch-card .battle-mini-card>span:not(.shiny-stars){display:none}
.switch-card .battle-mini-card .shiny-stars{scale:.65;transform-origin:top right}
/* Move information has fixed, scannable positions on every button. */
.battle-move{min-height:186px;padding:16px;gap:12px;justify-content:flex-start;border-top:3px solid var(--move-color,#6a92b2)}
.move-heading{align-items:flex-start}.move-heading strong{font-size:.94rem}.move-pp{padding:4px 6px;border:1px solid #ffffff20;border-radius:5px;background:#09172266;white-space:nowrap}
.move-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:10px 0;border-block:1px solid #ffffff10;width:100%}
.move-stats>span{display:flex;flex-direction:column;gap:4px}.move-stats small{font-size:.62rem;color:#9fb6ca}.move-stats b{font:700 .95rem "Space Grotesk";color:#f5f8fd}
.battle-move .move-description{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;font-size:.69rem;line-height:1.55;color:#b4c7d9}
@media(max-width:640px){
  .type-filter{position:static}.type-filter-options{left:16px;right:16px;top:auto;margin-top:6px;width:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
  .type-filter-options .type-badge{width:76px;height:18px}.type-filter-options .badge-icon{width:auto;min-width:0;font-size:.55rem}
  .type-filter-options label{gap:3px}.type-filter-options input{width:12px}
  .arena-play .battle-scene{height:485px}.battle-card{width:120px}.player-card{left:6%;top:200px}.foe-card{right:6%;top:28px}
  .battle-card .battle-display-card{height:167px;padding:10px 5px;gap:4px}.battle-card .battle-display-card>img{width:105px;height:105px}
  .battle-card .battle-display-card>span:not(.shiny-stars){font-size:.62rem}.battle-card .r-value{font-size:.58rem}.card-finish{font-size:.43rem}
  .arena-play .hud-foe{top:42px;left:4%;width:50%}.arena-play .hud-player{bottom:122px;right:4%;width:50%}
  .hud-meta>.type-badges{gap:3px}.hud-meta>.type-badges .type-badge{width:62px;height:14px}.hud-meta>.type-badges .badge-icon{width:auto;min-width:50px;padding-right:4px;font-size:.5rem;gap:3px}.hud-meta .badge-icon img{width:14px;height:14px}
  .arena-play .platform-foe{top:173px;right:2%}.arena-play .platform-player{bottom:115px;left:2%}
  .battle-dialogue{min-height:103px;max-height:103px;padding:10px 14px}.battle-dialogue p{font-size:.66rem}.field-effects{bottom:106px}
  .battle-move{min-height:218px;padding:12px 10px;gap:9px}.move-heading{flex-direction:column;gap:5px}.move-heading strong{font-size:.8rem}.move-pp{font-size:.58rem;padding:3px 5px}
  .battle-move .move-badges{gap:4px}.battle-move .type-badge{width:68px;height:15px}.battle-move .badge-icon{width:auto;min-width:0;font-size:.5rem;padding-right:4px;gap:3px}.battle-move .badge-icon img{width:15px;height:15px}
  .move-stats{gap:4px;padding:8px 0}.move-stats small{font-size:.51rem}.move-stats b{font-size:.78rem}.battle-move .move-description{font-size:.6rem}
  .switch-card .battle-mini-card{width:46px;flex-basis:46px;height:65px}.switch-card .battle-mini-card>img{width:42px;height:42px}
}
.inventory-page .purchase-controls button:disabled:not(.btn-owned),.upgrade-purchase button:disabled{background:#263244;color:#8995a9;box-shadow:none;border:1px solid #384255;cursor:not-allowed;opacity:.7}
.arena-play .hp-track i{transition:width 300ms ease-out,background-color 150ms linear}
.battle-card.mega-out{animation:mega-card-out 320ms ease-in both;transform-origin:center}
.battle-card.mega-in{animation:mega-card-in 260ms ease-out both;transform-origin:center}
@keyframes mega-card-out{0%{filter:brightness(1);opacity:1}55%{filter:brightness(2.6) drop-shadow(0 0 22px #b99bff);opacity:1}100%{filter:brightness(3);opacity:0;scale:.78;rotate:y 90deg}}
@keyframes mega-card-in{from{filter:brightness(2.8) drop-shadow(0 0 25px #bb9bff);opacity:0;scale:.78;rotate:y -90deg}to{filter:brightness(1);opacity:1;scale:1;rotate:y 0deg}}
.battle-unlocks{margin-top:12px;color:#a7b6ca;font-size:.75rem}.battle-unlocks summary{cursor:pointer;padding:8px 0}.unlock-item{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px;border-top:1px solid #ffffff0c}.unlock-item img{width:28px;height:28px;object-fit:contain;image-rendering:pixelated}.unlock-item small{flex-basis:100%;color:#93a4ba}
@media(prefers-reduced-motion:reduce){.arena-play .hp-track i{transition:none}.battle-card.mega-out,.battle-card.mega-in{animation:none}}
