@keyframes fade-in-soft {
  0% { opacity: 0; transform: translateY(8px); }
  100% { opacity: 1; transform: translateY(0); }
}

@keyframes rise {
  0% { transform: translateY(12px) scale(0.98); opacity: 0; }
  100% { transform: translateY(0); opacity: 1; }
}

@keyframes pulse-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.35); }
  50% { box-shadow: 0 0 0 14px rgba(59, 130, 246, 0); }
}

@keyframes shimmer {
  0% { background-position: -200% 0; }
  100% { background-position: 200% 0; }
}

.fade-in {
  animation: fade-in-soft 0.8s ease forwards;
}

.rise-in {
  animation: rise 0.9s ease forwards;
}

.pulse-glow {
  animation: pulse-glow 2.4s ease-in-out infinite;
}

.shimmer {
  background: linear-gradient(
    120deg,
    rgba(226, 232, 240, 0.08) 0%,
    rgba(59, 130, 246, 0.22) 25%,
    rgba(226, 232, 240, 0.08) 50%
  );
  background-size: 200% 100%;
  animation: shimmer 3s ease-in-out infinite;
}

