.welcome-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--welcome-bg);
    cursor: pointer;
    animation: welcomeFadeIn 0.5s ease both;
}

.welcome-overlay.is-leaving {
    animation: welcomeFadeOut 0.6s cubic-bezier(0.4, 0, 1, 1) both;
}

.welcome-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    padding: 0 24px;
    text-align: center;
    cursor: default;
}

.welcome-astronaut {
    width: 180px;
    height: 180px;
    filter: drop-shadow(0 10px 28px rgba(183, 63, 85, 0.3));
}

.welcome-text {
    margin: 0;
    max-width: 420px;
    font-family: "Cormorant Garamond", serif;
    font-size: clamp(20px, 3vw, 28px);
    font-weight: 700;
    font-style: normal;
    line-height: 1.4;
    color: var(--wine);
    animation: welcomeTextPulse 2.4s ease-in-out infinite alternate;
}

@keyframes welcomeFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes welcomeFadeOut {
    from { opacity: 1; transform: scale(1); }
    to   { opacity: 0; transform: scale(1.06); }
}

@keyframes welcomeTextPulse {
    from { opacity: 0.78; }
    to   { opacity: 1; }
}

@media (max-width: 480px) {
    .welcome-cat {
        width: 130px;
        height: 130px;
    }
}