Lab
The design tokens this site is built from. Each one is listed with its light and dark values, the primitive it comes from, and a preview styled by the token itself.
Color
| Token | Description | Light | Dark | Preview |
|---|---|---|---|---|
--color-surface-base | Page background. | #fffffffrom color.gray.0 | #101216from color.gray.950 | |
--color-surface-raised | Background of raised areas: cards, table headers, code. | #f8f9fafrom color.gray.50 | #1a1d23from color.gray.900 | |
--color-text-default | Primary text. | #1a1d23from color.gray.900 | #f8f9fafrom color.gray.50 | |
--color-text-muted | Secondary text. | #525866from color.gray.600 | #cdd2d8from color.gray.300 | |
--color-text-subtle | Tertiary text, such as metadata. Still body text, so 4.5:1. | #6b7280from color.gray.500 | #9ba3aefrom color.gray.400 | |
--color-link-default | Link text. | #1d4ed8from color.blue.700 | #93c5fdfrom color.blue.300 | |
--color-link-hover | Link text on hover. | #1e40affrom color.blue.800 | #bfdbfefrom color.blue.200 | |
--color-border-subtle | Decorative dividers only. Not contrast-checked; never the only boundary of a control. | #e2e5e9from color.gray.200 | #2a2f38from color.gray.800 | |
--color-border-strong | Boundaries of UI components (3:1). | #6b7280from color.gray.500 | #6b7280from color.gray.500 | |
--color-focus-ring | Focus indicator color (3:1 against every surface). | #2563ebfrom color.blue.600 | #60a5fafrom color.blue.400 |
Type
| Token | Description | Value | Preview |
|---|---|---|---|
--type-family-body | Font family for all body and UI text. | system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji'from type.font-stack.system | |
--type-family-code | Font family for code and token names. | ui-monospace, SFMono-Regular, Menlo, Consolas, monospacefrom type.font-stack.mono | |
--type-size-small | Secondary text: captions, footers, metadata. | 0.875remfrom type.font-size.sm | |
--type-size-body | Default running text. | 1remfrom type.font-size.md | |
--type-size-lead | Introductory paragraph text. | 1.25remfrom type.font-size.lg | |
--type-size-h1 | Page title (h1). | 2.5remfrom type.font-size.3xl | |
--type-size-h2 | Section heading (h2). | 2remfrom type.font-size.2xl | |
--type-size-h3 | Subsection heading (h3). | 1.5remfrom type.font-size.xl | |
--type-weight-body | Weight for running text. | 400from type.font-weight.400 | |
--type-weight-strong | Weight for emphasis and labels. | 600from type.font-weight.600 | |
--type-weight-heading | Weight for headings. | 700from type.font-weight.700 | |
--type-leading-body | Line height for running text. | 1.6from type.line-height.normal | |
--type-leading-heading | Line height for headings. | 1.2from type.line-height.tight |
Space
| Token | Description | Value | Preview |
|---|---|---|---|
--space-inset-sm | Padding inside small elements. | 0.5remfrom space.2 | |
--space-inset-md | Padding inside standard containers. | 1remfrom space.4 | |
--space-inset-lg | Padding inside large containers. | 1.5remfrom space.6 | |
--space-stack-xs | Vertical gap between tightly related items. | 0.25remfrom space.1 | |
--space-stack-sm | Vertical gap between related items. | 0.5remfrom space.2 | |
--space-stack-md | Vertical gap between paragraphs and blocks. | 1remfrom space.4 | |
--space-stack-lg | Vertical gap between groups. | 1.5remfrom space.6 | |
--space-stack-xl | Vertical gap between sections. | 2remfrom space.8 | |
--space-inline-sm | Horizontal gap between small inline items. | 0.5remfrom space.2 | |
--space-inline-md | Horizontal gap between inline items, such as nav links. | 1remfrom space.4 | |
--space-layout-xs | Page side gutter (16px). | 1remfrom space.4 | |
--space-layout-sm | Small layout gap between page regions. | 2remfrom space.8 | |
--space-layout-md | Medium layout gap between page regions. | 3remfrom space.12 | |
--space-layout-lg | Large layout gap between page regions. | 4remfrom space.16 |
Radius
| Token | Description | Value | Preview |
|---|---|---|---|
--radius-control | Corners of interactive controls. | 4pxfrom radius.4 | |
--radius-surface | Corners of cards and raised surfaces. | 8pxfrom radius.8 | |
--radius-pill | Fully rounded pills and tags. | 9999pxfrom radius.full |
Motion
| Token | Description | Value | Preview |
|---|---|---|---|
--motion-duration-instant | Immediate feedback, such as hover color changes. | 100msfrom motion.time.100Reduced motion: 0ms from motion.time.0 | No preview |
--motion-duration-fast | Small state changes. | 150msfrom motion.time.150Reduced motion: 0ms from motion.time.0 | No preview |
--motion-duration-base | Standard transitions. | 250msfrom motion.time.250Reduced motion: 0ms from motion.time.0 | No preview |
--motion-duration-slow | Large or entering elements. | 400msfrom motion.time.400Reduced motion: 0ms from motion.time.0 | No preview |
--motion-easing-enter | Elements entering or appearing. | cubic-bezier(0, 0, 0.2, 1)from motion.curve.out | No preview |
--motion-easing-exit | Elements leaving or disappearing. | cubic-bezier(0.4, 0, 1, 1)from motion.curve.in | No preview |
--motion-easing-standard | Elements moving or changing in place. | cubic-bezier(0.4, 0, 0.2, 1)from motion.curve.in-out | No preview |
Effect
| Token | Description | Light | Dark | Preview |
|---|---|---|---|---|
--effect-focus-ring-width | Focus indicator outline width. | Both themes2pxfrom effect.line.2 | ||
--effect-focus-ring-offset | Gap between an element and its focus indicator. | Both themes2pxfrom effect.line.2 | ||
--effect-elevation-raised | Shadow for slightly raised surfaces. | 0px 1px 2px 0px rgb(0% 0% 0% / 0.08)from effect.shadow.sm | 0px 1px 2px 0px rgb(0% 0% 0% / 0.5)from effect.shadow.sm-dark | |
--effect-elevation-overlay | Shadow for overlays such as menus and dialogs. | 0px 4px 12px 0px rgb(0% 0% 0% / 0.12)from effect.shadow.md | 0px 4px 12px 0px rgb(0% 0% 0% / 0.6)from effect.shadow.md-dark | |