/* =====================================================================
  V54 — CARTAS ESPECIALES EN EL DRAFT
  La carta se contempla en el mazo; el poder se decide, aplica y anima
  sobre los 10 jugadores de EQUIPOS ARMADOS.
  ===================================================================== */
#resultMount{position:relative!important;isolation:isolate}
#resultMount #wildDraftDock[hidden],
#resultMount #wildDraftEffect[hidden]{display:none!important}
#resultMount .wild-draft-dock{
 box-sizing:border-box!important;
 display:grid!important;
 grid-template-columns:minmax(180px,1.08fr) minmax(200px,1fr) auto!important;
 align-items:center!important;
 gap:11px 19px!important;
 width:100%!important;min-width:0!important;
 padding:14px clamp(14px,2vw,26px)!important;
 margin:0 0 11px!important;
 position:sticky!important;top:0!important;z-index:24!important;
 background:linear-gradient(112deg,rgba(16,48,58,.98),rgba(21,58,68,.98) 53%,rgba(10,37,48,.99))!important;
 border:1px solid #548579!important;
 border-top:3px solid #f3c575!important;
 box-shadow:0 14px 27px rgba(0,0,0,.38),inset 0 1px 0 rgba(230,253,233,.09)!important;
 font-family:var(--rift-text,Inter,system-ui,sans-serif)!important;
 animation:wildDockEnter .32s cubic-bezier(.2,.75,.25,1) both!important;
}
#resultMount .wild-draft-brief{
 min-width:0!important;display:flex!important;flex-direction:column!important;gap:3px!important;
}
#resultMount .wild-draft-brief small{
 font:900 9px/1.3 var(--rift-text,Inter,sans-serif)!important;
 color:#f1bc79!important;letter-spacing:.11em!important;
}
#resultMount .wild-draft-brief strong{
 font:600 clamp(22px,2.5vw,31px)/.96 var(--rift-display,Impact,sans-serif)!important;
 color:#ecfff9!important;letter-spacing:.022em!important;
}
#resultMount .wild-draft-brief p{
 margin:2px 0 0!important;
 font:700 10px/1.45 var(--rift-text,Inter,sans-serif)!important;
 color:#b4d4d6!important;
}
#resultMount .wild-draft-targets{
 min-width:0!important;display:flex!important;flex-direction:column!important;
 align-items:flex-start!important;justify-content:center!important;gap:4px!important;
}
#resultMount #wildDraftCount{
 font:900 10px/1.3 var(--rift-text,Inter,sans-serif)!important;
 color:#fde0aa!important;letter-spacing:.09em!important;
}
#resultMount #wildDraftError{
 margin:0!important;min-height:0!important;
 font:700 10px/1.4 var(--rift-text,Inter,sans-serif)!important;
 color:#ffc296!important;
}
#resultMount .wild-draft-offers{
 display:flex!important;align-items:center!important;
 flex-wrap:wrap!important;gap:5px!important;min-width:0!important;
}
#resultMount .wild-draft-offers:empty{display:none!important}
#resultMount .wild-offers-caption{
 font:900 9px var(--rift-text,Inter,sans-serif)!important;
 color:#9accc4!important;
}
#resultMount .wild-draft-offer{
 padding:7px 10px!important;min-height:34px!important;
 border:1px solid #547e85!important;border-radius:0!important;
 background:#123845!important;color:#e4f8f3!important;
 font:800 10px/1.15 var(--rift-text,Inter,sans-serif)!important;
 cursor:pointer!important;
}
#resultMount .wild-draft-offer.selected{
 background:#655337!important;border-color:#f4c979!important;color:#fff5da!important;
 box-shadow:inset 0 -3px #e7bb77!important;
}
#resultMount .wild-draft-offer:hover{border-color:#ffe5b0!important}
#resultMount .wild-draft-no-offers{
 font:700 10px var(--rift-text,Inter,sans-serif)!important;color:#ffb68f!important;
}
#resultMount .wild-draft-buttons{
 display:flex!important;flex-direction:column!important;
 align-items:stretch!important;gap:7px!important;
}
#resultMount .wild-draft-buttons button{
 min-height:34px!important;min-width:142px!important;
 padding:8px 11px!important;border:1px solid #537984!important;
 border-radius:0!important;
 background:#1a3946!important;
 color:#cce2e1!important;
 font:900 10px/1.2 var(--rift-text,Inter,sans-serif)!important;
 cursor:pointer!important;white-space:nowrap!important;
}
#resultMount #wildDraftConfirm{
 background:linear-gradient(110deg,#bd873e,#f8d18a,#df9b4c)!important;
 border-color:#fbd692!important;
 color:#142a34!important;
 box-shadow:0 0 14px #f9cb7852!important;
}
#resultMount #wildDraftConfirm:disabled{opacity:.4!important;cursor:not-allowed!important;filter:saturate(.55)!important}
#resultMount #wildDraftConfirm:not(:disabled):hover{
 filter:brightness(1.13)!important;
 box-shadow:0 0 25px #ffda9470!important;
}
/* Los jugadores elegibles se convierten en objetivos accesibles sin
   cambiar ni desordenar su rol/campeón actual. */
#resultMount .team .player.wild-draft-selectable{
 position:relative!important;z-index:2!important;
 cursor:pointer!important;
 outline:1px solid rgba(142,226,207,.37)!important;
 outline-offset:-2px!important;
 transition:background .22s,box-shadow .22s,transform .22s,outline .2s!important;
}
#resultMount .team .player.wild-draft-selectable::after{
 content:"ELEGIR +"!important;
 position:absolute!important;right:11px!important;top:50%!important;
 transform:translateY(-50%)!important;
 padding:5px 7px!important;
 border:1px solid #9fc4bd!important;
 background:#113d4bc9!important;
 color:#b6e9df!important;
 font:900 9px var(--rift-text,Inter,sans-serif)!important;
 pointer-events:none!important;
}
#resultMount .team .player.wild-draft-selectable:hover,
#resultMount .team .player.wild-draft-selectable:focus-visible{
 background:#1d4952!important;
 box-shadow:inset 0 0 0 2px #a4e8d6,0 0 17px #6adbb437!important;
 outline-color:#b8f3df!important;
}
#resultMount .team .player.wild-draft-picked{
 background:linear-gradient(93deg,#2c554c,#21424a)!important;
 box-shadow:inset 0 0 0 2px #f4c77b,0 0 23px #eec17b49!important;
 outline-color:#f6d29a!important;
}
#resultMount .team .player.wild-draft-picked::after{
 content:"✓ ELEGIDO"!important;
 background:#e6ba71!important;color:#152733!important;
 border-color:#f7d394!important;
 animation:wildPickedPulse 1.4s ease-in-out infinite alternate!important;
}
@keyframes wildDockEnter{
 from{opacity:0;transform:translateY(-15px);filter:brightness(1.45)}
 to{opacity:1;transform:translateY(0);filter:none}
}
@keyframes wildPickedPulse{to{box-shadow:0 0 16px #f8db9c8c}}
/* ==========================================================
   EFECTOS SOBRE EL DRAFT · Nueve estilos distintos
   ========================================================== */
#resultMount.wild-fx-active{
 --fx-accent:#efc58a;
 position:relative!important;
}
#resultMount[data-wild-fx="robar"]{--fx-accent:#b18cff}
#resultMount[data-wild-fx="caos"]{--fx-accent:#9fd6fc}
#resultMount[data-wild-fx="identidad"]{--fx-accent:#ebadff}
#resultMount[data-wild-fx="destino"]{--fx-accent:#fbd781}
#resultMount[data-wild-fx="fallaste"]{--fx-accent:#a5f686}
#resultMount[data-wild-fx="trato"]{--fx-accent:#ff966d}
#resultMount[data-wild-fx="total"]{--fx-accent:#ff8cbd}
#resultMount[data-wild-fx="reflejados"]{--fx-accent:#83d6ee}
#resultMount[data-wild-fx="negociacion"]{--fx-accent:#ff7e8d}
#resultMount .wild-draft-effect{
 position:fixed!important;
 z-index:12200!important;
 left:50%!important;top:49%!important;
 width:min(86vw,670px)!important;min-height:95px!important;
 transform:translate(-50%,-50%)!important;
 box-sizing:border-box!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 gap:15px!important;
 padding:17px 30px!important;
 pointer-events:none!important;text-align:center!important;
 border-top:2px solid var(--fx-accent)!important;
 border-bottom:2px solid var(--fx-accent)!important;
 background:linear-gradient(90deg,transparent,rgba(5,24,33,.93) 15%,rgba(8,27,37,.94) 85%,transparent)!important;
 box-shadow:0 0 100px #060d1fbb,0 0 42px var(--fx-accent)!important;
 color:var(--fx-accent)!important;
 animation:wildEffectSplash 1.15s cubic-bezier(.14,.68,.28,1) both!important;
}
#resultMount .wild-draft-effect strong{
 display:block;min-width:0!important;
 font:600 clamp(27px,4vw,55px)/.95 var(--rift-display,Impact,sans-serif)!important;
 text-shadow:0 0 22px var(--fx-accent)!important;
 letter-spacing:.055em!important;white-space:normal!important;
}
#resultMount .wild-draft-effect-glyph{
 font:600 28px/1 var(--rift-display,Impact,sans-serif)!important;
 animation:wildGlyphTurn .7s ease-in-out infinite alternate!important;
}
#resultMount .wild-draft-effect::before{
 content:"";position:absolute;inset:-60px -22px!important;
 z-index:-1!important;
 pointer-events:none!important;opacity:.5!important;
 background:radial-gradient(ellipse,var(--fx-accent) 0,transparent 65%);
 filter:blur(22px);
 animation:wildPowerAura 1.4s ease both!important;
}
@keyframes wildEffectSplash{
 0%{opacity:0;transform:translate(-50%,-50%) scale(1.32) skewX(-8deg);filter:blur(18px)}
 18%{opacity:1;filter:blur(0)}
 74%{opacity:1;transform:translate(-50%,-50%) scale(1)}
 100%{opacity:0;transform:translate(-50%,-50%) scale(.92);filter:blur(8px)}
}
@keyframes wildPowerAura{0%{opacity:0;transform:scale(.6)}48%{opacity:.52;transform:scale(1.2)}100%{opacity:0;transform:scale(1.5)}}
@keyframes wildGlyphTurn{to{transform:rotate(65deg) scale(1.22);filter:brightness(1.6)}}
/* Efectos exclusivos por carta. Cada uno acompaña el movimiento de
   los elementos reales (retratos o fichas enteras) calculado por JS. */
#resultMount[data-wild-fx="robar"] .wild-draft-effect{
 animation:wildEffectSplash 1.12s ease both,wildStolenPulse .27s ease-in-out 3!important;
}
#resultMount[data-wild-fx="caos"] .wild-draft-effect{
 animation:wildEffectSplash 1.08s ease both,wildChaosGlitch .17s steps(2,end) 6!important;
}
#resultMount[data-wild-fx="identidad"] .wild-draft-effect{
 animation:wildEffectSplash 1.2s ease both,wildIdentityPrism .43s ease 3!important;
}
#resultMount[data-wild-fx="destino"] .wild-draft-effect::before{
 background:conic-gradient(from 35deg,transparent,var(--fx-accent),transparent,var(--fx-accent),transparent)!important;
 animation:wildFateSpin 1.1s ease-out both!important;
}
#resultMount[data-wild-fx="fallaste"] .wild-draft-effect{
 animation:wildEffectSplash 1.09s ease both,wildBlindPulse .24s ease-in-out 4!important;
}
#resultMount[data-wild-fx="trato"] .wild-draft-effect::before{
 background:linear-gradient(100deg,transparent,#ff885d94,transparent,#ffcc7394,transparent)!important;
 animation:wildDealSplit 1.1s ease-out both!important;
}
#resultMount[data-wild-fx="total"] .wild-draft-effect{
 animation:wildEffectSplash 1.6s ease both,wildTotalShake .13s linear 10!important;
}
#resultMount[data-wild-fx="reflejados"] .wild-draft-effect::before{
 background:linear-gradient(90deg,#6092eea8,transparent,#ff8885a8)!important;
 animation:wildMirrorSweep 1.4s ease-in-out both!important;
}
#resultMount[data-wild-fx="negociacion"] .wild-draft-effect{
 animation:wildEffectSplash 1.23s ease both,wildHostileStrike .25s ease-in-out 4!important;
}
@keyframes wildStolenPulse{50%{box-shadow:0 0 95px #a78bfa,inset 0 0 44px #8b5ad866}}
@keyframes wildChaosGlitch{0%{clip-path:inset(0 0 0 0)}50%{clip-path:inset(13% 0 9% 0);filter:hue-rotate(90deg)}100%{clip-path:inset(0)}}
@keyframes wildIdentityPrism{50%{filter:hue-rotate(55deg) brightness(1.45)}}
@keyframes wildFateSpin{0%{transform:rotate(-130deg) scale(.5);opacity:0}60%{opacity:.65}100%{transform:rotate(140deg) scale(1.7);opacity:0}}
@keyframes wildBlindPulse{0%,100%{filter:brightness(1)}50%{filter:brightness(2) hue-rotate(32deg)}}
@keyframes wildDealSplit{0%{transform:translateX(-45%) scaleX(.4);opacity:0}50%{opacity:.9}100%{transform:translateX(45%) scaleX(1.4);opacity:0}}
@keyframes wildTotalShake{0%,100%{margin-left:0}25%{margin-left:-8px}75%{margin-left:8px}}
@keyframes wildMirrorSweep{0%{transform:scaleX(-1);opacity:0}50%{transform:scaleX(1.2);opacity:1}100%{transform:scaleX(-1);opacity:0}}
@keyframes wildHostileStrike{50%{background:#40292e!important;filter:brightness(1.7)}}
/* Ghosts: old sprites fly, flip and land on the destination in the real
   two-team board. They never consume pointer events. */
.wild-fx-ghost{
 box-sizing:border-box!important;
 overflow:hidden!important;
 pointer-events:none!important;
 filter:drop-shadow(0 0 12px #f5d99a77);
 will-change:transform,opacity!important;
}
img.wild-fx-ghost-avatar,
.wild-fx-ghost-avatar{
 object-fit:cover!important;
 border:2px solid #d3f2db!important;
 border-radius:3px!important;
 background:#103642!important;
 box-shadow:0 0 22px #c6a4ff99!important;
}
.player.wild-fx-ghost-row{
 display:flex!important;align-items:center!important;gap:12px!important;
 padding:10px 14px!important;
 background:linear-gradient(115deg,#143746,#24525c)!important;
 border:2px solid #f4c77f!important;
 color:#f3fff9!important;
 box-shadow:0 0 22px #e5c57b7a!important;
}
.player.wild-fx-ghost-row .avatar{
 width:54px!important;height:54px!important;
 object-fit:cover!important;flex:0 0 54px!important;
}
.player.wild-fx-ghost-row .role,.player.wild-fx-ghost-row .champ{
 color:#a5e6d7!important;font:850 11px var(--rift-text,Inter,sans-serif)!important;
}
.player.wild-fx-ghost-row .name{
 color:#fff!important;font:900 15px var(--rift-text,Inter,sans-serif)!important;
}
#resultMount .team .player.wild-fx-arriving{
 opacity:.12!important;
 filter:brightness(.3) saturate(.5)!important;
 transform:scale(.985)!important;
}
#resultMount .teams.wild-fx-landed .player.wild-fx-updated{
 animation:wildDraftLand .53s cubic-bezier(.2,.8,.2,1) both!important;
}
@keyframes wildDraftLand{
 0%{filter:brightness(2.1);box-shadow:inset 0 0 0 2px #f6cb79;transform:scale(1.014)}
 70%{filter:brightness(1.2);transform:scale(.994)}
 100%{filter:brightness(1);transform:none;box-shadow:none}
}
@media(max-width:1100px){
 #resultMount .wild-draft-dock{
  grid-template-columns:minmax(170px,1fr) minmax(160px,1fr)!important;
  gap:10px!important;
 }
 #resultMount .wild-draft-buttons{
  grid-column:1/-1!important;display:flex!important;
  flex-direction:row!important;justify-content:flex-end!important;
 }
}
@media(max-width:650px){
 #resultMount .wild-draft-dock{
  position:relative!important;top:auto!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:9px!important;padding:12px!important;
 }
 #resultMount .wild-draft-buttons{
  grid-column:1!important;justify-content:stretch!important;
 }
 #resultMount .wild-draft-buttons button{min-width:0!important;flex:1}
 #resultMount .team .player.wild-draft-selectable::after{
  right:3px!important;padding:4px!important;
  font-size:8px!important;content:"+"!important;
 }
 #resultMount .team .player.wild-draft-picked::after{content:"✓"!important}
 #resultMount .wild-draft-effect{
  width:min(95vw,570px)!important;min-height:74px!important;padding:13px 18px!important;
 }
 #resultMount .wild-draft-effect strong{font-size:clamp(22px,7vw,37px)!important}
}
@media(prefers-reduced-motion:reduce){
 #resultMount .wild-draft-dock,
 #resultMount .wild-draft-effect,
 #resultMount .wild-draft-effect::before,
 #resultMount .wild-draft-effect-glyph,
 #resultMount .teams.wild-fx-landed .player,
 #resultMount .team .player.wild-draft-picked::after{
  animation:none!important;transition:none!important;
 }
 #resultMount .team .player.wild-fx-arriving{opacity:1!important;filter:none!important;transform:none!important}
}


/* ====================================================================
 V55 • CONSIGNAS EXPLÍCITAS + REVELACIÓN LENTA, PASO POR PASO
 ==================================================================== */
/* La instrucción de la carta es la información más importante del dock. */
#resultMount .wild-draft-dock{
 grid-template-columns:minmax(300px,1.25fr) minmax(180px,.9fr) auto!important;
 gap:12px 20px!important;
 padding:17px clamp(14px,2vw,26px)!important;
}
#resultMount .wild-draft-brief{
 gap:7px!important;
}
#resultMount .wild-draft-brief small{
 font-size:10px!important;
}
#resultMount .wild-draft-brief strong{
 font-size:clamp(25px,2.7vw,34px)!important;
}
#resultMount .wild-draft-brief p{
 margin:4px 0 0!important;
 max-width:65ch!important;
 font:800 12px/1.63 var(--rift-text,Inter,system-ui,sans-serif)!important;
 letter-spacing:.015em!important;
 color:#e2f2ed!important;
 text-wrap:pretty!important;
}
/* Reglas legibles en la revelación, sin ocultar la ilustración. */
.wild-deck-info .wild-card-clear-rule{
 padding:15px 17px!important;
 background:linear-gradient(100deg,rgba(49,76,75,.55),rgba(17,55,65,.6))!important;
 border:1px solid #52877d!important;
 border-left:4px solid #e7bf79!important;
 border-radius:0!important;
}
.wild-deck-info .wild-card-clear-rule small{
 display:block!important;
 font:900 10px/1.3 var(--rift-text,Inter,system-ui,sans-serif)!important;
 letter-spacing:.12em!important;
 color:#f7d49e!important;
 margin:0 0 9px!important;
}
.wild-deck-info .wild-card-clear-rule p{
 margin:0!important;
 font:800 13px/1.75 var(--rift-text,Inter,system-ui,sans-serif)!important;
 color:#f2fffa!important;
 overflow-wrap:break-word!important;
 text-wrap:pretty!important;
}
.wild-deck-info .wild-choose-title{
 font:700 11px/1.65 var(--rift-text,Inter,system-ui,sans-serif)!important;
 color:#c6dfdd!important;
}
.wild-deck-info .wild-deck-actions{
 max-height:380px!important;
}
/* Estado de avance fijo sobre el tablero: cada cambio lleva su número y jugador. */
#resultMount .wild-fx-progress[hidden]{display:none!important}
#resultMount .wild-fx-progress{
 position:sticky!important;
 top:0!important;z-index:30!important;
 width:100%!important;min-width:0!important;
 box-sizing:border-box!important;
 display:flex!important;flex-direction:column!important;gap:10px!important;
 padding:15px clamp(16px,2vw,27px)!important;
 margin:0 0 12px!important;
 background:linear-gradient(105deg,rgba(8,34,45,.98),rgba(28,59,64,.98))!important;
 border:1px solid #6a9a8f!important;
 border-left:4px solid #e6b66b!important;
 color:#f8e2ae!important;
 box-shadow:0 8px 28px rgba(0,0,0,.38)!important;
}
#resultMount .wild-fx-progress-text{
 font:900 clamp(10px,1.2vw,13px)/1.5 var(--rift-text,Inter,system-ui,sans-serif)!important;
 letter-spacing:.025em!important;
 color:#f7e3b4!important;
 overflow-wrap:break-word!important;
}
#resultMount .wild-fx-progress-track{
 width:100%!important;
 height:6px!important;
 background:#284a52!important;
 border:1px solid #3c6670!important;
 overflow:hidden!important;
}
#resultMount .wild-fx-progress-bar{
 width:0;height:100%!important;
 background:linear-gradient(90deg,#c68b41,#ffe2a2,#f3b96c)!important;
 box-shadow:0 0 14px rgba(255,215,143,.5)!important;
 transition:width .62s cubic-bezier(.2,.7,.2,1)!important;
}
/* Un jugador se ilumina cuando SU cambio llega al tablero; no se
   sacuden los diez al mismo tiempo. */
#resultMount .team .player.wild-fx-hit{
 animation:wildFxIndividualLand .88s cubic-bezier(.18,.8,.25,1) both!important;
 position:relative!important;
 z-index:3!important;
}
@keyframes wildFxIndividualLand{
 0%{filter:brightness(2.2) saturate(1.45);box-shadow:inset 0 0 0 3px #f9ce7e,0 0 34px #ffd6858c;transform:scale(1.025)}
 45%{filter:brightness(1.45);box-shadow:inset 0 0 0 2px #ffcf75,0 0 20px #f5c77755;transform:scale(.997)}
 100%{filter:brightness(1);box-shadow:none;transform:none}
}
/* El cartel del poder aparece al principio, pero NO tapa el draft durante
   los 4–8 segundos que tardan en moverse las fichas. */
#resultMount .wild-draft-effect{
 animation:wildEffectSplash 1.75s cubic-bezier(.14,.68,.28,1) both!important;
}
#resultMount[data-wild-fx="total"] .wild-draft-effect{
 animation:wildEffectSplash 1.95s ease both,wildTotalShake .21s linear 7!important;
}
#resultMount[data-wild-fx="reflejados"] .wild-draft-effect::before{
 animation:wildMirrorSweep 1.7s ease-in-out both!important;
}
#resultMount[data-wild-fx="identidad"] .wild-draft-effect{
 animation:wildEffectSplash 1.8s ease both,wildIdentityPrism .5s ease 3!important;
}
#resultMount[data-wild-fx="negociacion"] .wild-draft-effect{
 animation:wildEffectSplash 1.8s ease both,wildHostileStrike .31s ease-in-out 4!important;
}
/* Animaciones escalonadas en celulares, sin tapar las selecciones. */
@media(max-width:1100px){
 #resultMount .wild-draft-dock{
  grid-template-columns:minmax(0,1fr) minmax(150px,.75fr)!important;
 }
}
@media(max-width:650px){
 #resultMount .wild-draft-dock{
  grid-template-columns:minmax(0,1fr)!important;
 }
 #resultMount .wild-draft-brief p{
  font-size:11px!important;line-height:1.6!important;
 }
 #resultMount .wild-fx-progress{position:relative!important;top:auto!important}
 #resultMount .wild-fx-progress-text{font-size:10px!important}
 .wild-deck-info .wild-card-clear-rule{padding:12px 13px!important}
 .wild-deck-info .wild-card-clear-rule p{font-size:11px!important}
}
@media(prefers-reduced-motion:reduce){
 #resultMount .team .player.wild-fx-hit{animation:none!important}
 #resultMount .wild-fx-progress-bar{transition:none!important}
}


/* ======================================================================
 V56 — ANTI SPOILER: SORTEO DE EQUIPOS Y TRANSFORMACIONES DEL DRAFT
 La identidad completa sólo se muestra en la etapa PLAYER. La
 transformación de cartas mantiene el resultado previo hasta aterrizar.
 ====================================================================== */

/* Fase 0 — antes de revelar cualquier posición: ningún nombre, Discord,
   Riot ID, avatar, rol, campeón ni ficha profesional puede filtrarse.
   Se ocultan los contenedores completos, no sólo el texto .name. */
#resultCurtain.role-reveal-preparing #resultMount .team .player.role-reveal-hidden > .avatar,
#resultCurtain.role-reveal-preparing #resultMount .team .player.role-reveal-hidden > .details,
#resultCurtain.role-reveal-preparing #resultMount .team .player.role-reveal-hidden > .pro-player,
#resultCurtain.role-reveal-preparing #resultMount .team .player:not(.role-reveal-player) .identity-inline,
#resultCurtain.role-reveal-preparing #resultMount .team .player:not(.role-reveal-player) .platform-id,
#resultCurtain.role-reveal-preparing #resultMount .team .player:not(.role-reveal-player) .name,
#resultCurtain.role-reveal-preparing #resultMount .team .player:not(.role-reveal-player) .pro-player{
 visibility:hidden!important;
 opacity:0!important;
}
/* Fase 1 — el campeón y su rol aparecen, pero aún NO el jugador.
   Proteger todo detalle salvo ROLE y CHAMP, incluso si cambia el HTML. */
#resultCurtain.role-reveal-preparing #resultMount .team .player.role-reveal-champ .details > :not(.role):not(.champ),
#resultCurtain.role-reveal-preparing #resultMount .team .player.role-reveal-champ .identity-inline,
#resultCurtain.role-reveal-preparing #resultMount .team .player.role-reveal-champ .pro-player,
#resultCurtain.role-reveal-preparing #resultMount .team .player.role-reveal-champ .name{
 visibility:hidden!important;
 opacity:0!important;
}
/* La clase del montaje está puesta ANTES de abrir el modal: ningún frame
   intermedio puede revelar los nombres mientras arranca la animación. */
#resultCurtain.role-reveal-preparing #resultMount .team .player:not(.role-reveal-player) .identity-inline *{
 visibility:hidden!important;
}
#resultCurtain.role-reveal-preparing #resultMount .team .player.role-reveal-hidden .details *{
 visibility:hidden!important;
}

/* Transformaciones — el borrador anterior es el único visible.
   Al despegar, se despeja la fila original; el retrato/ficha animado
   viaja por encima. La fila nueva sólo llega al final del viaje. */
#resultMount .teams.wild-fx-locked .player.wild-fx-departing > .avatar,
#resultMount .teams.wild-fx-locked .player.wild-fx-departing > .details,
#resultMount .teams.wild-fx-locked .player.wild-fx-departing > .pro-player{
 visibility:hidden!important;
 opacity:0!important;
}
/* No permitir capturas accidentales mientras una carta sigue cambiando
   fichas. El botón se habilita nuevamente al terminar o cerrar. */
#copy:disabled{opacity:.48!important;cursor:not-allowed!important}
/* Las filas nuevas nunca pasan por el estado visible "arriving"; se
   insertan únicamente al finalizar su movimiento individual. */
#resultMount .team .player.wild-fx-hit{
 visibility:visible!important;
 opacity:1!important;
}


/* ==================================================================
 V57 — Cartas originales HD (1086x1448), sin atlas reducido.
 Cada carta es un WebP de calidad 95 y conserva sus textos originales.
 ================================================================== */
.wild-deck-picture{
 aspect-ratio:1086/1448!important;
 overflow:visible!important;
}
.wild-deck-picture > img.wild-deck-art{
 display:block!important;
 box-sizing:border-box!important;
 position:absolute!important;
 inset:0!important;
 width:100%!important;
 height:100%!important;
 max-width:100%!important;
 max-height:100%!important;
 padding:0!important;
 margin:0!important;
 object-fit:contain!important;
 object-position:center center!important;
 background-image:none!important;
 background-color:#0b2636!important;
 background-size:auto!important;
 filter:none;
 image-rendering:auto!important;
 border:1px solid rgba(154,223,203,.7)!important;
}
/* Twitch: la decisión empieza por un objetivo enemigo a robar.
   Se distingue del selector genérico de jugadores. */
#resultMount .team .player.wild-draft-selectable[data-wild-card="robar"]{
 outline:1px solid rgba(240,186,95,.65)!important;
}
#resultMount .team .player.wild-draft-selectable[data-wild-card="robar"]::after{
 content:"ROBAR +"!important;
 border-color:#e7b970!important;
 background:#5f442bdc!important;
 color:#ffe2ab!important;
}
#resultMount .team .player.wild-draft-picked[data-wild-card="robar"]{
 outline:2px solid #f9d38c!important;
 box-shadow:inset 0 0 0 2px #f3c77e,0 0 26px rgba(252,202,115,.4)!important;
}
#resultMount .team .player.wild-draft-picked[data-wild-card="robar"]::after{
 content:"✓ OBJETIVO"!important;
 color:#112c39!important;
 background:#f4c879!important;
}
@media(max-width:650px){
 #resultMount .team .player.wild-draft-selectable[data-wild-card="robar"]::after{
  content:"⇄"!important;
 }
 #resultMount .team .player.wild-draft-picked[data-wild-card="robar"]::after{
  content:"✓"!important;
 }
}


/* V58 — cuando se intercambian POSICIONES se mueve la identidad
   (nombre, Discord y Riot ID), nunca el retrato del campeón. */
.wild-fx-ghost-identity{
 display:flex!important;
 flex-direction:column!important;
 justify-content:center!important;
 align-items:flex-start!important;
 gap:3px!important;
 padding:7px 12px!important;
 box-sizing:border-box!important;
 overflow:visible!important;
 color:#effff9!important;
 background:linear-gradient(100deg,rgba(24,57,66,.97),rgba(11,36,49,.97))!important;
 border:1px solid #9fe3d6!important;
 border-left:4px solid #f7cc8d!important;
 box-shadow:0 0 22px rgba(135,234,216,.34),0 13px 26px rgba(0,0,0,.45)!important;
 border-radius:2px!important;
}
.wild-fx-ghost-identity .name{
 display:block!important;
 font:900 clamp(13px,1.4vw,17px)/1.15 var(--rift-text,Inter,sans-serif)!important;
 color:#ffffff!important;
 text-shadow:0 0 8px rgba(133,238,214,.18)!important;
}
.wild-fx-ghost-identity .identity-inline{
 display:flex!important;
 max-width:100%!important;
 gap:7px!important;
 color:#b9dfda!important;
 font:700 10px/1.25 var(--rift-text,Inter,sans-serif)!important;
}
.wild-fx-ghost-identity .role,
.wild-fx-ghost-identity .champ,
.wild-fx-ghost-identity .avatar{display:none!important}
/* No se oculta el campeón de su casilla. Sólo desaparece la identidad
   antigua mientras se desplaza hacia la posición nueva. */
#resultMount .teams.wild-fx-locked .player.wild-fx-departing-identity .name,
#resultMount .teams.wild-fx-locked .player.wild-fx-departing-identity .identity-inline,
#resultMount .teams.wild-fx-locked .player.wild-fx-departing-identity .pro-player{
 visibility:hidden!important;
 opacity:0!important;
}
#resultMount .teams.wild-fx-locked .player.wild-fx-departing-identity .avatar,
#resultMount .teams.wild-fx-locked .player.wild-fx-departing-identity .role,
#resultMount .teams.wild-fx-locked .player.wild-fx-departing-identity .champ{
 visibility:visible!important;
 opacity:1!important;
}
@media(max-width:650px){
 .wild-fx-ghost-identity{padding:5px 7px!important}
 .wild-fx-ghost-identity .name{font-size:13px!important}
 .wild-fx-ghost-identity .identity-inline{font-size:9px!important}
}


/* V59 · SELECTOR DE CARTA DE PRUEBA. No afecta sorteos normales. */
.settings-dialog .wild-test-card-settings{
  box-sizing:border-box!important;
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  margin-top:14px!important;
  padding:15px!important;
  border:1px solid #7d795e!important;
  border-left:3px solid #e3b972!important;
  background:linear-gradient(125deg,rgba(76,65,44,.24),rgba(19,47,55,.55))!important;
  min-width:0!important;
}
.settings-dialog .wild-test-card-settings label{
  color:#e9c996!important;
  font:900 11px/1.4 var(--rift-text,Inter,system-ui,sans-serif)!important;
  letter-spacing:.06em!important;
}
.settings-dialog .wild-test-card-settings label span{
  color:#afcbd0!important;
  font-weight:700!important;
}
.settings-dialog .wild-test-card-settings select{
  box-sizing:border-box!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-height:43px!important;
  padding:11px 36px 11px 13px!important;
  border:1px solid #9eab9e!important;
  border-radius:0!important;
  background:#102f3d!important;
  color:#f4fff8!important;
  font:800 11px/1.4 var(--rift-text,Inter,system-ui,sans-serif)!important;
  cursor:pointer!important;
}
.settings-dialog .wild-test-card-settings select:focus-visible{
  outline:2px solid #f8d79b!important;
  outline-offset:2px!important;
}
.settings-dialog .wild-test-card-settings #wildTestHint{
  margin:0!important;
  color:#c5d8cf!important;
  font:700 11px/1.5 var(--rift-text,Inter,system-ui,sans-serif)!important;
}


/* =======================================================================
   V60 — MEL · CRUCE DE CAMPEONES ENTRE EQUIPOS
   Cada par de retratos vuela en sentidos opuestos y los nombres, Discord,
   Riot ID, equipo y rol permanecen completamente visibles en sus casillas.
   ======================================================================= */
/* Al despegar una carta, se ocultan SOLO el retrato anterior y el nombre
   del campeón. Nunca la identidad del jugador ni su posición asignada. */
#resultMount[data-wild-fx="reflejados"] .team .player.wild-fx-departing-avatar > img.avatar,
#resultMount[data-wild-fx="reflejados"] .team .player.wild-fx-departing-avatar .details > .champ{
 visibility:hidden!important;
 opacity:0!important;
}
/* Las identidades de los jugadores son anclas visuales inmóviles. */
#resultMount[data-wild-fx="reflejados"] .team .player .details > .name,
#resultMount[data-wild-fx="reflejados"] .team .player .details > .role,
#resultMount[data-wild-fx="reflejados"] .team .player .details > .identity-inline{
 visibility:visible!important;
 opacity:1!important;
 transition:none!important;
 transform:none!important;
}
/* El aterrizaje destaca únicamente el retrato del campeón recién recibido.
   No escala ni mueve el nombre, Discord, Riot ID o toda la fila. */
#resultMount[data-wild-fx="reflejados"] .team .player.wild-fx-hit-avatar > img.avatar{
 animation:wildMelChampionLanding 1.05s cubic-bezier(.19,.77,.23,1) both!important;
 border:2px solid #f9d28b!important;
}
#resultMount[data-wild-fx="reflejados"] .team .player.wild-fx-hit-avatar .details > .champ{
 animation:wildMelChampionText .8s ease-out both!important;
}
@keyframes wildMelChampionLanding{
 0%{filter:brightness(2) saturate(1.5);box-shadow:0 0 36px #ffe3a9cc;transform:scale(1.23)}
 52%{filter:brightness(1.3);box-shadow:0 0 18px #ffe3a982;transform:scale(.97)}
 100%{filter:brightness(1);box-shadow:none;transform:none}
}
@keyframes wildMelChampionText{
 0%{opacity:0;filter:brightness(1.8)}
 100%{opacity:1;filter:brightness(1)}
}
@media(prefers-reduced-motion:reduce){
 #resultMount[data-wild-fx="reflejados"] .team .player.wild-fx-hit-avatar > img.avatar,
 #resultMount[data-wild-fx="reflejados"] .team .player.wild-fx-hit-avatar .details > .champ{
  animation:none!important;transform:none!important;
 }
}
