Ao longo deste ebook, vimos as regras do Direito de Família. Este último capítulo trata de outra pergunta, muito prática: por qual caminho essas regras se realizam? Durante boa parte do século XX, a resposta era quase sempre a mesma: um processo judicial. Hoje, o caminho depende do conflito.
Duas tendências marcam o Direito de Família atual. A primeira é a busca do consenso: mesmo quando o conflito chega ao juiz, a lei manda tentar, antes de tudo, a mediação e a conciliação. A segunda é a extrajudicialização: muito do que antes exigia um juiz pode hoje ser feito em cartório, de forma mais rápida e barata. O capítulo trata das duas, e funciona também como um mapa de revisão do ebook, com remissões às seções em que cada tema foi estudado.
27.1 As ações de família no CPC: mediação antes de tudo
27.1.1 Um procedimento especial para conflitos especiais
O CPC de 2015 criou um capítulo próprio para as ações de família (arts. 693 a 699-A). Ele se aplica aos processos litigiosos de divórcio, separação, reconhecimento e extinção de união estável, guarda, visitação e filiação (art. 693). A ação de alimentos e as ações sobre interesse de criança ou adolescente seguem suas leis próprias, a Lei de Alimentos e o ECA, aplicando-se o capítulo no que couber (art. 693, parágrafo único; seção 22.1).
Por que um procedimento especial? Porque os conflitos de família têm características próprias. As partes continuam ligadas depois da sentença, sobretudo quando há filhos. A decisão judicial resolve o processo, mas nem sempre resolve o conflito. Por isso, o CPC aposta no acordo construído pelas próprias partes.
27.1.2 "Todos os esforços" pelo consenso
O art. 694 é o coração do capítulo: nas ações de família, todos os esforços serão empreendidos para a solução consensual, e o juiz deve contar com profissionais de outras áreas, como psicólogos e assistentes sociais, para a mediação e a conciliação. As regras que concretizam essa ideia são estas:
Regra | O que diz | Para quê |
|---|---|---|
Suspensão do processo | O processo pode ser suspenso enquanto as partes fazem mediação extrajudicial ou atendimento multidisciplinar (art. 694, parágrafo único) | Dar tempo ao diálogo |
Audiência de mediação e conciliação | Recebida a inicial, o réu é citado para comparecer à audiência (art. 695) | Tentar o acordo antes da defesa |
Citação sem a petição inicial | O mandado leva só os dados da audiência; o réu pode ver a inicial a qualquer momento (art. 695, § 1º) | Não acirrar os ânimos |
Citação pessoal, com antecedência | Pelo menos 15 dias antes da audiência, na pessoa do réu (art. 695, §§ 2º e 3º) | Garantir a ciência efetiva |
Advogados na audiência | As partes devem estar acompanhadas de advogado ou defensor (art. 695, § 4º) | Orientar o acordo |
Quantas sessões forem precisas | A audiência pode se dividir em várias sessões, sem prejuízo de medidas urgentes (art. 696) | Respeitar o tempo das partes |
Sem acordo, procedimento comum | Começa a correr o prazo de contestação e o processo segue o rito comum (art. 697) | Garantir a decisão |
Tartuce lê o art. 695 como regra que torna a audiência obrigatória nas ações de família. As medidas urgentes não esperam o acordo: alimentos provisórios ou o divórcio podem ser decididos enquanto as sessões continuam (seção 10.5.2).
27.1.3 As críticas
Os livros-base apoiam a ideia, mas registram dificuldades:
A citação sem a inicial. Tepedino e Teixeira veem na regra uma forma de desarmar o réu e facilitar o acordo, e observam que ele pode conhecer o processo pelo advogado. Tartuce tem dúvidas: o réu surpreendido pode chegar ainda mais hostil, e é difícil negociar sem saber o que está sendo pedido, o que parece contrariar o dever de informação ligado à boa-fé.
A falta de estrutura. Tartuce relata muitas decisões que deixaram de designar a mediação por falta de estrutura nos tribunais, que nem sempre investiram nos Centros Judiciários de Solução de Conflitos e Cidadania (CEJUSCs). Os CEJUSCs são as unidades dos tribunais encarregadas da conciliação e da mediação, criadas pela Resolução CNJ 125/2010, atualizada em 2026 pela Resolução CNJ 672 para padronizar sua gestão e as sessões pré-processuais, isto é, feitas antes de haver processo.
27.1.4 Mediação ou conciliação?
As duas palavras aparecem juntas na lei, mas não são sinônimas. O CPC as distingue pelo tipo de relação entre as partes (art. 165, §§ 2º e 3º):
Conciliação | Mediação | |
|---|---|---|
Quando é indicada | Quando não há vínculo anterior entre as partes | Quando há vínculo anterior, como nas relações de família |
Papel do terceiro | Pode sugerir soluções | Ajuda as partes a restabelecer o diálogo e a encontrar, elas mesmas, a solução |
Exemplo | Acidente de trânsito entre desconhecidos | Pais divorciados discutindo a guarda dos filhos |
A mediação é, portanto, o método mais adequado para os conflitos familiares. A Lei de Mediação (Lei 13.140/2015) admite que ela trate de direitos disponíveis e também de direitos indisponíveis que admitam transação, como os alimentos e a guarda. Nesse último caso, o acordo precisa ser homologado pelo juiz, ouvido o Ministério Público (art. 3º, § 2º).
Tepedino e Teixeira lembram que a mediação é especialmente útil nos casos de alienação parental, para que os próprios pais percebam o processo de que participam (seção 19.5). A Lei 12.318/2010 previa a mediação, mas o dispositivo foi vetado, por se entender que direitos indisponíveis não poderiam ser tratados fora do Judiciário. Para os autores, o art. 694 do CPC superou essa objeção.
A mediação também é instrumento de planejamento sucessório e de prevenção de conflitos na herança. Veja no ebook de Sucessões: Mediação como planejamento sucessório preventivo e O sistema multiportas aplicado às sucessões.
27.1.5 Ministério Público, crianças e violência
O capítulo do CPC traz ainda três regras de proteção:
Ministério Público. Só intervém nas ações de família quando houver interesse de incapaz, e deve ser ouvido antes da homologação de acordo (art. 698). Desde a Lei 13.894/2019, intervém também quando uma das partes for vítima de violência doméstica (art. 698, parágrafo único). Tartuce registra que a regra consolidou uma prática dos próprios Ministérios Públicos: não há interesse público no simples divórcio entre adultos capazes.
Depoimento da criança. Se o processo envolver abuso ou alienação parental, o juiz deve estar acompanhado por especialista ao ouvir a criança ou o adolescente (art. 699).
Risco de violência. Nas ações de guarda, antes da audiência de mediação, o juiz pergunta às partes e ao Ministério Público se há risco de violência doméstica, e fixa prazo de cinco dias para a apresentação de provas ou indícios (art. 699-A, incluído pela Lei 14.713/2023; seção 19.2.6).
Lembre também que as ações de família correm em segredo de justiça (CPC, art. 189, II), e que, havendo indício de violência doméstica, a lei passou a exigir cuidado especial antes de qualquer tentativa de acordo (art. 699-A; seção 26.4).
27.2 O que já se resolve em cartório no Direito de Família
27.2.1 Por que o cartório
Os cartórios de notas e de registro civil são serviços públicos exercidos por particulares, sob fiscalização do Poder Judiciário. Desde a Lei 11.441/2007, o legislador e o Conselho Nacional de Justiça vêm transferindo a eles atos que antes dependiam de juiz, quando não há conflito e não há vulneráveis desprotegidos. Tepedino e Teixeira falam em "privatização da família": as decisões passam a quem as vive (seção 10.4.1). Duas leis foram marcos desse movimento: a própria Lei 11.441/2007, sobre divórcio e inventário, e a Lei 14.382/2022, a Lei do SERP, que modernizou os registros públicos.
As regras do CNJ sobre o tema estão hoje reunidas no Código Nacional de Normas do Foro Extrajudicial, que consolidou os antigos provimentos.
27.2.2 O mapa
Ato | Onde | O que exige | Onde estudamos |
|---|---|---|---|
Habilitação e casamento | Registro Civil | Habilitação, proclamas, celebração | Seção 4.4 |
Pacto antenupcial | Tabelionato de notas | Escritura pública | Seção 8.2.1 |
União estável: formalização e registro | Tabelionato ou Registro Civil | Escritura ou termo declaratório; registro no Livro E | Seção 12.5 |
Conversão de união estável em casamento | Registro Civil | Pedido dos companheiros e habilitação, sem juiz (Lei 6.015/1973, art. 70-A) | Seção 13.3.2 |
Mudança de regime de bens na união estável | Registro Civil | Pedido dos dois; efeitos para o futuro (Provimento CNJ 141/2023) | Seção 8.3.5 |
Inclusão ou exclusão do sobrenome do cônjuge, durante o casamento | Registro Civil | Pedido do interessado (Lei 6.015/1973, art. 57) | Seção 7.2.3 |
Divórcio e dissolução de união estável consensuais | Tabelionato (e Registro Civil, para a união estável) | Consenso e advogado; com filhos menores, só se guarda, convivência e alimentos já tiverem sido resolvidos em juízo (Resolução CNJ 571/2024; Provimento CNJ 202/2025) | Seções 10.4 e 13.3.4 |
Reconhecimento voluntário de filho | Registro Civil | Declaração do pai; concordância do filho maior ou da mãe | Seção 16.1.7 |
Reconhecimento de filiação socioafetiva | Registro Civil | Filho com mais de 12 anos, consentimentos e parecer favorável do MP | Seção 16.1.8 |
Autocuratela e diretivas de curatela | Tabelionato | Escritura; consulta obrigatória pelo juiz à Censec | Seção 25.3 |
Inventário e partilha | Tabelionato | Requisitos próprios | Ebook de Sucessões |
Sobre o inventário em cartório, veja no ebook de Sucessões: Os quatro requisitos do inventário extrajudicial e Da Lei 11.441/07 à Resolução CNJ 571/2024.
Os cartórios também podem realizar conciliação e mediação extrajudiciais, segundo as normas do CNJ, o que abre uma via de consenso fora do Judiciário.
27.2.3 O que ainda exige juiz
Apesar da expansão, continuam dependendo do Judiciário, entre outros:
todo conflito: divórcio, guarda, alimentos ou partilha sem acordo;
a fixação inicial de guarda, convivência e alimentos de filhos menores, que precisa ser feita ou homologada em juízo antes do divórcio em cartório;
a mudança do regime de bens no casamento (CC, art. 1.639, § 2º), com a exceção local do Espírito Santo (seção 8.3.5);
a adoção (Capítulo 17), a tutela (Capítulo 24) e a curatela (Capítulo 25);
o reconhecimento socioafetivo de crianças com menos de 12 anos (seção 16.1.8);
o divórcio unilateral, que ainda não foi admitido por lei (seção 10.5.4).
27.2.4 O que pode mudar
O projeto de reforma do Código Civil (PL 4/2025) amplia muito a via extrajudicial. Entre as propostas vistas ao longo do ebook:
Proposta | Onde estudamos |
|---|---|
Divórcio, partilha, guarda e alimentos de filhos menores por escritura, com aprovação prévia do Ministério Público | Explicada logo abaixo (art. 1.582-B proposto) |
Divórcio unilateral no Registro Civil, com notificação do outro cônjuge | Seção 10.5.4 |
Mudança do regime de bens do casamento por escritura | Seção 8.3.5 |
Adoção de pessoas maiores e capazes em cartório | Seção 17.4.6 |
Tomada de decisão apoiada também no Registro Civil | Seção 25.4.4 |
Fiscalização da tutela pelo Ministério Público | Seção 24.2.7 |
Sobre a primeira proposta, Tartuce explica o mecanismo do art. 1.582-B projetado: havendo filhos menores, incapazes ou nascituro, ou cláusulas sobre guarda e alimentos, o tabelião enviaria a minuta ao Ministério Público, que teria 15 dias úteis para se manifestar, limitando-se a fiscalizar o interesse do incapaz. Se o Ministério Público discordasse, o caminho seria o Judiciário. Segundo Tartuce, parte dessas propostas já foi incorporada às normas do CNJ em 2024, com a Resolução 571.
Há também propostas específicas para vítimas de violência doméstica. Em maio de 2026, a Comissão de Defesa dos Direitos da Mulher da Câmara aprovou projeto que permite a essas vítimas pedir, sozinhas, o divórcio em cartório, depois de resolvidas em juízo as questões sobre filhos e medidas protetivas (PL 3.343/2025; seção 10.5.4). O projeto ainda precisa passar por outras comissões, pelo plenário e pelo Senado.
27.2.5 Um balanço final
O Direito de Família estudado neste ebook é, cada vez mais, um direito de escolhas: escolher o regime de bens, formalizar ou não a união, terminar o casamento sem precisar justificar, reconhecer um filho do coração, decidir hoje quem cuidará de nós amanhã. O cartório e a mediação acompanham essa autonomia, oferecendo caminhos mais simples quando há acordo.
Ao mesmo tempo, o ebook mostrou que a autonomia tem limites quando há alguém vulnerável: a criança, o adolescente, a pessoa com deficiência, a mulher em situação de violência. Nesses casos, o juiz e o Ministério Público continuam presentes. Os dois movimentos, mais liberdade e mais proteção, convivem no Direito de Família atual. Saber qual deles prevalece em cada caso é, talvez, a principal habilidade que este ebook procurou desenvolver.
Referências do capítulo
BRASIL. Lei nº 6.015, de 31 de dezembro de 1973. Dispõe sobre os registros públicos. Brasília, DF: Presidência da República, 1973.
BRASIL. Lei nº 10.406, de 10 de janeiro de 2002. Código Civil. Brasília, DF: Presidência da República, 2002.
BRASIL. Lei nº 11.441, de 4 de janeiro de 2007. Possibilita a realização de inventário, partilha, separação consensual e divórcio consensual por via administrativa. Brasília, DF: Presidência da República, 2007.
BRASIL. Lei nº 12.318, de 26 de agosto de 2010. Dispõe sobre a alienação parental. Brasília, DF: Presidência da República, 2010.
BRASIL. Lei nº 13.105, de 16 de março de 2015. Código de Processo Civil. Brasília, DF: Presidência da República, 2015.
BRASIL. Lei nº 13.140, de 26 de junho de 2015. Dispõe sobre a mediação. Brasília, DF: Presidência da República, 2015.
BRASIL. Lei nº 13.894, de 29 de outubro de 2019. Altera a Lei Maria da Penha e o CPC. Brasília, DF: Presidência da República, 2019.
BRASIL. Lei nº 14.382, de 27 de junho de 2022. Dispõe sobre o Sistema Eletrônico dos Registros Públicos (SERP). Brasília, DF: Presidência da República, 2022.
BRASIL. Lei nº 14.713, de 30 de outubro de 2023. Altera o Código Civil e o CPC quanto à guarda compartilhada em caso de risco de violência doméstica. Brasília, DF: Presidência da República, 2023.
BRASIL. Câmara dos Deputados. Comissão aprova divórcio unilateral em cartório para vítima de violência doméstica. Brasília, DF, maio 2026. Disponível em: https://www.camara.leg.br/noticias/1272779-comissao-aprova-divorcio-unilateral-em-cartorio-para-vitima-de-violencia-domestica/. Acesso em: 6 out. 2026.
BRASIL. Senado Federal. Projeto de Lei nº 4, de 2025. Dispõe sobre a atualização da Lei nº 10.406, de 10 de janeiro de 2002 (Código Civil), e da legislação correlata. Disponível em: https://www25.senado.leg.br/web/atividade/materias/-/materia/166998. Acesso em: 6 out. 2026.
CONSELHO NACIONAL DE JUSTIÇA. Resolução nº 125, de 29 de novembro de 2010. Dispõe sobre a Política Judiciária Nacional de tratamento adequado dos conflitos de interesses. Brasília, DF: CNJ, 2010.
CONSELHO NACIONAL DE JUSTIÇA. Resolução nº 571, de 26 de agosto de 2024. Altera a Resolução nº 35/2007. Brasília, DF: CNJ, 2024.
CONSELHO NACIONAL DE JUSTIÇA. Resolução nº 672, de 11 de março de 2026. Altera a Resolução nº 125/2010. Brasília, DF: CNJ, 2026. Disponível em: https://atos.cnj.jus.br/atos/detalhar/6785. Acesso em: 6 out. 2026.
CONSELHO NACIONAL DE JUSTIÇA. Provimento nº 149, de 30 de agosto de 2023. Institui o Código Nacional de Normas da Corregedoria Nacional de Justiça, Foro Extrajudicial. Brasília, DF: CNJ, 2023. Disponível em: https://atos.cnj.jus.br/atos/detalhar/5243. Acesso em: 6 out. 2026.
GAGLIANO, Pablo Stolze; PAMPLONA FILHO, Rodolfo. Novo curso de direito civil: direito de família. 16. ed. Rio de Janeiro: SRV, 2026. v. 6.
TARTUCE, Flávio. Direito civil: direito de família. 21. ed. Rio de Janeiro: Forense, 2026. v. 5.
TEPEDINO, Gustavo; TEIXEIRA, Ana Carolina Brochado et al. Fundamentos do direito civil: direito de família e das sucessões. 7. ed. Rio de Janeiro: Forense, 2026. v. 6.
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Baralho — Capítulo 27 | Direito de Família</title>
<style>
*,*::before,*::after{box-sizing:border-box}
:root{
--navy:#1e3a5f;--indigo:#3f3a6b;--ink:#2b3340;--muted:#5c6675;--line:#dcdce6;
--card:#fff;--soft:#f5f5f9;--accent:#22a147;--accent-soft:#e6f4ea;
--teal:#0f6b6b;--teal-soft:#e8f2f2;--coral:#b04a45;--coral-soft:#f9edec;
--amber:#9a6b16;--amber-soft:#faf2e3;--purple:#5a4a8a;--purple-soft:#efecf7;
--ok:#1a7f4b;--ok-soft:#e7f5ec;--no:#b0433e;--no-soft:#fbecea;
--r:16px;--rs:11px;
}
body{margin:0;background:#f4f4f8;color:var(--ink);
font-family:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
font-size:17px;line-height:1.55;-webkit-font-smoothing:antialiased}
.dk{max-width:860px;margin:0 auto;padding:20px 16px 28px}
.dk-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}
.dk-eyebrow{display:flex;align-items:center;gap:8px;margin:0;font-size:.74rem;font-weight:800;
letter-spacing:.13em;text-transform:uppercase;color:var(--accent)}
.dk-eyebrow::before{content:"";width:8px;height:8px;border-radius:3px;background:var(--accent)}
.dk-count{font-size:.85rem;color:var(--muted);white-space:nowrap}
.dk-bar{height:6px;background:var(--line);border-radius:99px;overflow:hidden;margin-bottom:14px}
.dk-bar i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}
.dk-stage{position:relative;outline:none}
.dk-slide{background:var(--card);border:1px solid var(--line);border-radius:var(--r);
padding:26px 24px;min-height:430px;box-shadow:0 1px 2px rgba(30,58,95,.05)}
.dk-slide.in-r{animation:inr .28s ease}
.dk-slide.in-l{animation:inl .28s ease}
@keyframes inr{from{opacity:0;transform:translateX(28px)}to{opacity:1;transform:none}}
@keyframes inl{from{opacity:0;transform:translateX(-28px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.dk-slide.in-r,.dk-slide.in-l{animation:none}}
.dk-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:14px}
.dk-btn{font:inherit;font-size:.95rem;font-weight:700;cursor:pointer;border-radius:99px;
padding:10px 20px;border:1.5px solid transparent;transition:.15s}
.dk-btn.primary{background:var(--navy);color:#fff}
.dk-btn.primary:hover{background:var(--indigo)}
.dk-btn.ghost{background:#fff;border-color:var(--line);color:var(--muted)}
.dk-btn.ghost:hover{border-color:var(--indigo);color:var(--indigo)}
.dk-btn:disabled{opacity:.35;cursor:default}
.dk-hint{font-size:.8rem;color:var(--muted);text-align:center;flex:1}
.sec{display:inline-block;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;
padding:4px 10px;border-radius:99px;margin-bottom:12px}
.c-teal{background:var(--teal-soft);color:var(--teal)}
.c-coral{background:var(--coral-soft);color:var(--coral)}
.c-purple{background:var(--purple-soft);color:var(--purple)}
.c-amber{background:var(--amber-soft);color:var(--amber)}
.c-green{background:var(--accent-soft);color:#17743a}
.c-navy{background:#e9eef4;color:var(--navy)}
.c-ink{background:var(--ink);color:#fff}
.dk-slide h2{margin:0 0 8px;font-size:1.38rem;line-height:1.25;color:var(--navy);font-weight:800}
.dk-slide .lede{margin:0 0 16px;color:var(--muted);font-size:.98rem;max-width:66ch}
.dk-slide p{margin:0 0 10px}
.g2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.g4{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
@media(max-width:700px){.g2,.g3{grid-template-columns:1fr}.g4{grid-template-columns:1fr 1fr}}
.cd{background:var(--soft);border:1px solid var(--line);border-radius:var(--rs);padding:12px 14px}
.cd h4{margin:0 0 4px;font-size:.9rem;font-weight:800;color:var(--navy)}
.cd p{margin:0;font-size:.88rem;color:var(--muted);line-height:1.45}
.cd.teal{background:var(--teal-soft);border-color:#cfe3e3}.cd.teal h4{color:var(--teal)}
.cd.coral{background:var(--coral-soft);border-color:#e5c3c1}.cd.coral h4{color:var(--coral)}
.cd.amber{background:var(--amber-soft);border-color:#ecdcb8}.cd.amber h4{color:var(--amber)}
.cd.purple{background:var(--purple-soft);border-color:#d8d2ec}.cd.purple h4{color:var(--purple)}
.cd.green{background:var(--accent-soft);border-color:#c6e6d1}.cd.green h4{color:#17743a}
.cd.navy{background:#e9eef4;border-color:#cfd9e6}.cd.navy h4{color:var(--navy)}
.cd .num{display:block;font-size:1.9rem;font-weight:800;line-height:1.1;color:var(--coral);margin-bottom:2px}
.tl{display:grid;gap:8px}
.tl .it{display:grid;grid-template-columns:5.6rem 1fr;gap:12px;align-items:start;background:var(--soft);border:1px solid var(--line);border-radius:var(--rs);padding:9px 12px}
.tl .yr{font-weight:800;color:var(--teal);font-size:1rem;line-height:1.3}
.tl .tx{font-size:.88rem;color:var(--ink)}
.tl .tx b{color:var(--navy)}
.band{background:linear-gradient(135deg,var(--navy),var(--indigo));color:#fff;border-radius:var(--rs);
padding:13px 16px;margin-top:14px;font-weight:600;font-size:1rem;line-height:1.45}
.band small{display:block;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.75;margin-bottom:3px}
.note{margin-top:14px;background:var(--amber-soft);border:1px solid #ecdcb8;border-left:4px solid var(--amber);
border-radius:var(--rs);padding:11px 14px;font-size:.9rem;color:#6d4b0d}
.alert{margin-top:14px;background:var(--coral-soft);border:1px solid #ecd3d1;border-left:4px solid var(--coral);
border-radius:var(--rs);padding:11px 14px;font-size:.9rem;color:#8d332f}
.lbl-up{margin:14px 0 4px;font-size:.78rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.cover{display:flex;flex-direction:column;justify-content:center;min-height:378px}
.cover .sec{align-self:flex-start}
.cover h1{margin:6px 0 10px;font-size:2rem;line-height:1.15;color:var(--navy);font-weight:800}
.cover .lede{font-size:1.04rem}
.how{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:8px 0 18px}
@media(max-width:620px){.how{grid-template-columns:1fr}}
.how div{background:var(--soft);border:1px solid var(--line);border-radius:var(--rs);padding:10px 12px;font-size:.86rem;color:var(--muted)}
.how b{display:block;color:var(--navy);font-size:.92rem;margin-bottom:2px}
a{color:var(--indigo)}
.steps{display:grid;gap:7px;margin:0;padding:0;list-style:none;counter-reset:st}
.steps li{counter-increment:st;display:grid;grid-template-columns:2rem 1fr;gap:10px;align-items:start;
background:var(--soft);border:1px solid var(--line);border-radius:var(--rs);padding:9px 12px;font-size:.9rem}
.steps li::before{content:counter(st);font-weight:800;color:var(--teal);text-align:center}
.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:.88rem;border:1px solid var(--line);border-radius:var(--rs);overflow:hidden}
.tbl th{background:#e9eef4;color:var(--navy);text-align:left;padding:8px 10px;font-weight:800}
.tbl td{padding:8px 10px;border-top:1px solid var(--line);vertical-align:top}
.tbl tr:nth-child(even) td{background:var(--soft)}
.qkind{font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);margin-left:6px}
.qtext{margin:0 0 16px;font-size:1.12rem;line-height:1.45;font-weight:600;color:var(--ink)}
.opts{display:grid;gap:9px}
.opt{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;font:inherit;color:inherit;
background:var(--soft);border:1.5px solid var(--line);border-radius:var(--rs);padding:12px 14px;cursor:pointer;transition:.15s}
.opt:hover:not(:disabled){border-color:var(--indigo);background:#fff}
.opt:disabled{cursor:default}
.opt .lt{flex:none;width:28px;height:28px;border-radius:99px;display:flex;align-items:center;justify-content:center;
font-weight:800;font-size:.88rem;background:#fff;border:1.5px solid var(--line);color:var(--muted)}
.opt .tx{flex:1;font-size:.98rem}
.opt .why{display:none;margin-top:8px;padding-top:8px;border-top:1px dashed var(--line);font-size:.92rem;color:var(--muted)}
.opt.shown .why{display:block}
.opt.correct{background:var(--ok-soft);border-color:#b6ddc6}
.opt.correct .lt{background:var(--ok);border-color:var(--ok);color:#fff}
.opt.correct .why{color:#14603a}
.opt.wrong{background:var(--no-soft);border-color:#eccbc7}
.opt.wrong .lt{background:var(--no);border-color:var(--no);color:#fff}
.opt.wrong .why{color:#8d332f}
.opt.muted{opacity:.7}
.tf{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.tf .opt{justify-content:center;align-items:center;font-weight:800;font-size:1.02rem;padding:16px}
.fb{display:none;margin-top:14px;padding:13px 15px;border-radius:var(--rs);font-size:.96rem}
.fb.on{display:block}
.fb.good{background:var(--ok-soft);border:1px solid #b6ddc6;border-left:5px solid var(--ok);color:#14603a}
.fb.bad{background:var(--no-soft);border:1px solid #eccbc7;border-left:5px solid var(--no);color:#8d332f}
.fb b{display:block;margin-bottom:3px}
.retain{display:none;margin-top:12px;padding:11px 14px;background:#f6f4fb;border:1px solid #e2dcf0;
border-left:5px solid var(--indigo);border-radius:var(--rs);font-size:.94rem}
.retain.on{display:block}
.retain b{color:var(--indigo)}
.score{text-align:center;padding:4px 0}
.score .big{font-size:3rem;font-weight:800;color:var(--navy);line-height:1}
.score .lbl{color:var(--muted);margin-top:4px}
.msg{margin:16px 0 0;padding:13px 15px;border-radius:var(--rs);background:var(--accent-soft);border:1px solid #c6e6d1;font-size:.96rem}
.brk{margin-top:16px;display:grid;gap:8px}
.brk .row{display:flex;align-items:center;gap:12px;background:var(--soft);border:1px solid var(--line);
border-radius:var(--rs);padding:10px 14px;font-size:.95rem}
.brk .row .sec{margin:0;min-width:3.6rem;text-align:center}
.brk .row .t{flex:1;color:var(--muted)}
.brk .row .v{font-weight:800}
.v.full{color:var(--ok)}.v.part{color:var(--muted)}.v.none{color:var(--no)}
.skip{margin-top:10px;font-size:.88rem;color:var(--muted);text-align:center}
.flips{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:640px){.flips{grid-template-columns:1fr}}
.flip{display:block;width:100%;perspective:900px;height:150px;cursor:pointer;border:none;background:none;padding:0;font:inherit;text-align:left;color:inherit}
.flip:focus-visible{outline:2px solid var(--indigo);outline-offset:3px;border-radius:var(--rs)}
.flip .in{display:block;position:relative;width:100%;height:100%;transition:transform .5s;transform-style:preserve-3d}
.flip.on .in{transform:rotateY(180deg)}
.flip .fa,.flip .fv{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;
border-radius:var(--rs);padding:14px 16px;display:flex;flex-direction:column;justify-content:center}
.flip .fa{background:var(--soft);border:1.5px solid var(--line)}
.flip .fa b{font-size:1.08rem;color:var(--navy)}
.flip .fa span{display:block;font-size:.78rem;color:var(--muted);margin-top:6px}
.flip .fv{background:var(--accent-soft);border:1.5px solid #c6e6d1;transform:rotateY(180deg);font-size:.9rem;color:#14603a;line-height:1.45}
@media (prefers-reduced-motion:reduce){.flip .in{transition:none}}
.recap{display:grid;gap:7px;margin:0;padding:0;list-style:none;counter-reset:rc}
.recap li{counter-increment:rc;display:grid;grid-template-columns:2rem 1fr;gap:10px;align-items:start;
background:var(--soft);border:1px solid var(--line);border-radius:var(--rs);padding:10px 12px;font-size:.92rem}
.recap li::before{content:counter(rc);font-weight:800;color:var(--accent);text-align:center}
.next{margin-top:14px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;
background:linear-gradient(135deg,var(--navy),var(--indigo));color:#fff;border-radius:var(--rs);padding:13px 16px}
.next span{font-weight:700}
.next small{display:block;font-size:.66rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
</style>
</head>
<body>
<div class="dk" id="dk">
<div class="dk-top">
<p class="dk-eyebrow">Direito de Família · Capítulo 27</p>
<span class="dk-count" id="count"></span>
</div>
<div class="dk-bar"><i id="bar"></i></div>
<div class="dk-stage" id="stage" tabindex="0" aria-live="polite"></div>
<div class="dk-nav">
<button class="dk-btn ghost" id="prev" type="button">← Anterior</button>
<span class="dk-hint">Use as setas do teclado ou deslize para o lado</span>
<button class="dk-btn primary" id="next" type="button">Próximo →</button>
</div>
</div>
<script>
(function () {
'use strict';
var CAP = { num: 27, titulo: 'Família, Judiciário e Cartório', proximo: 'Glossário e referências gerais do ebook', blocos: 'dois blocos' };
var SEC = {
s271: { tag: 'c-teal', short: '27.1', nome: 'Ações e mediação' },
s272: { tag: 'c-coral', short: '27.2', nome: 'Cartório' },
fin: { tag: 'c-ink', short: 'Teste', nome: 'Teste final' }
};
var ORDER = ['s271', 's272', 'fin'];
var SLIDES = [
{ t: 'cover' },
{ t: 'html', sec: 'gen', label: 'Mapa do capítulo', html:
'<h2>Por qual caminho o Direito de Família se realiza?</h2>' +
'<p class="lede">Duas tendências: a busca do consenso, mesmo dentro do processo, e a transferência de atos ao cartório quando há acordo.</p>' +
'<div class="g2">' +
'<div class="cd teal"><h4>27.1 · Ações e mediação</h4><p>CPC, arts. 693 a 699-A.</p></div>' +
'<div class="cd coral"><h4>27.2 · Cartório</h4><p>O mapa do que se faz sem juiz.</p></div>' +
'</div>' },
/* ---------- 27.1 ---------- */
{ t: 'html', sec: 's271', html:
'<h2>As ações de família no CPC</h2>' +
'<div class="band"><small>Art. 694</small>Nas ações de família, todos os esforços serão empreendidos para a solução consensual, com apoio de profissionais de outras áreas.</div>' +
'<ol class="steps" style="margin-top:12px">' +
'<li>Suspensão do processo para mediação ou atendimento multidisciplinar.</li>' +
'<li>Citação para audiência de mediação e conciliação, sem a petição inicial.</li>' +
'<li>Citação pessoal, 15 dias antes; advogados presentes.</li>' +
'<li>Quantas sessões forem necessárias; medidas urgentes não esperam.</li>' +
'<li>Sem acordo: procedimento comum e prazo de contestação.</li>' +
'</ol>' },
{ t: 'q', kind: 'tf', sec: 's271',
q: 'Nas ações de família, o mandado de citação deve vir acompanhado da cópia da petição inicial.',
ans: false,
why: 'O art. 695, § 1º, manda que o mandado leve só os dados da audiência, para não acirrar os ânimos; o réu pode ver a inicial a qualquer tempo.' },
{ t: 'html', sec: 's271', html:
'<h2>Mediação ou conciliação?</h2>' +
'<table class="tbl"><tr><th></th><th>Conciliação</th><th>Mediação</th></tr>' +
'<tr><td><b>Indicada quando</b></td><td>Não há vínculo anterior</td><td>Há vínculo anterior, como na família</td></tr>' +
'<tr><td><b>Terceiro</b></td><td>Pode sugerir soluções</td><td>Ajuda a restabelecer o diálogo</td></tr>' +
'</table>' +
'<div class="note">Direitos indisponíveis que admitem transação, como alimentos e guarda, podem ser mediados; o acordo é homologado pelo juiz, ouvido o MP (Lei 13.140/2015, art. 3º, § 2º).</div>' +
'<div class="alert">Críticas: falta de estrutura dos CEJUSCs; dúvida de Tartuce sobre a citação sem a inicial.</div>' },
{ t: 'q', kind: 'mc', sec: 's271',
q: 'Ana e Bruno, divorciados, disputam a guarda do filho e não conseguem conversar. Qual método consensual é o mais indicado, segundo o CPC?',
opts: [
{ t: 'A mediação, porque há vínculo anterior e contínuo entre as partes.', ok: true, why: 'O art. 165, § 3º, do CPC indica a mediação para quem tem vínculo anterior.' },
{ t: 'A conciliação, porque é mais rápida.', ok: false, why: 'A conciliação é indicada quando não há vínculo anterior.' },
{ t: 'Nenhum: guarda é direito indisponível e não admite acordo.', ok: false, why: 'Admite acordo, homologado pelo juiz com oitiva do MP.' },
{ t: 'A arbitragem.', ok: false, why: 'Não se aplica a questões de guarda.' }
] },
{ t: 'html', sec: 's271', html:
'<h2>Proteções do procedimento</h2>' +
'<div class="g3">' +
'<div class="cd teal"><h4>Ministério Público</h4><p>Só com incapaz ou vítima de violência doméstica (art. 698).</p></div>' +
'<div class="cd teal"><h4>Criança</h4><p>Abuso ou alienação parental: ouvida com especialista (art. 699).</p></div>' +
'<div class="cd teal"><h4>Violência</h4><p>Na guarda, o juiz pergunta sobre risco de violência antes da audiência (art. 699-A).</p></div>' +
'</div>' +
'<div class="note">Ações de família correm em segredo de justiça (CPC, art. 189, II).</div>' },
{ t: 'q', kind: 'tf', sec: 's271',
q: 'O Ministério Público intervém em toda ação de divórcio, mesmo entre adultos capazes e sem filhos.',
ans: false,
why: 'Pelo art. 698 do CPC, só intervém se houver interesse de incapaz ou, desde 2019, vítima de violência doméstica.' },
/* ---------- 27.2 ---------- */
{ t: 'html', sec: 's272', html:
'<h2>O mapa do cartório</h2>' +
'<table class="tbl"><tr><th>Ato</th><th>Seção</th></tr>' +
'<tr><td>Casamento e pacto antenupcial</td><td>4.4 e 8.2</td></tr>' +
'<tr><td>União estável: escritura, termo, Livro E</td><td>12.5</td></tr>' +
'<tr><td>Conversão de união estável em casamento</td><td>13.3.2</td></tr>' +
'<tr><td>Mudança de regime na união estável</td><td>8.3.5</td></tr>' +
'<tr><td>Sobrenome do cônjuge durante o casamento</td><td>7.2.3</td></tr>' +
'<tr><td>Divórcio e dissolução consensuais</td><td>10.4 e 13.3.4</td></tr>' +
'<tr><td>Reconhecimento de filho e socioafetivo (mais de 12 anos)</td><td>16.1.7 e 16.1.8</td></tr>' +
'<tr><td>Autocuratela</td><td>25.3</td></tr>' +
'</table>' },
{ t: 'q', kind: 'mc', sec: 's272',
q: 'Carla e Davi querem se divorciar em cartório. Têm um filho de 8 anos, e a guarda, a convivência e os alimentos já foram fixados pelo juiz. É possível?',
opts: [
{ t: 'Sim, desde a Resolução CNJ 571/2024, porque as questões do filho já foram resolvidas em juízo.', ok: true, why: 'A Resolução 571 alterou a Resolução 35 para admitir o divórcio em cartório nesse caso (seção 10.4.2).' },
{ t: 'Não, filhos menores sempre impedem o divórcio em cartório.', ok: false, why: 'Era a regra até 2024.' },
{ t: 'Sim, e o cartório pode fixar a guarda.', ok: false, why: 'Guarda, convivência e alimentos precisam ser resolvidos antes, em juízo.' },
{ t: 'Só se um deles não concordar.', ok: false, why: 'O divórcio em cartório exige consenso.' }
] },
{ t: 'html', sec: 's272', html:
'<h2>O que ainda exige juiz, e o que pode mudar</h2>' +
'<div class="g2">' +
'<div class="cd coral"><h4>Ainda judicial</h4><p>Todo conflito; fixação inicial de guarda e alimentos de menores; regime de bens no casamento; adoção, tutela, curatela; socioafetivo de menores de 12; divórcio unilateral.</p></div>' +
'<div class="cd amber"><h4>Propostas (PL 4/2025)</h4><p>Divórcio com filhos por escritura, com aprovação do MP; divórcio unilateral; regime de bens por escritura; adoção de maiores em cartório; TDA no Registro Civil.</p></div>' +
'</div>' +
'<div class="note">Maio de 2026: comissão da Câmara aprovou divórcio unilateral em cartório para vítimas de violência doméstica (PL 3.343/2025), ainda em tramitação.</div>' },
{ t: 'q', kind: 'tf', sec: 's272',
q: 'Hoje, um casal casado pode mudar o regime de bens diretamente no cartório em todo o país.',
ans: false,
why: 'No casamento, a lei federal ainda exige processo judicial (CC, art. 1.639, § 2º); a via do cartório existe para a união estável (Provimento CNJ 141/2023).' },
{ t: 'q', kind: 'mc', sec: 's272',
q: 'Lia quer reconhecer como filho socioafetivo o enteado de 15 anos, que cria desde pequeno. Pode fazê-lo em cartório?',
opts: [
{ t: 'Sim, com o consentimento do adolescente e dos pais registrais e parecer favorável do MP.', ok: true, why: 'O Código Nacional de Normas admite a via extrajudicial para quem tem mais de 12 anos (seção 16.1.8).' },
{ t: 'Não, o socioafetivo é sempre judicial.', ok: false, why: 'Acima de 12 anos, há a via extrajudicial.' },
{ t: 'Sim, sem consentimento de ninguém.', ok: false, why: 'Os consentimentos e o parecer do MP são exigidos.' },
{ t: 'Só se ele tiver menos de 12 anos.', ok: false, why: 'É o contrário: abaixo de 12 anos, só na Justiça.' }
] },
/* ---------- TESTE FINAL ---------- */
{ t: 'html', sec: 'fin', html:
'<div class="cover" style="min-height:330px">' +
'<h2 style="font-size:1.6rem">Teste final</h2>' +
'<p class="lede">Questões novas, misturando os dois blocos. Responda antes de olhar o texto: errar aqui também ensina.</p>' +
'<div class="band"><small>Depois do teste</small>Você verá o seu placar, com o resultado por bloco, e poderá revisar o vocabulário do capítulo.</div>' +
'</div>' },
{ t: 'q', kind: 'mc', sec: 'fin',
q: 'Na ação de guarda, antes da audiência de mediação, o que o juiz deve perguntar às partes e ao MP desde a Lei 14.713/2023?',
opts: [
{ t: 'Se há risco de violência doméstica ou familiar, fixando cinco dias para provas ou indícios.', ok: true, why: 'É o art. 699-A do CPC.' },
{ t: 'Se as partes aceitam a guarda compartilhada.', ok: false, why: 'Não é essa a pergunta prevista.' },
{ t: 'Qual é a renda de cada um.', ok: false, why: 'Não é o objeto do art. 699-A.' },
{ t: 'Se desejam conciliação ou mediação.', ok: false, why: 'A pergunta legal é sobre risco de violência.' }
] },
{ t: 'q', kind: 'tf', sec: 'fin',
q: 'A audiência de mediação e conciliação nas ações de família pode ser dividida em quantas sessões forem necessárias.',
ans: true,
why: 'É o art. 696 do CPC, sem prejuízo das providências urgentes.' },
{ t: 'q', kind: 'tf', sec: 'fin',
q: 'A conversão da união estável em casamento pode ser pedida diretamente ao Registro Civil, sem juiz.',
ans: true,
why: 'É o art. 70-A da Lei de Registros Públicos, incluído pela Lei 14.382/2022 (seção 13.3.2).' },
{ t: 'score' },
{ t: 'flips' },
{ t: 'end' }
];
var FLIPS = [
['Ações de família', 'Processos de divórcio, união estável, guarda, visitação e filiação com rito especial (CPC, art. 693).'],
['Mediação', 'Método para quem tem vínculo anterior: o terceiro ajuda as partes a dialogar (CPC, art. 165, § 3º).'],
['Conciliação', 'Método para quem não tem vínculo anterior: o terceiro pode sugerir soluções.'],
['CEJUSC', 'Centro Judiciário de Solução de Conflitos e Cidadania (Resolução CNJ 125/2010).'],
['Extrajudicialização', 'Transferência ao cartório de atos que antes exigiam juiz, quando há acordo.'],
['Termo declaratório', 'Formalização da união estável no Registro Civil (Lei 14.382/2022).'],
['Código Nacional de Normas', 'Consolidação das regras do CNJ para os cartórios (Provimento 149/2023).'],
['Resolução CNJ 571/2024', 'Admite divórcio e inventário em cartório com menores, nas condições fixadas.']
];
var RECAP = [
'O CPC criou um procedimento especial para as ações de família, centrado no consenso (art. 694).',
'A citação vai sem a inicial, e a audiência pode ter quantas sessões forem necessárias.',
'Mediação é o método indicado para quem tem vínculo anterior, como na família.',
'O MP só intervém com incapaz ou vítima de violência; a criança é ouvida com especialista.',
'O cartório já faz casamento, união estável, conversão, divórcio consensual e reconhecimento de filhos.',
'Com filhos menores, o divórcio em cartório exige que guarda e alimentos já tenham sido resolvidos em juízo.',
'Conflitos, adoção, tutela, curatela e regime de bens no casamento ainda exigem juiz.',
'O Direito de Família atual combina mais autonomia com mais proteção dos vulneráveis.'
];
var LETTERS = ['A', 'B', 'C', 'D'];
var idx = 0, dir = 1, answers = {};
function shuffle(a) {
for (var i = a.length - 1; i > 0; i--) {
var j = Math.floor(Math.random() * (i + 1));
var t = a[i]; a[i] = a[j]; a[j] = t;
}
return a;
}
SLIDES.forEach(function (s) {
if (s.t === 'q' && s.kind === 'mc') s.order = shuffle(s.opts.map(function (_, i) { return i; }));
});
var stage = document.getElementById('stage');
var bar = document.getElementById('bar');
var count = document.getElementById('count');
var prevB = document.getElementById('prev');
var nextB = document.getElementById('next');
function esc(s) { return String(s).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>'); }
function secTag(key, extra) {
if (key === 'gen') return '<span class="sec c-navy">' + (extra || ('Capítulo ' + CAP.num)) + '</span>';
var s = SEC[key];
var label = s.short === 'Teste' ? s.nome : s.short + ' · ' + s.nome;
return '<span class="sec ' + s.tag + '">' + label + '</span>' + (extra ? '<span class="qkind">' + extra + '</span>' : '');
}
function isRight(s, picked) {
if (s.kind === 'tf') return (picked === 0) === s.ans;
return s.opts[s.order[picked]].ok;
}
function countQs() { return SLIDES.filter(function (s) { return s.t === 'q'; }).length; }
function render() {
var s = SLIDES[idx];
var el = document.createElement('div');
el.className = 'dk-slide' + (dir > 0 ? ' in-r' : (dir < 0 ? ' in-l' : ''));
if (s.t === 'cover') {
el.innerHTML = '<div class="cover">' + secTag('gen', 'Síntese interativa') +
'<h1>' + CAP.titulo + '</h1>' +
'<p class="lede">Revise o capítulo em cartões curtos e teste o que aprendeu ao longo do caminho. Escolha uma alternativa e a resposta aparece na hora, sempre com o porquê.</p>' +
'<div class="how"><div><b>' + SLIDES.length + ' cartões</b>síntese dos ' + CAP.blocos + '</div><div><b>' + countQs() + ' perguntas</b>verdadeiro ou falso e múltipla escolha</div><div><b>Placar no fim</b>com o resultado por bloco</div></div>' +
'<div><button class="dk-btn primary" type="button" id="go">Começar →</button></div></div>';
} else if (s.t === 'html') {
el.innerHTML = secTag(s.sec, s.label) + s.html;
} else if (s.t === 'q') {
el.innerHTML = buildQ(s);
} else if (s.t === 'score') {
el.innerHTML = buildScore();
} else if (s.t === 'flips') {
el.innerHTML = buildFlips();
} else if (s.t === 'end') {
el.innerHTML = buildEnd();
}
stage.innerHTML = '';
stage.appendChild(el);
wire(el, s);
updateMeta();
}
function buildQ(s) {
var picked = answers[idx], done = picked !== undefined;
var h = secTag(s.sec, s.kind === 'tf' ? 'Verdadeiro ou falso' : 'Múltipla escolha');
h += '<p class="qtext">' + esc(s.q) + '</p>';
if (s.kind === 'tf') {
var right = s.ans ? 0 : 1;
h += '<div class="tf">';
['Verdadeiro', 'Falso'].forEach(function (lab, i) {
var cls = 'opt';
if (done) cls += (i === right) ? ' correct' : (i === picked ? ' wrong' : ' muted');
h += '<button type="button" class="' + cls + '" data-i="' + i + '"' + (done ? ' disabled' : '') + '>' + lab + '</button>';
});
h += '</div>';
var ok = done && isRight(s, picked);
h += '<div class="fb ' + (done ? 'on ' : '') + (ok ? 'good' : 'bad') + '"><b>' +
(ok ? 'Isso mesmo.' : 'Não é bem assim.') + ' A afirmação é ' + (s.ans ? 'verdadeira' : 'falsa') + '.</b>' + esc(s.why) + '</div>';
} else {
var rightPos = -1;
s.order.forEach(function (oi, p) { if (s.opts[oi].ok) rightPos = p; });
h += '<div class="opts">';
s.order.forEach(function (oi, p) {
var o = s.opts[oi], cls = 'opt';
if (done) cls += ' shown' + ((p === rightPos) ? ' correct' : (p === picked ? ' wrong' : ' muted'));
h += '<button type="button" class="' + cls + '" data-i="' + p + '"' + (done ? ' disabled' : '') + '>' +
'<span class="lt">' + LETTERS[p] + '</span><span class="tx">' + esc(o.t) +
'<span class="why">' + esc(o.why) + '</span></span></button>';
});
h += '</div>';
if (s.retain) h += '<div class="retain' + (done ? ' on' : '') + '"><b>Vale reter:</b> ' + esc(s.retain) + '</div>';
}
return h;
}
function tally() {
var by = {}, hits = 0, total = 0, skipped = 0;
SLIDES.forEach(function (s, i) {
if (s.t !== 'q') return;
total++;
if (!by[s.sec]) by[s.sec] = { ok: 0, n: 0, sk: 0 };
by[s.sec].n++;
if (answers[i] === undefined) { skipped++; by[s.sec].sk++; return; }
if (isRight(s, answers[i])) { hits++; by[s.sec].ok++; }
});
return { by: by, hits: hits, total: total, skipped: skipped };
}
function buildScore() {
var r = tally();
var pct = r.total ? Math.round(r.hits / r.total * 100) : 0;
var msg = pct >= 85 ?
'Excelente. Você concluiu o último capítulo do ebook com segurança. Parabéns pelo percurso!' :
(pct >= 60 ?
'Bom resultado. Volte aos blocos em que errou mais. Os pontos que mais confundem são as regras do CPC sobre a audiência e o que exige juiz.' :
'Vale reler o capítulo com calma. Ele também serve de mapa de revisão: use as remissões para voltar aos capítulos anteriores.');
var h = secTag('gen', 'Seu placar');
h += '<div class="score"><div class="big">' + r.hits + '/' + r.total + '</div><div class="lbl">' + pct + '% de acerto</div></div>';
h += '<div class="msg">' + msg + '</div><div class="brk">';
ORDER.forEach(function (k) {
var d = r.by[k]; if (!d) return;
var cls = d.ok === d.n ? 'full' : (d.ok === 0 && d.sk === 0 ? 'none' : 'part');
h += '<div class="row"><span class="sec ' + SEC[k].tag + '">' + SEC[k].short + '</span>' +
'<span class="t">' + SEC[k].nome + '</span><span class="v ' + cls + '">' + d.ok + '/' + d.n + '</span></div>';
});
h += '</div>';
if (r.skipped) h += '<p class="skip">' + r.skipped + (r.skipped === 1 ? ' pergunta ficou' : ' perguntas ficaram') + ' sem resposta. Volte com "Anterior" para respondê-' + (r.skipped === 1 ? 'la' : 'las') + '.</p>';
return h;
}
function buildFlips() {
var h = secTag('gen', 'Revisão de vocabulário');
h += '<h2>Vire os cartões</h2><p class="lede">Tente lembrar o significado antes de clicar. Estes cartões não contam pontos.</p><div class="flips">';
FLIPS.forEach(function (c) {
h += '<button type="button" class="flip" aria-label="Virar cartão: ' + esc(c[0]) + '"><span class="in">' +
'<span class="fa"><b>' + esc(c[0]) + '</b><span>clique para ver o significado</span></span>' +
'<span class="fv">' + esc(c[1]) + '</span></span></button>';
});
return h + '</div>';
}
function buildEnd() {
var h = secTag('gen', 'Resumo final');
h += '<h2>O capítulo em ' + RECAP.length + ' frases</h2><ol class="recap">';
RECAP.forEach(function (r) { h += '<li>' + esc(r) + '</li>'; });
h += '</ol><div class="next"><span><small>Próximo capítulo</small>' + CAP.proximo + '</span>' +
'<button class="dk-btn ghost" type="button" id="again">Refazer o baralho</button></div>';
return h;
}
function wire(el, s) {
var go = el.querySelector('#go');
if (go) go.addEventListener('click', function () { move(1); });
if (s.t === 'q') {
el.querySelectorAll('.opt').forEach(function (b) {
b.addEventListener('click', function () {
if (answers[idx] !== undefined) return;
answers[idx] = parseInt(b.getAttribute('data-i'), 10);
dir = 0; render();
});
});
}
if (s.t === 'flips') {
el.querySelectorAll('.flip').forEach(function (f) {
f.addEventListener('click', function () { f.classList.toggle('on'); });
});
}
var again = el.querySelector('#again');
if (again) again.addEventListener('click', function () {
answers = {};
SLIDES.forEach(function (x) { if (x.t === 'q' && x.kind === 'mc') x.order = shuffle(x.order); });
idx = 0; dir = -1; render();
});
}
function updateMeta() {
bar.style.width = ((idx + 1) / SLIDES.length * 100) + '%';
count.textContent = 'Cartão ' + (idx + 1) + ' de ' + SLIDES.length + ' · ' + (function (h) { return h + (h === 1 ? ' acerto' : ' acertos'); })(tally().hits);
prevB.disabled = idx === 0;
nextB.disabled = idx === SLIDES.length - 1;
nextB.textContent = SLIDES[idx + 1] && SLIDES[idx + 1].t === 'score' ? 'Ver placar →' : 'Próximo →';
}
function move(d) {
var n = idx + d;
if (n < 0 || n >= SLIDES.length) return;
idx = n; dir = d; render();
stage.focus({ preventScroll: true });
}
prevB.addEventListener('click', function () { move(-1); });
nextB.addEventListener('click', function () { move(1); });
document.addEventListener('keydown', function (e) {
if (e.key === 'ArrowRight') move(1);
else if (e.key === 'ArrowLeft') move(-1);
});
var x0 = null, y0 = null;
stage.addEventListener('touchstart', function (e) { x0 = e.touches[0].clientX; y0 = e.touches[0].clientY; }, { passive: true });
stage.addEventListener('touchend', function (e) {
if (x0 === null) return;
var dx = e.changedTouches[0].clientX - x0, dy = e.changedTouches[0].clientY - y0;
if (Math.abs(dx) > 50 && Math.abs(dx) > Math.abs(dy) * 1.4) move(dx < 0 ? 1 : -1);
x0 = null;
});
render();
})();
</script>
</body>
</html>