/* Garimpo Público: estilo único do site e das páginas do Worker. Sem recurso externo (CSP 'self'). */

/* Fontes auto-hospedadas (OFL, ver fontes/OFL-*.txt) */
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;
  src:url(fontes/archivo-latin-wdth-normal.woff2) format("woff2-variations"),url(fontes/archivo-latin-wdth-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Archivo";font-style:normal;font-display:swap;font-weight:100 900;font-stretch:62% 125%;
  src:url(fontes/archivo-latin-ext-wdth-normal.woff2) format("woff2-variations"),url(fontes/archivo-latin-ext-wdth-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
/* Algarismos do texto vêm do Archivo: o zero cortado do Atkinson ("184.5Ø0") estranha em valor em reais. */
@font-face{font-family:"Algarismos";font-style:normal;font-display:swap;font-weight:100 900;
  src:url(fontes/archivo-latin-wdth-normal.woff2) format("woff2-variations"),url(fontes/archivo-latin-wdth-normal.woff2) format("woff2");
  unicode-range:U+0030-0039}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-display:swap;font-weight:400;
  src:url(fontes/atkinson-hyperlegible-latin-400-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-display:swap;font-weight:400;
  src:url(fontes/atkinson-hyperlegible-latin-ext-400-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-display:swap;font-weight:700;
  src:url(fontes/atkinson-hyperlegible-latin-700-normal.woff2) format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Atkinson Hyperlegible";font-style:normal;font-display:swap;font-weight:700;
  src:url(fontes/atkinson-hyperlegible-latin-ext-700-normal.woff2) format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

:root{
  --leito:#EEF2EF;     /* fundo geral */
  --agua:#0F3A3A;      /* hero, rodapé, botão principal */
  --agua-funda:#0A2B2B;
  --tinta:#142624;     /* texto */
  --cascalho:#5E726D;  /* texto secundário: 4,53:1 no --leito, 5,12:1 no branco */
  --pepita:#F2B705;    /* só preenchimento, foco sobre escuro, ou texto sobre --agua */
  --ouro-escuro:#7A5600;/* ouro para texto/link sobre claro */
  --papel:#FFFFFF;
  --nevoa:#99ACAA;     /* texto claro atenuado sobre --agua: 5,24:1 */
  --espuma:#C1CDCB;    /* texto claro sobre --agua: 7,63:1 */
  --fio:#CBD6D2;       /* bordas finas sobre --leito */
  --titulo:"Archivo","Arial Narrow",Arial,sans-serif;
  --texto:"Algarismos","Atkinson Hyperlegible",Verdana,"Segoe UI",system-ui,sans-serif;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0;background:var(--leito);color:var(--tinta);font-family:var(--texto);font-size:1.125rem;line-height:1.6;
  display:flex;flex-direction:column;min-height:100vh;overflow-wrap:break-word}
main{flex:1 0 auto}
.in{max-width:44rem;margin:0 auto;padding-left:1rem;padding-right:1rem}
p,li,dd{max-width:38rem}
h1,h2,h3,legend{font-family:var(--titulo);font-stretch:112%;font-weight:700;line-height:1.15;letter-spacing:-.005em;color:var(--tinta)}
h1{font-size:2rem;margin:0 0 1rem}
h2{font-size:1.5625rem;margin:0 0 1rem}
a{color:var(--ouro-escuro);text-underline-offset:.15em;text-decoration-thickness:.08em}
a:hover{text-decoration-thickness:.14em}
:focus-visible{outline:3px solid var(--agua);outline-offset:3px}
[tabindex="-1"]:focus{outline:none}

/* Moldura */
.topo{background:var(--agua);color:var(--leito)}
.topo .in{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:4rem}
.topo a{color:var(--leito)}
.marca{font-family:var(--titulo);font-stretch:118%;font-weight:750;font-size:1.0625rem;text-decoration:none;letter-spacing:.005em}
.cta-topo{font-weight:700;text-decoration:underline;text-decoration-color:var(--pepita);text-decoration-thickness:2px;padding:.5rem 0}
.rodape{background:var(--agua);color:var(--espuma);font-size:1rem;margin-top:4rem;padding:2rem 0 2.5rem}
.rodape p{margin:0 0 .5rem}
.rodape strong{color:var(--leito)}
.rodape a{color:var(--pepita)}
.topo :focus-visible,.hero :focus-visible,.rodape :focus-visible{outline-color:var(--pepita)}

.conteudo{padding-top:3rem}
.conteudo>h1{max-width:30rem}

/* Botões */
.botao,button{display:inline-block;font-family:var(--texto);font-size:1.125rem;font-weight:700;line-height:1.3;
  padding:.875rem 1.5rem;min-height:3rem;border:0;border-radius:.25rem;background:var(--agua);color:var(--papel);
  cursor:pointer;text-decoration:none}
.botao:hover,button:hover{background:var(--agua-funda)}
.botao-pepita{background:var(--pepita);color:var(--agua)}
.botao-pepita:hover{background:#FFC928}
button:disabled{opacity:.7;cursor:progress}

/* Hero: a peneira. A quantidade diminui a cada linha; o destaque aumenta. */
.hero{background:var(--agua);color:var(--leito);padding:1.5rem 0 3.5rem}
.peneira>*{margin:0}
.peneira>.p0{color:var(--nevoa);font-size:1.125rem;margin-bottom:.25rem}
.p1,.p2{font-family:var(--titulo);font-weight:600;line-height:1.05}
.p1{color:var(--nevoa);font-size:1.5rem}
.p2{color:var(--espuma);font-size:1.875rem}
.num{font-stretch:125%;font-weight:800;letter-spacing:-.01em}
.p1 .num{font-size:1.6em}
.p2 .num{font-size:1.75em}
.p1::after,.p2::after{content:"";display:block;height:1rem;margin:1rem 0;opacity:.32;
  background-image:repeating-linear-gradient(90deg,var(--leito) 0 1px,transparent 1px var(--malha)),
                   repeating-linear-gradient(0deg,var(--leito) 0 1px,transparent 1px var(--malha))}
.p1::after{--malha:12px}
.p2::after{--malha:6px;opacity:.45}
.p3{display:grid;grid-template-columns:auto 1fr;gap:.625rem;align-items:start;color:var(--papel);
  font-size:2.25rem;font-stretch:100%;font-weight:800;line-height:1.1;max-width:40rem}
.pepita{width:1.05em;height:auto;margin-top:.12em;fill:var(--pepita)}
.peneira>.acao{margin-top:2rem}
.peneira>.nota{color:var(--espuma);font-size:1rem;margin-top:1rem}

@media (prefers-reduced-motion:no-preference){
  .peneira>.p0,.peneira>.p1,.peneira>.p2,.peneira>.p3{animation:desce .36s cubic-bezier(.2,.7,.3,1) both}
  .peneira>.p1{animation-delay:.12s}
  .peneira>.p2{animation-delay:.26s}
  .peneira>.p3{animation-delay:.42s}
  .pepita{animation:assenta .38s cubic-bezier(.3,1.4,.5,1) .56s both}
}
@keyframes desce{from{opacity:0;transform:translateY(-.5rem)}to{opacity:1;transform:none}}
@keyframes assenta{from{opacity:0;transform:translateY(-.6em) scale(.8)}to{opacity:1;transform:none}}

/* Seções da página inicial */
.faixa{padding-top:3.5rem}
.faixa>p{margin:0 0 1.5rem}
.passos{list-style:none;padding:0;margin:0;counter-reset:passo;display:grid;gap:1.5rem}
.passos li{counter-increment:passo;display:grid;grid-template-columns:3.5rem 1fr;column-gap:1rem;align-items:start;align-content:start}
.passos li::before{content:counter(passo);grid-row:span 2;font-family:var(--titulo);font-stretch:125%;font-weight:800;
  font-size:3.5rem;line-height:.9;color:transparent;-webkit-text-stroke:2px var(--agua);paint-order:stroke}
.passos strong{display:block;font-family:var(--titulo);font-stretch:112%;font-size:1.25rem;line-height:1.25;margin-bottom:.25rem}
.linhas{list-style:none;padding:0;margin:0 0 2rem}
.linhas li{padding:.75rem 0;border-top:1px solid var(--fio)}
.linhas li:last-child{border-bottom:1px solid var(--fio)}
.fonte{color:var(--cascalho);font-size:.9375rem;margin-top:1.5rem}

/* Bloco de exemplo: recorte de e-mail */
.bloco{background:var(--papel);border:1px solid var(--fio);border-radius:.25rem;
  padding:1.25rem 1.25rem 1rem;margin:0 0 1rem;font-size:1rem;line-height:1.5}
.bloco p{margin:0}
.bloco-status{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;font-weight:700}
.bloco-fit{display:inline-flex;align-items:center;gap:.5rem;font-weight:400;color:var(--cascalho);font-variant-numeric:tabular-nums}
.medidor{width:4.5rem;height:.5rem}
.medidor-vazio{fill:var(--fio)}
.medidor-cheio{fill:var(--pepita)}
.bloco .bloco-titulo{font-family:var(--titulo);font-stretch:106%;font-weight:700;font-size:1.125rem;line-height:1.3;margin:.5rem 0 1rem}
.bloco dl{margin:0;border-top:1px solid var(--fio)}
.bloco dt{font-weight:700;margin-top:.75rem}
.bloco dd{margin:0 0 .25rem}
.bloco .bloco-portal{margin-top:1rem;color:var(--cascalho);font-size:.9375rem}
.bloco-link{color:var(--ouro-escuro);text-decoration:underline;font-weight:700;margin-right:.25rem}
.bloco .bloco-voto{margin-top:1rem;padding-top:.75rem;border-top:1px solid var(--fio);color:var(--cascalho);font-size:.9375rem}
.voto{display:inline-block;margin-left:.5rem;padding:.125rem .75rem;border:1px solid var(--fio);border-radius:1rem;color:var(--tinta)}
.rodape-bloco{color:var(--cascalho);font-size:.9375rem;margin:0 0 1.5rem}

/* Formulário */
.abre{margin:0 0 2rem}
form fieldset{background:var(--papel);border:1px solid var(--fio);border-radius:.25rem;margin:0 0 1.5rem;padding:1.25rem 1rem 1.5rem;min-width:0}
legend{float:left;width:100%;padding:0;margin:0 0 .75rem;font-size:1.25rem}
legend+*{clear:both}
label{display:block}
.campo{margin:1rem 0 0}
.campo:first-of-type{margin-top:0}
.campo>label{font-weight:700;margin-bottom:.25rem}
.dica{font-size:1rem;color:var(--cascalho);margin:.25rem 0 .75rem}
input[type=text],input[type=email]{width:100%;font:inherit;font-size:1.125rem;padding:.625rem .75rem;min-height:3rem;
  border:1px solid var(--cascalho);border-radius:.25rem;background:var(--papel);color:var(--tinta)}
input[type=checkbox]{width:1.25rem;height:1.25rem;margin:.2rem 0 0;flex:none;accent-color:var(--agua)}

/* UFs: chips quadrados de toque */
.ufs{display:grid;grid-template-columns:repeat(auto-fill,minmax(3.25rem,1fr));gap:.5rem}
.ufs label{position:relative;display:flex;align-items:center;justify-content:center;min-height:3rem;
  border:1px solid var(--cascalho);border-radius:.25rem;font-weight:700;font-variant-numeric:tabular-nums;cursor:pointer;user-select:none}
@supports selector(:has(*)){
  .ufs input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
  .ufs label:has(input:checked){background:var(--agua);border-color:var(--agua);color:var(--papel)}
  .ufs label:has(input:focus-visible){outline:3px solid var(--agua);outline-offset:2px}
}
@supports not selector(:has(*)){.ufs label{gap:.375rem}}

/* Categorias e documentos: linhas largas */
.largas,.arvore{display:grid}
.largas label,.cat>label{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 0;min-height:3rem;cursor:pointer}
.largas label+label,.cat+.cat{border-top:1px solid var(--fio)}
.cat>label{font-weight:700}
.subs{margin:0 0 1rem .5rem;padding:.25rem 0 .25rem 1.25rem;border-left:3px solid var(--pepita)}
.subs[hidden]{display:none}
.subs .dica{margin-top:0}
.subs label{display:flex;gap:.75rem;align-items:flex-start;padding:.375rem 0;min-height:2.75rem;font-weight:400;cursor:pointer}
.subs .n2{margin-left:1.5rem}
@media (prefers-reduced-motion:no-preference){.subs{animation:abre .18s ease-out}}
@keyframes abre{from{opacity:0;transform:translateY(-.25rem)}to{opacity:1;transform:none}}

.valores{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.valores .campo{margin:0}
.armadilha{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.erro{background:var(--papel);color:var(--tinta);border-left:4px solid var(--ouro-escuro);padding:.75rem 1rem;margin:0 0 1.5rem;font-weight:700}
.erro:empty{display:none}
.privacidade{font-size:1rem;color:var(--tinta);margin:0 0 1.5rem}
.privacidade p{margin:0 0 .5rem}
.privacidade ul{margin:0 0 .75rem;padding-left:1.25rem}
.privacidade li{margin-bottom:.375rem}
.enviar{position:sticky;bottom:0;z-index:1;margin:0 -1rem;padding:.75rem 1rem;background:var(--leito);border-top:1px solid var(--fio)}
.enviar button{width:100%}

/* Páginas do Worker (mesma moldura) */
.passagem form{margin:1.5rem 0}

@media (min-width:40rem){
  body{font-size:1.1875rem}
  h1{font-size:2.5rem}
  h2{font-size:1.75rem}
  .hero{padding:2.5rem 0 4.5rem}
  .p0{font-size:1.25rem}
  .p1{font-size:1.875rem}
  .p2{font-size:2.375rem}
  .p3{font-size:3.25rem;gap:.875rem}
  .p1::after,.p2::after{height:1.25rem;margin:1.25rem 0}
  .faixa{padding-top:4.5rem}
  .passos li{grid-template-columns:4.5rem 1fr}
  .passos li::before{font-size:4rem}
  .bloco{padding:1.5rem 1.75rem 1.25rem}
  .bloco dl{display:grid;grid-template-columns:11rem 1fr;column-gap:1.25rem}
  .bloco dt{margin-top:0;padding-top:.75rem}
  .bloco dd{padding-top:.75rem;margin:0}
  form fieldset{padding:1.5rem 1.75rem 1.75rem}
  .valores{max-width:28rem}
  .enviar{position:static;margin:0;padding:0;background:none;border:0}
  .enviar button{width:auto;padding-left:2rem;padding-right:2rem}
}
