02 — Visual Doctrine
Typography Scale
IDL defines a modular type scale with seven named steps: xs, sm, base, md, lg, xl, and 2xl. Each step is a tuple of four values: font-size, font-weight, line-height, and letter-spacing. All typographic expressions in IDL source MUST reference a named scale step by name — not by raw value. Raw numeric values for any typographic property in component declarations are Transform-phase errors.
Type Scale Reference
| Step | Size | Weight | Line Height | Letter Spacing |
|---|---|---|---|---|
| xs | 11px | 400 | 1.45 | 0.01em |
| sm | 13px | 400 | 1.55 | 0.005em |
| base | 15px | 400 | 1.65 | 0 |
| md | 17px | 400 | 1.6 | -0.005em |
| lg | 20px | 600 | 1.4 | -0.01em |
| xl | 26px | 600 | 1.25 | -0.02em |
| 2xl | 36px | 600 | 1.1 | -0.025em |
Typographic Composition
A component token may override a single axis of a scale step (e.g., specifying a different weight for a button label while retaining the scale step's size and line-height). Partial overrides are permitted at the component-token tier; full scale step declarations are permitted only in the system-level type scale definition. Cross-tier typographic references are prohibited.