/* NEURO CONTROLS — the shared button + input feel. Quiet by default, a subtle
 * press, a warm focus ring. Consistency is the point: same everywhere. */
.nbtn{ display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font:inherit; font-size:14px; font-weight:600; line-height:1; cursor:pointer;
  padding:.62rem 1.05rem; border-radius:var(--radius-sm,8px);
  background:var(--surface,#fff); color:var(--ink,#1c1c1a); border:1px solid var(--field-border,#adada5);
  transition:transform .06s ease, border-color .14s ease, background .14s ease, box-shadow .14s ease; }
.nbtn:hover{ border-color:var(--safety,#7c5ce5) }
.nbtn:active{ transform:translateY(1px) scale(.99) }
.nbtn:focus-visible{ outline:none; box-shadow:0 0 0 3px var(--safety-wash,#eeeafb) }
.nbtn--primary{ background:var(--safety,#7c5ce5); border-color:var(--safety,#7c5ce5); color:#fff }
.nbtn--primary:hover{ background:var(--safety-press,#6847cf) }
.nbtn--signal{ background:linear-gradient(135deg,#8b5cf6,#6366f1); border-color:transparent; color:#fff }
.nbtn--ghost{ background:transparent; border-color:transparent; color:var(--slate,#6e6e68) }
.nbtn--ghost:hover{ background:var(--surface-sunk,#f0f0ef); color:var(--ink,#1c1c1a) }
.ninput{ width:100%; font:inherit; font-size:14px; color:var(--ink,#1c1c1a);
  background:var(--surface,#fff); border:1px solid var(--field-border,#adada5); border-radius:var(--radius-sm,8px);
  padding:.6rem .75rem; transition:border-color .14s ease, box-shadow .14s ease; }
.ninput:focus{ outline:none; border-color:var(--safety,#7c5ce5); box-shadow:0 0 0 3px var(--safety-wash,#eeeafb) }
.ninput::placeholder{ color:var(--slate,#6e6e68) }
