Shadow parts ::part()
La forma en que un componente web señala cuáles de sus elementos internos pueden recibir estilos desde fuera. Un contrato explícito en lugar de agujeros en la encapsulación.
El objetivo del shadow tree es que el CSS externo no pueda entrar, pero tomado al pie de la letra eso hace imposible adaptar un componente a un diseño — por eso las primeras bibliotecas de componentes o bien ignoraban el shadow DOM por completo, o exponían cincuenta custom properties para cada atributo imaginable. La solución es que el autor del componente marca un elemento interno con part="etiqueta", tras lo cual quien usa el componente puede escribir mi-widget::part(etiqueta) y darle estilo con normalidad. Lo importante es la limitación: solo se puede alcanzar lo que se ha expuesto explícitamente, y solo como elemento completo — no se puede seleccionar más adentro, hacia sus hijos. El atributo exportparts reenvía las partes a través de componentes anidados.