::part() — the deliberate styling hole

Expected: the title is large, blue and letter-spaced; the body sits on a yellow band. Both are styled entirely from the document, through the part attributes the component exposes.

Expected: no red border anywhere — my-card .inner cannot match inside a shadow tree even though the element carries that class.

Parts respond to the host's own state

Expected: this card's title is red, selected by my-card.warn::part(title).

Multiple part names on one element

Expected: the element below is both blue-titled and yellow-banded, because part="title body" matches both document rules at once.

::part() is not a descendant selector

Expected: no green outline. ::part() matches only elements in the host's own shadow tree; it does not reach into a nested component's shadow tree without exportparts (see test 15).