Version 1.3.0 — April 2026
A shared language for building consistent, accessible interfaces.
Remove anything that doesn't help the user understand or act.
Tokens drive all decisions. No one-off values ship.
All pairings meet WCAG 2.1 AA. We test with real assistive technology.
Start spacious. Tighten as users gain expertise.
Six semantic groups, each with an 11-step tonal range from 50 to 950.
| Token | Hex | Role |
|---|---|---|
| Primary | #2E5CFF | Interactive elements |
| Secondary | #7C3AED | Accent, emphasis |
| Neutral | #64748B | Text, chrome |
| Success | #059669 | Positive feedback |
| Warning | #D97706 | Caution states |
| Error | #DC2626 | Destructive / errors |
Two fonts, no exceptions.
Scale ratio: 1.250 (Major Third)
Base size: 16px (comfortable) / 14px (compact)
| Level | Size | Weight |
|---|---|---|
| Display | 39.1px | 700 |
| H1 | 31.3px | 700 |
| H2 | 25.0px | 600 |
| H3 | 20.0px | 600 |
| Body | 16.0px | 400 |
| Caption | 12.8px | 400 |
| Overline | 10.2px | 600 |
Base unit: 4px. All values are multiples.
| Token | Value | Use |
|---|---|---|
| space-1 | 4px | Tight gaps |
| space-2 | 8px | Inline gaps |
| space-4 | 16px | Component padding |
| space-6 | 24px | Card padding |
| space-8 | 32px | Section gaps |
| space-16 | 64px | Page margins |
Why 4px?
All text/background pairings meet WCAG 2.1 AA.
neutral-900 backgrounds insteadvar(--m-primary-500) not #2E5CFFQuestions? Reach the Design Systems team in #meridian-ds
meridian.design/tokens