Colours · Semantic

Meaning-bearing tokens

Semantic tokens bind base palette shades to roles in the UI. Component code never references a base colour directly — it always asks for a semantic role (e.g. --semantic-colour-text-heading) so themes can swap underneath.

Text 55 tokens

Routed through text- prefixes for headings, body, brand, error, warning, success and secondary tones.

--semantic-colour-text-heading
neutral-black
--semantic-colour-text-subheading
slate-700
--semantic-colour-text-body1
slate-600
--semantic-colour-text-body2
slate-500
--semantic-colour-text-muted
slate-400
--semantic-colour-text-subtle
slate-300
--semantic-colour-text-on-surface
neutral-white
--semantic-colour-text-brand-primary-darkest
cobalt-900
--semantic-colour-text-brand-primary-bold
cobalt-700
--semantic-colour-text-brand-primary
cobalt-600
--semantic-colour-text-brand-primary-light
cobalt-200
--semantic-colour-text-brand-primary-extralight
cobalt-100
--semantic-colour-text-brand-primary-subtle
cobalt-10
--semantic-colour-text-error-darkest
crimson-900
--semantic-colour-text-error-bold
crimson-700
--semantic-colour-text-error-primary
crimson-600
--semantic-colour-text-error-light
crimson-200
--semantic-colour-text-error-extralight
crimson-100
--semantic-colour-text-error-subtle
crimson-10
--semantic-colour-text-warning-darkest
bumblebee-900
--semantic-colour-text-warning-bold
bumblebee-700
--semantic-colour-text-warning-primary
bumblebee-600
--semantic-colour-text-warning-light
bumblebee-200
--semantic-colour-text-warning-extralight
bumblebee-100
--semantic-colour-text-warning-subtle
bumblebee-10
--semantic-colour-text-info-darkest
sky-900
--semantic-colour-text-info-bold
sky-700
--semantic-colour-text-info-primary
sky-600
--semantic-colour-text-info-light
sky-200
--semantic-colour-text-info-extralight
sky-100
--semantic-colour-text-info-subtle
sky-10
--semantic-colour-text-success-darkest
emerald-900
--semantic-colour-text-success-bold
emerald-700
--semantic-colour-text-success-primary
emerald-600
--semantic-colour-text-success-light
emerald-200
--semantic-colour-text-success-extralight
emerald-100
--semantic-colour-text-success-subtle
emerald-10
--semantic-colour-text-secondary-orange-darkest
citrus-900
--semantic-colour-text-secondary-orange-semibold
citrus-600
--semantic-colour-text-secondary-orange-primary
citrus-500
--semantic-colour-text-secondary-orange-light
citrus-200
--semantic-colour-text-secondary-orange-extralight
citrus-100
--semantic-colour-text-secondary-orange-subtle
citrus-10
--semantic-colour-text-secondary-pink-darkest
fuchsia-900
--semantic-colour-text-secondary-pink-semibold
fuchsia-600
--semantic-colour-text-secondary-pink-primary
fuchsia-500
--semantic-colour-text-secondary-pink-light
fuchsia-200
--semantic-colour-text-secondary-pink-extralight
fuchsia-100
--semantic-colour-text-secondary-pink-subtle
fuchsia-10
--semantic-colour-text-secondary-purple-darkest
lavender-900
--semantic-colour-text-secondary-purple-semibold
lavender-600
--semantic-colour-text-secondary-purple-primary
lavender-500
--semantic-colour-text-secondary-purple-light
lavender-200
--semantic-colour-text-secondary-purple-extralight
lavender-100
--semantic-colour-text-secondary-purple-subtle
lavender-10

Surface 66 tokens

Background fills — used by cards, banners, buttons and component containers.

--semantic-colour-surface-black
neutral-black
--semantic-colour-surface-darkest
slate-900
--semantic-colour-surface-extra-bold
slate-700
--semantic-colour-surface-bold
slate-600
--semantic-colour-surface-semi-bold
slate-500
--semantic-colour-surface-regular
slate-300
--semantic-colour-surface-light
slate-200
--semantic-colour-surface-extra-light
slate-100
--semantic-colour-surface-subtle
slate-10
--semantic-colour-surface-default
neutral-white
--semantic-colour-surface-brand-primary-darkest
cobalt-900
--semantic-colour-surface-brand-primary-bold
cobalt-700
--semantic-colour-surface-brand-primary
cobalt-600
--semantic-colour-surface-brand-semibold
cobalt-500
--semantic-colour-surface-brand-primary-light
cobalt-200
--semantic-colour-surface-brand-primary-extralight
cobalt-100
--semantic-colour-surface-brand-primary-subtle
cobalt-10
--semantic-colour-surface-error-darkest
crimson-900
--semantic-colour-surface-error-bold
crimson-700
--semantic-colour-surface-error-primary
crimson-600
--semantic-colour-surface-error-semibold
crimson-500
--semantic-colour-surface-error-light
crimson-200
--semantic-colour-surface-error-extralight
crimson-100
--semantic-colour-surface-error-subtle
crimson-10
--semantic-colour-surface-warning-extrabold
bumblebee-900
--semantic-colour-surface-warning-bold
bumblebee-700
--semantic-colour-surface-warning-primary
bumblebee-600
--semantic-colour-surface-warning-semibold
bumblebee-500
--semantic-colour-surface-warning-light
bumblebee-200
--semantic-colour-surface-warning-extralight
bumblebee-100
--semantic-colour-surface-warning-subtle
bumblebee-10
--semantic-colour-surface-info-extrabold
sky-900
--semantic-colour-surface-info-bold
sky-700
--semantic-colour-surface-info-primary
sky-600
--semantic-colour-surface-info-semibold
sky-500
--semantic-colour-surface-info-light
sky-200
--semantic-colour-surface-info-extralight
sky-100
--semantic-colour-surface-info-subtle
sky-10
--semantic-colour-surface-success-extrabold
emerald-900
--semantic-colour-surface-success-bold
emerald-700
--semantic-colour-surface-success-primary
emerald-600
--semantic-colour-surface-success-semibold
emerald-500
--semantic-colour-surface-success-light
emerald-200
--semantic-colour-surface-success-extralight
emerald-100
--semantic-colour-surface-success-subtle
emerald-10
--semantic-colour-surface-secondary-orange-extrabold
citrus-900
--semantic-colour-surface-secondary-orange-bold
citrus-700
--semantic-colour-surface-secondary-orange-semibold
citrus-600
--semantic-colour-surface-secondary-orange-primary
citrus-500
--semantic-colour-surface-secondary-orange-light
citrus-200
--semantic-colour-surface-secondary-orange-extralight
citrus-100
--semantic-colour-surface-secondary-orange-subtle
citrus-10
--semantic-colour-surface-secondary-pink-extrabold
fuchsia-900
--semantic-colour-surface-secondary-pink-bold
fuchsia-700
--semantic-colour-surface-secondary-pink-semibold
fuchsia-600
--semantic-colour-surface-secondary-pink-primary
fuchsia-500
--semantic-colour-surface-secondary-pink-light
fuchsia-200
--semantic-colour-surface-secondary-pink-extralight
fuchsia-100
--semantic-colour-surface-secondary-pink-subtle
fuchsia-10
--semantic-colour-surface-secondary-purple-extrabold
lavender-900
--semantic-colour-surface-secondary-purple-bold
lavender-700
--semantic-colour-surface-secondary-purple-semibold
lavender-600
--semantic-colour-surface-secondary-purple-primary
lavender-500
--semantic-colour-surface-secondary-purple-light
lavender-200
--semantic-colour-surface-secondary-purple-extralight
lavender-100
--semantic-colour-surface-secondary-purple-subtle
lavender-10

Border 48 tokens

Stroke colours for inputs, borders, dividers and decorative rules.

--semantic-colour-border-darkest
slate-900
--semantic-colour-border-dark
slate-800
--semantic-colour-border-medium
slate-600
--semantic-colour-border-regular
slate-300
--semantic-colour-border-muted
slate-200
--semantic-colour-border-light
slate-100
--semantic-colour-border-subtle
slate-10
--semantic-colour-border-default
neutral-white
--semantic-colour-border-brand-primary-bold
cobalt-700
--semantic-colour-border-brand-primary
cobalt-600
--semantic-colour-border-brand-primary-light
cobalt-200
--semantic-colour-border-brand-primary-extralight
cobalt-100
--semantic-colour-border-brand-primary-subtle
cobalt-10
--semantic-colour-border-error-bold
crimson-700
--semantic-colour-border-error-primary
crimson-600
--semantic-colour-border-error-light
crimson-200
--semantic-colour-border-error-extralight
crimson-100
--semantic-colour-border-error-subtle
crimson-10
--semantic-colour-border-warning-bold
bumblebee-700
--semantic-colour-border-warning-primary
bumblebee-600
--semantic-colour-border-warning-light
bumblebee-200
--semantic-colour-border-warning-extralight
bumblebee-100
--semantic-colour-border-warning-subtle
bumblebee-10
--semantic-colour-border-info-bold
sky-700
--semantic-colour-border-info-primary
sky-600
--semantic-colour-border-info-light
sky-200
--semantic-colour-border-info-extralight
sky-100
--semantic-colour-border-info-subtle
sky-10
--semantic-colour-border-success-bold
emerald-700
--semantic-colour-border-success-primary
emerald-600
--semantic-colour-border-success-light
emerald-200
--semantic-colour-border-success-extralight
emerald-100
--semantic-colour-border-success-subtle
emerald-10
--semantic-colour-border-secondary-orange-bold
citrus-700
--semantic-colour-border-secondary-orange-primary
citrus-500
--semantic-colour-border-secondary-orange-light
citrus-200
--semantic-colour-border-secondary-orange-extralight
citrus-100
--semantic-colour-border-secondary-orange-subtle
citrus-10
--semantic-colour-border-secondary-pink-bold
fuchsia-700
--semantic-colour-border-secondary-pink-primary
fuchsia-500
--semantic-colour-border-secondary-pink-light
fuchsia-200
--semantic-colour-border-secondary-pink-extralight
fuchsia-100
--semantic-colour-border-secondary-pink-subtle
fuchsia-10
--semantic-colour-border-secondary-purple-bold
lavender-700
--semantic-colour-border-secondary-purple-primary
lavender-500
--semantic-colour-border-secondary-purple-light
lavender-200
--semantic-colour-border-secondary-purple-extralight
lavender-100
--semantic-colour-border-secondary-purple-subtle
lavender-10

Icon 27 tokens

Foreground colours for SVG icons across the system.

--semantic-colour-icon-neutral-light
neutral-white
--semantic-colour-icon-neutral-dark
neutral-black
--semantic-colour-icon-muted
slate-400
--semantic-colour-icon-brand-primary-extrabold
cobalt-800
--semantic-colour-icon-brand-primary
cobalt-600
--semantic-colour-icon-brand-primary-subtle
cobalt-10
--semantic-colour-icon-error-extrabold
crimson-800
--semantic-colour-icon-error-primary
crimson-600
--semantic-colour-icon-error-subtle
crimson-10
--semantic-colour-icon-warning-extrabold
bumblebee-800
--semantic-colour-icon-warning-primary
bumblebee-600
--semantic-colour-icon-warning-light
bumblebee-10
--semantic-colour-icon-success-extrabold
emerald-800
--semantic-colour-icon-success-primary
emerald-600
--semantic-colour-icon-success-subtle
emerald-10
--semantic-colour-icon-info-extrabold
sky-800
--semantic-colour-icon-info-primary
sky-600
--semantic-colour-icon-info-subtle
sky-10
--semantic-colour-icon-secondary-orange-extrabold
citrus-800
--semantic-colour-icon-secondary-orange-primary
citrus-500
--semantic-colour-icon-secondary-orange-subtle
citrus-10
--semantic-colour-icon-secondary-pink-extrabold
fuchsia-800
--semantic-colour-icon-secondary-pink-primary
fuchsia-500
--semantic-colour-icon-secondary-pink-subtle
fuchsia-10
--semantic-colour-icon-secondary-purple-extrabold
lavender-800
--semantic-colour-icon-secondary-purple-primary
lavender-500
--semantic-colour-icon-secondary-purple-subtle
lavender-10

Static 3 tokens

Pure black, white and brand-static values that stay constant across light & dark themes.

--semantic-colour-static-black
neutral-black
--semantic-colour-static-white
neutral-white
--semantic-colour-static-green
emerald-600