Occasionally there might be a particular issue that requires contemplation or reading the manual, but that is true of any sufficiently complex design system, especially a living specification such as CSS.
I recommend familiarizing yourself with new features as they are adopted. For example, front end devs are going to need to learn Houdini.
Css is a pile of low-effort crap targeted specifically at ad-hoc problems web designers had. It can make front pages, and sucks at everything else.
> It can make front pages, and sucks at everything else
I've made some very slick apps and widgets over the years using CSS. CSS isn't the problem, a lack of imagination is. CSS actually covers quite a lot of cases today, and with Houdini etc being exposed, the sky will soon be the limit.
There’s a flex-row-wrap root with grow-1 containers. Each container is a grid with two columns: fit label, auto control. Visually it’s row of forms of auto-size. Sometimes I want to put a long text into the control column, e.g. as a description of a preceding input. But it participates in size request and makes its grid expand and take all space in a flex row, or more. I want it to request zero space instead, as if it wasn’t there, but take whatever other “controls” received.
In a proper boxing model of a non-web library 15 years ago I’d set the text’s “size request” width to a small value and put all control-column elements into a size group. So they all request the same (max among) width. The predictability of the size request-allocate loop makes it trivial to figure out.
I expect some sort of ad-hoc restriction on either a grid, controls, flex root, whatever. It’s a good chance to disprove me and explode my imagination.
I don't pretend to know every dark corner of typescript, neither for CSS. But knowing enough detail to be efficient and write maintainable and easily extendable code is important.
Don't let perfect be the enemy of good.
Understanding the approximate power of things like flexbox and having some aesthetic taste is much of the battle. You have to be willing to get your hands dirty. CSS is almost entirely about art. Figure out which paint brushes and techniques work best for you. There are a lot of viable paths.
As the grandparent comment said, don't let the perfect be the enemy of the good.
How many features do the various APIs altogether have.
How many features do the various object models have, CSSOM, SVG DOM, HTML DOM, Shadow DOM...
What is your knowledge of all these features in comparison to CSS features?
Jumping off of that and go look at any mature language and CS subject, there is probably too much for you "know" completely, but there is of course possibility to "know" a general argument for how to use it properly, once that is known individual things is just looking up syntax.
Very Classy. But not CSS Classy.