/* Switch (new component 2026-10-20, from the Game Day toggle 1019:29011 without its label).
   44×24 track, radius full. Off = surface/selected, On = accent/default; 16px knob in surface/default, 4px inset.
   States: hover (track darkens a step), focus-visible (gold ring), disabled (50%). No text inside the switch. */
.switch{appearance:none;flex:none;display:inline-flex;align-items:center;padding:0;border:0;background:none;cursor:pointer;border-radius:var(--radius-full);-webkit-tap-highlight-color:transparent}
.switch__track{position:relative;display:block;width:44px;height:24px;border-radius:var(--radius-full);background:var(--surface-selected);transition:background-color .2s}
.switch__knob{position:absolute;top:4px;left:4px;width:16px;height:16px;border-radius:var(--radius-full);background:var(--surface-default);box-shadow:var(--shadow-switch-knob);transition:transform .2s var(--ease-out)}
.switch.is-on .switch__track,.switch[aria-checked=true] .switch__track{background:var(--accent-default)}
.switch.is-on .switch__knob,.switch[aria-checked=true] .switch__knob{transform:translateX(20px)}
.switch:is(:hover,.is-hover):not(:disabled) .switch__track{background:var(--border-default)}
.switch:is(:hover,.is-hover)[aria-checked=true]:not(:disabled) .switch__track{background:var(--accent-hover)}
.switch:focus-visible,.switch.is-focus{outline:0;box-shadow:var(--shadow-focus-ring-accent)}
.switch:disabled,.switch.is-disabled{opacity:.5;cursor:default}
@media (prefers-reduced-motion:reduce){.switch__track,.switch__knob{transition:none}}
/* Switch with a visible label beside it (Game Day toggle look) */
.switch-field{display:inline-flex;align-items:center;gap:var(--space-8);font:var(--text-xs);color:var(--text-primary)}
