#solitaire-menu-root {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    z-index: 10;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 2rem;
    background: black;
    box-sizing: border-box;
    cursor: pointer;
    animation: solitaire-menu-fade-in 0.5s ease-out forwards;
}

#solitaire-menu-content {
    width: min(90%, 900px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    animation: solitaire-menu-grow 0.5s cubic-bezier(0.2, 0.8, 0.2, 1) forwards;
}

#solitaire-menu-title {
    display: block;
    width: min(80%, 700px);
    max-width: 100%;
    height: auto;
    object-fit: contain;
    user-select: none;
    pointer-events: none;
}

#solitaire-menu-start {
    margin-top: clamp(1.5rem, 4vw, 3rem);
    color: #ffffff;
    font-family: myOtherFont;
    font-size: clamp(1rem, 2.5vw, 1.8rem);
    letter-spacing: 0.08rem;
    text-align: center;
    text-shadow: 0 0 8px rgba(255,255,255,0.5);
    user-select: none;
    pointer-events: none;
    animation: solitaire-menu-pulse 1.2s ease-in-out infinite;
}

@keyframes solitaire-menu-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes solitaire-menu-grow {
    from {
        opacity: 0;
        transform: scale(0.85);
    }

    to {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes solitaire-menu-pulse {
    0%,100% {
        opacity: 1;
    }

    50% {
        opacity: 0.25;
    }
}

@media (orientation: portrait) {

    #solitaire-menu-root {
        padding: 1.5rem;
    }

    #solitaire-menu-title {
        width: min(90%, 600px);
    }

    #solitaire-menu-start {
        margin-top: 2rem;
        font-size: clamp(0.9rem, 4vw, 1.5rem);
    }
}

@media (orientation: landscape) {

    #solitaire-menu-title {
        width: min(55%, 700px);
    }
}