:root{--cor-primaria: #5b3df5;--cor-primaria-escura: #4527d1;--cor-fundo: #f7f6fb;--cor-texto: #2c2a3a;--cor-certa: #2ecc71;--cor-errada: #e0245e;--cor-borda: #e2dff5;font-family:Segoe UI,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--cor-fundo);color:var(--cor-texto)}button{font-family:inherit;cursor:pointer}a{color:var(--cor-primaria)}.layout{min-height:100vh;display:flex;flex-direction:column}.topbar{display:flex;justify-content:space-between;align-items:center;padding:12px 24px;background:#fff;border-bottom:2px solid var(--cor-borda);flex-wrap:wrap;gap:12px}.marca{font-size:1.3rem;font-weight:800;text-decoration:none;color:var(--cor-texto)}.topbar-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.topbar-nav a{text-decoration:none;color:var(--cor-texto);font-weight:600}.moedas{font-weight:700;background:#fff4d6;padding:4px 10px;border-radius:999px}.botao-link{background:none;border:none;color:var(--cor-primaria);font-weight:600;padding:0}.conteudo{flex:1;padding:24px;max-width:960px;margin:0 auto;width:100%}.tela-central{display:flex;flex-direction:column;align-items:center;text-align:center;padding-top:24px}.cartao-form{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:360px;box-shadow:0 4px 20px #0000000f;display:flex;flex-direction:column;gap:14px}.cartao-form label{display:flex;flex-direction:column;gap:6px;text-align:left;font-weight:600;font-size:.9rem}.cartao-form input{padding:10px 12px;border-radius:10px;border:2px solid var(--cor-borda);font-size:1rem}.cartao-form button,.botoes-form button,.filtros-admin button,.tela-central .cartao-resultado button{background:var(--cor-primaria);color:#fff;border:none;padding:12px;border-radius:10px;font-weight:700;font-size:1rem}.cartao-form button:hover{background:var(--cor-primaria-escura)}.subtitulo{color:#6b6880;margin-top:-8px}.mensagem-erro{color:var(--cor-errada);font-weight:600}.mensagem-sucesso{color:var(--cor-certa);font-weight:600}.rodape-form{font-size:.9rem;text-align:center}.grid-materias{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px;margin-top:16px}.materia-card{background:#fff;border:3px solid;border-radius:16px;padding:16px;text-decoration:none;color:var(--cor-texto);display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .1s ease}.materia-card:hover{transform:translateY(-3px)}.materia-card-icone{font-size:2rem;width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center}.materia-card-nome{font-weight:700}.materia-card-pontinhos{display:flex;gap:6px}.pontinho{width:10px;height:10px;border-radius:50%;background:var(--cor-borda)}.pontinho-concluido{background:var(--cor-certa)}.trilha-niveis{display:flex;flex-direction:column;gap:16px;border-left:4px dashed;padding:16px 0 16px 24px;margin-top:16px;align-items:flex-start}.trilha-item{display:flex;flex-direction:column;gap:4px;align-items:flex-start}.nivel-node{display:flex;align-items:center;gap:10px;padding:14px 22px;border-radius:999px;border:none;font-weight:700;font-size:1.05rem}.nivel-bloqueado{background:#e5e3ee;color:#9a97ab}.nivel-disponivel{background:var(--cor-primaria);color:#fff}.nivel-concluido{background:#ffe8a3;color:#8a6400}.nivel-node-icone{font-size:1.2rem}.trilha-info{font-size:.8rem;color:#6b6880;margin-left:8px}.dica-desbloqueio{color:#6b6880;margin-top:16px}.botao-reforco{margin-top:16px;padding:12px 20px;border-radius:10px;border:2px solid #ffd166;background:#fff8e6;color:#8a6400;font-weight:700;font-size:.95rem}.explicacao-questao{background:#eef0ff;border:2px solid #c7ccff;border-radius:10px;padding:12px;margin:8px 0;font-size:.9rem;color:#33359e}.banner-meta-conquistada{background:#fff4d6;border:2px solid #ffd166;border-radius:10px;padding:12px;margin-top:12px;font-weight:600;color:#8a6400}.lista-metas{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;max-width:480px}.cartao-meta{background:#fff;border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;border-left:6px solid var(--cor-borda)}.cartao-meta-pendente{border-left-color:#ffd166}.cartao-meta-aprovada{border-left-color:var(--cor-primaria)}.cartao-meta-conquistada{border-left-color:var(--cor-certa)}.cartao-meta-entregue{border-left-color:#9a97ab;opacity:.7}.status-meta{font-size:.85rem;color:#6b6880;margin-top:2px}.lista-missoes{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;max-width:480px}.cartao-missao{background:#fff;border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.lista-notas{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;max-width:560px;margin-top:16px}.cartao-nota{background:#fff;border-radius:12px;padding:12px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pontos-positivo{color:var(--cor-certa);font-weight:700}.pontos-negativo{color:var(--cor-errada);font-weight:700}.cartao-jogo{background:#fff;border-radius:16px;padding:28px;width:100%;max-width:520px;box-shadow:0 4px 20px #0000000f}.jogo-topo{display:flex;justify-content:space-between;font-weight:700;margin-bottom:12px;color:#6b6880}.opcoes,.resposta-livre{display:flex;flex-direction:column;gap:10px;margin:20px 0}.resposta-livre input[type=text]{width:100%}.opcao{padding:14px;border-radius:12px;border:2px solid var(--cor-borda);background:#fff;font-size:1rem;text-align:left;font-weight:600}.opcao:hover:not(:disabled){border-color:var(--cor-primaria)}.opcao-certa{background:#e6f9ee;border-color:var(--cor-certa);color:#1c7a43}.opcao-errada{background:#fdeaf0;border-color:var(--cor-errada);color:#a01141}.botao-dica{width:100%;padding:10px;border-radius:10px;border:2px solid #ffd166;background:#fff8e6;font-weight:700;margin-bottom:10px}.botao-dica:disabled{opacity:.5}.botao-continuar{width:100%;padding:12px;border-radius:10px;border:none;background:var(--cor-primaria);color:#fff;font-weight:700;font-size:1rem}.cartao-resultado{background:#fff;border-radius:16px;padding:32px;max-width:420px;box-shadow:0 4px 20px #0000000f}.resultado-placar{font-size:1.4rem;font-weight:800}.resultado-pontos{font-size:1.1rem;color:var(--cor-primaria);font-weight:700}.botoes-resultado{margin-top:16px}.lista-ranking{list-style:none;padding:0;display:flex;flex-direction:column;gap:8px}.linha-ranking{display:flex;align-items:center;gap:12px;background:#fff;border-radius:12px;padding:12px 16px;font-weight:600}.linha-voce{border:2px solid var(--cor-primaria)}.ranking-posicao{width:32px;font-weight:800}.ranking-apelido{flex:1}.grid-admin-links{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;margin-top:16px}.cartao-link{background:#fff;border-radius:14px;padding:20px;text-decoration:none;color:var(--cor-texto);font-weight:700;text-align:center;box-shadow:0 2px 10px #0000000d}.form-admin{background:#fff;border-radius:14px;padding:20px;display:flex;flex-direction:column;gap:12px;max-width:480px;margin-bottom:20px}.form-admin label{display:flex;flex-direction:column;gap:4px;font-weight:600;font-size:.9rem;text-align:left}.form-admin input,.form-admin select,.form-admin textarea{padding:8px 10px;border-radius:8px;border:2px solid var(--cor-borda);font-size:1rem;font-family:inherit}.linha-opcao{flex-direction:row!important;align-items:center;gap:8px!important}.linha-opcao input[type=text],.linha-opcao input:not([type=radio]){flex:1}.rotulo-opcoes{font-weight:700;margin-bottom:-6px}.botoes-form{display:flex;gap:10px}.botao-secundario{background:#e5e3ee!important;color:var(--cor-texto)!important}.filtros-admin{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center}.filtros-admin select{padding:8px 10px;border-radius:8px;border:2px solid var(--cor-borda)}.tabela-admin{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}.tabela-admin th,.tabela-admin td{padding:10px 12px;border-bottom:1px solid var(--cor-borda);text-align:left;font-size:.9rem}.tabela-admin button{border:none;border-radius:6px;padding:6px 10px;margin-right:6px;background:var(--cor-primaria);color:#fff;font-weight:600;font-size:.85rem}.botao-perigo{background:var(--cor-errada)!important}.linha-reset-senha{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.linha-reset-senha input{padding:6px 8px;border-radius:6px;border:2px solid var(--cor-borda);font-size:.85rem;width:140px}.linha-reset-senha .mensagem-erro{width:100%;font-size:.8rem;margin:2px 0 0}.abas-admin{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap}.abas-admin button{border:2px solid var(--cor-borda);background:#fff;color:var(--cor-texto);border-radius:10px;padding:8px 16px;font-weight:700;font-size:.9rem}.abas-admin button.aba-ativa{background:var(--cor-primaria);border-color:var(--cor-primaria);color:#fff}.lista-turmas{display:flex;flex-direction:column;gap:16px;margin-top:16px}.cartao-turma{background:#fff;border:2px solid var(--cor-borda);border-radius:12px;padding:16px 20px}.cartao-turma-topo{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.cartao-turma-topo h2{margin:0}.cartao-turma-topo button,.botao-link-turma{border:none;border-radius:6px;padding:6px 10px;margin-left:6px;background:var(--cor-primaria);color:#fff;font-weight:600;font-size:.85rem;text-decoration:none;display:inline-block}.turma-professor{color:#6b6685;font-size:.85rem;margin:4px 0 12px}.lista-alunos-turma{list-style:none;padding:0;margin:0 0 12px;display:flex;flex-direction:column;gap:6px}.lista-alunos-turma li{display:flex;align-items:center;gap:10px;padding:6px 10px;background:#f7f6fb;border-radius:8px;font-size:.9rem}.moedas-pequeno{color:#6b6685;font-size:.8rem}.linha-adicionar-aluno{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.linha-adicionar-aluno select{padding:8px 10px;border-radius:8px;border:2px solid var(--cor-borda)}.cartao-relatorio{background:#f7f6fb;border-radius:10px;padding:12px 16px;margin:12px 0}.cartao-relatorio h3{margin:12px 0 6px}.cartao-relatorio h3:first-child{margin-top:0}.lista-perguntas-erradas{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:8px;font-size:.9rem}.cartao-importar{background:#fff;border:2px dashed var(--cor-borda);border-radius:12px;padding:16px 20px;margin-bottom:16px}.cartao-importar input[type=file]{margin-top:8px}.resultado-importacao{margin-top:12px}.resultado-importacao ul{margin:6px 0 0;padding-left:20px;font-size:.85rem;color:var(--cor-errada)}
