/* ═══════════════════════════════
   TOAST — NodeMini
   Bottom-right, dark card, slide-in from right
═══════════════════════════════ */

/* Container */
#toast-container {
    position: fixed;
    bottom: 1.5rem;
    right: 1.5rem;
    z-index: 20000;
    pointer-events: none;
    display: flex;
    flex-direction: column-reverse;
    align-items: flex-end;
    gap: 0.5rem;
}

/* Toast item */
.toast-item {
    background: #111111;
    color: #ffffff;
    padding: 0.75rem 1rem;
    border-radius: 1rem;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow:
        0 8px 32px rgba(0,0,0,.5),
        0 2px 8px rgba(0,0,0,.3);
    font-size: 0.875rem;
    font-weight: 500;
    display: flex;
    align-items: center;
    gap: 0.625rem;
    pointer-events: auto;
    white-space: nowrap;
    max-width: 320px;
    animation: toastIn 0.36s cubic-bezier(0.19, 1, 0.22, 1);
    font-family: 'Inter', 'Noto Sans SC', system-ui, sans-serif;
    line-height: 1.4;
}

/* Colored left accent bar */
.toast-item::before {
    content: '';
    width: 3px;
    height: 28px;
    border-radius: 999px;
    flex-shrink: 0;
}
.toast-item.success::before { background: #00e38b; }
.toast-item.error::before   { background: #ff4d4d; }
.toast-item.info::before    { background: #4d9fff; }

/* Icon color */
.toast-item.success svg { color: #00e38b; }
.toast-item.error   svg { color: #ff4d4d; }
.toast-item.info    svg { color: #4d9fff; }

/* Text color */
.toast-item.success { color: #ffffff; }
.toast-item.error   { color: #ff4d4d; }
.toast-item.info    { color: #4d9fff; }

/* Fade out */
.toast-item.fade-out {
    animation: toastOut 0.3s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}

@keyframes toastIn {
    from { opacity: 0; transform: translateX(16px); }
    to   { opacity: 1; transform: translateX(0);    }
}
@keyframes toastOut {
    from { opacity: 1; transform: translateX(0);    }
    to   { opacity: 0; transform: translateX(16px); }
}
