/* Desktop team cleanup. Touch layouts keep their own rules in mobile/. */
html:not(.battlemon-mobile) #squadScreen #btnForfeitTowerRun { padding: .3rem .6rem; min-height: 30px; line-height: 1.2; white-space: nowrap; font-size: .7rem; }
html:not(.battlemon-mobile) #squadScreen :is(#btnSquadStartBattle,#btnRandomBalancedSquad) { font-size: .7rem; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-tag { font: 800 .7rem var(--font-pixel-ui); }
html:not(.battlemon-mobile) #squadScreen .slot-shiny-toggle { height: 20px; min-height: 20px; min-width: 0; width: auto; padding: .125rem .5rem; border-radius: .375rem; }
html:not(.battlemon-mobile) #squadScreen .slot-shiny-toggle .training-shiny-label { font-size: .55rem; line-height: 1; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-main { min-height: 0; align-items: center; }
html:not(.battlemon-mobile) #squadScreen .slot-moves-section { height: auto; min-height: 0; width: calc(100% - 1rem); align-self: center; justify-self: start; margin-block: auto; }
html:not(.battlemon-mobile) #squadScreen .slot-moves-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .375rem; }
html:not(.battlemon-mobile) #squadScreen .slot-move-card { padding: .125rem .25rem; border-color: color-mix(in srgb,var(--team-move-color) 55%,#243650); background: color-mix(in srgb,var(--team-move-color) 8%,#111c2e); }
html:not(.battlemon-mobile) #squadScreen .move-card-top { align-items: center; gap: .35rem; }
html:not(.battlemon-mobile) #squadScreen .move-type-pill { width: 26px; min-width: 26px; flex-basis: 26px; height: 1.125rem; padding: 0; }
html:not(.battlemon-mobile) #squadScreen .btn-select-move { min-height: 2.5rem; padding: .25rem .375rem; line-height: 1.1; color: var(--team-move-color); border-color: color-mix(in srgb,var(--team-move-color) 75%,#3a4e65); background: color-mix(in srgb,var(--team-move-color) 13%,#142136); flex-direction: column; align-items: center; justify-content: center; gap: .25rem; }
html:not(.battlemon-mobile) #squadScreen .move-name-txt { flex: 0 1 auto; min-width: 0; width: 100%; white-space: normal; text-align: center; font-size: .7rem; }
html:not(.battlemon-mobile) #squadScreen .move-card-meta { display: none; }
html:not(.battlemon-mobile) #squadScreen .btn-select-move { position: relative; padding-right: 1.125rem; }
html:not(.battlemon-mobile) #squadScreen .move-arrow-icon { display: inline-flex; position: absolute; right: .25rem; top: 50%; translate: 0 -50%; align-items: center; justify-content: center; pointer-events: none; }
html:not(.battlemon-mobile) #squadScreen .desktop-move-inline-stats { white-space: nowrap; color: #bac9dc; font-size: .56rem; flex-shrink: 0; }
html:not(.battlemon-mobile) #squadSynergyStrip .synergy-badge-label { display: none; }
html:not(.battlemon-mobile) #squadSynergyStrip .synergy-badge { width: 28px; height: 28px; padding: .25rem; gap: 0; }
html:not(.battlemon-mobile) #squadSynergyStrip .btn-synergy-scroll { width: 20px; min-width: 20px; height: 28px; min-height: 28px; padding: 0; }
html:not(.battlemon-mobile) #squadScreen .picker-panel-header .pixel-tag { font: 800 .8rem/1.2 var(--font-pixel-ui); }
html:not(.battlemon-mobile) #squadCounterBadge { font-family: var(--font-pixel-ui); white-space: nowrap; font-size: .65rem; }
html:not(.battlemon-mobile) :is(#squadCollectionSelect,#squadGenSelect,#pokedexGenSelect,#pokedexCollectionSelect) { appearance: none; padding-right: 2.25rem; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fbbf24' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-size: 14px; background-position: right .875rem center; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-shiny-alert .game-alert-title { text-align: right; }
/* One frame per move: the inner selector is transparent and shares the card hit area. */
html:not(.battlemon-mobile) #squadScreen .slot-moves-section { width:100%; margin-right:.25rem; }
html:not(.battlemon-mobile) #squadScreen .slot-move-card { min-height:3rem; padding:.2rem .4rem; border-radius:.5rem; }
html:not(.battlemon-mobile) #squadScreen .move-card-top { gap:.4rem; min-height:2.5rem; }
html:not(.battlemon-mobile) #squadScreen .btn-select-move { min-height:2.5rem; width:100%; padding:.2rem 1.5rem .2rem .1rem; border:0; border-radius:0; box-shadow:none; background:transparent; }
html:not(.battlemon-mobile) #squadScreen .btn-select-move:hover { border:0; background:transparent; box-shadow:none; transform:none; scale:1; }
html:not(.battlemon-mobile) #squadScreen .move-name-txt { font-size:.76rem; }
html:not(.battlemon-mobile) #squadScreen .desktop-move-inline-stats { font-size:.59rem; }
html:not(.battlemon-mobile) #squadScreen .move-arrow-icon { right:.1rem; width:1.15rem; height:1.15rem; }
html:not(.battlemon-mobile) #squadScreen .move-arrow-icon svg { width:1.05rem; height:1.05rem; }

/* Three equal rows: compact moves remain inside each team's card. */
html:not(.battlemon-mobile) #cleanSquadSlotsGrid { display:grid; grid-template-rows:repeat(3,minmax(0,1fr)); gap:.45rem; overflow:hidden; padding-right:0; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect { min-height:0; min-width:0; padding:.4rem .65rem; gap:.3rem; box-sizing:border-box; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-main { grid-template-columns:minmax(9.5rem,30%) minmax(0,1fr); gap:.65rem; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-portrait { position:relative; flex-shrink:0; line-height:0; }
html:not(.battlemon-mobile) #squadScreen .slot-moves-section { width:min(100%,39rem); justify-self:center; margin:0; align-self:center; }
html:not(.battlemon-mobile) #squadScreen .slot-moves-grid { gap:.3rem; }
html:not(.battlemon-mobile) #squadScreen .slot-move-card { min-height:0; padding:.12rem .35rem; gap:0; }
html:not(.battlemon-mobile) #squadScreen .move-card-top { min-height:0; height:2.1rem; }
html:not(.battlemon-mobile) #squadScreen .btn-select-move { min-height:0; height:2.1rem; gap:.13rem; padding-block:.1rem; }
html:not(.battlemon-mobile) #squadScreen .move-name-txt { font-size:clamp(.6rem,.8vw,.75rem); line-height:1.1; }
html:not(.battlemon-mobile) #squadScreen .desktop-move-inline-stats { font-size:.55rem; line-height:1; }
@media(max-height:700px){html:not(.battlemon-mobile) #squadScreen .slot-rect-main {gap:.4rem}html:not(.battlemon-mobile) #squadScreen .move-card-top,html:not(.battlemon-mobile) #squadScreen .btn-select-move{height:1.85rem}html:not(.battlemon-mobile) #squadScreen .slot-poke-img{width:2.6rem;height:2.6rem}}

/* Portrait orientation with a close, type-tag-shaped Shiny control below. */
html:not(.battlemon-mobile) #squadScreen .slot-poke-portrait { display:flex; flex-direction:column; align-items:center; gap:.2rem; width:3rem; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-portrait .slot-poke-img { display:block; width:3rem; height:clamp(3.5rem,8.5dvh,4.25rem); padding:.15rem; box-sizing:border-box; object-fit:contain; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-portrait .slot-shiny-toggle { width:100%; height:1.125rem; min-height:1.125rem; padding:.1rem .3rem; margin:0; border-radius:.25rem; line-height:1; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-portrait .slot-shiny-toggle .training-shiny-label { font-size:.55rem; line-height:1; }
html:not(.battlemon-mobile) #squadScreen .slot-quick-btns:empty { display:none; }

/* Team notices retain their original header; only the explanatory text is centered. */
html:not(.battlemon-mobile) #gameAlertModal.desktop-clean-alert #gameAlertBadge { display:none; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-clean-alert .game-alert-title { text-align:left; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-clean-alert .game-alert-main-text { width:100%; text-align:center; }

/* Forfeit confirmation: centered floor marker and a crimson action. */
html:not(.battlemon-mobile) #gameAlertModal.desktop-forfeit-alert #gameAlertFloorTag { align-self:center; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-forfeit-alert .game-alert-rule-item { justify-content:center; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-forfeit-alert .rule-text { width:100%; text-align:center; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-forfeit-alert #btnGameAlertConfirm { --spark-color:#ffb5c6; position:relative; overflow:visible; color:#fff1f2; background:linear-gradient(145deg,#c51748,#881337); border-color:#fb7185; box-shadow:0 .2rem 0 #500d24,0 0 .75rem #e11d4844,inset 0 1px #fff2; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-forfeit-alert #btnGameAlertConfirm:hover:not(:active) { animation:forfeitNervousShake .22s linear infinite; box-shadow:0 .2rem 0 #500d24,0 0 1rem #f43f5e66,inset 0 1px #fff2; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-forfeit-alert #btnGameAlertConfirm>.ui-sparks i { animation:uiSparkDrift 2.3s ease-out var(--spark-delay) infinite; }
@keyframes forfeitNervousShake { 0%,100%{transform:translateX(0) rotate(0)}25%{transform:translateX(-1px) rotate(-.35deg)}75%{transform:translateX(1px) rotate(.35deg)} }
@media(prefers-reduced-motion:reduce){html:not(.battlemon-mobile) #gameAlertModal.desktop-forfeit-alert #btnGameAlertConfirm:hover,html:not(.battlemon-mobile) #gameAlertModal.desktop-forfeit-alert #btnGameAlertConfirm>.ui-sparks i {animation:none}}

/* Use the same vertical inset as the space above the bottom navigation. */
html:not(.battlemon-mobile) #squadScreen { gap:clamp(.375rem,1.1dvh,.875rem); }
html:not(.battlemon-mobile) #squadScreen .squad-lock-banner { margin-bottom:0; }

/* Confirm a newly equipped Pokémon before committing the selected slot. */
html:not(.battlemon-mobile) #gameAlertModal.desktop-equip-alert #btnGameAlertConfirm { --spark-color:#a7f3d0; position:relative; overflow:visible; color:#ecfdf5; background:linear-gradient(145deg,#16a34a,#047857); border-color:#6ee7b7; box-shadow:0 .2rem 0 #064e3b,0 0 1rem #22c55e66,inset 0 1px #fff3; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-equip-alert #btnGameAlertConfirm:hover { box-shadow:0 .2rem 0 #064e3b,0 0 1.4rem #22c55e88; }
html:not(.battlemon-mobile) #gameAlertModal.desktop-equip-alert #btnGameAlertConfirm>.ui-sparks i { animation:uiSparkDrift 2.3s ease-out var(--spark-delay) infinite; }
@media(prefers-reduced-motion:reduce){html:not(.battlemon-mobile) #gameAlertModal.desktop-equip-alert #btnGameAlertConfirm>.ui-sparks i{animation:none}}

/* Equal vertical alignment for the Pokémon panel and its four attacks. */
html:not(.battlemon-mobile) #squadScreen .slot-rect-main { align-items:stretch; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-profile { position:relative; align-self:stretch; padding:.35rem 1.8rem .35rem .4rem; border:1px solid #334155; border-radius:.5rem; background:#111c2e; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-portrait .slot-poke-img { height:3rem; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-profile .desktop-shiny-symbol { position:absolute; right:.5rem; top:.5rem; bottom:auto; width:1.15rem; height:1.15rem; min-height:0; padding:0; border:0; background:transparent; box-shadow:none; color:#64748b; line-height:0; }
html:not(.battlemon-mobile) #squadScreen .desktop-shiny-symbol svg { width:100%; height:100%; fill:none; stroke:currentColor; stroke-width:1.4; overflow:visible; }
html:not(.battlemon-mobile) #squadScreen .desktop-shiny-symbol.is-unlocked svg { fill:currentColor; }
html:not(.battlemon-mobile) #squadScreen .desktop-shiny-symbol.is-on { color:#fde047; filter:drop-shadow(0 0 4px #fbbf24); }

html:not(.battlemon-mobile) #squadScreen .slot-poke-profile { align-self:center; height:calc(4.2rem + .78rem + 4px); box-sizing:border-box; }
html:not(.battlemon-mobile) #squadScreen .slot-name-row { flex-wrap:wrap; gap:.15rem .35rem; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-name { max-width:100%; white-space:normal; overflow:visible; text-overflow:clip; overflow-wrap:anywhere; font-size:.62rem; line-height:1.3; }

html:not(.battlemon-mobile) #squadScreen .slot-hp-info { display:flex; flex-direction:column; gap:.15rem; max-width:100%; color:var(--slot-hp-color); font:.53rem/1.1 var(--font-clean); white-space:nowrap; }
html:not(.battlemon-mobile) #squadScreen .slot-hp-info strong { font-weight:800; }
html:not(.battlemon-mobile) #squadScreen .slot-hp-track { display:block; height:3px; width:100%; background:#263650; border-radius:3px; overflow:hidden; }
html:not(.battlemon-mobile) #squadScreen .slot-hp-track i { display:block; height:100%; background:var(--slot-hp-color); border-radius:inherit; }

/* Type symbols sit beside the name, without an extra colored tag. */
html:not(.battlemon-mobile) #squadScreen .desktop-pokemon-label { display:flex; align-items:center; gap:.3rem; width:100%; min-width:0; }
html:not(.battlemon-mobile) #squadScreen .desktop-pokemon-label .slot-poke-name { flex:0 1 auto; min-width:0; }
html:not(.battlemon-mobile) #squadScreen .desktop-pokemon-label .slot-types-row { display:inline-flex; flex:none; align-items:center; gap:.15rem; margin:0; padding:0; line-height:1; }
html:not(.battlemon-mobile) #squadScreen .desktop-pokemon-label .type-badge { width:.75rem; height:.75rem; min-width:0; padding:0; border:0; border-radius:0; background:transparent !important; box-shadow:none; }
html:not(.battlemon-mobile) #squadScreen .desktop-pokemon-label .game-type-symbol { width:.75rem; height:.75rem; max-width:100%; max-height:100%; object-fit:contain; }

html:not(.battlemon-mobile) #squadScreen .slot-poke-meta { gap:.15rem; }
html:not(.battlemon-mobile) #squadScreen .slot-xp-info { font-size:.48rem; }
html:not(.battlemon-mobile) #squadScreen .slot-xp-track { height:2px; }
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn:hover { border-color:#6ee7b7; color:#a7f3d0; box-shadow:0 0 .5rem #34d39944; }

/* A shared signal on the owned Pokémon panel and the Tower roster. */
html:not(.battlemon-mobile) :is(#squadScreen .slot-poke-profile,#lobbySquadList .lobby-squad-card).evolution-ready { --spark-color:#7dd3fc; position:relative; overflow:visible; border-color:#38bdf8; box-shadow:0 0 .8rem #38bdf866,inset 0 0 .5rem #38bdf81a; animation:evolutionReadyGlow 2s ease-in-out infinite alternate,evolutionReadyWiggle 7s ease-in-out infinite; transform-origin:center; }
html:not(.battlemon-mobile) .evolution-ready>.evolution-ready-sparks i { animation:uiSparkDrift 2.1s ease-out var(--spark-delay) infinite; }
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn.is-ready { color:#b9e9ff; border-color:#38bdf8; box-shadow:0 0 .5rem #38bdf855; }
html:not(.battlemon-mobile) #lobbySquadList { padding:.4rem; }
@keyframes evolutionReadyGlow { from{box-shadow:0 0 .5rem #38bdf84d,inset 0 0 .4rem #38bdf81a}to{box-shadow:0 0 1rem #38bdf899,inset 0 0 .6rem #38bdf833} }
@media(prefers-reduced-motion:reduce){html:not(.battlemon-mobile) .evolution-ready,html:not(.battlemon-mobile) .evolution-ready>.evolution-ready-sparks i{animation:none!important}}

@keyframes evolutionReadyWiggle { 0%,76%,100%{transform:rotate(0)}80%{transform:rotate(-.7deg)}84%{transform:rotate(.7deg)}88%{transform:rotate(-.4deg)}92%{transform:rotate(.4deg)}96%{transform:rotate(0)} }

/* Forma Shiny desbloqueada: borda dourada com brilho, faíscas e nome dourado (Pokédex e Meu Time). */
html:not(.battlemon-mobile) :is(#pokedexGrid,#squadPickerGrid) .pokeidle-card.shiny-glow { --spark-color:#fde68a; overflow:visible; border-color:#fbbf24; background:radial-gradient(ellipse 80% 55% at 50% 35%,#fbbf241f,transparent 70%),var(--bg-card); box-shadow:0 0 .55rem #fbbf2466,inset 0 0 .45rem #fbbf2422; animation:shinyCardGlow 2.2s ease-in-out infinite alternate; }
html:not(.battlemon-mobile) :is(#pokedexGrid,#squadPickerGrid) .pokeidle-card.shiny-glow:hover { border-color:#fde047; box-shadow:0 0 1rem #fbbf24aa,inset 0 0 .6rem #fbbf2433; }
html:not(.battlemon-mobile) :is(#pokedexGrid,#squadPickerGrid) .pokeidle-card.shiny-glow > img { filter:drop-shadow(0 0 .25rem #fbbf2466); }
html:not(.battlemon-mobile) :is(#pokedexGrid,#squadPickerGrid) .pokeidle-card.shiny-glow > .ui-sparks i { animation:uiSparkDrift 2.2s ease-out var(--spark-delay) infinite; }
html:not(.battlemon-mobile) #pokedexGrid .pokeidle-card.in-squad::after { display:none; }
@keyframes shinyCardGlow { from{box-shadow:0 0 .4rem #fbbf2444,inset 0 0 .35rem #fbbf241a} to{box-shadow:0 0 .95rem #fbbf2499,inset 0 0 .55rem #fbbf2433} }
@media(prefers-reduced-motion:reduce){html:not(.battlemon-mobile) :is(#pokedexGrid,#squadPickerGrid) .pokeidle-card.shiny-glow,html:not(.battlemon-mobile) :is(#pokedexGrid,#squadPickerGrid) .pokeidle-card.shiny-glow > .ui-sparks i{animation:none}}

html:not(.battlemon-mobile) #squadScreen .slot-poke-profile .slot-poke-img { cursor:default; }
html:not(.battlemon-mobile) :is(#squadScreen .slot-poke-profile,#lobbySquadList .lobby-squad-card).evolution-ready,html:not(.battlemon-mobile) #squadScreen .evolution-ready .slot-poke-img { cursor:pointer; }
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn:disabled { opacity:.4; cursor:not-allowed; box-shadow:none; }
html:not(.battlemon-mobile) :is(#squadScreen .slot-poke-img,#lobbySquadList .lobby-squad-card)[role="button"]:focus-visible { outline:2px solid #7dd3fc; outline-offset:3px; }

/* ==========================================================================
   MEU TIME — identidade própria "Formação de Batalha" (PC).
   Colmeia hexagonal, cantoneiras de mira (HUD tático), slots numerados em hexágono,
   paleta turquesa (catálogo) + dourado (formação). Só aparência: tamanhos e funções iguais.
   ========================================================================== */
html:not(.battlemon-mobile) #squadScreen {
  --team-teal:#2dd4bf; --team-gold:#fbbf24;
  --team-hex:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='49' viewBox='0 0 28 49'%3E%3Cpath d='M13.99 9.25l13 7.5v15l-13 7.5L1 31.75v-15l12.99-7.5zM3 17.9v12.7l10.99 6.34 11-6.35V17.9l-11-6.34L3 17.9zM0 15l12.98-7.5V0h-2v6.35L0 12.69v2.3zm0 18.5L12.98 41v8h-2v-6.85L0 35.81v-2.3zM15 0v7.5L27.99 15H28v-2.31h-.01L17 6.35V0h-2zm0 49v-8l12.99-7.5H28v2.31h-.01L17 42.15V49h-2z' fill='%23ffffff' fill-opacity='0.035'/%3E%3C/svg%3E");
  --team-hexagon:polygon(25% 4%,75% 4%,100% 50%,75% 96%,25% 96%,0 50%);
}

/* Painéis: colmeia + brilho vindo de cima + cantoneiras de mira */
html:not(.battlemon-mobile) #squadScreen :is(.clean-picker-panel,.squad-right-slots-col) {
  --panel-accent:var(--team-teal);
  position:relative; isolation:isolate; border:1px solid color-mix(in srgb,var(--panel-accent) 30%,#1d3040); border-radius:.9rem;
  background:radial-gradient(ellipse 70% 40% at 50% -8%,color-mix(in srgb,var(--panel-accent) 15%,transparent),transparent 70%),var(--team-hex) 0 0/28px 49px,linear-gradient(180deg,#0c1a25,#09111d);
  box-shadow:inset 0 1px 0 #ffffff0d,0 .6rem 1.4rem #0006;
}
html:not(.battlemon-mobile) #squadScreen .squad-right-slots-col { --panel-accent:var(--team-gold); }
/* Borda viva: quinas mais brilhantes + um feixe de luz que percorre a borda (sem setinhas) */
html:not(.battlemon-mobile) #squadScreen :is(.clean-picker-panel,.squad-right-slots-col)::before,
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.pokemon-locked)::before {
  content:""; position:absolute; inset:-1px; z-index:1; padding:2px; border-radius:inherit; pointer-events:none;
  background:
    radial-gradient(circle at 0 0,var(--edge-color) 0,transparent var(--edge-corner)),
    radial-gradient(circle at 100% 0,var(--edge-color) 0,transparent var(--edge-corner)),
    radial-gradient(circle at 0 100%,var(--edge-color) 0,transparent var(--edge-corner)),
    radial-gradient(circle at 100% 100%,var(--edge-color) 0,transparent var(--edge-corner)),
    conic-gradient(from var(--mart-angle,0deg),transparent 0 72%,color-mix(in srgb,var(--beam-color,var(--edge-color)) 35%,transparent) 80%,var(--beam-hi,#fff) 86%,var(--beam-color,var(--edge-color)) 89%,transparent 96%);
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor;
  mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  filter:drop-shadow(0 0 .25rem var(--edge-color));
}
html:not(.battlemon-mobile) #squadScreen :is(.clean-picker-panel,.squad-right-slots-col)::before { --edge-color:var(--panel-accent); --edge-corner:3.2rem; animation:martAura 6s linear infinite; }
html:not(.battlemon-mobile) #squadScreen .squad-right-slots-col::before { animation-delay:-3s; }
@media(prefers-reduced-motion:reduce){html:not(.battlemon-mobile) #squadScreen :is(.clean-picker-panel,.squad-right-slots-col,#squadPickerGrid .pokeidle-card)::before{animation:none}}

/* Cabeçalhos: marcador em hexágono e linha de varredura */
html:not(.battlemon-mobile) #squadScreen :is(.picker-panel-header,.squad-right-header) { position:relative; padding-bottom:.55rem; border-bottom:1px solid color-mix(in srgb,var(--panel-accent) 22%,#1d3040); }
html:not(.battlemon-mobile) #squadScreen :is(.picker-panel-header,.squad-right-header)::after { content:""; position:absolute; left:0; bottom:-1px; width:28%; height:1px; background:linear-gradient(90deg,var(--panel-accent),transparent); box-shadow:0 0 .4rem var(--panel-accent); }
html:not(.battlemon-mobile) #squadScreen .pixel-tag { display:inline-flex; align-items:center; gap:.45rem; color:var(--panel-accent); letter-spacing:.08em; text-shadow:0 0 .45rem color-mix(in srgb,var(--panel-accent) 45%,transparent); }
html:not(.battlemon-mobile) #squadScreen .pixel-tag::before { content:""; width:.75rem; height:.7rem; flex:none; clip-path:var(--team-hexagon); background:var(--panel-accent); box-shadow:0 0 .6rem var(--panel-accent); }
html:not(.battlemon-mobile) #squadScreen :is(.picker-panel-title,.squad-right-title) { color:#bcd0e4; text-shadow:0 1px 0 #0008; }
html:not(.battlemon-mobile) #squadCounterBadge { padding:.25rem .65rem; border-radius:.35rem; border:1px solid #2dd4bf55; background:#0c2027; color:#99f6e4; }

/* Aviso de time bloqueado: painel de status tático */
html:not(.battlemon-mobile) #squadScreen .squad-lock-banner.locked { border:1px solid #f8717188; border-radius:.6rem; background:var(--team-hex) 0 0/28px 49px,linear-gradient(90deg,#2a0f16,#140f1c 65%,#0f1421); box-shadow:inset 4px 0 0 #ef4444,0 .4rem 1rem #0005; }
html:not(.battlemon-mobile) #squadScreen .squad-lock-banner.unlocked { border:1px solid #2dd4bf88; border-radius:.6rem; background:var(--team-hex) 0 0/28px 49px,linear-gradient(90deg,#0b2622,#0d1920 65%,#0f1421); box-shadow:inset 4px 0 0 #2dd4bf,0 .4rem 1rem #0005; }
html:not(.battlemon-mobile) #squadScreen .lock-status-badge { padding:.22rem .6rem; border-radius:.3rem; background:#0b0f1aa6; border:1px solid currentColor; letter-spacing:.06em; }

/* Busca e filtros */
html:not(.battlemon-mobile) #squadScreen .search-bar-modern,
html:not(.battlemon-mobile) #squadScreen .select-gen-modern { border:1px solid #1f4a4f; border-radius:.45rem; background-color:#0b1a22; box-shadow:inset 0 0 0 1px #ffffff05; transition:border-color .2s,box-shadow .2s; }
html:not(.battlemon-mobile) #squadScreen :is(.search-bar-modern,.select-gen-modern):is(:hover,:focus) { border-color:#2dd4bf; box-shadow:0 0 0 3px #2dd4bf1f; outline:none; }
html:not(.battlemon-mobile) #squadScreen .type-filter-pill { border-radius:.35rem; transition:transform .2s cubic-bezier(.3,1.6,.5,1),box-shadow .2s; }
html:not(.battlemon-mobile) #squadScreen .type-filter-pill:hover { transform:translateY(-2px); box-shadow:0 .3rem .6rem #0006; }
html:not(.battlemon-mobile) #squadScreen .type-filter-pill.active { box-shadow:0 0 0 2px #2dd4bf,0 0 .7rem #2dd4bf66; }

/* Catálogo: fichas de recruta com plataforma sob o sprite e cantoneira no hover */
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card { --card-accent:var(--team-teal); position:relative; border-radius:.45rem; transition:transform .25s cubic-bezier(.3,1.5,.5,1),box-shadow .25s,border-color .25s; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card.in-squad { --card-accent:#34d399; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.shiny-glow):not(.pokemon-locked) {
  border:1px solid color-mix(in srgb,var(--card-accent) 26%,#1d3040);
  background:var(--team-hex) 0 0/28px 49px,linear-gradient(160deg,#122635,#0a1520 70%);
  box-shadow:inset 0 1px 0 #ffffff0f,0 .25rem .6rem #0005;
}
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.pokemon-locked)::before { --edge-color:var(--card-accent); --edge-corner:1.1rem; --beam-color:transparent; --beam-hi:transparent; padding:1.5px; opacity:.55; transition:opacity .2s; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card.shiny-glow::before { --edge-color:#fbbf24; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card.in-squad:not(.pokemon-locked)::before { opacity:.85; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.pokemon-locked):hover::before { --beam-color:var(--edge-color); --beam-hi:#fff; opacity:1; animation:martAura 1.8s linear infinite; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card > img { background:radial-gradient(ellipse 48% 13% at 50% 90%,color-mix(in srgb,var(--card-accent) 45%,transparent),transparent 72%); transition:transform .3s cubic-bezier(.3,1.6,.5,1); }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card.shiny-glow > img { background:radial-gradient(ellipse 48% 13% at 50% 90%,#fbbf2466,transparent 72%); }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.pokemon-locked):hover { transform:translateY(-3px); }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.shiny-glow):not(.pokemon-locked):hover { border-color:color-mix(in srgb,var(--card-accent) 70%,transparent); box-shadow:0 .5rem 1rem #0007,0 0 .9rem color-mix(in srgb,var(--card-accent) 30%,transparent); }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.pokemon-locked):hover > img { transform:translateY(-3px); }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card .card-num { color:#6f95a3; font-family:var(--font-pixel-ui); letter-spacing:.06em; }

/* Slots da formação: numerados (1, 2, 3) em hexágono, moldura HUD e varredura sutil */
html:not(.battlemon-mobile) #cleanSquadSlotsGrid { counter-reset:team-slot; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect { counter-increment:team-slot; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect:not(.squad-empty-slot) {
  --slot-accent:var(--team-teal); position:relative; overflow:visible; border:1px solid color-mix(in srgb,var(--slot-accent) 28%,#1d3040); border-radius:.55rem;
  background:repeating-linear-gradient(0deg,#ffffff04 0 1px,transparent 1px 4px),radial-gradient(80% 90% at 0% 50%,color-mix(in srgb,var(--slot-accent) 10%,transparent),transparent 60%),linear-gradient(90deg,#0f1f2c,#0a1420);
  box-shadow:inset 0 1px 0 #ffffff0c,0 .35rem .9rem #0005;
}
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect.active-slot:not(.squad-empty-slot) { --slot-accent:var(--team-gold); border-color:#fbbf24aa; box-shadow:inset 0 1px 0 #ffffff10,0 0 0 1px #fbbf2433,0 0 1rem #fbbf2428,0 .35rem .9rem #0005; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect.locked-slot:not(.squad-empty-slot):not(.active-slot) { --slot-accent:#f87171; border-color:#f8717188; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect:not(.squad-empty-slot):hover { border-color:color-mix(in srgb,var(--slot-accent) 65%,transparent); }

/* Cabeçalho do slot: número à esquerda, evolução centralizada, ATIVO à direita */
html:not(.battlemon-mobile) #squadScreen .slot-rect-header { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:.5rem; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-header > .slot-rect-tag { grid-column:1; justify-self:start; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-header > .slot-evolution-btn { grid-column:2; justify-self:center; margin:0; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-header > .active-slot-pill { grid-column:3; justify-self:end; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-tag { display:inline-flex; align-items:center; gap:.4rem; color:color-mix(in srgb,var(--slot-accent,#2dd4bf) 85%,#fff); letter-spacing:.12em; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-tag::after { content:counter(team-slot); display:grid; place-items:center; width:1.35rem; height:1.2rem; clip-path:var(--team-hexagon); background:var(--slot-accent,#2dd4bf); color:#06121a; font:800 .7rem/1 var(--font-pixel-ui); letter-spacing:0; }
html:not(.battlemon-mobile) #squadScreen .active-slot-pill { padding:.12rem .55rem; border-radius:.3rem; border:1px solid #fbbf2499; background:#fbbf241a; color:#fde68a; letter-spacing:.1em; }
html:not(.battlemon-mobile) #squadScreen .active-slot-pill::before { content:"▸ "; color:#fbbf24; }
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn { padding:.18rem .8rem; border-radius:.3rem; border:1px solid #2dd4bf66; background:linear-gradient(180deg,#0f3a3a,#0a2428); color:#99f6e4; font:800 .58rem var(--font-pixel-ui); letter-spacing:.1em; box-shadow:inset 0 1px 0 #ffffff14; transition:border-color .2s,box-shadow .2s,color .2s; }
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn:hover:not(:disabled) { border-color:#5eead4; color:#ccfbf1; box-shadow:0 0 .6rem #2dd4bf55; }
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn.is-ready { background:linear-gradient(180deg,#155e75,#0e3a4d); border-color:#38bdf8; color:#e0f2fe; }

/* Painel do Pokémon (sem mancha colorida sob o retrato) */
html:not(.battlemon-mobile) #squadScreen .slot-poke-profile { border-radius:.45rem; background:linear-gradient(160deg,#122635,#0a1520 75%); }
html:not(.battlemon-mobile) #squadScreen .slot-poke-profile:not(.evolution-ready) { border-color:#1f3a4a; box-shadow:inset 0 1px 0 #ffffff0e; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-img { filter:drop-shadow(0 .25rem .15rem #000a); }

/* Golpes: a borda lateral gordinha na cor do tipo É o espaço do ícone (sem caixinha separada) */
html:not(.battlemon-mobile) #squadScreen .slot-move-card {
  overflow:hidden; padding-left:0; border-radius:.45rem;
  background:linear-gradient(90deg,color-mix(in srgb,var(--team-move-color) 16%,#102030),color-mix(in srgb,var(--team-move-color) 5%,#0a1520) 70%);
  box-shadow:inset 0 1px 0 #ffffff0c;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
html:not(.battlemon-mobile) #squadScreen .slot-move-card .move-card-top { gap:.5rem; }
html:not(.battlemon-mobile) #squadScreen .slot-move-card .move-type-pill {
  align-self:stretch; display:grid; place-items:center; width:1.9rem; min-width:1.9rem; flex-basis:1.9rem; height:auto; margin-block:-.12rem; padding:0;
  border:0; border-radius:0; background:var(--team-move-color) !important;
  box-shadow:inset -1px 0 0 #0000002e,inset 0 1px 0 #ffffff40;
}
html:not(.battlemon-mobile) #squadScreen .slot-move-card .move-type-pill .game-type-symbol { width:1.45rem; height:auto; max-height:1.35rem; object-fit:contain; border-radius:0; filter:drop-shadow(0 1px 0 #0003); }
html:not(.battlemon-mobile) #squadScreen .slot-move-card:hover { transform:translateX(2px); border-color:var(--team-move-color); box-shadow:0 0 .7rem color-mix(in srgb,var(--team-move-color) 35%,transparent); }

/* Slot vazio: "+" dentro de um hexágono */
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot { border:1px dashed #23505a; border-radius:.55rem; background:var(--team-hex) 0 0/28px 49px,#0a1620; transition:border-color .2s,background-color .2s; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot .empty-slot-plus { display:grid; place-items:center; width:2.5rem; height:2.25rem; clip-path:var(--team-hexagon); background:#2dd4bf26; color:#5eead4; transition:transform .3s cubic-bezier(.3,1.6,.5,1),background .2s,color .2s; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot:hover { border-color:#2dd4bf; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot:hover .empty-slot-plus { transform:scale(1.12); background:#2dd4bf; color:#06121a; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot.active-slot { border-color:#fbbf24aa; }

/* Faixa de sinergia: leitura tática forte/fraco */
html:not(.battlemon-mobile) #squadSynergyStrip { border:1px solid #1f3a4a; border-radius:.55rem; background:var(--team-hex) 0 0/28px 49px,linear-gradient(90deg,#0b2420 0%,#0b1520 38%,#0b1520 62%,#241018 100%); box-shadow:inset 0 1px 0 #ffffff0c,0 .3rem .8rem #0005; }
html:not(.battlemon-mobile) #squadSynergyStrip .synergy-emoji-chip { border-radius:.3rem; }
@media(prefers-reduced-motion:reduce){html:not(.battlemon-mobile) #squadScreen :is(.slot-move-card,.type-filter-pill,.pokeidle-card,.empty-slot-plus){transition:none}}

/* Meu Time: nível ao lado do nome e HP embaixo das barras, como no esquadrão da PokéTower */
html:not(.battlemon-mobile) #squadScreen .slot-name-row { flex-wrap: nowrap; align-items: baseline; }
html:not(.battlemon-mobile) #squadScreen .slot-name-row .slot-poke-name { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
html:not(.battlemon-mobile) #squadScreen .slot-name-row .slot-poke-lvl { flex: none; }
html:not(.battlemon-mobile) #squadScreen .slot-hp-info .slot-hp-text { margin-top: .1rem; }
html:not(.battlemon-mobile) #squadScreen .slot-name-row { gap: .25rem; }
html:not(.battlemon-mobile) #squadScreen .slot-name-row .slot-poke-name { font-size: .64rem; letter-spacing: 0; }
html:not(.battlemon-mobile) #squadScreen .slot-name-row .slot-poke-lvl { font-size: .5rem; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-main { grid-template-columns: minmax(14.6rem, 37%) minmax(0, 1fr); }

/* Evolve button: rainbow. Ready = moving colors + glow + sparks; not ready = faded rainbow. */
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn {
  --evo-rainbow: linear-gradient(90deg, #ff5f6d, #ffb347, #ffe259, #6ee7a8, #4fc3ff, #8b7bff, #f472d0, #ff5f6d);
  position: relative; isolation: isolate; overflow: visible;
  padding: .2rem .85rem; border: 1px solid #ffffff2e; border-radius: .35rem;
  background: var(--evo-rainbow); background-size: 200% 100%;
  color: #fff; text-shadow: 0 1px 0 #0009, 0 0 .25rem #0006;
  box-shadow: inset 0 1px 0 #ffffff55, inset 0 -2px 0 #0000003d;
}
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn .evo-btn-label { position: relative; z-index: 1; }
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn:disabled {
  opacity: .78; cursor: not-allowed;
  filter: saturate(.8) brightness(.6);
  box-shadow: inset 0 1px 0 #ffffff22; text-shadow: 0 1px 0 #0008;
}
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn.is-ready {
  border-color: #fff8; color: #fff; opacity: 1; filter: none;
  background: var(--evo-rainbow); background-size: 200% 100%;
  animation: evoBtnRainbow 2.4s linear infinite;
  box-shadow: inset 0 1px 0 #ffffff80, inset 0 -2px 0 #00000033, 0 0 .55rem #ffffff55;
}
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn.is-ready::before {
  content: ''; position: absolute; inset: -4px; z-index: -1; border-radius: .55rem;
  background: var(--evo-rainbow); background-size: 200% 100%;
  filter: blur(7px); opacity: .85;
  animation: evoBtnRainbow 2.4s linear infinite, evoBtnPulse 1.6s ease-in-out infinite;
}
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn.is-ready::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, #ffffffb0 50%, transparent 65%);
  background-size: 250% 100%; animation: evoBtnShine 2.2s ease-in-out infinite;
}
html:not(.battlemon-mobile) #squadScreen .slot-evolution-btn.is-ready:hover { transform: translateY(-1px) scale(1.04); box-shadow: inset 0 1px 0 #ffffff80, 0 0 .9rem #ffffff88; }
html:not(.battlemon-mobile) #squadScreen .evo-btn-sparks { position: absolute; inset: 0; pointer-events: none; z-index: 2; }
html:not(.battlemon-mobile) #squadScreen .evo-btn-sparks i {
  position: absolute; bottom: 30%; width: 4px; height: 4px; border-radius: 50%;
  background: #fff; box-shadow: 0 0 6px 2px var(--c, #ffe259);
  opacity: 0; animation: evoBtnSpark 1.8s ease-out infinite;
}
html:not(.battlemon-mobile) #squadScreen .evo-btn-sparks i:nth-child(1) { left: 8%;  --c: #ff5f6d; --dx: -10px; animation-delay: 0s; }
html:not(.battlemon-mobile) #squadScreen .evo-btn-sparks i:nth-child(2) { left: 25%; --c: #ffb347; --dx: -4px;  animation-delay: .3s; }
html:not(.battlemon-mobile) #squadScreen .evo-btn-sparks i:nth-child(3) { left: 45%; --c: #ffe259; --dx: 3px;   animation-delay: .9s; }
html:not(.battlemon-mobile) #squadScreen .evo-btn-sparks i:nth-child(4) { left: 62%; --c: #6ee7a8; --dx: -3px;  animation-delay: .55s; }
html:not(.battlemon-mobile) #squadScreen .evo-btn-sparks i:nth-child(5) { left: 80%; --c: #4fc3ff; --dx: 6px;   animation-delay: 1.2s; }
html:not(.battlemon-mobile) #squadScreen .evo-btn-sparks i:nth-child(6) { left: 92%; --c: #f472d0; --dx: 11px;  animation-delay: 1.5s; }
@keyframes evoBtnRainbow { from { background-position: 0% 50%; } to { background-position: 200% 50%; } }
@keyframes evoBtnPulse { 0%, 100% { opacity: .55; transform: scale(.97); } 50% { opacity: 1; transform: scale(1.06); } }
@keyframes evoBtnShine { 0%, 30% { background-position: 150% 0; } 75%, 100% { background-position: -100% 0; } }
@keyframes evoBtnSpark {
  0% { opacity: 0; transform: translate(0, 0) scale(.4); }
  15% { opacity: 1; }
  100% { opacity: 0; transform: translate(var(--dx), -22px) scale(1.15); }
}

/* ==========================================================================
   Coesão com o resto do jogo: Meu Time usa os mesmos painéis da PokéTower
   (azul-marinho #111829, borda #2e4063, sombra sólida) em vez da colmeia/turquesa.
   Fica no fim do arquivo para sobrepor a identidade anterior.
   ========================================================================== */
html:not(.battlemon-mobile) #squadScreen {
  --team-teal:#fbbf24; --team-gold:#fbbf24; --team-hex:none;
  --panel-bg:#111829; --panel-edge:#2e4063; --card-bg:#182238;
}
html:not(.battlemon-mobile) #squadScreen :is(.clean-picker-panel,.squad-right-slots-col) {
  --panel-accent:#fbbf24;
  border:1.6px solid var(--panel-edge); border-radius:10px; background:var(--panel-bg);
  box-shadow:0 0 0 2px #ffffff0a inset,0 6px 0 #00000073;
}
html:not(.battlemon-mobile) #squadScreen :is(.clean-picker-panel,.squad-right-slots-col)::before { content:none; display:none; animation:none; }
html:not(.battlemon-mobile) #squadScreen :is(.picker-panel-header,.squad-right-header) { border-bottom:1px solid #2e4063; }
html:not(.battlemon-mobile) #squadScreen :is(.picker-panel-header,.squad-right-header)::after { content:none; }
html:not(.battlemon-mobile) #squadScreen .pixel-tag { color:#fbbf24; text-shadow:none; }
html:not(.battlemon-mobile) #squadScreen .pixel-tag::before { width:.7rem; height:.7rem; clip-path:none; border-radius:50%; background:transparent; border:2px solid #fbbf24; box-shadow:none; }
html:not(.battlemon-mobile) #squadScreen :is(.picker-panel-title,.squad-right-title) { color:#e2e8f0; }
html:not(.battlemon-mobile) #squadCounterBadge { border:1px solid #2e4063; background:#0d1424; color:#93c5fd; }

html:not(.battlemon-mobile) #squadScreen .squad-lock-banner.locked,
html:not(.battlemon-mobile) #squadScreen .squad-lock-banner.unlocked { background:var(--panel-bg); border:1.6px solid var(--panel-edge); border-radius:10px; box-shadow:0 0 0 2px #ffffff0a inset,0 6px 0 #00000073; }
html:not(.battlemon-mobile) #squadScreen .squad-lock-banner.locked { border-color:#8f3b46; box-shadow:inset 4px 0 0 #ef4444,0 6px 0 #00000073; }
html:not(.battlemon-mobile) #squadScreen .squad-lock-banner.unlocked { box-shadow:inset 4px 0 0 #4ade80,0 6px 0 #00000073; }

html:not(.battlemon-mobile) #squadScreen :is(.search-bar-modern,.select-gen-modern) { border:1px solid #2e4063; background-color:#0d1424; }
html:not(.battlemon-mobile) #squadScreen :is(.search-bar-modern,.select-gen-modern):is(:hover,:focus) { border-color:#fbbf24; box-shadow:0 0 0 3px #fbbf2426; }
html:not(.battlemon-mobile) #squadScreen .type-filter-pill.active { box-shadow:0 0 0 2px #fbbf24,0 0 .7rem #fbbf2466; }

/* Cartas do catálogo: mesmo cartão dos outros painéis */
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card { --card-accent:#fbbf24; border-radius:8px; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card.in-squad { --card-accent:#34d399; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.shiny-glow):not(.pokemon-locked) { border:.8px solid #2e4063; background:var(--card-bg); box-shadow:none; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card.in-squad:not(.shiny-glow):not(.pokemon-locked) { border-color:#10b981; background:#10b9811a; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.pokemon-locked)::before { content:none; display:none; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card:not(.shiny-glow):not(.pokemon-locked):hover { border-color:#fbbf24; background:#1d2a45; box-shadow:none; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card > img,
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card.shiny-glow > img { background:none; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card .card-num { color:#7c8db0; font-family:inherit; letter-spacing:0; }
html:not(.battlemon-mobile) #squadPickerGrid .pokeidle-card .card-level {
  position:absolute; top:.1875rem; left:.1875rem; z-index:2; padding:.0625rem .3rem; border-radius:.1875rem;
  background:#fbbf2426; border:1px solid #fbbf2480; color:#fde68a; font:800 .5rem/1.3 var(--font-pixel-ui); letter-spacing:.04em;
}

/* Slots do time: mesmos cartões internos (#182238) com borda azul e destaque dourado no ativo */
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect:not(.squad-empty-slot) {
  --slot-accent:#fbbf24; border:1px solid #2e4063; border-radius:8px; background:var(--card-bg); box-shadow:none;
}
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect.active-slot:not(.squad-empty-slot) { border-color:#fbbf24; box-shadow:0 0 0 1px #fbbf2440,0 0 .9rem #fbbf2422; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect.locked-slot:not(.squad-empty-slot):not(.active-slot) { border-color:#2e4063; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-slot-rect:not(.squad-empty-slot):hover { border-color:#4a6290; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-tag { color:#cbd5e1; }
html:not(.battlemon-mobile) #squadScreen .slot-rect-tag::after { clip-path:none; width:1.25rem; height:1.25rem; border-radius:50%; background:#fbbf24; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-profile { background:#111829; }
html:not(.battlemon-mobile) #squadScreen .slot-poke-profile:not(.evolution-ready) { border-color:#2e4063; box-shadow:none; }
html:not(.battlemon-mobile) #squadScreen .slot-move-card { background:linear-gradient(90deg,color-mix(in srgb,var(--team-move-color) 16%,#142038),color-mix(in srgb,var(--team-move-color) 5%,#111829) 70%); }

/* Slot livre: círculo tracejado com "+", igual ao SLOT LIVRE da PokéTower */
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot { border:1px dashed #2e4063; border-radius:8px; background:#111829; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot .empty-slot-plus { clip-path:none; width:2.4rem; height:2.4rem; border-radius:50%; border:2px dashed #fbbf2499; background:transparent; color:#fbbf24; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot:hover { border-color:#fbbf24; }
html:not(.battlemon-mobile) #cleanSquadSlotsGrid .squad-empty-slot:hover .empty-slot-plus { background:#fbbf24; color:#1c1203; }

html:not(.battlemon-mobile) #squadSynergyStrip { border:1px solid #2e4063; border-radius:8px; background:#0d1424; box-shadow:none; }
