Every NMG animation pulls from the same seven durations and five easings. Click anything below to play. The dot-reveal hero, the card lift, the KPI count-up — they're all named primitives an agent can reach for by name.
Reduced motion previewToggle to see what NMG looks like when the user has prefers-reduced-motion: reduce on.
Section 01
Durations
Seven tokens. Default is duration.md (320 ms). Reach for the smallest that still reads as intentional. Click any bar to feel it; click "Race them" to compare side-by-side.
Token
Bar fills in this long
Value
instant
0 ms
xs
120 ms
sm
200 ms
md
320 ms
lg
560 ms
xl
900 ms
hero
1500 ms
Section 02
Easings
Five named curves. standard is the default for almost everything. emphasis when the element must feel decisive. Click "Race them" to send a red ball through each curve at the same time.
Tab switch. Old content fades out, new content enters with a 4px translate.
report.kpiCount
900 ms · emphasis
0
Organic Sessions
KPI numbers count up from 0 when the card scrolls into view. Tabular numerals preserved during animation.
toast.enter
200 ms · emphasis
Copied hex #FF0000
Non-modal confirmation. translateY(8px → 0) + opacity 0→1. Dwells 2s, exits at 60% the duration.
modal.scrim
320 ms · standard
Confirm
Background dim. opacity 0→0.5. No backdrop-filter — NMG forbids glassmorphism.
annotation.draw
560 ms · standard
142,328
The hand-drawn red annotation circle on dashboard screenshots. Slightly rotated, slightly skewed. Drawn as if by a print editor with a red pen. Never replays.
Section 04
Universal Rules
Six Things to Never Get Wrong
Motion rules every NMG render must pass
Default to duration.md + easing.standard unless a named choreography applies.
Never animate color directly — animate opacity or use a different element.
Never bounce or overshoot. NMG motion settles; it never springs.
Hover transitions on interactive elements: duration.xs to duration.sm, never longer.
Entrance animations: duration.md to duration.lg, staggered 60–120 ms between siblings.
Exit animations are 60% the duration of their entrance. People leave faster than they arrive.
Section 05
Copy-paste tokens
For your CSS file. Mirror of motion: in design.md.