.game-background {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    transform: translate(-50%, -50%);
    background-image: url('../assets/images/bg/game-bg.webp');
    background-size: cover;
    background-position: center;
    z-index: var(--z-index-background);
}

.dark-overlay {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    transform: translate(-50%, -50%);
    background-color: #000000;
    opacity: 0;
    z-index: var(--z-index-overlay);
    transition: opacity var(--transition-duration-slow) cubic-bezier(0.25, 1, 0.5, 1);
    pointer-events: none;
}

.stars-layer {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vh;
    transform: translate(-50%, -50%);
    z-index: var(--z-index-stars);
    opacity: 0.05;
    transition: opacity var(--transition-duration-slow) cubic-bezier(0.25, 1, 0.5, 1);
    pointer-events: none;
}

.star {
    position: absolute;
    background-color: #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 0.5cqw 0.1cqw rgba(255, 255, 255, 0.8);
    opacity: 0.8;
    will-change: transform, opacity;
}

.firefly {
    position: absolute;
    width: 0.8cqw;
    height: 0.8cqw;
    background: radial-gradient(circle, #bfff80 0%, rgba(191, 255, 128, 0.4) 40%, rgba(191, 255, 128, 0) 70%);
    border-radius: 50%;
    pointer-events: none;
    z-index: var(--z-index-stars);
    will-change: transform, opacity;
}

.game-content {
    position: relative;
    z-index: var(--z-index-content);
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    padding: 6cqh 4cqw;
}

.instruction-text {
    color: #f8fafc;
    font-size: 2.8cqh;
    font-weight: 500;
    text-align: center;
    letter-spacing: 0.08cqw;
    user-select: none;
    max-width: 70cqw;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.08) 0%, rgba(255, 255, 255, 0.03) 100%);
    backdrop-filter: blur(1.2cqh);
    -webkit-backdrop-filter: blur(1.2cqh);
    border: 0.15cqh solid rgba(255, 255, 255, 0.08);
    border-radius: 4cqh;
    padding: 1.4cqh 3.5cqw;
    box-shadow: 0 1cqh 2.5cqh rgba(0, 0, 0, 0.25),
        inset 0 0.1cqh 0.2cqh rgba(255, 255, 255, 0.1);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 1.2cqw;
    animation: pulseGlow 4s ease-in-out infinite alternate;
}

.instruction-icon {
    width: 2.2cqh;
    height: 2.2cqh;
    color: rgba(255, 255, 255, 0.85);
    flex-shrink: 0;
    opacity: 0.9;
    filter: drop-shadow(0 0 0.3cqh rgba(255, 255, 255, 0.4));
}

@keyframes pulseGlow {
    0% {
        box-shadow: 0 1cqh 2.5cqh rgba(0, 0, 0, 0.25),
            inset 0 0.1cqh 0.2cqh rgba(255, 255, 255, 0.1);
        border-color: rgba(255, 255, 255, 0.08);
    }

    100% {
        box-shadow: 0 1cqh 3cqh rgba(0, 0, 0, 0.35),
            0 0 1.5cqh rgba(254, 254, 250, 0.05),
            inset 0 0.1cqh 0.2cqh rgba(255, 255, 255, 0.15);
        border-color: rgba(254, 254, 250, 0.2);
    }
}