
        /* Base Styles & Mobile First Reset */
        * {
            box-sizing: border-box;
            margin: 0;
            padding: 0;
        }

        body {
            background-color: #111;
            color: #fff;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            min-height: 100vh;
            overflow: hidden;
            font-family: sans-serif;

            background-image: url('images/dealornodeal4.jpg');
            background-repeat: no-repeat;
            background-attachment: fixed;
            background-position: left;
            background-size: 100% 100%;
        }

        h1 {
            font-size: 1.8rem;
            margin-bottom: 10px;
            text-align: center;
            letter-spacing: 2px;
            color: #277eff;
            font-family: 'Times New Roman', Times, serif;
        }

        /* Game Container Layout matching the Canvas wrap framework */
        .game-wrapper {
            position: relative;
            display: flex;
            flex-direction: column;
            align-items: center;
            height: fit-content;
            width: fit-content;
        }

        /* Shiny Gold Square Styling */
        .gold-square-display {
            background: linear-gradient(135deg, #bf953f 0%, #fcf6ba 25%, #b38728 50%, #fbf5b7 75%, #aa771c 100%);
            border: 4px solid #fff;
            width: 320px;
            height: 320px;
            max-width: 95vw;
            max-height: 50vh;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            border-radius: 24px;
            box-shadow: 0 10px 30px rgba(0, 0, 0, 0.7), 
                        inset 0 0 20px rgba(255, 255, 255, 0.5);
            position: relative;
            overflow: hidden;
            text-align: center;
        }

        /* Metallic light sweep shine animation effect */
        .gold-square-display::after {
            content: '';
            position: absolute;
            top: -50%;
            left: -60%;
            width: 30%;
            height: 200%;
            background: rgba(255, 255, 255, 0.6);
            transform: rotate(30deg);
            transition: none;
            animation: shineGlint 4s ease-in-out infinite;
            filter: blur(5px);
            z-index: 3;
            pointer-events: none;
        }

        @keyframes shineGlint {
            0% { left: -60%; }
            15% { left: 130%; }
            100% { left: 130%; }
        }

        /* Reel Window container providing clip boundaries for sliding child */
        .reel-viewport {
            width: 100%;
            height: 80px;
            overflow: hidden;
            position: relative;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        /* The dynamic moving text component */
        #shala {
            font-size: 2.2rem;
            font-weight: bold;
            color: #111;
            text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.8);
            font-family: 'Franklin Gothic Medium', Arial, sans-serif;
            position: absolute;
            white-space: nowrap;
            z-index: 2;
            transform: translateX(0);
        }

        /* Spinning CSS states triggered by script logic hooks */
        .reel-spinning {
            animation: moveRightToLeft 0.25s linear infinite;
        }

        /* New smooth slide-in entry animation for the final result */
        .reel-stopping {
            animation: slideInAndStop 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
        }

        @keyframes moveRightToLeft {
            0% {
                transform: translateX(200px);
                opacity: 0;
            }
            10% {
                opacity: 1;
            }
            90% {
                opacity: 1;
            }
            100% {
                transform: translateX(-200px);
                opacity: 0;
            }
        }

        /* Easing keyframe to bring the text to a controlled stop at center */
        @keyframes slideInAndStop {
            0% {
                transform: translateX(200px);
                opacity: 0;
            }
            100% {
                transform: translateX(0);
                opacity: 1;
            }
        }

        /* Action Controls Layout Base */
        #buttonsdiv {
            margin-top: 20px;
            display: flex;
            gap: 15px;
            justify-content: center;
            width: 100%;
        }

        .action-btn {
            height: 48px;
            width: 120px;
            font-size: 1.1rem;
            font-weight: bold;
            color: #000;
            border-radius: 12px;
            border: 2px solid #000;
            cursor: pointer;
            transition: opacity 0.2s;
        }

        #button {
            background-color: #a6ff00;
        }

        #button:disabled {
            background-color: #557700;
            color: #666;
            cursor: not-allowed;
            opacity: 0.6;
        }

        #button2 {
            background-color: #bb0000;
        }

        .action-btn:hover:not(:disabled) {
            opacity: 0.6;
        }

        /* Desktop Controls Visual Cue Label text spacing styling match */
        .controls-info {
            font-family: sans-serif;
            margin-top: 15px;
            font-size: 0.9rem;
            color: #474747;
            text-align: center;
        }

        /* ==========================================================================
           Requested Layout Logic Adaptations & Responsive Breakpoints 
           ========================================================================== */

        /* 1. Micro Phones / Small Viewports (0px - 320px) */
        @media screen and (max-width: 320px) {
            body { justify-content: flex-start; padding-top: 10px; }
            h1 { font-size: 1.3rem; }
            .gold-square-display { width: 220px; height: 220px; border-radius: 14px; border-width: 2px; }
            #shala { font-size: 1.5rem; }
            .action-btn { height: 38px; width: 90px; font-size: 0.9rem; border-radius: 8px; }
            .controls-info { display: none; }
        }

        /* 2. Compact Smartphones (321px - 365px) */
        @media screen and (min-width: 321px) and (max-width: 365px) {
            body { justify-content: flex-start; padding-top: 15px; }
            h1 { font-size: 1.4rem; }
            .gold-square-display { width: 240px; height: 240px; border-radius: 16px; border-width: 2.5px; }
            #shala { font-size: 1.7rem; }
            .action-btn { height: 40px; width: 100px; font-size: 0.95rem; }
            .controls-info { display: none; }
        }

        /* 3. Medium Smartphones (366px - 375px) */
        @media screen and (min-width: 366px) and (max-width: 375px) {
            body { justify-content: flex-start; padding-top: 20px; }
            .gold-square-display { width: 260px; height: 260px; border-radius: 18px; }
            #shala { font-size: 1.8rem; }
            .controls-info { display: none; }
        }

        /* 4. Large Smartphones (376px - 400px) */
        @media screen and (min-width: 376px) and (max-width: 400px) {
            body { justify-content: flex-start; padding-top: 25px; }
            .gold-square-display { width: 280px; height: 280px; border-radius: 20px; }
            .controls-info { display: none; }
        }

        /* 5. Phablets / Small Tablets (401px - 600px) */
        @media screen and (min-width: 401px) and (max-width: 600px) {
            body { justify-content: flex-start; padding-top: 30px; }
            .gold-square-display { width: 300px; height: 300px; }
            .controls-info { display: none; }
        }

        /* 6. Tablets / Laptops (601px - 1200px) */
        @media screen and (min-width: 601px) and (max-width: 1200px) {
            h1 { font-size: 2.2rem; }
            .controls-info { font-size: 0.85rem; }
        }

        /* 7. Desktop Monitors (1201px - 1500px) */
        @media screen and (min-width: 1201px) and (max-width: 1500px) {
            h1 { font-size: 2.5rem; }
            .controls-info { font-size: 1rem; }
        }
    