/* ---------------- Loading 全屏遮罩 ---------------- */
#page-loading-mask {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: #ffffff; /* 遮罩背景色，可自行修改 */
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999; /* 保持在最高层级 */
    opacity: 1;
    visibility: visible;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

/* 动画容器：裁剪超出部分（防止图片超出生效前被看见） */
.logo-animation-container {
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 1. 图片初始状态：向下偏移 100% 并且透明 */
.logo-animation-container img {
    max-width: 200px; /* 根据实际 Logo 大小调整 */
    height: auto;
    transform: translateY(100%);
    opacity: 0;
    transition: transform 1.8s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.8s ease;
}

/* 2. 激活状态：图片平滑向上滑出归位 */
#page-loading-mask.active .logo-animation-container img {
    transform: translateY(0);
    opacity: 1;
}

/* 3. 完成状态：整个遮罩淡出消失 */
#page-loading-mask.is-done {
    opacity: 0;
    visibility: hidden;
    pointer-events: none; /* 防止挡住下方的点击操作 */
}