/* Shared homepage palette. Explicit user overrides still take priority. */
:root{color-scheme:light;--canvas:#fafafa;--ink:#34353a;--muted:#656770;--line:#e2e2e8;--field:#fff;--wash:#efeff4;--accent:#33343a;--on-accent:#fff;--brand-accent:#79628e;--bg:var(--canvas);--fg:var(--ink);--surface:var(--field);--soft:var(--wash)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--canvas:#17181c;--ink:#e7e7ec;--muted:#aaabb5;--line:#34353f;--field:#292a34;--wash:#262730;--accent:#e9e9ed;--on-accent:#202126;--brand-accent:#d5c9e3}}
:root[data-theme=dark]{color-scheme:dark;--canvas:#17181c;--ink:#e7e7ec;--muted:#aaabb5;--line:#34353f;--field:#292a34;--wash:#262730;--accent:#e9e9ed;--on-accent:#202126;--brand-accent:#d5c9e3}
body{background-color:var(--canvas);color:var(--ink)}.brand,.stage-header>a:first-child{color:var(--brand-accent)}
.info-page>p{font-size:17px;line-height:1.6;max-width:52ch}.info-page h1{font-size:clamp(30px,4vw,46px)}
.editor-entry[data-install-step]{text-align:center}.editor-entry[data-install-step] button{min-height:44px;padding:10px 20px;border:1px solid var(--line);border-radius:24px}.editor-entry[data-install-step] p{margin:5px 0;font-size:12px}.editor-entry [role=status]:empty{display:none}
.simple-install .hero,.simple-install #clients,.simple-install #authorization{display:none!important}.simple-install #one-step{text-align:center;max-width:520px;margin:10vh auto 7vh}.simple-install #one-step h1{font-size:clamp(34px,5vw,56px)}.simple-install #one-step>p{font-size:17px;line-height:1.6}.simple-install #one-step .primary{min-height:52px;min-width:210px}.simple-install.discovering #one-step,.simple-install.keys-only #one-step{display:none}.simple-install #one-step [role=status]:empty{display:none}
.simple-install .brand{display:block!important}.simple-install #one-step .text-button{display:block;margin:20px auto}.simple-install #status:empty{display:none}
button:focus-visible,a:focus-visible,summary:focus-visible{outline:2px solid var(--brand-accent);outline-offset:4px}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important}}

.policy-page{padding-top:55px;max-width:880px}.policy-page>h1{font-size:clamp(36px,5vw,62px)}.policy-page>details{margin:32px 0}.policy-page details section{padding:20px 0}.policy-page footer{display:flex;gap:24px;flex-wrap:wrap}.policy-page footer a{min-height:44px;display:inline-flex;align-items:center}.simple-install #one-step .primary{background:var(--accent);color:var(--on-accent);border-radius:28px}.simple-install #one-step .text-button{color:var(--ink);min-height:44px;display:inline-flex;align-items:center;justify-content:center}.simple-install #one-step{background:var(--field);border-color:var(--line)}

[hidden]{display:none!important}

.policy-menu{position:relative;padding:0}.policy-menu>summary{font-size:25px;min-width:44px;min-height:44px;display:grid;place-items:center;list-style:none}.policy-menu>nav{position:absolute;right:0;top:48px;width:230px;max-height:60vh;overflow:auto;z-index:5;padding:16px;background:var(--field);border:1px solid var(--line);border-radius:18px;display:grid}.policy-menu:not([open])>nav{display:none}.policy-menu nav a{min-height:44px;display:flex;align-items:center}

/* Existing card families use the same semantic colors as the homepage. */
:root{--card:var(--field);--button:var(--on-accent);--wordmark:var(--brand-accent);--sample-bg:var(--field);--sample-ink:var(--ink);--sample-muted:var(--muted);--sample-line:var(--line);--sample-active:var(--wash);--sample-wordmark:var(--brand-accent)}
.sample-page{--canvas:var(--bg);--ink:var(--fg);background:var(--bg);color:var(--fg)}.sample-card .sample-primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.sample-card button[aria-pressed=true]{border-color:var(--brand-accent)}

/* One decision on the first screen; detailed reference material stays a tap away. */
.newcomer-page .page-details{margin-top:28px}.newcomer-page .page-details>summary{min-height:44px;display:flex;align-items:center;gap:8px}.newcomer-page .page-details>summary::before{content:'+'}.newcomer-page .page-details[open]>summary::before{content:'−'}
.investor-deck:not(.briefing-open) main>section:not(.present-intro),.investor-deck:not(.briefing-open) #drawer-open,.investor-deck:not(.briefing-open) .present-footer,.investor-deck:not(.briefing-open) .present-header nav{display:none!important}
.investor-deck .present-intro{max-width:620px;margin:48px auto}.investor-deck .present-intro h1{font-size:clamp(32px,5vw,52px)}.investor-deck #investor-start{min-height:48px;padding:12px 22px;background:var(--accent);color:var(--on-accent);border:0;border-radius:14px;font:inherit;cursor:pointer}.investor-deck .investment-detail{margin-top:24px}.investor-deck details>summary{min-height:44px;padding:12px 0}.investor-deck .present-footer details{width:100%}

.newcomer-page .primary-disclosure>summary{display:inline-flex;align-items:center;min-height:48px;padding:10px 18px;background:var(--accent);color:var(--on-accent);border-radius:10px;cursor:pointer}.newcomer-page .primary-disclosure[open]>summary{margin-bottom:20px}
/* Focused reading pages keep the orb and settings, without repeating the home pitch. */
body:has(.focused-info) .home-prompt,body:has(.focused-info) #chat-hint,body:has(.focused-info) #ambient-label,body:has(.focused-info) .demo-badge{display:none}
body:has(.focused-info) .composer-meta{justify-content:flex-end;gap:24px}
.focused-info>.page-details{margin-top:24px}.focused-info>.page-details>summary{min-height:44px}
.registry-search form>details{margin:8px 0}.registry-search summary{min-height:44px;display:flex;align-items:center}
.build-layout:has(>.build-content:only-child){display:block;max-width:880px;margin-inline:auto}

/* Finish palette parity for older standalone setup and name-list shells. */
:root{background-color:var(--canvas)}.simple-install{min-height:100svh}.investor-deck{background:var(--canvas);color:var(--ink)}
.simple-install{color:var(--ink);background:var(--canvas)}.simple-install section,.simple-install .client,.simple-install .secondary,.simple-install .email-row input{color:var(--ink);background:var(--field);border-color:var(--line)}.simple-install .primary{background:var(--accent);color:var(--on-accent)}.simple-install :is(.intro,.small,details,footer){color:var(--muted)}.simple-install :is(a,.text-button,#status){color:var(--ink)}.simple-install a.primary{color:var(--on-accent)}.simple-install .brand{color:var(--brand-accent)}
.initiative-body{background:var(--canvas);color:var(--ink)}.initiative{--initiative-bg:var(--field);--initiative-ink:var(--ink);--initiative-line:var(--line)}.initiative .primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.initiative :is(.fine,.initiative-progress,dt){color:var(--muted)}.initiative-header>a:first-child{color:var(--brand-accent)}.initiative-body .site-options-floating,.initiative-body .site-options-floating>nav{background:var(--field);color:var(--ink)}.initiative-body .site-options-floating :is(summary,a){color:var(--ink)}

/* Product mark: the original pale Kloudy treatment, never the campaign blue. */
.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child{color:#f1f1f4!important;text-shadow:0 1px 0 #fff,0 2px 3px #5b5b6855,0 -1px 0 #ffffffa0}.brand:focus-visible,.wordmark:focus-visible,.bww-brand:focus-visible{outline-color:var(--ink)}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child){color:#f1f1f4!important;text-shadow:0 2px 4px #0008}}:root[data-theme=dark] :is(.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child){color:#f1f1f4!important;text-shadow:0 2px 4px #0008}
.present-brand{color:#f1f1f4!important;text-shadow:0 1px 0 #fff,0 2px 3px #5b5b6880}.present-brand:focus-visible{outline:3px solid var(--ink);outline-offset:4px}

/* Retain the white product mark with a readable edge on light surfaces. */
:root:not([data-theme=dark]) :is(.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child,.present-brand){-webkit-text-stroke:.65px #797a84;text-shadow:0 2px 3px #4a4b5770}
:root[data-theme=dark] :is(.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child,.present-brand){-webkit-text-stroke:0}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) :is(.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child,.present-brand){-webkit-text-stroke:0}}

/* The original white mark needs a real contrast surface, not only a thin shadow.
   Reuse the existing neutral gray; keep the artwork, palette and motion intact. */
:root{--logo-backing:#656770}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--logo-backing:transparent}}
:root[data-theme=dark]{--logo-backing:transparent}
:root :is(.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child,.present-brand){background-color:var(--logo-backing);border-radius:.2em;padding:.08em .18em;width:fit-content;max-width:100%;-webkit-text-stroke:0;text-shadow:none;box-decoration-break:clone;-webkit-box-decoration-break:clone}
:root :is(.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child,.present-brand),:root :is(.brand,.wordmark,.bww-brand,.stage-header>a:first-child,.initiative-header>a:first-child,.sample-page>nav>a:first-child,.present-brand) span{color:#f1f1f4!important;-webkit-text-stroke:0!important;text-shadow:none!important;opacity:1}

/* Same short product signature as the sign-in card, without another action. */
.product-motto{margin:10px 0 0;color:var(--ink);font-size:14px;line-height:1.5;letter-spacing:0;font-weight:400}
.product-motto sup{font-size:.6em;vertical-align:super;line-height:0;margin-left:1px}
body:not([data-view=home]) .brand-slot>.product-motto{display:none}
.simple-install>.product-motto,.simple-install main>.product-motto{margin-top:10px}

/* Keep setup on the same open canvas as the main page. */
.simple-install #one-step{background:transparent;border:0;padding-inline:0}
.simple-install #one-step .text-button{display:flex;width:fit-content;margin:14px auto 0}
/* Floating site navigation is a control, not an install-page disclosure. */
.simple-install .site-options-floating{margin:0;padding:0;border:0}
