Why Tailwind is the default suggestion
Tailwind composes utility classes that compile down to one minimal CSS bundle per page. Works in Server and Client Components, integrates cleanly with next/font via CSS variables, and stays predictable across a team because the language is the same everywhere.
v4 setup is shorter than v3
v4 dropped the tailwind.config.js file. Configuration moved into CSS using @theme blocks. The PostCSS plugin auto-detects your source files. Setup is now: install, import, configure PostCSS, done.
Use Tailwind when a shared utility vocabulary makes composition and review faster. Establish tokens for color, type, spacing, and breakpoints, and extract a component when a repeated group represents product behavior rather than merely repeating several classes. Utility classes do not remove CSS decisions; they move those decisions into markup. Unbounded arbitrary values and copy-pasted class strings create a hidden design system that is harder to change than a named component. Build the same responsive element in several states, run the production build, and inspect the emitted CSS. Search for repeated class clusters and arbitrary values, then verify focus visibility, dark mode, and dynamic class names are present in the generated output.