/* Shop and owned inventory share a browser, but keep distinct purposes. */
.heading-actions{display:flex;align-items:center;gap:10px;flex-shrink:0}
.store-sections{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:0 0 28px}
.store-sections>a{display:flex;align-items:center;gap:18px;padding:18px 22px;background:#141d2b;border:1px solid #2b3b50;border-radius:16px;transition:border-color .2s,background .2s}
.store-sections>a[aria-current=page]{border-color:#64e7be;background:linear-gradient(115deg,#173a33,#132330);box-shadow:inset 0 0 0 1px #65e7bf16}
.store-sections>a:hover{border-color:#78ceb9}
.store-sections img{width:46px;height:46px;object-fit:contain;image-rendering:pixelated}
.store-sections strong{display:block;color:#f0fbff;font:700 1.1rem "Space Grotesk",sans-serif}
.store-sections small{display:block;margin-top:4px;color:#9eb3c8;font-size:.75rem}
.pocket-navigation{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 22px}
.pocket-navigation a{display:flex;gap:8px;align-items:center;padding:10px 13px;min-height:42px;border:1px solid #2c3e50;border-radius:9px;color:#acc0d2;background:#111b28;font-size:.75rem}
.pocket-navigation a:hover{border-color:#6f95a7;color:#e6f7f5}
.pocket-navigation [aria-current=page]{background:#1c3e37;border-color:#62d6b2;color:#aaffdd}
.pocket-navigation b{font-size:.64rem;color:#adc0cc;background:#ffffff0a;border-radius:5px;padding:2px 5px;font-variant-numeric:tabular-nums}
.pocket-navigation [aria-current=page] b{color:#baffdf;background:#91ffd81a}
.inventory-results{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:4px 0 16px}
.inventory-results h2{font:600 1.05rem "Space Grotesk",sans-serif;color:#edf7ff}
.inventory-results>span,.clear-search{font-size:.75rem;color:#a5b6c8}
.inventory-filters{margin-bottom:18px}
.inventory-card{background:linear-gradient(145deg,#182535,#111a27);padding:20px;border-color:#2b3e54;box-shadow:0 8px 30px #00000012}
.inventory-card-top{align-items:flex-start;gap:13px}
.inventory-card-top h3{font:600 1rem/1.35 "Space Grotesk",sans-serif;color:#effaff;margin:6px 0}
.inventory-card-top small{font-size:.58rem;color:#a6bccc}
.inventory-card .item-art{width:68px;height:68px;border-radius:14px;background:radial-gradient(ellipse,#48c7b329,transparent 80%)}
.inventory-card .category-machine{background:radial-gradient(ellipse,#729fe526,transparent 80%);border-color:#7cacf13d}
.inventory-card .category-key{background:radial-gradient(ellipse,#e6c36a25,transparent 80%);border-color:#dfc87d35}
.inventory-card .item-description{color:#b4c5d6;font-size:.77rem;line-height:1.65;margin:16px 0;flex:1}
.inventory-card .purchase-controls{gap:9px}.inventory-card .purchase-controls button{flex:1;justify-content:center}
.inventory-card .item-passive{font-size:.75rem;line-height:1.55;color:#84e3bf;margin:8px 0}
.inventory-card .context-hint{font-size:.7rem;margin-top:6px}
.upgrade-progress{display:flex;gap:4px;margin:8px 0 14px}.upgrade-progress i{height:4px;background:#35414e;flex:1;border-radius:3px}.upgrade-progress i.filled{background:#82e5bc}
.upgrade-purchase .btn-primary{width:100%;justify-content:center;min-height:42px}
.inventory-grid>.empty-state{grid-column:1/-1;border:1px dashed #385264;border-radius:18px;margin:12px 0;padding:45px}
/* Difficulty is chosen before reviewing the opponent's actual lineup. */
.difficulty-selector{margin:24px 0;padding:0;border:0}
.difficulty-selector legend{color:#d7e8f8;font-weight:600;font-size:.85rem;margin-bottom:12px}
.difficulty-options{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
.difficulty-options label{position:relative;cursor:pointer;--tier:#73dab8}
.difficulty-options .difficulty-medium{--tier:#76bef3}.difficulty-options .difficulty-hard{--tier:#e8bf76}
.difficulty-options .difficulty-insane{--tier:#b8a2ff}.difficulty-options .difficulty-extreme{--tier:#ff889e}
.difficulty-options input{position:absolute;left:12px;top:15px;accent-color:var(--tier);width:14px;height:14px}
.difficulty-options label>span{display:block;min-height:77px;padding:14px 10px 14px 34px;border:1px solid #344358;border-radius:11px;background:#131d2b}
.difficulty-options input:checked+span{border-color:var(--tier);background:color-mix(in srgb,var(--tier) 12%,#111b28);box-shadow:inset 0 -2px var(--tier)}
.difficulty-options input:focus-visible+span{outline:2px solid var(--tier);outline-offset:3px}
.difficulty-options strong{display:block;color:#f0f7fc;font-size:.84rem}
.difficulty-options small{display:block;margin-top:6px;color:#adbed3;font-size:.66rem}
.difficulty-selector>.context-hint{margin-top:12px;font-size:.72rem}
#battle-matchup{color:#adc4d3;font-size:.85rem}
.champion-lineup{min-height:49px;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));justify-content:flex-start}
.champion-lineup img{width:100%;max-width:36px;min-width:0}
.arena-stadium{overflow:hidden}
.duel-art.arena-stadium>img{width:100%;height:100%;object-fit:cover;filter:none}
.arena-stadium::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#17212d 0%,transparent 60%);z-index:2}
/* Small optional evolution modifier. */
.evolution-gems{max-width:360px;padding:10px 12px;border-radius:10px;background:#101c2870;border-color:#34445a8c;margin-bottom:0}
.evolution-gems>div:first-child{align-items:center;justify-content:flex-start;gap:7px}
.evolution-gems>div:first-child>img{object-fit:contain;image-rendering:pixelated}
.evolution-gems h3{font-size:.74rem;color:#c6d4e2}
.evolution-gems .context-hint{font-size:.65rem;margin-top:5px}
.evolution-gems .gem-choice{padding:5px 8px;margin-top:7px;font-size:.68rem}
.evolution-gems .gem-choice img{width:25px;height:25px}
/* An animated Pokédex device and a trainer-pass emblem. */
.pokedex-device{width:260px;flex:0 0 260px;filter:drop-shadow(0 18px 24px #0005);animation:dex-float 5s ease-in-out infinite}
.dex-hero>div:first-child{min-width:0}
.social-hero{display:flex;align-items:center;justify-content:space-between;gap:24px}
.social-hero>div:first-child{min-width:0;flex:1}
.social-hero::before{pointer-events:none}
.pokedex-device svg{display:block;width:100%;height:auto}
.dex-scan-line{animation:dex-scan 3s ease-in-out infinite}
.dex-lens{animation:dex-glow 2.4s ease-in-out infinite}
.dex-led{animation:dex-glow 1.3s steps(2,end) infinite}
.dex-data{stroke-dasharray:40;animation:dex-read 3s linear infinite}
.social-emblem{width:240px;flex:0 0 240px;filter:drop-shadow(0 18px 25px #0003);transform:rotate(-3deg)}
.social-emblem svg{display:block;width:100%;height:auto}
@keyframes dex-float{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-7px) rotate(-2deg)}}
@keyframes dex-scan{0%,100%{transform:translateY(0);opacity:.2}50%{transform:translateY(66px);opacity:.9}}
@keyframes dex-glow{0%,100%{opacity:1}50%{opacity:.55}}
@keyframes dex-read{from{stroke-dashoffset:40}to{stroke-dashoffset:0}}
/* Daycare keeps active eggs prominent and explains the exchange before deposit. */
.daycare-heading{margin-bottom:22px}
.daycare-emblem{width:130px;height:130px;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#6adbaa26,transparent 70%);flex-shrink:0}
.daycare-emblem img{object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 12px 15px #0005)}
.daycare-summary{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #2c4050;border-radius:15px;background:#142330;margin:0 0 15px;padding:18px 0}
.daycare-summary>div{padding:0 24px;border-left:1px solid #ffffff0f}.daycare-summary>div:first-child{border:0}
.daycare-summary small{display:block;color:#a1b7c5;font-size:.72rem;margin-bottom:8px}
.daycare-summary strong{color:#dff8ef;font:600 1.5rem "Space Grotesk",sans-serif}
.daycare-summary strong>span{color:#809cae;font-size:1rem}
.daycare-notice{color:#d3bfa6;font-size:.77rem;line-height:1.65;border-left:2px solid #b9a06e;padding:5px 14px;margin-bottom:32px;max-width:760px}
.daycare-slots{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin:18px 0 28px}
.daycare-slots .pension-slot{border-radius:17px;background:linear-gradient(145deg,#172e32,#131d2b);border:1px solid #35504d;min-height:260px;padding:22px}
.daycare-slots .pension-free{border:1px dashed #395a59;background:#13212c88;min-height:260px;transition:background .2s,border-color .2s}
.daycare-slots .pension-free:hover{background:#1c383880;border-color:#70d9b5}
.daycare-details{border:1px solid #2c3e50;border-radius:13px;background:#111d2a;padding:0 20px;margin-top:20px}
.daycare-details summary{cursor:pointer;padding:19px 0;font-size:.85rem;font-weight:600;color:#c8dbea}
.daycare-details summary>span{color:#80cbb5;margin-left:8px}
.daycare-details>p{color:#9fb4c8;font-size:.77rem;line-height:1.75;margin:12px 0 20px}
.daycare-details>ul{margin:0 0 20px}
.daycare-odds{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.daycare-odds>div{border-radius:9px;background:#1a2c3b;padding:14px}
.daycare-odds strong{display:block;color:#9fe4ce;font:600 1.3rem "Space Grotesk",sans-serif}
.daycare-odds span{display:block;color:#a6bbcb;font-size:.73rem;margin-top:6px}
/* Collection-value podium and a persistent personal standing. */
.leaderboard-page{max-width:1050px}
.leaderboard-heading .eyebrow{color:#e5ce91}
.league-seal{flex:0 0 100px;color:#e6ce92;filter:drop-shadow(0 0 20px #dfc37026)}.league-seal svg{width:100px;height:100px}
.leaderboard-podium{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;align-items:end;margin:38px 0 24px}
.podium-card{--medal:#d6bc7d;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;background:radial-gradient(ellipse at 50% 30%,color-mix(in srgb,var(--medal) 13%,transparent),transparent 75%),#14202e;border:1px solid color-mix(in srgb,var(--medal) 40%,#233346);border-radius:18px;padding:22px 18px 0;transition:transform .2s,border-color .2s}
.podium-card:hover{transform:translateY(-5px);border-color:var(--medal)}
.podium-rank-1{padding-top:30px;box-shadow:0 12px 45px #d7b2580b}.podium-rank-2{--medal:#a9c4dc}.podium-rank-3{--medal:#cd997a}
.leaderboard-podium:has(>.podium-card:nth-child(3)) .podium-rank-1{order:2}
.leaderboard-podium:has(>.podium-card:nth-child(3)) .podium-rank-2{order:1}
.leaderboard-podium:has(>.podium-card:nth-child(3)) .podium-rank-3{order:3}
.podium-place{display:flex;justify-content:space-between;align-items:center;width:100%;font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:var(--medal)}
.podium-place b{font:700 1.3rem "Space Grotesk",sans-serif;letter-spacing:0}
.podium-card .podium-pokemon{width:118px;height:150px;min-width:118px;margin:22px 0 16px;padding:10px 6px;border-radius:10px;box-shadow:0 10px 25px #0006}
.podium-card .podium-pokemon>img{width:105px;height:105px;object-fit:contain;image-rendering:auto}
.podium-card .podium-pokemon>span:not(.shiny-stars){font-size:.64rem}
.podium-rank-1 .podium-pokemon{width:136px;height:170px;margin-top:25px}
.podium-rank-1 .podium-pokemon>img{width:125px;height:125px}
.podium-initial{width:100px;height:150px;display:grid;place-items:center;color:var(--medal);font:700 4rem "Space Grotesk",sans-serif;margin:22px 0 16px}
.podium-card h2{color:#f6faff;font:700 1.2rem "Space Grotesk",sans-serif;width:100%;overflow-wrap:anywhere}
.podium-card h2 small{display:block;font-size:.58rem;color:#8bf0c8;margin-top:4px}
.podium-value{font:700 1.4rem "Space Grotesk",sans-serif;color:var(--medal);margin:9px 0 5px}
.podium-count{font-size:.7rem;color:#a1b6c8}
.podium-link{border-top:1px solid #ffffff10;width:calc(100% + 36px);padding:14px;margin-top:20px;color:#b1c8d7;font-size:.7rem;background:#0a142633}
.personal-standing{display:flex;align-items:center;gap:32px;flex-wrap:wrap;background:linear-gradient(100deg,#1d3832,#152534);border:1px solid #67c9a940;border-radius:14px;padding:20px 24px;margin:24px 0 32px}
.personal-standing small{display:block;font-size:.65rem;color:#afc6cf;margin-bottom:6px}
.personal-standing strong{font:600 1.2rem "Space Grotesk",sans-serif;color:#b0f5d9}.personal-standing strong>span{font-size:.75rem;color:#8db2b4}
.personal-standing .rank-target{margin-left:auto}.personal-standing .rank-target strong{font-size:.9rem}
.leaderboard-list-heading{margin:22px 0 14px}.leaderboard-list-heading>span{font-size:.75rem;color:#95acbf}
.ranking-list{border:1px solid #293e52;border-radius:16px;overflow:hidden;background:#14202d}
.ranking-list:empty{display:none}
.ranking-list>li{padding-block:18px;border-top:1px solid #ffffff0b}
.ranking-list>li:first-child{border-top:0}.ranking-list>li:hover{background:#21384a55}
.leaderboard-intro{margin:24px 0 18px;color:#b4c9d6;font-size:.9rem}
.rare-card-ranking>li:nth-child(-n+3){background:linear-gradient(110deg,#d1b56e0d,transparent)}
@media(max-width:900px){
  .heading-actions{flex-wrap:wrap;justify-content:flex-end}
  .difficulty-options{gap:6px}.difficulty-options label>span{padding-left:29px;padding-right:7px}.difficulty-options input{left:9px}
  .pokedex-device{width:205px;flex-basis:205px}.social-emblem{width:180px;flex-basis:180px}
  .daycare-slots{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .heading-actions{width:100%;justify-content:flex-start}
  .store-sections{gap:9px;margin-bottom:20px}.store-sections>a{padding:13px 10px;gap:9px;border-radius:12px}
  .store-sections img{width:32px;height:32px}.store-sections strong{font-size:.85rem}.store-sections small{font-size:.6rem;line-height:1.4}
  .pocket-navigation{gap:6px;margin:20px 0 16px}.pocket-navigation a{padding:9px 10px;font-size:.65rem;gap:6px}.pocket-navigation b{font-size:.57rem}
  .inventory-filters>label:first-of-type{flex:1 1 170px}.inventory-filters>.btn-ghost{padding:12px}
  .inventory-card{padding:18px}.inventory-card-top h3{font-size:1rem}.inventory-card .item-description{font-size:.8rem}
  .difficulty-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .difficulty-options label:last-child{grid-column:auto}
  .difficulty-options label>span{min-height:70px;padding:13px 13px 13px 34px}
  .difficulty-options input{left:12px}.difficulty-options strong{font-size:.85rem}.difficulty-options small{font-size:.7rem}
  .arena-tile .arena-stadium{position:relative;inset:auto;order:0;width:calc(100% + 48px);height:150px;margin:-24px -24px 18px;border-radius:0}
  .arena-tile:has(.arena-stadium){padding-right:24px}
  .arena-tile:has(.arena-stadium) :is(h2,.eyebrow,p){max-width:100%;min-height:0}
  .evolution-gems{padding:9px 11px}
  .dex-hero{flex-direction:column;gap:12px;align-items:flex-start}
  .pokedex-device{width:170px;flex-basis:auto;margin:0 auto}
  .social-hero{flex-direction:column;gap:12px;align-items:flex-start}
  .social-emblem{width:120px;flex-basis:auto;align-self:flex-end;margin:-5px 0 -20px}
  .daycare-heading{gap:10px;flex-direction:row}.daycare-emblem{width:70px;height:80px}.daycare-emblem img{width:65px;height:65px}
  .daycare-summary{padding:14px 0}.daycare-summary>div{padding:0 10px}.daycare-summary small{font-size:.58rem}
  .daycare-summary strong{font-size:1.05rem}.daycare-summary strong>span{font-size:.7rem}
  .daycare-notice{font-size:.72rem;margin-bottom:25px}
  .daycare-slots{gap:10px}.daycare-slots .pension-slot{padding:15px;min-height:235px}.daycare-slots .pension-slot>div:first-child{flex-wrap:wrap;font-size:.8rem}
  .daycare-details{padding:0 15px}.daycare-odds{gap:7px}.daycare-odds>div{padding:11px 8px}.daycare-odds span{font-size:.6rem}
  .league-seal{display:none}
  .leaderboard-podium{grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
  .leaderboard-podium .podium-rank-1{grid-column:1/-1;order:0!important;padding-top:20px}
  .podium-rank-1 .podium-pokemon{margin-top:16px}
  .podium-card{padding:15px 12px 0}.podium-card .podium-pokemon{width:100px;min-width:100px;height:132px;margin:15px 0 12px}
  .podium-card .podium-pokemon>img{width:90px;height:90px}.podium-rank-1 .podium-pokemon{width:130px;height:160px}
  .podium-rank-1 .podium-pokemon>img{width:115px;height:115px}
  .podium-place{font-size:.53rem;letter-spacing:.08em}.podium-card h2{font-size:1rem}.podium-value{font-size:1.05rem}
  .podium-link{width:calc(100% + 24px);font-size:.63rem;padding:12px}
  .personal-standing{padding:17px;gap:18px;justify-content:space-between}.personal-standing .rank-target{width:100%;margin:0;border-top:1px solid #ffffff10;padding-top:12px}
  .ranking-list>li{gap:9px;padding:14px 12px}.ranking-list .rank-badge{width:28px;height:28px;flex:0 0 28px;font-size:.75rem}
  .ranking-list .player-link{font-size:.8rem}.ranking-list strong{font-size:.9rem}.ranking-list small{font-size:.62rem}
  .ranking-list>li>span:nth-child(2):not(.rank-badge){display:none}
  .rare-card-ranking>li>span:last-child{font-size:.85rem}
}
@media(max-width:380px){.daycare-slots{grid-template-columns:1fr}.store-sections small{display:none}.podium-value{font-size:.88rem}}
@media(prefers-reduced-motion:reduce){.pokedex-device,.dex-scan-line,.dex-lens,.dex-led,.dex-data{animation:none}.podium-card{transition:none}}
/* A completed purchase is visibly separate from the mint purchase action. */
.btn-owned,.btn-owned:disabled{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border:1px solid #516174;border-radius:9px;background:#263344;color:#c8d3e0;font-weight:600;opacity:1;cursor:default;box-shadow:none}
/* The lineup shows the trainer's actual cards, with readable shared type badges. */
.arena-roster{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;margin-top:22px}
.roster-slot{display:flex;flex-direction:column;align-items:center;min-width:0;padding:12px 10px 15px;border:1px solid #31485d;border-radius:13px;background:linear-gradient(150deg,#1d3441,#142331);transition:border-color .2s,transform .2s}
.roster-slot:hover{border-color:#79cdb9;transform:translateY(-3px)}
.roster-slot:focus-visible{outline:2px solid #87e9cf;outline-offset:3px}
.roster-position{display:flex;justify-content:space-between;align-items:center;gap:6px;width:100%;color:#7594a9;font:600 .7rem "Space Grotesk",sans-serif}
.roster-position b{font-size:.55rem;letter-spacing:.04em;color:#b3eee0;background:#65d5af15;border:1px solid #65d5af30;border-radius:4px;padding:3px 5px}
.roster-slot .roster-art{width:100%;min-width:0;height:auto;aspect-ratio:4/5;margin:12px 0;padding:9px 5px;border-radius:9px;box-shadow:0 8px 20px #0004;overflow:hidden}
.roster-slot .roster-art>img{width:100%;height:100%;max-height:100%;min-height:0;object-fit:contain;image-rendering:auto}
.roster-slot .roster-art>span:not(.shiny-stars){display:none}
.roster-name{max-width:100%;color:#edf9ff;font-size:.8rem;text-align:center;overflow-wrap:anywhere}
.roster-slot>small{font-size:.66rem;color:#91aabe;margin-top:4px}
.roster-types{display:flex;justify-content:center;flex-wrap:wrap;gap:4px;margin-top:9px}
.roster-types .type-badge{font-size:.58rem}
.roster-types .type-badge img{max-height:19px;width:auto}
.roster-empty{justify-content:center;min-height:235px;background:#12202a66;border-style:dashed;color:#7793a7}
.roster-empty strong{font-size:.7rem}.roster-add{font-size:2rem;font-weight:300;margin-bottom:10px;color:#739f9a}
.battle-launch{justify-content:flex-end}
/* Keep the optional modifier collapsed and out of the primary action's way. */
.evolution-gems{width:100%;max-width:320px;margin:0;padding:0;border:0;background:transparent;box-shadow:none}
.evolution-gems[hidden]{display:none}
.evolution-gems>summary{display:flex;align-items:center;gap:8px;min-height:40px;padding:6px 0;list-style:none;color:#8fa7b9;font-size:.69rem;cursor:pointer}
.evolution-gems>summary::-webkit-details-marker{display:none}
.evolution-gems>summary:hover{color:#c5e0df}
.evolution-gems>summary:focus-visible{outline:2px solid #7dd9bd;outline-offset:3px;border-radius:5px}
.gem-toggle{margin-left:auto;color:#86a0ae;font-size:1rem}.evolution-gems[open] .gem-toggle{transform:rotate(45deg)}
#gem-selection-label{color:#b5d9cf;font-size:.62rem}
.gem-content{padding:10px 12px 12px;border:1px solid #304151;border-radius:9px;background:#15232f}
.evolution-gems .context-hint{line-height:1.6;margin:0;font-size:.65rem}
.evolution-gems .gem-choice{min-height:38px;margin-top:8px}
.evolution-gems #gem-effect{margin-top:9px;color:#b8c6d1}
/* Three supplied scenes explain the opening flow. */
.home-step{overflow:hidden;padding:0;border-radius:16px}
.home-step-image{position:relative;aspect-ratio:16/9;background:#172638;overflow:hidden}
.home-step-image>img{width:100%;height:100%;object-fit:cover;display:block}
.home-step-image::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,#111e32 0%,transparent 60%);pointer-events:none}
.home-step-image>span{position:absolute;left:22px;bottom:12px;z-index:1;font:700 2.2rem "Space Grotesk",sans-serif;color:#e5fff6;text-shadow:0 3px 12px #0008}
.home-step-copy{padding:10px 24px 26px}.home-step-copy p{font-size:.88rem;line-height:1.7}
@media(max-width:1000px){.arena-roster{grid-template-columns:repeat(3,minmax(0,1fr))}.roster-slot .roster-art{max-width:140px}.roster-empty{min-height:245px}}
@media(max-width:540px){.arena-roster{gap:8px}.roster-slot{padding:9px 6px 12px}.roster-name{font-size:.69rem}.roster-position b{font-size:.48rem;padding:2px 3px}.roster-slot .roster-art{margin:10px 0}.roster-types{flex-direction:column;align-items:center;gap:3px}.roster-empty{min-height:210px}.roster-empty strong{font-size:.6rem}.roster-slot>small{font-size:.59rem}.battle-launch>*{width:100%}.home-step-copy{padding:8px 20px 22px}}
@media(max-width:360px){.arena-roster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.roster-slot{transition:none}}
