/* Local comparison. One layout, one transition and one set of semantic tokens. */
html[data-funnel-theme=light]{color-scheme:light}
html[data-funnel-theme=dark]{color-scheme:dark}
html[data-funnel-page] body,html[data-funnel-page] .v13-app{background:var(--ft-page)!important;color:var(--ft-ink)!important}
html[data-funnel-page] :is(.funnel1512,.fh12,.funnel1512-footer,.vi-dialog),html[data-funnel-theme] .assistant-dialog{--fn-surface:var(--ft-panel);--fn-ink:var(--ft-ink);--fn-muted:var(--ft-muted);--fn-line:var(--ft-line);--brief-paper:var(--ft-panel);--brief-ink:var(--ft-ink);--brief-muted:var(--ft-muted);--panel-text:var(--ft-ink);--panel-text-body:var(--ft-muted);--panel-text-muted:var(--ft-muted);--panel-divider:var(--ft-line);--panel-background:var(--ft-panel);--ink:var(--ft-ink);--muted:var(--ft-muted);--line:var(--ft-line);color:var(--ft-ink)!important;color-scheme:inherit}
/* Explicit foregrounds in saved styles must follow their surface. Typography stays intact. */
html[data-funnel-page] :is(.funnel1512,.fh12,.funnel1512-footer,.vi-dialog) :is(h1,h2,h3,h4,p,span,small,strong,label,dt,dd,summary,a,button,li,legend):where(:not([role=alert],[role=alert] *, .vi-error, .vi-error *, .tailored-error, .tailored-error *, .bw-error, .bw-error *)),html[data-funnel-theme] .assistant-dialog :is(h1,h2,h3,p,span,small,strong,label,summary,a,button):where(:not([role=alert],[role=alert] *, .vi-error, .vi-error *, .tailored-error, .tailored-error *, .bw-error, .bw-error *)){color:inherit!important}
html[data-funnel-page] :is(.brief-heading p,.brief-eyebrow,.brief-saved,.fn-meta,.iw15-lead,.bw-caption,.bw-persona small,.bw-pending,.brief-submit header p,.tp-disclosure,.wp-purpose,.wp-kicker,.wp-concept,.brief-proposal-byline,.funnel1512-footer,.brief-document-masthead,.brief-answers dt,.brief-chapters,.vi-status),html[data-funnel-theme] .assistant-dialog :is(p,small){color:var(--ft-muted)!important}
html[data-funnel-page] :is(.brief-document,.tailored-plan,.brief-submit,.brief-walkthrough,.iw15,.vi-dialog,.vb15-field,.wp-shell,.wp-teaser,.fn-surface,.brief-refinements details,.brief-context,.tp-section,.wp-agent,.wp-reporting,.wp-connection),html[data-funnel-theme] .assistant-dialog{background:var(--ft-panel)!important;color:var(--ft-ink)!important;border-color:var(--ft-line)!important;box-shadow:0 16px 40px var(--ft-shadow),inset 0 1px #ffffff12!important}
html[data-funnel-page] :is(.fh12,.brief-walkthrough.is-floating){background:var(--ft-glass)!important;color:var(--ft-ink)!important;border-color:var(--ft-line)!important;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px)}
html[data-funnel-page] :is(.brief-answer-success,.brief-assurance,.tp-controls,.wp-shell-main,.wp-feature,.wp-feature-row,.wp-app-views>*,.wp-teaser-body>div:last-child>span,.iw15-choice:not(.iw15-primary)){background:var(--ft-soft)!important;border-color:var(--ft-line)!important;color:var(--ft-ink)!important}
html[data-funnel-page] :is(.brief-answer,.brief-document-masthead,.brief-chapters,.brief-context,.brief-refinements details,.wp-shell-top,.wp-tabs,.wp-shell-nav,.wp-shell-side,.wp-teaser>div:first-child,.wp-teaser-body>div:first-child,.tp-step,.tp-boundaries,.brief-submit,.funnel1512-footer,.fi12-scope,.fi12-aftercare,.vb15-summary,.vb15-conversation){border-color:var(--ft-line)!important}
html[data-funnel-page] :is(input:not([type=checkbox]):not([type=radio]),textarea){background:var(--ft-raised)!important;color:var(--ft-ink)!important;border-color:var(--ft-line)!important;box-shadow:none!important}
html[data-funnel-page] :is(input,textarea)::placeholder{color:var(--ft-muted)!important;opacity:1}
html[data-funnel-page] :is(input[type=checkbox],input[type=radio]){accent-color:var(--ft-action)}
html[data-funnel-page] :is(.fn-secondary,.fn-text-button,.brief-download,.bw-switch,.bw-read-controls button,.iw30-info>button,.iw30-listen,.wp-tabs button,.fi12-stepbar button,.bw-avatar>span,.brief-chapters a>span),html[data-funnel-theme] .assistant-dialog :is(.dialog-close,.semmy-welcome-listen,.semmy-welcome-about>button){background:var(--ft-soft)!important;border-color:var(--ft-line)!important;color:var(--ft-ink)!important}
html[data-funnel-page][data-funnel-theme] :is(.fn-button,.bw-listen,.brief-walkthrough.is-floating .bw-listen,.iw15-primary,.vi-start,.wp-tabs button[aria-selected=true],.fi12-stepbar button[aria-current=step]),html[data-funnel-theme] .assistant-dialog .assistant-primary{background:var(--ft-action)!important;border-color:var(--ft-action)!important;color:var(--ft-on-action)!important}
html[data-funnel-page] :is(.fn-button,.bw-listen,.iw15-primary):hover{filter:brightness(.94)}
html[data-funnel-page] :is(button,a,summary,input,textarea):focus-visible,html[data-funnel-theme] .assistant-dialog :is(button,a,summary):focus-visible{outline:2px solid var(--ft-focus)!important;outline-offset:4px}
html[data-funnel-page] :is(.brief-answer+.brief-answer){box-shadow:0 -1px var(--ft-line)!important}
html[data-funnel-page] [data-brief-cue].is-narrated,html[data-funnel-theme] .assistant-dialog .is-mentioned{background:var(--ft-soft)!important;box-shadow:0 0 0 1px var(--ft-focus),0 0 0 5px var(--ft-shadow)!important}
html[data-funnel-page] [data-brief-cue].is-narrated::after{background:linear-gradient(120deg,#444,#a4a4a4 47%,#686868 73%,#3c3c3c) border-box!important}
html[data-funnel-page] :is(.bw-transcript li button:hover,.bw-transcript li button.is-current,.brief-answers dt a:hover,.wp-tabs button:hover){background:var(--ft-hover)!important;color:var(--ft-ink)!important;border-color:var(--ft-line)!important}
html[data-funnel-page] :is(.wp-rail,.wp-rail button,.wp-view-row,.wp-agent-card,.wp-metric,.wp-report-card,.vi-controls button,.vi-summary,.vi-introduction,.vb15-brief){border-color:var(--ft-line)!important}
html[data-funnel-page] :is(.wp-rail button.is-active,.wp-rail button[aria-current],.wp-view-row,.wp-agent-card,.wp-metric,.wp-report-card,.vi-controls button,.vi-introduction){background:var(--ft-soft)!important;color:var(--ft-ink)!important}
html[data-funnel-theme] .assistant-dialog :is(.assistant-context,.assistant-secondary,.semmy-welcome-about [role=tooltip]){background:var(--ft-soft)!important;border-color:var(--ft-line)!important;color:var(--ft-ink)!important}
html[data-funnel-theme] #assistant :is(.context-note,.secondary-choice,[data-welcome-play],.icon-button){background:var(--ft-soft)!important;color:var(--ft-ink)!important;border-color:var(--ft-line)!important}
html[data-funnel-theme] #assistant .choice:not(.secondary-choice){background:var(--ft-action)!important;color:var(--ft-on-action)!important;border-color:var(--ft-action)!important}
html[data-funnel-theme] #assistant .choice :is(span,small){color:inherit!important}
html[data-funnel-theme] #assistant .choice.is-mentioned{outline:2px solid var(--ft-focus);outline-offset:4px}
html[data-funnel-theme] #assistant .semmy-welcome-portrait{box-shadow:0 0 0 1px var(--ft-line)!important}
html[data-marketing-theme=light]:not([data-funnel-page]){color-scheme:light}
html[data-funnel-theme=dark] #assistant{color-scheme:dark}
/* Remove ornamental dots; spoken and selected states remain textual and accessible. */
html[data-funnel-page] .brief-proposal-byline::before{content:none!important}
html[data-funnel-page] .bw-speaking-mark i{background:var(--ft-muted)}
/* Identical timings in both arms. The homepage itself is always the saved light version. */
html[data-funnel-page][data-route-transition] body{background:var(--ft-page)!important}
html[data-funnel-page][data-route-transition=enter] .v13-app>main,html[data-funnel-page][data-route-transition=initial] .v13-app>main{animation:theme-arrive var(--route-enter-duration,460ms) cubic-bezier(.22,1,.36,1) both!important}
html[data-funnel-theme] .assistant-dialog{animation:theme-arrive 460ms cubic-bezier(.22,1,.36,1) both!important}
@keyframes theme-arrive{from{opacity:.2;filter:blur(7px);translate:0 12px}to{opacity:1;filter:none;translate:0 0}}
@media(prefers-reduced-motion:reduce){html[data-funnel-page] .v13-app>main,html[data-funnel-theme] .assistant-dialog{animation:none!important}}
html[data-motion=off][data-funnel-page] .v13-app>main,html[data-motion=off][data-funnel-theme] .assistant-dialog{animation:none!important}
#theme-review-note{position:relative;z-index:2;display:flex;justify-content:center;flex-wrap:wrap;gap:10px;padding:10px 20px;background:var(--ft-page);color:var(--ft-muted);font:12px/1.5 Inter,Arial,sans-serif;border-bottom:1px solid var(--ft-line)}
#theme-review-note a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:600px){#theme-review-note{font-size:11px;padding:8px 16px}}

/* Audit pass: all inherited panel contracts, nested controls and secondary states. */
html[data-funnel-page] :is(.funnel1512,.vi-dialog,.converze-editorial-panel){--panel-navigation-background:var(--ft-soft);--panel-card-border:var(--ft-line);--panel-feature-background:var(--ft-panel);--panel-action-background:var(--ft-action);--panel-action-text:var(--ft-on-action);--panel-focus:var(--ft-focus);--vi-ink:var(--ft-ink);--vi-body:var(--ft-muted);--vi-muted:var(--ft-muted);--vi-line:var(--ft-line)}
html[data-funnel-page][data-funnel-theme] :is(.fi12-call,.fi12-stepbar button.is-current>span:first-child,.vi-start,.fh12-skip){background:var(--ft-action)!important;color:var(--ft-on-action)!important;border-color:var(--ft-action)!important}
html[data-funnel-page][data-funnel-theme] :is(.fi12-call,.vi-start,.fh12-skip):hover{filter:brightness(.94)}
html[data-funnel-page] :is(.vi-end,.vi-control,.vi-error,.vi-summary,.vi-review,.vi-review-details,.iw30-info [role=tooltip],.fh12-preview,.fi12-scope,.brief-submit-check,.wp-agent,.wp-measures article,.wp-connections,.tailored-upgrade,.semmy-guide-transcript){background:var(--ft-soft)!important;color:var(--ft-ink)!important;border-color:var(--ft-line)!important}
html[data-funnel-page][data-funnel-theme] :is(.vi-end,.vi-control,.semmy-guide-read,.semmy-guide-control,.fc12-address){color:var(--ft-ink)!important}
html[data-funnel-page] :is(.vi-end,.vi-control):hover{background:var(--ft-hover)!important}
html[data-funnel-page] :is(.vi-control[aria-pressed=true],.wp-rail button[aria-pressed=true],.brief-submit-check:has(input:checked)){background:var(--ft-hover)!important;box-shadow:inset 0 0 0 1px var(--ft-focus)!important}
html[data-funnel-page] :is(.vi-dialog,.is16,.is16 select){color-scheme:inherit!important}
html[data-funnel-page] :is(.funnel1512,.fh12,.vi-dialog) svg{color:inherit}
html[data-funnel-page] .fi38-arrival[data-guiding=true] :is(#fi12-question,.semmy-guide-name){color:var(--ft-ink)!important;text-shadow:none!important}
html[data-funnel-page] .fi38-arrival[data-guiding=true] .fi12-answer{border-color:var(--ft-focus)!important;box-shadow:0 0 0 3px var(--ft-shadow)!important}
html[data-funnel-page] :is(.iw15-choice.is-mentioned,.is16,.fh12-preview,.fc12-address,.wp-view-list>li,.wp-report-rhythm,.wp-connections dl>div,.vi-header){border-color:var(--ft-line)!important}
html[data-funnel-page] :is(.fc12-heading>p,.fc12-person small,.fc12-email-note,.fc12-call-note,.fh12-copy-status,.fh12-copy-first,.fi12-answer-meta,.semmy-guide-label,.vi-disclosure){color:var(--ft-muted)!important}
html[data-funnel-page] :is(button:disabled,a[aria-disabled=true]){opacity:.5;cursor:not-allowed;filter:none!important}

html[data-funnel-page] :is(.brief-submit,.tailored-plan,.wp-panel,.wp-feature,.vi-dialog,.vb15-layout,.brief-document,.fi12-assistance){min-width:0}
html[data-funnel-page] :is(.brief-submit-fields input,.brief-refinements textarea,.fh12-preview textarea,.fi12-input){max-width:100%;box-sizing:border-box}
html[data-funnel-page] :is(.wp-purpose,.wp-feature p,.wp-agent p,.fc12-address,.brief-answers dd,.vi-error){overflow-wrap:anywhere}
@media(max-width:600px){html[data-funnel-page] :is(input:not([type=checkbox]):not([type=radio]),textarea){font-size:16px!important}html[data-funnel-page] .fi12-assistance{flex-wrap:wrap}html[data-funnel-page] .fc12-address{max-width:100%;font-size:clamp(19px,5vw,28px)}html[data-funnel-page] .brief-heading{gap:18px}html[data-funnel-page] .brief-walkthrough.is-floating{max-width:calc(100vw - 24px)}}
html[data-funnel-theme] #assistant :is(.choice,button,[role=tooltip]){overflow-wrap:anywhere}
html[data-funnel-theme] #assistant .choice:hover{filter:brightness(.96)}
html[data-funnel-theme] #assistant :is([data-welcome-play],.icon-button,.semmy-welcome-about>button):hover{background:var(--ft-hover)!important}
html[data-funnel-theme] #assistant :is(button,a,summary):focus-visible{outline:2px solid var(--ft-focus)!important;outline-offset:4px}
/* Native high-contrast colours take priority over either visual theme. */
@media(forced-colors:active){html[data-funnel-page] :is(.funnel1512,.fh12,.brief-document,.tailored-plan,.brief-walkthrough,.vi-dialog),html[data-funnel-theme] #assistant{background:Canvas!important;color:CanvasText!important;border-color:CanvasText!important;box-shadow:none!important}html[data-funnel-page][data-funnel-theme] :is(.fn-button,.fi12-call,.iw15-primary,.bw-listen,.vi-start,.wp-tabs button[aria-selected=true]),html[data-funnel-theme] #assistant .choice{background:ButtonFace!important;color:ButtonText!important;border-color:ButtonText!important}html[data-funnel-page] [data-brief-cue].is-narrated{outline:2px solid Highlight!important}html[data-funnel-page] [data-brief-cue].is-narrated::after{content:none!important}}

/* v1.1 component contracts: keep theme states explicit. */
html[data-funnel-page] :is(.funnel1512,.fh12,.vi-dialog){--fn-error:var(--ft-ink);--fn-success:var(--ft-ink)}
html[data-funnel-page] :is(.brief-answer p,.brief-answer h2,.brief-answer h3,.wp-shell h3,.wp-shell p,.wp-shell span,.vi-dialog p,.vi-dialog span){color:inherit}
html[data-funnel-page] .bw-avatar{background:var(--ft-soft);border-color:var(--ft-line);box-shadow:0 0 0 5px var(--ft-shadow)}
html[data-funnel-page] .brief-walkthrough.is-speaking .bw-avatar{box-shadow:0 0 0 5px var(--ft-shadow),0 0 24px var(--ft-shadow)}
html[data-funnel-page] .brief-walkthrough.is-floating .bw-avatar{border-color:var(--ft-line);box-shadow:0 0 0 4px var(--ft-shadow)}
html[data-funnel-page] :is(.vi-error,.bw-error){border:1px solid var(--ft-focus);border-inline-start-width:4px;padding:16px 20px;color:var(--ft-ink)}
html[data-funnel-page] [data-brief-cue].is-narrated::after{background:linear-gradient(120deg,var(--ft-line),var(--ft-focus),var(--ft-line)) border-box!important}
html[data-funnel-page][data-route-transition=initial] .v13-app>main{animation-duration:var(--route-initial-duration,460ms)!important}
@media(prefers-reduced-motion:reduce){html[data-funnel-page][data-route-transition=initial] .v13-app>main{animation-duration:0s!important}}
html[data-motion=off][data-funnel-page][data-route-transition=initial] .v13-app>main{animation-duration:0s!important}

/* v1.2: explicit errors win over the compatibility surface rules in both themes. */
html[data-funnel-page] :is(.vi-error,.bw-error,.tailored-error){border:1px solid var(--ft-focus)!important;border-inline-start-width:4px!important;padding:16px 20px;color:var(--ft-ink)!important;background:var(--ft-soft)!important}
html[data-funnel-page] .brief-request-changed{border:1px solid var(--ft-focus);border-radius:16px;padding:18px 20px;margin:0 0 20px;background:var(--ft-soft);color:var(--ft-ink)}