
        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        body {
            font-family: 'PingFang SC', 'Microsoft YaHei', sans-serif;
            background: linear-gradient(135deg, #EAFC22 0%, #C5F5B0 50%, #A3DF6E 100%);
            min-height: 100vh;
            padding: 20px;
            overflow-x: auto;
        }

        .container {
            max-width: 1200px;
            margin: 0 auto;
            display: grid;
            grid-template-columns: 1fr 300px;
            gap: 30px;
            align-items: start;
        }

        .main-content {
            background: rgba(255, 255, 255, 0.9);
            border-radius: 20px;
            padding: 30px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
        }

        .controls {
            background: rgba(255, 255, 255, 0.9);
            border-radius: 20px;
            padding: 25px;
            box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
            position: sticky;
            top: 20px;
        }

        h1 {
            font-size: 32px;
            color: #1A191F;
            text-align: center;
            margin-bottom: 30px;
            text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.1);
        }

        .multiplication-table {
            display: grid;
            grid-template-columns: repeat(10, 1fr);
            gap: 8px;
            margin-bottom: 30px;
            max-width: 100%;
            overflow-x: auto;
        }

        .table-cell {
            aspect-ratio: 1;
            display: flex;
            align-items: center;
            justify-content: center;
            border-radius: 12px;
            font-size: 16px;
            font-weight: bold;
            color: #1A191F;
            cursor: pointer;
            transition: all 0.3s ease;
            min-height: 50px;
            position: relative;
        }

        .header-cell {
            background: #92E24B;
            color: #1A191F;
            font-size: 18px;
        }

        .result-cell {
            background: #6BC8FF;
            border: 2px solid transparent;
        }

        .result-cell:hover {
            transform: scale(1.1);
            border-color: #FFA94D;
            box-shadow: 0 4px 15px rgba(255, 169, 77, 0.4);
        }

        .result-cell.highlighted {
            background: #FFA94D;
            transform: scale(1.15);
            animation: pulse 1s ease-in-out;
        }

        .result-cell.correct {
            background: #5CEEAF;
            animation: bounce 0.6s ease;
        }

        .result-cell.wrong {
            background: #FF6B6B;
            animation: shake 0.5s ease;
        }

        @keyframes pulse {
            0%, 100% { transform: scale(1.15); }
            50% { transform: scale(1.25); }
        }

        @keyframes bounce {
            0%, 20%, 50%, 80%, 100% { transform: translateY(0); }
            40% { transform: translateY(-10px); }
            60% { transform: translateY(-5px); }
        }

        @keyframes shake {
            0%, 100% { transform: translateX(0); }
            25% { transform: translateX(-5px); }
            75% { transform: translateX(5px); }
        }

        .controls h2 {
            font-size: 24px;
            color: #1A191F;
            margin-bottom: 20px;
            text-align: center;
        }

        .mode-buttons {
            display: flex;
            flex-direction: column;
            gap: 15px;
            margin-bottom: 25px;
        }

        .mode-btn {
            padding: 12px 20px;
            border: none;
            border-radius: 25px;
            font-size: 16px;
            font-weight: bold;
            cursor: pointer;
            transition: all 0.3s ease;
            color: #1A191F;
        }

        .mode-btn.active {
            background: #92E24B;
            transform: scale(1.05);
        }

        .mode-btn:not(.active) {
            background: #E2C6EB;
        }

        .mode-btn:hover {
            transform: scale(1.08);
        }

        .practice-section {
            display: none;
            text-align: center;
        }

        .practice-section.active {
            display: block;
        }

        .question {
            font-size: 28px;
            color: #2C3FB0;
            margin: 20px 0;
            font-weight: bold;
        }

        .answer-input {
            font-size: 24px;
            padding: 12px;
            border: 3px solid #6BC8FF;
            border-radius: 15px;
            text-align: center;
            width: 100px;
            margin: 0 10px;
        }

        .check-btn {
            background: #17D4C1;
            color: #1A191F;
            border: none;
            padding: 12px 25px;
            border-radius: 20px;
            font-size: 18px;
            font-weight: bold;
            cursor: pointer;
            margin: 15px 5px;
            transition: all 0.3s ease;
        }

        .check-btn:hover {
            transform: scale(1.1);
            background: #5CEEAF;
        }

        .score {
            font-size: 20px;
            color: #2C3FB0;
            margin: 15px 0;
            font-weight: bold;
        }

        .formula-display {
            background: #F8C2FF;
            padding: 15px;
            border-radius: 15px;
            margin: 15px 0;
            font-size: 18px;
            color: #1A191F;
            text-align: center;
            font-weight: bold;
        }

        .progress-bar {
            width: 100%;
            height: 20px;
            background: #E2C6EB;
            border-radius: 10px;
            overflow: hidden;
            margin: 15px 0;
        }

        .progress-fill {
            height: 100%;
            background: linear-gradient(90deg, #92E24B, #5CEEAF);
            width: 0%;
            transition: width 0.5s ease;
        }

        .footer {
            background: linear-gradient(to right, #2c3e50, #1a2530);
            color: #ecf0f1;
            text-align: center;
            padding: 20px;
            margin-top: 25px;
            border-radius: 0 0 10px 10px;
        }

        @media (max-width: 768px) {
            .container {
                grid-template-columns: 1fr;
                gap: 20px;
            }
            
            .multiplication-table {
                grid-template-columns: repeat(10, minmax(40px, 1fr));
                gap: 4px;
            }
            
            .table-cell {
                font-size: 14px;
                min-height: 40px;
            }
            
            .header-cell {
                font-size: 16px;
            }
            
            h1 {
                font-size: 28px;
            }
        }
