A heading that holds the line
Grassroot keeps display type compact and body copy readable. The default sans stack is deliberately unopinionated, so a product can bring its own font without fighting a library reset.
Running text
Components should not decide whether an app feels warm, cold, playful or strict. That decision belongs to the theme file and the typography layer around it.
Code stays code
Use font-mono for commands, prop names and source paths. Give it enough line height to scan, then let the surrounding prose carry the explanation.
const theme = {
canvas: "var(--surface-canvas)",
accent: "var(--accent)",
};