Every colour role: HSL triple, hex, role and reach. Generated from phase-2/kit/tokens.css (kit v3); the full page is docs › Foundations.
The shadcn/ui roles. Values are bare HSL triples, used as hsl(var(--x)) or hsl(var(--x) / .12).
A triple drops straight into a shadcn globals.css. Write hsl(var(--primary)) for a solid and hsl(var(--primary) / .12) for a tint; the copy button on a token gives you hsl(var(--token)). Hex is for reference only: never write hex in product code. Renders as is what the browser paints from the triple; Authored hex is the board value where the triple rounds one step away from it. Direct refs counts the surface folders (of 64) whose own CSS, JS or HTML writes the token; every surface also uses it through the kit.
| Token | Value (HSL triple) | Renders as | Authored hex | Role | Direct refs | |
|---|---|---|---|---|---|---|
--background | 0 0% 100% | #FFFFFF | same | page surface (clean white canvas) | 64 | |
--foreground | 222 43% 10% | #0F1524 | #0F1626 | body text, headings | 64 | |
--card | 0 0% 100% | #FFFFFF | same | — | 61 | |
--card-foreground | 222 43% 10% | #0F1524 | #0F1626 | text and icons on --card | 0 | |
--popover | 0 0% 100% | #FFFFFF | same | menus, sheets, dialogs, toasts | 10 | |
--popover-foreground | 222 43% 10% | #0F1524 | #0F1626 | text and icons on --popover | 0 | |
--primary | 220 49% 11% | #0E172A | #0E1729 | RJ midnight navy (--rj-ink): every primary action | 61 | |
--primary-foreground | 60 17% 98% | #FBFBF9 | #FAFAF8 | text and icons on --primary | 42 | |
--primary-hover | 223 42% 18% | #1B2641 | #1A2540 | --rj-ink-hover | 0 | |
--secondary | 0 0% 100% | #FFFFFF | same | outlined secondary button ground | 0 | |
--secondary-foreground | 220 49% 11% | #0E172A | #0E1729 | text and icons on --secondary | 0 | |
--muted | 225 22% 96% | #F3F4F7 | #F4F5F8 | table header, wells, hover | 64 | |
--muted-foreground | 221 17% 38% | #505B71 | #505A70 | quiet text (>= 5.9:1 on white) | 64 | |
--accent | 224 38% 94% | #EAEDF6 | #EBEEF6 | selection, active filter | 55 | |
--accent-foreground | 220 49% 11% | #0E172A | #0E1729 | text and icons on --accent | 5 | |
--destructive | 353 53% 42% | #A43240 | #A2323F | — | 63 | |
--destructive-foreground | 0 0% 100% | #FFFFFF | same | text and icons on --destructive | 0 | |
--border | 220 20% 91% | #E3E7ED | #E4E7ED | hairlines | 64 | |
--input | 219 14% 59% | #8892A5 | same | control borders: 3.1:1 on white (WCAG 1.4.11); was #C6CCD7 at 1.6:1 | 63 | |
--input-hover | 223 17% 45% | #5F6A86 | same | field / checkbox / select border on hover | 19 | |
--secondary-border | 219 14% 79% | #C2C7D1 | same | outlined secondary button edge (board 3, text-labelled so exempt from 3:1) | 59 | |
--secondary-border-hover | 220 10% 70% | #ABB0BA | same | — | 0 | |
--ring | 221 45% 45% | #3F60A6 | #3F5FA6 | focus | 33 |
Success, warning, info and neutral, plus the catalogue lifecycle names that alias them.
Each status has a -foreground for text on a solid fill. Chips use the soft fill: the status at --status-soft-alpha (.12) on white, with the text in the full status colour.
| Token | Value (HSL triple) | Renders as | Authored hex | Role | Direct refs | |
|---|---|---|---|---|---|---|
--success | 158 51% 26% | #20644B | #21654C | — | 49 | |
--success-foreground | 0 0% 100% | #FFFFFF | same | text and icons on --success | 0 | |
--warning | 36 79% 29% | #845610 | #83550F | also the STAGING badge | 52 | |
--warning-foreground | 0 0% 100% | #FFFFFF | same | text and icons on --warning | 0 | |
--info | 218 49% 39% | #335694 | #335794 | — | 38 | |
--info-foreground | 0 0% 100% | #FFFFFF | same | text and icons on --info | 0 | |
--neutral | 222 13% 39% | #575E70 | #575F72 | — | 1 | |
--neutral-foreground | 0 0% 100% | #FFFFFF | same | text and icons on --neutral | 0 | |
--draft | var(--info) | #335694 | — | Alias of --info. Draft = info blue | 1 | |
--available | var(--success) | #20644B | — | Alias of --success. Available = green | 2 | |
--retired | var(--neutral) | #575E70 | — | Alias of --neutral. Retired = slate | 1 | |
--locked | var(--neutral) | #575E70 | — | Alias of --neutral. "locked" banner + lock chip | 5 | |
--not-wired | var(--warning) | #845610 | — | Alias of --warning. "not wired" banner (feature exists, backend not connected) | 5 |
| Token | Value | Role |
|---|---|---|
--status-soft-alpha | .12 | soft fills: status at 12% on white; text stays the status colour (all >= 4.5:1) |
.chip.draft.chip.available.chip.retired.chip.info.chip.warning.chip.danger.chip.locked.chip.ended.chip.unmappedThe shadcn sidebar block. The satin sheen gradients live on the Gradients page.
| Token | Value (HSL triple) | Renders as | Authored hex | Role | Direct refs | |
|---|---|---|---|---|---|---|
--sidebar | 220 49% 11% | #0E172A | #0E1729 | — | 0 | |
--sidebar-background | var(--sidebar) | #0E172A | — | Alias of --sidebar. older shadcn name | 0 | |
--sidebar-foreground | 222 19% 82% | #C8CEDA | #C9CEDA | --rj-mist | 10 | |
--sidebar-primary | 221 54% 75% | #9DB3E2 | #9FB4E2 | active-item rail + icon tint | 0 | |
--sidebar-primary-foreground | 220 49% 11% | #0E172A | same | text and icons on --sidebar-primary | 0 | |
--sidebar-accent | 222 43% 19% | #1C2845 | #1B2744 | — | 0 | |
--sidebar-accent-foreground | 60 17% 98% | #FBFBF9 | #FAFAF8 | text and icons on --sidebar-accent | 10 | |
--sidebar-border | 222 33% 22% | #26314B | #253049 | — | 10 | |
--sidebar-ring | 221 54% 75% | #9DB3E2 | same | focus ring on the navy sidebar | 0 |
The sheen tokens --sidebar-sheen and --sidebar-sheen-light are documented, layer by layer, on the Gradients page.
Five categorical series, assigned in order and never cycled, plus one muted comparison colour.
Categorical order, assigned in this order and never cycled. Validated with the dataviz validator on white: lightness band, chroma floor, adjacent CVD >= 10.6, normal-vision >= 15.9, all >= 3:1; slots 1-3 also pass --pairs all. None of them is a status colour. A single series uses --chart-1; a comparison / previous period uses --chart-muted (dotted).
| Token | Value (HSL triple) | Renders as | Authored hex | Role | Direct refs | |
|---|---|---|---|---|---|---|
--chart-1 | 219 61% 47% | #2F62C1 | #2F62C0 | blue | 7 | |
--chart-2 | 166 76% 36% | #16A281 | #16A07F | teal | 0 | |
--chart-3 | 20 70% 53% | #DB6B33 | #DB6B35 | coral | 0 | |
--chart-4 | 229 62% 68% | #7B8DE0 | #7C8FE0 | periwinkle | 0 | |
--chart-5 | 334 58% 58% | #D2568C | #D2588C | rose | 0 | |
--chart-muted | 221 25% 58% | #798AAF | #7A8BB0 | steel: previous period, reference lines, never a category | 0 |
--chart-1--chart-2--chart-3--chart-4--chart-5--chart-muted--chart-1--chart-2--chart-3--chart-4--chart-5--chart-muted