* {
    margin: 0px;
    padding: 0px;
    color: white;
    font-family: "Lexend", serif;
    text-decoration: none;
}

body {
    background-color: rgb(0, 0, 0);
}

.wrap {
    position: relative;
    width: 60%;
    margin: auto;
    background-color: rgb(50, 50, 50);
    padding: 20px 0px;
}

.header {
    text-align: center;
}

.result {
    text-align: center;
}

.res {
    background-color: rgb(150, 150, 150);
    width: 30%;
    margin: 10px auto;
    border-radius: 5px;
    padding: 10px;
}

.res h2 {
    background-color: rgb(0, 0, 0);;
    display: inline-block;
    padding: 5px 10px;
    border-radius: 5px;
}

.res h3 {
    margin: 10px 0px;
}

.stage {
    width: 65px;
    height: 65px;
    display: inline-block;
    margin: 5px;
    perspective: 1200px;
    perspective-origin: 50% 50%;
}

.ballred .shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 50%);
    transform: rotateX(90deg) translateZ(-150px);
    z-index: -1;
}

.ballred {
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 50%;
    position: relative;
    background: radial-gradient(circle at 50% 120%, #e67777, #e06060 10%, #7d0c0c 80%, #400404 100%);
}

.ballred:before {
    content: "";
    position: absolute;
    top: 1%;
    left: 5%;
    width: 90%;
    height: 90%;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 0px, #ffffff, rgba(255, 255, 255, 0) 58%);
    filter: blur(5px);
    z-index: 2;
}

.balltosca .shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 50%);
    transform: rotateX(90deg) translateZ(-150px);
    z-index: -1;
}

.balltosca {
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 50%;
    position: relative;
    background: radial-gradient(circle at 50% 120%, #16e0b0, #1fc29b 10%, #248770 80%, #205448 100%);
}

.balltosca:before {
    content: "";
    position: absolute;
    top: 1%;
    left: 5%;
    width: 90%;
    height: 90%;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 0px, #ffffff, rgba(255, 255, 255, 0) 58%);
    filter: blur(5px);
    z-index: 2;
}

.ballpur .shadow {
    position: absolute;
    width: 100%;
    height: 100%;
    background: radial-gradient(circle at 50% 50%, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0.1) 40%, rgba(0, 0, 0, 0) 50%);
    transform: rotateX(90deg) translateZ(-150px);
    z-index: -1;
}

.ballpur {
    display: inline-block;
    width: 100%;
    height: 100%;
    margin: 0;
    border-radius: 50%;
    position: relative;
    background: radial-gradient(circle at 50% 120%, #cf1bac, #a8208e 10%, #80246e 80%, #54224a 100%);
}

.ballpur:before {
    content: "";
    position: absolute;
    top: 1%;
    left: 5%;
    width: 90%;
    height: 90%;
    border-radius: 50%;
    background: radial-gradient(circle at 50% 0px, #ffffff, rgba(255, 255, 255, 0) 58%);
    filter: blur(5px);
    z-index: 2;
}

.ang {
    font-size: 35px;
    line-height: 65px;
}

.prediksi {
    margin: auto;
    text-align: center;
    position: relative;
}

.prediksi h2{
    padding: 10px;
}

.prediksi table {
    border: 1px solid black;
    border-collapse: collapse;
    width: 80%;
    margin: 15px auto;
}

.prediksi tr,th,td {
    padding: 5px;
    border: 1px solid black;
}

.gray {
    background-color: rgb(110, 110, 110);
}

.red {
    background-color: #7d0c0c;
}

.reed{
    background-color: #a61c1c;
}

.tosca {
    background-color: #13ab87;
}

.toosca {
    background-color: #14c49a;
}

.purple {
    background-color: #7d1b6a;
}

.puurple {
    background-color: #b01391;
}

.pilpre {
    text-align: center;
    padding: 5px;
    margin: 15px 0px;
}

.pilpre a{
    font-size: 2rem;
    padding: 5px;
    margin: 0px 15px;
}

.pilpre a:hover {
    color: gold;
    cursor: pointer;
}

.yellow {
    color: gold;
}

.des {
    text-align: center;
    margin-bottom: 15px;
}

.des p {
    padding: 10px;
}

.footer {
    text-align: center;
}

.ban {
    margin: 20px 0px 30px;
}

.daflo {
    width: 600px;
    margin: auto;
    text-align: center;
}

.banner {
    position: relative;
    width: 80%;
    margin: 0px auto 5px;
}

.banner img {
    width: 100%;
    border-radius: 10px;
    border: 1px solid white;
}

.daflo button {
    width: 400px;
    font-size: 2rem;
    padding: 5px;
    display: inline-block;
    border-radius: 10px;
    border: 1px solid #fff;
    box-shadow: 0px 4px 4px rgb(0 0 0 / 25%), inset 0px -19px 12px rgb(0 0 0 / 34%);
    cursor: pointer;
    animation: blinking 1s infinite;
}

.grs {
    margin: 1px auto 10px;
    width: 70%;
    height: 20px;
}

@keyframes blinking {
    0% {
        border: 1px solid #fff
    }

    50% {
        border: 1px solid #000
    }
}


@media (max-width: 400px) {
    html {
        font-size: 50%;
    }

    .wrap {
        width: 90%;
        padding: 10px 0px;
    }

    .pilpre a {
        font-size: 1.2rem;
    }

    .daflo {
        width: 300px;
    }

    .daflo button {
        width: 200px;
    }

    .stage {
        width: 35px;
        height: 35px;
        margin: 3px;
    }

    .ang {
        font-size: 18px;
        line-height: 35px;
    }

    .res {
        width: 70%;
    }

    .res h2 {
        width: 90%;
    }
    
    .res h3 {
        font-size: 1.5rem;
    }

    .prediksi table {
        font-size: 1.5rem;
    }
}