The visual world is locked. Don't reinvent these per surface — copy a block, fill it with real product data, ship. The load-bearing pieces (the five verbs, the state glyphs, the half-said marker, the notification classes) carry product law on their backs; the law notes tell you what must not change.
Actions
The five verbs PL-5 · strictly equal
Identical box, weight, padding, type at every breakpoint. No verb is "the good button"; none is "the loud danger button." Danger's signal-red never appears here — Escalate is a peer. Verify byte-equal, never by eye.
Commitment states PL-4 · shape ≠ hue
Team-state tags
Chip · breadcrumb
Inputs · states
Your authored clock class 2
Defer aggregate PL-6 · no odds
Half-said + verbatim quote PL-2 · PL-8
The four legal notification classes
Class 5 (auto-escalation, pressure) has no icon and no group — it is architecturally impossible. The nudge icon is neutral, never ochre (ochre is reserved).
Tokens
| --dur-1 · 120ms | hover, focus, tap |
| --dur-2 · 180ms | menus, chips, small reveals |
| --dur-3 · 260ms | overlays: drawer, scrim, sheet |
| --dur-4 · 420ms | signature moments: commit, seal, bind |
| --ease | ease-out; enter from an already-visible default |
Signature moments (product-true)
Live · expand / collapse progressive disclosure is law-compatible
Live · the commit moment
The glyph settles into the navy dot (--dur-4, ease-out). Under reduced-motion the dot simply appears — the state change is never hidden, only the movement is dropped.