I am not suggesting to use raw CSS. Use “JS in CSS” if you’d like, EQCSS is an awesome example. Use CSS preprocessors. The ecosystem is wide.
Regarding shadow DOM, I am referring to the namespacing collisions and leaking CSS. CSS defined inside shadow DOM is scoped to it. Style rules don’t leak out and page styles don’t bleed in.