/* Shared Styles */
body {
    font-family: 'Pretendard', sans-serif;
    background: linear-gradient(135deg, #0f172a 0%, #1e1b4b 100%);
    min-height: 100vh;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}
::-webkit-scrollbar-track {
    background: rgba(15, 23, 42, 0.3);
}
::-webkit-scrollbar-thumb {
    background: rgba(99, 102, 241, 0.5);
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(99, 102, 241, 0.8);
}

/* 3D Ball Styling */
.lotto-ball {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-weight: 800;
    color: #fff;
    box-shadow: inset -4px -4px 8px rgba(0, 0, 0, 0.4),
                inset 4px 4px 8px rgba(255, 255, 255, 0.4),
                0 4px 10px rgba(0, 0, 0, 0.3);
    text-shadow: 1px 1px 2px rgba(0,0,0,0.6);
    transition: all 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: scale(0);
}
.lotto-ball.show {
    transform: scale(1);
}
.ball-yellow { background: radial-gradient(circle at 30% 30%, #ffeb3b, #fbc02d, #f57f17); color: #2d1a00; text-shadow: none; }
.ball-blue { background: radial-gradient(circle at 30% 30%, #64b5f6, #1976d2, #0d47a1); }
.ball-red { background: radial-gradient(circle at 30% 30%, #e57373, #d32f2f, #b71c1c); }
.ball-grey { background: radial-gradient(circle at 30% 30%, #e0e0e0, #757575, #424242); }
.ball-green { background: radial-gradient(circle at 30% 30%, #81c784, #388e3c, #1b5e20); }

/* Lottery machine container & drum animation */
@keyframes bounce-slow {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}
.machine-drum {
    animation: bounce-slow 4s ease-in-out infinite;
}
/* Glassmorphism utility */
.glass-panel {
    background: rgba(30, 41, 59, 0.7);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}
.glass-panel-light {
    background: rgba(255, 255, 255, 0.05);
    border: 1px solid rgba(255, 255, 255, 0.08);
}
/* Selection ball grid */
.select-ball-btn {
    transition: all 0.2s ease;
}
.select-ball-btn:hover {
    transform: translateY(-2px);
}
.select-ball-btn.selected {
    box-shadow: 0 0 15px currentColor;
    transform: scale(1.08);
}
