Custom properties pierce the shadow boundary

Expected: three cards with identical shadow trees but different colours — blue, green, and the grey fallback for the card that defines no variables. This is the supported way to theme a shadow tree from outside.

Shadow tree may set its own default on :host

Expected: the first box is orange (its :host default applies); the second is teal because the document overrides the variable on the host.

Variables do not leak upward

Expected: the paragraph below is black — --leak is set inside a shadow tree and is invisible to the document, so the fallback wins.

document paragraph — must be black