Usage
--font-family-serif, --font-family-sans, --font-family-mono, and --font-family-mathfor base stacks --text-font-family, --heading-font-family, --code-font-family, and --math-font-familyto assign fonts to content
@font-face@import
Tokens
Primitive Font Stacks
--font-family-serif | ui-serif, 'Iowan Old Style', 'Palatino Linotype'... | |
--font-family-sans | ui-sans-serif, system-ui, -apple-system... | |
--font-family-mono | ui-monospace, 'Cascadia Code', SFMono-Regular... | |
--font-family-math | 'Cambria Math', 'STIX Two Math'... |
Semantic Font Tokens
--text-font-family | var(--font-family-serif) | |
--heading-font-family | var(--font-family-serif) | |
--code-font-family | var(--font-family-mono) | |
--math-font-family | var(--font-family-math) |
Examples
Google Fonts
@import url("https://fonts.googleapis.com/css2?family=Source+Serif+4:ital,opsz,wght@0,8..60,200..900;1,8..60,200..900&family=Inter:ital,wght@0,100..900;1,100..900&display=swap");
:root {
--font-family-serif: "Source Serif 4", var(--font-family-serif);
--font-family-sans: "Inter", var(--font-family-sans);
}Self-Hosted Fonts
@font-face {
font-family: "Custom Font";
src:
url("./fonts/custom-font.woff2") format("woff2"),
url("./fonts/custom-font.woff") format("woff");
font-weight: normal;
font-display: swap;
}
:root {
--font-family-serif: "Custom Font", var(--font-family-serif);
}Mixed Typography
:root {
/* Serif for body text */
--text-font-family: "Crimson Text", var(--font-family-serif);
/* Sans-serif for headings */
--heading-font-family: "Inter", var(--font-family-sans);
/* Specialized monospace for code */
--code-font-family: "JetBrains Mono", var(--font-family-mono);
}Mathematical Typography
@import url("https://fonts.googleapis.com/css2?family=STIX+Two+Math&display=swap");
:root {
--font-family-math: "STIX Two Math", var(--font-family-math);
}Academic Theme Example
@import url("https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400;0,500;0,600;0,700;1,400;1,500;1,600;1,700&family=STIX+Two+Math&family=Inconsolata:wght@200..900&display=swap");
:root {
/* Classic serif for readability */
--font-family-serif: "EB Garamond", var(--font-family-serif);
/* Mathematical typography */
--font-family-math: "STIX Two Math", var(--font-family-math);
/* Clean monospace for code */
--font-family-mono: "Inconsolata", var(--font-family-mono);
/* Larger line height for academic reading */
--paragraph-line-height: 1.8;
}Tips
'Your Font', var(--font-family-serif)
--text-font-family--heading-font-family--code-font-family--math-font-family