Why it matters
text-[#a1a1aa], p-[13px] and rounded-[7px] scattered through components drift from the token scale: dark mode can't retheme them, spacing stops aligning to the grid and the palette grows one-off shades.
How to fix it
Map repeated values to semantic tokens in @theme (--color-fg-muted, --spacing-*) and use the generated utilities. Keep arbitrary values for true one-offs.
Example
@theme { --color-fg-muted: oklch(0.72 0.01 275); }<p className="text-fg-muted" /> // not text-[#a1a1aa]References
More lint rules
void lint reports 67 rules in this category. Static source checks with no browser: Tailwind v4 silent failures, Next.js 16 API traps, React render-body bugs, accessibility markup, SEO files and motion hygiene.
tw-js-config-ignored`tailwind.config.*` exists but the CSS entry has no `@config`tw-dark-variant-os`dark:` follows the OS, but the app toggles themes with a class/attributetw-v3-renamedUtility whose meaning changed between Tailwind v3 and v4tw-important-soupMany `!important` utilities in one filepage-level-use-client`"use client"` at the top of a page or layoutheavy-importHeavy dependency imported into client codeimg-rawRaw `<img>` in a Next.js appimg-missing-dimensionsImage without width/height (or fill / aspect-ratio)