
#roulette-app {
    max-width: 680px;
    margin: auto;
    text-align: center;
    padding: 0;
    width: 98%;
}

.wheel {
        width: 81vw;          /* 90% of screen width */
        height: 81vw;         /* keep it perfectly circular */
        max-width: 600px;     /* limit size on large screens */
        max-height: 600px;
        margin: 30px auto;
        border-radius: 50%;
        border: 10px solid #e5be7e;
        position: relative;
        overflow: hidden;
        
    transition: transform 3s ease-out;
    transform: rotate(-5deg);
    box-shadow:
    inset 0 0 40px rgba(0,0,0,0.9),
    inset 0 10px 20px rgba(255,255,255,0.15);
    }

    .wheel::after {
    content: "";
    position: absolute;
    width: 60px;
    height: 60px;
    background:
        linear-gradient(#e5be7e, #e5be7e),   /* vertical line */
        linear-gradient(#e5be7e, #e5be7e),   /* horizontal line */
        #675544;
    background-size: 4px 100%, 100% 4px, auto;
    background-position: center;
    background-repeat: no-repeat;

    border-radius: 50%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(4deg);
    border: 4px solid #e5be7e;
    
}

    .ball {
    width: 16px;
    height: 16px;
    background: radial-gradient(circle at 30% 30%, #d3b180, #ccc);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(35%, -135%);
    z-index: 9;
    box-shadow:
        0 2px 6px rgba(0,0,0,0.8);
}
    .wheelcenter{
        width: 5px;
        height: 5px;
        background: transparent;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(50%, 50%);
        
    }

    .controls {
    margin: 10px auto;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
    width: 81vw;          /* 90% of screen width */
    max-width: 600px; 
    }
    .field {
         
    }

    label {
        display: block;
        font-size: 12px;
        color: #ccc;
        margin: 0px;
        text-align: left;
            letter-spacing: normal;

    }

    input, select, button {
            padding: 5px 10px;
            margin: 5px 2px;
            border-radius: 0px;
            border: none;
    }

    button {
        background: gold;
        font-size: 12px;
        cursor: pointer;
        font-weight: bold;
        text-transform: uppercase;
        text-align: center;
    }
    input.chips{
        width: 25px;
    }

    .result {
        margin-top: 20px;
        font-size: 16px;
        text-transform: capitalize;
    }

    .history {
        margin-top: 20px;
    }

    .numbers {
        position: absolute;
        width: 100%;
        height: 100%;
    }

    .num {
        position: absolute;
        top: 48%;
        left: 0px;
        transform-origin: center;
        font-size: 12px;
        font-weight: bold;
        width: 100%;
        height: 92%;
    }
    .num.lime{
        background: #00ff88;
    }
    .num.red{
        background: #ff3b3b;
    }
    .num.white{
    background: #000;
    }
    .betOnBtn{
        background-color: #000;
        border: 1px solid gold;
        color: gold;
    }
    
    .betOnBtn.black{
        background-color: #000;
        border: 1px solid #000;
        color: #fff;
    }
    .betOnBtn.red{
        background-color:#ff3b3b;
        border: 1px solid #ff3b3b;
        color: #fff;
    }
    .betOnBtn.active{
        border: 1px solid gold;
    }
    #resetBtn{
        background-color: #000;
        border: 1px solid gold;
        color: gold;
    }

    .chip-stack {
    position: relative;
    width: 40px;
    min-height: 50px;
    }

    .chip {
    position: absolute;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: black;
    font-weight: bold;
    text-align: center;
    line-height: 40px;
    border: 1px dashed #fdd17e;
    left: 0px;
    font-size: 11px;
    transition: bottom 0.2s ease, transform 0.2s ease;
    }

    
    /* Stack effect */
    .chip:nth-child(1) { bottom: 0px; }
    .chip:nth-child(2) { bottom: 4px; }
    .chip:nth-child(3) { bottom: 8px; }
    .chip:nth-child(4) { bottom: 12px; }
    .chip:nth-child(5) { bottom: 16px; }
    .chip:nth-child(6) { bottom: 20px; }
    .chip:nth-child(7) { bottom: 24px; }
    .chip:nth-child(8) { bottom: 28px; }
    .chip:nth-child(9) { bottom: 32px; }
    .chip:nth-child(10) { bottom: 36px; }
    .chip:nth-child(11) { bottom: 40px; }
    .chip:nth-child(12) { bottom: 44px; }
    .chip:nth-child(13) { bottom: 48px; }
    .chip:nth-child(14) { bottom: 52px; }
    .chip:nth-child(15) { bottom: 56px; }
    .chip:nth-child(16) { bottom: 60px; }
    .chip:nth-child(17) { bottom: 64px; }
    .chip:nth-child(18) { bottom: 68px; }
    .chip:nth-child(19) { bottom: 72px; }
    .chip:nth-child(20) { bottom: 76px; }

    .chip {
    transform: scale(0.9);
    filter: grayscale(30%);
    }
    .redChip{
        background: radial-gradient(circle, #fdd17e 30%, #aa2122 35%, #aa2122 100%);
    }
    .blueChip{
        background: radial-gradient(circle, #fdd17e 30%, #114295 35%, #114295 100%);
    }
    .greenChip{
        background: radial-gradient(circle, #fdd17e 30%, #0a6e39 35%, #0a6e39 100%);
    }
    .blackChip{
        background: radial-gradient(circle, #fdd17e 30%, #78c5d0 35%, #78c5d0 100%);
    }

    /* 💰 Chips on Bet (active look) */
    #chipsOnBet .chip {
    width: 45px;
    height: 45px;
    opacity: 1;
    transform: scale(1.1);
    filter: none;
    border: 1px solid gold;
    }
    .chip.move {
    animation: pop 0.3s ease;
    }

    .flying {
    position: fixed;
    z-index: 9999;
    pointer-events: none;
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
    }
    .wheelcenter .chip{
        display:none;
    }
   .chip.win {
        background: repeating-linear-gradient(
        45deg,
        #FB8C00,
        #FB8C00 5px,
        #000 5px,
        #000 10px
    );
        color: #fff;
    }



@keyframes pop {
    0% { transform: scale(0.8); }
    50% { transform: scale(1.3); }
    100% { transform: scale(1); }
    }


.afterLoad{
    display: none;
}

.afterLoad label{
        min-width: 20%;
}