| Token | Face | Job |
|---|---|---|
font.statement | Exposure, a serif (licensed separately, not in this kit) | The one statement on a surface |
font.text | Geist (SIL Open Font License) | Everything a person reads |
font.label | Geist Mono (SIL Open Font License) | Section labels and step numbers |
Rules
- Set one statement per surface in the serif, and nothing else. Because the serif marks the single idea the surface exists to say; a second serif line competes with it.
- Balance the statement's lines and never break a hyphenated word across them. Because a statement read in one glance should not end on an orphaned word or a dangling "Claude-".
- Set body copy in Geist at 15px or larger. Because smaller text strains at the distance people hold phones.
- Set labels in Geist Mono, uppercase, 11px, in stone. Because labels name a section without competing with its content.
- Fall back to the listed system fonts, never to a different brand face. Because a missing font should degrade quietly, not change the brand.