/* Grand Line sun/moon switch — one quiet control, same on the home header and the
   dashboard top bars. Colours come from whichever token set the page already loads:
   the home page's --c-* scale, else the dashboard tokens.css scale, else a safe hex.
   Behaviour lives in /assets/theme.js ([data-theme-switch]). */
.gl-switch{
  --gls-line:var(--c-rule,var(--rule,#DEDFE1));
  --gls-ink:var(--c-head,var(--text,#1B344E));
  --gls-dim:var(--c-muted,var(--text-3,#5A6270));
  appearance:none;-webkit-appearance:none;
  position:relative;display:inline-block;flex:none;
  width:52px;height:28px;padding:0;margin:0;
  background:transparent;border:1px solid var(--gls-line);border-radius:999px;
  color:var(--gls-dim);cursor:pointer;
}
.gl-switch:hover{--gls-line:var(--c-muted,var(--text-3,#5A6270))}
.gl-switch:focus-visible{outline:2px solid var(--c-accent,var(--text,#22605F));outline-offset:2px}
.gl-switch-track{position:absolute;inset:3px;display:flex;align-items:center;justify-content:space-between}
.gl-switch-knob{
  position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;
  background:var(--gls-ink);opacity:.12;transition:transform .18s ease;
}
.gl-switch.is-dark .gl-switch-knob{transform:translateX(24px)}
.gl-switch-ico{
  position:relative;width:20px;height:20px;padding:3px;box-sizing:border-box;display:block;
  stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;
}
.gl-switch:not(.is-dark) .gl-switch-sun{color:var(--gls-ink)}
.gl-switch.is-dark .gl-switch-moon{color:var(--gls-ink)}
@media (prefers-reduced-motion:reduce){.gl-switch-knob{transition:none}}
