:root {
    /* Paleta Gerabytez - Jovial e Colorida */
    --cor-fundo: #f4f7f6;
    --cor-texto: #2d3436;
    --cor-primaria: #6c5ce7;
    --cor-secundaria: #00cec9;
    --cor-acerto: #00b894;
    --cor-erro: #d63031;
    --sombra: 0 10px 20px rgba(0,0,0,0.08);
}

* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
    font-family: 'Poppins', sans-serif; 
}

body {
    background-color: var(--cor-fundo);
    color: var(--cor-texto);
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
}

#app-container {
    background: white;
    width: 100%;
    max-width: 900px;
    border-radius: 24px;
    box-shadow: var(--sombra);
    overflow: hidden;
    position: relative;
    min-height: 600px;
}

/* ================== TELAS ================== */
.tela {
    display: none;
    padding: 40px;
    animation: fadeIn 0.4s ease;
}

.tela.ativa { 
    display: block; 
}

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

/* ================== LOGOS E TÍTULOS ================== */
.logo { text-align: center; margin-bottom: 40px; }
.logo h1 { font-size: 3rem; color: var(--cor-texto); font-weight: 800; }
.logo span { color: var(--cor-primaria); }
.logo p { color: #636e72; font-size: 1.1rem; }

.header-simples {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 30px;
}
.subtitulo { margin-bottom: 20px; color: #636e72; font-size: 1.2rem; }

/* ================== BOTÕES E GRIDS (MENU INICIAL) ================== */

/* Grid das Séries: Forçado para 2 colunas (formando 2 linhas) e centralizado */
.grid-series {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 600px;
    margin: 0 auto;
}

/* Grid das Disciplinas: Mantém o ajuste automático */
.grid-disciplinas {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 20px;
}

button {
    cursor: pointer; 
    border: none; 
    outline: none; 
    border-radius: 16px;
    font-weight: 600; 
    font-size: 1.2rem; 
    padding: 25px 20px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 6px rgba(0,0,0,0.1);
}

button:hover { 
    transform: translateY(-5px); 
    box-shadow: 0 8px 15px rgba(0,0,0,0.2); 
    filter: brightness(1.1);
}

/* Cores dos Botões das Séries (Novas cores premium) */
.btn-serie { 
    color: white; 
    text-transform: uppercase; 
    letter-spacing: 2px; 
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2); 
}
.color-6 { background: #FF4757; } /* Vermelho Coral */
.color-7 { background: #2ED573; } /* Verde Esmeralda */
.color-8 { background: #1E90FF; } /* Azul Vivo */
.color-9 { background: #FFA502; } /* Laranja Vibrante */

/* Cores dos Botões das Disciplinas */
.btn-disc { 
    color: white; 
    font-size: 1.2rem; 
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}

/* Matérias Coloridas */
.btn-disc.port { background: #ff7675; } /* Rosa avermelhado */
.btn-disc.mat  { background: #0984e3; } /* Azul */
.btn-disc.hist { background: #e84393; } /* Rosa pink */
.btn-disc.geo  { background: #00b894; } /* Verde esmeralda */
.btn-disc.cie  { background: #00cec9; } /* Azul turquesa */
.btn-disc.ing  { background: #a29bfe; } /* Lilás */

/* Cores dos Botões das Séries */
.btn-serie { color: white; text-transform: uppercase; letter-spacing: 2px; text-shadow: 1px 1px 2px rgba(0,0,0,0.2); }
.color-6 { background: #fdcb6e; } /* Amarelo vibrante */
.color-7 { background: #e17055; } /* Laranja escuro */
.color-8 { background: #0984e3; } /* Azul forte */
.color-9 { background: #6c5ce7; } /* Roxo */

/* Cores dos Botões das Disciplinas */
.btn-disc { 
    color: white; 
    font-size: 1.2rem; 
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}

/* Matérias Coloridas */
.btn-disc.port { background: #ff7675; } /* Rosa avermelhado */
.btn-disc.mat  { background: #0984e3; } /* Azul */
.btn-disc.hist { background: #e84393; } /* Rosa pink */
.btn-disc.geo  { background: #00b894; } /* Verde esmeralda */
.btn-disc.cie  { background: #00cec9; } /* Azul turquesa */
.btn-disc.ing  { background: #a29bfe; } /* Lilás */


/* ================== HEADER DO SIMULADO ================== */
.header-quiz {
    display: flex; justify-content: space-between; align-items: center;
    margin-bottom: 30px; padding-bottom: 20px; border-bottom: 2px dashed #dfe6e9;
}

#quiz-badge {
    background: var(--cor-primaria); color: white; padding: 8px 16px;
    border-radius: 20px; font-weight: 600;
}

.placar { display: flex; gap: 15px; }
.placar-item {
    padding: 10px 20px; border-radius: 12px; font-weight: bold; font-size: 1.2rem; color: white;
}
.placar-item.acertos { background: var(--cor-acerto); }
.placar-item.erros { background: var(--cor-erro); }

/* ================== ÁREA DA QUESTÃO ================== */
.cabecalho-questao { margin-bottom: 30px; text-align: center; }
.badge-numero {
    display: inline-block; padding: 5px 15px; border-radius: 20px;
    background: #dfe6e9; color: #2d3436; font-weight: bold; margin-bottom: 15px;
    transition: background 0.3s, color 0.3s;
}
.badge-numero.acertou { background: var(--cor-acerto); color: white; }
.badge-numero.errou { background: var(--cor-erro); color: white; }

#texto-questao { font-size: 1.5rem; line-height: 1.4; color: var(--cor-texto); }

.opcoes-grid { display: flex; flex-direction: column; gap: 15px; }

/* O Botão de Opção não tem a sombra de clique forte das matérias para não distrair */
.btn-opcao {
    background: white; border: 2px solid #dfe6e9; color: var(--cor-texto);
    text-align: left; padding: 20px; font-size: 1.1rem; box-shadow: none;
}
.btn-opcao:hover:not(:disabled) { 
    border-color: var(--cor-primaria); background: #f8f9fa; transform: translateY(0); box-shadow: none; filter: none;
}
.btn-opcao:disabled { cursor: not-allowed; opacity: 0.8; }

.btn-opcao.correta { background: var(--cor-acerto); border-color: var(--cor-acerto); color: white; }
.btn-opcao.incorreta { background: var(--cor-erro); border-color: var(--cor-erro); color: white; }

/* ================== RODAPÉ E BOTÕES DE AÇÃO ================== */
.footer-quiz {
    margin-top: 40px; display: flex; justify-content: space-between; align-items: center;
}
.btn-acao { background: var(--cor-primaria); color: white; padding: 15px 30px; font-size: 1.1rem; }
.btn-reiniciar, .btn-voltar-menu, .btn-voltar {
    background: #dfe6e9; color: #2d3436; padding: 10px 20px; font-size: 1rem; box-shadow: none;
}
.btn-voltar:hover, .btn-reiniciar:hover, .btn-voltar-menu:hover {
    transform: translateY(-2px); box-shadow: 0 4px 8px rgba(0,0,0,0.1); filter: none;
}
.hidden { display: none; }

/* ================== TELA DE RESULTADOS ================== */
.card-resultado { text-align: center; }
.card-resultado h2 { font-size: 2.5rem; margin-bottom: 20px; color: var(--cor-primaria); }
.resultado-stats p { font-size: 1.5rem; font-weight: bold; margin: 10px 0; }
.txt-verde { color: var(--cor-acerto); }
.txt-vermelho { color: var(--cor-erro); }
.acoes-resultado { margin-top: 30px; display: flex; justify-content: center; gap: 20px; }