body {
            background-color: #07080f;
            color: #f1f5f9;
            font-family: 'Plus Jakarta Sans', sans-serif;
            background-image: 
                radial-gradient(circle at 15% 15%, rgba(124, 58, 237, 0.12) 0%, transparent 45%),
                radial-gradient(circle at 85% 85%, rgba(244, 63, 94, 0.10) 0%, transparent 45%),
                radial-gradient(circle at 50% 50%, rgba(14, 165, 233, 0.06) 0%, transparent 60%);
        }
        
        /* ===========================
           Sponsor Banner
        =========================== */
        
        .sponsor-banner-wrap{
            display:grid;
            grid-template-columns:1fr;
            gap:8px;
            width:100%;
        }
        
        @media (min-width:1024px){
            .sponsor-banner-wrap{
                grid-template-columns:repeat(2,minmax(0,1fr));
                gap:16px;
            }
        }
        
        .sponsor-banner{
            width:100%;
            min-width:0;
            overflow:hidden;
            position:relative;
            border-radius:1rem;
            border:1px solid rgba(139,92,246,.3);
            background:rgba(15,23,42,.8);
            box-shadow:
                0 10px 15px -3px rgba(0,0,0,.1),
                0 4px 6px -4px rgba(0,0,0,.1);
            transition:
                border-color .3s ease,
                box-shadow .3s ease,
                transform .3s ease;
        }
        
        .sponsor-banner:hover{
            transform:translateY(-2px);
            border-color:rgba(139,92,246,.6);
            box-shadow:
                0 10px 20px rgba(139,92,246,.12),
                0 6px 10px rgba(0,0,0,.18);
        }
        
        .sponsor-link{
            display:block;
            width:100%;
            position:relative;
        }
        
        .sponsor-label{
            position:absolute;
            top:8px;
            left:8px;
            z-index:10;
            padding:2px 8px;
            border-radius:.375rem;
            font-size:9px;
            font-weight:700;
            text-transform:uppercase;
            letter-spacing:.08em;
            color:#94a3b8;
            background:rgba(2,6,23,.8);
            backdrop-filter:blur(12px);
            -webkit-backdrop-filter:blur(12px);
            border:1px solid #1e293b;
        }
        
        .sponsor-img{
            display:block;
            width:100%;
            height:auto;
            max-height:160px;
            object-fit:cover;
            border-radius:1rem;
            transition:transform .3s ease;
        }
        
        .sponsor-link:hover .sponsor-img{
            transform:scale(1.01);
        }
        
        @media (min-width:640px){
            .sponsor-img{
                max-height:200px;
            }
        }

        .lotto-ball {
            display: inline-flex;
            align-items: center;
            justify-content: center;
            width: 2.3rem;
            height: 2.3rem;
            border-radius: 9999px;
            font-family: 'Orbitron', monospace;
            font-weight: 800;
            font-size: 1rem;
            box-shadow: inset -3px -3px 6px rgba(0,0,0,0.6), inset 3px 3px 6px rgba(255,255,255,0.45), 0 6px 14px rgba(0,0,0,0.5);
            text-shadow: 0 1px 3px rgba(0,0,0,0.9);
            transition: all 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
            position: relative;
            flex-shrink: 0;
        }

        @media (min-width: 640px) {
            .lotto-ball {
                width: 3.25rem;
                height: 3.25rem;
                font-size: 1.35rem;
                box-shadow: inset -4px -4px 9px rgba(0,0,0,0.6), inset 4px 4px 9px rgba(255,255,255,0.5), 0 8px 18px rgba(0,0,0,0.5);
            }
        }
        
        .lotto-ball-sm {
            width: 1.2rem;
            height: 1.2rem;
            font-size: 0.55rem;
            box-shadow: inset -2px -2px 4px rgba(0,0,0,0.5), inset 2px 2px 4px rgba(255,255,255,0.4), 0 4px 10px rgba(0,0,0,0.4);
        }

        @media (min-width: 640px) {
            .lotto-ball-sm {
                width: 2rem;
                height: 2rem;
                font-size: 0.95rem;
            }
        }

        .lotto-ball:hover {
            animation: ballFloat 0.8s ease-in-out infinite alternate;
            transform: scale(1.15) rotate(8deg);
            box-shadow:
                inset -5px -5px 10px rgba(0,0,0,0.55),
                inset 5px 5px 10px rgba(255,255,255,0.85),
                0 18px 35px rgba(139,92,246,.65),
                0 0 25px rgba(6,182,212,.35);
        }
        
        @keyframes ballFloat {
            from {
                transform: translateY(0) scale(1.15) rotate(8deg);
            }
            to {
                transform: translateY(-8px) scale(1.15) rotate(-4deg);
            }
        }

        .ball-purple { background: radial-gradient(circle at 35% 35%, #a855f7, #6b21a8); color: #ffffff; border: 1px solid rgba(255,255,255,0.3); }
        .ball-cyan { background: radial-gradient(circle at 35% 35%, #06b6d4, #0e7490); color: #ffffff; border: 1px solid rgba(255,255,255,0.3); }
        .ball-pink { background: radial-gradient(circle at 35% 35%, #ec4899, #9d174d); color: #ffffff; border: 1px solid rgba(255,255,255,0.3); }
        .ball-amber { background: radial-gradient(circle at 35% 35%, #fbbf24, #b45309); color: #000000; border: 1px solid rgba(255,255,255,0.5); }
        .ball-emerald { background: radial-gradient(circle at 35% 35%, #10b981, #047857); color: #ffffff; border: 1px solid rgba(255,255,255,0.3); }
        .ball-gold { background: radial-gradient(circle at 35% 35%, #fde047, #ea580c); color: #ffffff; border: 2px solid #facc15; }

        @keyframes slotRolling {
            0% { transform: translateY(-15%) scale(0.92); filter: blur(2px); opacity: 0.7; }
            50% { transform: translateY(15%) scale(1.05); filter: blur(1px); opacity: 1; }
            100% { transform: translateY(-15%) scale(0.92); filter: blur(2px); opacity: 0.7; }
        }

        .anim-slot-rolling {
            animation: slotRolling 0.18s infinite linear;
        }

        @keyframes popLock {
            0% { transform: scale(0.5) rotate(-15deg); opacity: 0; }
            70% { transform: scale(1.18) rotate(5deg); opacity: 1; }
            100% { transform: scale(1) rotate(0deg); opacity: 1; }
        }

        .anim-pop-lock {
            animation: popLock 0.45s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
        }

        .glass-card {
            background: rgba(15, 18, 29, 0.88);
            backdrop-filter: blur(16px);
            border: 1px solid rgba(255, 255, 255, 0.08);
        }

        .neon-border-violet {
            box-shadow: 0 0 20px -3px rgba(139, 92, 246, 0.25);
        }

        .neon-border-amber {
            box-shadow: 0 0 20px -3px rgba(245, 158, 11, 0.25);
        }

        /* Custom scrollbar */
        ::-webkit-scrollbar { width: 6px; height: 6px; }
        ::-webkit-scrollbar-track { background: #07080f; }
        ::-webkit-scrollbar-thumb { background: #1d2238; border-radius: 4px; }
        ::-webkit-scrollbar-thumb:hover { background: #2d3558; }