/* Dynamic Moving Background & Floating Animations */

@keyframes floatOrb1 {
  0% {
    transform: translate(0px, 0px) scale(1);
  }
  50% {
    transform: translate(60px, 40px) scale(1.15);
  }
  100% {
    transform: translate(-40px, 20px) scale(0.95);
  }
}

@keyframes floatOrb2 {
  0% {
    transform: translate(0px, 0px) scale(1);
  }
  50% {
    transform: translate(40px, -50px) scale(1.1);
  }
  100% {
    transform: translate(-30px, 30px) scale(0.9);
  }
}

@keyframes floatOrb3 {
  0% {
    transform: translate(0px, 0px) scale(1);
  }
  50% {
    transform: translate(-50px, -40px) scale(1.2);
  }
  100% {
    transform: translate(30px, 20px) scale(1);
  }
}

@keyframes driftStars {
  0% {
    transform: translateY(0) rotate(0deg);
  }
  50% {
    transform: translateY(-25px) rotate(1deg);
  }
  100% {
    transform: translateY(0) rotate(0deg);
  }
}

@keyframes floatMascot {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-12px) scale(1.02);
  }
}

@keyframes pulseGlow {
  0%, 100% {
    filter: drop-shadow(0 0 15px rgba(255, 51, 102, 0.25)) drop-shadow(0 0 30px rgba(255, 201, 60, 0.15));
  }
  50% {
    filter: drop-shadow(0 0 25px rgba(255, 51, 102, 0.45)) drop-shadow(0 0 45px rgba(255, 201, 60, 0.3));
  }
}

@keyframes slideToast {
  from {
    opacity: 0;
    transform: translateX(40px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.slot-logo {
  animation: pulseGlow 4s ease-in-out infinite;
}

/* Skeleton Loading */
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}

.skeleton {
  background: linear-gradient(90deg, #1c1438 25%, #2d2158 50%, #1c1438 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: var(--radius-md);
}
