The ShadowDOM polyfill does not support css out of the box. Styling does leak through to shadowRoots. This is a current limitation.
By using platform.js, you get access to our css shim for ShadowDOM. While it does not address lower bound encapsulation, it'll make basic styling work seamlessly. If you use Polymer and specifically `polymer-element` to create your elements, the css shim is used automatically. To make use of the shim manually, you can add this line:
Platform.ShadowCSS.shimStyling(template.content, 'x-component');
You should do this once. It'll find styles in the template and scope them by the custom element's name. This allows you to be able to use :host, for example.