                        * {
                            margin: 0;
                            padding: 0;
                            box-sizing: border-box;
                        }

                        body {
                            font-family: 'Orbitron', sans-serif;
                            background: #0a0e27;
                            background-image: 
                                repeating-linear-gradient(0deg, transparent, transparent 49px, rgba(102, 126, 234, 0.1) 49px, rgba(102, 126, 234, 0.1) 50px),
                                repeating-linear-gradient(90deg, transparent, transparent 49px, rgba(102, 126, 234, 0.1) 49px, rgba(102, 126, 234, 0.1) 50px),
                                linear-gradient(135deg, #0a0e27 0%, #1a1a2e 50%, #0a0e27 100%);
                            background-size: 50px 50px, 50px 50px, 400% 400%;
                            animation: neuralGrid 20s ease infinite;
                            min-height: 100vh;
                            overflow-x: hidden;
                            padding: 10px;
                            color: #ffffff;
                        }

                        @keyframes neuralGrid {
                            0%, 100% { background-position: 0px 0px, 0px 0px, 0% 50%; }
                            50% { background-position: 25px 25px, 25px 25px, 100% 50%; }
                        }

                        .container {
                            max-width: 1200px;
                            margin: 0 auto;
                            padding: 20px;
                        }

                        .header {
                            text-align: center;
                            margin-bottom: 30px;
                            animation: bounceIn 1s ease;
                        }

                        .logo {
                            font-size: clamp(2rem, 5vw, 3.5rem);
                            font-weight: 900;
                            color: #fff;
                            text-shadow: 
                                0 0 10px rgba(102, 126, 234, 0.8),
                                0 0 20px rgba(102, 126, 234, 0.6),
                                0 0 30px rgba(102, 126, 234, 0.4),
                                0 0 40px rgba(118, 75, 162, 0.3);
                            margin-bottom: 10px;
                            letter-spacing: 2px;
                        }

                        .tagline {
                            font-size: clamp(1rem, 3vw, 1.5rem);
                            color: #00f5d4;
                            font-weight: 500;
                            text-shadow: 0 0 10px rgba(0, 245, 212, 0.6);
                            letter-spacing: 1px;
                        }

                        .gamification-bar {
                            background: rgba(10, 14, 39, 0.6);
                            backdrop-filter: blur(12px);
                            border: 1px solid rgba(102, 126, 234, 0.4);
                            border-radius: 20px;
                            padding: 15px 20px;
                            margin-bottom: 20px;
                            display: flex;
                            justify-content: space-around;
                            align-items: center;
                            box-shadow: 
                                0 8px 20px rgba(0,0,0,0.4),
                                0 0 20px rgba(102, 126, 234, 0.2);
                            flex-wrap: wrap;
                            gap: 15px;
                        }

                        .stat-item {
                            display: flex;
                            align-items: center;
                            gap: 10px;
                            font-size: clamp(1rem, 2.5vw, 1.3rem);
                            font-weight: 500;
                            color: #ffffff;
                        }

                        .stat-icon {
                            font-size: clamp(1.5rem, 3vw, 2rem);
                            filter: drop-shadow(0 0 5px rgba(102, 126, 234, 0.6));
                        }

                        .stat-value {
                            color: #00f5d4;
                            font-size: clamp(1.2rem, 3vw, 1.5rem);
                            font-weight: 700;
                            text-shadow: 0 0 10px rgba(0, 245, 212, 0.6);
                        }

                        .main-menu {
                            display: none;
                            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
                            gap: 20px;
                            margin-bottom: 30px;
                        }

                        .main-menu.active {
                            display: grid;
                        }

                        .menu-card {
                            background: rgba(10, 14, 39, 0.5);
                            backdrop-filter: blur(12px);
                            border-radius: 30px;
                            padding: 30px;
                            text-align: center;
                            cursor: pointer;
                            transition: all 0.3s ease;
                            box-shadow: 
                                0 10px 30px rgba(0,0,0,0.3),
                                inset 0 0 0 1px rgba(255,255,255,0.1);
                            border: 2px solid transparent;
                            min-height: 250px;
                            display: flex;
                            flex-direction: column;
                            justify-content: center;
                        }

                        .menu-card:hover {
                            transform: translateY(-10px) scale(1.05);
                            box-shadow: 
                                0 15px 40px rgba(0,0,0,0.4),
                                0 0 30px currentColor,
                                inset 0 0 0 1px rgba(255,255,255,0.2);
                        }

                        .menu-card.abc { border-color: #667eea; color: #667eea; }
                        .menu-card.numbers { border-color: #00f5d4; color: #00f5d4; }
                        .menu-card.language { border-color: #f72585; color: #f72585; }
                        .menu-card.french { border-color: #4facfe; color: #4facfe; }
                        .menu-card.shop { border-color: #ffd166; color: #ffd166; }
                        .menu-card.chat { border-color: #764ba2; color: #764ba2; }
                        .menu-card.colors { border-color: #ff6b9d; color: #ff6b9d; }
                        .menu-card.shapes { border-color: #667eea; color: #667eea; }
                        .menu-card.clock { border-color: #00f5d4; color: #00f5d4; }

                        .menu-icon {
                            font-size: clamp(4rem, 8vw, 6rem);
                            margin-bottom: 15px;
                        }

                        .menu-icon img {
                            width: clamp(80px, 12vw, 120px);
                            height: auto;
                            border-radius: 12px;
                            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4);
                            border: 2px solid rgba(255, 255, 255, 0.2);
                        }

                        .menu-title {
                            font-size: clamp(1.5rem, 4vw, 2rem);
                            font-weight: 700;
                            margin-bottom: 10px;
                            color: inherit;
                            text-shadow: 0 0 10px currentColor;
                        }

                        .menu-subtitle {
                            font-size: clamp(0.9rem, 2vw, 1.1rem);
                            color: rgba(255, 255, 255, 0.7);
                            font-weight: 400;
                        }

                        .module-container {
                            display: none;
                            background: rgba(10, 14, 39, 0.7);
                            backdrop-filter: blur(12px);
                            border: 1px solid rgba(102, 126, 234, 0.3);
                            border-radius: 30px;
                            padding: 30px;
                            box-shadow: 
                                0 10px 30px rgba(0,0,0,0.4),
                                0 0 20px rgba(102, 126, 234, 0.2);
                            animation: slideIn 0.5s ease;
                        }

                        .module-container.active {
                            display: block;
                        }

                        @keyframes slideIn {
                            from { opacity: 0; transform: translateY(30px); }
                            to { opacity: 1; transform: translateY(0); }
                        }

                        @keyframes bounceIn {
                            0% { opacity: 0; transform: scale(0.3); }
                            50% { opacity: 1; transform: scale(1.05); }
                            70% { transform: scale(0.9); }
                            100% { transform: scale(1); }
                        }

                        .back-button {
                            background: rgba(10, 14, 39, 0.8);
                            backdrop-filter: blur(8px);
                            border: 2px solid #667eea;
                            color: #667eea;
                            padding: 15px 30px;
                            font-size: clamp(1rem, 2.5vw, 1.3rem);
                            font-weight: 600;
                            border-radius: 20px;
                            cursor: pointer;
                            margin-bottom: 20px;
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.3),
                                0 0 15px rgba(102, 126, 234, 0.3);
                            transition: all 0.2s ease;
                            display: inline-flex;
                            align-items: center;
                            gap: 10px;
                            font-family: 'Orbitron', sans-serif;
                        }

                        .back-button:hover {
                            transform: scale(1.05);
                            box-shadow: 
                                0 5px 20px rgba(0,0,0,0.4),
                                0 0 25px rgba(102, 126, 234, 0.6);
                            background: rgba(102, 126, 234, 0.2);
                        }

                        .back-button:active {
                            transform: scale(0.95);
                        }

                        .module-title {
                            font-size: clamp(1.8rem, 4vw, 2.5rem);
                            font-weight: 700;
                            color: #00f5d4;
                            text-align: center;
                            margin-bottom: 20px;
                            text-shadow: 
                                0 0 10px rgba(0, 245, 212, 0.8),
                                0 0 20px rgba(0, 245, 212, 0.5);
                        }

                        .quiz-container {
                            max-width: 800px;
                            margin: 0 auto;
                        }

                        .question-box {
                            background: rgba(10, 14, 39, 0.8);
                            backdrop-filter: blur(12px);
                            border: 2px solid #764ba2;
                            border-radius: 25px;
                            padding: 30px;
                            text-align: center;
                            margin-bottom: 30px;
                            box-shadow: 
                                0 8px 25px rgba(0,0,0,0.4),
                                0 0 30px rgba(118, 75, 162, 0.4);
                        }

                        .question-emoji {
                            font-size: clamp(5rem, 10vw, 8rem);
                            margin-bottom: 20px;
                            animation: pulse 2s ease-in-out infinite;
                        }

                        .question-visual {
                            display: flex;
                            flex-direction: column;
                            gap: clamp(12px, 2vw, 20px);
                            align-items: center;
                            margin-bottom: 20px;
                        }

                        .token-grid {
                            display: grid;
                            grid-template-columns: repeat(5, minmax(40px, 1fr));
                            gap: clamp(6px, 1vw, 12px);
                            justify-items: center;
                            max-width: 100%;
                            flex-wrap: wrap;
                        }

                        .token {
                            font-size: clamp(4rem, 8vw, 6rem);
                            position: relative;
                            line-height: 1;
                        }

                        .token.apple-strike {
                            position: relative;
                        }

                        .token.apple-strike::after {
                            content: '';
                            position: absolute;
                            left: 0;
                            right: 0;
                            top: 50%;
                            height: 8px;
                            background: linear-gradient(90deg, transparent, #00ff88, transparent);
                            transform: translateY(-50%) rotate(-8deg);
                            box-shadow: 0 0 12px rgba(0, 255, 136, 0.9);
                            border-radius: 4px;
                        }

                        .operation-symbol {
                            font-size: clamp(2rem, 5vw, 3rem);
                            font-weight: 900;
                            color: white;
                            margin: 10px 0;
                        }

                        @keyframes pulse {
                            0%, 100% { transform: scale(1); }
                            50% { transform: scale(1.1); }
                        }

                        .question-text {
                            font-size: clamp(1.5rem, 4vw, 2.5rem);
                            font-weight: 900;
                            color: white;
                            text-shadow: 3px 3px 0 rgba(0,0,0,0.2);
                        }

                        .options-grid {
                            display: grid;
                            grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
                            gap: 20px;
                            margin-top: 20px;
                        }

                        .option-button {
                            background: rgba(10, 14, 39, 0.6);
                            backdrop-filter: blur(10px);
                            border: 3px solid #667eea;
                            border-radius: 20px;
                            padding: 25px;
                            font-size: clamp(1.5rem, 3vw, 2rem);
                            font-weight: 700;
                            font-family: 'Orbitron', sans-serif;
                            cursor: pointer;
                            transition: all 0.3s ease;
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.3),
                                0 0 15px rgba(102, 126, 234, 0.3);
                            min-height: 100px;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            color: #ffffff;
                        }

                        .option-button:hover {
                            transform: scale(1.1);
                            border-color: #00f5d4;
                            box-shadow: 
                                0 5px 20px rgba(0,0,0,0.4),
                                0 0 30px rgba(0, 245, 212, 0.6);
                        }

                        .option-button.correct {
                            background: #4ecdc4;
                            color: white;
                            border-color: #4ecdc4;
                            animation: correctAnswer 0.5s ease;
                        }

                        .option-button.wrong {
                            background: #ff6b6b;
                            color: white;
                            border-color: #ff6b6b;
                            animation: shake 0.5s ease;
                        }

                        @keyframes correctAnswer {
                            0%, 100% { transform: scale(1); }
                            50% { transform: scale(1.2); }
                        }

                        @keyframes shake {
                            0%, 100% { transform: translateX(0); }
                            25% { transform: translateX(-10px); }
                            75% { transform: translateX(10px); }
                        }

                        .memory-grid {
                            display: grid;
                            grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
                            gap: clamp(10px, 2vw, 15px);
                            max-width: min(100%, 600px);
                            margin: 0 auto;
                            padding: 0 10px;
                        }

                        .memory-card {
                            aspect-ratio: 1;
                            min-height: 100px;
                            background: rgba(10, 14, 39, 0.7);
                            backdrop-filter: blur(10px);
                            border-radius: 20px;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            font-size: clamp(2rem, 4vw, 3rem);
                            cursor: pointer;
                            transition: all 0.3s ease;
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.3),
                                0 0 15px rgba(247, 37, 133, 0.3);
                            border: 3px solid #f72585;
                            position: relative;
                            touch-action: manipulation;
                            -webkit-backface-visibility: hidden;
                            backface-visibility: hidden;
                            -webkit-tap-highlight-color: transparent;
                            user-select: none;
                            -webkit-user-select: none;
                        }

                        .memory-card.flipped {
                            background: rgba(10, 14, 39, 0.9);
                            border-color: #00f5d4;
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.4),
                                0 0 25px rgba(0, 245, 212, 0.5);
                        }

                        .memory-card.matched {
                            background: rgba(0, 245, 212, 0.2);
                            border-color: #00f5d4;
                            pointer-events: none;
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.3),
                                0 0 30px rgba(0, 245, 212, 0.6);
                        }

                        .memory-card:hover {
                            transform: scale(1.05);
                            box-shadow: 
                                0 5px 20px rgba(0,0,0,0.4),
                                0 0 25px rgba(247, 37, 133, 0.5);
                        }

                        .card-back {
                            font-size: clamp(2rem, 5vw, 3rem);
                        }

                        .card-front {
                            display: none;
                            flex-direction: column;
                            align-items: center;
                            gap: 10px;
                        }

                        .memory-card.flipped .card-back {
                            display: none;
                        }

                        .memory-card.flipped .card-front {
                            display: flex;
                        }

                        .progress-section {
                            margin-top: 30px;
                            padding: 20px;
                            background: rgba(10, 14, 39, 0.5);
                            backdrop-filter: blur(10px);
                            border: 1px solid rgba(102, 126, 234, 0.3);
                            border-radius: 20px;
                            box-shadow: 0 0 15px rgba(102, 126, 234, 0.2);
                        }

                        .progress-title {
                            font-size: clamp(1.2rem, 3vw, 1.5rem);
                            font-weight: 600;
                            color: #00f5d4;
                            margin-bottom: 15px;
                            text-shadow: 0 0 10px rgba(0, 245, 212, 0.6);
                        }

                        .progress-items {
                            display: flex;
                            flex-wrap: wrap;
                            gap: 10px;
                        }

                        .progress-badge {
                            padding: 8px 15px;
                            background: rgba(0, 245, 212, 0.2);
                            border: 1px solid #00f5d4;
                            color: #00f5d4;
                            border-radius: 15px;
                            font-size: clamp(0.9rem, 2vw, 1.1rem);
                            font-weight: 600;
                            box-shadow: 0 0 10px rgba(0, 245, 212, 0.3);
                        }

                        .confetti {
                            position: fixed;
                            width: 10px;
                            height: 10px;
                            background: #f0f;
                            position: absolute;
                            animation: confetti-fall 3s linear forwards;
                            z-index: 9999;
                        }

                        @keyframes confetti-fall {
                            to {
                                transform: translateY(100vh) rotate(360deg);
                                opacity: 0;
                            }
                        }

                        .success-overlay {
                            position: fixed;
                            top: 0;
                            left: 0;
                            width: 100%;
                            height: 100%;
                            background: rgba(0,0,0,0.7);
                            display: none;
                            justify-content: center;
                            align-items: center;
                            z-index: 10000;
                        }

                        .success-overlay.active {
                            display: flex;
                        }

                        .success-message {
                            background: rgba(10, 14, 39, 0.95);
                            backdrop-filter: blur(15px);
                            border: 2px solid #00f5d4;
                            padding: 40px;
                            border-radius: 30px;
                            box-shadow: 
                                0 20px 60px rgba(0,0,0,0.5),
                                0 0 40px rgba(0, 245, 212, 0.4);
                            text-align: center;
                            animation: popIn 0.5s ease forwards;
                            max-width: 90%;
                        }

                        @keyframes popIn {
                            0% { transform: scale(0); }
                            50% { transform: scale(1.1); }
                            100% { transform: scale(1); }
                        }

                        .success-icon {
                            font-size: clamp(4rem, 8vw, 6rem);
                            margin-bottom: 20px;
                        }

                        .success-text {
                            font-size: clamp(1.5rem, 4vw, 2.5rem);
                            font-weight: 700;
                            color: #00f5d4;
                            margin-bottom: 20px;
                            text-shadow: 0 0 15px rgba(0, 245, 212, 0.6);
                        }

                        .success-button {
                            background: rgba(0, 245, 212, 0.2);
                            border: 2px solid #00f5d4;
                            color: #00f5d4;
                            padding: 15px 40px;
                            font-size: clamp(1.2rem, 3vw, 1.5rem);
                            font-weight: 600;
                            font-family: 'Orbitron', sans-serif;
                            border-radius: 20px;
                            cursor: pointer;
                            box-shadow: 0 0 20px rgba(0, 245, 212, 0.4);
                            transition: all 0.2s ease;
                        }

                        .success-button:hover {
                            transform: scale(1.05);
                            background: rgba(0, 245, 212, 0.3);
                            box-shadow: 0 0 30px rgba(0, 245, 212, 0.6);
                        }

                        @media (max-width: 768px) {
                            .token-grid {
                                grid-template-columns: repeat(4, minmax(35px, 1fr));
                            }
                        }

                        .shop-grid {
                            display: grid;
                            grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
                            gap: 20px;
                            max-width: 900px;
                            margin: 0 auto;
                        }

                        .shop-item {
                            background: rgba(10, 14, 39, 0.6);
                            backdrop-filter: blur(10px);
                            border-radius: 20px;
                            padding: 20px;
                            text-align: center;
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.3),
                                0 0 15px rgba(102, 126, 234, 0.2);
                            border: 3px solid #667eea;
                            transition: all 0.3s ease;
                        }

                        .shop-item:hover {
                            transform: scale(1.05);
                            box-shadow: 
                                0 5px 20px rgba(0,0,0,0.4),
                                0 0 25px rgba(102, 126, 234, 0.4);
                        }

                        .shop-item.owned {
                            border-color: #00f5d4;
                            background: rgba(0, 245, 212, 0.1);
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.3),
                                0 0 20px rgba(0, 245, 212, 0.3);
                        }

                        .shop-icon {
                            font-size: clamp(3rem, 6vw, 4rem);
                            margin-bottom: 10px;
                        }

                        .shop-name {
                            font-size: clamp(1.2rem, 2.5vw, 1.5rem);
                            font-weight: 600;
                            color: #ffffff;
                            margin-bottom: 10px;
                        }

                        .shop-price {
                            font-size: clamp(1rem, 2vw, 1.2rem);
                            color: #ffd166;
                            font-weight: 600;
                            margin-bottom: 15px;
                            text-shadow: 0 0 10px rgba(255, 209, 102, 0.5);
                        }

                        .shop-button {
                            background: rgba(0, 245, 212, 0.2);
                            border: 2px solid #00f5d4;
                            color: #00f5d4;
                            padding: 10px 20px;
                            border-radius: 15px;
                            font-size: clamp(1rem, 2vw, 1.2rem);
                            font-weight: 600;
                            font-family: 'Orbitron', sans-serif;
                            cursor: pointer;
                            transition: all 0.2s;
                            box-shadow: 0 0 10px rgba(0, 245, 212, 0.3);
                        }

                        .shop-button:hover {
                            transform: scale(1.1);
                            background: rgba(0, 245, 212, 0.3);
                            box-shadow: 0 0 20px rgba(0, 245, 212, 0.5);
                        }

                        .shop-button:disabled {
                            background: rgba(100, 100, 100, 0.2);
                            border-color: #666;
                            color: #666;
                            cursor: not-allowed;
                            box-shadow: none;
                        }

                        .chat-container {
                            max-width: 700px;
                            margin: 0 auto;
                        }

                        .chat-progress {
                            text-align: center;
                            font-size: clamp(1rem, 2.5vw, 1.3rem);
                            color: #00f5d4;
                            font-weight: 600;
                            margin-bottom: 20px;
                            text-shadow: 0 0 10px rgba(0, 245, 212, 0.6);
                        }

                        .chat-messages {
                            background: rgba(10, 14, 39, 0.5);
                            backdrop-filter: blur(10px);
                            border: 1px solid rgba(118, 75, 162, 0.4);
                            border-radius: 20px;
                            padding: 20px;
                            height: 400px;
                            overflow-y: auto;
                            margin-bottom: 20px;
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.3),
                                0 0 20px rgba(118, 75, 162, 0.2);
                        }

                        .chat-messages::-webkit-scrollbar {
                            width: 8px;
                        }

                        .chat-messages::-webkit-scrollbar-track {
                            background: rgba(10, 14, 39, 0.5);
                            border-radius: 10px;
                        }

                        .chat-messages::-webkit-scrollbar-thumb {
                            background: #764ba2;
                            border-radius: 10px;
                            box-shadow: 0 0 10px rgba(118, 75, 162, 0.6);
                        }

                        .chat-bubble {
                            margin-bottom: 15px;
                            padding: 15px 20px;
                            border-radius: 20px;
                            max-width: 80%;
                            word-wrap: break-word;
                            animation: bubbleIn 0.3s ease;
                            font-size: clamp(1rem, 2.5vw, 1.2rem);
                            line-height: 1.5;
                        }

                        @keyframes bubbleIn {
                            from { opacity: 0; transform: translateY(10px); }
                            to { opacity: 1; transform: translateY(0); }
                        }

                        .chat-bubble.bot {
                            background: rgba(118, 75, 162, 0.3);
                            border: 2px solid #764ba2;
                            box-shadow: 0 0 15px rgba(118, 75, 162, 0.4);
                            margin-right: auto;
                            color: #ffffff;
                        }

                        .chat-bubble.user {
                            background: rgba(0, 245, 212, 0.3);
                            border: 2px solid #00f5d4;
                            box-shadow: 0 0 15px rgba(0, 245, 212, 0.4);
                            margin-left: auto;
                            text-align: right;
                            color: #ffffff;
                        }

                        .chat-bubble.correct {
                            background: rgba(0, 245, 212, 0.4);
                            border: 2px solid #00f5d4;
                            box-shadow: 0 0 20px rgba(0, 245, 212, 0.6);
                            animation: pulse 0.5s ease;
                        }

                        .chat-bubble.incorrect {
                            background: rgba(247, 37, 133, 0.3);
                            border: 2px solid #f72585;
                            box-shadow: 0 0 15px rgba(247, 37, 133, 0.4);
                        }

                        @keyframes pulse {
                            0%, 100% { transform: scale(1); }
                            50% { transform: scale(1.05); }
                        }

                        .chat-input-area {
                            display: flex;
                            gap: 10px;
                            align-items: center;
                        }

                        .chat-input {
                            flex: 1;
                            background: rgba(10, 14, 39, 0.8);
                            backdrop-filter: blur(8px);
                            border: 2px solid #764ba2;
                            border-radius: 20px;
                            padding: 15px 20px;
                            font-size: clamp(1rem, 2.5vw, 1.2rem);
                            font-family: 'Orbitron', sans-serif;
                            color: #ffffff;
                            box-shadow: 
                                0 5px 15px rgba(0,0,0,0.3),
                                0 0 15px rgba(118, 75, 162, 0.3);
                            transition: all 0.3s ease;
                        }

                        .chat-input:focus {
                            outline: none;
                            border-color: #00f5d4;
                            box-shadow: 
                                0 5px 20px rgba(0,0,0,0.4),
                                0 0 25px rgba(0, 245, 212, 0.5);
                        }

                        .chat-input::placeholder {
                            color: rgba(255, 255, 255, 0.5);
                        }

                        .chat-send-button {
                            background: rgba(118, 75, 162, 0.3);
                            border: 2px solid #764ba2;
                            color: #764ba2;
                            padding: 15px 30px;
                            border-radius: 20px;
                            font-size: clamp(1rem, 2.5vw, 1.2rem);
                            font-weight: 600;
                            font-family: 'Orbitron', sans-serif;
                            cursor: pointer;
                            transition: all 0.3s ease;
                            box-shadow: 0 0 15px rgba(118, 75, 162, 0.3);
                            display: flex;
                            align-items: center;
                            gap: 8px;
                        }

                        .chat-send-button:hover:not(:disabled) {
                            background: rgba(118, 75, 162, 0.5);
                            box-shadow: 0 0 25px rgba(118, 75, 162, 0.6);
                            transform: scale(1.05);
                        }

                        .chat-send-button:disabled {
                            opacity: 0.5;
                            cursor: not-allowed;
                        }

                        .floating-chat-button {
                            position: fixed;
                            bottom: 25px;
                            right: 25px;
                            width: 70px;
                            height: 70px;
                            background: rgba(118, 75, 162, 0.9);
                            backdrop-filter: blur(10px);
                            border: 3px solid #764ba2;
                            border-radius: 50%;
                            font-size: 2.5rem;
                            cursor: pointer;
                            z-index: 10000;
                            box-shadow: 
                                0 8px 25px rgba(0,0,0,0.5),
                                0 0 30px rgba(118, 75, 162, 0.6);
                            transition: all 0.3s ease;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            animation: pulseGlow 3s ease-in-out infinite;
                        }

                        @keyframes pulseGlow {
                            0%, 100% { 
                                box-shadow: 
                                    0 8px 25px rgba(0,0,0,0.5),
                                    0 0 30px rgba(118, 75, 162, 0.6);
                            }
                            50% { 
                                box-shadow: 
                                    0 8px 30px rgba(0,0,0,0.6),
                                    0 0 50px rgba(118, 75, 162, 0.9);
                            }
                        }

                        .floating-chat-button:hover {
                            transform: scale(1.1);
                            box-shadow: 
                                0 10px 35px rgba(0,0,0,0.6),
                                0 0 50px rgba(118, 75, 162, 0.9);
                        }

                        .floating-chat-button:active {
                            transform: scale(0.95);
                        }

                        .chat-overlay {
                            position: fixed;
                            top: 0;
                            left: 0;
                            width: 100%;
                            height: 100%;
                            background: rgba(0, 0, 0, 0.7);
                            backdrop-filter: blur(5px);
                            z-index: 9999;
                            display: none;
                            align-items: center;
                            justify-content: center;
                            animation: fadeIn 0.3s ease;
                        }

                        @keyframes fadeIn {
                            from { opacity: 0; }
                            to { opacity: 1; }
                        }

                        .chat-overlay.active {
                            display: flex;
                        }

                        .chat-overlay-container {
                            background: rgba(10, 14, 39, 0.95);
                            backdrop-filter: blur(20px);
                            border: 2px solid #764ba2;
                            border-radius: 30px;
                            width: 90%;
                            max-width: 700px;
                            max-height: 85vh;
                            box-shadow: 
                                0 20px 60px rgba(0,0,0,0.6),
                                0 0 50px rgba(118, 75, 162, 0.5);
                            display: flex;
                            flex-direction: column;
                            animation: slideUp 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
                        }

                        @keyframes slideUp {
                            from { 
                                opacity: 0;
                                transform: translateY(50px) scale(0.9);
                            }
                            to { 
                                opacity: 1;
                                transform: translateY(0) scale(1);
                            }
                        }

                        .chat-overlay-header {
                            background: rgba(118, 75, 162, 0.3);
                            border-bottom: 2px solid #764ba2;
                            padding: 20px 25px;
                            display: flex;
                            justify-content: space-between;
                            align-items: center;
                            border-radius: 28px 28px 0 0;
                        }

                        .chat-overlay-title {
                            font-size: clamp(1.3rem, 3vw, 1.8rem);
                            font-weight: 700;
                            color: #00f5d4;
                            text-shadow: 0 0 15px rgba(0, 245, 212, 0.6);
                        }

                        .chat-close-button {
                            background: rgba(247, 37, 133, 0.3);
                            border: 2px solid #f72585;
                            color: #f72585;
                            width: 40px;
                            height: 40px;
                            border-radius: 50%;
                            cursor: pointer;
                            font-size: 1.5rem;
                            display: flex;
                            align-items: center;
                            justify-content: center;
                            transition: all 0.2s ease;
                            box-shadow: 0 0 15px rgba(247, 37, 133, 0.4);
                        }

                        .chat-close-button:hover {
                            background: rgba(247, 37, 133, 0.5);
                            box-shadow: 0 0 25px rgba(247, 37, 133, 0.7);
                            transform: scale(1.1);
                        }

                        .chat-overlay .chat-container {
                            padding: 25px;
                            flex: 1;
                            overflow: hidden;
                            display: flex;
                            flex-direction: column;
                        }

                        .chat-overlay .chat-messages {
                            height: 400px;
                        }

                        @media (max-width: 768px) {
                            .chat-overlay {
                                padding: 0;
                            }

                            .chat-overlay-container {
                                width: 100%;
                                max-width: 100%;
                                height: 100vh;
                                max-height: 100vh;
                                border-radius: 0;
                                border: none;
                            }

                            .chat-overlay-header {
                                border-radius: 0;
                                padding: 15px 20px;
                            }

                            .chat-overlay .chat-container {
                                padding: 15px;
                                height: 100%;
                            }

                            .chat-overlay .chat-messages {
                                height: calc(100vh - 220px);
                            }

                            .floating-chat-button {
                                width: 60px;
                                height: 60px;
                                font-size: 2rem;
                                bottom: 20px;
                                right: 20px;
                            }
                        }

                        @media (max-width: 480px) {
                            .chat-overlay-title {
                                font-size: 1.2rem;
                            }

                            .chat-bubble {
                                font-size: 1rem;
                                padding: 12px 16px;
                                max-width: 85%;
                            }

                            .chat-input {
                                font-size: 1rem;
                                padding: 12px 15px;
                            }

                            .chat-send-button {
                                padding: 12px 20px;
                                font-size: 1rem;
                            }
                        }

                        .chat-next-button-container {
                            display: flex;
                            justify-content: center;
                            margin: 20px 0;
                            animation: fadeIn 0.5s ease;
                        }

                        .chat-next-button {
                            background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
                            border: 2px solid #764ba2;
                            color: #fff;
                            padding: 15px 35px;
                            border-radius: 25px;
                            font-size: 1.3rem;
                            font-weight: 700;
                            cursor: pointer;
                            transition: all 0.3s ease;
                            box-shadow: 
                                0 5px 20px rgba(0,0,0,0.3),
                                0 0 30px rgba(118, 75, 162, 0.5);
                            display: flex;
                            align-items: center;
                            gap: 10px;
                        }

                        .chat-next-button:hover {
                            transform: scale(1.05);
                            box-shadow: 
                                0 8px 30px rgba(0,0,0,0.4),
                                0 0 50px rgba(118, 75, 162, 0.8);
                        }

                        .chat-next-button:active {
                            transform: scale(0.95);
                        }

                        .color-display {
                            width: clamp(150px, 40vw, 250px);
                            height: clamp(150px, 40vw, 250px);
                            border-radius: 20px;
                            margin: 30px auto;
                            box-shadow: 0 10px 30px rgba(0,0,0,0.3);
                        }

                        .shape-display {
                            font-size: clamp(6rem, 15vw, 8rem);
                            margin: 30px auto;
                        }

                        @media (max-width: 768px) {
                            .option-button {
                                min-height: 60px;
                                padding: 12px 20px;
                                font-size: clamp(1rem, 3vw, 1.2rem);
                            }

                            .options-grid {
                                gap: clamp(0.75rem, 2vw, 1rem);
                            }

                            .question-text {
                                font-size: clamp(1.2rem, 4vw, 1.5rem);
                            }
                        }

                        @media (max-width: 480px) {
                            .options-grid {
                                grid-template-columns: 1fr 1fr;
                            }

                            .option-button {
                                min-height: 48px;
                                padding: 10px 15px;
                            }

                            .token-grid {
                                grid-template-columns: repeat(3, minmax(30px, 1fr));
                                gap: clamp(4px, 1vw, 8px);
                            }

                            .token {
                                font-size: clamp(2rem, 5vw, 2.5rem);
                            }

                            .shop-grid {
                                grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
                            }

                            .color-display {
                                width: clamp(120px, 60vw, 200px);
                                height: clamp(120px, 60vw, 200px);
                            }

                            .shape-display {
                                font-size: clamp(5rem, 20vw, 7rem);
                            }
                        }

                        @media (hover: none) and (pointer: coarse) {
                            .option-button {
                                min-height: 48px;
                            }
                        }

                        @keyframes stickerPop {
                            0% {
                                transform: scale(0.5) rotate(-10deg);
                                opacity: 0;
                            }
                            50% {
                                transform: scale(1.1) rotate(5deg);
                            }
                            100% {
                                transform: scale(1) rotate(0deg);
                                opacity: 1;
                            }
                        }

                        .shop-item.owned:hover {
                            transform: scale(1.05) translateY(-5px);
                            box-shadow: 0 10px 30px rgba(102,126,234,0.4);
                        }

                        .shop-item.locked {
                            cursor: not-allowed;
                        }

                        /* LeREAD Module Styles */
                        .leread-letter-btn {
                            width: 45px;
                            height: 45px;
                            border: 2px solid #00d9ff;
                            background: rgba(0, 217, 255, 0.1);
                            color: #00d9ff;
                            cursor: pointer;
                            font-weight: bold;
                            border-radius: 6px;
                            transition: all 0.3s;
                            font-size: 1.1rem;
                        }

                        .leread-letter-btn:hover {
                            background: rgba(0, 217, 255, 0.3);
                            box-shadow: 0 0 15px #00d9ff;
                            transform: scale(1.1);
                        }

                        .leread-letter-btn.learned {
                            background: linear-gradient(135deg, rgba(0, 217, 255, 0.5), rgba(255, 0, 110, 0.5));
                            border-color: #ff006e;
                            color: #ff006e;
                        }

                        .leread-syllable-btn {
                            padding: 12px;
                            background: linear-gradient(135deg, rgba(0, 217, 255, 0.1), rgba(255, 0, 110, 0.1));
                            border: 2px solid #00d9ff;
                            color: #00d9ff;
                            cursor: pointer;
                            transition: all 0.3s;
                            font-weight: bold;
                            border-radius: 6px;
                            font-size: 1rem;
                        }

                        .leread-syllable-btn:hover {
                            background: linear-gradient(135deg, rgba(0, 217, 255, 0.3), rgba(255, 0, 110, 0.3));
                            box-shadow: 0 0 15px #00d9ff;
                        }

                        .leread-syllable-btn.review {
                            border-color: #ffaa00;
                            color: #ffaa00;
                        }

                        .leread-word-card, .leread-sentence-card {
                            background: rgba(0, 217, 255, 0.1);
                            border: 2px solid #00d9ff;
                            padding: 12px;
                            border-radius: 8px;
                            cursor: pointer;
                            transition: all 0.3s;
                            text-align: center;
                            font-family: 'Orbitron', sans-serif;
                            font-weight: bold;
                            color: #00f5d4;
                            outline: none;
                            appearance: none;
                            background-color: rgba(0, 217, 255, 0.1);
                        }

                        .leread-word-card:hover, .leread-sentence-card:hover {
                            background: rgba(0, 217, 255, 0.3);
                            box-shadow: 0 0 15px #00d9ff;
                            transform: scale(1.05);
                        }

                        .leread-word-card:focus, .leread-sentence-card:focus {
                            outline: 3px solid #ff006e;
                            box-shadow: 0 0 20px #ff006e;
                        }

                        .leread-word-card:active, .leread-sentence-card:active {
                            transform: scale(0.98);
                        }

                        .leread-word-card.review, .leread-sentence-card.review {
                            border-color: #ffaa00;
                            background: rgba(255, 170, 0, 0.1);
                        }

                        .leread-light-mode {
                            background: linear-gradient(135deg, #f5f5f5 0%, #ffffff 50%, #f0f0f0 100%) !important;
                            color: #000000 !important;
                        }
