:root { color-scheme: light; }
:root.dark { --bg:#101115; --fg:#ededf3; --muted:#a4a2b1; --border:#2d2d39; --purple:#b5a4f0; color-scheme:dark; }
.header-actions { display:flex; align-items:center; gap:12px; }
.site-nav { gap:23px; margin-left:auto; }
.header-inner { gap:22px; }
.primary { background:#25252a; color:white; border-color:#25252a; }
:root.dark .primary { background:#b5a4f0; border-color:#b5a4f0; color:#211b35; }
:root.dark .primary:hover { background:#c7b8fa; }
:root.dark .site-header { background:#101115f5; }
:root.dark :is(.secondary,.nav-toggle,.gateway,.endpoint-box,.model-catalog,.prose .doc-link-grid a) { background:#191a20; color:var(--fg); border-color:var(--border); }
:root.dark :is(.value-section,.service-status,.cta-panel,.notice,.docs-sidebar [aria-current=page],.protocol-tabs button[aria-selected=true]) { background:#242130; border-color:#3c354f; color:var(--fg); }
:root.dark .hero-visual { background:linear-gradient(150deg,#242130,#191a20); border-color:#393244; box-shadow:none; }
:root.dark :is(.client-row span,.copy-button) { background:#242130; border-color:#3c354f; color:var(--fg); }
:root.dark :is(.visual-caption,.gateway-tag,.value-list article>span) { color:#b9adce; }
:root.dark :is(.gateway,.gateway-tag,.value-list article) { border-color:#3c354f; }
:root.dark .flow-lines i { background:#514365; }
:root.dark :is(.code-window,.copy-block,.prose pre) { background:#19171f; border-color:#3c354f; box-shadow:none; }
:root.dark .prose th { background:#242130; }
:root.dark :is(.secondary,.copy-button,.docs-sidebar nav a):hover { background:#302a42; border-color:#6f5d94; }
:root.dark :is(.prose a,.notice a,.service-status,.copy-button) { color:var(--purple); }
@media(max-width:1000px) { .site-nav { gap:14px; } .header-inner { gap:14px; } }
@media(max-width:740px) {
  .header-inner { gap:10px; }
  .header-actions { margin-left:auto; gap:8px; }
  .site-nav { gap:8px 19px; }
  .site-nav.is-open { padding-right:20px; }
}

.theme-toggle { display:inline-flex; justify-content:center; align-items:center; width:40px; height:40px; flex-shrink:0; padding:0; border:1px solid transparent; border-radius:8px; color:var(--muted); background:transparent; }
.theme-toggle:hover { color:var(--fg); background:color-mix(in srgb,var(--purple) 9%,var(--bg)); border-color:var(--border); }
.theme-toggle svg { width:20px; height:20px; }
.theme-toggle .theme-sun { display:none; }
:root.dark .theme-toggle .theme-sun { display:block; }
:root.dark .theme-toggle .theme-moon { display:none; }
