Why Vanilla CSS?
Tailwind is effective, but it couples your markup to your design system tightly.
The Maintenance Burden
When you see class="px-4 py-2 bg-blue-500 rounded hover:bg-blue-600", you know what it looks like. But if you want to change "primary buttons" across the app, you need a multi-cursor grep search.
With CSS Variables:
.btn-primary {
padding: var(--spacing-sm) var(--spacing-md);
background: var(--color-primary);
border-radius: var(--radius-sm);
}
This is "boring" code. And boring is good for maintenance.
