/* Animation classes for fade in/out effects */
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeOut {
  from { opacity: 1; transform: translateY(0); }
  to { opacity: 0; transform: translateY(10px); }
}

.animate-fade-in {
  animation: fadeIn 0.3s ease-in-out forwards;
}

.animate-fade-out {
  animation: fadeOut 0.3s ease-in-out forwards;
}

/* Prize winners modal */
@keyframes prize-name-pulse {
  0%, 100% { transform: scale(0.82); }
  50% { transform: scale(1.12); }
}

@keyframes prize-winner-glow {
  0%, 100% {
    text-shadow:
      0 0 8px rgba(250, 204, 21, 0.55),
      0 0 18px rgba(250, 204, 21, 0.35),
      0 0 28px rgba(251, 191, 36, 0.25);
  }
  50% {
    text-shadow:
      0 0 14px rgba(250, 204, 21, 0.95),
      0 0 28px rgba(250, 204, 21, 0.7),
      0 0 48px rgba(253, 224, 71, 0.55),
      0 0 70px rgba(234, 179, 8, 0.35);
  }
}

@keyframes prize-crown-float {
  0%, 100% { transform: translateY(0) rotate(-12deg) scale(1); }
  50% { transform: translateY(-10px) rotate(12deg) scale(1.1); }
}

@keyframes prize-modal-in {
  from { opacity: 0; transform: scale(0.92) translateY(12px); }
  to { opacity: 1; transform: scale(1) translateY(0); }
}

.prize-modal-panel {
  animation: prize-modal-in 0.45s ease-out forwards;
}

.prize-name-pulse {
  display: inline-block;
  animation: prize-name-pulse 1.8s ease-in-out infinite;
  transform-origin: center;
}

.prize-name-pulse-delay-1 {
  animation-delay: 0.25s;
}

.prize-name-pulse-delay-2 {
  animation-delay: 0.5s;
}

.prize-winner-glow {
  animation: prize-winner-glow 1.8s ease-in-out infinite;
}

.prize-crown {
  display: inline-block;
  animation: prize-crown-float 1.6s ease-in-out infinite;
  color: #fbbf24;
}

.prize-crown-delay-1 { animation-delay: 0.2s; }
.prize-crown-delay-2 { animation-delay: 0.4s; }
