:root{--azul:#1F3A5F;--dourado:#C9A227;--papel:#F7F4EE;--tinta:#22252A;--terra:#A9502B;--linha:#DDD6C8;--display:'Fraunces',Georgia,serif;--corpo:'Inter','Segoe UI',sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{background:var(--papel);color:var(--tinta);font-family:var(--corpo);font-size:18px;line-height:1.6;min-height:100vh;display:flex;flex-direction:column}
main{flex:1;width:100%;max-width:760px;margin:0 auto;padding:32px 20px 56px}
a{color:var(--terra)}
:focus-visible{outline:3px solid var(--dourado);outline-offset:2px;border-radius:4px}
h1,h2,h3{font-family:var(--display);color:var(--azul);line-height:1.15}
h1{font-size:clamp(38px,8vw,58px);letter-spacing:-.5px;margin-bottom:16px}
h2{font-size:28px;margin:32px 0 8px}
h3{font-size:22px;margin-bottom:4px}
p+p{margin-top:12px}
.topo{background:var(--azul);color:var(--papel)}
.topo-in{max-width:960px;margin:0 auto;padding:8px 20px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 16px}
.marca{font-family:var(--display);font-weight:700;font-size:26px;color:var(--papel);text-decoration:none;display:inline-flex;align-items:center;min-height:44px}
.marca b{color:var(--dourado)}
nav{display:flex;flex-wrap:wrap;margin:0 -10px}
nav a{color:var(--papel);text-decoration:none;font-weight:600;font-size:16px;padding:0 10px;min-height:44px;display:inline-flex;align-items:center}
nav a[aria-current=page]{color:var(--dourado)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;background:var(--azul);color:var(--papel);border:0;border-radius:12px;font:700 18px var(--corpo);text-decoration:none;cursor:pointer}
.btn:hover{background:#172D4A}
.btn:disabled{opacity:.55;cursor:default}
.lead{font-size:21px;margin-bottom:24px}
.nota{font-size:16px;color:#55585E}
.card{display:block;background:#fff;border:1px solid var(--linha);border-radius:16px;padding:20px 22px;margin-top:14px;color:inherit;text-decoration:none}
a.card:hover{border-color:var(--dourado)}
.card p{margin:0}
.etiqueta{font-weight:700;font-size:15px;color:var(--terra)}
.citacao{font-family:var(--display);font-size:27px;line-height:1.25;color:var(--azul);border-left:5px solid var(--dourado);padding-left:18px;margin:20px 0}
.aviso{background:#FBF1DA;border:1px solid #E7D49C;border-radius:12px;padding:12px 16px;font-size:16px;margin-bottom:20px}
details{border-bottom:1px solid var(--linha)}
summary{cursor:pointer;font-weight:700;padding:12px 0;min-height:44px}
details p{padding-bottom:14px}
.chat{display:flex;flex-direction:column;gap:12px;margin:18px 0}
.msg{padding:12px 16px;border-radius:16px;max-width:90%;white-space:pre-wrap;overflow-wrap:anywhere}
.msg.user{align-self:flex-end;background:var(--azul);color:var(--papel);border-bottom-right-radius:4px}
.msg.bot{align-self:flex-start;background:#fff;border:1px solid var(--linha);border-bottom-left-radius:4px}
.msg.erro{align-self:center;background:#FBF1DA;border:1px solid #E7D49C;font-size:16px}
.fontes{align-self:flex-start;font-size:15px;color:#55585E;max-width:90%;margin-top:-4px}
.fontes a{display:inline-block;padding:10px 2px}
.conta{color:var(--dourado)!important}
.opcao{display:block;width:100%;min-height:52px;margin-top:10px;padding:12px 16px;text-align:left;background:#fff;border:1px solid #8D8A80;border-radius:12px;font:600 18px var(--corpo);color:var(--tinta);cursor:pointer}
.opcao:disabled{cursor:default;color:var(--tinta)}
.opcao.certa{background:#DDF0E3;border:2px solid #2E7D52}
.opcao.errada{background:#FBE4DF;border:2px solid var(--terra)}
.leitura{margin-top:14px}
.sugestoes{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.sugestoes button{min-height:44px;padding:6px 14px;background:#fff;border:1px solid var(--linha);border-radius:22px;font:600 16px var(--corpo);color:var(--azul);cursor:pointer}
form.envio{display:flex;gap:8px;position:sticky;bottom:0;background:var(--papel);padding:10px 0}
form.envio textarea{flex:1;min-height:52px;max-height:160px;padding:13px 14px;border:1px solid #8D8A80;border-radius:12px;font:18px/1.35 var(--corpo);resize:none;background:#fff;color:var(--tinta)}
.rodape{background:var(--azul);color:var(--papel);font-size:15px;text-align:center;padding:20px}
.rodape a{color:var(--dourado);display:inline-flex;align-items:center;min-height:44px;padding:0 6px}
