Shadow DOM is not the solution for CSS isolation for components. You'd have to mount every single component into its own shadow DOM which seems unnecessarily complex (and most likely has significant perf implications).
The answer to CSS scoping is much simpler: CSS Modules https://github.com/css-modules/css-modules