/* Identidade comum: preto, dourado, verde e branco. A fonte de cada dado permanece visível. */
:root { --ale-verde:#176448; --ale-verde-escuro:#173e2f; --ale-ouro:#b28627; --ale-ouro-claro:#e9d69b; --ale-nevoa:#f1f5ee; --ale-preto:#202b25; --linha:#d5dcd2; --papel-fundo:#f4f6f0; }
[hidden] { display:none!important; }
body { accent-color:var(--ale-verde); }
.barra,.topo { border-bottom-color:#c6d0c2; box-shadow:0 2px 12px #162f1b06; }
.barra .marca { color:var(--ale-verde); flex-shrink:0; }
.menu a:hover,.menu a.aqui { color:var(--ale-verde); border-bottom-color:var(--ale-ouro); }
.btn-mapa { color:var(--ale-verde); }
.mapa-painel { border-left:4px solid var(--ale-ouro); }
.mapa-grupo h2 { color:var(--ale-verde); }
.mapa-grupo a:hover { color:var(--ale-verde); }
.folha-cabeca { border-bottom:2px solid var(--ale-ouro); }
.folha-cabeca h1 { color:var(--ale-verde-escuro); }
.folha-rotulo { color:var(--ale-verde); }
.folha h2[id],.folha h3[id],.ex-grafico,.ex-etapas { scroll-margin-top:90px; }
.folha .bloco > h2,.folha .bloco > h3 { color:var(--ale-verde-escuro); }
.folha .economia-placar h2 { color:white; }
.lamina { border-left:3px solid var(--ale-ouro); background:linear-gradient(90deg,#f6f3e9,transparent); padding-right:1rem; }
.mec-num { color:var(--ale-verde); }
.juramento { border-color:var(--ale-ouro); background:#f8f7f0; }
.cena { background:radial-gradient(ellipse at 50% 30%,#e7efdf80,transparent 65%); }
.cena h1 { color:var(--ale-verde-escuro); }
.lema-porta { color:#795d20; }
.caminho { border-color:#a9bba7; transition:transform .25s,background .25s; }
.caminho:hover { background:var(--ale-verde); border-color:var(--ale-verde); color:white; transform:translateY(-3px); }
.ressalva-porta p { border-top-color:var(--ale-ouro); }
.rodape { border-top-color:var(--ale-ouro); }
.frontispicio { border-top:3px solid var(--ale-ouro); background:linear-gradient(145deg,#f4f6ed,white 70%); padding-top:2rem; }
.frontispicio h1,.cabeca-titulo .nome { color:var(--ale-verde-escuro); }
.cabeca-titulo .rotulo,.cabeca-cap .rotulo,.res-num { color:var(--ale-verde); }
.art:target { border-left-color:var(--ale-ouro); background:#f8f7eb; }
.par:target { background:#f3efd9; }
.res-trecho mark { background:#e9d69b; }
a.ref:hover { color:var(--ale-verde); border-color:var(--ale-verde); }
body :focus-visible { outline:3px solid var(--ale-verde); outline-offset:4px; }
.ex-selo { font:11px/1.6 var(--sem-serifa); text-transform:uppercase; letter-spacing:.13em; color:var(--ale-verde); margin:0 0 12px!important; }
.ex-guia { background:linear-gradient(120deg,#f0f5ec,#fbf9f1); border-left:3px solid var(--ale-ouro); padding:26px 28px; margin:0 0 40px; }
.ex-guia h2 { font:400 26px/1.25 var(--serifa); color:var(--ale-verde-escuro); margin:0 0 14px; letter-spacing:-.02em; }
.ex-guia > p:not(.ex-selo) { font:14px/1.8 var(--sem-serifa); margin:0 0 12px; }
.ex-guia-constituicao { max-width:var(--medida); margin:0 auto 45px; }
.ex-guia details { margin:16px 0 0; border-top:1px solid #d2dbc9; padding-top:14px; }
.ex-guia summary { cursor:pointer; font:13px/1.6 var(--sem-serifa); padding:6px 0; }
.ex-indice nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 24px; margin:14px 0 0; max-height:430px; overflow:auto; }
.ex-indice a { display:block; font:13px/1.6 var(--sem-serifa); padding:10px 0; text-decoration:none; border-bottom:1px solid #dbe1d5; }
.ex-indice a:hover { text-decoration:underline; color:var(--ale-verde); }
.ex-termos dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 25px; font:12px/1.75 var(--sem-serifa); margin:16px 0 4px; }
.ex-termos dt { font-weight:600; color:var(--ale-verde-escuro); }
.ex-termos dd { margin:3px 0 0; }
.ex-portas { max-width:1080px; margin:85px auto 0; padding:0 28px; }
.ex-portas > h2 { font:400 clamp(29px,4vw,45px)/1.2 var(--serifa); margin:18px 0 35px; letter-spacing:-.03em; }
.ex-portas > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ex-portas a { display:flex; flex-direction:column; text-decoration:none; padding:28px; background:#f2f5ee; border-top:3px solid var(--ale-verde); transition:transform .3s,box-shadow .3s; }
.ex-portas a:nth-child(2) { border-color:var(--ale-ouro); background:#f8f5e9; }
.ex-portas a:nth-child(3) { border-color:var(--ale-preto); }
.ex-portas a:hover { transform:translateY(-5px); box-shadow:0 10px 28px #1c362411; }
.ex-portas span { font:11px/1.6 var(--sem-serifa); text-transform:uppercase; letter-spacing:.12em; }
.ex-portas h3 { font:400 27px/1.2 var(--serifa); margin:22px 0 14px; color:var(--ale-verde-escuro); }
.ex-portas p { font:14px/1.8 var(--sem-serifa); }
.ex-portas b { font:12px/1.5 var(--sem-serifa); margin-top:auto; padding-top:18px; }
.ex-grafico,.ex-etapas { margin:35px 0; padding:30px; border:1px solid #d5dfd0; border-top:3px solid var(--ale-verde); background:#fafbf7; }
.ex-grafico h3,.ex-etapas > h3 { font:400 29px/1.2 var(--serifa); letter-spacing:-.02em; margin:0 0 18px; color:var(--ale-verde-escuro); }
.ex-grafico figcaption > p:not(.ex-selo) { font:14px/1.8 var(--sem-serifa); margin-bottom:20px; }
.ex-controles { display:flex; flex-wrap:wrap; gap:14px; align-items:end; margin:24px 0; }
.ex-controles label { font:12px/1.5 var(--sem-serifa); flex:1 1 200px; }
.ex-controles select { display:block; width:100%; margin-top:8px; padding:12px; background:white; border:1px solid #a9bca3; font:14px var(--sem-serifa); color:#173e2f; min-height:44px; }
.ex-controles button,.ex-etapas-botoes button { padding:12px 16px; min-height:44px; cursor:pointer; color:#173e2f; background:white; border:1px solid #b7c5af; font:12px/1.5 var(--sem-serifa); }
.ex-controles button[aria-pressed=true] { color:white; background:var(--ale-verde); }
.ex-unidade { font:12px/1.7 var(--sem-serifa); color:var(--ale-verde-escuro); }
.ex-escala,.ex-fonte { font:12px/1.8 var(--sem-serifa); color:#515e50; margin:16px 0!important; }
.ex-barras { display:grid; gap:4px; margin-top:25px; }
.ex-barra { display:block; border:1px solid transparent; padding:14px 12px; background:transparent; color:#202b25; text-align:left; width:100%; cursor:pointer; }
.ex-barra[disabled] { cursor:default; }
.ex-barra[aria-pressed=true] { background:#edf3e7; border-color:#b9cbb1; }
.ex-barra:hover:not(:disabled) { background:#f0f4e9; }
.ex-barra-cabeca { display:flex; justify-content:space-between; gap:20px; font:13px/1.6 var(--sem-serifa); }
.ex-barra-cabeca strong { white-space:nowrap; font-weight:600; }
.ex-trilho { display:block; height:13px; background:#e2e8dc; margin:10px 0 0; }
.ex-pista { display:block; height:100%; }
.ex-pista > i { height:100%; display:block; background:var(--ale-verde); transform-origin:left; transition:width .7s cubic-bezier(.22,1,.36,1); }
.ex-pista > i.ex-negativo { background:repeating-linear-gradient(135deg,#967020 0,#967020 4px,#ebdca9 4px,#ebdca9 7px); }
.ex-leitura { border-left:3px solid var(--ale-ouro); padding:20px 24px; background:white; margin-top:25px; }
.ex-leitura h4 { font:400 24px/1.3 var(--serifa); margin:0 0 15px; color:#173e2f; }
.ex-leitura dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 25px; margin:0; }
.ex-leitura dt { font:12px/1.6 var(--sem-serifa); color:#566050; }
.ex-leitura dd { margin:5px 0 0; font:15px/1.6 var(--sem-serifa); overflow-wrap:anywhere; }
.ex-etapas { border-top-color:var(--ale-ouro); }
.ex-etapas-botoes { display:flex; gap:10px; overflow:auto; padding:8px 4px 18px; }
.ex-etapas-botoes button { flex:1 0 130px; text-align:left; transition:background .3s,color .3s; }
.ex-etapas-botoes button span { display:block; color:#7a601d; margin-bottom:12px; font:24px var(--serifa); }
.ex-etapas-botoes button[aria-pressed=true] { background:#173e2f; color:white; border-color:#173e2f; }
.ex-etapas-botoes button[aria-pressed=true] span { color:#e9d69b; }
.ex-etapa-conteudo { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; padding-top:20px; }
.ex-etapa-conteudo h4 { font:400 22px/1.3 var(--serifa); margin:0 0 12px; color:#173e2f; }
.ex-etapa-conteudo p { font:14px/1.8 var(--sem-serifa); margin:0; }
.ex-tabela-rolagem { max-width:100%; overflow:auto; margin-bottom:24px; }
.ex-tabela-dica { font:12px/1.6 var(--sem-serifa); color:#52604e; margin:10px 0; }
.tabela-programa thead th,.calc-tabela thead th { background:#edf3e7; color:#173e2f; }
.tabela-programa tbody tr:hover,.calc-tabela tbody tr:hover { background:#f7f8f1; }
.ex-progresso { position:fixed; left:0; bottom:0; width:100%; height:3px; z-index:40; background:transparent; pointer-events:none; }
.ex-progresso i { display:block; height:100%; width:100%; transform:scaleX(0); transform-origin:left; background:var(--ale-ouro); }
[data-motion-site] :is(.ex-pista > i,.economia-barra,.calc-barra-brasil,.calc-barra-alegoria,.ol-trilho > span) { transform-origin:left center; }
[data-motion-site] [data-barra-ano] { transform-origin:center bottom; }
[data-motion-ready] :is(.caminho,.ex-portas a):hover { transform:none; }
.ex-ferramentas { display:flex; gap:18px; justify-content:center; align-items:center; flex-wrap:wrap; padding:22px; border-top:1px solid var(--linha); font:12px/1.5 var(--sem-serifa); }
.ex-ferramentas button { border:1px solid #afbeaa; background:white; color:#173e2f; padding:12px 16px; min-height:44px; cursor:pointer; font:inherit; }
.ex-ferramentas button[aria-pressed=true] { background:#173e2f; color:white; }
.ex-ferramentas button:disabled { cursor:default; }
/* Gráficos já existentes: mesma linguagem, mesmos valores. */
.economia-placar { background:var(--ale-preto); border-top:4px solid var(--ale-ouro); }
.economia .economia-numero-destaque strong { color:#ead79b; }
.economia .economia-barra-atual { background:#d9bd70; }
.economia .economia-barra-alegoria { background:#6eb28d; }
.economia .economia-barra { height:12px; transition:width .7s cubic-bezier(.22,1,.36,1); }
.economia-cartao strong { color:#176448; }
.economia-presets button.ativo,.economia-presets button:hover { background:#176448; color:white; border-color:#176448; }
.economia .economia-metodo { background:linear-gradient(115deg,#eef4e9,#faf9f1); border-left:3px solid #b28627; }
.calculadora .calc-placar { padding:25px; background:#f0f5ea; border-top:3px solid #b28627; }
.calculadora .calc-destaque { border-color:#b28627; }
.calculadora .calc-placar strong { color:#176448; }
.calculadora .calc-barra-brasil { background:#b28627; }
.calculadora .calc-barra-alegoria { background:#176448; }
.calculadora .calc-barra-fundo { height:12px; }
.calculadora .calc-barra-brasil,.calculadora .calc-barra-alegoria { transition:width .7s cubic-bezier(.22,1,.36,1); }
.calculadora .calc-medida[open] { background:#f5f7f0; }
.calculadora .calc-medida summary { border-left:3px solid #b28627; padding-left:16px; }
.calculadora button:hover { border-color:#176448; background:#edf3e8; }
.calculadora #conta-app dl { background:#f0f5ea; padding:24px; border-top:3px solid #b28627; }
.calculadora #conta-app dd { color:#176448; }
.prosperidade .prosperidade-hero { background:linear-gradient(130deg,#202b25,#123c2a); border-bottom:4px solid #b28627; }
.prosperidade .prosperidade-hero h1 em,.prosperidade .prosperidade-alvo strong { color:#ead79b; }
.prosperidade .prosperidade-curva { stroke:#176448; stroke-width:4; }
.prosperidade .prosperidade-curva-referencia { stroke:#947020; }
.prosperidade .prosperidade-meta { stroke:#202b25; }
.prosperidade #prosperidade-ponto { fill:#176448; stroke:white; stroke-width:3; transition:cx .45s,cy .45s; }
.prosperidade .prosperidade-marcador { stroke:#176448; transition:x1 .45s,x2 .45s; }
.prosperidade .prosperidade-interacao input { accent-color:#176448; }
.prosperidade .prosperidade-leitura { border-left:3px solid #b28627; background:#eef4e8; }
.ex-chave { display:flex; gap:18px; flex-wrap:wrap; font:12px/1.6 var(--sem-serifa); margin:20px 0; }
.ex-chave span { display:flex; gap:8px; align-items:center; }
.ex-chave i { width:23px; height:3px; background:#176448; }
.ex-chave .ex-chave-referencia { background:repeating-linear-gradient(90deg,#947020 0,#947020 5px,transparent 5px,transparent 8px); }
.ex-chave .ex-chave-meta { background:repeating-linear-gradient(90deg,#202b25 0,#202b25 2px,transparent 2px,transparent 5px); }
.ex-anos { display:flex; gap:6px; flex-wrap:wrap; margin:18px 0; }
.ex-anos button { background:white; border:1px solid #b0c2a9; color:#173e2f; padding:10px 14px; min-width:44px; min-height:44px; cursor:pointer; font:13px var(--sem-serifa); }
.ex-anos button[aria-pressed=true] { background:#176448; color:white; }
.ex-sem-movimento *, .ex-sem-movimento *:before,.ex-sem-movimento *:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
@media(min-width:1100px) {
 .ex-grafico,.ex-etapas { width:980px; margin-left:calc((100% - 980px)/2); }
 .ex-grafico { display:grid; grid-template-columns:1.2fr 1fr; column-gap:30px; }
 .ex-grafico > figcaption,.ex-grafico > .ex-controles,.ex-grafico > .ex-unidade,.ex-grafico > .ex-escala,.ex-grafico > .ex-fonte { grid-column:1 / -1; }
 .ex-grafico > .ex-barras { margin-top:5px; }
 .ex-grafico > .ex-leitura { align-self:start; margin-top:5px; }
}
@media(max-width:760px) {
 .barra { gap:15px; min-height:57px; }
 .barra .menu { flex-wrap:nowrap; gap:18px; }
 .barra .menu > a { display:none; }
 .barra .menu > a[href="economia.html"] { display:block; }
 .barra .btn-mapa { min-height:44px; }
 .topo { flex-wrap:wrap; gap:8px; }
 .topo .marca { width:100%; }
 .topo .ferramentas { width:100%; }
 .topo .campo { flex:1; min-width:0; }
 .topo #busca { width:100%; min-width:0; }
 #resultados { top:104px; }
 .ex-guia { padding:23px 20px; margin-bottom:28px; }
 .ex-guia h2 { font-size:25px; }
 .ex-indice nav,.ex-termos dl,.ex-portas > div,.ex-leitura dl,.ex-etapa-conteudo { grid-template-columns:1fr; }
 .ex-grafico,.ex-etapas { padding:22px 17px; }
 .ex-grafico h3,.ex-etapas > h3 { font-size:27px; }
 .ex-barra { padding:14px 6px; }
 .ex-barra-cabeca { flex-wrap:wrap; gap:6px 15px; }
 .ex-barra-cabeca > span { flex-basis:100%; }
 .ex-leitura { padding:20px 17px; }
 .ex-portas { margin-top:65px; padding:0 22px; }
 .ex-guia-constituicao { margin-inline:0; }
 .calculadora #conta-app dl { padding:18px; }
}
@media(prefers-reduced-motion:reduce) { *,*:before,*:after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
@media print {
 .ex-grafico,.ex-etapas { width:auto; margin-left:0; }
 .ex-ferramentas,.ex-progresso,.ex-controles,.ex-anos { display:none!important; }
 .ex-guia { break-inside:avoid; }
 .ex-grafico,.ex-etapas { break-inside:avoid; }
 .ex-pista > i { print-color-adjust:exact; }
 .ex-tabela-rolagem { overflow:visible; }
}
