/* ==========================================================================
   LIGONEXUS — keyframes
   ========================================================================== */

@keyframes float-slow {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(-14px, -22px); }
}

@keyframes float-slower {
  0%, 100% { transform: translate(0, 0); }
  50% { transform: translate(18px, 16px); }
}

@keyframes spin-slow {
  to { transform: rotate(360deg); }
}

@keyframes pulse-ring {
  0% { transform: scale(0.6); opacity: 0.9; }
  100% { transform: scale(2.6); opacity: 0; }
}

@keyframes gradient-pan {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

@keyframes fade-up {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes blink-caret {
  0%, 100% { opacity: 1; }
  50% { opacity: 0; }
}

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

.gradient-text {
  background: var(--signal-gradient);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  animation: gradient-pan 8s ease-in-out infinite;
}

.float-a { animation: float-slow 9s ease-in-out infinite; }
.float-b { animation: float-slower 11s ease-in-out infinite; }
.spin-slow { animation: spin-slow 40s linear infinite; }
