/* pages/battle-royale.html — hero layers + motion (markup uses Tailwind) */

.br-hero__bg {
  position: absolute;
  inset: 0;
  z-index: -3;
  background-color: var(--color-bg-primary);
  background-image:
    linear-gradient(125deg, color-mix(in srgb, var(--color-bg-primary) 52%, transparent) 0%, transparent 48%),
    linear-gradient(305deg, color-mix(in srgb, #5eead4 14%, var(--color-bg-primary)) 0%, transparent 44%),
    url("https://images.unsplash.com/photo-1552820728-8b83bb6b773f?auto=format&fit=crop&w=1920&q=78");
  background-size: cover, cover, cover;
  background-position: center, center, center 32%;
  animation: br-hero-bg-drift 26s ease-in-out infinite alternate;
}

.br-hero__gradient {
  position: absolute;
  inset: 0;
  z-index: -2;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--color-bg-primary) 22%, transparent) 0%,
    color-mix(in srgb, var(--color-bg-primary) 58%, transparent) 42%,
    var(--color-bg-primary) 92%,
    var(--color-bg-primary) 100%
  );
}

.br-hero__mesh {
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.42;
  background:
    radial-gradient(ellipse 88% 68% at 12% 8%, color-mix(in srgb, var(--color-brand) 22%, transparent), transparent 54%),
    radial-gradient(ellipse 72% 52% at 92% 18%, color-mix(in srgb, #5eead4 14%, transparent), transparent 50%),
    linear-gradient(color-mix(in srgb, var(--color-brand) 11%, transparent) 1px, transparent 1px),
    linear-gradient(90deg, color-mix(in srgb, var(--color-brand) 7%, transparent) 1px, transparent 1px);
  background-size: 100% 100%, 100% 100%, 44px 44px, 44px 44px;
  mask-image: radial-gradient(ellipse 86% 74% at 50% 32%, black 0%, transparent 74%);
  pointer-events: none;
}

.br-hero__glow {
  position: absolute;
  border-radius: 50%;
  filter: blur(76px);
  pointer-events: none;
  opacity: 0.4;
  z-index: -1;
}

.br-hero__glow--1 {
  width: min(50vw, 23rem);
  height: min(50vw, 23rem);
  top: -10%;
  right: -4%;
  background: radial-gradient(circle, color-mix(in srgb, #5eead4 85%, var(--color-brand-glow)), transparent 68%);
  animation: br-hero-glow-pulse 11s ease-in-out infinite;
}

.br-hero__glow--2 {
  width: min(38vw, 17rem);
  height: min(38vw, 17rem);
  bottom: 8%;
  left: -8%;
  background: radial-gradient(circle, var(--color-brand), transparent 72%);
  animation: br-hero-glow-pulse 13s ease-in-out infinite reverse;
}

.br-hero__crumb-shine {
  animation: br-hero-crumb-shine 5.5s ease-in-out infinite;
}

.br-hero__title-shimmer {
  animation: br-hero-title-shimmer 7.5s linear infinite;
}

.br-match-card {
  --br-card-accent: var(--color-brand-glow);
  --br-card-accent-soft: color-mix(in srgb, var(--color-brand-glow) 35%, transparent);
}

.br-match-card--teal {
  --br-card-accent: #7ff5e4;
  --br-card-accent-soft: color-mix(in srgb, #5eead4 38%, var(--color-brand) 40%);
}

.br-match-card__rail {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--br-card-accent) 92%, white),
    color-mix(in srgb, var(--color-brand) 70%, var(--br-card-accent))
  );
}

#br-matches .br-match-card {
  transition:
    transform 0.32s ease,
    border-color 0.32s ease,
    box-shadow 0.32s ease;
}

#br-matches .br-match-card:hover {
  transform: translateY(-5px);
  border-color: color-mix(in srgb, var(--color-brand-glow) 42%, transparent);
  box-shadow:
    0 22px 56px rgba(0, 0, 0, 0.42),
    0 0 36px color-mix(in srgb, var(--color-brand) 12%, transparent);
}

@keyframes br-hero-bg-drift {
  0% {
    transform: scale(1.04) translate3d(0, 0, 0);
  }
  100% {
    transform: scale(1.11) translate3d(-1.1%, 0.9%, 0);
  }
}

@keyframes br-hero-glow-pulse {
  0%,
  100% {
    opacity: 0.34;
    transform: scale(1);
  }
  50% {
    opacity: 0.5;
    transform: scale(1.07);
  }
}

@keyframes br-hero-title-shimmer {
  0% {
    background-position: 0% center;
  }
  100% {
    background-position: 200% center;
  }
}

@keyframes br-hero-crumb-shine {
  0%,
  100% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .br-hero__bg,
  .br-hero__glow--1,
  .br-hero__glow--2,
  .br-hero__title-shimmer,
  .br-hero__crumb-shine {
    animation: none !important;
  }

  .br-hero__title-shimmer {
    background-position: center;
  }

  #br-matches .br-match-card:hover {
    transform: none;
  }
}
