EtherBrandGuidelinesFoundationsComponentsOverviewColorLayoutTypographyElevationMotionIconography
Foundations

Motion

Shared values. Animation is how change explains itself. If it doesn't change what the eye understands, it doesn't ship.

Ease-out, short, on the thing that changed. Reduced motion is a first-class path, not a later pass.

Easing

TokenValueUse
--ease-outcubic-bezier(0.23, 1, 0.32, 1)Default enter and feedback
--ease-movecubic-bezier(0.45, 0, 0.55, 1)Large layout shifts
--ease-linearlinearProgress loops only

No ease-in on feedback. It starts slow and feels laggy.

Duration

TokenValueUse
--dur-00msInstant
--dur-micro80msFocus ring
--dur-fast120msPress, hover
--dur-base180msMetric tick
--dur-enter280msPanel / overlay enter
--dur-exit160msPanel / overlay exit
--dur-shift400msRare large layout
--stagger40msPer item on list enter

Spec

MotionPropertyDurationEasingTriggerReduced motion
Pressscale(0.97)120ms --dur-fast--ease-out:activeinstant
Hoveropacity / color120ms --dur-fast--ease-out:hoverinstant
Panel enteropacity + translateY(6px)280ms --dur-enter--ease-outmountopacity 120ms or instant
Panel exitopacity + translateY(4px)160ms --dur-exit--ease-outunmountinstant
Staggerenter + 40ms/item --stagger--ease-outlistno stagger
Metric tickopacity (optional 2px blur, one-shot)180ms --dur-base--ease-outvalueinstant swap
Focusoutline opacity80ms --dur-micro--ease-out:focus-visibleinstant
Overlayopacity + scale(0.98→1)280 / 160--ease-outopen / closeopacity only

Performance

Accessibility

@media (prefers-reduced-motion: reduce) maps durations to 0 or to 80ms opacity. Never block a task. Never flash more than three times per second. WCAG 2.3.1.

Never use motion as the only indication of a state change. See Accessibility.

Tokens

Shared values. The spec table above is the contract. These are the CSS names the rest of the system imports.

--ease-out enter / feedback--ease-move large layout--ease-linear loops only--dur-micro 80ms--dur-fast 120ms--dur-base 180ms--dur-enter 280ms--dur-exit 160ms--stagger 40ms

Press and hover

Focus the controls — ring fades in 80ms, instant under reduced motion.

Related