/* Shared, nonblocking live feedback. Unfold owns the action controls. */
.lc-toasts {
  --toast-bg: var(--color-base-0, #fff);
  --toast-ink: var(--color-base-900, #172033);
  --toast-muted: var(--color-base-600, #475569);
  --toast-line: var(--color-base-200, #e2e8f0);
  position: fixed;
  inset-block-start: max(80px, env(safe-area-inset-top));
  inset-inline-end: max(20px, env(safe-area-inset-right));
  width: min(390px, calc(100vw - 32px));
  max-height: calc(100dvh - 104px);
  z-index: 70;
  pointer-events: none;
  color: var(--toast-ink);
  font-family: inherit;
}
.dark .lc-toasts {
  --toast-bg: var(--color-base-900, #111827);
  --toast-ink: var(--color-base-100, #f1f5f9);
  --toast-muted: var(--color-base-400, #aab7ca);
  --toast-line: var(--color-base-700, #334155);
}
.lc-toasts-list { display: grid; gap: 10px; max-height: inherit; overflow-y: auto; overscroll-behavior: contain; padding: 16px; margin: -16px; }
.lc-toast {
  --toast-accent: var(--color-primary-600, #6550c9);
  --toast-tint: var(--color-primary-50, #f5f3ff);
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr) 42px;
  align-items: start;
  column-gap: 12px;
  padding: 16px 8px 16px 16px;
  border: 1px solid var(--toast-line);
  border-radius: 12px;
  background: var(--toast-bg);
  box-shadow: 0 8px 28px #0f172a1a, 0 2px 6px #0f172a08;
  pointer-events: auto;
  animation: lc-toast-arrive .18s ease-out;
}
.lc-toast[data-variant="success"] { --toast-accent: #047857; --toast-tint: #ecfdf5; }
.lc-toast[data-variant="warning"] { --toast-accent: #b45309; --toast-tint: #fffbeb; }
.lc-toast[data-variant="error"] { --toast-accent: #b91c1c; --toast-tint: #fef2f2; }
.dark .lc-toast { --toast-accent: var(--color-primary-300, #c4b5fd); --toast-tint: var(--color-primary-950, #2e1065); box-shadow: 0 8px 28px #0004; }
.dark .lc-toast[data-variant="success"] { --toast-accent: #6ee7b7; --toast-tint: #064e3b; }
.dark .lc-toast[data-variant="warning"] { --toast-accent: #fcd34d; --toast-tint: #451a03; }
.dark .lc-toast[data-variant="error"] { --toast-accent: #fca5a5; --toast-tint: #450a0a; }
.lc-toast-icon { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--toast-tint); color: var(--toast-accent); font-size: 21px; }
.lc-toast-content { min-width: 0; padding-top: 1px; }
.lc-toast-heading { display: flex; align-items: center; gap: 8px; }
.lc-toast-heading h2 { margin: 0; color: var(--toast-ink); font-size: 14px; line-height: 1.5; font-weight: 650; overflow-wrap: anywhere; }
.lc-toast-count { flex: none; min-width: 20px; padding: 1px 6px; border-radius: 5px; background: var(--toast-tint); color: var(--toast-accent); font-size: 11px; font-weight: 650; line-height: 18px; text-align: center; }
.lc-toast-message { margin: 4px 0 0; color: var(--toast-muted); font-size: 13px; line-height: 1.6; white-space: pre-line; overflow-wrap: anywhere; max-height: 7.8em; overflow: auto; }
.lc-toast-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 12px; margin-top: 8px; }
.lc-toast-context { color: var(--toast-muted); font-size: 11px; line-height: 1.5; }
.lc-toast [data-toast-dismiss] { margin-top: -8px; }
.lc-toast-progress { position: absolute; inset-inline: 16px; bottom: 0; height: 2px; background: var(--toast-accent); opacity: .5; transform: scaleX(var(--toast-progress, 1)); transform-origin: left; border-radius: 2px; }
[dir="rtl"] .lc-toast-progress { transform-origin: right; }
.lc-toast [hidden] { display: none !important; }
.lc-toast-announcer { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@keyframes lc-toast-arrive { from { opacity: 0; translate: 0 -6px; } to { opacity: 1; translate: 0 0; } }
@media (max-width: 600px) {
  .lc-toasts { inset-inline-end: max(16px, env(safe-area-inset-right)); inset-block-start: max(72px, env(safe-area-inset-top)); max-height: calc(100dvh - 96px); }
  .lc-toast { grid-template-columns: 32px minmax(0, 1fr) 42px; column-gap: 10px; padding-inline-start: 12px; }
  .lc-toast-icon { width: 32px; height: 32px; }
}
@media (prefers-reduced-motion: reduce) { .lc-toast { animation: none; } .lc-toast-progress { display: none; } }
@media (forced-colors: active) { .lc-toast { border-color: CanvasText; } .lc-toast-icon { color: CanvasText; } }
