/* 基础样式 */
.toast {
    visibility: hidden;
    position: fixed;
    top: 24px;
    left: 50%;
    transform: translateX(-50%) translateY(-20px);
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, .15);
    font-size: 14px;
    color: #fff;
    z-index: 9999;
    opacity: 0;
    transition: all .25s ease;
}

.toast.show {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}

.toast .icon {
    font-size: 20px;
}

/* 三种颜色/图标 */
.toast.error {
    background: #d93025;
}

.toast.error .icon::before {
    content: "error_outline";
}

.toast.warn {
    background: #ff9800;
}

.toast.warn .icon::before {
    content: "warning_amber";
}

.toast.success {
    background: #4caf50;
}

.toast.success .icon::before {
    content: "check_circle";
}