All Tokens
Complete reference for color, data visualization, syntax, spacing, size, border, focus, radius, shadow, motion, and typography tokens.Color Tokens
Semantic colors for consistent theming. All colors use light-dark() for automatic mode switching.
| Token | Value |
|---|---|
| --color-accent | #1b1b1b / #f1f1f1 |
| --color-accent-muted | #f1f1f1 / #262626 |
| --color-on-accent | #ffffff / #111111 |
| --color-neutral | #0000000F / #ffffff1A |
| --color-background-surface | #ffffff / #262626 |
| --color-background-body | #f1f1f1 / #1b1b1b |
| --color-overlay | #00000080 / #000000CC |
| --color-overlay-hover | #0000000D / #ffffff0D |
| --color-overlay-pressed | #0000001A / #ffffff1A |
| --color-background-muted | #f1f1f1 / #1b1b1b |
| --color-text-primary | #000000 / #ffffff |
| --color-text-secondary | #474747 / #9e9e9e |
| --color-text-disabled | #919191 / #525252 |
| --color-text-accent | #1b1b1b / #f1f1f1 |
| --color-on-dark | #ffffff |
| --color-on-light | #111111 |
| --color-icon-accent | #1b1b1b / #f1f1f1 |
| --color-icon-primary | #000000 / #ffffff |
| --color-icon-secondary | #6a6a6a / #9e9e9e |
| --color-icon-disabled | #919191 / #525252 |
| --color-background-card | #ffffff / #1b1b1b |
| --color-background-popover | #ffffff / #1b1b1b |
| --color-background-inverted | #0A1317 / #FFFFFF |
| --color-background-error-inverted | #AA071E / #E3193B |
| --color-success | #00490b / #a4d6a3 |
| --color-success-muted | #bce0bb / #90ca903D |
| --color-on-success | #ffffff / #111111 |
| --color-error | #76000c / #ffc4be |
| --color-error-muted | #ffc4be / #ff98903D |
| --color-on-error | #ffffff / #111111 |
| --color-warning | #4b3900 / #f8d36a |
| --color-warning-muted | #fae19e / #e2b6233D |
| --color-on-warning | #111111 |
| --color-border | #00000014 / #ffffff1A |
| --color-border-emphasized | #d4d4d4 / #525252 |
| --color-skeleton | #f1f1f1 / #525252 |
| --color-track | #CCD3DB / #5A5E66 |
| --color-shadow | #0000001A / #0000004D |
| --color-tint-hover | black / white |
| --color-background-blue | #b9d7ff / #253c5a |
| --color-border-blue | #a1caff / #5aa0f8 |
| --color-icon-blue | #003978 / #88bcff |
| --color-text-blue | #003978 / #a1caff |
| --color-background-cyan | #9ae2f4 / #274046 |
| --color-border-cyan | #85d5e9 / #49adc4 |
| --color-icon-cyan | #004351 / #71c7dd |
| --color-text-cyan | #004351 / #85d5e9 |
| --color-background-gray | #e2e2e2 / #303030 |
| --color-border-gray | #d4d4d4 / #262626 |
| --color-icon-gray | #474747 / #9e9e9e |
| --color-text-gray | #1b1b1b / #d4d4d4 |
| --color-background-green | #bce0bb / #2b422b |
| --color-border-green | #aad4a9 / #6ab26b |
| --color-icon-green | #00490b / #90ca90 |
| --color-text-green | #00490b / #90ca90 |
| --color-background-orange | #ffc7a1 / #503424 |
| --color-border-orange | #ffc7a1 / #df843f |
| --color-icon-orange | #622700 / #ff9e55 |
| --color-text-orange | #622700 / #ffb37e |
| --color-background-pink | #ffc0d7 / #572b3d |
| --color-border-pink | #ffc0d7 / #fc78b1 |
| --color-icon-pink | #70003f / #fd92bd |
| --color-text-pink | #70003f / #ffa9ca |
| --color-background-purple | #f7d5ff / #4a2f51 |
| --color-border-purple | #f3bfff / #d885eb |
| --color-icon-purple | #5c0e6c / #e496f6 |
| --color-text-purple | #5c0e6c / #eaacf8 |
| --color-background-red | #ffc4be / #5b2b28 |
| --color-border-red | #ffaea7 / #fa6762 |
| --color-icon-red | #76000c / #ff9890 |
| --color-text-red | #76000c / #ffaea7 |
| --color-background-teal | #a9e2d6 / #28413c |
| --color-border-teal | #90d7c8 / #4fb1a0 |
| --color-icon-teal | #00463d / #81c9bb |
| --color-text-teal | #00463d / #90d7c8 |
| --color-background-yellow | #fae19e / #453a1c |
| --color-border-yellow | #e3c36c / #c29900 |
| --color-icon-yellow | #4b3900 / #e2b623 |
| --color-text-yellow | #4b3900 / #eec448 |
| --color-syntax-keyword | #6b187c / #efa8ff |
| --color-syntax-string | #0b5615 / #a4d6a3 |
| --color-syntax-comment | #6a6a6a / #9e9e9e |
| --color-syntax-number | #733100 / #ffb37e |
| --color-syntax-function | #00458c / #a1caff |
| --color-syntax-type | #6b187c / #efa8ff |
| --color-syntax-variable | #111111 / #e2e2e2 |
| --color-syntax-operator | #6a6a6a / #9e9e9e |
| --color-syntax-constant | #733100 / #ffb37e |
| --color-syntax-tag | #8a0011 / #ffaea7 |
| --color-syntax-attribute | #584400 / #eec448 |
| --color-syntax-property | #005348 / #90d7c8 |
| --color-syntax-punctuation | #6a6a6a / #9e9e9e |
| --color-syntax-background | #ffffff / #111111 |
| --color-data-categorical-blue | #0171E3 |
| --color-data-categorical-orange | #EB6E00 |
| --color-data-categorical-purple | #6B1EFD |
| --color-data-categorical-green | #0B991F |
| --color-data-categorical-pink | #F351C0 |
| --color-data-categorical-cyan | #0171A4 |
| --color-data-categorical-red | #F5394F |
| --color-data-categorical-teal | #08A3A3 |
| --color-data-categorical-brown | #965E03 |
| --color-data-categorical-indigo | #6F8AFF |
| --color-data-neutral | #8494A3 / #8C939B |
| --color-data-blue-5 | #02165E |
| --color-data-blue-4 | #004CBC |
| --color-data-blue-3 | #2694FE |
| --color-data-blue-2 | #78BEFF |
| --color-data-blue-1 | #DBECFF |
| --color-data-shamrock-5 | #0B603D |
| --color-data-shamrock-4 | #138546 |
| --color-data-shamrock-3 | #24BB5E |
| --color-data-shamrock-2 | #8EF7AA |
| --color-data-shamrock-1 | #D6FEE4 |
| --color-data-orange-5 | #A13F04 |
| --color-data-orange-4 | #D66100 |
| --color-data-orange-3 | #FD9537 |
| --color-data-orange-2 | #FDB876 |
| --color-data-orange-1 | #FFE6CF |
| --color-data-pink-5 | #8E1073 |
| --color-data-pink-4 | #D123A1 |
| --color-data-pink-3 | #F989D3 |
| --color-data-pink-2 | #FEADE3 |
| --color-data-pink-1 | #FCE3F4 |
| --color-data-purple-5 | #3E0697 |
| --color-data-purple-4 | #6B1EFD |
| --color-data-purple-3 | #9081FF |
| --color-data-purple-2 | #B3B0FE |
| --color-data-purple-1 | #E8E8FB |
| --color-data-red-5 | #9D0519 |
| --color-data-red-4 | #D31130 |
| --color-data-red-3 | #FB7D87 |
| --color-data-red-2 | #FFB2B8 |
| --color-data-red-1 | #FEE4E6 |
| --color-data-teal-5 | #08767D |
| --color-data-teal-4 | #0C9293 |
| --color-data-teal-3 | #0DB7AF |
| --color-data-teal-2 | #6CE6D8 |
| --color-data-teal-1 | #D7FCF8 |
| --color-data-yellow-5 | #8A5001 |
| --color-data-yellow-4 | #D69804 |
| --color-data-yellow-3 | #FBCE03 |
| --color-data-yellow-2 | #FCEC85 |
| --color-data-yellow-1 | #FDF6BA |
| --color-data-gray-5 | #25363F / #333338 |
| --color-data-gray-4 | #5D6C7B / #666A72 |
| --color-data-gray-3 | #AFB9C4 / #B2B8BE |
| --color-data-gray-2 | #CCD3DB / #D0D3D6 |
| --color-data-gray-1 | #F1F4F7 / #F2F4F6 |
| --color-brand |
Data Visualization Tokens
Colors for charts and graphs: one categorical accent per series, a neutral for labels and reference lines, and sequential ramps from 5 (darkest) to 1 (lightest) for ordered scales and heatmaps. Import dataVars from @astryxdesign/core/theme/dataTokens.stylex for CSS-capable code. Retaining any member emits the complete 56-variable group; an unused graph emits none.
| Token | Light | Dark |
|---|---|---|
| --color-data-categorical-blue | #0171E3 | #0171E3 |
| --color-data-categorical-orange | #EB6E00 | #EB6E00 |
| --color-data-categorical-purple | #6B1EFD | #6B1EFD |
| --color-data-categorical-green | #0B991F | #0B991F |
| --color-data-categorical-pink | #F351C0 | #F351C0 |
| --color-data-categorical-cyan | #0171A4 | #0171A4 |
| --color-data-categorical-red | #F5394F | #F5394F |
| --color-data-categorical-teal | #08A3A3 | #08A3A3 |
| --color-data-categorical-brown | #965E03 | #965E03 |
| --color-data-categorical-indigo | #6F8AFF | #6F8AFF |
| --color-data-neutral | #8494A3 | #8C939B |
| --color-data-blue-5 | #02165E | #02165E |
| --color-data-blue-4 | #004CBC | #004CBC |
| --color-data-blue-3 | #2694FE | #2694FE |
| --color-data-blue-2 | #78BEFF | #78BEFF |
| --color-data-blue-1 | #DBECFF | #DBECFF |
| --color-data-shamrock-5 | #0B603D | #0B603D |
| --color-data-shamrock-4 | #138546 | #138546 |
| --color-data-shamrock-3 | #24BB5E | #24BB5E |
| --color-data-shamrock-2 | #8EF7AA | #8EF7AA |
| --color-data-shamrock-1 | #D6FEE4 | #D6FEE4 |
| --color-data-orange-5 | #A13F04 | #A13F04 |
| --color-data-orange-4 | #D66100 | #D66100 |
| --color-data-orange-3 | #FD9537 | #FD9537 |
| --color-data-orange-2 | #FDB876 | #FDB876 |
| --color-data-orange-1 | #FFE6CF | #FFE6CF |
| --color-data-pink-5 | #8E1073 | #8E1073 |
| --color-data-pink-4 | #D123A1 | #D123A1 |
| --color-data-pink-3 | #F989D3 | #F989D3 |
| --color-data-pink-2 | #FEADE3 | #FEADE3 |
| --color-data-pink-1 | #FCE3F4 | #FCE3F4 |
| --color-data-purple-5 | #3E0697 | #3E0697 |
| --color-data-purple-4 | #6B1EFD | #6B1EFD |
| --color-data-purple-3 | #9081FF | #9081FF |
| --color-data-purple-2 | #B3B0FE | #B3B0FE |
| --color-data-purple-1 | #E8E8FB | #E8E8FB |
| --color-data-red-5 | #9D0519 | #9D0519 |
| --color-data-red-4 | #D31130 | #D31130 |
| --color-data-red-3 | #FB7D87 | #FB7D87 |
| --color-data-red-2 | #FFB2B8 | #FFB2B8 |
| --color-data-red-1 | #FEE4E6 | #FEE4E6 |
| --color-data-teal-5 | #08767D | #08767D |
| --color-data-teal-4 | #0C9293 | #0C9293 |
| --color-data-teal-3 | #0DB7AF | #0DB7AF |
| --color-data-teal-2 | #6CE6D8 | #6CE6D8 |
| --color-data-teal-1 | #D7FCF8 | #D7FCF8 |
| --color-data-yellow-5 | #8A5001 | #8A5001 |
| --color-data-yellow-4 | #D69804 | #D69804 |
| --color-data-yellow-3 | #FBCE03 | #FBCE03 |
| --color-data-yellow-2 | #FCEC85 | #FCEC85 |
| --color-data-yellow-1 | #FDF6BA | #FDF6BA |
| --color-data-gray-5 | #25363F | #333338 |
| --color-data-gray-4 | #5D6C7B | #666A72 |
| --color-data-gray-3 | #AFB9C4 | #B2B8BE |
| --color-data-gray-2 | #CCD3DB | #D0D3D6 |
| --color-data-gray-1 | #F1F4F7 | #F2F4F6 |
Syntax Tokens
Code highlighting colors used by CodeBlock. Each defaults to a palette token, so syntax colors follow the theme; defineTheme({syntax}) sets a syntax theme instead.
| Token | Value |
|---|---|
| --color-syntax-keyword | var(--color-text-accent) |
| --color-syntax-string | var(--color-text-green) |
| --color-syntax-comment | var(--color-text-secondary) |
| --color-syntax-number | var(--color-text-orange) |
| --color-syntax-function | var(--color-text-blue) |
| --color-syntax-type | var(--color-text-purple) |
| --color-syntax-variable | var(--color-text-primary) |
| --color-syntax-operator | var(--color-text-cyan) |
| --color-syntax-constant | var(--color-text-orange) |
| --color-syntax-tag | var(--color-text-red) |
| --color-syntax-attribute | var(--color-text-teal) |
| --color-syntax-property | var(--color-text-cyan) |
| --color-syntax-punctuation | var(--color-text-secondary) |
| --color-syntax-background | var(--color-background-muted) |
Spacing Tokens
Spacing scale used for padding, gap, and margin. Component gap props map spacing steps to these tokens.
| Token | Value |
|---|---|
| --spacing-0 | 0px |
| --spacing-0-5 | 2px |
| --spacing-1 | 4px |
| --spacing-1-5 | 6px |
| --spacing-2 | 8px |
| --spacing-3 | 12px |
| --spacing-4 | 16px |
| --spacing-5 | 20px |
| --spacing-6 | 24px |
| --spacing-7 | 28px |
| --spacing-8 | 32px |
| --spacing-9 | 36px |
| --spacing-10 | 40px |
| --spacing-11 | 44px |
| --spacing-12 | 48px |
Size Tokens
Control heights for consistent sizing across buttons, inputs, and selectors.
| Token | Value |
|---|---|
| --size-element-sm | 28px |
| --size-element-md | 32px |
| --size-element-lg | 36px |
Border Tokens
Border width for card and input borders.
| Token | Value | Example |
|---|---|---|
| --border-width | 1px |
Focus Tokens
The keyboard focus ring, shared by every component that draws one. Override these to restyle focus across the system.
| Token | Value |
|---|---|
| --focus-outline-width | 2px |
| --focus-outline-style | solid |
| --focus-outline-color | var(--color-accent) |
| --focus-outline-offset | 3px |
Radius Tokens
Numeric scale based on a 4dp base unit. Tokens scale with the theme's radius multiplier; --radius-none and --radius-full are fixed.
| Token | Value | Example |
|---|---|---|
| --radius-none | 0px | |
| --radius-inner | 8px | |
| --radius-element | 12px | |
| --radius-container | 16px | |
| --radius-page | 32px | |
| --radius-chat | 28px | |
| --radius-full | 9999px |
Shadow Tokens
Elevation shadows (low to med to high) and inset shadows for input state rings.
| Token | Preview |
|---|---|
| --shadow-low | |
| --shadow-med | |
| --shadow-high | |
| --shadow-inset-hover | |
| --shadow-inset-selected | |
| --shadow-inset-success | |
| --shadow-inset-warning | |
| --shadow-inset-error |
Duration Tokens
Motion duration primitives. Three bands: fast (micro-interactions), medium (entrance/exit), slow (continuous). Min/max variants derive from base × ratio.
| Token | Value |
|---|---|
| --duration-fast-min | 130ms |
| --duration-fast | 175ms |
| --duration-fast-max | 230ms |
| --duration-medium-min | 310ms |
| --duration-medium | 410ms |
| --duration-medium-max | 550ms |
| --duration-slow-min | 730ms |
| --duration-slow | 975ms |
| --duration-slow-max | 1300ms |
Easing Tokens
Easing curves for animations and transitions.
| Token | Value |
|---|---|
| --ease-standard |
Font Family Tokens
Font family stacks for body, code, and heading text.
| Token | Value | Example |
|---|---|---|
| --font-family-body | Figtree | The quick brown fox jumps over the lazy dog |
| --font-family-code | "SF Mono" | The quick brown fox jumps over the lazy dog |
| --font-family-heading | Figtree | The quick brown fox jumps over the lazy dog |
Font Size Tokens
Geometric type scale: round(14 × 1.2^step). Base is 14px (--font-size-base).
| Token | Value | Example |
|---|---|---|
| --font-size-4xs | 0.375rem | The quick brown fox jumps over the lazy dog |
| --font-size-3xs | 0.4375rem | The quick brown fox jumps over the lazy dog |
| --font-size-2xs | 0.5rem | The quick brown fox jumps over the lazy dog |
| --font-size-xs | 0.625rem | The quick brown fox jumps over the lazy dog |
| --font-size-sm | 0.75rem | The quick brown fox jumps over the lazy dog |
| --font-size-base | 0.875rem | The quick brown fox jumps over the lazy dog |
| --font-size-lg | 1.0625rem | The quick brown fox jumps over the lazy dog |
| --font-size-xl | 1.25rem | The quick brown fox jumps over the lazy dog |
| --font-size-2xl | 1.5rem | The quick brown fox jumps over the lazy dog |
| --font-size-3xl | 1.8125rem | The quick brown fox jumps over the lazy dog |
| --font-size-4xl | 2.1875rem | The quick brown fox jumps over the lazy dog |
| --font-size-5xl | 2.625rem | The quick brown fox jumps over the lazy dog |
Font Weight Tokens
Font weight values for body, emphasis, and headings.
| Token | Value | Example |
|---|---|---|
| --font-weight-normal | 400 | The quick brown fox jumps over the lazy dog |
| --font-weight-medium | 500 | The quick brown fox jumps over the lazy dog |
| --font-weight-semibold | 600 | The quick brown fox jumps over the lazy dog |
| --font-weight-bold | 700 | The quick brown fox jumps over the lazy dog |
Type Scale Tokens
Semantic tokens for headings, body, labels, code, supporting text, and display text. References font size and weight tokens. Override via typography.scale in defineTheme.
| Sample | Tokens |
|---|---|
| H1 | 1.5rem · Figtree600 · 1.3333 (2px) |
| H2 | 1.25rem · Figtree600 · 1.4 (2px) |
| H3 | 1.0625rem · Figtree600 · 1.4118 (2px) |
| H4 | 0.875rem · Figtree600 · 1.4286 (1px) |
| H5 | 0.75rem · Figtree600 · 1.6667 (1px) |
| H6 | 0.625rem · Figtree600 · 1.6 (1px) |
| Display 1 | 2.625rem · Figtree600 · 1.2381 (3px) |
| Display 2 | 2.1875rem · Figtree600 · 1.2571 (3px) |
| Display 3 | 1.8125rem · Figtree600 · 1.2414 (2px) |
| Large | 1.0625rem · Figtree600 · 1.4118 (2px) |
| Body | 0.875rem · Figtree400 · 1.4286 (1px) |
| Label | 0.875rem · Figtree500 · 1.4286 (1px) |
| Code | 0.875rem · "SF Mono"400 · 1.4286 (1px) |
| Supporting | 0.75rem · Figtree400 · 1.6667 (1px) |
Usage in StyleX
tsximport * as stylex from '@stylexjs/stylex';import {colorVars, spacingVars, sizeVars, radiusVars} from '@astryxdesign/core/theme/tokens.stylex';import {dataVars} from '@astryxdesign/core/theme/dataTokens.stylex';const styles = stylex.create({card: {padding: spacingVars['--spacing-4'],backgroundColor: colorVars['--color-background-surface'],borderRadius: radiusVars['--radius-container'],},series: {color: dataVars['--color-data-categorical-blue'],},button: {height: sizeVars['--size-element-md'],},});
Use dataVars for StyleX, DOM styles, and SVG presentation attributes. Canvas and other APIs that require concrete mode-resolved values use resolveThemeToken() or useTheme().token() instead. Raw CSS may use the stable custom-property names only when compiled dataVars output is guaranteed or the declaration carries an explicit fallback. See astryx docs styling for xstyle, className, and compound component patterns, and astryx docs author-a-theme for overriding tokens with defineTheme.