It's a perfect representation of CSS: it looks and feels like it should do what you need, but it doesn't _technically_ do what it's supposed to do, so you spend a few hours _trying_ to make sense of it, falling back to just random fuzzing and trial and error, before concluding it's all broken and finally accepting it in its current wonky form, trusting that in some browser, somewhere, it works.
HTML -> JSX
CSS -> Tailwind
JS -> Typescript
It must be maddening working as a browser dev knowing that the very first thing most devs worth their corn do is immediately go to abstracts so they are able ignore your work as much as they can.
C++ I can do.
CSS I leave to masochists.
I'm pretty good at handling the cascade and knowing how things work, so this experience you are describing is not mine where CSS is concerned, I doubt I've had to do several hours of trying to make sense of any CSS for probably 5-6 years.
As such that the game does not actually allow you to use the cascade as it should be used is a downside.