@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes pulseGlow {
  0% {
    opacity: 0.65;
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(1.02);
  }
  100% {
    opacity: 0.65;
    transform: scale(1);
  }
}

@keyframes shine {
  from {
    background-position: -200%;
  }
  to {
    background-position: 200%;
  }
}

.animate-fade-in-up {
  animation: fadeInUp 1s ease forwards;
}

.animate-pulse-glow {
  animation: pulseGlow 3s ease-in-out infinite;
}

.animate-shine {
  background-image: linear-gradient(120deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.6) 50%, rgba(255, 255, 255, 0) 100%);
  background-size: 200% 100%;
  animation: shine 2.5s linear infinite;
}

