/* ==========================================================================
   Animations & Transitions
   ========================================================================== */

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

@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 15px -3px rgba(37, 99, 235, 0.3);
  }
  50% {
    box-shadow: 0 0 30px 2px rgba(37, 99, 235, 0.6);
  }
}

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

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

/* Utility Animation Classes */
.anim-fade-in {
  animation: fadeIn 0.25s ease-out forwards;
}

.anim-pulse-glow {
  animation: pulseGlow 3s infinite ease-in-out;
}

.anim-spin-slow {
  animation: spinSlow 20s linear infinite;
}

.anim-bounce-subtle {
  animation: bounceSubtle 2s infinite ease-in-out;
}

.transition-smooth {
  transition: all var(--transition-normal);
}
