/* ayushmxxn/theme-toggle, 21st.dev demo 1216 (MIT), adapted to native CSS. */
body.fusion-21st .topbar-actions { margin-left:auto; flex:0 0 auto; }
#topbarThemeToggle.theme-toggle-21st {
  display:inline-flex; align-items:center; justify-content:center; position:relative;
  box-sizing:border-box; width:64px; min-width:64px; height:44px; min-height:44px;
  padding:0; margin:0; border:0; border-radius:999px; background:transparent;
  color:inherit; cursor:pointer; flex:none; order:100;
}
#topbarThemeToggle.theme-toggle-21st::before { content:none; }
#topbarThemeToggle.theme-toggle-21st:focus-visible {
  outline:2px solid var(--fusion-accent); outline-offset:3px;
}
.theme-toggle-track {
  display:block; position:relative; box-sizing:border-box; width:64px; height:32px;
  border:1px solid #e4e4e7; border-radius:999px; background:#fff;
  transition:background-color .3s, border-color .3s;
}
.theme-toggle-thumb {
  position:absolute; left:3px; top:3px; width:24px; height:24px;
  border-radius:999px; background:#e5e7eb; transform:translateX(32px);
  transition:transform .3s, background-color .3s;
}
.theme-toggle-track svg { position:absolute; top:7px; width:16px; height:16px; transition:color .3s; }
.theme-toggle-moon { left:7px; color:#000; }
.theme-toggle-sun { right:7px; color:#374151; }
body.theme-dark .theme-toggle-track { background:#09090b; border-color:#27272a; }
body.theme-dark .theme-toggle-thumb { transform:translateX(0); background:#27272a; }
body.theme-dark .theme-toggle-moon { color:#fff; }
body.theme-dark .theme-toggle-sun { color:#6b7280; }
@media(max-width:900px) {
  body.fusion-21st .app-topbar { flex-wrap:nowrap; }
}
@media(prefers-reduced-motion:reduce) {
  .theme-toggle-track,.theme-toggle-thumb,.theme-toggle-track svg { transition:none; }
}
