Animation System
All transitions share an ease-out character — fast initial movement that decelerates. Duration tokens define timing; easing tokens define the acceleration curve.
Each bar slides from left to right with its corresponding duration, using the standard easing curve.
var(--duration-interaction) Hover fills, icon swaps, button state changesvar(--duration-transition) Accordions, dropdowns, tooltips, tab switchesvar(--duration-reveal) Modals entering, drawers sliding, page revealsvar(--duration-expressive) Page transitions, hero animations, large choreographyEach dot travels at 700ms (expressive duration) so the curve shape is clearly visible.
var(--ease-default) cubic-bezier(0.2, 0, 0.38, 0.9) Default for all in-viewport movementvar(--ease-enter) cubic-bezier(0, 0, 0.38, 0.9) Elements entering from outside the viewportvar(--ease-leave) cubic-bezier(0.2, 0, 1, 0.9) Elements leaving the viewport