Name the purpose
A token should explain why the value exists, not what its current hex value resembles.
The visual, spatial, typographic, motion, media, and accessible accent-scheme decisions that every AI-Created interface inherits.
A product can switch themes and accent schemes without local color overrides.
Design decisions map to named semantic tokens before component styling.
Layouts remain readable from 320px through the 1400px container maximum.
Use a three-level naming model so raw values can change without altering product intent.
| Level | Example | Who uses it | Rule |
|---|---|---|---|
| Reference | --ref-red-500 | System maintainers | Stores a raw value. Never use directly in product UI. |
| Semantic | --color-action-primary | Designers and engineers | Names intent and owns light and dark mode behavior. |
| Component | Button / Primary / Background | Component authors | Maps a component decision to a semantic token. |
A token should explain why the value exists, not what its current hex value resembles.
Every accent role is tuned and reviewed across all nine schemes and light/dark mode, including focus and selection; feedback semantics remain stable.
Do not create a new token for one screen. Promote a value only after a repeated semantic need is demonstrated.
Existing red aliases remain supported public contracts. New work can prefer accent and action names when intent is unambiguous.
Accent schemes, committed actions, destructive actions, neutral surfaces, and semantic feedback each have an explicit role.
Samples resolve live through the current theme.
--color-bgPage background and highest-level negative space.
--color-surfaceCards, panels, fields, and floating regions.
--color-surface2Controls, inset regions, and subtle grouping.
--color-textHeadings, labels, and critical information.
--color-accentLinks, emphasis, and non-destructive branded actions.
--color-action-primaryHigh-emphasis action fill.
--color-action-destructiveDestructive action fill, distinct from ordinary commitment.
--color-control-borderContrast-safe boundaries for inputs and outlined controls.
--color-successCompleted or healthy outcomes only.
--color-warningRecoverable risk or pending attention.
--color-infoContextual or process information.
--color-errorInvalid input, failed operations, and destructive risk.
Instrument Serif creates editorial moments. Space Grotesk carries every functional reading task.
| Role | Family | Typical size | Use |
|---|---|---|---|
| Display / Hero | Instrument Serif | 60 to 96px | One primary narrative statement per page. |
| Display / Section | Instrument Serif | 40 to 60px | Major chapter introductions. |
| Heading | Space Grotesk 500 | 20 to 32px | Functional page and card hierarchy. |
| Body | Space Grotesk 400 | 14 to 20px | Instructions, descriptions, and long-form content. |
| Metadata | System mono | 10 to 12px | Tokens, statuses, keyboard keys, and code-adjacent labels. |
| Range | Gutter | Columns | Behavior |
|---|---|---|---|
| 320 to 767px | 6vw | 4 | Stack content, preserve source order, use full-width controls when needed. |
| 768 to 1023px | 2vw | 8 | Introduce split regions only when each column remains readable. |
| 1024 to 1399px | 2vw | 12 | Enable persistent secondary navigation and dense matrices. |
| 1400px and above | 2vw | 12 | Cap primary content at 1400px and grow outer whitespace. |
Tokenized radii and intentional optical adjustments may differ, but layout spacing should resolve to the base unit.
Parent layout owns relationships between siblings. Components own only their internal spacing.
Body copy should usually remain between 45 and 75 characters per line.
Responsive changes may alter layout, never the semantic or focus order.
Secondary visual systems remain restrained so content and interaction state stay primary.
| Area | Contract | Current support |
|---|---|---|
| Radius | 4px small, 6px default, 10px large, full for pills | Canonical tokens |
| Elevation | Border first; shadow only when depth changes interaction meaning | Local Tailwind effects, not yet canonical tokens |
| Motion | 200ms feedback, 300ms transitions, 500ms entrances | Canonical duration tokens and shared helpers |
| Icons | Lucide, 16px inline, 20px controls, 32px empty states | Code dependency; no separate icon package |
| Imagery | Theme-paired, art-directed, useful at crop extremes | ThemedHeroImage plus product-owned assets |
| Data visualization | Text, shape, and pattern reinforce color | Guidance only; no chart primitive yet |