/* Ambient arena motion; gameplay state classes drive the faster effects. */
.game::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  pointer-events: none;
  opacity: 1;
  background:
    radial-gradient(ellipse at 20% 32%, #ff8b2430, transparent 36%),
    radial-gradient(ellipse at 81% 40%, #ffb23624, transparent 38%),
    linear-gradient(180deg, #03070b45, #03070b99);
  animation: arena-light-shift 9s ease-in-out infinite alternate;
}

.backdropFx {
  display: block;
  z-index: 2;
  opacity: .68;
}

.slotMachine {
  position: relative;
  z-index: 3;
}

.slotStage .reelFrame::before {
  animation: cabinet-breathe 3.8s ease-in-out infinite;
}

.slotStage .reelFrame.spinning::before {
  animation-duration: .75s;
}

.slotStage .reels::before {
  background-size: 100% 180%;
  animation: reel-glass-sweep 5.5s ease-in-out infinite;
}

.slotStage .reels.is-spinning::before {
  animation-duration: .7s;
}

.controlDeck::before {
  animation: deck-lights 4.5s ease-in-out infinite;
}

.spinBtn:not(:disabled) {
  animation: spin-button-beacon 2.6s ease-in-out infinite;
}

.spinBtn:active:not(:disabled) {
  animation-play-state: paused;
}

@keyframes arena-light-shift {
  0% { opacity: .72; filter: brightness(.88) saturate(.94); }
  100% { opacity: 1; filter: brightness(1.08) saturate(1.08); }
}

@keyframes cabinet-breathe {
  0%, 100% { filter: drop-shadow(0 0 0 #ff762e00); }
  50% { filter: drop-shadow(0 0 16px #ff762e70) brightness(1.05); }
}

@keyframes reel-glass-sweep {
  0%, 100% { background-position: center 0; }
  50% { background-position: center 100%; }
}

@keyframes deck-lights {
  0%, 100% { filter: brightness(.96) saturate(.96); }
  50% { filter: brightness(1.12) saturate(1.14); }
}

@keyframes spin-button-beacon {
  0%, 100% { filter: brightness(1); }
  50% { filter: brightness(1.16) drop-shadow(0 0 10px #ff9b2a99); }
}

@media (prefers-reduced-motion: reduce) {
  .game::before,
  .backdropFx,
  .slotStage .reelFrame::before,
  .slotStage .reels::before,
  .controlDeck::before,
  .spinBtn:not(:disabled) {
    animation: none;
  }

  .backdropFx { display: none; }
}
