/* ============================================================
   Primitives — motion (systems/blog)
   ============================================================

   Raw durations and one easing curve. Brand-owned and swappable, like every
   other primitive here: replacing this file changes the system's tempo and
   nothing else.

   COMPONENTS MUST NOT REFERENCE THESE. They reference
   ../semantic/motion.css. The rule is the one `systems/blog/README.md`
   already states for colour: if a component reaches for a primitive because
   no role fits, the missing role is a bug in the semantic file.

   AUTHORED IN #120, AND THE GAP WAS FOUND BY A COMPONENT HITTING IT. `pill`
   (#116) wanted `base`'s 200ms colour transition and could not have it: there
   was no motion tier at all, so the only way to write it was a raw `200ms` --
   the literal `checks/literals.py` exists to reject. `pill` shipped with no
   transition and recorded the gap in its spec rather than hardcoding one.

   THE VALUES MATCH `base` DELIBERATELY. `base/foundation/primitives/motion.css`
   is 150/200/300ms on `cubic-bezier(0, 0, 0.2, 1)`, and these are the same
   numbers. Two systems are free to differ in tempo, but a DIFFERENCE SHOULD BE
   A DECISION: nothing about a content site argues for a different easing curve
   than an admin console, and inventing one to look independent would be a
   difference nobody chose. If the blog ever wants its own tempo, this is the
   one file to change.

   THREE DURATIONS, NOT MORE. `base` carries exactly these three and its
   `patterns/motion.md` assigns them roles; a fourth step with no occupant is
   a token that exists to look complete.
   ============================================================ */

:root {
  --sc-motion-fast: 150ms;
  --sc-motion-base: 200ms;
  --sc-motion-slow: 300ms;

  /* ease-out. The same curve `base` uses, and for the same reason its file
     gives: a control that starts fast and settles reads as responsive, where
     ease-in reads as sluggish because nothing moves for the first frames. */
  --sc-motion-ease: cubic-bezier(0, 0, 0.2, 1);
}
