/* Light/dark preference switch and theme-aware wordmarks. */
:root { color-scheme: light; }
.logo-dark { display: none; }
[data-theme="dark"] .logo-light { display: none; }
[data-theme="dark"] .logo-dark { display: block; }

.theme-toggle {
 display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
 width:var(--space-3xl);height:var(--space-3xl);padding:0;
 background:transparent;border:0;border-radius:var(--radius-sm);color:var(--text);cursor:pointer;
}
.theme-switch-track {
 display:block;position:relative;flex:0 0 auto;width:44px;height:24px;
 background:var(--surface);border:var(--border-hairline) solid var(--text-2);
 border-radius:var(--radius-full);transition:background var(--fast) var(--ease),border-color var(--fast) var(--ease);
}
.theme-switch-thumb {
 position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--radius-full);
 background:transparent;border:4px solid var(--text-2);transition:transform var(--fast) var(--ease),border-color var(--fast) var(--ease);
}
.theme-toggle[aria-checked="true"] .theme-switch-track{background:var(--border);border-color:var(--border)}
.theme-toggle[aria-checked="true"] .theme-switch-thumb{transform:translateX(20px);border-color:var(--color-on-action-primary)}
.theme-toggle:hover .theme-switch-track{border-color:var(--text)}
html:not([data-theme]) .theme-toggle{display:none}
.nav .theme-toggle-menu{display:none}
@media(max-width:419px){
 .bar>.theme-toggle{display:none}
 .nav .theme-toggle-menu{
  display:flex;justify-content:flex-start;gap:var(--space-md);width:auto;height:auto;
  min-height:var(--space-3xl);margin-top:var(--space-sm);padding:var(--space-md);
  border-top:var(--border-hairline) solid var(--border);border-radius:0;
  color:var(--text-2);font:inherit;font-size:var(--type-body-sm-font-size);
 }
}
@media(prefers-reduced-motion:reduce){.theme-switch-track,.theme-switch-thumb{transition:none}}
@media print{.theme-toggle{display:none}}
