/* NEURO TOGGLE — the switch, sibling to the Neurocheck. Off = calm neutral track;
 * On = the signal gradient with a soft glow pulse and a spring on the knob.
 * Pure CSS + native checkbox. Light + dark, reduced-motion aware. */
.neurotoggle{
  --nt-w:44px; --nt-h:26px; --nt-pad:3px; --nt-knob:20px;
  --nt-accent-1:var(--safety,#7c5ce5); --nt-accent-2:var(--safety-press,#6847cf);  /* brand by default */
  --nt-off:rgba(20,20,18,.16); --nt-ease:cubic-bezier(.2,.8,.2,1.2);
  display:inline-flex; align-items:center; gap:11px; cursor:pointer; user-select:none;
}
@media (prefers-color-scheme:dark){ .neurotoggle{ --nt-off:rgba(255,255,255,.16) } }
:root[data-theme="dark"] .neurotoggle{ --nt-off:rgba(255,255,255,.16) }
:root[data-theme="light"] .neurotoggle{ --nt-off:rgba(20,20,18,.16) }
.neurotoggle input{ position:absolute; opacity:0; width:1px; height:1px; margin:-1px; clip:rect(0 0 0 0) }
.nt-track{ position:relative; width:var(--nt-w); height:var(--nt-h); border-radius:999px; background:var(--nt-off); transition:background .22s ease; flex:0 0 auto }
.nt-track::before{ /* glow that pulses on flip */
  content:""; position:absolute; inset:-3px; border-radius:999px; opacity:0;
  background:radial-gradient(60% 60% at 70% 50%, rgba(139,92,246,.45), rgba(139,92,246,0) 65%); filter:blur(6px); z-index:-1;
}
.nt-knob{ position:absolute; top:var(--nt-pad); left:var(--nt-pad); width:var(--nt-knob); height:var(--nt-knob); border-radius:50%;
  background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.28), 0 1px 1px rgba(0,0,0,.18);
  transition:transform .24s var(--nt-ease); }
.nt-text{ font-size:13.5px; font-weight:500; color:inherit }
.neurotoggle input:checked + .nt-track{ background:linear-gradient(135deg,var(--nt-accent-1),var(--nt-accent-2)) }
.neurotoggle input:checked + .nt-track .nt-knob{ transform:translateX(calc(var(--nt-w) - var(--nt-knob) - var(--nt-pad)*2)) }
.neurotoggle input:checked + .nt-track::before{ animation:ntGlow .5s ease 1 }
.neurotoggle input:focus-visible + .nt-track{ outline:3px solid rgba(139,92,246,.4); outline-offset:3px }
@keyframes ntGlow{ 0%{opacity:.9} 100%{opacity:0} }
@media (prefers-reduced-motion:reduce){ .neurotoggle *{ animation:none!important; transition-duration:.01ms!important } }

/* delight variant — the Neurocheck purple, for special moments only */
.neurotoggle--signal{ --nt-accent-1:#8b5cf6; --nt-accent-2:#6366f1 }
