I think CSS Modules[1] (mentioned toward the end of the article) provides a starting point to finding a good compromise. It deals with the scoping issues, as well as interoperability between Javascript modules and the defined style classes.<p>As it stands, the CSS Modules approach doesn&#x27;t yet provide the same level of expressiveness which can be achieved with the styles-in-JS approach, but perhaps there is still value in evolving CSS-the-language to provide enough expressiveness while still providing an optimal syntax for style definition and facilitating static analysis and transformation specific to the domain of styling.<p>[1] <a href="https:&#x2F;&#x2F;github.com&#x2F;css-modules&#x2F;css-modules" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;css-modules&#x2F;css-modules</a>