/* Animations & Keyframes extracted from styles.css */

/*====================
  Keyframes
====================*/
@keyframes reel-spin {
  0%   { transform: translateY(0) rotateX(8deg); }
  100% { transform: translateY(-50%) rotateX(8deg); }
}

@keyframes reel-stop {
  0%   { transform: translateY(calc(var(--stop-y) + 6%)) rotateX(10deg); filter: blur(1px); }
  85%  { transform: translateY(calc(var(--stop-y) + 1%)) rotateX(2deg); }
  100% { transform: translateY(var(--stop-y)) rotateX(0deg); filter: none; }
}

@keyframes win-flash {
  0%   { border-color: rgba(130,255,158,0.0); box-shadow: 0 0 0 2px rgba(130,255,158,0.0), 0 0 0 rgba(130,255,158,0); }
  100% { border-color: var(--win); box-shadow: 0 0 0 2px var(--win), 0 0 28px rgba(130,255,158,0.75); }
}

@keyframes confetti-fall {
  0% {
    opacity: 1;
    transform: translateX(calc(var(--tx, 0px) * 0)) translateY(0) rotate(var(--rot-start, 0deg)) scaleX(var(--sx, 1));
  }
  10% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateX(calc(var(--tx, 60px) * 1)) translateY(var(--ty, 120vh)) rotate(var(--rot-end, 720deg)) scaleX(var(--sx, 1));
  }
}


@keyframes confetti-rot {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(720deg); }
}

@keyframes lose-shake {
  0%   { transform: translateX(0); }
  20%  { transform: translateX(-2px); }
  40%  { transform: translateX(2px); }
  60%  { transform: translateX(-1px); }
  80%  { transform: translateX(1px); }
  100% { transform: translateX(0); }
}

@keyframes attention-bounce {
  0%   { transform: translateY(0) scale(1); }
  40%  { transform: translateY(-6px) scale(1.02); }
  100% { transform: translateY(0) scale(1); }
}

@keyframes text-shimmer {
  0%   { filter: brightness(1); }
  50%  { filter: brightness(1.25); }
  100% { filter: brightness(1); }
}

/*====================
  Reduced Motion
====================*/
@media (prefers-reduced-motion: reduce) {
  .symbols, #spinToggle:checked ~ .reel .symbols, #spinToggle:not(:checked) ~ .reel .symbols {
    animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important;
  }
  .win-line { animation: none !important; }
  .confetti .piece { animation: none !important; opacity: 0 !important; }
}
