@keyframes pulseGlow {
    0%, 15% { text-shadow: 0 0 1px rgba(0, 255, 180, 0.1); }
    50% { text-shadow: 0 0 4px rgba(0, 255, 180, 0.2); }
}

@keyframes moveLine {
  0% { transform: translateX(-100%); }
  100% { transform: translateX(100%); }
}

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

@keyframes pop {
  0% { opacity: 0; transform: scale(0.5); }
  100% { opacity: 1; transform: scale(1); }
}
@keyframes slide {
  0% { opacity: 0; transform: translate(4em, 0); }
  100% { opacity: 1; transform: translate(0, 0); }
}
@keyframes slide-left {
  0% { opacity: 0; transform: translate(-40px, 0); }
  100% { opacity: 1; transform: translate(0, 0); }
}
@keyframes slide-up {
  0% { opacity: 0; transform: translateY(3em); }
  100% { opacity: 1; transform: translateY(0); }
}

.animate { animation-duration: 0.7s; animation-fill-mode: backwards; }
.pop { animation-name: pop; }
.slide { animation-name: slide; }
.slide-left { animation-name: slide-left; }
.slide-up { animation-name: slide-up; }

.delay-1 { animation-delay: 0.3s; }
.delay-2 { animation-delay: 0.6s; }
.delay-3 { animation-delay: 0.9s; }
