/* Estilo editorial (direção A do redesign). Fontes auto-hospedadas (CSP font-src 'self'). */
@font-face { font-family: "Newsreader"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fontes/newsreader-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fontes/public-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fontes/public-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "Public Sans"; font-style: normal; font-weight: 700; font-display: swap; src: url("/fontes/public-sans-latin-700-normal.woff2") format("woff2"); }

:root {
  --papel: #ffffff;
  --papel-2: #f4f2ee;
  --tinta: #111111;
  --tinta-2: #3d3d3d;
  --tinta-3: #5e5e5e;
  --filete: #111111;
  --linha: #e4e1db;
  --destaque: #b3261e;
  --s1: #b3261e; --s2: #111111; --s3: #8c8c8c; --s4: #1b6ca8;
  --serifa: "Newsreader", Georgia, "Times New Roman", serif;
  --sans: "Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --max: 1120px;
  color-scheme: light;
}
* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--papel); color: var(--tinta); font: 16px/1.55 var(--sans); }
a { color: var(--tinta); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--destaque); }
main { max-width: var(--max); margin: 0 auto; padding: 28px 24px 64px; }
:focus-visible { outline: 2px solid var(--destaque); outline-offset: 3px; }

/* cabeçalho */
.topo { border-bottom: 1px solid var(--filete); }
.topo-in { max-width: var(--max); margin: 0 auto; padding: 16px 24px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; }
.marca { font-family: var(--serifa); font-weight: 600; font-size: 28px; letter-spacing: -0.01em; text-decoration: none; }
.selo-previa, .selo { font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; border: 1px solid var(--tinta-3); color: var(--tinta-2); padding: 1px 6px; }
.nav-temas { margin-left: auto; }
.nav-temas ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 20px; }
.nav-temas a, .nav-temas .em-breve { font-size: 13px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; text-decoration: none; display: inline-block; padding: 6px 0; }
.nav-temas a[aria-current] { color: var(--destaque); }
.nav-temas .em-breve { color: var(--tinta-3); font-weight: 600; }

/* títulos */
.trilha { font-size: 0.85rem; color: var(--tinta-3); margin-bottom: 18px; }
.trilha a { color: var(--tinta-3); }
.chapeu { margin: 0 0 10px; font-size: 13px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--destaque); }
h1 { font-family: var(--serifa); font-weight: 600; font-size: clamp(2.1rem, 5.6vw, 3.9rem); line-height: 1.04; letter-spacing: -0.02em; margin: 0; max-width: 20ch; text-wrap: balance; }
.linha-fina { margin: 14px 0 0; font-family: var(--serifa); font-size: clamp(1.15rem, 2.4vw, 1.4rem); line-height: 1.4; color: var(--tinta-2); max-width: 48ch; }
h2 { font-family: var(--serifa); font-weight: 600; font-size: 1.6rem; line-height: 1.2; margin: 0 0 14px; }
.aviso-rascunho { display: inline-block; margin: 18px 0 0; background: #fff4d6; color: #5a4300; padding: 4px 10px; font-size: 0.9rem; }

/* página de gráfico: topo compacto, o gráfico aparece logo */
.pg-grafico .trilha { margin-bottom: 10px; }
.pg-grafico .chapeu { margin-bottom: 6px; }
.pg-grafico h1 { font-size: clamp(1.9rem, 4vw, 2.7rem); max-width: 28ch; }
.pg-grafico .linha-fina { margin-top: 8px; font-size: clamp(1.05rem, 1.8vw, 1.2rem); max-width: 60ch; }
.pg-grafico .aviso-rascunho { margin-top: 12px; font-size: 0.85rem; }

/* números de destaque */
.numeros-bloco { margin: 20px 0 0; padding-top: 10px; border-top: 3px solid var(--filete); }
.rotulo-secao { font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinta-2); margin: 0 0 6px; }
.numeros { margin: 0; padding: 4px 0 12px; border-bottom: 1px solid var(--filete); display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 10px 28px; }
.numero p { margin: 0; }
.numero-rotulo { font-size: 12px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tinta-3); }
.numero-valor { margin-top: 2px !important; font-family: var(--serifa); font-weight: 600; font-size: 2.3rem; line-height: 1.1; font-variant-numeric: tabular-nums lining-nums; }
.numero--destaque .numero-valor { color: var(--destaque); }
.numero-unidade { font-size: 1.05rem; color: var(--tinta); }
.numero-variacao { margin-top: 2px !important; font-size: 0.85rem; color: var(--tinta-2); font-variant-numeric: tabular-nums; }

/* controles: abas sublinhadas */
.controles { margin: 18px 0 6px; display: flex; flex-direction: column; align-items: stretch; gap: 0; }
.controles[hidden], .acoes[hidden], .dica[hidden] { display: none; }
fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.grupo { display: flex; flex-wrap: wrap; align-items: center; gap: 0 14px; }
.grupo legend { float: left; width: 84px; margin-right: 0; font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinta-3); padding: 0; }
.abas { display: flex; flex-wrap: wrap; gap: 0 18px; }
.abas button, .seg span {
  font: inherit; font-size: 15px; font-weight: 400; color: var(--tinta-2); background: none; border: 0; border-bottom: 3px solid transparent;
  padding: 10px 0 8px; min-height: 44px; cursor: pointer; display: inline-flex; align-items: center;
}
.abas button:hover, .seg:hover span { border-bottom-color: var(--linha); color: var(--tinta); }
/* o selecionado não muda de peso: assim a largura dos botões nunca varia */
.abas button[aria-pressed="true"], .seg input:checked + span { color: var(--tinta); border-bottom-color: var(--destaque); }
.seg { position: relative; }
.seg input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.seg input:focus-visible + span { outline: 2px solid var(--destaque); outline-offset: 2px; }
.datas { font-size: 15px; }
.datas summary { cursor: pointer; color: var(--tinta); padding: 10px 0; min-height: 44px; display: inline-flex; align-items: center; gap: 6px; list-style: none; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.datas summary::-webkit-details-marker { display: none; }
.datas summary::after { content: "▾"; display: inline-block; transition: transform 0.15s; }
.datas[open] summary::after { transform: rotate(180deg); }
.datas[open] summary { font-weight: 600; }
.restaurar { font: inherit; font-size: 14px; color: var(--tinta-2); background: none; border: 0; padding: 10px 0; min-height: 44px; cursor: pointer; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; margin-left: 10px; }
.restaurar:hover { color: var(--destaque); }
.restaurar[hidden] { display: none; }
.intervalo { display: flex; flex-wrap: wrap; gap: 10px 16px; padding-bottom: 6px; }
.intervalo label { display: flex; align-items: center; gap: 8px; color: var(--tinta-2); }
.intervalo input { font: inherit; padding: 6px 8px; border: 1px solid var(--tinta-3); border-radius: 0; background: #fff; min-height: 40px; color: var(--tinta); }

/* gráfico */
.figura { margin: 8px 0 0; }
.legenda { list-style: none; margin: 0 0 6px; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 22px; font-size: 14px; }
.legenda li { display: inline-flex; }
/* item da legenda = botão de ligar/desligar a curva */
.legenda-item { display: inline-flex; align-items: center; gap: 8px; font: inherit; color: inherit; background: none; border: 0; padding: 6px 0; min-height: 36px; cursor: pointer; }
.legenda-item:disabled { cursor: default; }
.legenda-item:not(:disabled):hover { color: var(--destaque); }
.legenda-item[aria-pressed="false"] { color: var(--tinta-3); text-decoration: line-through; text-decoration-thickness: 1px; }
.legenda-item[aria-pressed="false"] .legenda-marca { opacity: 0.25; }
.legenda-item:focus-visible { outline: 2px solid var(--destaque); outline-offset: 2px; }
.legenda-marca { display: inline-block; width: 20px; height: 2px; background: var(--s1); }
.legenda-marca[data-i="0"] { height: 3px; }
.legenda-marca[data-i="1"] { background: var(--s2); }
.legenda-marca[data-i="2"] { background: var(--s3); }
.legenda-marca[data-i="3"], .tt-marca[data-i="3"] { background: var(--s4); }
.legenda[hidden], .legenda li[hidden] { display: none; }
.legenda-item--fixo { cursor: default; }
.grupo-comparar select { font: inherit; font-size: 14px; min-height: 40px; max-width: 100%; padding: 6px 10px; border: 1px solid var(--tinta-3); background: var(--papel); color: var(--tinta); }
.nota-comparar { margin: 4px 0 0; font-size: 0.8rem; color: var(--tinta-3); flex-basis: 100%; }
.nota-comparar:empty { display: none; }
.seg input:disabled + span { opacity: 0.45; cursor: not-allowed; }
.area-grafico { position: relative; width: 100%; aspect-ratio: 1040 / 420; touch-action: pan-y; }
.grafico-ssr { display: block; width: 100%; height: 100%; }
.grafico-ssr--compacto { display: none; }
.grafico-vivo { position: absolute; inset: 0; }
.area-grafico.vivo .grafico-ssr { visibility: hidden; }
.carregando .area-grafico { cursor: progress; }
.estado-atual { margin: 6px 0 8px; font-size: 0.95rem; font-weight: 600; color: var(--tinta); font-variant-numeric: tabular-nums; }
.dica { margin: 4px 0 0; font-size: 0.8rem; color: var(--tinta-3); }
figcaption { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--linha); font-size: 0.82rem; color: var(--tinta-3); }
.acoes { display: flex; flex-wrap: wrap; gap: 4px 24px; align-items: center; margin-top: 14px; }
.acoes button { font: inherit; font-size: 14px; font-weight: 700; color: var(--tinta); background: none; border: 0; padding: 10px 0; min-height: 44px; cursor: pointer; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
.acoes button:hover { color: var(--destaque); }
.status { font-size: 0.85rem; color: var(--tinta-2); }
.nota { font-size: 0.9rem; color: var(--tinta-2); }

/* tooltip do ECharts (sem estilo inline no conteúdo) */
.tt-data { font-weight: 700; margin-bottom: 2px; }
.tt-linha { white-space: nowrap; font-variant-numeric: tabular-nums; }
.tt-marca { width: 12px; height: 2px; display: inline-block; vertical-align: middle; margin-right: 6px; background: var(--s1); }
.tt-marca[data-i="1"] { background: var(--s2); }
.tt-marca[data-i="2"] { background: var(--s3); }

/* ficha: nota de rodapé, bem abaixo do gráfico na hierarquia */
.credibilidade { margin-top: 48px; padding-top: 14px; border-top: 1px solid var(--linha); }
.credibilidade h2 { font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinta-2); margin: 0 0 8px; }
.credibilidade dl { display: grid; grid-template-columns: minmax(130px, 170px) minmax(0, 1fr); gap: 0; margin: 0; font-size: 0.82rem; line-height: 1.5; }
.credibilidade dt { font-size: 11px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--tinta-3); padding: 8px 12px 8px 0; border-top: 1px solid var(--linha); }
.credibilidade dd { margin: 0; padding: 7px 0; border-top: 1px solid var(--linha); color: var(--tinta-2); max-width: 78ch; }
.detalhes-tecnicos { margin-top: 0; border-top: 1px solid var(--linha); }
.detalhes-tecnicos summary { cursor: pointer; font-size: 0.82rem; font-weight: 600; color: var(--tinta-2); padding: 10px 0; min-height: 44px; display: flex; align-items: center; gap: 6px; list-style: none; }
.detalhes-tecnicos summary::-webkit-details-marker { display: none; }
.detalhes-tecnicos summary::after { content: "▾"; transition: transform 0.15s; }
.detalhes-tecnicos[open] summary::after { transform: rotate(180deg); }
.credibilidade ul { margin: 0; padding-left: 16px; }
.credibilidade li + li { margin-top: 3px; }
.perguntas-sec { margin-top: 40px; }
.perguntas { margin: 0; padding-left: 20px; font-family: var(--serifa); font-size: 1.15rem; color: var(--tinta-2); }
.perguntas li + li { margin-top: 4px; }

/* listas */
.abertura { padding: 16px 0 8px; }
.secao { margin: 44px 0 16px; padding-top: 12px; border-top: 3px solid var(--filete); font-size: 1.4rem; }
.cartoes { list-style: none; padding: 0; margin: 24px 0 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 28px; }
.cartao a { display: block; text-decoration: none; color: var(--tinta); height: 100%; }
.cartao img { display: block; width: 100%; height: auto; border-top: 1px solid var(--linha); border-bottom: 1px solid var(--linha); }
.cartao h3 { font-family: var(--serifa); font-weight: 600; font-size: 1.35rem; line-height: 1.2; margin: 12px 0 4px; }
.cartao a:hover h3 { color: var(--destaque); }
.cartao p { color: var(--tinta-2); font-size: 0.95rem; margin: 0; }
.temas { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 220px), 1fr)); gap: 0 28px; }
.temas li > a, .temas li.em-breve { display: flex; flex-direction: column; gap: 2px; padding: 14px 0; border-top: 1px solid var(--linha); text-decoration: none; color: var(--tinta); height: 100%; }
.temas b { font-family: var(--serifa); font-weight: 600; font-size: 1.2rem; }
.temas span { color: var(--tinta-2); font-size: 0.92rem; }
.temas .em-breve, .temas .em-breve span { color: var(--tinta-3); }

/* página inicial: árvore de temas à esquerda, destaques à direita (no celular, uma coluna só) */
/* busca no topo da inicial */
.topo .busca { margin: 0 0 0 auto; flex: 0 1 420px; min-width: 220px; max-width: none; position: relative; align-self: center; }
.topo .busca label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.topo .busca input { min-height: 44px; font-size: 1rem; padding-left: 38px; }
.topo .busca-icone { position: absolute; left: 13px; top: 13px; color: var(--tinta-3); pointer-events: none; z-index: 22; }
/* com o menu de temas ao lado, a busca vira só a lupa e abre ao receber foco: o topo cabe numa linha */
@media (min-width: 901px) {
  .nav-temas + .busca { flex: 0 0 44px; min-width: 0; height: 44px; margin-left: 4px; }
  .nav-temas + .busca input { position: absolute; right: 0; top: 0; width: 44px; padding: 0 0 0 38px; color: transparent; cursor: pointer; }
  .nav-temas + .busca input::placeholder { color: transparent; }
  .nav-temas + .busca input::-webkit-search-cancel-button { display: none; }
  .nav-temas + .busca:focus-within input { width: min(380px, calc(100vw - 48px)); padding: 0 44px 0 12px; color: var(--tinta); cursor: text; z-index: 21; }
  .nav-temas + .busca:focus-within input::placeholder { color: var(--tinta-3); }
}
.topo #resultados { position: absolute; right: 0; top: calc(100% + 6px); width: min(560px, calc(100vw - 32px)); z-index: 20; background: var(--papel); border: 1px solid var(--linha); padding: 4px 12px; box-shadow: 0 8px 24px rgb(0 0 0 / 0.12); }
.topo #resultados:empty, .topo #resultados[hidden] { display: none; }
.topo #resultados { max-height: min(70vh, 520px); overflow-y: auto; }
.erro-datas { margin: 6px 0 0; font-size: 0.85rem; color: var(--destaque); }
.erro-datas:empty { display: none; }
input[aria-invalid] { outline: 2px solid var(--destaque); outline-offset: 1px; }
.tabela-dados { margin: 12px 0 0; }
.tabela-dados summary { cursor: pointer; font-size: 0.9rem; }
#tabela-corpo { max-height: 420px; overflow: auto; margin-top: 8px; }
#tabela-corpo table { border-collapse: collapse; font-size: 0.85rem; font-variant-numeric: tabular-nums; }
#tabela-corpo caption { text-align: left; padding: 4px 0 8px; color: var(--tinta-3); white-space: nowrap; }
#tabela-corpo th, #tabela-corpo td { padding: 4px 12px 4px 0; text-align: right; border-bottom: 1px solid var(--linha); }
#tabela-corpo th[scope="row"], #tabela-corpo thead th:first-child { text-align: left; }
#tabela-corpo thead th { position: sticky; top: 0; background: var(--papel); }
@media (max-width: 900px) {
  .topo .busca { margin: 4px 0 0; flex-basis: 100%; }
}

.rodape { border-top: 1px solid var(--filete); }
.rodape p { max-width: var(--max); margin: 0 auto; padding: 20px 24px 40px; color: var(--tinta-3); font-size: 0.85rem; }

@media (max-width: 600px) {
  main { padding: 20px 16px 48px; }
  .topo-in { padding: 14px 16px; }
  .marca { font-size: 24px; }
  .nav-temas { margin-left: 0; width: 100%; overflow-x: auto; }
  .nav-temas ul { flex-wrap: nowrap; }
  .nav-temas li { flex: none; }
  .numeros { grid-template-columns: 1fr 1fr; }
  .numero--destaque { grid-column: 1 / -1; }
  .numero-valor { font-size: 1.9rem; }
  .controles { gap: 0 24px; }
  .grupo legend { float: none; width: 100%; margin: 6px 0 0; }
  .abas { flex-wrap: wrap; gap: 0 16px; }
  .abas button, .seg { flex: none; }
  .area-grafico { aspect-ratio: 360 / 340; }
  .restaurar { margin-left: 0; }
  .grafico-ssr--largo { display: none; }
  .grafico-ssr--compacto { display: block; }
  .credibilidade dl { grid-template-columns: 1fr; }
  .credibilidade dt { padding-bottom: 0; }
  .credibilidade dd { border-top: 0; padding-top: 2px; }
}

/* busca da página inicial */
.busca { margin: 22px 0 0; max-width: 640px; }
.busca[hidden] { display: none; }
.busca label { display: block; font-size: 0.85rem; color: var(--tinta-3); margin-bottom: 6px; }
.busca input { width: 100%; font: inherit; font-size: 1.05rem; padding: 10px 12px; min-height: 48px; border: 1px solid var(--tinta-3); border-radius: 0; background: var(--papel); color: var(--tinta); }
.busca input:focus-visible { outline: 2px solid var(--destaque); outline-offset: 1px; }
.busca-conta, .busca-vazia { margin: 10px 0 0; font-size: 0.85rem; color: var(--tinta-3); }
.busca-lista { list-style: none; margin: 6px 0 0; padding: 0; border-top: 1px solid var(--linha); }
.busca-lista a { display: flex; flex-direction: column; gap: 2px; padding: 10px 0; border-bottom: 1px solid var(--linha); text-decoration: none; color: var(--tinta); }
.busca-lista a:hover b, .busca-lista a:focus-visible b { color: var(--destaque); }
.busca-lista span { font-size: 0.9rem; color: var(--tinta-3); }
.secao a { color: inherit; text-decoration: none; }
.secao a:hover { color: var(--destaque); }
/* tirar a curva comparada */
.tirar-com { font: inherit; font-size: 18px; line-height: 1; color: var(--tinta-3); background: none; border: 0; padding: 0 2px 0 6px; min-width: 28px; min-height: 28px; cursor: pointer; }
.tirar-com:hover, .tirar-com:focus-visible { color: var(--destaque); }
.grupo-comparar #tirar-comparacao { margin-left: 8px; }
.visualmente-oculto { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }

/* texto corrido (Sobre e metodologia) */
.texto { max-width: 72ch; }
.texto h2 { margin: 32px 0 8px; font-size: 1.2rem; }
.texto p, .texto li, .texto dd { line-height: 1.6; color: var(--tinta-2); }
.texto dl { margin: 0; }
.texto dt { margin-top: 14px; font-weight: 600; color: var(--tinta); }
.texto dd { margin: 2px 0 0; }
/* ---------- página inicial (isolada em .pg-inicial) ---------- */
.pg-inicial .inicial h1 { margin: 20px 0 0; font-size: clamp(1.75rem, 3.4vw, 2.4rem); line-height: 1.15; }
.pg-inicial .ini-apoio { margin: 8px 0 0; font-size: 1rem; color: var(--tinta-3); }
.pg-inicial .inicial h2 { margin: 0 0 12px; font-size: 1.25rem; font-weight: 600; letter-spacing: 0; text-transform: none; border: 0; padding: 0; }
/* topo da inicial: apresentação à esquerda, "Edição de hoje" à direita */
.pg-inicial .ed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr); gap: 32px 48px; align-items: start; margin-top: 12px; }
.pg-inicial .ed-intro { padding-top: 28px; }
.pg-inicial .ed-meta { margin: 20px 0 0; font-size: 0.85rem; color: var(--tinta-3); }
.pg-inicial .ed-placa { border: 1px solid var(--linha); border-radius: 10px; padding: 18px 22px 8px; }
.pg-inicial .ed-cabeca { display: flex; justify-content: space-between; align-items: baseline; flex-wrap: wrap; gap: 4px 16px; padding-bottom: 12px; border-bottom: 1px solid var(--linha); }
.pg-inicial .inicial .ed-cabeca h2 { margin: 0; font-size: 0.8rem; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; color: var(--tinta-3); }
.pg-inicial .ed-data { margin: 0; font-size: 0.8rem; color: var(--tinta-3); }
.pg-inicial .ed-principal { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "nome nome" "num curva" "delta curva" "ref ref"; column-gap: 28px; row-gap: 4px; align-items: end; padding: 16px 0 18px; color: var(--tinta); text-decoration: none; border-bottom: 1px solid var(--linha); }
.pg-inicial .ed-principal .ed-nome { grid-area: nome; }
.pg-inicial .ed-principal .ed-num { grid-area: num; }
.pg-inicial .ed-principal .delta { grid-area: delta; }
.pg-inicial .ed-principal .ed-ref { grid-area: ref; margin-top: 8px; }
.pg-inicial .ed-curva { grid-area: curva; width: 100%; height: 92px; align-self: center; }
.pg-inicial .ed-curva polyline, .pg-inicial .ct-curva polyline { fill: none; stroke-width: 2; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.pg-inicial .ed-curva polyline { stroke: var(--destaque); }
.pg-inicial .ed-nome { font-size: 0.95rem; color: var(--tinta-2); line-height: 1.3; }
.pg-inicial .ed-num { display: flex; align-items: baseline; flex-wrap: wrap; gap: 0 6px; }
.pg-inicial .ed-valor { font-size: 1.6rem; font-weight: 600; line-height: 1.1; font-variant-numeric: tabular-nums; }
.pg-inicial .ed-valor--grande { font-size: clamp(3rem, 6vw, 4.25rem); line-height: 1; letter-spacing: -0.02em; }
.pg-inicial .ed-unidade, .pg-inicial .ed-ref { font-size: 0.8rem; color: var(--tinta-3); }
.pg-inicial .ed-painel { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.pg-inicial .ed-painel li + li { border-left: 1px solid var(--linha); }
.pg-inicial .ed-mini { display: flex; flex-direction: column; gap: 4px; height: 100%; box-sizing: border-box; padding: 14px 16px 14px; color: var(--tinta); text-decoration: none; }
.pg-inicial .ed-painel li:first-child .ed-mini { padding-left: 0; }
.pg-inicial .ed-painel li:last-child .ed-mini { padding-right: 0; }
.pg-inicial .ed-principal:hover .ed-nome, .pg-inicial .ed-mini:hover .ed-nome { color: var(--destaque); }
/* variação: seta neutra, sem verde nem vermelho */
.pg-inicial .delta { font-size: 0.82rem; color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.pg-inicial .delta-seta { font-size: 0.7em; position: relative; top: -0.08em; }
.pg-inicial .delta-ref { color: var(--tinta-3); }
.pg-inicial .ed-mini .delta-ref { display: block; }
/* busca grande da inicial: a função principal do site, logo abaixo do título */
.pg-inicial .busca--grande { margin: 24px 0 0; max-width: 560px; position: relative; }
.pg-inicial .busca--grande label { font-size: 0.85rem; color: var(--tinta-2); margin-bottom: 8px; }
.pg-inicial .busca-campo { position: relative; }
.pg-inicial .busca--grande .busca-icone { position: absolute; left: 16px; top: 18px; color: var(--tinta-3); pointer-events: none; }
.pg-inicial .busca--grande input { min-height: 56px; padding-left: 46px; font-size: 1.05rem; }
.pg-inicial .busca--grande #resultados { position: absolute; left: 0; right: 0; top: calc(100% + 6px); z-index: 20; background: var(--papel); border: 1px solid var(--linha); padding: 4px 12px; box-shadow: 0 8px 24px rgb(0 0 0 / 0.2); max-height: min(70vh, 520px); overflow-y: auto; }
.pg-inicial .busca--grande #resultados:empty, .pg-inicial .busca--grande #resultados[hidden] { display: none; }
.pg-inicial .busca-dica { margin: 12px 0 0; font-size: 0.85rem; color: var(--tinta-3); line-height: 2.1; }
.pg-inicial .busca-exemplo { font: inherit; font-size: 0.85rem; color: var(--tinta-2); background: none; border: 1px solid var(--linha); border-radius: 999px; padding: 3px 12px; cursor: pointer; white-space: nowrap; }
.pg-inicial .busca-exemplo:hover { color: var(--tinta); border-color: var(--destaque); }
/* série em foco: um gráfico de verdade na inicial */
.pg-inicial .foco { margin-top: 40px; border: 1px solid var(--linha); border-radius: 10px; padding: 18px 22px 14px; }
.pg-inicial .foco-cabeca { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.pg-inicial .inicial .foco-cabeca h2 { margin: 0 8px 0 0; }
.pg-inicial .foco-abas, .pg-inicial .foco-periodos { display: flex; flex-wrap: wrap; gap: 6px; }
.pg-inicial .foco-periodos { margin-left: auto; }
.pg-inicial .foco-periodos[hidden] { display: none; }
.pg-inicial .foco-aba, .pg-inicial .foco-periodos button { display: inline-flex; align-items: center; min-height: 36px; padding: 0 12px; border: 1px solid var(--linha); border-radius: 999px; color: var(--tinta-2); background: none; font: inherit; font-size: 0.9rem; text-decoration: none; cursor: pointer; }
.pg-inicial .foco-aba:hover, .pg-inicial .foco-periodos button:hover { color: var(--tinta); border-color: var(--tinta-3); }
.pg-inicial .foco-aba[aria-current], .pg-inicial .foco-periodos button[aria-pressed="true"] { color: var(--tinta); border-color: var(--destaque); box-shadow: inset 0 0 0 1px var(--destaque); font-weight: 600; }
.pg-inicial .foco-rotulo { margin: 14px 0 4px; font-size: 0.85rem; color: var(--tinta-3); }
.pg-inicial .foco-area { position: relative; width: 100%; aspect-ratio: 1040 / 420; transition: opacity 0.15s; }
.pg-inicial .foco.carregando .foco-area { opacity: 0.5; }
.pg-inicial .foco-svg { display: block; width: 100%; height: 100%; }
.pg-inicial .foco-svg--c { display: none; }
.pg-inicial .foco-nota { margin: 8px 0 0; font-size: 0.8rem; color: var(--tinta-3); }
@media (max-width: 600px) {
  .pg-inicial .foco { padding: 14px 16px 12px; }
  .pg-inicial .foco-periodos { margin-left: 0; }
  .pg-inicial .foco-area { aspect-ratio: 360 / 300; }
  .pg-inicial .foco-svg--l { display: none; }
  .pg-inicial .foco-svg--c { display: block; }
}
/* dados novos: lista curta, um por linha */
.pg-inicial .nv { margin-top: 40px; }
.pg-inicial .nv-nota { margin: -6px 0 10px; font-size: 0.85rem; color: var(--tinta-3); }
.pg-inicial .nv-lista { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--linha); }
.pg-inicial .nv-lista a { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: 16px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--linha); color: var(--tinta); text-decoration: none; line-height: 1.45; }
.pg-inicial .nv-lista a:hover .nv-texto { color: var(--destaque); }
.pg-inicial .nv-quando { font-size: 0.82rem; color: var(--tinta-3); font-variant-numeric: tabular-nums; }
.pg-noticias .nv { margin-top: 24px; }
@media (max-width: 600px) {
  .pg-inicial .nv-lista a { grid-template-columns: 1fr; row-gap: 2px; }
}
.pg-inicial .ct-sec { margin-top: 40px; }
.pg-inicial .ct { display: grid; grid-template-columns: 250px minmax(0, 1fr); border: 1px solid var(--linha); border-radius: 8px; }
.pg-inicial .ct ul { list-style: none; margin: 0; padding: 0; }
.pg-inicial .ct-temas { border-right: 1px solid var(--linha); padding: 8px 0; }
.pg-inicial .ct-temas a { display: flex; justify-content: space-between; align-items: center; gap: 8px; min-height: 44px; padding: 0 16px; color: var(--tinta-2); text-decoration: none; }
.pg-inicial .ct-temas a:hover { color: var(--tinta); }
.pg-inicial .ct-temas a[aria-current] { color: var(--tinta); font-weight: 600; box-shadow: inset 3px 0 0 var(--destaque); background: var(--linha); }
.pg-inicial .ct-temas a { min-height: 56px; padding-top: 8px; padding-bottom: 8px; }
.pg-inicial .ct-tnome { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.pg-inicial .ct-chave { font-size: 0.78rem; color: var(--tinta-3); font-weight: 400; line-height: 1.3; }
.pg-inicial .ct-chave-valor { color: var(--tinta-2); font-variant-numeric: tabular-nums; }
.pg-inicial .ct-num .delta { font-size: 0.75rem; margin-top: 2px; }
.pg-inicial .ct-conta { font-size: 0.78rem; color: var(--tinta-3); font-variant-numeric: tabular-nums; font-weight: 400; }
.pg-inicial .ct-resultados { min-width: 0; padding: 16px 24px 20px; }
.pg-inicial .ct-cabeca { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.pg-inicial .ct-cabeca h3 { margin: 0; font-size: 1.15rem; font-weight: 600; }
.pg-inicial .ct-total { margin: 0; font-size: 0.85rem; color: var(--tinta-3); }
.pg-inicial .ct-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px !important; }
.pg-inicial .ct-filtros[hidden], .pg-inicial .ct-lista li[hidden] { display: none; }
.pg-inicial .ct-filtros a { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0 12px; border: 1px solid var(--linha); border-radius: 999px; color: var(--tinta-2); text-decoration: none; font-size: 0.9rem; }
.pg-inicial .ct-filtros a:hover { color: var(--tinta); border-color: var(--tinta-3); }
.pg-inicial .ct-filtros a[aria-current] { color: var(--tinta); border-color: var(--destaque); box-shadow: inset 0 0 0 1px var(--destaque); font-weight: 600; }
.pg-inicial .ct-nota { margin: 12px 0 4px; font-size: 0.8rem; color: var(--tinta-3); }
.pg-inicial .ct-lista li a { display: grid; grid-template-columns: minmax(0, 1fr) minmax(110px, auto) 140px; gap: 20px; align-items: center; min-height: 84px; box-sizing: border-box; padding: 12px 0; border-bottom: 1px solid var(--linha); color: var(--tinta); text-decoration: none; }
.pg-inicial .ct-lista li a:hover .ct-titulo { color: var(--destaque); }
.pg-inicial .ct-nome { display: flex; flex-direction: column; gap: 4px; line-height: 1.3; }
.pg-inicial .ct-titulo { font-weight: 500; }
.pg-inicial .ct-ref { font-size: 0.82rem; color: var(--tinta-3); }
.pg-inicial .ct-num { display: flex; flex-direction: column; align-items: flex-end; text-align: right; gap: 2px; }
.pg-inicial .ct-valor { font-size: 1.1rem; font-variant-numeric: tabular-nums; }
.pg-inicial .ct-unidade { font-size: 0.78rem; color: var(--tinta-3); max-width: 24ch; line-height: 1.25; }
.pg-inicial .ct-curva { width: 140px; height: 40px; }
.pg-inicial .ct-curva polyline { stroke: var(--s4); }
.pg-inicial .ct-todos { display: inline-block; margin-top: 14px; font-size: 0.9rem; }
@media (max-width: 900px) {
  .pg-inicial .ed { grid-template-columns: 1fr; gap: 24px; }
  .pg-inicial .ed-intro { padding-top: 8px; }
  .pg-inicial .ct { grid-template-columns: 1fr; }
  .pg-inicial .ct-temas { border-right: 0; border-bottom: 1px solid var(--linha); padding: 12px 16px; }
  .pg-inicial .ct-temas ul { display: flex; flex-wrap: wrap; gap: 8px; }
  .pg-inicial .ct-temas a { min-height: 40px; padding: 0 12px; border: 1px solid var(--linha); border-radius: 999px; }
  .pg-inicial .ct-tnome { flex-direction: row; align-items: baseline; gap: 6px; }
  .pg-inicial .ct-chave-rotulo { display: none; }
  .pg-inicial .ct-temas a[aria-current] { box-shadow: inset 0 0 0 1px var(--destaque); border-color: var(--destaque); }
  .pg-inicial .ct-resultados { padding: 16px; }
}
@media (max-width: 600px) {
  .pg-inicial .ed-placa { padding: 14px 16px 4px; }
  .pg-inicial .ed-principal { grid-template-columns: 1fr; grid-template-areas: "nome" "num" "delta" "curva" "ref"; }
  .pg-inicial .ed-curva { height: 64px; margin-top: 8px; }
  .pg-inicial .ed-painel { grid-template-columns: 1fr; }
  .pg-inicial .ed-painel li + li { border-left: 0; border-top: 1px solid var(--linha); }
  .pg-inicial .ed-mini { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "nome num" "ref delta"; column-gap: 12px; padding: 12px 0 !important; }
  .pg-inicial .ed-mini .ed-nome { grid-area: nome; } .pg-inicial .ed-mini .ed-num { grid-area: num; justify-content: flex-end; }
  .pg-inicial .ed-mini .ed-ref { grid-area: ref; } .pg-inicial .ed-mini .delta { grid-area: delta; text-align: right; }
  .pg-inicial .ed-mini .delta-ref { display: none; }
  .pg-inicial .ed-mini .ed-valor { font-size: 1.3rem; }
  .pg-inicial .ct-lista li a { grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; row-gap: 8px; }
  .pg-inicial .ct-curva { grid-column: 1 / -1; width: 100%; height: 36px; }
}
/* Versão B (terminal, escuro): só sobrescreve o estilo.css. Versão principal.
   IBM Plex Sans e Mono auto-hospedadas (CSP font-src 'self'). */
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fontes/ibm-plex-sans-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fontes/ibm-plex-sans-latin-500-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Sans"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fontes/ibm-plex-sans-latin-600-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 400; font-display: swap; src: url("/fontes/ibm-plex-mono-latin-400-normal.woff2") format("woff2"); }
@font-face { font-family: "IBM Plex Mono"; font-style: normal; font-weight: 500; font-display: swap; src: url("/fontes/ibm-plex-mono-latin-500-normal.woff2") format("woff2"); }

html[data-tema="b"] {
  --papel: #0d1117;
  --painel: #151b23;
  --painel-2: #1f2630;
  --tinta: #e6edf3;
  --tinta-2: #c9d1d9;
  --tinta-3: #9aa4b2;
  --filete: #2a313c;
  --campo: #6b7480; /* contorno de campos: 3,6:1 sobre o painel */
  --linha: #2a313c;
  --destaque: #f5b942;
  --link: #5cc8ff;
  --s1: #f5b942; --s2: #5cc8ff; --s3: #c4a2ff; --s4: #7ee787;
  --serifa: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --sans: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  --max: 1200px;
  color-scheme: dark;
}
[data-tema="b"] body { font-size: 15px; line-height: 1.5; }
[data-tema="b"] a { color: var(--link); }
[data-tema="b"] a:hover { color: #a6e1ff; }
[data-tema="b"] main { padding: 28px 20px 56px; }

/* cabeçalho */
[data-tema="b"] .topo { border-bottom: 1px solid var(--filete); background: var(--papel); }
[data-tema="b"] .topo-in { padding: 12px 20px; align-items: center; gap: 10px 20px; }
[data-tema="b"] .marca { font-family: var(--mono); font-size: 15px; font-weight: 500; letter-spacing: 0; color: var(--tinta); display: inline-flex; align-items: center; gap: 10px; }
[data-tema="b"] .marca-logo .marca-b { fill: var(--tinta-3); }
[data-tema="b"] .marca-logo .marca-u { fill: var(--destaque); }
[data-tema="b"] .selo-previa, [data-tema="b"] .selo { font-family: var(--mono); font-size: 11px; border-radius: 4px; letter-spacing: 0.04em; }
[data-tema="b"] .alternar { font-family: var(--mono); font-size: 12px; color: var(--tinta-3); border: 1px solid var(--filete); border-radius: 4px; padding: 2px 8px; text-decoration: none; }
[data-tema="b"] .alternar:hover { color: var(--tinta); border-color: var(--tinta-3); }
[data-tema="b"] .nav-temas ul { gap: 4px; }
[data-tema="b"] .nav-temas a { font-size: 14px; font-weight: 400; letter-spacing: 0; text-transform: none; padding: 8px 10px; border-radius: 6px; color: var(--tinta-3); }
[data-tema="b"] .nav-temas a:hover { color: var(--tinta); }
[data-tema="b"] .nav-temas a[aria-current] { background: var(--painel-2); color: var(--tinta); }

/* títulos */
[data-tema="b"] .trilha { font-family: var(--mono); font-size: 13px; color: var(--tinta-3); margin-bottom: 8px; }
[data-tema="b"] .trilha a { color: var(--tinta-3); }
[data-tema="b"] .chapeu { display: none; }
[data-tema="b"] h1 { font-family: var(--sans); font-weight: 600; font-size: clamp(1.8rem, 4vw, 2.3rem); letter-spacing: -0.01em; line-height: 1.15; max-width: none; }
[data-tema="b"] .pg-grafico h1 { font-size: clamp(1.7rem, 3.6vw, 2.1rem); max-width: none; }
[data-tema="b"] .abertura h1 { font-size: clamp(2rem, 5vw, 2.8rem); }
[data-tema="b"] .linha-fina, [data-tema="b"] .pg-grafico .linha-fina { font-family: var(--sans); font-size: 16px; color: var(--tinta-3); max-width: 62ch; margin-top: 6px; }
[data-tema="b"] h2 { font-family: var(--sans); font-weight: 600; }
[data-tema="b"] .aviso-rascunho { background: #2b2410; color: #f5d58a; border: 1px solid #4a3d14; border-radius: 6px; font-size: 0.85rem; }
[data-tema="b"] .status-dados { margin: 10px 0 0; display: inline-flex; align-items: center; gap: 8px; font-family: var(--mono); font-size: 13px; color: var(--tinta-3); }
[data-tema="b"] .status-dados .ponto { width: 8px; height: 8px; border-radius: 50%; background: var(--tinta-3); }

/* números: cartões */
[data-tema="b"] .numeros-bloco { margin-top: 18px; padding-top: 0; border-top: 0; }
[data-tema="b"] .rotulo-secao { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: 0.06em; color: var(--tinta-3); margin-bottom: 8px; }
[data-tema="b"] .numeros { padding: 0; border: 0; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; }
[data-tema="b"] .numero { background: var(--painel); border: 1px solid var(--filete); border-radius: 8px; padding: 14px 16px; }
[data-tema="b"] .numero-rotulo { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--tinta-3); }
[data-tema="b"] .numero-valor { font-family: var(--mono); font-weight: 500; font-size: 2.1rem; line-height: 1.1; margin-top: 6px !important; font-variant-numeric: tabular-nums; }
[data-tema="b"] .numero-unidade { font-size: 0.95rem; color: var(--tinta-3); }
[data-tema="b"] .numero--destaque .numero-valor { color: var(--destaque); }
[data-tema="b"] .numero-variacao { font-family: var(--mono); font-size: 13px; color: var(--tinta-3); margin-top: 6px !important; }

/* painel do gráfico: cartão */
[data-tema="b"] .painel { margin-top: 16px; background: var(--painel); border: 1px solid var(--filete); border-radius: 8px; padding: 16px 16px 12px; }
[data-tema="b"] .controles { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin: 0 0 12px; }
[data-tema="b"] .grupo { gap: 0 8px; flex-wrap: nowrap; }
[data-tema="b"] .grupo legend { float: none; width: auto; margin: 0 8px 0 0; font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: 0.04em; text-transform: uppercase; color: var(--tinta-3); }
[data-tema="b"] fieldset.grupo { display: flex; align-items: center; }
[data-tema="b"] .abas { gap: 2px; padding: 3px; background: var(--papel); border: 1px solid var(--filete); border-radius: 6px; flex-wrap: wrap; }
[data-tema="b"] .abas button, [data-tema="b"] .seg span { font-family: var(--mono); font-size: 13px; color: var(--tinta-3); border: 0; border-radius: 4px; padding: 0 12px; min-height: 36px; }
[data-tema="b"] .abas button:hover, [data-tema="b"] .seg:hover span { background: var(--painel-2); color: var(--tinta); border-bottom-color: transparent; }
/* o selecionado só muda de fundo: a largura dos botões nunca varia */
[data-tema="b"] .abas button[aria-pressed="true"], [data-tema="b"] .seg input:checked + span { background: #2a313c; color: var(--tinta); border-bottom-color: transparent; }
[data-tema="b"] .seg input:focus-visible + span { outline: 2px solid var(--destaque); outline-offset: 1px; }
[data-tema="b"] .restaurar { font-family: var(--mono); font-size: 12px; color: var(--link); margin-left: 4px; padding: 8px 4px; min-height: 36px; }
[data-tema="b"] .datas { font-family: var(--mono); font-size: 13px; width: 100%; }
[data-tema="b"] .datas summary { color: var(--tinta-3); min-height: 36px; padding: 6px 0; }
[data-tema="b"] .intervalo input { background: var(--papel); color: var(--tinta); border: 1px solid var(--campo); border-radius: 6px; font-family: var(--mono); font-size: 13px; min-height: 36px; color-scheme: dark; }
[data-tema="b"] .intervalo label { color: var(--tinta-3); }
[data-tema="b"] .figura { margin: 4px 0 0; }
[data-tema="b"] .estado-atual { font-family: var(--mono); font-size: 13px; font-weight: 400; color: var(--tinta-3); margin: 4px 0 6px; }
[data-tema="b"] .legenda { font-size: 13px; color: var(--tinta-2); gap: 4px 20px; }
[data-tema="b"] .legenda-marca { width: 16px; border-radius: 2px; height: 3px; }
[data-tema="b"] .legenda-item { border: 1px solid var(--filete); border-radius: 6px; padding: 4px 10px; min-height: 34px; background: var(--papel); }
[data-tema="b"] .legenda-item:not(:disabled):hover { border-color: var(--tinta-3); color: var(--tinta); }
[data-tema="b"] .legenda-item[aria-pressed="false"] { background: transparent; }
[data-tema="b"] figcaption { border-top-color: var(--filete); }
[data-tema="b"] .acoes { gap: 8px; margin-top: 12px; }
[data-tema="b"] .acoes button { font-family: var(--mono); font-size: 13px; font-weight: 400; text-decoration: none; background: var(--painel-2); color: var(--tinta); border: 1px solid var(--filete); border-radius: 6px; padding: 0 14px; min-height: 36px; }
[data-tema="b"] .acoes button:hover { border-color: var(--tinta-3); color: var(--tinta); }
[data-tema="b"] .acoes button[data-acao="link"] { background: var(--destaque); color: #0d1117; border: 0; font-weight: 500; }
[data-tema="b"] .acoes button[data-acao="link"]:hover { background: #ffd070; }
[data-tema="b"] .status { font-family: var(--mono); color: var(--tinta-3); }

/* ficha: cartão */
[data-tema="b"] .credibilidade { margin-top: 16px; padding: 14px 18px 4px; background: var(--painel); border: 1px solid var(--filete); border-radius: 8px; }
[data-tema="b"] .credibilidade h2 { font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: 0.06em; color: var(--tinta-3); }
[data-tema="b"] .credibilidade dl { font-size: 14px; }
[data-tema="b"] .credibilidade dt { font-size: 13px; font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--tinta-3); border-top-color: var(--filete); }
[data-tema="b"] .credibilidade dd { color: var(--tinta); border-top-color: var(--filete); }
[data-tema="b"] .detalhes-tecnicos { border-top-color: var(--filete); }
[data-tema="b"] .detalhes-tecnicos summary { font-family: var(--mono); font-size: 13px; font-weight: 400; color: var(--tinta-3); }
[data-tema="b"] .perguntas-sec { margin-top: 28px; }
[data-tema="b"] .perguntas-sec h2 { font-size: 15px; color: var(--tinta-3); font-weight: 500; }
[data-tema="b"] .perguntas { font-family: var(--sans); font-size: 15px; color: var(--tinta-2); }

/* listas */
[data-tema="b"] .secao { border-top: 0; padding-top: 0; margin: 32px 0 12px; font-family: var(--mono); font-size: 12px; font-weight: 500; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tinta-3); }
[data-tema="b"] .cartoes { gap: 16px; margin-top: 0; }
[data-tema="b"] .cartao a { background: var(--painel); border: 1px solid var(--filete); border-radius: 8px; overflow: hidden; color: var(--tinta); padding-bottom: 12px; }
[data-tema="b"] .cartao a:hover { border-color: var(--tinta-3); color: var(--tinta); }
[data-tema="b"] .cartao img { border: 0; border-bottom: 1px solid var(--filete); }
[data-tema="b"] .cartao h3 { font-family: var(--sans); font-size: 1.1rem; margin: 12px 16px 4px; }
[data-tema="b"] .cartao a:hover h3 { color: var(--destaque); }
[data-tema="b"] .cartao p { margin: 0 16px; color: var(--tinta-3); font-size: 0.9rem; }
[data-tema="b"] .temas { gap: 12px; }
[data-tema="b"] .temas li > a, [data-tema="b"] .temas li.em-breve { background: var(--painel); border: 1px solid var(--filete); border-radius: 8px; padding: 14px 16px; color: var(--tinta); }
[data-tema="b"] .temas li > a:hover { border-color: var(--tinta-3); color: var(--tinta); }
[data-tema="b"] .temas b { font-family: var(--sans); font-size: 1.05rem; }
[data-tema="b"] .temas span { color: var(--tinta-3); }
[data-tema="b"] .rodape { border-top-color: var(--filete); }
[data-tema="b"] .topo #resultados { background: var(--painel); border: 1px solid var(--filete); border-radius: 8px; padding: 4px 0; box-shadow: 0 12px 32px rgb(0 0 0 / 0.5); }
[data-tema="b"] .topo #resultados .busca-conta, [data-tema="b"] .topo #resultados .busca-vazia { margin: 6px 14px; }
[data-tema="b"] .topo #resultados .busca-lista { border: 0; border-top: 1px solid var(--filete); border-radius: 0; margin: 4px 0 0; }

@media (max-width: 600px) {
  [data-tema="b"] main { padding: 20px 14px 40px; }
  [data-tema="b"] .painel { padding: 12px 12px 8px; }
  [data-tema="b"] .numeros { grid-template-columns: 1fr 1fr; }
  [data-tema="b"] .numero--destaque { grid-column: 1 / -1; }
  [data-tema="b"] .numero-valor { font-size: 1.7rem; }
  [data-tema="b"] .grupo { flex-wrap: wrap; }
  [data-tema="b"] .grupo legend { width: 100%; margin: 0 0 4px; }
  [data-tema="b"] .abas { gap: 2px; }
  [data-tema="b"] .credibilidade { padding: 12px 14px 4px; }
}

/* busca */
[data-tema="b"] .busca label { font-family: var(--mono); font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; }
[data-tema="b"] .busca input { background: var(--painel); border: 1px solid var(--campo); border-radius: 6px; color: var(--tinta); }
[data-tema="b"] .busca input::placeholder { color: var(--tinta-3); }
[data-tema="b"] .busca-lista { border: 1px solid var(--filete); border-radius: 8px; background: var(--painel); overflow: hidden; }
[data-tema="b"] .busca-lista a { padding: 10px 14px; border-bottom-color: var(--filete); }
[data-tema="b"] .busca-lista li:last-child a { border-bottom: 0; }
[data-tema="b"] .busca-conta, [data-tema="b"] .busca-vazia { font-family: var(--mono); font-size: 12px; }
[data-tema="b"] .grupo-comparar select { font-family: var(--mono); font-size: 13px; min-height: 36px; background: var(--papel); color: var(--tinta); border: 1px solid var(--campo); border-radius: 6px; }
[data-tema="b"] .grupo-comparar { flex-wrap: wrap; }
[data-tema="b"] .nota-comparar { font-family: var(--mono); font-size: 12px; }
[data-tema="b"] .legenda-item--comparada { padding-right: 4px; }
[data-tema="b"] .tirar-com { border-left: 1px solid var(--filete); margin-left: 6px; padding-left: 8px; }
[data-tema="b"] #tabela-corpo thead th { background: var(--painel); }
[data-tema="b"] #tabela-corpo th, [data-tema="b"] #tabela-corpo td { border-color: var(--filete); font-family: var(--mono); font-size: 13px; }
[data-tema="b"] .tabela-dados summary { font-family: var(--mono); font-size: 12px; color: var(--link); }

/* página inicial */
[data-tema="b"] .pg-inicial .ed-placa, [data-tema="b"] .pg-inicial .ct, [data-tema="b"] .pg-inicial .foco { background: var(--painel); border-color: var(--filete); }
[data-tema="b"] .pg-inicial .foco-aba, [data-tema="b"] .pg-inicial .foco-periodos button { border-color: var(--filete); color: var(--tinta-2); }
[data-tema="b"] .pg-inicial .foco-periodos button, [data-tema="b"] .pg-inicial .foco-rotulo, [data-tema="b"] .pg-inicial .foco-nota { font-family: var(--mono); }
[data-tema="b"] .pg-inicial .foco-periodos button { font-size: 13px; }
[data-tema="b"] .pg-inicial .ed-cabeca, [data-tema="b"] .pg-inicial .ed-principal, [data-tema="b"] .pg-inicial .ed-painel li { border-color: var(--filete); }
[data-tema="b"] .pg-inicial .ed-cabeca h2, [data-tema="b"] .pg-inicial .ed-data, [data-tema="b"] .pg-inicial .ed-meta, [data-tema="b"] .pg-inicial .delta, [data-tema="b"] .pg-inicial .ed-unidade, [data-tema="b"] .pg-inicial .ed-ref, [data-tema="b"] .pg-inicial .ct-chave { font-family: var(--mono); }
[data-tema="b"] .pg-inicial .ed-valor { font-family: var(--mono); font-weight: 500; }
/* o número grande em mono fica espaçado demais: na versão sem serifa vai em Plex Sans */
[data-tema="b"] .pg-inicial .ed-valor--grande { font-family: var(--sans); font-weight: 600; letter-spacing: -0.02em; }
[data-tema="b"] .pg-inicial .ct-temas, [data-tema="b"] .pg-inicial .ct-lista li a, [data-tema="b"] .pg-inicial .ct-filtros a { border-color: var(--filete); }
[data-tema="b"] .pg-inicial .ct-valor { font-family: var(--mono); font-weight: 500; }
[data-tema="b"] .pg-inicial .ct-ref, [data-tema="b"] .pg-inicial .ct-unidade, [data-tema="b"] .pg-inicial .ct-conta, [data-tema="b"] .pg-inicial .ct-total { font-family: var(--mono); font-size: 12px; }
[data-tema="b"] .pg-inicial .ct-temas a { color: var(--tinta-2); }
[data-tema="b"] .pg-inicial .ct-temas a[aria-current] { background: var(--painel-2); color: var(--tinta); font-weight: 500; }
[data-tema="b"] .pg-inicial .ct-lista li a { color: var(--tinta); }
[data-tema="b"] .pg-inicial .ct-curva polyline { stroke: var(--s2); }
[data-tema="b"] .pg-inicial .ct-filtros a { color: var(--tinta-2); }
[data-tema="b"] .pg-inicial .ct-filtros a[aria-current] { color: var(--tinta); background: var(--painel-2); }
[data-tema="b"] .pg-inicial .ct-todos { color: var(--link); }

/* versão com serifa (data/site.yaml tipografia: serifa): títulos e números grandes em Fraunces */
@font-face { font-family: "Fraunces"; font-style: normal; font-weight: 600; font-display: swap; src: url("/fontes/fraunces-latin-600-normal.woff2") format("woff2"); }
[data-tema="b"][data-tipo="serifa"] { --titulo: "Fraunces", Georgia, "Times New Roman", serif; }
[data-tema="b"][data-tipo="serifa"] h1, [data-tema="b"][data-tipo="serifa"] .pg-inicial .inicial h2:not(#t-edicao), [data-tema="b"][data-tipo="serifa"] .pg-inicial .ct-cabeca h3 { font-family: var(--titulo); font-weight: 600; letter-spacing: -0.01em; }
[data-tema="b"][data-tipo="serifa"] .pg-inicial .ed-valor, [data-tema="b"][data-tipo="serifa"] .pg-inicial .ct-valor, [data-tema="b"][data-tipo="serifa"] .numero-valor { font-family: var(--titulo); font-weight: 600; font-variant-numeric: lining-nums tabular-nums; letter-spacing: 0; }

/* página do gráfico em tela larga: título e números lado a lado; controles numa faixa compacta
   (rótulo ao lado de cada grupo) e o gráfico na largura toda, em 1040 × 420 (o mesmo desenho do
   SVG estático, para não sobrar faixa vazia antes da primeira interação). */
@media (min-width: 901px) {
  [data-tema="b"] .nav-temas + .busca input::placeholder { color: transparent; }
  [data-tema="b"] .nav-temas + .busca:focus-within input::placeholder { color: var(--tinta-3); }
}
@media (min-width: 1000px) {
  [data-tema="b"] .cabeca-grafico { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 540px); gap: 0 32px; align-items: end; }
  [data-tema="b"] .cabeca-grafico .numeros-bloco { margin-top: 0; }
  [data-tema="b"] .cabeca-grafico .numeros { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 8px; }
  [data-tema="b"] .cabeca-grafico .numero { padding: 10px 14px; }
  [data-tema="b"] .cabeca-grafico .numero-valor { font-size: 1.75rem; }
  [data-tema="b"] .painel > .controles { gap: 8px 22px; margin: 0 0 6px; }
  [data-tema="b"] .painel > .controles fieldset.grupo { display: block; }
  [data-tema="b"] .painel > .controles .grupo legend { float: left; margin: 0 8px 0 0; line-height: 44px; }
  [data-tema="b"] .painel > .controles .abas { display: inline-flex; flex-wrap: nowrap; }
  [data-tema="b"] .painel > .controles .abas button, [data-tema="b"] .painel > .controles .seg span { min-height: 34px; padding: 0 10px; white-space: nowrap; }
  [data-tema="b"] .painel > .controles .grupo-comparar select { width: 220px; }
  [data-tema="b"] .painel > .controles .datas { width: auto; }
}
[data-tema="b"] .pg-inicial .nv-lista, [data-tema="b"] .pg-inicial .nv-lista a { border-color: var(--filete); }
[data-tema="b"] .pg-inicial .nv-quando, [data-tema="b"] .pg-inicial .nv-nota { font-family: var(--mono); }
[data-tema="b"] .pg-inicial .busca--grande input { background: var(--painel); border-radius: 8px; }
[data-tema="b"] .pg-inicial .busca--grande label { font-family: var(--mono); font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tinta-3); }
[data-tema="b"] .pg-inicial .busca--grande #resultados { background: var(--painel); border-color: var(--filete); border-radius: 8px; }
[data-tema="b"] .pg-inicial .busca-exemplo { border-color: var(--filete); }
