/* Marketing palette only. The product demo owns its separate desktop-app tokens. */
html[data-landing-theme] {
  --landing-bg:#eeede6; --landing-ink:#161916; --landing-muted:#585c52;
  --landing-line:#c9c9bf; --landing-nav-border:#babcb3;
  color-scheme:light;
}
html[data-landing-theme=dark] {
  --landing-bg:#111410; --landing-ink:#f0f1e7; --landing-muted:#b0b7a7;
  --landing-line:#373e31; --landing-nav-border:#505a46;
  color-scheme:dark;
}
html[data-landing-theme] body:has(.landing) { background:var(--landing-bg); }
html[data-landing-theme] .landing {
  --paper:var(--landing-bg); --ink:var(--landing-ink); --muted:var(--landing-muted); --line:var(--landing-line);
  background:var(--paper);
}
html[data-landing-theme] body:has(.landing) > header,
html[data-landing-theme] body:has(.landing) > header nav {
  background:var(--landing-bg); border-color:var(--landing-line);
}
html[data-landing-theme] body:has(.landing) > header a { color:var(--landing-ink); }
html[data-landing-theme] body:has(.landing) > header .nav-account:is(:hover,:focus-visible) { background:var(--landing-ink); color:var(--landing-bg); }
html[data-landing-theme] body:has(.landing) > header a:focus-visible { outline:2px solid var(--landing-ink); outline-offset:4px; }
html[data-landing-theme] body:has(.landing) .nav-account,
html[data-landing-theme] body:has(.landing) .language-switcher { border-color:var(--landing-nav-border); }
html[data-landing-theme] body:has(.landing) .nav-toggle span { background:var(--landing-ink); }
html[data-landing-theme] body:has(.landing) #nav-links.open { background:var(--landing-bg); }
html[data-landing-theme] body:has(.landing) #nav-links a { border-color:var(--landing-line); }
html[data-landing-theme] body:has(.landing) > header .nav-cta { background:var(--landing-ink); color:var(--landing-bg); }
.landing-theme-toggle {
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  height:38px; padding:0 11px; border:1px solid var(--landing-nav-border);
  background:transparent; color:var(--landing-ink); border-radius:0;
  font:650 11px/1 Inter,sans-serif; cursor:pointer;
}
.landing-theme-toggle[hidden] { display:none; }
.landing-theme-toggle:hover { background:var(--landing-ink); color:var(--landing-bg); }
.landing-theme-toggle:focus-visible { outline:2px solid var(--landing-ink); outline-offset:4px; }
.landing-theme-toggle svg { flex-shrink:0; }
.theme-sun, html[data-landing-theme=dark] .theme-moon { display:none; }
html[data-landing-theme=dark] .theme-sun { display:block; }
/* Keep ink on the bright statement ribbon in either palette. */
html[data-landing-theme] .statement-rail { color:#161916; }
html[data-landing-theme=dark] .poster-copy h1 span:last-child { color:#a8b496; }
html[data-landing-theme=dark] .hero-product img { border-color:#333c2c; box-shadow:15px 22px 0 #28311f; }
html[data-landing-theme=dark] .landing-cta { background:#f0f1e7; color:#161916 !important; }
html[data-landing-theme=dark] .landing .product-demo-section { background:#1b2117; }
html[data-landing-theme=dark] .landing .stase-section,
html[data-landing-theme=dark] .landing .landing-final { border-block:1px solid var(--landing-line); }
html[data-landing-theme=dark] .landing .manifesto-section { background:#1b2316; color:var(--landing-ink); border-color:#485239; }
html[data-landing-theme=dark] .manifesto-section h2,
html[data-landing-theme=dark] .manifesto-section h2 > span { color:#c2f750; }
html[data-landing-theme=dark] .manifesto-principles article { border-color:#485239; }
html[data-landing-theme=dark] .offer-comparison { border-color:var(--landing-nav-border); }
html[data-landing-theme=dark] .offer-comparison .free-offer { background:#20291a; border-color:var(--landing-nav-border); }
html[data-landing-theme=dark] .pro-offer-link { border-color:var(--landing-nav-border); }
html[data-landing-theme=dark] .pro-offer-link:hover { background:#f0f1e7; color:#161916; }
html[data-landing-theme=dark] .landing .landing-faq { background:#1b1f18; }
html[data-landing-theme=dark] .landing-faq details { border-color:var(--landing-nav-border); }
html[data-landing-theme=dark] body:has(.landing) > footer { background:#0c0f0b; border-top:1px solid var(--landing-line); }
/* Consent controls own their theme rules in affiliate-consent.css. */
/* The app is always shown with its native dark controls, including checkboxes. */
.product-demo, .screenshot-dialog { color-scheme:dark; }
@media(max-width:1100px) {
  .landing-theme-toggle { width:38px; padding:0; }
  .landing-theme-toggle [data-theme-label] { display:none; }
}
@media(max-width:480px) {
  html[data-landing-theme] body:has(.landing) > header nav { padding:12px; gap:8px; }
  html[data-landing-theme] body:has(.landing) .nav-brand { font-size:16px; flex-shrink:0; }
  html[data-landing-theme] body:has(.landing) .nav-actions { gap:6px; }
  html[data-landing-theme] body:has(.landing) .language-switcher { min-width:30px; padding:8px 6px; font-size:10px; }
  html[data-landing-theme] body:has(.landing) .nav-cta-home { padding:11px 9px; font-size:10px; }
  .landing-theme-toggle { width:36px; height:36px; }
}
