#gpmn-body-load {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #000;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

.bl-logo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
}

.flag-container {
    width: 100%;
    display: flex;
    justify-content: center;
}

.vn-flag-large {
    width: 80%;
    max-width: 500px;
    height: auto;
    animation: flagWave 3s ease-in-out infinite;
}

.text-h1 {
    color: #fff;
    font-size: 2.5rem;
    text-align: center;
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.5);
    animation: textFade 3s ease-in-out infinite;
}

@keyframes flagWave {
    0%, 100% { transform: scale(1) rotate(0deg); }
    25% { transform: scale(1.05) rotate(1deg); }
    50% { transform: scale(1) rotate(0deg); }
    75% { transform: scale(1.05) rotate(-1deg); }
}

@keyframes textFade {
    0%, 100% { opacity: 0.8; }
    50% { opacity: 1; }
}