        :root {
            /* Paleta "Pizzería Divertida" */
            --c-yellow-cheese: #FFD700;
            --c-red-sauce: #E63946;
            --c-brown-crust: #A5682A;
            --c-blue-sky: #A8DADC;
            --c-cream-dough: #F1FAEE;
            --c-green-bonus: #52B788;
            
            /* Grises Amigables */
            --c-gray-light: #F3F4F6;
            --c-gray-medium: #6B7280;
            --c-gray-dark: #374151;

            /* Tipografía */
            --font-display: 'Poppins', sans-serif;
            --font-body: 'Nunito', sans-serif;

            /* Spacing */
            --space-1: 0.25rem; --space-2: 0.5rem; --space-4: 1rem; --space-6: 1.5rem; --space-8: 2rem;

            /* Sombras 3D */
            --shadow-pressable-up: 
                0px 1px 2px rgba(0,0,0,0.1), 
                0px 4px 8px rgba(0,0,0,0.1),
                inset 0px -4px 0px rgba(0,0,0,0.2);
            --shadow-pressable-down:
                0px 1px 2px rgba(0,0,0,0.2),
                inset 0px 2px 0px rgba(0,0,0,0.2);

            /* Animaciones Juguetonas */
            --transition-bounce: 300ms cubic-bezier(0.175, 0.885, 0.32, 1.275);
        }

        body {
            font-family: var(--font-body);
            text-align: center;
            background-color: var(--c-blue-sky);
            background-image:
                radial-gradient(circle at 100% 0%, var(--c-cream-dough) 15%, transparent 15%),
                radial-gradient(circle at 0% 100%, var(--c-cream-dough) 15%, transparent 15%);
            color: var(--c-gray-dark);
            margin: 0;
            padding: var(--space-6);
        }
        h1 {
            font-family: var(--font-display);
            font-size: clamp(2.5rem, 6vw, 4rem);
            font-weight: 800;
            color: white;
            text-shadow: 2px 2px 0 var(--c-brown-crust), 4px 4px 0 var(--c-red-sauce);
            margin-bottom: var(--space-4);
            transform: rotate(-2deg);
        }
        p {
            max-width: 65ch;
            margin: 0 auto var(--space-6);
            color: var(--c-gray-dark);
            font-size: 1.1rem;
            font-weight: 600;
        }
        #pizzaContainer {
            display: flex;
            justify-content: center;
            flex-wrap: wrap;
            gap: var(--space-4);
            margin: var(--space-6) auto;
            background: var(--c-cream-dough);
            border: 4px solid var(--c-brown-crust);
            border-radius: 24px 24px 48px 24px;
            padding: var(--space-8);
            box-shadow: 0 8px 0 var(--c-brown-crust), 0 12px 24px rgba(0,0,0,0.2);
            transform: rotate(-1deg);
            max-width: 900px;
        }
        svg {
            margin: var(--space-2);
            filter: drop-shadow(0 4px 8px rgba(0,0,0,0.15));
            transition: transform var(--transition-bounce);
        }
        svg:hover {
            transform: scale(1.05) rotate(3deg);
        }
        button {
            font-family: var(--font-display);
            font-weight: 700;
            background: var(--c-yellow-cheese);
            color: var(--c-brown-crust);
            border: none;
            border-radius: 12px;
            padding: var(--space-2) var(--space-4);
            margin: var(--space-2);
            cursor: pointer;
            font-size: 1rem;
            transition: all var(--transition-bounce);
            box-shadow: var(--shadow-pressable-up);
            text-shadow: 1px 1px 0px rgba(255,255,255,0.5);
        }
        button:hover {
            transform: translateY(-2px) scale(1.05);
            filter: brightness(1.05);
        }
        button:active {
            transform: translateY(2px) scale(0.98);
            box-shadow: var(--shadow-pressable-down);
        }
        .check-answer-btn {
            background: var(--c-green-bonus);
            color: white;
            text-shadow: 1px 1px 0px rgba(0,0,0,0.2);
        }
        input {
            font-family: var(--font-body);
            font-weight: 600;
            padding: var(--space-2) var(--space-4);
            font-size: 1.1rem;
            margin: var(--space-2);
            border: 3px solid var(--c-gray-dark);
            border-radius: 12px;
            box-shadow: inset 0 2px 4px rgba(0,0,0,0.1);
            transition: all var(--transition-bounce);
        }
        input:focus {
            outline: none;
            border-color: var(--c-red-sauce);
            box-shadow: 0 0 0 4px var(--c-red-sauce);
        }
        #question {
            font-size: 1.25rem;
            margin: var(--space-6) 0;
            color: var(--c-gray-dark);
            font-weight: 700;
            background: var(--c-cream-dough);
            padding: var(--space-2) var(--space-4);
            border-radius: 12px;
            display: inline-block;
            border: 2px dashed var(--c-brown-crust);
        }
        #feedback {
            font-size: 1.25rem;
            font-weight: 700;
            margin: var(--space-4);
        }
        .correct {
            color: var(--c-green-bonus);
            text-shadow: 1px 1px 0px rgba(255,255,255,0.5);
        }
        .incorrect {
            color: var(--c-red-sauce);
            text-shadow: 1px 1px 0px rgba(255,255,255,0.5);
        }
        
        /* Estilos para el sistema de jugabilidad */
        #gameStats {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
            gap: var(--space-4);
            margin: var(--space-6) auto;
            max-width: 800px;
            background: white;
            border: 2px dashed var(--c-blue-sky);
            border-radius: 16px;
            padding: var(--space-4);
            box-shadow: var(--shadow-pressable-up);
            transform: rotate(1deg);
        }
        
        .stat-item {
            text-align: center;
        }
        
        .stat-value {
            font-family: var(--font-display);
            font-size: 1.25rem;
            font-weight: 700;
            color: var(--c-red-sauce);
        }
        
        .stat-label {
            font-size: 0.75rem;
            color: var(--c-gray-medium);
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.05em;
        }
        
        #progressContainer {
            margin: var(--space-4) auto;
            max-width: 600px;
        }
        
        .progress-bar {
            height: 16px;
            background: var(--c-gray-light);
            border-radius: 8px;
            border: 2px solid var(--c-gray-dark);
            padding: 2px;
        }
        
        .progress-fill {
            height: 100%;
            background: var(--c-green-bonus);
            border-radius: 4px;
        }
        
        .progress-text {
            text-align: center;
            font-size: 0.75rem;
            color: var(--gray-500);
            margin-top: var(--space-1);
        }
        
        .hint-system {
            margin: 15px auto;
            max-width: 600px;
            text-align: center;
        }
        
        .hint-button {
            background: var(--c-blue-sky);
            color: var(--c-gray-dark);
        }
        
        .hint-button:disabled {
            background: var(--c-gray-medium);
            cursor: not-allowed;
            transform: none;
            box-shadow: var(--shadow-pressable-down);
        }
        
        .hint-display {
            background: var(--c-cream-dough);
            border: 2px dashed var(--c-brown-crust);
            border-radius: 12px;
            padding: var(--space-2) var(--space-4);
            margin: var(--space-4) 0;
            display: none;
        }
        
        .temporary-message {
            position: fixed;
            top: 20px;
            right: 20px;
            background: var(--c-green-bonus);
            color: white;
            padding: var(--space-2) var(--space-4);
            border-radius: 12px;
            border: 3px solid var(--c-gray-dark);
            box-shadow: 4px 4px 0 var(--c-gray-dark);
            font-size: 1rem;
            font-weight: 600;
            z-index: 1000;
            animation: slideIn 0.3s ease;
        }
        
        .temporary-message.level-up {
            background: #ffc107;
            color: var(--c-gray-dark);
        }
        
        @keyframes slideIn {
            from { transform: translateX(100%); opacity: 0; }
            to { transform: translateX(0); opacity: 1; }
        }
        
        .game-controls {
            text-align: center;
            margin: var(--space-6) 0;
        }
        
        .reset-button {
            background: var(--c-red-sauce);
            color: white;
        }
        
        .language-toggle-container {
            position: absolute;
            top: 15px;
            right: 15px;
        }

        .language-toggle {
            background-color: var(--c-blue-sky);
            color: var(--c-gray-dark);
            border: 2px solid var(--c-gray-dark);
            border-radius: 8px;
            padding: 5px 10px;
            font-weight: bold;
            cursor: pointer;
        }

        /* Modal de estadísticas */
        .modal {
            position: fixed;
            z-index: 1000;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background-color: rgba(0,0,0,0.5);
            backdrop-filter: blur(5px);
        }
        
        .modal-content {
            background-color: var(--c-cream-dough);
            margin: 10% auto;
            padding: var(--space-8);
            border-radius: 20px;
            border: 4px solid var(--c-brown-crust);
            width: 90%;
            max-width: 500px;
            position: relative;
            box-shadow: 0 12px 24px rgba(0,0,0,0.2);
        }
        
        .close {
            color: var(--c-gray-medium);
            float: right;
            font-size: 28px;
            font-weight: bold;
            cursor: pointer;
            transition: color var(--transition-bounce);
        }
        
        .close:hover {
            color: var(--c-gray-dark);
        }
        
        .stats-grid {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: var(--space-4);
            margin-top: var(--space-4);
        }
        
        .stat-card {
            background: var(--c-gray-light);
            padding: var(--space-4);
            border-radius: 12px;
            text-align: center;
            border: 1px solid var(--c-gray-light);
        }
        
        .stat-card h3 {
            margin: 0 0 var(--space-2) 0;
            color: var(--c-red-sauce);
            font-family: var(--font-display);
            font-weight: 700;
        }
        
        .stat-card p {
            margin: var(--space-1) 0;
            font-size: 0.875rem;
            color: var(--c-gray-medium);
        }
        
        /* Estilos de la Pizza SVG */
        .pizza-base {
            fill: url(#cheeseGradient);
            stroke: var(--c-brown-crust);
            stroke-width: 8px;
            filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.3));
        }

        .pizza-slice.filled {
            fill: url(#tomatoGradient);
            stroke: var(--c-brown-crust);
            stroke-width: 2px;
            filter: drop-shadow(1px 1px 2px rgba(0,0,0,0.2));
        }

        .pizza-slice.empty {
            fill: url(#cheeseGradient);
            stroke: var(--c-brown-crust);
            stroke-width: 2px;
            stroke-dasharray: 6 3;
            opacity: 0.7;
        }

        .pepperoni {
            fill: url(#pepperoniGradient);
            stroke: #8B0000;
            stroke-width: 1px;
            filter: drop-shadow(1px 1px 1px rgba(0,0,0,0.4));
        }

        .cheese-bubble {
            fill: #FFF8DC;
            opacity: 0.8;
        }

        .herb {
            fill: #228B22;
            opacity: 0.7;
        } 