/* Public docs and website chrome share a light-first, opt-in dark palette.
   Loaded last; no inline style/CSP relaxation and no dependency on the panel theme. */
html[data-public-root]{color-scheme:light}
html[data-public-theme=dark]{color-scheme:dark}
html[data-public-root] body{--bg:#f6f8fc;--surface:#fff;--surface-2:#edf2f8;--text:#182a42;--muted:#52647c;--line:#cbd7e5;--brand:#087c70;--brand-strong:#07685f;--primary:#185ea7;--accent:#185ea7;--shadow:0 12px 36px rgb(29 53 87 / 8%);--public-code:#eaf0f8;--public-head:rgb(246 248 252 / 97%);background:var(--bg);color:var(--text)}
html[data-public-theme=dark] body{--bg:#07101f;--surface:#0d192c;--surface-2:#10213b;--text:#eef4ff;--muted:#b8c8dd;--line:#334866;--brand:#5eead4;--brand-strong:#83f6e5;--primary:#83f6e5;--accent:#83f6e5;--shadow:0 16px 42px rgb(0 0 0 / 18%);--public-code:#050b15;--public-head:rgb(7 16 31 / 97%)}
html[data-public-root] .business-header,html[data-public-root] .web-header{background:var(--public-head);border-color:var(--line);color:var(--text)}
html[data-public-root] .business-footer,html[data-public-root] .web-footer{background:var(--surface);border-color:var(--line);color:var(--text)}
html[data-public-root] .business-header{gap:16px;flex-wrap:wrap}
html[data-public-root] .business-header nav{flex:1 1 480px;justify-content:flex-end;gap:12px;flex-wrap:wrap}
html[data-public-root] .business-brand,html[data-public-root] .web-brand{color:var(--text)}
html[data-public-root] .business-brand span{background:var(--brand);color:var(--surface)}
html[data-public-root] .business-brand img{max-height:40px;max-width:180px;object-fit:contain}
html[data-public-root] .business-header a,html[data-public-root] .web-header a,html[data-public-root] .business-footer a,html[data-public-root] .web-footer a{color:var(--text)}
html[data-public-root] .business-language,html[data-public-root] .business-menu,html[data-public-root] .language-picker select{background:var(--surface);border-color:var(--line);color:var(--text)}
.public-appearance{display:inline-flex;align-items:center;gap:7px;flex:none;font-size:.84rem;font-weight:650}
.public-appearance[hidden]{display:none}
.public-appearance select{font:inherit;border:1px solid var(--line);border-radius:9px;padding:8px 10px;background:var(--surface);color:var(--text);min-height:38px}
.public-appearance select:focus-visible{outline:2px solid var(--brand);outline-offset:3px}
.public-account-identity{display:inline-flex;gap:5px;max-width:240px;font-size:.8rem;min-width:0;color:var(--muted)}
.public-account-identity b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text)}
html[data-public-root] .docs-sidebar,html[data-public-root] .docs-toc,html[data-public-root] .docs-main article{background:var(--surface);border-color:var(--line);color:var(--text);box-shadow:var(--shadow)}
html[data-public-root] .docs-header,html[data-public-root] .docs-toc>strong,html[data-public-root] .docs-nav-children{border-color:var(--line);color:var(--text)}
html[data-public-root] .docs-sidebar a,html[data-public-root] .docs-toc a{color:var(--muted)}
html[data-public-root] .docs-sidebar>nav>a,html[data-public-root] .docs-sidebar summary,html[data-public-root] .docs-sidebar a[aria-current=page]{color:var(--text)}
html[data-public-root] .docs-sidebar a:hover,html[data-public-root] .docs-toc a:hover{background:var(--surface-2);color:var(--brand-strong)}
html[data-public-root] .docs-content,html[data-public-root] .docs-content p,html[data-public-root] .docs-content table{color:var(--text)}
html[data-public-root] .docs-content a,html[data-public-root] .article-prose a{color:var(--primary)}
html[data-public-root] .docs-content :is(pre,code),html[data-public-root] .article-prose :is(pre,code),html[data-public-root] .business-endpoint pre{background:var(--public-code);color:var(--text);border-color:var(--line)}
html[data-public-root] .docs-content :is(th,td){border-color:var(--line)}
html[data-public-root] .docs-content th{background:var(--surface-2)}
html[data-public-root] .docs-content blockquote,html[data-public-root] .notice{background:var(--surface-2);border-color:var(--line);color:var(--text)}
html[data-public-root] :is(.business-hero aside,.business-features article,.business-steps li,.business-cta,.hero-proof span,.business-resources>div,.cookie-consent){background:var(--surface);border-color:var(--line);color:var(--text)}
html[data-public-root] :is(.business-hero p,.business-hero aside span,.business-steps li span,.business-footer-grid p,.business-footer-grid>div>span,.business-copyright,.cookie-consent p,.article-prose,.article-prose>p:first-child,.blog-card-meta){color:var(--muted)}
html[data-public-root] .business-copyright{border-color:var(--line)}
html[data-public-root] .business-site .btn,html[data-public-theme=dark] .btn{background:var(--brand);border-color:var(--brand);color:var(--bg)}
html[data-public-root] .business-site .btn.ghost,html[data-public-theme=dark] .btn.ghost{background:var(--surface);border-color:var(--line);color:var(--text)}
html[data-public-theme=dark] :is(.website-main,.section,.page-hero,.blog-section,.article-hero,.article-prose){background:var(--bg);color:var(--text)}
html[data-public-theme=dark] :is(.blog-card,.faq-list details,.empty-state){background:var(--surface);border-color:var(--line);color:var(--text)}
@media(max-width:900px){html[data-public-root] .business-header nav{background:var(--surface);flex-basis:auto;max-height:calc(100vh - 130px);overflow-y:auto}html[data-public-root] .business-header .business-brand{margin-right:auto}.public-account-identity{max-width:100%}}
@media(max-width:560px){html[data-public-root] .business-header{gap:9px}.public-appearance>span{display:none}.public-appearance select{max-width:100px}.business-language{min-width:90px}}

/* Legacy/admin-authored unwrapped tables must not widen a mobile page. Normal
   renderer tables retain their existing .table-scroll wrapper. */
html[data-public-root] .docs-content>table{display:block;min-width:0;max-width:100%;overflow-x:auto}

/* Keep paired foreground/background colors together. The original website
   used --bg for a dark hero; the light-first palette must not leave white
   headings on that newly light background. */
html[data-public-root] body { --surface2: var(--surface-2); --public-on-primary: #fff; }
html[data-public-theme=dark] body { --public-on-primary: #07101f; }
html[data-public-root] .hero {
    background: radial-gradient(ellipse at 80% 20%, rgb(32 197 216 / 8%), transparent 48%),
        radial-gradient(ellipse at 10% 5%, rgb(109 93 252 / 8%), transparent 50%), var(--surface-2);
    color: var(--text);
    border-bottom: 1px solid var(--line);
}
html[data-public-root] .hero h1 { color: var(--text); }
html[data-public-root] .hero p, html[data-public-root] .trust-row { color: var(--muted); }
html[data-public-root] .hero .eyebrow { color: var(--brand-strong); }
html[data-public-root] .hero .btn:not(.ghost) { background: var(--primary); color: var(--public-on-primary); }
html[data-public-root] .hero .btn.ghost { background: var(--surface); border-color: var(--line); color: var(--text); }
html[data-public-root] :is(.web-header, .business-header) .btn:not(.ghost) { background: var(--primary); border-color: var(--primary); color: var(--public-on-primary); }
html[data-public-root] :is(.web-header, .business-header) .btn.ghost { background: var(--surface); border-color: var(--line); color: var(--text); }
html[data-public-root] .web-brand > span { background: var(--primary); color: var(--public-on-primary); }
html[data-public-root] .web-header .language-picker-prominent { background: transparent; color: var(--text); }
html[data-public-root] .web-header .nav > nav a:hover { background: var(--surface-2); color: var(--primary); }
html[data-public-root] :is(.web-header, .business-header, .website-main, .web-footer, .business-footer) :is(a, button, select, summary):focus-visible {
    outline: 3px solid var(--primary);
    outline-offset: 3px;
}
html[data-public-root] .eyebrow { color: var(--brand-strong); }
html[data-public-root] :is(.section.alt, .home-news, .savings-explained, .page-hero, .article-hero, .article-list-hero) { background: var(--surface-2); color: var(--text); }
html[data-public-root] :is(.feature-card, .post-card, .blog-card, .blog-hero-note, .savings-grid article, .savings-legal, .pricing-points span, .faq-list details, .empty-state) {
    background: var(--surface);
    border-color: var(--line);
    color: var(--text);
}
html[data-public-root] .pricing-highlight-card { background: linear-gradient(135deg, var(--surface), var(--surface-2)); border-color: var(--line); color: var(--text); }
html[data-public-root] :is(.feature-card, .post-card, .savings-grid article, .blog-hero-note) :is(p, time) { color: var(--muted); }
html[data-public-root] .blog-hero-note > span { color: var(--muted); }
html[data-public-root] .savings-grid article > span { background: var(--primary); color: var(--public-on-primary); }
html[data-public-root] :is(.feature-icon, .steps b) { background: var(--surface-2); color: var(--primary); }
html[data-public-root] :is(.footer-grid b, .business-footer-grid b) { color: var(--text); }
html[data-public-root] .copyright { color: var(--muted); border-color: var(--line); }
html[data-public-root] :is(.web-footer, .business-footer) p { color: var(--muted); }
html[data-public-root] :is(.article-body, .article-prose, .prose) { color: var(--text); }
html[data-public-root] :is(.article-body, .article-prose, .prose) :is(h1, h2, h3, h4, p, li) { color: var(--text); }
html[data-public-root] :is(.article-body, .article-prose, .prose) a { color: var(--primary); }
html[data-public-root] :is(.article-body, .article-prose, .prose) blockquote { background: var(--surface-2); border-color: var(--brand); color: var(--text); }
html[data-public-root] :is(.article-body, .article-prose, .prose) :is(pre, code) { background: var(--public-code); border-color: var(--line); color: var(--text); }
html[data-public-root] :is(.article-body, .article-prose, .prose) table { background: var(--surface); color: var(--text); }
html[data-public-root] :is(.article-body, .article-prose, .prose) :is(th, td) { border-color: var(--line); color: var(--text); }
html[data-public-root] :is(.article-body, .article-prose, .prose) th { background: var(--surface-2); }
html[data-public-root] .web-pagination a { background: var(--surface); border-color: var(--line); color: var(--text); }
html[data-public-root] .web-pagination a.active { background: var(--primary); border-color: var(--primary); color: var(--public-on-primary); }
html[data-public-root] .business-site :is(.article-body, .prose) :is(h1, h2, h3, h4, p, li) { color: var(--text); }
html[data-public-root] .business-brand { min-width: 0; max-width: 100%; }
html[data-public-root] .business-brand b { min-width: 0; overflow-wrap: anywhere; }
html[data-public-root] .business-brand > :is(span, img) { flex: none; }
html[data-public-root] .cta { background: var(--primary); color: var(--public-on-primary); }
html[data-public-root] .cta :is(h2, p) { color: inherit; }
html[data-public-root] .cta .btn.light { background: var(--surface); color: var(--text); box-shadow: none; }
html[data-public-root] .cta .btn.ghost { background: transparent; border-color: currentColor; color: var(--public-on-primary); box-shadow: none; }
html[data-public-root] .cta :is(a, button):focus-visible { outline-color: var(--public-on-primary); }

/* Partners and public verification share the same card surfaces as news and
   docs. Their deliberately dark lead panels keep an explicit light accent. */
html[data-public-root] :is(.partner-public-hero, .verification-public-hero, .verification-report-hero) .eyebrow { color: #83f6e5; }
html[data-public-root] :is(.partner-public-option-card, .partner-public-steps li, .partner-public-rule-list p,
    .verification-problem-grid article, .verification-search, .verification-search input,
    .verification-result-card, .verification-evidence-card, .verification-empty-state,
    .verification-community-empty, .verification-history-list > div, .verification-method-steps li,
    .verification-limit-grid article, .verification-faq-grid details, .verification-report-metrics article,
    .verification-report-evidence-grid article, .verification-basis-summary div,
    .verification-public-question, .verification-tech-grid > div, .verification-analysis-card,
    .verification-analysis-notes, .verification-analysis-sources) { background: var(--surface); color: var(--text); }
html[data-public-root] :is(.partner-public-option-number, .partner-public-steps li > span,
    .verification-problem-grid article > strong, .verification-method-steps li > span) { background: var(--surface-2); color: var(--primary); }
html[data-public-root] :is(.partner-public-note, .verification-research-note, .verification-result-card dl > div,
    .verification-evidence-card dl > div, .verification-report-context article,
    .verification-published-response-notice, .verification-archive-notice, .verification-q-symbol,
    .verification-question-columns > div, .verification-rationale-grid > div, .verification-analysis-empty,
    .verification-cutoff-comparison-grid > div, .verification-signal-columns > div) { background: var(--surface-2); color: var(--text); }
html[data-public-root] :is(.partner-public-option-card ul, .verification-search label span, .verification-resolved) { color: var(--muted); }
html[data-public-root] .verification-community { background: var(--bg); }
html[data-public-root] .verification-timeline-legend b { color: var(--text); }
html[data-public-root] .verification-public-month-cell { color: var(--text); background: var(--surface-2); }
html[data-public-root] .verification-public-month-cell[data-verdict="correct"] { background: rgb(34 197 94 / 7%); }
html[data-public-root] .verification-public-month-cell[data-verdict="wrong"] { background: rgb(239 68 68 / 7%); }
html[data-public-root] .verification-public-month-cell[data-verdict="mixed"] { background: rgb(59 130 246 / 7%); }

/* The Business mobile menu also keeps links reachable if script loading is
   disabled or fails; a toggle may hide links only after it is bound. */
@media (max-width: 900px) {
    html[data-public-root] .business-menu { display: none; }
    html[data-public-root] .business-header:not(.site-menu-ready) { position: relative; }
    html[data-public-root] .business-header nav { display: flex; position: static; flex-basis: 100%; width: 100%; max-height: none; }
    html[data-public-root] .business-header.site-menu-ready .business-menu { display: block; }
    html[data-public-root] .business-header.site-menu-ready nav { display: none; position: absolute; width: auto; max-height: calc(100dvh - 180px); overflow-y: auto; }
    html[data-public-root] .business-header.site-menu-ready nav.open { display: flex; }
}
