Foundations
Motion
Six durations, four easings. Every transition reads from these so the kit speaks one motion language.
Durations
--supa-duration-instant60msTap feedback, button press--supa-duration-quick120msTooltip, hover, focus--supa-duration-base200msPopover, accordion, tabs--supa-duration-slow280msDialog, sheet, drawer--supa-duration-story480msMarketing, decrypt text, hero--supa-duration-epic720msEditorial transitionsEasings
--supa-ease-outcubic-bezier(0.2, 0.8, 0.2, 1)Default for entrances + hovers--supa-ease-in-outcubic-bezier(0.4, 0, 0.2, 1)Sliding panels, drawers--supa-ease-springcubic-bezier(0.34, 1.56, 0.64, 1)Switch snap, chip selection--supa-ease-pixelsteps(4, end)Skeleton, glyph rotateReduced motion
@media (prefers-reduced-motion: reduce) drops every transition to 0ms and reduces animation iteration to one cycle. Reach for --supa-ease-pixel when you need motion that still reads at the lowest setting — stepped pixel motion stays visible without continuous interpolation.