        *,
        *::before,
        *::after {
            box-sizing: border-box;
        }

        body {
            margin: 0;
            font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            background-color: #0b0b1a;
            color: #fff;
            overflow-x: hidden;
        }

        body::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;

            background: radial-gradient(circle at center, rgba(0, 255, 255, 0.03) 0%, transparent 50%),
                radial-gradient(circle at 20% 80%, rgba(255, 0, 255, 0.05) 0%, transparent 40%);
            z-index: -1;
            pointer-events: none;
        }

        .container {
            min-height: 100vh;
            width: 100vw;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            position: relative;
            background: radial-gradient(circle at center, #1a1a3a 0%, #0b0b1a 100%);
        }

        h1 {
            font-size: 64px;
            font-weight: 800;
            text-align: center;
            color: #fff;
            text-shadow:
                0 0 4.5px #fff,
                0 0 9px #fff,
                0 0 18px #0ff,
                0 0 36px #0ff,
                0 0 72px #0ff;
            letter-spacing: 4px;
            margin-top: 30px;
            margin-bottom: 0px;
            text-transform: uppercase;
            animation: pulse-neon 2s infinite alternate;
        }

        @keyframes pulse-neon {
            0% {
                text-shadow: 0 0 4.5px #fff, 0 0 9px #fff, 0 0 18px #0ff, 0 0 36px #0ff;
            }

            100% {
                text-shadow: 0 0 4.5px #fff, 0 0 13.5px #fff, 0 0 27px #0ff, 0 0 45px #0ff, 0 0 72px #0ff;
            }
        }

        .para {
            font-size: 16px;
            line-height: 1.6;
            color: #a0c0ff;
            max-width: 60%;
            margin: 15px auto 40px auto;
            text-align: center;
            text-shadow: 0 0 4.5px rgba(160, 192, 255, 0.5);
        }

        .game {
            display: flex;
            justify-content: center;
            align-items: flex-start;
            gap: 50px;
            margin-bottom: 50px;
            z-index: 10;
        }

        .left-panel,
        .right-panel {
            background: rgba(10, 10, 30, 0.7);
            padding: 25px 20px;
            border-radius: 15px;
            border: 1px solid rgba(255, 0, 255, 0.3);
            box-shadow: 0 0 18px rgba(255, 0, 255, 0.15), inset 0 0 13.5px rgba(255, 0, 255, 0.05);
            text-align: center;
            width: 220px;
            backdrop-filter: blur(5px);
        }

        .left-panel h2,
        .right-panel h2 {
            margin-top: 0;
            margin-bottom: 25px;
            font-size: 24px;
            color: #f0f;
            text-transform: uppercase;
            letter-spacing: 2px;
            text-shadow: 0 0 4.5px #f0f, 0 0 9px #f0f;
        }

        .right-panel p {
            font-size: 20px;
            font-weight: 800;
            color: #fff;
            margin: 12px 0;
            padding: 15px;
            border-radius: 10px;
            background: rgba(255, 255, 255, 0.03);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        #player1-score {
            width: 100%;
            border: 1px solid rgba(0, 255, 255, 0.3);
            border-left: 4px solid #0ff;
            box-shadow: inset 0 0 10px rgba(0, 255, 255, 0.05);
        }

        #player2-score {
            border: 1px solid rgba(144, 238, 144, 0.5);
            border-left: 4px solid #62eb62;
            box-shadow: inset 0 0 10px rgba(144, 238, 144, 0.5);
        }

        .choice {
            display: flex;
            flex-direction: column;
            gap: 12px;
            margin-top: 30px;
        }

        .choice p {
            margin: 0;
            padding: 12px;
            background: rgba(255, 255, 255, 0.03);
            border-radius: 8px;
            font-size: 14px;
            font-weight: 600;
            color: #94a3b8;
            border: 1px solid rgba(255, 255, 255, 0.05);
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .choice p span {
            font-size: 18px;
            font-weight: 900;
        }

        #info-p1 span {
            color: #0ff;
            text-shadow: 0 0 10px #0ff;
        }

        #info-p2 span {
            color: #62eb62;
            text-shadow: 0 0 10px #62eb62;
        }

        #info-p1 {
            border-left: 3px solid rgba(0, 255, 255, 0.4);
        }

        #info-p2 {
            border-left: 3px solid rgba(144, 238, 144, 0.5);
        }

        button {
            background: transparent;
            color: #0ff;
            font-size: 16px;
            font-weight: bold;
            text-transform: uppercase;
            letter-spacing: 1px;
            padding: 12px 20px;
            margin: 8px 0;
            width: 100%;
            border: 2px solid #0ff;
            border-radius: 8px;
            cursor: pointer;
            transition: all 0.3s ease;
            box-shadow: 0 0 9px rgba(0, 255, 255, 0.2), inset 0 0 9px rgba(0, 255, 255, 0.1);
            text-shadow: 0 0 4.5px #0ff;
            position: relative;
            overflow: hidden;
        }

        button::before {
            content: '';
            position: absolute;
            top: 50%;
            left: 50%;
            width: 0;
            height: 0;
            background: rgba(0, 255, 255, 0.2);
            border-radius: 50%;
            transform: translate(-50%, -50%);
            transition: width 0.4s ease, height 0.4s ease;
            z-index: -1;
        }

        button:hover {
            box-shadow: 0 0 18px #0ff, inset 0 0 13.5px #0ff;
            transform: translateY(-2px);
            color: #fff;
        }

        button:hover::before {
            width: 300px;
            height: 300px;
        }

        .grid {
            background: rgba(0, 0, 0, 0.6);
            padding: 15px;
            border-radius: 20px;
            box-shadow: 0 0 22.5px rgba(0, 255, 255, 0.15), inset 0 0 18px rgba(0, 255, 255, 0.05);
            border: 1px solid rgba(0, 255, 255, 0.2);
            position: relative;
        }

        .grid::after {
            content: '';
            position: absolute;
            top: -2px;
            left: -2px;
            right: -2px;
            bottom: -2px;
            background: linear-gradient(45deg, #0ff, transparent, #f0f, transparent, #0ff);
            z-index: -1;
            border-radius: 22px;
            opacity: 0.3;
            filter: blur(9px);
        }

        .row {
            display: flex;
        }

        .col {
            height: 120px;
            width: 120px;
            margin: 6px;
            border: 2px solid rgba(0, 255, 255, 0.5);
            border-radius: 12px;
            cursor: pointer;
            transition: all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            display: flex;
            justify-content: center;
            align-items: center;
            font-size: 72px;
            font-weight: bold;
            background: rgba(0, 255, 255, 0.03);

        }

        .playerX {
            box-shadow: inset 0 0 13.5px rgba(0, 255, 255, 0.1);
            color: #fff;
            text-shadow: 0 0 9px #fff, 0 0 18px #0ff, 0 0 27px #0ff;
        }

        .playerO {
            box-shadow: inset 0 0 13.5px rgba(144, 238, 144, 0.2);
            color: #60fc60;
            text-shadow: 0 0 9px #62eb62, 0 0 18px #90ee90, 0 0 27px #e0ffe0;
        }

        .col:hover {
            background: rgba(0, 255, 255, 0.1);
            box-shadow: inset 0 0 18px rgba(0, 255, 255, 0.4), 0 0 13.5px rgba(0, 255, 255, 0.3);
            transform: scale(1.05);
            border-color: #0ff;
        }

        /*  for X and O   */
        .col:not(:empty) {
            transform: scale(1);
            animation: pop-in 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        @keyframes pop-in {
            0% {
                transform: scale(0.5);
                opacity: 0;
            }

            50% {
                transform: scale(1.1);
            }

            100% {
                transform: scale(1);
                opacity: 1;
            }
        }

        #result {
            height: 100vh;
            width: 100vw;
            position: fixed;
            top: 0;
            left: 0;
            background: rgba(5, 5, 15, 0.85);
            backdrop-filter: blur(9px);
            display: none;
            justify-content: center;
            align-items: center;
            z-index: 100;
        }

        .result-card {
            background: #0d0d26;
            padding: 50px 70px;
            border-radius: 20px;
            text-align: center;
            border: 2px solid #f0f;
            box-shadow:
                0 0 36px rgba(255, 0, 255, 0.4),
                inset 0 0 18px rgba(255, 0, 255, 0.2);
            animation: popup 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
            position: relative;
            overflow: hidden;
        }

        .result-card::before {
            content: '';
            position: absolute;
            top: -50%;
            left: -50%;
            right: -50%;
            bottom: -50%;
            background: radial-gradient(circle at center, rgba(255, 0, 255, 0.09) 0%, transparent 60%);
            z-index: 0;
            pointer-events: none;
        }

        #result-text {
            font-size: 56px;
            font-weight: 800;
            margin-bottom: 10px;
            color: #fff;
            text-transform: uppercase;
            text-shadow: 0 0 9px #fff, 0 0 18px #f0f, 0 0 36px #f0f;
            letter-spacing: 3px;
            position: relative;
            z-index: 1;
        }

        .subtitle {
            color: #e0e0ff;
            font-size: 22px;
            margin-bottom: 35px;
            text-shadow: 0 0 7.2px rgba(224, 224, 255, 0.5);
            position: relative;
            z-index: 1;
        }

        .result-card button {
            background: transparent;
            color: #f0f;
            border: 2px solid #f0f;
            padding: 15px 40px;
            font-size: 18px;
            border-radius: 50px;
            box-shadow: 0 0 13.5px rgba(255, 0, 255, 0.4), inset 0 0 13.5px rgba(255, 0, 255, 0.2);
            width: auto;
            position: relative;
            z-index: 1;
            margin: 0 auto;
        }

        .result-card button::before {
            background: rgba(255, 0, 255, 0.2);
        }

        .result-card button:hover {
            box-shadow: 0 0 27px #f0f, inset 0 0 18px #f0f;
            background: rgba(255, 0, 255, 0.1);
        }

        /* ----- Tab Responsive --- */
        @media (max-width: 1024px) {
            .game {
                flex-direction: column;
                align-items: center;
                gap: 30px;
            }

            .left-panel,
            .right-panel {
                width: 100%;
                max-width: 400px;
                order: 2;
            }

            .grid {
                order: 1;
            }

            h1 {
                font-size: 48px;
            }

            p {
                max-width: 90%;
            }
        }

        /* --- Mobile Responsive ---- */
        @media (max-width: 600px) {
            .container {
                padding: 20px 10px;
            }

            h1 {
                font-size: 36px;
                letter-spacing: 2px;
            }

            .col {
                height: 85px;
                width: 85px;
                font-size: 48px;
            }

            .left-panel,
            .right-panel {
                padding: 15px;
            }

            .left-panel h2,
            .right-panel h2 {
                font-size: 18px;
                margin-bottom: 15px;
            }

            .result-card {
                padding: 30px 20px;
                width: 85%;
            }

            #result-text {
                font-size: 32px;
            }
        }