/* Keyframes & Animations */

/* Soft floating animation for candy elements */
@keyframes float {
  0% { transform: translateY(0) rotate(0deg); }
  50% { transform: translateY(-20px) rotate(5deg); }
  100% { transform: translateY(0) rotate(0deg); }
}

.anim-float {
  animation: float 6s ease-in-out infinite;
}

.anim-float-delayed {
  animation: float 7s ease-in-out infinite 2s;
}

.anim-float-slow {
  animation: float 9s ease-in-out infinite 1s;
}

/* Gentle pulse glow for the main game container */
@keyframes pulseGlow {
  0% { box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 20px rgba(124, 58, 237, 0.4); }
  50% { box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 40px rgba(255, 79, 163, 0.6); }
  100% { box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 20px rgba(124, 58, 237, 0.4); }
}

.glow-pulse {
  animation: pulseGlow 4s infinite alternate;
}

/* Border gradient shimmer for game wrapper */
@keyframes shimmerBorder {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.game-wrapper::before {
  animation: shimmerBorder 5s ease infinite;
}

/* Fade in up for content load */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.fade-in {
  animation: fadeInUp 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  opacity: 0;
}

.delay-1 { animation-delay: 0.2s; }
.delay-2 { animation-delay: 0.4s; }
.delay-3 { animation-delay: 0.6s; }

/* Subtle Background Parallax effect handled via fixed attachment in style.css */