Design System

Design System

Color

Color: primitives
TokenValueUse it for
white#ffffffText and icons on lilac, lilac-dark and danger fills (6.70:1, 9.21:1, 10.59:1), and the card and popover surface.
paper#ffffffThe page background.
fill#f3f3f5muted. ink reads on it at 16.28:1, ink-soft at 7.78:1, ink-faint at 5.13:1, lilac at 6.05:1.
wash#edebf4Identifies the current nav item, hover on link-brut, table headers, secondary. ink reads on it at 15.29:1, ink-soft at 7.30:1, ink-faint at 4.81:1, lilac at 5.68:1.
line#d7d7dcDividers. 1.43:1 against paper, so it is decoration which means that it does not need to be color contrast compliant. Use border or line-control for anything that carries meaning.
line-controlinkBorder of a form control. Aliases ink, so a control edge reaches 3:1 (non-text contrast) against its background.
ink#16161aText, borders and hard shadows. 18.04:1 on paper. Text on marker is always ink.
ink-soft#4b4b55Secondary text on paper (8.62:1), fill (7.78:1) and wash (7.30:1), AAA on all three, for descriptions, footer copy, captions and field hints. wash is the weakest of the three: the old #55555f was 6.24:1 there, under the 7:1 AAA asks of 14px text.
ink-faint#66666fTertiary text on paper (5.68:1), fill (5.13:1) and wash (4.81:1).
lilac#5e548eFill for primary buttons with white text (6.70:1); text and icons on paper (6.70:1), fill (6.05:1) and wash (5.68:1).
lilac-dark#4a4170Hover and pressed state of lilac, and tinted icon text on wash (7.80:1). 9.21:1 against paper. It is not enough for small text on a tint: on a 10% lilac tint over wash it is 6.81:1, under the 7:1 of AAA, so small text uses lilac-deep.
lilac-deep#3d3459Small text in the accent, which accent-text points to. It stays AAA on a tint of lilac: 11.45:1 on paper, 10.33:1 on fill and 9.70:1 on wash, and still 8.47:1 on a 10% lilac tint over wash and 7.35:1 on the 20% hover tint, the weakest ground there is. white text on it is 11.45:1.
danger#82002aErrors and destructive actions. Text on paper (10.59:1), fill (9.56:1) and wash (8.97:1), and white text on a danger fill (10.59:1). In APCA it is Lc 80 or better on each ground, which is what DevTools asks of 14px text at weight 600. At regular weight that size asks for Lc 100, which no red reaches, so set red text at weight 600 or heavier.
marker#ffe600The highlighter band behind Underline. Only ever behind ink text (14.24:1). It should never be a text colour.
focus-ring-primary#0066ffOuter focus ring. Sits outside the control with a 3px offset, so it is measured against the surface: 4.83:1 on paper, 4.36:1 on fill, 4.09:1 on wash.
focus-ring-soft#a5c8ffInner halo of the focus ring, between the control and focus-ring-primary. Decoration around the 3:1 ring because it is not the indicator of the focus state.
Color: semantic
TokenValueUse it for
backgroundpaperBody copy is foreground.
foregroundinkBody copy and headings on background, card, muted and secondary.
cardwhiteSurface of Slab and cards. Text on it is card-foreground.
card-foregroundinkText on card.
popoverwhiteSurface of menus, listboxes and dialogs. Text on it is popover-foreground.
popover-foregroundinkText on popover.
primaryinkStrongest filled control: the solid ink button. Text on it is primary-foreground.
primary-foregroundwhiteText and icons on primary (18.04:1).
secondarywashCurrent nav item, hover rows, table headers, mark. Text on it is secondary-foreground.
secondary-foregroundinkText on secondary (15.29:1).
mutedfillText on it is foreground or muted-foreground.
muted-foregroundink-softSecondary text on background, card and muted: descriptions, captions, footer copy (7.78:1 or better).
accentlilacThe accent: primary button fill, counters, link underlines, icons. Text on it is accent-foreground; as text it reads on background, muted and secondary (5.68:1 or better). Small text uses accent-text instead, and so does any text set on an accent tint: accent on the 20% tint over secondary is only 4.31:1.
accent-textlilac-deepThe accent for small text: labels and eyebrows under 14px, and the text of a link Chip on its accent tint. lilac-deep: 11.45:1 on background, 10.33:1 on muted and 9.70:1 on secondary; on a 10% accent tint over secondary it is 8.47:1, and 7.35:1 on the 20% hover tint, all AAA.
accent-foregroundwhiteText and icons on accent (6.70:1).
destructivedangerError text and destructive fills. Text on it is destructive-foreground.
destructive-foregroundwhiteText on destructive (10.59:1).
borderinkEvery visible edge: slab, button, header rule. 18.04:1 on background (3:1 required).
inputline-controlBorder of inputs, selects and textareas.
ringinkDefault ring color. The site draws its focus indicator from focus-ring-primary, not from this.