/**
 * @file
 * "En vivo" badge on the sidebar Ranking nav item (S6-T4).
 *
 * Hidden by default: Alpine's x-show toggles `display: none` once
 * initialized, and [x-cloak] (see global.css) covers the brief window
 * before Alpine attaches, so the badge never flashes visible nor runs
 * its pulse animation while there are no live matches.
 *
 * The pulse gives a soft "heartbeat" feel. prefers-reduced-motion
 * users get a static badge instead of the animation.
 */
.live-badge {
  display: inline-block;
  margin-inline-start: var(--space-sm);
  padding: 0.05em 0.55em;
  border-radius: 999px;
  background-color: var(--color-danger);
  /* White text on a saturated danger-red badge stays legible in both
     modes (S15-T1 audit) — left as a literal on purpose, like the
     Google-brand block in global.css. */
  color: #ffffff;
  font-size: 0.65em;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  vertical-align: middle;
  animation: pool-live-badge-pulse 1.6s ease-in-out infinite;
}

@keyframes pool-live-badge-pulse {
  0%,
  100% {
    opacity: 1;
  }
  50% {
    opacity: 0.55;
  }
}

@media (prefers-reduced-motion: reduce) {
  .live-badge {
    animation: none;
  }
}
