/* Existing six-color identity. Neutral UI text preserves contrast. */
:root{--brand-wispo:#7F3F84;--brand-window:#D80080;--brand-graphic:#B71948;--brand-journey:#37A04A;--brand-about:#E4851D;--brand-contact:#FFB61F;--ui-readable:#f2f2ee;--ui-surface:#1d1b1c}
[data-ui-branch="graphic"]{--branch-accent:var(--brand-graphic)}[data-ui-branch="about"]{--branch-accent:var(--brand-about)}[data-ui-branch="contact"]{--branch-accent:var(--brand-contact)}[data-ui-branch="journey"]{--branch-accent:var(--brand-journey)}[data-ui-branch="wispo"]{--branch-accent:var(--brand-wispo)}
html:not([data-ui-branch="home"]) h1 em,html:not([data-ui-branch="home"]) .intro h1 em{color:inherit}
.categories button[aria-selected="true"],.categories a[aria-current]{color:var(--ui-readable);border-color:var(--branch-accent)}
.progress i{background:var(--branch-accent)}.text-links a{color:var(--ui-readable);border-color:var(--branch-accent)}
html:not([data-ui-branch="home"]) a:focus-visible,html:not([data-ui-branch="home"]) button:focus-visible,html:not([data-ui-branch="home"]) summary:focus-visible{outline:2px solid var(--ui-readable);outline-offset:3px;box-shadow:0 0 0 5px var(--branch-accent)}
[data-ui-branch] .shared-stage button:focus-visible,[data-ui-branch] dialog button:focus-visible{outline-color:#242424}
[data-ui-branch="journey"] .year-nav a[aria-current]{color:var(--ui-readable);border-color:var(--branch-accent)}
[data-ui-branch="journey"] .timeline:before,[data-ui-branch="journey"] .year>i{background:var(--branch-accent)}
[data-ui-branch="journey"] .wispo-present a,[data-ui-branch="journey"] .end p{color:var(--ui-readable)}
/* Wispo text emphasis is typographic; seed/mark artwork stays untouched. */
[data-ui-branch="wispo"]{--pur2:var(--brand-wispo);--gold:var(--ui-readable)}
[data-ui-branch="wispo"] .btn.p{background:var(--brand-wispo);border-color:var(--brand-wispo);color:#fff}
[data-ui-branch="wispo"] .btn:not(.p){color:var(--ui-readable);border-color:var(--brand-wispo)}
/* The Window branch is embedded in the home overlay. */
#overlay:has([data-window-design]) .ov-tag{color:#f2f2ee!important;box-shadow:inset 0 -2px 0 var(--brand-window)}
#overlay:has([data-window-design]) .back:focus-visible,#overlay:has([data-window-design]) .cmp-fig:focus-within{outline:2px solid #f2f2ee;outline-offset:3px;box-shadow:0 0 0 5px var(--brand-window)}
