body #singularity-splash-screen {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #232314;
    color: #f0f0f0;
    z-index: 999999;
    pointer-events: none;
    opacity: 1;
    visibility: visible;
    transition: opacity 400ms cubic-bezier(0.4, 0, 0.2, 1);
}

body #singularity-splash-screen img {
    width: 120px;
    max-width: 120px;
}

#spinner {
    display: flex;
    align-items: center;
    justify-content: flex-start; /* Align bars to the left */
    margin-top: 40px;
    width: 200px; /* Track width */
    height: 6px; /* Thin bar */
    background-color: #434343;
    border: 1px solid #f0f0f0;
    border-radius: 3px;
    overflow: hidden;
    position: relative; /* Stack bars */
}

#spinner > div {
    height: 100%; /* Fill track height */
    background-color: #7fe3ff !important;
    border-radius: 3px;
    position: absolute;
    left: 0;
    top: 0;
    opacity: 1; /* Always visible during animation */
    -webkit-animation: none; /* Reset default animation */
    animation: none;
}

#spinner .bounce1 {
    width: 0;
    -webkit-animation: singularity-progress-1 3s linear infinite;
    animation: singularity-progress-1 3s linear infinite;
}

#spinner .bounce2 {
    width: 0;
    -webkit-animation: singularity-progress-2 3s linear infinite;
    animation: singularity-progress-2 3s linear infinite;
    -webkit-animation-delay: 1s;
    animation-delay: 1s;
}

#spinner .bounce3 {
    width: 0;
    -webkit-animation: singularity-progress-3 3s linear infinite;
    animation: singularity-progress-3 3s linear infinite;
    -webkit-animation-delay: 2s;
    animation-delay: 2s;
}

@-webkit-keyframes singularity-progress-1 {
    0% { width: 0; }
    33.33% { width: 33%; } /* First stage: 1/3 */
    100% { width: 33%; } /* Hold until cycle restarts */
}

@keyframes singularity-progress-1 {
    0% { width: 0; }
    33.33% { width: 33%; }
    100% { width: 33%; }
}

@-webkit-keyframes singularity-progress-2 {
    0% { width: 0; }
    33.33% { width: 66%; } /* Second stage: 2/3 */
    100% { width: 66%; }
}

@keyframes singularity-progress-2 {
    0% { width: 0; }
    33.33% { width: 66%; }
    100% { width: 66%; }
}

@-webkit-keyframes singularity-progress-3 {
    0% { width: 0; }
    33.33% { width: 100%; } /* Final stage: full */
    100% { width: 100%; }
}

@keyframes singularity-progress-3 {
    0% { width: 0; }
    33.33% { width: 100%; }
    100% { width: 100%; }
}