@import url('reset.css');
@import url('font.css');

*{
    box-sizing: border-box;
    text-decoration: none;
}

body{
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    grid-template-rows: repeat(16, 1fr);
    aspect-ratio: 1 / 2;
    font-family: 'Phosphate', sans-serif;
}

.circle-text{
    display: flex;
    grid-column-start: 1;
    grid-column-end: 4;
    grid-row-start: 1;
    grid-row-end: 3;
    background-color: #FDF07E;
    justify-content: center;
    padding: 10%;
}

.circle-text img{
    animation: rotate 3s linear infinite;
    animation-direction: reverse;
}

title{
    display: flex;
    grid-column-start: 4;
    grid-column-end: 9;
    grid-row-start: 1;
    grid-row-end: 3;
    background-color: #5D2B8A;
    color: #FDF07E;
    align-items: center;
    justify-content: center;
    font-size: clamp(55px, 20vw, 850px);
}

.spiral{
    display: flex;
    grid-column-start: 1;
    grid-column-end: 4;
    grid-row-start: 3;
    grid-row-end: 5;
    background-color: #5D2B8A;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    width: 100%;
    height: 100%;
}

.spiral img{
    animation: rotate 2s linear infinite;
    width: 160%;
    height: auto;
    transform-origin: center center;
}

@keyframes rotate{
    0% {transform: rotateZ(0deg);}
    25%{transform: rotateZ(90deg);}
    50%{transform: rotateZ(180deg);}
    75%{transform: rotateZ(270deg);}
    100%{transform: rotateZ(360deg);}
}

.small-poster{
    display: flex;
    grid-column-start: 4;
    grid-column-end: 6;
    grid-row-start: 3;
    grid-row-end: 5;
    background-color: #A50000;
    justify-content: flex-end;
    overflow: hidden;
}

.img-container{
    transform: translateX(-55%) translateY(20%);
}

.small-poster img{
    animation: hand-motion 2s linear infinite;
    width: 188%;
    transform-origin: bottom right;
}

@keyframes hand-motion{
    0% {transform: rotateZ(0deg);}
    35%{transform: rotateZ(15deg);}
    75%{transform: rotateZ(-10deg);}
    100%{transform: rotateZ(0deg);}
}

.card{
    display: flex;
    grid-column-start: 6;
    grid-column-end: 9;
    grid-row-start: 3;
    grid-row-end: 5;
    position: relative;
}

.bg{
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: fade 4s ease-in-out infinite;
}

.bg1 { 
  background-image: url('../assets/images/bg1.svg'); 
  animation-delay: 0s;
}

.bg2 { 
  background-image: url('../assets/images/bg2.svg'); 
  animation-delay: -2s;
}

@keyframes fade {
    0%   { opacity: 0; }
    20%  { opacity: 1; }
    50%  { opacity: 1; }
    70%  { opacity: 0; }
    100% { opacity: 0; }
}

.card-chip-wrap{
    position: relative;
    z-index: 2;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

.card-chip{
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    animation:
        chip-spin 2s linear infinite,
        chip-fade 4s ease-in-out infinite;
    transform-origin: center;
}

.card-chip1{
    animation-delay: 0s, 0s;
}

.card-chip2{
    animation-delay: 0s, -2s;
}

@keyframes chip-spin{
    0% {transform: rotateZ(0deg);}
    100%{transform: rotateZ(360deg);}
}

@keyframes chip-fade{
    0%   { opacity: 0; }
    20%  { opacity: 1; }
    50%  { opacity: 1; }
    70%  { opacity: 0; }
    100% { opacity: 0; }
}


.chips{
    display: flex;
    grid-column-start: 1;
    grid-column-end: 9;
    grid-row-start: 5;
    grid-row-end: 7;
    background-color: #FDF07E;
    perspective: 50%;
}

.chips img{
    width: 100%;
    animation: spin 2s linear infinite;
    transform-style: preserve-3d;
}

@keyframes spin{
    0% {transform: rotateY(0deg) scaleX(1);}
    25% {transform: rotateY(90deg) scaleX(0.1);}
    50% {transform: rotateY(180deg) scaleX(1);}
    75% {transform: rotateY(270deg) scaleX(0.1);}
    100% {transform: rotateY(360deg) scaleX(1);}
}

.percent-line{
    display: flex;
    overflow: hidden;
    align-items: center;
    padding: 10px 0px;
    grid-column-start: 1;
    grid-column-end: 9;
    grid-row-start: 7;
    grid-row-end: 8;
    background-color: #6CC5BD;
    color: #FDF07E;
    font-size: clamp(38px, 12vw, 600px);
    position: relative;
    white-space: nowrap;
}

.percent-line span{
    display: block;
    width: 100%; 
    animation: percent-line 3s linear infinite;
    position: relative;
}

.percent-line span:nth-child(1) {
  right: 0;
}

.percent-line span:nth-child(2){
    right: 100%;
}

@keyframes percent-line{
    0% {transform: translateX(-100%)}
    100% {transform: translateX(0)}
}

.wheel{
    display: flex;
    grid-column-start: 1;
    grid-column-end: 3;
    grid-row-start: 8;
    grid-row-end: 11;
    background-color: #B6370D;
    overflow: hidden;
}

.wheel img{
    position: relative;
    left: -75%;
    bottom: 0%;
    animation: rotate 3s linear infinite;
}

.question-line{
    display: flex;
    overflow: hidden;
    align-items: center;
    padding: 10px 0px;
    grid-column-start: 3;
    grid-column-end: 9;
    grid-row-start: 8;
    grid-row-end: 9;
    background-color: #F7CA4B;
    color: #A50000;
    font-size: clamp(38px, 12vw, 600px);
    letter-spacing: 0.12em;
    position: relative;
    white-space: nowrap;
}

.question-line span{
    display: block;
    width: 100%; 
    animation: question-line 3s linear infinite;
    position: relative;
}

.question-line span:nth-child(1) {
  right: 0;
}

.question-line span:nth-child(2){
    right: 100%;
}

@keyframes question-line{
    0% {transform: translateX(0)}
    100% {transform: translateX(-100%)}
}

.suit{
    display: flex;
    grid-column-start: 3;
    grid-column-end: 5;
    grid-row-start: 9;
    grid-row-end: 11;
    background-color: #5D2B8A;
    position: relative;
    overflow: hidden;
}
.suit img{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 80%;
    height: 80%;
    opacity: 0;
        /* Общие настройки для всех анимаций */
    animation-duration: 16s; /* Общая длительность цикла */
    animation-timing-function: ease;
    animation-fill-mode: forwards;
    animation-iteration-count: infinite;
}

@keyframes suit-1 {
    0% { transform: translate(150%, -50%); opacity: 0; }
    6.25% { transform: translate(-50%, -50%); opacity: 1; } /* 1 с */
    18.75% { transform: translate(-50%, -50%); opacity: 1; } /* 3 с */
    25% { transform: translate(-50%, -200%); opacity: 0; } /* 4 с */
}

@keyframes suit-2 {
    0% { transform: translate(-150%, -50%); opacity: 0; }
    6.25% { transform: translate(-50%, -50%); opacity: 1; } /* 1 с после задержки */
    18.75% { transform: translate(-50%, -50%); opacity: 1; } /* 3 с после задержки */
    25% { transform: translate(-50%, 200%); opacity: 0; } /* 4 с после задержки */
}

@keyframes suit-3 {
    0% { transform: translate(-50%, -150%); opacity: 0; }
    6.25% { transform: translate(-50%, -50%); opacity: 1; } /* 1 с после задержки */
    18.75% { transform: translate(-50%, -50%); opacity: 1; } /* 3 с после задержки */
    25% { transform: translate(-200%, -50%); opacity: 0; } /* 4 с после задержки */
}


@keyframes suit-4 {
    0% { transform: translate(-50%, 150%); opacity: 0; }
    6.25% { transform: translate(-50%, -50%); opacity: 1; } /* 1 с после задержки */
    18.75% { transform: translate(-50%, -50%); opacity: 1; } /* 3 с после задержки */
    25% { transform: translate(200%, -50%); opacity: 0; } /* 4 с после задержки */
}

.suit1{
    animation-name: suit-1;
    animation-delay: 0s;
}

.suit2{
    animation-name: suit-2;
    animation-delay: 4s;
}

.suit3{
    animation-name: suit-3;
    animation-delay: 8s;
}

.suit4{
    animation-name: suit-4;
    animation-delay: 12s;
}

.hand{
    display: flex;
    grid-column-start: 5;
    grid-column-end: 9;
    grid-row-start: 9;
    grid-row-end: 15;
    background-color: #B6370D;
    overflow: hidden;
}
.hand img{
    position: relative;
    left: 16%;
    bottom: 11%;
    width: 130%;
}

@keyframes dice-rotation{
    0% {transform: rotateZ(0deg);}
    35%{transform: rotateZ(40deg);}
    75%{transform: rotateZ(-15deg);}
    100%{transform: rotateZ(0deg);}
}

.balls{
    display: flex;
    grid-column-start: 1;
    grid-column-end: 5;
    grid-row-start: 11;
    grid-row-end: 15;
    background-color: #6CC5BD;
    flex-wrap: wrap;
}
.balls img{
    width: 50%;
}

@keyframes violet-ball{
    0%      { transform: rotateZ(0deg) rotateZ(-45deg); }
    40%     { transform: rotateY(20deg) rotateZ(45deg); }
    70%     { transform: rotateY(-20deg) rotateZ(0deg); }
    100%    { transform: rotateY(0deg) rotateZ(-45deg); }
}

@keyframes orange-ball{
  0%   { transform: rotateY(0deg) rotateZ(-145deg) skewX(0deg); }
  10%  { transform: rotateY(4deg) rotateZ(-144deg) skewX(1deg); }
  20%  { transform: rotateY(-3deg) rotateZ(-146deg) skewX(-1deg); }
  40%  { transform: rotateY(0deg) rotateZ(-145deg) skewX(0deg); }
  60%  { transform: rotateY(-5deg) rotateZ(-144deg) skewX(-2deg); }
  80%  { transform: rotateY(3deg) rotateZ(-149deg) skewX(2deg); }
  100% { transform: rotateY(0deg) rotateZ(-145deg) skewX(0deg); }
}

@keyframes red-ball{
    0%      {transform: scaleY(1);}
    50%     {transform: scaleY(0.8);}
    100%    {transform: scaleY(1);}
}

@keyframes yellow-ball{
    0% {transform: rotateZ(0deg);}
    15%{transform: rotateZ(-30deg);}
    75% {transform: rotateZ(30deg);}
    100%{transform: rotateZ(0deg);}
}

footer{
    display: flex;
    grid-column-start: 1;
    grid-column-end: 9;
    grid-row-start: 15;
    grid-row-end: 17;
    background-color: #5D2B8A;
    color: #F7CA4B;
    justify-content: space-between;
    align-items: center;
    padding: 6%;
    gap: 5%;
    width: 100%;
    height: auto;
}

footer img{
    position: relative;
    left: -3%;
    bottom: -2%;
    width: 43%;
    z-index: 0;
}

footer div{
    display: flex;
    flex-direction: column;
    max-width: 58%;
}

footer div p{
    font-family: 'Seymour One', sans-serif;
    font-size: clamp(10px, 3vw, 80px);
    text-align: end;
    white-space: normal;
    margin-left: auto;
    text-wrap: nowrap;
}

@media (max-width: 800px){
    body{
        grid-template-rows: repeat(21, 1fr);
        aspect-ratio: 1 / 2.625;
    }
    .percent-line{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 3;
        grid-row-end: 4;
    }
    .question-line{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 4;
        grid-row-end: 5;  
    }
    .chips{
        grid-column-start: 1;
        grid-column-end: 5;
        grid-row-start: 9;
        grid-row-end: 13;
        flex-wrap: wrap;
        align-content: center;
        justify-content: center;
        img{
            width: 45%;
        }
    }
    .suit{
        grid-column-start: 1;
        grid-column-end: 5;
        grid-row-start: 5;
        grid-row-end: 9; 
    }
    .hand{
        grid-column-start: 5;
        grid-column-end: 9;
        grid-row-start: 5;
        grid-row-end: 13; 
    }
    .small-poster{
        grid-column-start: 1;
        grid-column-end: 4;
        grid-row-start: 13;
        grid-row-end: 16; 
        img{
            width: 100%;
        }
    }
    .img-container{
    transform: translateX(-5%) translateY(20%);
    }
    .card{
        grid-column-start: 4;
        grid-column-end: 9;
        grid-row-start: 13;
        grid-row-end: 16; 
    }
    .balls{
        grid-column-start: 3;
        grid-column-end: 7;
        grid-row-start: 16;
        grid-row-end: 20; 
    }
    .wheel{
        grid-row-start: 16;
        grid-row-end: 20; 
        img{
            left: -100%;
        }
    }
    .spiral{
        grid-column-start: 7;
        grid-column-end: 9;
        grid-row-start: 16;
        grid-row-end: 20; 
    }
    footer{
        grid-row-start: 20;
        grid-row-end: 22; 
    }
}

@media (max-width: 475px){
    body{
        grid-template-rows: repeat(53, 1fr);
        aspect-ratio: 1 / 6.625;
    }
    title{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 1;
        grid-row-end: 3;
    }
    .circle-text{
        grid-column-start: 1;
        grid-column-end: 5;
        grid-row-start: 3;
        grid-row-end: 6;
    }
    .percent-line{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 6;
        grid-row-end: 7;
    }
    .question-line{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 7;
        grid-row-end: 8;  
    }
    .chips{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 12;
        grid-row-end: 20;
        flex-wrap: wrap;
        img{
            width: 46%;
        }
    }
    .suit{
        grid-column-start: 1;
        grid-column-end: 5;
        grid-row-start: 8;
        grid-row-end: 12; 
    }
    .hand{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 20;
        grid-row-end: 31; 
    }
    .small-poster{
        grid-column-start: 5;
        grid-column-end: 9;
        grid-row-start: 8;
        grid-row-end: 12; 
    }
    .card{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 31;
        grid-row-end: 36; 
    }
    .balls{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 46;
        grid-row-end: 52; 
        flex-wrap: wrap;
        justify-content: center;
        column-gap: 5%;
        img{
            width: 38%;
            
        }
    }
    .wheel{
        grid-column-start: 1;
        grid-column-end: 9;
        grid-row-start: 36;
        grid-row-end: 46;
        img{
            left: -61%;
        }
    }
    .spiral{
        grid-column-start: 5;
        grid-column-end: 9;
        grid-row-start: 3;
        grid-row-end: 6; 
        img{
            width: 100%;
        }
    }
    footer{
        grid-row-start: 52;
        grid-row-end: 54; 
    }
}