/* ─── Toast notifications — drafting margin notes ───────────── */
.toast-host {
  position: fixed;
  bottom: 22px;
  right: 22px;
  display: flex;
  flex-direction: column;
  gap: 9px;
  z-index: 1000;
  pointer-events: none;
}
.toast {
  pointer-events: auto;
  background: var(--panel-hi);
  border: 1.5px solid var(--border-strong);
  border-left: 3px solid var(--blueprint);
  border-radius: 1px;
  padding: 10px 16px;
  min-width: 230px;
  max-width: 360px;
  color: var(--ink);
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.04em;
  box-shadow:
    0 2px 0 var(--panel-lo),
    0 6px 18px rgba(0,0,0,0.18);
  animation: toast-in .22s cubic-bezier(.2,.7,.3,1) both;
}
[data-theme="light"] .toast {
  border-left-color: var(--blueprint-lo);
  box-shadow:
    0 2px 0 var(--panel-lo),
    0 6px 14px rgba(60,40,20,0.12);
}
.toast.error   { border-left-color: var(--bad); }
.toast.success { border-left-color: var(--good); }

.toast.out { animation: toast-out .2s ease-in forwards; }

@keyframes toast-in {
  from { opacity: 0; transform: translateX(14px); }
  to   { opacity: 1; transform: translateX(0); }
}
@keyframes toast-out {
  from { opacity: 1; transform: translateX(0); }
  to   { opacity: 0; transform: translateX(14px); }
}
