
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
            user-select: none;
            touch-action: none
        }

        :root {
            --gold: #f9a826;
            --red: #ff3b5c;
            --green: #22d46e;
            --dark: #050a10;
            --panel: #0b1220dd
        }

        html,
        body {
            width: 100%;
            height: 100%;
            overflow: hidden;
            background: #000;
            font-family: 'Nunito', sans-serif
        }

        canvas {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            display: block;
            pointer-events: none
        }

        #cam {
            z-index: 1;
            background: #0d1520
        }

        #gc {
            z-index: 2
        }

        @keyframes titlepulse {

            0%,
            100% {
                filter: drop-shadow(0 4px 14px #f9a82666)
            }

            50% {
                filter: drop-shadow(0 4px 30px #ff3b5c88)
            }
        }

        @keyframes heartpop {
            0% {
                transform: scale(1.9)
            }

            100% {
                transform: scale(1)
            }
        }

        @keyframes splashAnim {
            0% {
                opacity: 1;
                transform: translate(-50%, -50%) scale(.3)
            }

            35% {
                opacity: 1;
                transform: translate(-50%, -75%) scale(1.25)
            }

            100% {
                opacity: 0;
                transform: translate(-50%, -170%) scale(.9)
            }
        }

        @keyframes comboFlash {
            0% {
                opacity: 0;
                transform: translate(-50%, -50%) scale(2.5)
            }

            20% {
                opacity: 1;
                transform: translate(-50%, -50%) scale(1)
            }

            80% {
                opacity: 1
            }

            100% {
                opacity: 0;
                transform: translate(-50%, -50%) scale(.8)
            }
        }

        @keyframes powerPop {
            0% {
                transform: scale(2) translateY(-6px);
                opacity: 0
            }

            60% {
                transform: scale(1.1) translateY(0);
                opacity: 1
            }

            100% {
                transform: scale(1);
                opacity: 1
            }
        }

        @keyframes pwFade {
            0% {
                opacity: 1
            }

            80% {
                opacity: .7
            }

            100% {
                opacity: 0;
                transform: translateY(-8px)
            }
        }

        @keyframes shimmer {
            0% {
                background-position: -200% center
            }

            100% {
                background-position: 200% center
            }
        }

        @keyframes shieldPulse {

            0%,
            100% {
                box-shadow: 0 0 0 0 #22d46e55
            }

            50% {
                box-shadow: 0 0 0 8px #22d46e22
            }
        }

        @keyframes spin {
            to {
                transform: rotate(360deg)
            }
        }

        .splash {
            position: absolute;
            z-index: 6;
            font-family: 'Bangers', cursive;
            letter-spacing: 3px;
            pointer-events: none;
            animation: splashAnim .75s forwards
        }

        .combo-flash {
            position: absolute;
            z-index: 7;
            left: 50%;
            top: 50%;
            transform: translate(-50%, -50%);
            font-family: 'Bangers', cursive;
            font-size: clamp(2.5rem, 9vw, 5.5rem);
            color: var(--gold);
            letter-spacing: 5px;
            pointer-events: none;
            animation: comboFlash .8s forwards
        }

        .ov-title {
            font-family: 'Bangers', cursive;
            font-size: clamp(4rem, 13vw, 8rem);
            letter-spacing: 5px;
            line-height: 1;
            background: linear-gradient(135deg, #ff8c00 0%, #ffcc00 40%, #ff3b5c 100%);
            -webkit-background-clip: text;
            background-clip: text;
            -webkit-text-fill-color: transparent;
            animation: titlepulse 2.5s ease-in-out infinite
        }

        .pw-badge {
            animation: powerPop .4s ease-out forwards
        }

        .pw-expire {
            animation: pwFade .5s forwards
        }

        .heart.pop {
            animation: heartpop .3s ease-out
        }

        .score-val {
            font-family: 'Bangers', cursive;
            font-size: clamp(1.8rem, 5vw, 2.6rem);
            color: var(--gold);
            line-height: 1
        }

        #loadBar {
            display: flex;
            align-items: center;
            justify-content: center
        }

        .loading-bar-fill {
            display: inline-flex
        }

        .black-loading-animation {
            transform-origin: center;
            animation: spin .9s linear infinite
        }

        .shield-active {
            animation: shieldPulse 1s ease-in-out infinite
        }

        .btn-3d {
            box-shadow: 0 5px 0 #7a4800, 0 8px 24px #00000088;
            transition: .08s;
            position: relative;
            overflow: hidden
        }

        .btn-3d::after {
            content: '';
            position: absolute;
            inset: 0;
            background: linear-gradient(180deg, #ffffff33, transparent 55%);
            border-radius: inherit
        }

        .btn-3d:active {
            transform: translateY(4px);
            box-shadow: 0 1px 0 #7a4800, 0 4px 12px #00000088
        }

        /* MOBILE UX IMPROVEMENTS */
        #rotateMsg.show {
            opacity: 1;
            transform: translate(-50%, 0);
        }

        @keyframes countdownPop {
            0% { transform: scale(0.5); opacity: 0; }
            30% { transform: scale(1.1); opacity: 1; }
            80% { transform: scale(1); opacity: 1; }
            100% { transform: scale(1.5); opacity: 0; }
        }

        .countdown-animate {
            animation: countdownPop 0.9s ease-out forwards;
        }
   