/* ==============================================
   Animations — глобальные ключевые кадры
   ============================================== */

/* Плавное появление снизу */
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Плавное появление */
@keyframes fadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}

/* Пульсация свечения */
@keyframes pulseGlow {
  0%, 100% {
    box-shadow: 0 0 20px var(--color-accent-glow),
                0 0 40px rgba(34, 197, 94, 0.15);
  }
  50% {
    box-shadow: 0 0 30px var(--color-accent-glow-strong),
                0 0 70px var(--color-accent-glow);
  }
}

/* Медленное движение орба */
@keyframes orbFloat1 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25%      { transform: translate(40px, -30px) scale(1.05); }
  50%      { transform: translate(-20px, -50px) scale(0.95); }
  75%      { transform: translate(-40px, -10px) scale(1.02); }
}

@keyframes orbFloat2 {
  0%, 100% { transform: translate(0, 0) scale(1); }
  25%      { transform: translate(-50px, 20px) scale(0.98); }
  50%      { transform: translate(30px, 40px) scale(1.05); }
  75%      { transform: translate(20px, -30px) scale(0.96); }
}

/* Вращение кольца */
@keyframes ringRotate {
  from { transform: translate(-50%, -50%) rotate(0deg); }
  to   { transform: translate(-50%, -50%) rotate(360deg); }
}

/* Появление для шапки */
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Шиммер текста */
@keyframes shimmer {
  0%   { background-position: -200% center; }
  100% { background-position: 200% center; }
}

/* Масштабирование при нажатии */
@keyframes tapBounce {
  0%   { transform: scale(1); }
  50%  { transform: scale(0.95); }
  100% { transform: scale(1); }
}

/* Частицы */
@keyframes particleDrift {
  0%   { transform: translateY(0) translateX(0); opacity: 0; }
  10%  { opacity: 1; }
  90%  { opacity: 1; }
  100% { transform: translateY(-100vh) translateX(30px); opacity: 0; }
}
