body {
            font-family: 'Roboto', sans-serif;
            margin: 0;
            min-height: 100vh;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            background: linear-gradient(135deg, #ffffff, #cfcfcf91);
            color: #333;
            overflow-x: hidden; /* Evita rolagem lateral em telas pequenas */
            padding: 20px;      /* Garante margem em celulares */
            box-sizing: border-box;
        }

        #status-text {
            margin-top: 20px;
            font-size: 1.2rem;
            font-weight: 500;
            color: #555;
            min-height: 2rem;
            text-align: center;
            padding: 0 20px;
            z-index: 10; /* Garante que fique sobre elementos se houver sobreposição */
        }

        #start-btn {
            padding: 12px 24px;
            font-size: 1rem;
            background-color: #63B3ED;
            color: white;
            border: none;
            border-radius: 30px;
            cursor: pointer;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            transition: transform 0.2s, background-color 0.2s;
            margin-top: 20px;
            z-index: 10;
        }

        #start-btn:hover {
            background-color: #4299e1;
            transform: translateY(-2px);
        }

        .manual-controls {
            display: none;
            gap: 15px;
            margin-top: 20px;
            flex-wrap: wrap;
            justify-content: center;
            z-index: 10;
        }
        
        .choice-btn {
            padding: 10px 20px;
            border-radius: 8px;
            border: 2px solid #333;
            background: white;
            cursor: pointer;
            font-weight: bold;
            min-width: 80px; /* Tamanho mínimo para toque em celular */
        }
        .choice-btn.yes { border-color: #4CAF50; color: #4CAF50; }
        .choice-btn.no { border-color: #F44336; color: #F44336; }

        /* ==========================================
           ESTILOS DO ROBX & ANIMAÇÃO DE LÍQUIDO
           ==========================================
        */
        
        /* --- NOVA ANIMAÇÃO: CICLO DO LÍQUIDO (ENCHER/ESVAZIAR) --- */
        @keyframes liquidCycle {
            0% { height: 5%; }   /* Começa quase vazio */
            50% { height: 95%; }  /* Enche até quase o topo */
            100% { height: 5%; } /* Esvazia de novo */
        }

        .robX-container {
            position: relative;
            width: 120px;
            height: 100px;
            z-index: 1000;
            transform-origin: center center;
            
            /* O margin-bottom compensa o espaço visual ocupado pelo scale */
            margin-bottom: 60px; 
            
            /* --- RESPONSIVIDADE DO ROBX (MEDIA QUERIES APLICADAS AQUI EMBAIXO) --- */
            transition: transform 0.3s ease;
        }

        .robX-head {
            width: 100%;
            height: 100%;
            background-color: #E0E0E0;
            border: 4px solid #000000;
            border-radius: 60px 60px 20px 20px;
            box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
            position: relative;
            overflow: hidden; 
            box-sizing: border-box;
        }

        /* Ondas de Energia */
        .robX-head::before,
        .robX-head::after {
            content: "";
            position: absolute;
            bottom: 0;
            left: 0;
            width: 200%;
            
            /* Removemos o var(--progress-height) e deixamos a animação controlar */
            height: 50%; 
            
            background-color: #63B3ED;
            border-radius: 40% 45% 0 0; 
        }

        .robX-head::before {
            z-index: 1;
            opacity: 0.5;
            /* AQUI ESTÁ O SEGREDO DO LOOP:
               Combinamos duas animações: 
               1. 'wave' (movimento lateral) 
               2. 'liquidCycle' (encher/esvaziar)
            */
            animation: wave 10s linear infinite, liquidCycle 12s ease-in-out infinite;
        }

        .robX-head::after {
            z-index: 2;
            opacity: 1;
            bottom: -2px; 
            border-radius: 45% 40% 0 0;
            /* A segunda onda tem tempos levemente diferentes para dar efeito orgânico */
            animation: wave 7s linear infinite, liquidCycle 12s ease-in-out infinite;
            animation-delay: 0s, 0.5s; /* Pequeno atraso na subida da segunda onda */
        }

        /* Olhos */
        .robX-eyes-container {
            display: flex;
            justify-content: space-around;
            align-items: center;
            position: absolute;
            top: 35%;
            width: 100%;
            padding: 0 20px;
            box-sizing: border-box;
            z-index: 3;
        }

        .robX-eye {
            width: 25px;
            height: 25px;
            background-color: #FFFFFF;
            border: 3px solid #333;
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            animation: blink 5s infinite ease-in-out;
            position: relative;
        }

        .robX-pupil {
            width: 10px;
            height: 10px;
            background-color: #333;
            border-radius: 50%;
            z-index: 3;
            transition: transform 0.2s ease;
        }

        /* Boca */
        .robX-mouth {
            width: 40px;
            height: 6px;
            background-color: #333;
            border-radius: 5px;
            position: absolute;
            bottom: 20%;
            left: 50%;
            transform: translateX(-50%);
            transition: all 0.2s ease;
            z-index: 3;
        }
            
        .robX-mouth.smile {
            border-radius: 0 0 20px 20px;
            height: 12px;
            width: 45px;
        }

        /* Animações */
        @keyframes talkAnimation {
            0% { height: 6px; border-radius: 5px; width: 40px; }
            25% { height: 15px; border-radius: 50%; width: 35px; }
            50% { height: 8px; border-radius: 10px; width: 42px; }
            75% { height: 18px; border-radius: 50%; width: 38px; }
            100% { height: 6px; border-radius: 5px; width: 40px; }
        }

        .robX-mouth.talking {
            animation: talkAnimation 0.5s infinite ease-in-out;
            background-color: #333;
        }

        @keyframes blink {
            0%, 90%, 100% { transform: scaleY(1); }
            95% { transform: scaleY(0.1); }
        }

        @keyframes wave {
            0% { transform: translateX(0) rotate(0deg); }
            100% { transform: translateX(-50%) rotate(0deg); }
        }

        .listening-mode .robX-head {
            box-shadow: 0 0 25px #63B3ED;
            border-color: #2b6cb0;
        }

        /* ==========================================
           RESPONSIVIDADE (MEDIA QUERIES)
           Adicione isso ao final do seu CSS
           ==========================================
        */

        /* Telas Grandes (Desktop/Notebook) - Padrão */
        @media (min-width: 1025px) {
            .robX-container {
                transform: scale(2.5);
                margin-bottom: 80px; /* Espaço extra para a escala */
            }
        }

        /* Tablets e Notebooks Pequenos (iPad, Laptops menores) */
        @media (max-width: 1024px) {
            .robX-container {
                transform: scale(2.0); /* Reduz um pouco */
                margin-bottom: 60px;
            }
            
            #status-text {
                font-size: 1.1rem;
            }
        }

        /* Celulares (Mobile) */
        @media (max-width: 600px) {
            .robX-container {
                transform: scale(1.4); /* Bem menor para caber na tela vertical */
                margin-bottom: 30px;
            }

            #status-text {
                font-size: 1rem;
                margin-top: 10px;
            }

            #start-btn {
                padding: 10px 20px;
                width: 80%; /* Botão mais largo para facilitar o toque */
            }

            /* Ajusta os botões manuais para ficarem em coluna ou grade no celular */
            .manual-controls {
                width: 100%;
            }
        }

        /* Celulares muito pequenos (iPhone SE, Galaxy Fold fechado) */
        @media (max-width: 350px) {
            .robX-container {
                transform: scale(1.2);
            }
    }

        /* ==========================================
           ESTILOS DA BARRA DE TIMER
           ==========================================
        */

        /* Estilos da Barra de Timer */
        #listening-timer-container {
            width: 200px;
            height: 6px;
            background-color: #e0e0e0;
            border-radius: 3px;
            margin: 10px auto; /* Centraliza */
            overflow: hidden;
        }

        #listening-timer-bar {
            height: 100%;
            background-color: #5A67D8; /* Cor Roxo RobX */
            width: 100%;
            /* A animação será controlada via JS adicionando uma classe */
        }

        /* Animação de 5 segundos */
        .animate-countdown {
            animation: countdown 5s linear forwards;
        }

        @keyframes countdown {
            from { width: 100%; }
            to { width: 0%; }
        }