/* Toast notification system — lightweight, smooth, no layout shift */
.mafia-toast-wrap {
    --toast-offset: 38px;
    position: fixed;
    left: 50%;
    bottom: var(--toast-offset);
    transform: translateX(-50%);
    z-index: 99998;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
    gap: 8px;
    will-change: transform;
}

.mafia-toast {
    background: var(--card-bg, linear-gradient(145deg, #2a1e14, #1a120b));
    color: var(--text-color, #e0d3b0);
    border: 2px solid var(--border-color, #b89b7a);
    border-radius: 10px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.3);
    padding: 12px 28px 12px 16px;
    font-size: 14px;
    font-family: 'Mafia', 'Cinzel', serif;
    font-weight: 700;
    display: flex;
    align-items: center;
    opacity: 0;
    transform: translateY(20px) scale(0.95);
    transition: opacity 0.2s cubic-bezier(.25,.46,.45,.94), transform 0.2s cubic-bezier(.25,.46,.45,.94);
    pointer-events: auto;
    min-width: 140px;
    max-width: 380px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    gap: 8px;
    will-change: opacity, transform;
    backface-visibility: hidden;
}

.mafia-toast.active {
    opacity: 1;
    transform: translateY(0) scale(1);
}

.mafia-toast-icon {
    font-size: 18px;
    flex-shrink: 0;
    filter: drop-shadow(0 0 6px rgba(255,215,0,0.15));
}

.mafia-toast-message {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Mobile responsiveness */
@media (max-width: 480px) {
    .mafia-toast-wrap {
        --toast-offset: 28px;
        left: 16px;
        right: 16px;
        transform: none;
        width: auto;
        bottom: var(--toast-offset);
    }
    .mafia-toast {
        max-width: 100%;
        min-width: auto;
        font-size: 13px;
        padding: 10px 20px 10px 12px;
    }
}
