/* Токены движения Carbon Design System — значения из пакета @carbon/motion.

   Два режима: productive — для операторских интерфейсов (наш случай), короче и строже;
   expressive — для витрин и крупных переходов. Три роли кривых:
   standard — элемент остаётся на экране (смена цвета, размера),
   entrance — появляется (быстро влетает, тормозит к месту),
   exit — исчезает (разгоняется и уходит).
*/

:root {
  --cds-duration-fast-01: 70ms;      /* микро-отклики: hover, нажатие */
  --cds-duration-fast-02: 110ms;     /* появление/исчезновение мелких элементов */
  --cds-duration-moderate-01: 150ms; /* раскрытие, переключение */
  --cds-duration-moderate-02: 240ms; /* панели, диалоги, смена состояния строки */
  --cds-duration-slow-01: 400ms;     /* крупные перестроения */
  --cds-duration-slow-02: 700ms;     /* подсветка изменения, затухание */

  --cds-motion-standard-productive: cubic-bezier(0.2, 0, 0.38, 0.9);
  --cds-motion-standard-expressive: cubic-bezier(0.4, 0.14, 0.3, 1);
  --cds-motion-entrance-productive: cubic-bezier(0, 0, 0.38, 0.9);
  --cds-motion-entrance-expressive: cubic-bezier(0, 0, 0.3, 1);
  --cds-motion-exit-productive: cubic-bezier(0.2, 0, 1, 0.9);
  --cds-motion-exit-expressive: cubic-bezier(0.4, 0.14, 1, 1);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --cds-duration-fast-01: 0ms;
    --cds-duration-fast-02: 0ms;
    --cds-duration-moderate-01: 0ms;
    --cds-duration-moderate-02: 0ms;
    --cds-duration-slow-01: 0ms;
    --cds-duration-slow-02: 0ms;
  }
}
