.host { position: fixed; right: max(var(--space-4), env(safe-area-inset-right)); bottom: max(var(--space-4), env(safe-area-inset-bottom)); z-index: 60; display: flex; flex-direction: column; gap: var(--space-2); width: min(360px, calc(100vw - var(--space-6))); pointer-events: none; } .toast { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-2) var(--space-2) var(--space-3); border-inline-start: 3px solid var(--busy); border-radius: var(--radius-md); background: var(--surface); box-shadow: var(--shadow-pop); font-size: 13px; pointer-events: auto; animation: toast-in var(--duration-enter) ease-out; } .toast svg { flex-shrink: 0; } .ok { border-inline-start-color: var(--ok); } .ok svg { color: var(--ok); } .error { border-inline-start-color: var(--danger); } .error svg { color: var(--danger); } .info svg { color: var(--busy); } .text { flex: 1; min-width: 0; overflow-wrap: anywhere; } .close { width: 28px; min-width: 28px; height: 28px; min-height: 28px; padding: 0; } @keyframes toast-in { from { opacity: 0; translate: 0 8px; } } @media (prefers-reduced-motion: reduce) { .toast { animation: none; } }