Tailwind v4 in production: three months in

What we love, what bit us, and the CSS-first migration we'd recommend.

Designer color palette

Tailwind v4 removed the JS config and moved theme tokens into CSS via @theme. The migration took us a weekend and reduced our build pipeline complexity meaningfully.

The wins: faster builds, simpler tooling, and design tokens live next to component CSS instead of in a separate config file. The pain: any custom plugin had to be rewritten as a CSS @plugin import.

Three months in, we wouldn't go back. Even our designers like it — they can read globals.css.