#splash {
    position: fixed;
    inset: 0;
    background: #3e312e;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    transition: opacity 0.6s ease, visibility 0.6s ease;
}

#splash.hidden {
    opacity: 0;
    visibility: hidden;
    backdrop-filter: blur(4px);
}

.splash-content {
    text-align: center;
    color: #f0e3c8;
    animation: splashIn 0.8s ease-out forwards;
}

@keyframes splashIn {
    from {
        opacity: 0;
        transform: scale(0.85);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

.splash-content img {
    max-width: 160px;
    margin-bottom: 1rem;
}

.splash-text {
    font-size: 0.95rem;
    letter-spacing: 0.8px;
    opacity: 0.85;
}

.splash-logo {
    max-width: 180px;
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
}

.dots::after {
    content: '';
    animation: dots 1.5s infinite;
}

@keyframes dots {
    0% {
        content: '';
    }

    33% {
        content: '.';
    }

    66% {
        content: '..';
    }

    100% {
        content: '...';
    }
}
