What is stopping from styles from one components overwriting styles from another components. So in isolation, as you say, components work fine, but after processing, will it not break?
Currently, there isn't an automatic solution. For now the component developer can use the component id (automatically generated if not specified) to separate styles. You can see such component at https://github.com/ivopetkov/ivopetkov.github.io/blob/master...