DS-GN uses OKLCH color values for perceptual uniformity across the palette. Colors are organized into primitives and semantic tokens.
Color Primitives
Blue (Brand)
| Token | Value |
|---|---|
--color-blue-50 |
oklch(97% 0.014 254.604) |
--color-blue-100 |
oklch(93.2% 0.032 255.585) |
--color-blue-300 |
oklch(80.9% 0.105 251.813) |
--color-blue-400 |
oklch(70.7% 0.165 254.624) |
--color-blue-500 |
oklch(62.3% 0.214 259.815) |
--color-blue-600 |
oklch(54.6% 0.245 262.881) |
--color-blue-700 |
oklch(48.8% 0.243 264.376) |
--color-blue-800 |
oklch(42.4% 0.199 265.638) |
--color-blue-900 |
oklch(37.9% 0.146 265.522) |
Orange (Accent)
| Token | Value |
|---|---|
--color-orange-100 |
oklch(95.4% 0.038 75.164) |
--color-orange-300 |
oklch(83.7% 0.128 66.29) |
--color-orange-500 |
oklch(70.5% 0.213 47.604) |
--color-orange-600 |
oklch(64.6% 0.222 41.116) |
--color-orange-700 |
oklch(55.3% 0.195 38.402) |
Neutral
| Token | Value |
|---|---|
--color-neutral-50 |
oklch(98.5% 0 0) |
--color-neutral-200 |
oklch(92.2% 0 0) |
--color-neutral-500 |
oklch(55.6% 0 0) |
--color-neutral-700 |
oklch(37.1% 0 0) |
--color-neutral-900 |
oklch(20.5% 0 0) |
Semantic Tokens
Semantic tokens map purpose to color values and adapt for light/dark surfaces:
| Token | Light | Dark |
|---|---|---|
--brand-on-light / --brand-on-dark |
Blue 500 | Blue 400 |
--accent-on-light / --accent-on-dark |
Orange 600 | Orange 500 |
--surface-on-light / --surface-on-dark |
White | Neutral 900 |
--text-on-light / --text-on-dark |
Neutral 900 | Neutral 50 |
Usage
Import the token stylesheet in your app:
@import '@ds-gn/tokens/public';
Use tokens as CSS custom properties:
.my-element {
color: var(--brand-on-light);
background: var(--surface-on-light);
}