// Scroll reveal
@keyframes scroll-reveal {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

// Fade in up
@keyframes fade-in-up {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

// Gradient shine
@keyframes gradient-shine {
  0% { background-position: 0% center; }
  50% { background-position: 100% center; }
  100% { background-position: 0% center; }
}

// Network pulse (for hero animations)
@keyframes network-pulse {
  0%, 100% { opacity: 0.4; }
  50% { opacity: 1; }
}

// Skeleton shimmer
@keyframes skeleton-shimmer {
  0% { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

// Slide in from right (toasts)
@keyframes slide-in-right {
  from {
    opacity: 0;
    transform: translateX(100%);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

// Slide out to right
@keyframes slide-out-right {
  from {
    opacity: 1;
    transform: translateX(0);
  }
  to {
    opacity: 0;
    transform: translateX(100%);
  }
}

// Stagger delays
@for $i from 1 through 12 {
  .stagger-#{$i} {
    animation-delay: #{$i * 0.08}s;
  }
}

// Utility classes
.animate-fade-in-up {
  animation: fade-in-up 0.6s ease forwards;
  opacity: 0;
}

.animate-scroll-reveal {
  animation: scroll-reveal 0.6s ease forwards;
  opacity: 0;
}
