/* ═══════════════════════════════════════════════════
   SIGNALPULSE — components.css  v2
═══════════════════════════════════════════════════ */

/* ── TOAST ── */
#toast-root { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); z-index: 9999; pointer-events: none; }
.toast {
  background: var(--bg2); border: 1px solid var(--border2); border-radius: 10px;
  padding: 9px 18px; font-family: var(--fh); font-size: 12px; font-weight: 700;
  letter-spacing: .05em; white-space: nowrap;
  opacity: 0; transform: translateY(10px); transition: all .25s cubic-bezier(.16,1,.3,1); pointer-events: none;
}
.toast.show { opacity: 1; transform: translateY(0); }
.toast.success { border-color: rgba(34,197,94,.4); color: #4ade80; }
.toast.error   { border-color: rgba(239,68,68,.4);  color: #f87171; }
.toast.info    { border-color: rgba(45,212,255,0.35); color: var(--accent); }
