Typography
The Luaris Framework uses a small typography system built around three font families, a shared size scale, named line-height tokens, and a compact weight range. These tokens are emitted as CSS variables and are intended to give the framework a consistent typographic rhythm across both content and components.
INFO
Typography tokens are intentionally separate from control-sizing tokens. For example, md type is 16px, while md controls are 32px tall.
Font Families
The framework provides three font-family roles:
primaryfor body copy and interface textsecondaryfor display or accent typographymonofor code and technical content
Nunito, Inter, Segoe UI, sans-serifPrimary body copy should feel clear, friendly, and easy to read.
Fraunces, Georgia, Times New Roman, serifSecondary display copy brings warmth, contrast, and emphasis.
JetBrains Mono, SFMono-Regular, Consolas, Liberation Mono, monospaceconst typography = "Monospace is used for code and technical content";
Font Sizes
The font-size scale ranges from 2xs to 3xl. This scale is used for headings, body copy, labels, and supporting text.
2xs (0.625rem / 10px)
The quick brown fox jumps over the lazy dog.
xs (0.75rem / 12px)
The quick brown fox jumps over the lazy dog.
sm (0.875rem / 14px)
The quick brown fox jumps over the lazy dog.
md (1rem / 16px)
The quick brown fox jumps over the lazy dog.
lg (1.25rem / 20px)
The quick brown fox jumps over the lazy dog.
xl (1.5rem / 24px)
The quick brown fox jumps over the lazy dog.
2xl (2rem / 32px)
The quick brown fox jumps over the lazy dog.
3xl (3rem / 48px)
The quick brown fox jumps over the lazy dog.
Line Heights
The line-height tokens control vertical rhythm. In general:
tightis best for headings and compact UI labelsnormalis the default for body copyrelaxedis useful for longer-form reading content
Tighter line-height is useful for headings and compact display text. It keeps short blocks visually dense, deliberate, and easy to scan when space is limited.
Normal line-height is the default for most body copy and interface text. It balances readability and density, making it the safest choice for general-purpose layouts.
Relaxed line-height gives longer-form reading content more room to breathe. It works best for larger text blocks where a slower, more comfortable reading rhythm matters.
Font Weights
The weight scale is intentionally small so components stay visually consistent without too many near-duplicate emphasis levels.
light (300)
The quick brown fox jumps over the lazy dog.
regular (400)
The quick brown fox jumps over the lazy dog.
medium (500)
The quick brown fox jumps over the lazy dog.
semibold (600)
The quick brown fox jumps over the lazy dog.
bold (700)
The quick brown fox jumps over the lazy dog.
Heading Scale
The reset layer applies the font-size scale to headings using the following defaults:
h1uses2xlh2usesxlh3useslgh4usesmdh5usessmh6usesxs
The quick brown fox
The quick brown fox
The quick brown fox
The quick brown fox
The quick brown fox
The quick brown fox
Usage Notes
- Default body text uses the
primaryfamily withmdsize andnormalline-height. - Code-like content should use the
monofamily. - Display text, accent headings, or editorial moments can use the
secondaryfamily sparingly. - Control sizing should not be derived from raw font size alone. Use the control sizing tokens for component height and spacing.
