Unpopular opinion: CSS is hard only because HTML is bad at what it does. It wouldn't be feasible, or even desirable, to replace HTML with something else at this point, but it's a classic case of "the problem it tries to solve is not very hard, and it doesn't solve that problem very well".
HTML is fine for documents. It's not exactly ideal for applications, though.
Exactly. "... but I don't want it to look like something from 20 years ago!"
Step one: add this generic style sheet
would go a long way
Agreed. That's why most times it should be avoided (for everyday users)