BridgeComfortable

Previews use

Applies to every design system preview on the site. The Bridge app chrome stays the same.

Brand

Density

Color

Every color has a job. Each group below shows its tokens at work in both themes, then lists them. Design and build with these semantic tokens; the primitive palette at the end is what they point to.

Updated Oct 16, 2026

Select a token to see its alias chain, contrast pairs and history. Click a name to copy it.

Copy names as

Background

color.bg 3 tokens

Page backgrounds. default for the main canvas, subtle for side panels and zones that sit behind content.

Light
bg.default
bg.subtle
bg.muted
Dark
bg.default
bg.subtle
bg.muted

Surface

color.surface 7 tokens

Anything that sits on the page: cards, inputs, menus. raised is for surfaces that also carry elevation.

Light
Defaultsurface.default
Hoversurface.hover
Pressedsurface.pressed
Selectedsurface.selected
Raisedsurface.raised
Inversesurface.inverse
Dark
Defaultsurface.default
Hoversurface.hover
Pressedsurface.pressed
Selectedsurface.selected
Raisedsurface.raised
Inversesurface.inverse

Text

color.text 8 tokens

Text and icons. default for body copy, muted for secondary info, disabled only for disabled controls, inverse on dark or brand fills, on-solid on feedback solid fills.

Light

Approve the token change text.default

Edited 2 hours ago by Florian text.muted

Not available in compact density text.disabled

Read the contrast rules on hover text.link

3 matches in this file text.signal

Inverse textOn solid
Dark

Approve the token change text.default

Edited 2 hours ago by Florian text.muted

Not available in compact density text.disabled

Read the contrast rules on hover text.link

3 matches in this file text.signal

Inverse textOn solid

Border

color.border 4 tokens

Dividers and outlines. default for quiet separators, strong for control edges that must be found.

Light
border.defaultCard edge
Row oneRow twoborder.subtle
Control edgeborder.strong
On hoverborder.hover
Dark
border.defaultCard edge
Row oneRow twoborder.subtle
Control edgeborder.strong
On hoverborder.hover

Action

color.action 18 tokens

Interactive controls only. Never use action colors for decoration, or users will try to click it.

Light
RestHoverPressed
action.primary
action.secondary
action.ghost
action.danger
action.disabled
Dark
RestHoverPressed
action.primary
action.secondary
action.ghost
action.danger
action.disabled
  • Primary action fill (steel ink in the bridge brand). primary 900 · 50
    1 component

    Components

  • Primary action fill on hover. primary 800 · 200
    1 component

    Components

  • Primary action fill when pressed. primary 950 · 300
    1 component

    Components

  • Primary action label. neutral 0 · primary 950
    1 component

    Components

  • Secondary action fill. neutral 0 · 900
    1 component

    Components

  • Secondary action fill on hover. neutral 100 · 800
    1 component

    Components

  • Secondary action fill when pressed. neutral 200 · 700
    1 component

    Components

  • Secondary action label. neutral 900 · 50
    1 component

    Components

  • Secondary action edge. neutral 300 · 600
    1 component

    Components

  • Ghost action fill on hover. neutral 100 · 800
    2 components

    Components

  • Ghost action fill when pressed. neutral 200 · 700
    2 components

    Components

  • Ghost action label. neutral 800 · 100
    1 component

    Components

  • Danger action fill. danger 600
    1 component

    Components

  • Danger action fill on hover. danger 700
    1 component

    Components

  • Danger action fill when pressed. danger 800
    1 component

    Components

  • Danger action label. neutral 0
    1 component

    Components

  • Disabled action fill. neutral 100 · 800
    9 components
  • Disabled action label. neutral 400 · 600
    4 components

Controls

color.control 6 tokens
Light
control.checked · control.track · control.thumb
Dark
control.checked · control.track · control.thumb
  • Unchecked checkbox, radio, input fill. neutral 0 · 900
    7 components
  • Checked checkbox, radio, switch track. primary 900 · 50
    6 components

    Components

    Base styles

    Read by base.css, the global stylesheet apps import once with @bridge-ds/react/styles.css.

  • Checked control fill on hover. primary 800 · 200
    3 components
  • Check mark, radio dot, switch thumb when checked. neutral 0 · primary 950
    5 components
  • Unchecked switch track and slider rail edge. neutral 500
    1 component

    Components

  • Switch thumb and slider handle. neutral 0 · 50
    2 components

    Components

Signal

color.signal 2 tokens
Light
Publishing tokens
x

Search: bg.default signal.subtle · text.signal

signal.default
Dark
Publishing tokens
x

Search: bg.default signal.subtle · text.signal

signal.default
  • The signal: active indicators, progress, slider range. accent 500 · 400
    6 components
  • Soft signal fill: highlighted search matches. accent 100 · 900
    1 component

    Components

Overlay

color.overlay 1 token
Light
Delete 3 tokens?Components that use them fall back to their defaults.
overlay.scrim
Dark
Delete 3 tokens?Components that use them fall back to their defaults.
overlay.scrim
  • Backdrop behind dialogs and drawers. alpha steel-48 · black-64
    2 components

    Components

Feedback

color.feedback 20 tokens

Status and system messages. bg + text + border for inline messages, solid for compact labels like badges. Always pair with words.

Light

Figma changes arrive as a pull request

Contrast checks pass

Unused tokens show up in Checks

A failing contrast pair blocks the release

InfoPassedReviewFailed
InfoPassedReviewFailed
Dark

Figma changes arrive as a pull request

Contrast checks pass

Unused tokens show up in Checks

A failing contrast pair blocks the release

InfoPassedReviewFailed
InfoPassedReviewFailed
  • Success message background. success 50 · 950
    2 components

    Components

  • Success message edge. success 200 · 800
    2 components

    Components

  • Success message text. success 700 · 300
    1 component

    Components

  • Success message icon. success 600 · 400
    4 components

    Components

  • Success message solid fill, for compact labels like badges. success 600
    1 component

    Components

  • Warning message background. warning 50 · 950
    2 components

    Components

  • Warning message edge. warning 200 · 800
    2 components

    Components

  • Warning message text. warning 700 · 300
    1 component

    Components

  • Warning message icon. warning 600 · 400
    4 components

    Components

  • Warning message solid fill, for compact labels like badges. warning 600
    1 component

    Components

  • Danger message background. danger 50 · 950
    3 components

    Components

  • Danger message edge. danger 200 · 800
    3 components

    Components

  • Danger message text. danger 700 · 300
    6 components
  • Danger message icon. danger 600 · 400
    15 components
  • Danger message solid fill, for compact labels like badges. danger 600
    1 component

    Components

  • Info message background. info 50 · 950
    2 components

    Components

  • Info message edge. info 200 · 800
    2 components

    Components

  • Info message text. info 700 · 300
    1 component

    Components

  • Info message icon. info 600 · 400
    3 components

    Components

  • Info message solid fill, for compact labels like badges. info 600
    1 component

    Components

Selection

color.selection 1 token
Light

Semantic tokens give each color a job. Design and build with semantic tokens only, so a brand can repaint every screen at once.

selection.bg
Dark

Semantic tokens give each color a job. Design and build with semantic tokens only, so a brand can repaint every screen at once.

selection.bg
  • Text selection highlight (::selection). accent 100 · 800
    Base styles

    Base styles

    Read by base.css, the global stylesheet apps import once with @bridge-ds/react/styles.css.

Focus

focus 1 token

Keyboard focus ring. Shared by every focusable component so focus looks the same everywhere.

Light
focus.ring.color · width · offset
Dark
focus.ring.color · width · offset

Primitive palette

Raw values. Components never use these directly; semantic tokens point to them. Use them when you propose a new semantic token, not when you design a screen.

white

white 10 semantic

black

black Unused

steel

50 6 semantic
100 9 semantic
200 7 semantic
300 2 semantic
400 4 semantic
500 2 semantic
600 5 semantic
700 4 semantic
800 10 semantic
900 10 semantic
950 5 semantic

orange

50 1 semantic
100 2 semantic
200 Unused
300 1 semantic
400 2 semantic
500 2 semantic
600 Unused
700 1 semantic
800 1 semantic
900 1 semantic
950 1 semantic

crimson

50 1 semantic
100 Unused
200 1 semantic
300 1 semantic
400 1 semantic
500 Unused
600 3 semantic
700 2 semantic
800 2 semantic
900 Unused
950 1 semantic

teal

50 1 semantic
100 Unused
200 1 semantic
300 1 semantic
400 1 semantic
500 Unused
600 2 semantic
700 1 semantic
800 1 semantic
900 Unused
950 1 semantic

ochre

50 1 semantic
100 Unused
200 1 semantic
300 1 semantic
400 1 semantic
500 Unused
600 2 semantic
700 1 semantic
800 1 semantic
900 Unused
950 1 semantic

cable

50 1 semantic
100 Unused
200 2 semantic
300 2 semantic
400 1 semantic
500 Unused
600 3 semantic
700 2 semantic
800 1 semantic
900 Unused
950 1 semantic

slate

50 Unused
100 Unused
200 Unused
300 Unused
400 Unused
500 Unused
600 Unused
700 Unused
800 Unused
900 Unused
950 Unused

sea

50 Unused
100 Unused
200 Unused
300 Unused
400 Unused
500 Unused
600 Unused
700 Unused
800 Unused
900 Unused
950 Unused

plum

50 Unused
100 Unused
200 Unused
300 Unused
400 Unused
500 Unused
600 Unused
700 Unused
800 Unused
900 Unused
950 Unused

alpha

steel-8 Unused
steel-12 Unused
steel-16 Unused
steel-48 1 semantic
black-24 Unused
black-40 Unused
black-56 Unused
black-64 1 semantic

Want to know exactly who uses a value? Paste a hex in search (⌘K) or in the token explorer.