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

@keyframes shimmer {
  0%   { left: -100%; }
  100% { left: 100%; }
}

@keyframes pulse {
  0%, 100% { box-shadow: 0 4px 16px rgba(109, 192, 67, 0.3); }
  50%       { box-shadow: 0 4px 24px rgba(109, 192, 67, 0.5), 0 0 40px rgba(109, 192, 67, 0.15); }
}

/* CSS waveFlow — Chromium only. JS fallback in esgreen-waves.js handles Firefox/Safari */
@keyframes waveFlow {
  0%, 100% { d: path("M0 48V16C200 0 400 32 600 24C800 16 1000 40 1200 20V48Z"); }
  50%       { d: path("M0 48V20C200 8 400 36 600 20C800 4 1000 44 1200 16V48Z"); }
}

@keyframes glowPulse {
  0%, 100% { transform: scale(1);   opacity: 1; }
  50%       { transform: scale(1.2); opacity: 0.6; }
}

@keyframes floatBounce {
  0%, 100% { transform: translateY(0); }
  50%       { transform: translateY(-6px); }
}

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