/* Plant's toast (see toast.js), styled after shadcn's Sonner. */
.sonner {
  --width: 356px;
  position: fixed; z-index: 1000; right: 24px; bottom: 24px; width: var(--width);
  margin: 0; padding: 0; list-style: none; box-sizing: border-box;
  height: var(--front-height, 0px); transition: height 0.4s ease;
}
.sonner[data-expanded="true"] { height: var(--expanded-height, 0px); }
@media (max-width: 600px) {
  .sonner { right: 16px; left: 16px; width: auto; bottom: calc(16px + env(safe-area-inset-bottom)); }
}

.sonner-toast {
  --y: 0px; --scale: 1; --swipe: 0px; --swipe-y: 0px;
  position: absolute; right: 0; bottom: 0; width: 100%; box-sizing: border-box;
  display: flex; align-items: flex-start; gap: 8px; padding: 16px;
  border: 1px solid var(--border, #e5e5e5); border-radius: 8px;
  background: var(--card, #fff); color: var(--fg, #0a0a0a);
  box-shadow: 0 4px 12px rgb(0 0 0 / 0.1);
  font: 13px/1.4 inherit; font-family: inherit;
  transform-origin: bottom center; touch-action: none; user-select: none;
  transform: translate(var(--swipe), calc(var(--y) + var(--swipe-y))) scale(var(--scale));
  transition: transform 0.4s ease, opacity 0.4s ease;
}
.sonner-toast[data-mounted="false"] { opacity: 0; transform: translateY(100%); }
.sonner-toast[data-removed="true"] { opacity: 0; transform: translateY(calc(var(--y) + 20%)) scale(var(--scale)); transition-duration: 0.2s; }
.sonner-toast[data-swiped="true"] { transform: translate(calc(var(--swipe) + 30%), calc(var(--y) + var(--swipe-y))); }
.sonner-toast[data-hidden="true"] { opacity: 0; pointer-events: none; }
/* Behind the front toast while stacked: the edge shows, the content doesn't. */
.sonner:not([data-expanded="true"]) .sonner-toast[data-front="false"] > * { opacity: 0; transition: opacity 0.2s; }

.sonner-icon {
  flex-shrink: 0; width: 16px; height: 16px; margin-top: 1px;
  fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round;
}
.sonner-toast.success .sonner-icon { color: var(--live, #22c55e); }
.sonner-toast.error .sonner-icon { color: var(--destructive, #dc2626); }
.sonner-toast.info .sonner-icon { color: var(--muted, #737373); }
.sonner-body { flex: 1; min-width: 0; }
.sonner-title { font-weight: 500; }
.sonner-description { color: var(--muted, #737373); margin-top: 2px; }
.sonner-close {
  flex-shrink: 0; margin: -2px -4px 0 0; padding: 2px 5px; border: 0; border-radius: 6px; background: none;
  color: var(--muted, #737373); font: 11px/1 inherit; cursor: pointer; opacity: 0.7;
}
.sonner-close:hover { opacity: 1; color: var(--fg, #0a0a0a); }

@media (prefers-reduced-motion: reduce) {
  .sonner, .sonner-toast { transition: none; }
}
