← Blog/2026-02-13
Why CSS frameworks feel overengineered in 2026
The CSS ecosystem has grown remarkably complex. What used to be a simple link tag has become a pipeline of build tools, configuration files, and framework-specific syntax.
The complexity creep
Modern CSS frameworks often require:
For large applications with dedicated teams, this complexity can be justified. But for most websites — landing pages, documentation, blogs, portfolios — it is overhead without proportional benefit.
Build steps and mental overhead
Every build step is a potential point of failure. Dependency updates can break your pipeline. Configuration drift between projects means re-learning setup each time.
The mental overhead of remembering utility class names, configuration options, and purge rules adds up. Developers spend time configuring tools instead of writing CSS.
Utility overload and readability
When every element carries 10-15 utility classes, the HTML becomes hard to read and review:
<div class="flex flex-col gap-4 p-6 bg-white rounded-xl
shadow-md border border-gray-200 hover:shadow-lg
transition-shadow duration-200 dark:bg-gray-800
dark:border-gray-700">This is styling, not markup. The HTML structure — the semantic meaning — is buried under presentation classes.
The baseline approach
What if your CSS library gave you sensible defaults and a small set of utilities, with no build step and no configuration?
That is the idea behind The New CSS. A lightweight baseline that makes semantic HTML look good by default, with utility classes available when you need them.
The full library is under 5KB gzipped. You add a single link tag and start building. No PostCSS, no config files, no purge steps.
Sometimes the best framework is the one you barely notice.