/* Two copies of the same control, synchronized by the shared shell. */
.theme-switch{position:relative;isolation:isolate;display:grid;grid-template-columns:1fr 1fr;align-items:center;justify-items:center;flex:0 0 80px;width:80px;height:44px;padding:4px;border:1px solid var(--line);border-radius:999px;background:var(--surface2);color:var(--muted);cursor:pointer;transition:border-color .18s,background .18s}
.theme-switch::before{content:'';position:absolute;z-index:-1;left:4px;top:4px;width:34px;height:34px;border-radius:50%;background:var(--bg);box-shadow:0 1px 4px #00000018;transform:translateX(36px);transition:transform .18s var(--ease)}
.theme-switch svg{width:20px;height:20px;pointer-events:none}
.theme-switch .theme-switch-moon{color:var(--accent)}
html[data-theme=light] .theme-switch::before{transform:translateX(0)}
html[data-theme=light] .theme-switch .theme-switch-sun{color:var(--accent)}
html[data-theme=light] .theme-switch .theme-switch-moon{color:var(--muted)}
.theme-switch:hover{border-color:var(--accent)}
.theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.site-header .header-actions{display:flex;align-items:center;gap:12px;margin-left:auto;flex-shrink:0}
.site-header .header-theme{display:flex;align-items:center}
.site-header .header-actions .header-cta{margin-left:0}
.footer-theme{display:flex;align-items:center;gap:12px;font-size:14px;line-height:1.5;color:var(--muted)}
.mobile-nav{top:var(--strateg-header-height,var(--header))}
html{scroll-padding-top:calc(var(--strateg-header-height,var(--header)) + 24px)}
@media(max-width:1439px){.site-header .desktop-nav{display:none}.site-header .menu-toggle{display:flex}}
@media(max-width:600px){
  .site-header .header-inner{display:grid;grid-template-columns:minmax(0,1fr) 80px 44px;gap:10px 12px;height:auto;padding-block:10px}
  .site-header .brand{grid-column:1;grid-row:1}
  .site-header .header-actions{display:contents}
  .site-header .header-theme{grid-column:2;grid-row:1}
  .site-header .menu-toggle{grid-column:3;grid-row:1;margin:0}
  .site-header .header-inner .header-cta{grid-column:1/-1;grid-row:2;justify-content:center;justify-self:stretch;width:100%;max-width:none;min-height:44px;white-space:nowrap;padding:10px 16px;line-height:1.5}
}
@media(prefers-reduced-motion:reduce){.theme-switch,.theme-switch::before{transition:none}}
@media print{.theme-switch,.header-actions{display:none!important}}
