.toast-wrap { position: fixed; right: 22px; bottom: 22px; z-index: 500; display: flex; flex-direction: column; gap: 10px; align-items: flex-end; pointer-events: none; }
.toast { width: min(360px, calc(100vw - 32px)); color: var(--text); border: 0.5px solid rgba(0,0,0,.07); border-radius: 18px; padding: 14px 40px 14px 16px; pointer-events: auto; animation: tIn .24s cubic-bezier(.2,.9,.2,1) forwards; box-shadow: 0 14px 34px rgba(0,0,0,.12), inset 0 1px 0 rgba(255,255,255,.66); backdrop-filter: blur(24px) saturate(1.4); -webkit-backdrop-filter: blur(24px) saturate(1.4); overflow: hidden; position: relative; }
.toast::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; }
.toast.success           { background: rgba(242,251,244,.96); }
.toast.success::before   { background: #30D158; }
.toast.warn              { background: rgba(255,250,234,.96); }
.toast.warn::before      { background: #FFCC00; }
.toast.danger            { background: rgba(255,243,242,.96); }
.toast.danger::before    { background: #FF453A; }
.toast.info              { background: rgba(247,247,250,.96); }
.toast.info::before      { background: #8E8E93; }
.toast-title { font-size: 14px; font-weight: 800; letter-spacing: -.2px; line-height: 1.22; }
.toast-desc  { font-size: 12.5px; line-height: 1.46; color: var(--text2); margin-top: 5px; white-space: normal; }
.toast-desc b { color: var(--text); font-weight: 700; }
.toast-close { position: absolute; top: 10px; right: 10px; width: 22px; height: 22px; border-radius: 50%; border: none; background: rgba(120,120,128,.14); color: rgba(60,60,67,.6); cursor: pointer; display: flex; align-items: center; justify-content: center; font-size: 14px; font-family: var(--font); transition: background .14s; }
.toast-close:hover { background: rgba(120,120,128,.26); }
.toast.out { animation: tOut .2s ease forwards; }
@keyframes tIn  { from{opacity:0;transform:translateX(28px) scale(.96);}to{opacity:1;transform:none;} }
@keyframes tOut { to{opacity:0;transform:translateX(36px) scale(.96);} }
