Foundations
Motion
Motion confirms what happened and where things went. It is short, starts fast and settles gently, and never blocks the next keystroke.
Easing
ease-emphasized (cubic-bezier(0.2, 0, 0, 1)) is the default for anything that enters or moves. Plain ease-out suits small state changes.
Duration
Stay under 200ms for interface feedback. Respect reduced motion by dropping transitions with motion-reduce:transition-none.