/* ════════════════════════════════════════════════════════════════════════
   motion.css — каталог движения (Этап R2). См. DESIGN_SYSTEM.md §4.
   НОВЫЕ keyframes/утилиты (существующие в style.css не дублируем).
   Аддитивно. Откат: убрать <link>.
   ════════════════════════════════════════════════════════════════════════ */

/* ── Keyframes ───────────────────────────────────────────────── */
@keyframes sheenSweep {
  from { transform: translateX(0) rotate(8deg); opacity: 0; }
  20%  { opacity: 1; }
  to   { transform: translateX(420%) rotate(8deg); opacity: 0; }
}
@keyframes glowPulse {
  0%, 100% { box-shadow: var(--shadow-md), var(--glow-accent-ring), 0 0 14px rgba(124,154,255,0.40); }
  50%      { box-shadow: var(--shadow-md), var(--glow-accent-ring), 0 0 30px rgba(124,154,255,0.70); }
}
@keyframes mFadeUp {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes mScaleIn {
  from { opacity: 0; transform: scale(0.96); }
  to   { opacity: 1; transform: scale(1); }
}

/* ── Утилиты анимации ────────────────────────────────────────── */
.anim-fade-up  { animation: mFadeUp var(--dur-2) var(--ease-spring) both; }
.anim-scale-in { animation: mScaleIn var(--dur-2) var(--ease-spring) both; }
.anim-glow-pulse { animation: glowPulse 1.8s var(--ease-out) infinite; }

/* Нажатие — отклик на :active для интерактивных стеклянных элементов */
.glass-interactive:active,
.press-on-tap:active { transform: scale(0.98); }

/* ── Уважение к prefers-reduced-motion (расширенный глобальный guard) ── */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
}
