/* Переключатель .switch (кнопка role="switch", js/settings.js): дорожка, бегунок, подпись.
   Состояние читается по положению бегунка, а не только по цвету. */
.switch {
  --switch-track-off: var(--surface-2); --switch-track-on: var(--accent); --switch-border: var(--border-strong);
  --switch-thumb-off: var(--fg-muted); --switch-thumb-on: var(--on-accent);
  display: inline-flex; align-items: center; gap: var(--s2); min-height: var(--control-h-sm); padding: 0 var(--s1);
  border: 0; border-radius: var(--r); background: transparent; color: var(--fg); font: var(--fw-medium) var(--fs-sm) var(--font);
  cursor: pointer; white-space: nowrap;
}
.switch-track { position: relative; flex: none; width: 34px; height: 20px; border-radius: var(--r-pill);
  background: var(--switch-track-off); border: var(--border-w) solid var(--switch-border);
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease); }
.switch-track::after { content: ""; position: absolute; top: 2px; left: 2px; width: 14px; height: 14px; border-radius: 50%;
  background: var(--switch-thumb-off); transition: transform var(--dur) var(--ease), background var(--dur) var(--ease); }
.switch[aria-checked="true"] .switch-track { background: var(--switch-track-on); border-color: var(--switch-track-on); }
.switch[aria-checked="true"] .switch-track::after { transform: translateX(14px); background: var(--switch-thumb-on); }
.switch:disabled { color: var(--disabled-fg); cursor: not-allowed; }
.switch:disabled .switch-track { background: var(--disabled-bg); border-color: var(--disabled-border); }
.switch[aria-busy="true"] .switch-track { border-style: dashed; }
.switch .switch-label { color: var(--fg-muted); }
.switch[aria-checked="true"] .switch-label { color: var(--fg); }
