/* ==========================================================================
   AETHER AI — ANIMATIONS STYLESHEET
   ========================================================================== */

/* Pulse Status Dot */
@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(16, 185, 129, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(16, 185, 129, 0);
  }
}

/* Floating Elements */
@keyframes floatSlow {
  0%, 100% {
    transform: translateY(0px) rotate(0deg);
  }
  50% {
    transform: translateY(-12px) rotate(1deg);
  }
}

@keyframes floatMedium {
  0%, 100% {
    transform: translateY(0px) scale(1);
  }
  50% {
    transform: translateY(-8px) scale(1.02);
  }
}

/* Orbit Rotation */
@keyframes orbitSpin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

/* Gradient Shift Flow */
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

/* Hologram Scanline Effect */
@keyframes scanlineAnim {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(100%);
  }
}

.scanline-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    transparent 50%,
    rgba(0, 240, 255, 0.04) 51%,
    transparent 51%
  );
  background-size: 100% 8px;
  pointer-events: none;
  z-index: 4;
}

/* Directional Horizontal Motion Classes for ScrollTrigger */
.scroll-move-left-right {
  will-change: transform, opacity;
  transition: transform 0.1s linear, opacity 0.3s ease;
}

.scroll-move-right-left {
  will-change: transform, opacity;
  transition: transform 0.1s linear, opacity 0.3s ease;
}

/* Fade in & Reveal Classes */
.reveal-up {
  opacity: 0;
  transform: translateY(40px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-up.active {
  opacity: 1;
  transform: translateY(0);
}

.reveal-left {
  opacity: 0;
  transform: translateX(-50px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-left.active {
  opacity: 1;
  transform: translateX(0);
}

.reveal-right {
  opacity: 0;
  transform: translateX(50px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal-right.active {
  opacity: 1;
  transform: translateX(0);
}

/* Magnetic Button Hover Physics Helper */
.btn-magnetic {
  display: inline-block;
  will-change: transform;
}

/* Smooth Image Scale on Hover */
.zoom-hover {
  overflow: hidden;
}

.zoom-hover img {
  transition: transform 0.5s ease;
}

.zoom-hover:hover img {
  transform: scale(1.08);
}
