Why it matters
More than a display face, a text face and a mono face reads as unconsidered and costs extra font downloads.
How to fix it
Pick one direction: a sans (or serif) for text, optionally a display face for headings, and a mono. Map them to --font-sans / --font-display / --font-mono.
Example
:root { --font-sans: 'Inter Variable', system-ui, sans-serif; --font-mono: 'JetBrains Mono', ui-monospace, monospace; }More design rules
void design reports 19 rules in this category. Measured design heuristics from computed styles: font families, type scale, line length, palette and accent sprawl, spacing grid, radius sprawl, dark mode and the tells of generated UI.
no-type-scaleToo many distinct font sizes (no type scale)line-length-longBody text lines are too longline-length-shortBody text lines are very short on desktopbody-text-smallBody text is smaller than 15px on mobilebody-line-height-tightBody line-height is too tightheading-trackingLarge headings use default letter-spacingheading-no-balanceHeadings do not use text-wrap: balancepalette-sprawlToo many distinct colors