Skip to content

Color

Colors help focus attention and communicate intent.

Semantic color tokens provide theme-aware design tokens that automatically adapt to both light and dark mode. These tokens use meaningful names like text-default or bg-surface-default instead of specific color values and should be used in most situations.

Text colors are all designed with a contrast ratio of at least 4.5:1 (AA) against common backgrounds like bg-surface-default or bg-surface-dim.

Status text colors are paired with matching status surfaces:

  • text-info, text-success, text-warning, and text-error are default status text colors for descriptions and secondary copy.
  • Use the matching -strong token for titles, emphasized text, and badges on status surfaces.
  • text-primary, text-on-*, and bg-surface-primary are deprecated in the Product Color Refresh table; use text-info, text-*-strong, and bg-surface-info for new status UI.
Name
Used for
Example
.text-default
Primary text color
The quick brown fox
.text-dim
Secondary text color
The quick brown fox
.text-placeholder
Input placeholder text
The quick brown fox
.text-primary
Brand-colored text
Deprecated - use .text-info
The quick brown fox
.text-info
Default info text; descriptions
The quick brown fox
.text-info-strong
Info emphasis; titles when paired with descriptions
The quick brown fox
.text-success
Success state text
The quick brown fox
.text-success-strong
Success emphasis; titles when paired with descriptions
The quick brown fox
.text-warning
Warning state text
The quick brown fox
.text-warning-strong
Warning emphasis; titles when paired with descriptions
The quick brown fox
.text-error
Error state text
The quick brown fox
.text-error-strong
Error emphasis; titles when paired with descriptions
The quick brown fox
.text-on-element
Text on buttons and other high-contrast elements
Deprecated
The quick brown fox
.text-on-element-dim
Icons or secondary text on high-contrast elements
Deprecated
The quick brown fox
.text-on-primary
Text on primary banners, badges
Deprecated - use .text-info-strong
The quick brown fox
.text-on-success
Text on success banners, badges
Deprecated - use .text-success-strong
The quick brown fox
.text-on-warning
Text on warning banners, badges
Deprecated - use .text-warning-strong
The quick brown fox
.text-on-error
Text on error banners, badges
Deprecated - use .text-error-strong
The quick brown fox

Most interactive elements use border-default. In cases where a border is less important, such as dividing lines in a table, border-dim can be used instead. Use border-emphasis for stronger neutral borders, like hover states or active surfaces.

Name
Used for
Example
.border-defaultMost borders: inputs, buttons, etc.
.border-dimSubtler borders: separators, table rows, etc.
.border-emphasisEmphasized neutral borders: hover states, active surfaces, etc.
.border-errorError states
.border-focusFocus states
.border-infoInfo states: info banners, informational links, etc.
.border-successSuccess states
.border-warningWarning states

Semantic background tokens are divided into four levels: surface, elements, scrims, and overlays.

Surface elements are the background of the application. These colors are low-contrast and intended to group elements together into sections without attracting too much attention.

Name
Used for
Example
.bg-surface-default
Main app background
.bg-surface-dim
Nav background, Scribe background
.bg-surface-neutral
Row hovers, ghost button hovers
.bg-surface-primary
Primary banners, badges
Deprecated - use .bg-surface-info
.bg-surface-info
Info banners, badges
.bg-surface-success
Success banners, badges
.bg-surface-warning
Warning banners, badges
.bg-surface-error
Error banners, badges

Element backgrounds are higher-contrast to draw the user's attention to specific actions or events. They are used for things like primary buttons, progress bars, switches, and other interactive or important UI.

Name
Used for
Example
.bg-element-primary
Primary buttons
.bg-element-primary-lighter
:hover
.bg-element-primary-darker
:active
.bg-element-success
Switch toggles
.bg-element-success-lighter
:hover
.bg-element-success-darker
:active
.bg-element-warning
Warning elements
.bg-element-warning-lighter
:hover
.bg-element-warning-darker
:active
.bg-element-error
Destructive buttons
.bg-element-error-lighter
:hover
.bg-element-error-darker
:active

Scrims appear inbetween any overlays and the rest of the application. They obscure the content behind it in order to draw the user's focus to an overlay.

Name
Used for
Example
.bg-scrim
Overlay backdrops

Overlays are the top layer. The overlay background is a ligher shade than the default app background, and is used for dialogs, popovers, tooltips, and other floating UI. It is usually paired with a drop shadow.

Name
Used for
Example
.bg-elevated
Modals, popovers, tooltips

Accent tokens are a single, unified family that serves two jobs: the categorical data-visualization series and branded-component accents (avatars, pins, click targets, page backgrounds). Like the semantic tokens above, they are theme-aware and adapt to light and dark mode automatically.

accent-1 through accent-5 are an ordered series — reach for them by position (series index), not by hue. The hue names below are only there to orient you; picking accent-2 because you want "orange" couples your UI to the current palette and will drift if the palette is refreshed. accent-neutral is the muted "no category" slot.

Each token resolves as text-, bg-, border-, and fill- utilities (use fill-accent-* for SVG data-viz).

Name
Used for
Example
.accent-1Series color 1 — blue
.accent-2Series color 2 — orange
.accent-3Series color 3 — periwinkle
.accent-4Series color 4 — yellow
.accent-5Series color 5 — green
.accent-neutralUncategorized / muted slot — neutral slate

Use core colors directly when building data visualizations or implementing brand-specific elements. Otherwise, default to semantic colors.

Brand

Slate

Red

Orange

Yellow

Lime

Green

Teal

Cyan

Sky

Blue

Purple

Fuchsia

Pink

Rose

Colors in Figma are published from Stylus Design System and should be available by default in Figma files within the Scribe workspace.

Any colors in the palette can be used by applying the appropriate Tailwind CSS class to your element. Use the bg- prefix for background colors and text- prefix for text colors.