.spin-page{

    min-height:100vh;

    background:#f7f9ff;

    padding:60px 20px;

}

.spin-container{

    max-width:1100px;

    margin:auto;

    background:white;

    padding:50px;

    border-radius:30px;

    box-shadow:

        0 15px 40px rgba(0,0,0,.08);

}

.gift-icon{

    font-size:70px;

    animation:floatGift 3s infinite;

}

.spin-header{

    text-align:center;

    margin-bottom:50px;

}

#wheel{

    width:520px;

    height:520px;

    border-radius:50%;

    margin:auto;

}

.pointer{

    font-size:42px;

    color:#0d6efd;

    text-align:center;

    margin-bottom:-10px;

}

#spinButton{

    margin-top:40px;

    padding:

        18px 45px;

    border:none;

    border-radius:50px;

    background:#0d6efd;

    color:white;

    font-size:22px;

    cursor:pointer;

    transition:.3s;

}

.reward-grid{

    display:grid;

    grid-template-columns:

        repeat(2,1fr);

    gap:20px;

    margin-top:40px;

}

.reward-grid div{

    background:#f4f7ff;

    padding:25px;

    border-radius:20px;

    text-align:center;

    font-size:20px;

}

.wheel-section{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    margin:50px auto;

    position:relative;

}

.wheel-wrapper{

    position: relative;

    width: 600px;

    height: 600px;

    margin: 40px auto;

    display: flex;

    justify-content: center;

    align-items: center;

}

.wheel-pointer{

    position:absolute;

    left:50%;

    top:-25px;

    transform:translateX(-50%);

    width:0;

    height:0;

    border-left:22px solid transparent;

    border-right:22px solid transparent;

    border-top:45px solid #ff3b30;

    z-index:1000;

}

#rewardWheel{

    border-radius:50%;

    box-shadow:

    0 25px 60px rgba(0,0,0,.25);

    background:white;

    overflow:visible;

    transition: transform 5s cubic-bezier(.17,.67,.18,1);

    transform-origin: center;

}