.tarjeta-rival { animation: fade-in-up .3s ease both; }
.tarjeta-rival-cabecera {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  width: 100%;
  border: none;
  background: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.tarjeta-rival.abierta .tarjeta-rival-cabecera {
  padding-bottom: .5rem;
  margin-bottom: .35rem;
  border-bottom: 1px solid var(--gris-200);
}
.tarjeta-rival-cabecera strong { font-size: .95rem; }
.total-rival { font-family: var(--fuente-display); font-weight: 700; font-size: 1.05rem; color: var(--verde); }
.chevron-rival {
  color: var(--gris-700);
  font-size: .8rem;
  transition: transform .2s ease;
  flex-shrink: 0;
}
.tarjeta-rival.abierta .chevron-rival { transform: rotate(180deg); }
.fila-pick-rival {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  padding: .3rem 0;
  font-size: .82rem;
}
.fila-pick-rival .muted:first-child { flex: 1; min-width: 0; overflow-wrap: break-word; }
.pts-conseguidos { font-weight: 700; color: var(--verde); white-space: nowrap; }
.ya-rellenado { color: var(--verde); font-weight: 600; white-space: nowrap; }
.extra-pick-rival { flex: 1 0 100%; font-size: .78rem; }

/* Marcador tipo scoreboard: al revelarse el resultado de un rival (o
   recalcularse), la fila "voltea" en el eje X como una ficha de marcador
   de estadio, en vez de reaparecer de golpe con un simple flash. */
.fila-pick-rival.recien-revelado {
  transform-origin: top center;
  animation: marcador-flip .5s cubic-bezier(.25, .6, .3, 1) both;
}
@keyframes marcador-flip {
  0% { transform: perspective(400px) rotateX(-90deg); opacity: 0; }
  60% { transform: perspective(400px) rotateX(10deg); opacity: 1; }
  100% { transform: perspective(400px) rotateX(0deg); opacity: 1; }
}
.fila-pick-rival.pleno-revelado .pts-conseguidos {
  animation: pleno-flash 1.6s ease .3s;
}
@keyframes pleno-flash {
  0%, 100% { text-shadow: 0 0 0 transparent; }
  35% { text-shadow: 0 0 10px color-mix(in srgb, var(--verde) 70%, transparent); }
}
