/** * The branded door treatment, injected into the HOST document. * * A door (`data-olotalk-open`, ADR 0243) is the host page's own element, and the * assistant's own stylesheet lives inside our shadow root, style isolation that * exists precisely so we never leak into an operator's page. So a door cannot be * reached by the CSS we already ship: branding one means putting rules in the * light DOM, which is a deliberate exception and is why this is opt-in. * * OPT-IN, twice over. Nothing here matches a bare `data-olotalk-open`; every * rule is scoped to `[data-olotalk-open][data-olotalk-door="branded"]`, which the operator (or the * Install snippet) puts there on purpose. ADR 0243's premise is "any element the * host already has", an element we restyle without being asked is not that. * * The sheet is installed once per page on first mount, unconditionally, rather * than after scanning for a door. A stylesheet already in the document styles * elements added later for free, so a door rendered by a framework re-render or * a nav that hydrates after us needs no re-scan, the same reasoning that makes * the click handler delegated. On a page with no branded door the selectors * match nothing and cost nothing. * * CSP: a constructed stylesheet is script-driven, so it is not subject to * `style-src` the way an inline `