Primitive, semantic, and component layers
Primitive tokens are your raw color values: blue-500, gray-100, red-600. Semantic tokens map those to roles: surface-default, text-primary, border-subtle. Component tokens reference semantics for specific UI elements: button-primary-bg, input-border-error. This three-layer system means a theme change only touches the semantic layer — components don't know or care about the raw values underneath.
