In reality, it is as complicated, maybe more so, than any programming language or framework you will ever come across.
The best way to start to get better at it, is to gain an appreciation for it, as a 'hard', technical thing. Which it is.
You do this by re-framing how you see it.
Instead of seeing CSS as an annoying way to 'style' pages, see it instead as a visual programming language for constructing visual guides (UI's) for your user.
You don't 'style' pages, you 'construct' and 'architect' them. It sounds weird to use these words, but they have a massive effect in changing your perception of what you're doing. And that has a massive effect on your impression and willingness to learn how to do it well.
Essentially, you can properly learn CSS by transforming it in your mind from a 'styling' problem thing, to an 'engineering' problem thing.
I've got a post on this coming up tomorrow, which I'll post here.
If you want to get a shout when the full post on this is up, you can drop your email on the site homepage here: https://planflow.dev. Or you can just follow the twitter account here: https://twitter.com/PlanFlowDev.
In the meantime, you can check out another post where I talk about this general idea at a higher level: https://simpleprogrammer.com/information-architecture-develo....
The HN comments: https://news.ycombinator.com/item?id=24875357.