/* ── Global toggle switch component ───────────────────────────────────────────
   Usage:
     <label class="sk-toggle-label">
       <span>Label text</span>
       <div class="sk-toggle">
         <input type="checkbox">
         <span class="sk-toggle-track"><span class="sk-toggle-thumb"></span></span>
       </div>
     </label>

   The legacy .settings-toggle* names are aliased below so existing
   settings.ejs markup continues to work without changes.
   ─────────────────────────────────────────────────────────────────────────── */

/* ── Label row ──────────────────────────────────────────────────────────────── */

.sk-toggle-label,
.settings-toggle-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  margin-bottom: 0;
  user-select: none;
}

/* ── Wrapper ────────────────────────────────────────────────────────────────── */

.sk-toggle,
.settings-toggle {
  position: relative;
  flex-shrink: 0;
}

/* ── Hide native checkbox ───────────────────────────────────────────────────── */

.sk-toggle input,
.settings-toggle input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
  pointer-events: none;
}

/* ── Track ──────────────────────────────────────────────────────────────────── */

.sk-toggle-track,
.settings-toggle-track {
  display: block;
  width: 38px;
  height: 22px;
  background: var(--surface-3);
  border: 1px solid var(--border);
  border-radius: 11px;
  position: relative;
  transition: background 0.2s, border-color 0.2s;
  cursor: pointer;
}

/* ── Thumb ──────────────────────────────────────────────────────────────────── */

.sk-toggle-thumb,
.settings-toggle-thumb {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  background: var(--text-dim);
  border-radius: 50%;
  transition: left 0.2s cubic-bezier(0.4, 0, 0.2, 1),
              background 0.2s;
}

/* ── Checked state ──────────────────────────────────────────────────────────── */

.sk-toggle    input:checked + .sk-toggle-track,
.settings-toggle input:checked + .settings-toggle-track {
  background: var(--accent);
  border-color: var(--accent);
}

.sk-toggle    input:checked + .sk-toggle-track    .sk-toggle-thumb,
.settings-toggle input:checked + .settings-toggle-track .settings-toggle-thumb {
  left: 18px;
  background: #000;
}

/* ── Focus ring ─────────────────────────────────────────────────────────────── */

.sk-toggle    input:focus-visible + .sk-toggle-track,
.settings-toggle input:focus-visible + .settings-toggle-track {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}
