Color Scale
Understanding the tonal scale system from 0 (lightest) to 1000 (darkest) and how to use each step for consistent visual hierarchy.
Interaction Modes
Reviewing
Selecting
Experience Surfaces
Page Body Inline
Delivery Channels
Web
Authors
Taka Shimokobe, Nor Sanavongsay
Last Updated
October 2026
Experience Surfaces
Page Body Inline
Delivery Channels
Web
Authors
Taka Shimokobe, Nor Sanavongsay
Last Updated
October 2026
Overview
Colors are organized into scales with steps from 0 (lightest) to 1000 (darkest). Colors are designed to be perceptually balanced, ensuring consistent lightness across color families. Colors with the same step number serve similar purposes, regardless of hue.

Scales are designed using the okLCH color space to create perceptually balanced colors. Color peak in vividness at the midpoint (500) and decrease at the tail-ends to create softer surface colors and more vibrant accents.

Amber Exception: Due to amber’s natural color properties, its chroma peaks at lighter values (around step 300) rather than 500. This means amber uses step 400 for primary colors to maintain accessibility compliance while preserving vibrancy.


Usage Guidance
Do
- Apply consistent steps for similar UI elements across all color families
- When choosing color combinations, use the contrast framework
- to ensure accessible contrast ratios
- Use steps to create visual hierarchy
Don't
- Use steps for different purposes
- Mix steps randomly, always consider visual hierarchy
- Ignore contrast requirements when choosing steps

Step Guidelines
Choose the right step for your UI elements:

| Step | Primary Use Case | Description |
|---|---|---|
| 0 | Page backgrounds | Lightest color (white in light mode, black in dark mode) |
| 25 | Input backgrounds | Subtle differentiation that maintains text contrast |
| 50 | Subtle backgrounds | Light surface backgrounds that don’t compete with primary content |
| 100 | Secondary backgrounds | Clear hierarchy between subtle and primary content |
| 200 | Divider borders | Gentle separation, less harsh than stronger borders |
| 300 | Container borders | Structural definition while remaining lightweight |
| 400 | Disabled states | Reduced contrast for disabled input borders and text |
| 500 | Input borders | Meets 3:1 contrast for interactive boundaries |
| 600 | Accent text | Balances vividness with readability on white backgrounds |
| 700 | Hover states | Increased weight provides interaction feedback |
| 800 | Body text | Comfortable contrast for extended reading |
| 900 | Heading text | Strong contrast creates content hierarchy |
| 950 | Display text | Maximum contrast demands immediate attention |
| 975 | Dark mode backgrounds | Reserved for dark mode page backgrounds |
| 1000 | Maximum contrast | Strongest emphasis for overlays, rarely used |
Steps 0–100 - Page Backgrounds

Use the default page background for most use cases, especially if colors will be used on top of it.
A secondary option is needed when subtle differentiation is needed against the background.
Do
- Use default background for most page layouts
- Choose subtle alternatives when background differentiation is needed
- Apply very light backgrounds for disabled and error states
Don't
- Use subtle backgrounds when color overlays will be present
- Apply alternative backgrounds without clear purpose
| Color | Usage |
|---|---|
base.0 | Default background color for pages |
slate.50 | Subtle background color for pages |
Step 200, 300 - Surface Borders
Visual structures for non-interactive surfaces.


Do
- Use lighter borders for list dividers and lightweight boundaries
- Apply stronger borders for container definition and modular sections
- Choose based on visual separation needs
Don't
- Use for interactive elements requiring higher contrast
- Apply to elements needing accessibility compliance
Step 400, 500 - Interactive Elements


Do
- Use reduced contrast for disabled states and non-interactive elements
- Apply accessible contrast for input borders and interactive elements
- Meet minimum WCAG 2.1 AA compliance requirements
- Leverage peak saturation for vibrant accent colors
Don't
- Use disabled state colors for interactive elements
- Apply interactive colors below minimum contrast requirements
- Use low contrast colors for accessibility-critical elements
Step 600, 700 - Accent Backgrounds
Vibrant interactive elements with guaranteed readability with inverse text or top of default backgrounds (4.5:1 contrast).


Do
- Use for interactive accent colors, like PrimaryButton backgrounds
- Apply to link text, error text, and hint text on default backgrounds
- Use the next step (700) for hover states and 800 for active states
Don't
- Apply to secondary UI or prose text - Use when something more subtle is more appropriate
Step 800, 900, 950 - Text Hierarchy
Text contrast levels for content hierarchy and readability.

Step 800 - Comfortable contrast for extended reading and body text. Step 900 - Strong contrast for headings and important text. Step 950 - Maximum contrast for display text and hero headlines.
Do
- Use on prose content
- Match level of contrast to typographic hierarchy
Don't
- Use for secondary or instructional text (use 600 instead)
- Use for accent text, like links (use 600 intead)
Step 975 - Dark Mode Backgrounds
Reserved for dark mode page backgrounds to maintain consistent color relationships.

Do
- Use exclusively for dark mode page backgrounds
Don't
- Use in light mode interfaces
Step 1000 - Overlay Backgrounds
Strongest emphasis color for alpha overlays and modal dialogs.

Do
- Use for alpha overlays and modal dialog scrims
Don't
- Use as solid color in interfaces