Non of the provided links work for me in Chrome 66 (as of 2018) so I ended up with this to customize custom element from outside:
class Element extends HTMLElement {
constructor() {
super();
var shadow = this.attachShadow({mode: 'open'});
var user_style = shadow.host.innerHTML.match(/