La clase abstracta de la que hereda todo componente del sistema.
Abre el shadow root en el constructor y le adjunta las hojas de estilo: primero el reset del shadow, después el CSS que el componente declare en css. Cada hoja se construye una sola vez —la del reset para todo el sistema, la del componente por clase— y todas las instancias comparten la misma.
define(tagName) registra el elemento. Antes de registrarlo convierte cada nombre de reflectedAttributes en una propiedad que lee y escribe ese atributo, con el nombre en camelCase; asignarle null lo quita del elemento.
Los atributos reflejados son los que se observan, y un cambio en cualquiera de ellos vuelve a llamar a render(), que también se llama al conectarse el elemento.
reboot.scss es una hoja global, y la encapsulación impide que llegue dentro de un shadow root. Cada shadow root adopta por eso las dos reglas de las que su contenido depende: box-sizing, para que un ancho, un alto o un máximo declarados se mantengan al añadir relleno o borde, y la herencia de fuente en los controles nativos, a los que el navegador da la suya propia en lugar de heredarla.