Tailwind doesn't "solve CSS". It destroys it. Tailwind is nothing more than a layer of obfuscation on inline styles spelled directly. There's no semantic component.
I'll point out that CSS has no semantic component in itself. It's just a way to apply styles. If you want to keep semantic class names then you can apply the tailwind design language using the postCSS `@apply` in the body. There's a tradeoff between the value of semantics against the value of greater code locality and elimination of specificity as a concern. In practice most people seem to prefer the latter.