
/* TypeFlow v6.4.4 — animated light/dark theme switch */
.theme-quick-toggle{
  position:relative;
  width:78px !important;
  height:38px !important;
  padding:0 !important;
  border:1px solid var(--line) !important;
  border-radius:12px !important;
  background:var(--surface) !important;
  color:var(--muted);
  display:grid !important;
  grid-template-columns:1fr 1fr;
  align-items:center;
  overflow:hidden;
  cursor:pointer;
  isolation:isolate;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.02);
  transition:border-color .22s ease, background-color .28s ease, box-shadow .22s ease;
}
.theme-quick-toggle:hover{
  border-color:color-mix(in srgb,var(--primary) 45%,var(--line)) !important;
  box-shadow:0 5px 16px color-mix(in srgb,var(--primary) 9%,transparent);
}
.theme-quick-toggle .theme-switch-dot{
  position:absolute;
  z-index:1;
  top:4px;
  left:4px;
  width:30px !important;
  height:30px !important;
  border-radius:10px !important;
  background:linear-gradient(135deg,#7564ff,#8457f3) !important;
  box-shadow:0 6px 16px rgba(105,82,246,.28) !important;
  transform:translateX(0) !important;
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    background .28s ease,
    box-shadow .28s ease !important;
  will-change:transform;
  pointer-events:none;
}
.theme-quick-toggle .theme-sun,
.theme-quick-toggle .theme-moon{
  position:relative;
  z-index:2;
  width:39px;
  height:38px;
  display:grid;
  place-items:center;
  font-size:14px !important;
  line-height:1;
  transition:color .25s ease, opacity .25s ease, transform .25s ease;
  pointer-events:none;
}
/* Light theme: slider rests on the sun */
html[data-theme="light"] .theme-quick-toggle .theme-sun{
  color:#fff;
  opacity:1;
  transform:scale(1.04);
}
html[data-theme="light"] .theme-quick-toggle .theme-moon{
  color:var(--muted);
  opacity:.55;
  transform:scale(.94);
}
/* Dark theme: slider slides to the moon */
html[data-theme="dark"] .theme-quick-toggle .theme-switch-dot{
  transform:translateX(40px) !important;
  background:linear-gradient(135deg,#7668ff,#5f6dff) !important;
  box-shadow:0 6px 18px rgba(89,102,255,.34) !important;
}
html[data-theme="dark"] .theme-quick-toggle .theme-sun{
  color:var(--muted);
  opacity:.5;
  transform:scale(.94);
}
html[data-theme="dark"] .theme-quick-toggle .theme-moon{
  color:#fff;
  opacity:1;
  transform:scale(1.04);
}
.theme-quick-toggle:active .theme-switch-dot{
  width:34px !important;
}
html[data-theme="dark"] .theme-quick-toggle:active .theme-switch-dot{
  transform:translateX(36px) !important;
}
.theme-quick-toggle:focus-visible{
  outline:3px solid color-mix(in srgb,var(--primary) 28%,transparent);
  outline-offset:2px;
}
@media (prefers-reduced-motion: reduce){
  .theme-quick-toggle,
  .theme-quick-toggle *{transition:none !important;}
}
