/* L3 浮层：Toast 提示
 * z-index: var(--z-toast) = 150
 * 挂载点: #overlay-root 或 #toast-container
 * 用法: Toast.show('提示文案', 'success'|'error'|'info', 2500)
 */
.toast-container {
  position: fixed;
  top: 80px;
  left: 50%;
  transform: translateX(-50%);
  z-index: var(--z-toast);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  pointer-events: none;
}

.toast {
  background: var(--panel);
  color: var(--ink);
  border-radius: var(--radius-pill);
  padding: 10px 16px;
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  box-shadow: var(--shadow-toast);
  animation: toastEnter 250ms cubic-bezier(0.16, 1, 0.3, 1) forwards;
  max-width: 320px;
  text-align: center;
}

.toast.toast-exit {
  animation: toastExit 200ms ease forwards;
}

@keyframes toastEnter {
  from { opacity: 0; transform: translateY(-12px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes toastExit {
  from { opacity: 1; }
  to   { opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .toast { animation: none; }
  .toast.toast-exit { animation: none; opacity: 0; }
}
