/* motion-premium — motion tokens (v1).
   Importar uma vez, globalmente. Reutilizável: qualquer produto premium.
   Usar sempre os tokens; nunca durações/curvas soltas no componente. */
:root {
  /* Durações (teto ~420ms — premium é ágil, não lento) */
  --dur-1: 90ms;   /* feedback de toque instantâneo */
  --dur-2: 140ms;  /* micro: toggle, press de botão */
  --dur-3: 200ms;  /* fades e movimentos pequenos */
  --dur-4: 280ms;  /* cards, troca de aba/tela */
  --dur-5: 380ms;  /* sheets, hero, elementos grandes */

  /* Curvas */
  --ease-out: cubic-bezier(.22, 1, .36, 1);     /* entrada/assentar (padrão) */
  --ease-in: cubic-bezier(.32, 0, .67, 0);      /* saída (some rápido) */
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);  /* movimento / estado */
  --ease-emphasis: cubic-bezier(.2, 0, 0, 1);   /* destaque pontual */

  /* Espaço & feedback */
  --move-sm: 8px;
  --move-md: 12px;
  --press-scale: .97;
  --stagger: 50ms;
}

/* Redução de movimento — OBRIGATÓRIA.
   Zera durações/distâncias e neutraliza o press. NÃO cobre loops infinitos
   nem animações WAAPI dinâmicas — esses são tratados no código
   (ver references/reduced-motion.md). */
@media (prefers-reduced-motion: reduce) {
  :root:not(.motion-enabled) {
    --dur-1: 0ms; --dur-2: 0ms; --dur-3: 0ms; --dur-4: 0ms; --dur-5: 0ms;
    --move-sm: 0px; --move-md: 0px; --press-scale: 1; --stagger: 0ms;
  }
}
