Workspace
Deployments
Requests
184,204
Error rate
0.42%
Budget used
4%
Build
Passing
Pipeline progress
72%
Recent activity
Nina promotedNedge-cacheto productionLive Theo opened a rollback onTapi-gatewayReview Ida archivedIlegacy-workerArchived
Deploy settings
us-east (IAD)
eu-central (FRA)
ap-southeast (SYD)
Buttons
Status
Feedback
Inputs
Type
Display
Heading
Body text carries the prose weight and line height.
Section label
Muted supporting copy.
const theme = synthesize(tokens);Surfaces
deep
surface
base
card
elevated
Accent, composed
None of these read an accent token directly. They read the gradients, glows and focus rings that compose from it. They move because the base tokens moved.
glow-primaryglow-secondarygradient-accent-text
Composed accent
Contrast
| Pair | Dark | Light | Needs |
|---|---|---|---|
| Body text on cardThe single most-read pairing in the system. | 4.5:1 text | ||
| Body text on basePage-level prose. | 4.5:1 text | ||
| Secondary text on cardDescriptions, table cells, helper copy. | 4.5:1 text | ||
| Muted text on cardTimestamps and captions still have to be readable. | 4.5:1 text | ||
| Ghost text on cardThe faintest step. Fails easily — reserve it for decoration. | 4.5:1 text | ||
| Accent text on cardLinks and accent labels are read, not just seen. | 4.5:1 text | ||
| Accent on deepFocus rings and glows against the deepest ground. | 3:1 non-text | ||
| Secondary accent on cardGradient endpoints and secondary emphasis. | 3:1 non-text | ||
| Success on cardStatus color carrying meaning without text. | 3:1 non-text | ||
| Warning on cardStatus color carrying meaning without text. | 3:1 non-text | ||
| Error on cardStatus color carrying meaning without text. | 3:1 non-text | ||
| Info on cardStatus color carrying meaning without text. | 3:1 non-text | ||
| Bright border on cardStructure, not state — no threshold applies. Below about 1.3:1 the edge stops being findable. | — | ||
| Default border on cardStructure, not state. Shown so you can see how far your surfaces and borders have drifted apart. | — |
Export
:root,
so they re-derive on their own.