/* Core Animations */
@keyframes float {
  0% { transform: translateY(0px) translateX(0px); }
  33% { transform: translateY(-10px) translateX(5px); }
  66% { transform: translateY(5px) translateX(-5px); }
  100% { transform: translateY(0px) translateX(0px); }
}

@keyframes pulse-glow {
  0% { box-shadow: 0 0 20px rgba(56, 189, 248, 0.1); }
  50% { box-shadow: 0 0 40px rgba(56, 189, 248, 0.3); }
  100% { box-shadow: 0 0 20px rgba(56, 189, 248, 0.1); }
}

@keyframes bubbleRise {
  0% {
    transform: translateY(100vh) scale(0);
    opacity: 0;
  }
  20% {
    opacity: 0.5;
  }
  80% {
    opacity: 0.5;
  }
  100% {
    transform: translateY(-10vh) scale(1.5);
    opacity: 0;
  }
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

/* Animation Classes */
.animate-float {
  animation: float 6s ease-in-out infinite;
}

.animate-glow {
  animation: pulse-glow 4s ease-in-out infinite;
}

/* Background Bubbles */
.bubbles-container {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  overflow: hidden;
}

.bubble {
  position: absolute;
  bottom: -20px;
  background: radial-gradient(circle at 30% 30%, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.01));
  border: 1px solid rgba(255, 255, 255, 0.05);
  border-radius: 50%;
  animation: bubbleRise 15s infinite ease-in;
}

.bubble:nth-child(1) { width: 40px; height: 40px; left: 10%; animation-duration: 12s; animation-delay: 0s; }
.bubble:nth-child(2) { width: 20px; height: 20px; left: 25%; animation-duration: 18s; animation-delay: 2s; }
.bubble:nth-child(3) { width: 50px; height: 50px; left: 45%; animation-duration: 14s; animation-delay: 5s; }
.bubble:nth-child(4) { width: 30px; height: 30px; left: 65%; animation-duration: 16s; animation-delay: 1s; }
.bubble:nth-child(5) { width: 60px; height: 60px; left: 85%; animation-duration: 20s; animation-delay: 4s; }

/* Entrance Animations */
.fade-in {
  opacity: 0;
  animation: fadeIn 1s ease-out forwards;
}

.fade-in-up {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 1s ease-out forwards;
}

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

@keyframes fadeIn {
  to { opacity: 1; }
}

@keyframes fadeInUp {
  to { 
    opacity: 1; 
    transform: translateY(0); 
  }
}