/* === KEYFRAME ANIMATIONS === */

@keyframes ring-pulse {
  0%, 100% {
    box-shadow: 
      0 0 20px rgba(123, 209, 250, 0.1),
      inset 0 0 20px rgba(123, 209, 250, 0.03);
  }
  50% {
    box-shadow: 
      0 0 35px rgba(123, 209, 250, 0.2),
      inset 0 0 35px rgba(123, 209, 250, 0.06);
  }
}

@keyframes ring-rotate {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes btn-breathe {
  0%, 100% { opacity: 0.5; }
  50% { opacity: 1; }
}

@keyframes float {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

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

@keyframes fadeInBubble {
  from { opacity: 0; transform: scale(0.8); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes fadeOut {
  from { opacity: 1; }
  to { opacity: 0; }
}

@keyframes scaleIn {
  from { opacity: 0; transform: scale(0.9); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes glowPulse {
  0%, 100% {
    filter: drop-shadow(0 0 15px rgba(123, 209, 250, 0.2));
  }
  50% {
    filter: drop-shadow(0 0 25px rgba(123, 209, 250, 0.4));
  }
}

@keyframes particle-float {
  0% {
    transform: translate(0, 0) scale(1);
    opacity: 1;
  }
  100% {
    transform: translate(var(--tx), var(--ty)) scale(0);
    opacity: 0;
  }
}
