Why it matters
By default v4's dark: variant is @media (prefers-color-scheme: dark). If a theme toggle (next-themes, classList.toggle('dark'), data-theme) is used, dark: utilities ignore it: users pick light mode and still get dark styles (or the reverse).
How to fix it
Redefine the variant in the CSS entry to match how the theme is applied.
Example
@import "tailwindcss";
/* class strategy (next-themes attribute="class") */
@custom-variant dark (&:where(.dark, .dark *));
/* or attribute strategy (next-themes default) */
@custom-variant dark (&:where([data-theme=dark], [data-theme=dark] *));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-unknown-classClass looks like a Tailwind utility but compiles to no CSStw-v3-arbitrary-var`utility-[--var]` is Tailwind v3 syntax; v4 needs `utility-(--var)`tw-js-config-ignored`tailwind.config.*` exists but the CSS entry has no `@config`tw-v3-renamedUtility whose meaning changed between Tailwind v3 and v4tw-important-soupMany `!important` utilities in one filetw-arbitrary-sprawlMany arbitrary colors / pixel values bypass the design tokenspage-level-use-client`"use client"` at the top of a page or layoutheavy-importHeavy dependency imported into client code