/* Minimal CSS Reset */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    width: 100%;
    /* ¹è°æ »ö»óÀº ÇÊ¿ä¿¡ µû¶ó Á¶Àý */
    background-color: #fdf2f3;
}



.crain__background {
    position: relative;
    max-width: 720px;
    margin: 0 auto;
    overflow: hidden;
/*    height: 100vh;*/
}

.start-btn {
    position: fixed;
    cursor: pointer;
    width: 70%;
    object-fit: contain;
    height: auto;
    max-width: 336px;
    aspect-ratio: 358 / 94;
    height: 90px;
    top: 90%;
    left: 50%;
    border-radius: 90px;
    transform: translateX(-50%);
    z-index: 999;
    box-shadow: 0 0 0 3000px rgba(0, 0, 0, 0);
    animation: sparkle 0.3s infinite ease-in-out;
    transition: all 0.5s;
}

    @keyframes sparkle {
        0%, 100% {
        filter: brightness(1);
    }

    50% {
        filter: brightness(1.4);
    }
}

.crain__background--top img {
    position: relative;
    width: 100%;
    height: auto;
    background-image: url('https://bbacdn.black-box.co.kr/EventImages/blackbox/bridge/Cultureland/crain/images/cpp_background-top.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
    z-index: 100;
}

.crain__background--bottom {
    position: relative;
    top: -1.5px;
    background-repeat:no-repeat;
}

.crain__background--balls {
    position: absolute;
    width: 587px;
    top: 277px;
    z-index: 11;
    transform: translateX(-50%);
    left: 50%;
    background-size: contain;
    aspect-ratio: 587 / 344;
}

.crain__background--bottom-image {
    width: 100%;
    height: auto;
    background-image: url('https://bbacdn.black-box.co.kr/EventImages/blackbox/bridge/Cultureland/crain/images/cpp_background-bottom.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    background-position: center;
    display: block;
}

/* Å©·¹ÀÎ ¾Ï ÃÊ±â À§Ä¡ */
.crain img {
    z-index: 10;
    position: absolute;
    top: 0px; 
    width: 20%;
    top: -13%;
    max-width: 170px;
    left: 50%;
    transform: translateX(-170%);
    object-fit: contain;
}

    .crain img.row {
        animation: row-move 2s infinite ease-in-out;
    }

@keyframes row-move {
    0% {
        transform: translateX(-150%);
    }

    50% {
        transform: translateX(60%);
    }

    100% {
        transform: translateX(-150%);
    }
}

#lottie-pop {
    position: absolute;
}
/* ¾Æ·¡·Î ÀÌµ¿ ¾Ö´Ï¸ÞÀÌ¼Ç */
.crain img.col {
    animation: col-move 1.3s forwards ease-out;
}


@keyframes col-move {
    0% {
        top: -13%;
    }

    100% {
        top: 5%;
    }
}


/* ÆË¾÷ */
.crain__modal {
    width: 70%;
    max-width: 472px;
    /*padding-top: 105.93%;*/ /* ÀÌ¹ÌÁö ºñÀ² ±â¹Ý */
    aspect-ratio: 472 / 533;
    background-image: url('https://bbacdn.black-box.co.kr/EventImages/blackbox/bridge/Cultureland/crain/images/modal-background.png');
    background-size: 100% 100%;
    background-repeat: no-repeat;
    box-shadow: 0 0 0 3000px rgba(0, 0, 0, 0.4);
    position: fixed;
    transform: translateX(-50%);
    left: 50%;
    top: 20%;
    z-index: 9999;
    border-radius: 16px;
    cursor:pointer;
}

    .crain__modal.hidden {
        display: none;
    }

    .crain__modal--wrapper {
        height: 100%;
        width: 100%;
        display: flex;
        flex-direction: column;
/*        justify-content: center;*/
        align-items: center;
        padding: 200px 36px 36px;
        gap: 120px;
    }

.crain__modal--count {
    text-align: center;
    letter-spacing: -0.05em;
    display:block;
    font-size: 24px;
    font-weight: bold;
    position: absolute;
    width: 100%;
    bottom: 5%;
}

.crain__modal--img {
    width: 50%;
}

.crain__modal--button {
    width: 100%;
    cursor: pointer;
    user-select: none;
    transition: opacity 0.3s;
    z-index: 999;
}

    .crain__modal--button:hover {
        opacity: 0.8;
    }

    @media screen and (max-width: 472px) {
    .crain__background {
/*        padding: 0 16px;*/
    }

    .crain__modal {
        width: 80%;
        background-size: contain;
    }

    .crain__modal--wrapper {
        padding: 35vw 8% 24px;
        gap: 22vw;
    }

    .crain__modal--img {
        width: 70%;
        max-width: 240px;
    }

    .crain__modal--button {
        width: 100%;
    }


        .crain__modal--count {
            letter-spacing: -0.05em;
            font-size: 16px;
        }
}

@media screen and (max-width: 720px) {
    .crain__background--balls {
        width: 82%;
        top: 16%;
    }

    .crain__modal--count {
        font-size: 18px;
    }

    .start-btn {
        top: unset;
        bottom: 0%;
    }

    @keyframes col-move {
        0% {
            top: -13%;
        }

        100% {
            top: 0%;
        }
    }
}
