Typography
Four type families, each with one job, self-hosted in the package.
Four families, each with one job. They are self-hosted in the package —
@simal/ui/fonts.css — so nothing here reaches a third-party font host at
render time.
Families
| Family | Variable | Role |
|---|---|---|
| Inter | --font-sans | Everything by default |
| Instrument Serif | --font-serif | Editorial display — page and section titles |
| JetBrains Mono | --font-mono | Micro-labels, token names, IDs, numerics |
| Noto Serif Devanagari | --font-deva | Bikram Sambat dates |
Inter needs no opt-in: Tailwind preflight applies --font-sans as the
document default, so it is the baseline everywhere.
Instrument Serif is loaded natively as "InstrumentSerif" — uniwind
requires the React Native font name to match the useFonts() key exactly.
Noto Serif Devanagari carries the Devanagari face for BS calendar output. Latin text should never fall through to it.
Scale
| Step | Classes |
|---|---|
| Display | font-serif text-5xl |
| Title | font-serif text-3xl |
| Heading | text-xl font-medium |
| Body | text-base |
| Small | text-sm |
| Micro | font-mono text-xs uppercase tracking-wider |
See the Text component for the runtime equivalents —
its variant prop maps onto this scale, and it is what you should reach for
inside a React Native tree rather than the classes directly.