body {
    background: radial-gradient(circle at top, #0f0f23, #000);
    color: white;
    font-family: Arial, sans-serif;
    display: flex;
    justify-content: center;
    padding-top: 30px;
    margin: 0; /* Added: Full-screen consistency */
}

.roulette-container {
    max-width: 440px; /* Changed: Responsive width */
    width: 100%; /* Added: Full on mobile */
    text-align: center;
    padding: 0 10px; /* Added: Side padding for mobile */
}

.title {
    font-size: 40px;
    margin-bottom: 20px;
    color: #06b6d4;
    text-shadow: 0 0 25px #06b6d4;
}

.bet-controls {
    display: flex;
    justify-content: center;
    align-items: center; /* Added: Vertical alignment */
    gap: 10px;
    margin-bottom: 15px;
    flex-wrap: wrap; /* Added: Allow wrapping on small screens */
}

.bet-controls label { /* Added: Style labels */
    font-size: 14px;
    color: #06b6d4;
    min-width: 80px; /* Added: Consistent width */
}

.bet-controls input,
.bet-controls select {
    background: #1a1a3a;
    color: white;
    border: none;
    padding: 8px;
    border-radius: 8px;
    transition: box-shadow 0.2s; /* Added: Smooth hover */
}

.bet-controls input:focus,
.bet-controls select:focus { /* Added: Focus state */
    outline: none;
    box-shadow: 0 0 10px #06b6d4;
}

#number-input { /* Added: Style for number bet input container */
    display: flex;
    align-items: center;
    gap: 5px;
    margin-top: 5px; /* Slight top margin when shown */
}

#bet-number { /* Added: Match other inputs */
    background: #1a1a3a;
    color: white;
    border: none;
    padding: 8px;
    border-radius: 8px;
    width: 60px;
    transition: box-shadow 0.2s;
}

#bet-number:focus {
    outline: none;
    box-shadow: 0 0 10px #06b6d4;
}

#spin-btn {
    background: linear-gradient(135deg, #8b5cf6, #06b6d4);
    padding: 8px 20px;
    border-radius: 8px;
    cursor: pointer;
    border: none;
    color: white;
    box-shadow: 0 0 15px #8b5cf6;
    transition: transform 0.2s; /* Added: Smooth scale */
}

#spin-btn:hover {
    transform: scale(1.05);
}

.wheel-container {
    position: relative;
    margin-top: 20px;
}

.pointer {
    position: absolute;
    top: 0; /* Changed: From -5px to avoid clipping */
    left: 50%;
    transform: translateX(-50%);
    font-size: 30px;
    color: yellow;
    text-shadow: 0 0 10px yellow;
    z-index: 10; /* Added: Ensure above canvas */
    pointer-events: none; /* Added: Don't interfere with canvas */
}

.result {
    margin-top: 20px;
    font-size: 28px;
    font-weight: bold; /* Added: Better visibility */
    text-shadow: 0 0 5px currentColor; /* Added: Glow effect */
    transition: color 0.3s; /* Added: Smooth color change from JS */
}

/* New: Header styles */
.header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
    padding: 10px;
    background: rgba(26, 26, 58, 0.8);
    border-radius: 10px;
    box-shadow: 0 0 10px #06b6d4;
}

.home-btn {
    background: linear-gradient(135deg, #8b5cf6, #06b6d4);
    border: none;
    color: white;
    padding: 8px 16px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 14px;
    transition: transform 0.2s;
}

.home-btn:hover {
    transform: scale(1.05);
}

.balance {
    font-size: 18px;
    color: #00ffae;
    font-weight: bold;
    text-shadow: 0 0 5px #00ffae;
}

/* Added: Media query for mobile */
@media (max-width: 480px) {
    .title {
        font-size: 32px;
    }
    
    .bet-controls {
        flex-direction: column; /* Stack on very small screens */
        align-items: stretch;
    }
    
    .bet-controls label,
    .bet-controls input,
    .bet-controls select,
    #spin-btn {
        width: 100%;
        max-width: 200px;
    }
    
    #wheel {
        width: 100% !important; /* Responsive canvas */
        height: auto !important;
    }
}