/* Composição responsiva do app. Os tokens de cor vêm de estilos.css. */
:root {
  --layout-width: 560px;
  --nav-height: calc(80px + env(safe-area-inset-bottom));
  --sidebar-width: 208px;
}

body { background: var(--bg); color: var(--txt); font-size: 1rem; line-height: 1.5; letter-spacing: 0; }
.tela { width: 100%; max-width: var(--layout-width); min-height: 100dvh; margin: 0 auto; background: var(--bg); }
.cabecalho { min-height: 112px; padding: 14px 18px 20px; background: var(--grafite); color: var(--card); }
.explorar-cabecalho-visual { display: none; }
.tela:has(#view-explorar:not([hidden])) .explorar-cabecalho-visual { position: absolute; z-index: -1; inset: 0; display: block; margin: 0; overflow: hidden; pointer-events: none; }
.explorar-cabecalho-visual::after { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(31, 28, 39, .76), rgba(31, 28, 39, .48) 54%, rgba(31, 28, 39, .72)), linear-gradient(0deg, var(--grafite), transparent 55%); content: ""; }
.explorar-cabecalho-visual img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center 56%; }
.explorar-cabecalho-visual figcaption { position: absolute; z-index: 1; right: 14px; bottom: 6px; max-width: calc(100% - 28px); color: #F1EDF8; font-size: .6875rem; line-height: 1.25; text-align: right; text-shadow: 0 1px 4px #17131f; }
.explorar-cabecalho-visual figcaption a { color: inherit; text-underline-offset: 2px; pointer-events: auto; }
.cabecalho-topo { margin-bottom: 2px; }
.marca { font-size: 0.6875rem; letter-spacing: 1px; }
.marca-link img { width: 20px; height: 20px; }
#titulo-tela { padding-right: 52px; font-size: 2rem; line-height: 2.375rem; font-weight: 700; letter-spacing: -.8px; }
#subtitulo-tela { max-width: 92%; margin-top: 2px; color: #E5E3EB; font-size: 0.875rem; line-height: 1.25rem; }
.atalho-busca { top: 14px; right: 16px; }
.atalho-busca svg { width: 24px; height: 24px; }
.conteudo { min-height: calc(100dvh - 100px); margin-top: 0; padding: 20px 16px calc(var(--nav-height) + 24px); border-radius: 0; background: var(--bg); }
.navegacao-inferior { width: min(100%,var(--layout-width)); min-height: var(--nav-height); padding: 8px 8px max(8px, env(safe-area-inset-bottom)); background: var(--card); border-top: 1px solid var(--line); box-shadow: 0 -4px 16px rgba(25,27,37,.04); }
.navegacao-inferior::before { display: none; }
.nav-marca { display: none; }
.nav-item { min-height: 56px; gap: 3px; color: var(--mut); font-size: 0.75rem; line-height: 1rem; font-weight: 500; }
.nav-item svg { width: 23px; height: 23px; }
.nav-item[aria-current="page"] { color: var(--roxo-claro); font-weight: 700; }
.nav-item[aria-current="page"] svg { background: var(--roxo-bg); border-radius: var(--raio-sm); stroke-width: 2.4; }
.secao-topo { gap: 12px; }
.secao-topo h2 { font-size: 1.25rem; line-height: 1.75rem; font-weight: 700; letter-spacing: -.3px; }
.link-acao { font-size: 0.875rem; }
.seguir-btn { min-height: 44px; border-radius: var(--raio-md); font-size: 0.875rem; font-weight: 600; }
.seguir-btn:disabled { opacity: 1; color: var(--mut); background: var(--card2); border: 1px solid var(--line); cursor: default; }
.seguir-btn:focus-visible, select:focus-visible { outline-offset: 2px; }
.privacidade { padding-top: 20px; color: var(--mut); font-size: 0.75rem; line-height: 1.125rem; }
.estado-feed, .estado-busca { font-size: 0.875rem; line-height: 1.3125rem; }
.contexto, .fonte-link, .fonte-nota, .eleicoes-contexto { font-size: 0.875rem; line-height: 1.25rem; }
.quando, time { font-variant-numeric: tabular-nums; }

/* Carteira: retrato e identificação primeiro, indicadores em uma grade neutra. */
.carteira { display: grid; gap: 16px; }
.cartao-politico { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); }
.com-politicos .secao-topo { margin: 0 0 8px; }
.com-politicos .secao-topo h2 { color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; }
.politico { min-height: 76px; gap: 14px; }
.politico > img { width: 64px; height: 64px; border: 0; outline: 0; border-radius: 50%; object-fit: cover; }
.politico .nome { font-size: 1.25rem; line-height: 1.625rem; font-weight: 700; letter-spacing: -.35px; overflow-wrap: break-word; }
.politico .partido, .politico .cargo { margin-top: 3px; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.seta-card { color: var(--mut); }
.indicadores-rapidos { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; margin-top: 16px; }
.indicador-rapido { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: var(--raio-md); background: var(--card2); color: var(--txt); }
.indicador-rapido strong { font-size: 1.75rem; line-height: 2.125rem; font-weight: 700; font-variant-numeric: tabular-nums; }
.indicador-topo { gap: 7px; }
.indicador-topo svg { width: 18px; height: 18px; color: var(--roxo-claro); }
.indicador-rapido > span { margin-top: 5px; font-size: 0.8125rem; line-height: 1.125rem; }
.indicador-rapido > .indicador-data { color: var(--mut); font-size: 0.75rem; line-height: 1.0625rem; }
.indicadores-nota { margin-top: 10px; color: var(--mut); font-size: 0.8125rem; line-height: 1.1875rem; }
.indicadores-nota summary { font-size: 0.8125rem; font-weight: 600; }
.cartao-politico-rodape { display: flex; justify-content: flex-end; margin-top: 12px; }
.tirar-btn { min-height: 40px; color: var(--mut); font-size: 0.8125rem; }
.status-acompanhamento { display: none; }
#carteira-contagem { padding: 8px 0; font-size: 0.875rem; }
.cartao-futuro, .resumo-acompanhados, .carteira-arquivo, .novidades-app, .congresso-card { padding: 16px; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); }
.cartao-futuro { margin-top: 12px; }
.futuro-cabeca { display: flex; align-items: center; gap: 12px; }
.futuro-cabeca h3 { font-size: 1.25rem; line-height: 1.6875rem; font-weight: 700; }
.futuro-cabeca .contexto { margin-top: 4px; }
.status-mandato { display: inline-block; margin-top: 10px; padding: 5px 9px; border-radius: var(--raio-sm); background: var(--roxo-bg); color: var(--roxo-claro); font-size: 0.75rem; font-weight: 700; }
.futuro-nota { margin-top: 10px; color: var(--mut); font-size: 0.875rem; line-height: 1.3125rem; }
.cartao-futuro .tirar-btn { display: block; padding: 0; text-align: left; }
.resumo-dia { min-height: 0; margin-top: 16px; border-radius: var(--raio-xl); overflow: hidden; }
.resumo-foto { height: 88px; object-position: center 60%; }
.resumo-dia:after { background: linear-gradient(180deg, transparent 24px, rgba(25,27,37,.35) 56px, var(--grafite) 96px); }
.resumo-conteudo { padding: 48px 18px 16px; }
.resumo-dia .sobrancelha { padding: 5px 9px; border-radius: var(--raio-sm); background: var(--roxo); font-size: 0.75rem; letter-spacing: .2px; }
.manchete { font-size: 1.5rem; line-height: 2rem; font-weight: 700; letter-spacing: -.5px; }
.resumo-texto { max-width: 42ch; font-size: 0.9375rem; line-height: 1.375rem; }
.atalho-novidades { margin-top: 10px; font-size: 0.875rem; }
.foto-credito { margin: 8px 2px 16px; color: var(--mut); font-size: 0.75rem; line-height: 1.0625rem; }
.convite-quiz { padding: 16px; border-radius: var(--raio-lg); background: var(--roxo-bg); }
.convite-quiz strong { font-size: 1.125rem; line-height: 1.5rem; }
.convite-quiz span span { font-size: 0.875rem; line-height: 1.25rem; }
.convite-icone { width: 44px; height: 44px; font-size: 1.5rem; }
.vazia { grid-template-columns: 48px minmax(0,1fr); gap: 14px; margin: 8px 0 16px; padding: 18px; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); }
.vazia-icone { width: 48px; height: 48px; background: var(--roxo-bg); color: var(--roxo-claro); }
.vazia-frase { font-size: 1.25rem; line-height: 1.75rem; font-weight: 700; }
.vazia-texto { font-size: 0.875rem; line-height: 1.3125rem; }
.vazia .seguir-btn { min-height: 48px; justify-content: space-between; font-size: 0.875rem; }
.ritual-carteira { margin-top: 18px; }
.data-hoje, .streak { font-size: 0.8125rem; line-height: 1.1875rem; }
.foto-credito, .indicador-rapido > .indicador-data, .data-hoje, .streak { color: var(--mut); }

/* Explorar: busca e descoberta ficam antes do catálogo de atalhos. */
#view-explorar .estado-busca { padding: 4px 2px 12px; }
.explorar-titulo { margin: 24px 0 10px; font-size: 1.25rem; line-height: 1.75rem; }
#busca, #busca-carteira, #busca-tema, #voto-filtro { width: 100%; min-height: 48px; padding: 13px 12px 13px 44px; border: 1px solid var(--controle-linha); border-radius: var(--raio-md); background: var(--card); color: var(--txt); font-size: 1rem; }
.descoberta-cargos, .busca-tema-casas { display: grid; gap: 4px; padding: 4px; border-radius: var(--raio-md); background: var(--card2); }
.busca-tema-casas { gap: 8px; }
.descoberta-cargos { grid-template-columns: 1.4fr 1fr; margin: 0 0 12px; }
.descoberta-cargos button, .busca-tema-casas button { min-height: 44px; border: 0; border-radius: var(--raio-sm); background: transparent; color: var(--mut); font-size: 0.875rem; font-weight: 600; }
.descoberta-cargos .ativo, .busca-tema-casas button.ativo { background: var(--card); color: var(--roxo-claro); box-shadow: 0 1px 3px rgba(25,27,37,.12); }
.descoberta-seletores { display: grid; grid-template-columns: 1.25fr 1fr; gap: 8px; }
.descoberta-seletores label { position: relative; min-width: 0; }
.descoberta-seletores select, .feed-periodo select, #eleicoes-ano { width: 100%; min-height: 46px; max-width: 100%; padding: 8px 10px; border: 1px solid var(--controle-linha); border-radius: var(--raio-md); background: var(--card); color: var(--txt); font-size: 0.875rem; }
.seletor-uf select { padding-left: 34px; }
.seletor-uf svg { position: absolute; top: 14px; left: 9px; width: 17px; height: 17px; pointer-events: none; }
.descoberta-intro { margin: 16px 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); color: var(--mut); font-size: 0.875rem; line-height: 1.3125rem; }
.explorar-assuntos { margin-top: 24px; }
.explorar-assuntos-lista { display: grid; grid-template-columns: minmax(0,1fr); gap: 16px; }
.st-entrada { display: flex; align-items: center; gap: 12px; min-height: 60px; padding: 12px; border: 1px solid var(--line); border-radius: var(--raio-md); background: var(--card); color: var(--txt); font-size: 0.875rem; line-height: 1.1875rem; font-weight: 600; }
.st-entrada svg, .st-entrada-icone { flex: none; color: var(--roxo-claro); }
.st-entrada > span:nth-child(2) { min-width: 0; overflow-wrap: anywhere; }

/* Acessos do Explorar: vinhetas geométricas nativas, sem simular fotografias. */
#view-explorar .explorar-assuntos .st-entrada-icone { position: relative; display: grid; place-items: center; width: 68px; height: 68px; overflow: hidden; border: 1px solid color-mix(in srgb, var(--roxo-claro) 20%, var(--line)); border-radius: 16px; background-color: var(--card2); background-image: radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--roxo-claro) 22%, transparent) 0 18%, transparent 19%), linear-gradient(145deg, color-mix(in srgb, var(--roxo-bg) 60%, var(--card)), var(--card2)); color: var(--roxo-claro); }
#view-explorar .explorar-assuntos .st-entrada-icone svg { position: relative; z-index: 1; width: 34px; height: 34px; color: currentColor; }
#view-explorar .explorar-assuntos .st-entrada:nth-child(2) .st-entrada-icone { background-image: linear-gradient(90deg, transparent 0 20%, color-mix(in srgb, var(--roxo-claro) 13%, transparent) 20% 22%, transparent 22% 45%, color-mix(in srgb, var(--roxo-claro) 13%, transparent) 45% 47%, transparent 47%), radial-gradient(circle at 72% 25%, color-mix(in srgb, var(--roxo-claro) 24%, transparent) 0 12%, transparent 13%), linear-gradient(145deg, var(--card), var(--roxo-bg)); }
#view-explorar .explorar-assuntos .st-entrada:nth-child(3) .st-entrada-icone { background-image: repeating-radial-gradient(circle at 50% 50%, transparent 0 10px, color-mix(in srgb, var(--roxo-claro) 12%, transparent) 11px 12px), linear-gradient(145deg, var(--card), var(--roxo-bg)); }
#view-explorar .explorar-assuntos .st-entrada:nth-child(4) .st-entrada-icone { background-image: linear-gradient(0deg, transparent 0 28%, color-mix(in srgb, var(--roxo-claro) 13%, transparent) 28% 30%, transparent 30% 58%, color-mix(in srgb, var(--roxo-claro) 13%, transparent) 58% 60%, transparent 60%), linear-gradient(145deg, var(--roxo-bg), var(--card)); }
#view-explorar .explorar-assuntos .st-entrada:nth-child(5) .st-entrada-icone { background-image: linear-gradient(155deg, transparent 0 48%, color-mix(in srgb, var(--roxo-claro) 16%, transparent) 49% 51%, transparent 52%), linear-gradient(25deg, transparent 0 48%, color-mix(in srgb, var(--roxo-claro) 16%, transparent) 49% 51%, transparent 52%), linear-gradient(145deg, var(--card), var(--roxo-bg)); }

/* Novidades: filtros em faixa compacta e registros em coluna única. */
.stories-categorias { display: flex; flex-wrap: wrap; gap: 8px; overflow: visible; padding: 0 0 14px; margin-bottom: 4px; }
.story-categoria { display: inline-flex; flex-direction: row; align-items: center; justify-content: center; gap: 8px; flex: 0 1 auto; min-width: 0; min-height: 40px; padding: 7px 11px; border: 1px solid var(--line); border-radius: 999px; background: var(--card); color: var(--mut); font-size: 0.8125rem; line-height: 1.125rem; font-weight: 600; white-space: normal; }
.story-categoria > span { display: none; }
.story-categoria.ativo { border-color: var(--roxo); background: var(--roxo-bg); color: var(--roxo-claro); font-weight: 700; }
.novidades-topo { margin: 6px 0 12px; }
.novidades-topo h2 { font-size: 1.25rem; line-height: 1.75rem; }
.selo-discreto { padding: 5px 8px; border-radius: var(--raio-sm); background: var(--card2); color: var(--mut); font-size: 0.75rem; white-space: nowrap; }
.feed-lista { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; }
.feed-card { min-width: 0; margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); }
.feed-card .feed-conteudo { padding: 16px; }
.feed-capa { position: relative; height: auto; aspect-ratio: 16/9; overflow: hidden; background: var(--card2); }
.feed-capa img { width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.feed-capa > span { position: absolute; bottom: 10px; left: 10px; padding: 4px 8px; border-radius: var(--raio-sm); background: var(--grafite); color: var(--card); font-size: 0.75rem; }
.feed-tipo { margin: 0 0 8px; color: var(--roxo-claro); font-size: 0.75rem; line-height: 1.0625rem; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; }
.feed-instituicao { display: grid; width: 32px; height: 32px; place-items: center; border-radius: var(--raio-sm); background: var(--roxo-bg); color: var(--roxo-claro); font-size: 1.25rem; }
.feed-card .cabeca { flex-wrap: wrap; gap: 8px; font-size: 0.875rem; line-height: 1.25rem; }
.feed-card .cabeca img { width: 32px; height: 32px; }
.feed-card .quando { display: block; flex-basis: 100%; margin-left: 0; color: var(--mut); font-size: 0.75rem; line-height: 1.0625rem; }
.feed-titulo, .feed-card .feed-titulo { margin: 10px 0 8px; font-size: 1.25rem; line-height: 1.75rem; font-weight: 700; letter-spacing: -.2px; overflow-wrap: anywhere; }
.feed-resumo, .feed-card .feed-resumo { display: block; overflow: visible; color: var(--mut); font-size: 1rem; line-height: 1.5rem; -webkit-line-clamp: unset; }
.feed-card .linha-selos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; }
.feed-card .selo { font-size: 0.75rem; line-height: 1.0625rem; }
.feed-card .fonte-link, .feed-card .leia-mais { min-height: 44px; font-size: 0.875rem; line-height: 1.25rem; }
.feed-destaque { position: relative; grid-column: auto; overflow: hidden; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); color: var(--txt); }
.feed-destaque .feed-capa { height: auto; aspect-ratio: 16/9; }
.feed-destaque .feed-capa:after { content: none; }
.feed-destaque .feed-capa > span { z-index: 1; bottom: 10px; left: 10px; padding: 4px 8px; background: var(--grafite); font-size: 0.75rem; }
.feed-destaque .feed-conteudo { padding: 16px; }
.feed-destaque .feed-tipo { color: var(--roxo-claro); }
.feed-destaque .feed-instituicao { background: var(--roxo-bg); color: var(--roxo-claro); }
.feed-destaque .feed-titulo { margin-top: 10px; font-size: 1.25rem; line-height: 1.75rem; }
.feed-destaque .feed-resumo { color: var(--mut); }
.feed-destaque .cabeca, .feed-destaque .quando { color: var(--mut); font-size: 0.8125rem; }
.feed-destaque .selo { background: var(--card2); color: var(--txt); }
.feed-destaque .fonte-link, .feed-destaque .leia-mais { color: var(--roxo-claro); font-size: 0.875rem; }
.feed-mais { display: block; width: 100%; min-height: 48px; margin: 16px 0; border: 1px solid var(--roxo); border-radius: var(--raio-md); background: var(--card); color: var(--roxo-claro); font: inherit; font-weight: 600; }
.feed-mais:disabled { color: var(--mut); cursor: wait; }
.feed-controles { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 14px; padding: 12px 0; border-block: 1px solid var(--line); }
.feed-acompanhados { display: flex; align-items: center; gap: 8px; min-height: 44px; font-size: 0.875rem; font-weight: 600; cursor: pointer; }
.feed-acompanhados input { width: 20px; height: 20px; accent-color: var(--roxo); }
.feed-periodo { display: flex; align-items: center; gap: 8px; color: var(--mut); font-size: 0.875rem; }
.feed-periodo select { width: auto; max-width: 190px; }
.feed-legenda { margin: 8px 0 14px; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.feed-temas { margin: 0 0 14px; }
.temas-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.tema-chip { min-height: 44px; padding: 8px 14px; border: 1px solid var(--line); border-radius: 999px; background: var(--card); color: var(--txt); font: inherit; font-size: 0.875rem; font-weight: 600; }
.tema-chip.ativo { border-color: var(--roxo); background: var(--roxo-bg); color: var(--roxo-claro); }
.feed-tema { border-left: 3px solid var(--roxo); }
.feed-tema-rotulo { margin: 2px 0 0; color: var(--roxo-claro); font-size: 0.8125rem; font-weight: 600; }
.imprensa { margin: 20px -16px 28px; padding: 18px 16px 20px; border-block: 1px solid var(--line); background: var(--card2); }
.imprensa-topo { margin-bottom: 6px; }
.imprensa-topo h2 { font-size: 1.25rem; line-height: 1.75rem; letter-spacing: -.2px; }
.imprensa-topo .link-acao { color: var(--roxo-claro); white-space: nowrap; }
.imprensa-lista { display: grid; grid-auto-columns: 84%; grid-auto-flow: column; gap: 12px; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; padding: 4px 2px 12px; scrollbar-width: thin; }
.imprensa-card { min-width: 0; padding: 12px; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); scroll-snap-align: start; }
.imprensa-chip { display: inline-block; padding: 4px 8px; border-radius: var(--raio-sm); background: var(--roxo-bg); color: var(--roxo-claro); font-size: 0.75rem; line-height: 1rem; font-weight: 600; }
.imprensa-titulo { margin: 9px 0 6px; font-size: 1.125rem; line-height: 1.5625rem; font-weight: 700; }
.imprensa-resumo { display: -webkit-box; overflow: hidden; color: var(--mut); font-size: 0.875rem; line-height: 1.3125rem; -webkit-line-clamp: 3; -webkit-box-orient: vertical; }
.imprensa-card .linha-selos { align-items: center; justify-content: space-between; }
.imprensa-card .fonte-link { margin-left: auto; }
.imprensa-card .quando { margin-left: 0; }
.imprensa-imagem { display: block; width: 100%; aspect-ratio: 16/9; margin-bottom: 12px; border-radius: var(--raio-md); background: var(--card2); object-fit: cover; }
.imprensa-imagem[hidden] { display: none; }

/* Eleições, perfis e registros: contexto e fonte ficam legíveis junto ao fato. */
.eleicoes-uf { margin: 12px 0 24px; padding: 16px 0 24px; border: 0; border-bottom: 1px solid var(--line); }
.eleicoes-uf > .eleicoes-titulo { display: block; }
.eleicoes-titulo { margin: 4px 0 12px; font-size: 1.25rem; line-height: 1.75rem; letter-spacing: -.2px; }
.eleicoes-cargo { margin: 20px 0 8px; font-size: 1.125rem; line-height: 1.5625rem; font-weight: 700; }
.eleicoes-aviso { margin: 12px 0 16px; padding: 12px; border: 1px solid var(--line); border-left: 3px solid var(--roxo); border-radius: var(--raio-sm); background: var(--roxo-bg); color: var(--txt); font-size: 0.875rem; line-height: 1.3125rem; }
.ordem-eleitoral, .eleicoes-contexto { margin: 12px 0 0; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.eleitos-destaque { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; align-items: stretch; }
.eleicao-candidato { min-width: 0; margin: 0; padding: 16px; overflow-wrap: anywhere; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); }
.eleitos-destaque .eleicao-candidato { padding: 16px; text-align: left; }
.eleito-identidade { min-width: 0; text-align: left; color: inherit; text-decoration: none; }
a.eleito-identidade:hover h5 { text-decoration: underline; text-underline-offset: 3px; }
.retrato-eleitoral { position: relative; isolation: isolate; display: inline-flex; flex: none; align-items: center; justify-content: center; width: 64px; height: 64px; overflow: hidden; border: 2px solid var(--card); border-radius: 50%; background: var(--card2); color: var(--mut); font-size: 1.125rem; font-weight: 700; vertical-align: middle; }
.retrato-eleitoral img { position: absolute; inset: 0; width: 100%; height: 100%; background: var(--card2); object-fit: cover; object-position: center 20%; }
.eleito-nome h5 { min-height: 0; margin-top: 8px; font-size: 1rem; line-height: 1.375rem; font-weight: 700; overflow-wrap: anywhere; }
.eleito-partido { margin-top: 3px; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.eleicoes-votos { margin-top: 10px; font-size: 1.125rem; line-height: 1.5625rem; text-align: left; font-variant-numeric: tabular-nums; }
.eleicoes-votos strong { font-weight: 700; }
.eleicoes-votos span { display: block; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; font-weight: 500; }
.eleito-data { margin-top: 4px; color: var(--mut); font-size: 0.75rem; line-height: 1.0625rem; }
.eleito-acompanhar { width: 100%; min-height: 44px; margin-top: 10px; padding: 8px; gap: 4px; border-radius: var(--raio-md); background: var(--roxo); color: var(--card); font-size: 0.875rem; overflow-wrap: anywhere; }
.eleito-detalhes summary { display: flex; min-height: 44px; align-items: center; justify-content: flex-start; color: var(--roxo-claro); font-size: 0.875rem; line-height: 1.25rem; text-align: left; cursor: pointer; }
.eleito-detalhes[open] { padding-bottom: 12px; }
.eleito-detalhes .contexto, .eleito-detalhes a { font-size: 0.875rem; line-height: 1.25rem; overflow-wrap: anywhere; }
.eleito-detalhes a { min-height: 44px; }
.eleitos-lista .eleicao-candidato, .eleicoes-restantes > .eleicao-candidato { display: grid; grid-template-columns: minmax(0,1fr) minmax(92px,auto); align-items: center; column-gap: 12px; padding: 14px 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.eleitos-lista .eleito-identidade, .eleicoes-restantes .eleito-identidade { display: flex; grid-column: 1; grid-row: 1/4; align-items: center; gap: 10px; text-align: left; }
.eleitos-lista .retrato-eleitoral, .eleicoes-restantes .retrato-eleitoral { width: 52px; height: 52px; }
.eleitos-lista .eleito-nome h5, .eleicoes-restantes .eleito-nome h5 { margin-top: 0; font-size: 0.9375rem; line-height: 1.25rem; }
.eleitos-lista .eleicoes-votos, .eleicoes-restantes .eleicoes-votos { grid-column: 2; margin: 0; font-size: 1rem; line-height: 1.375rem; }
.eleitos-lista .eleito-data, .eleicoes-restantes .eleito-data { grid-column: 2; margin-top: 2px; }
.eleitos-lista .eleito-acompanhar, .eleicoes-restantes .eleito-acompanhar { grid-column: 2; margin-top: 6px; font-size: 0.8125rem; }
.eleitos-lista .eleito-detalhes, .eleicoes-restantes .eleito-detalhes { grid-column: 1/-1; }
.eleicoes-lista-titulo { margin: 22px 0 6px; font-size: 1rem; line-height: 1.5rem; font-weight: 700; }
.eleicoes-restantes summary { min-height: 48px; padding: 12px 0; color: var(--roxo-claro); font-size: 0.875rem; font-weight: 600; cursor: pointer; }
.eleicoes-fonte, .eleicoes-mandato { display: flex; min-height: 44px; align-items: center; padding: 8px 0; font-size: 0.875rem; line-height: 1.25rem; }
.eleicoes-mandato { font-weight: 600; }
.eleicoes-ano-label { display: block; margin: 12px 0 8px; font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; }
.mandato-uf .eleicoes-titulo { margin: 20px 0 8px; font-size: 1.25rem; line-height: 1.75rem; }
.resultado { flex-wrap: wrap; align-items: flex-start; gap: 12px; padding: 16px 0; }
.resultado-perfil { gap: 12px; flex: 1 1 12rem; }
.resultado .retrato-eleitoral { width: 56px; height: 56px; }
.resultado .nome { font-size: 1rem; line-height: 1.4375rem; font-weight: 700; overflow-wrap: break-word; }
.resultado .partido { display: block; margin-top: 3px; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.resultado .seguir-btn { flex: 0 0 calc(100% - 68px); min-height: 44px; margin-left: 68px; padding: 9px; font-size: 0.875rem; }
.presidencia-estatico { cursor: default; }
.estado-feed, .contexto, .data-hoje, .streak, .foto-credito { font-size: 0.875rem; line-height: 1.25rem; }
.nota-emenda, .votos-linha { font-size: 0.875rem; line-height: 1.25rem; }
.uf-chip.uf-indisponivel { opacity: .5; cursor: default; }
.voto-lista { display: grid; gap: 8px; margin-top: 8px; }
.voto-lista .presidencia-registro { display: block; padding: 14px 16px; }
.voto-lista-candidatos { list-style: none; margin-top: 6px; }
.voto-candidato { padding: 14px 0; border-bottom: 1px solid var(--line); }
.voto-candidato:last-child { border-bottom: 0; }
.voto-nome { font-size: 1rem; line-height: 1.5rem; font-weight: 600; }
.voto-nome .selo { margin-left: 6px; vertical-align: 2px; }
.voto-partido { margin-top: 3px; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.voto-votos { margin-top: 6px; font-size: 0.875rem; line-height: 1.25rem; }
.voto-votos strong:first-child { margin-right: 2px; font-size: 1.25rem; font-weight: 700; }
.voto-candidato .barra { margin-top: 8px; }
.presidencia-lista { list-style: none; }
.presidencia-lista li { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px; padding: 6px 0; }
.presidencia-lista strong { font-size: 1.25rem; font-weight: 700; }
.presidencia-lista span { color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }

/* Presidência, capitais, governadorias e marcação por medida. */
.presidencia-grade { display: grid; grid-template-columns: minmax(0,1fr); gap: 12px; margin: 14px 0; }
.presidencia-bloco { min-width: 0; padding: 16px; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); }
.presidencia-bloco h3 { font-size: 1rem; line-height: 1.375rem; font-weight: 700; }
.presidencia-bloco ul { display: grid; grid-template-columns: repeat(auto-fit,minmax(120px,1fr)); gap: 8px; margin-top: 12px; list-style: none; }
.presidencia-bloco li { padding: 10px; border-radius: var(--raio-sm); background: var(--card2); text-align: center; }
.presidencia-bloco li strong { display: block; font-size: 1.25rem; line-height: 1.625rem; font-weight: 700; }
.presidencia-bloco li.principal strong { font-size: 1.75rem; line-height: 2.125rem; }
.presidencia-bloco li span { display: block; margin-top: 3px; color: var(--mut); font-size: 0.8125rem; line-height: 1.125rem; }
.presidencia-contexto { margin-top: 10px; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.presidencia-registro { display: block; margin-bottom: 12px; padding: 16px; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); color: inherit; }
.presidencia-tipo { color: var(--roxo-claro); font-size: 0.8125rem; line-height: 1.1875rem; font-weight: 600; }
.presidencia-registro h3 { margin-top: 6px; font-size: 1.125rem; line-height: 1.5625rem; font-weight: 700; overflow-wrap: anywhere; }
.presidencia-registro p { margin-top: 8px; color: var(--mut); font-size: 0.875rem; line-height: 1.3125rem; overflow-wrap: anywhere; }
.presidencia-registro .presidencia-resultado { color: var(--txt); }
.presidencia-contagem { padding: 6px 0 12px; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.capital-prefeito { margin-top: 8px; }
.presidencia-registro[href^="#capital/"] .presidencia-tipo { margin-top: 0; color: var(--txt); font-size: 1.25rem; line-height: 1.75rem; font-weight: 700; }
.prefeito-foto { display: block; width: 80px; height: 80px; margin-top: 12px; border-radius: 16px; background: var(--card2); object-fit: cover; }
.prefeito-foto-ausente { display: inline-flex; min-height: 44px; align-items: center; margin-top: 10px; color: var(--mut); font-size: 0.875rem; }
.marcacao-medida { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--line); }
.marcacao-manchete { color: var(--txt); font-size: 0.9375rem; line-height: 1.375rem; font-weight: 600; overflow-wrap: anywhere; }
.marcacao-titulo { color: var(--txt); font-size: 0.875rem; line-height: 1.25rem; font-weight: 600; }
.marcacao-botoes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 10px; }
.marcacao-botoes button { min-height: 48px; border-radius: var(--raio-md); font: inherit; font-weight: 700; }
.marcacao-aprovo { border: 0; background: var(--roxo); color: var(--card); }
.marcacao-rejeito { border: 1px solid var(--controle-linha); background: var(--card); color: var(--txt); }
.marcacao-naosei { display: block; width: 100%; min-height: 44px; margin-top: 6px; border: 0; background: transparent; color: var(--mut); font: inherit; font-size: 0.875rem; font-weight: 600; }
.marcacao-anonimato { margin-top: 10px; color: var(--mut); font-size: 0.8125rem; line-height: 1.1875rem; }
.marcacao-como-botao { padding: 0; border: 0; background: transparent; color: var(--roxo-claro); font: inherit; font-weight: 600; }
.marcacao-como { margin-top: 8px; padding-top: 10px; border-top: 1px solid var(--line); color: var(--mut); font-size: 0.875rem; line-height: 1.3125rem; }
.marcacao-erro { margin-top: 8px; color: #8A1F1F; font-size: 0.875rem; }
.marcacao-registro { font-size: 0.875rem; line-height: 1.25rem; }
.marcacao-registro a { color: var(--roxo-claro); font-weight: 600; }
.marcacao-caixa { margin-top: 10px; padding: 14px; border-radius: var(--raio-lg); background: var(--grafite); color: var(--card); }
.marcacao-num { font-size: 1.5rem; font-weight: 700; }
.marcacao-split { margin-top: 4px; font-size: 0.875rem; }
.marcacao-ressalva { margin-top: 6px; color: #E5E3EB; font-size: 0.8125rem; line-height: 1.1875rem; }
.governador-sua-uf { border-color: var(--roxo); }

/* Listas, projeto, glossário e diálogos. */
.novidades-app { margin-top: 20px; }
.novidades-app summary { display: flex; min-height: 44px; align-items: center; justify-content: space-between; gap: 8px; cursor: pointer; list-style: none; }
.novidades-app summary::-webkit-details-marker { display: none; }
.novidades-app summary h2 { font-size: 1rem; font-weight: 600; }
.novidades-app-seta { flex: none; color: var(--mut); font-size: 1.125rem; transition: transform 160ms var(--ease-out); }
.novidades-app[open] .novidades-app-seta { transform: rotate(180deg); }
.novidades-app .secao-topo { margin: 4px 0 10px; }
.novidades-app .secao-topo .estado-feed { padding: 0; font-size: 0.875rem; }
.novidades-app-lista { display: grid; gap: 8px; }
.novidade-app { display: flex; min-height: 56px; align-items: center; gap: 12px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--raio-md); background: var(--card2); color: inherit; }
.novidade-app-icone { display: inline-flex; flex: none; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: var(--raio-md); background: var(--roxo-bg); color: var(--roxo-claro); font-weight: 700; }
.novidade-app > span:nth-child(2) { display: flex; min-width: 0; flex-direction: column; gap: 2px; }
.novidade-app strong { font-size: 0.875rem; line-height: 1.1875rem; }
.novidade-app > span:nth-child(2) > span:last-child { color: var(--mut); font-size: 0.8125rem; line-height: 1.125rem; }
.novidade-app-acao { flex: none; color: var(--roxo-claro); font-size: 0.8125rem; font-weight: 600; }
.cartao-projeto { min-width: 0; padding: 14px 0; border-bottom: 1px solid var(--line); }
.cartao-projeto-titulo { margin: 0; font-size: 1rem; line-height: 1.5rem; font-weight: 700; overflow-wrap: anywhere; }
.cartao-projeto-ementa { margin: 6px 0 0; color: var(--mut); font-size: 0.875rem; line-height: 1.3125rem; overflow-wrap: anywhere; }
.cartao-projeto .fonte-link { display: inline-flex; min-height: 44px; align-items: center; margin-top: 4px; }
.rotulo-secao { font-size: 1rem; line-height: 1.5rem; }
.trilha-projeto { margin-top: 8px; list-style: none; }
.trilha-projeto li { position: relative; padding: 0 0 18px 30px; }
.trilha-projeto li:last-child { padding-bottom: 4px; }
.trilha-projeto li::before { position: absolute; top: 16px; bottom: -2px; left: 9px; width: 2px; background: var(--line); content: ""; }
.trilha-projeto li:last-child::before { display: none; }
.trilha-projeto li::after { position: absolute; top: 4px; left: 3px; width: 14px; height: 14px; border: 3px solid var(--roxo); border-radius: 50%; background: var(--card); content: ""; }
.trilha-projeto time { display: block; color: var(--mut); font-size: 0.75rem; line-height: 1.0625rem; }
.trilha-evento { display: block; margin-top: 3px; font-size: 0.9375rem; line-height: 1.3125rem; font-weight: 600; }
.trilha-orgao { display: inline-block; margin-top: 5px; padding: 3px 8px; border-radius: var(--raio-sm); background: var(--roxo-bg); color: var(--roxo-claro); font-size: 0.75rem; line-height: 1.0625rem; font-weight: 600; }
.trilha-texto { margin-top: 4px; color: var(--mut); font-size: 0.875rem; line-height: 1.25rem; }
.indicador-lista { width: min(720px,calc(100% - 24px)); padding: 20px; }
.indicador-lista .indicador-ressalva { margin: 10px 0 16px; color: var(--mut); font-size: 0.875rem; }
.indicador-contagem { margin: 12px 0; font-size: 0.875rem; }
.indicador-registro { padding: 18px 0; border-top: 1px solid var(--line); }
.indicador-registro h3 { margin: 0 0 8px; font-size: 1.125rem; line-height: 1.5625rem; }
.indicador-registro-titulo { display: block; color: var(--txt); }
.indicador-registro-texto, .indicador-voto { margin: 10px 0; font-size: 0.875rem; line-height: 1.3125rem; }
.indicador-voto { font-weight: 600; }
.indicador-registro .fonte-link { display: inline-flex; min-height: 44px; align-items: center; }
.indicador-mais { width: 100%; min-height: 48px; margin: 8px 0 16px; border: 1px solid var(--roxo); border-radius: var(--raio-md); background: var(--roxo); color: var(--card); font: inherit; font-weight: 600; }
.indicador-mais:disabled { opacity: .6; }
.indicador-lista .indicador-fechar { position: sticky; top: 0; z-index: 2; }
.indicador-detalhe, .glossario-dialog { width: min(560px,calc(100% - 32px)); max-height: calc(100dvh - 32px); overflow: auto; margin: auto; padding: 22px; border: 1px solid var(--line); border-radius: var(--raio-xl); background: var(--card); color: var(--txt); }
.indicador-detalhe::backdrop, .glossario-dialog::backdrop { background: rgba(25,27,37,.72); }
.indicador-fechar, .glossario-fechar { display: block; min-height: 44px; margin-left: auto; padding: 8px 14px; border: 1px solid var(--controle-linha); border-radius: var(--raio-md); background: var(--card); color: var(--roxo-claro); font: inherit; font-size: 0.875rem; }
.indicador-detalhe h2, .glossario-dialog h2 { max-width: 90%; margin: 12px 0 8px; font-size: 1.5rem; line-height: 1.8125rem; }
.indicador-valor { margin: 18px 0 8px; font-size: 2.625rem; font-weight: 700; }
.indicador-ressalva { margin: 16px 0; line-height: 1.5; }
.indicador-detalhe summary { min-height: 44px; padding: 12px 0; color: var(--roxo-claro); font-weight: 600; cursor: pointer; }
.indicador-detalhe details p, .glossario-dialog p { margin: 8px 0; font-size: 0.875rem; line-height: 1.3125rem; }
.indicador-detalhe details a { display: block; min-height: 44px; padding: 10px 0; color: var(--roxo-claro); overflow-wrap: anywhere; }
.termo-glossario { display: inline; padding: 0; border: 0; background: transparent; color: inherit; font: inherit; font-weight: 600; text-decoration: underline dotted; text-underline-offset: 3px; }
.termo-glossario:active { opacity: .7; }
.termo-glossario:focus-visible { border-radius: 2px; outline-offset: 2px; }
.glossario-base { margin-top: 10px; color: var(--mut); font-size: 0.8125rem; }
.voltar { display: inline-flex; min-height: 44px; align-items: center; margin: 8px 0; }
button.leia-mais { margin-top: 12px; padding: 10px 16px; border: 1px solid var(--controle-linha); border-radius: var(--raio-md); background: var(--card); }

/* Acesso, hover, foco e preferências do sistema. */
.congresso-visual { position: relative; isolation: isolate; display: block; overflow: hidden; margin-top: 22px; border-radius: var(--raio-xl); background: var(--grafite); color: var(--card); }
.congresso-visual > img { position: absolute; z-index: -2; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 60%; }
.congresso-visual:after { position: absolute; z-index: -1; inset: 0; background: linear-gradient(180deg,transparent,var(--grafite) 88%); content: ""; }
.congresso-visual > span { display: block; padding: 90px 18px 20px; }
.congresso-visual small { color: #E5D9FF; font-size: 0.75rem; letter-spacing: .06em; text-transform: uppercase; }
.congresso-visual strong { display: block; margin: 5px 0 8px; font-size: 1.5rem; line-height: 2rem; font-weight: 700; }
.congresso-visual span span { display: block; color: #E5E3EB; font-size: 0.875rem; line-height: 1.25rem; }
.congresso-visual b { float: right; font-size: 1.5rem; }
.clica { transition: transform 140ms var(--ease-out); }
.clica:active { transform: scale(.985); }
:focus-visible { outline: 3px solid var(--roxo-claro); outline-offset: 3px; }
.cabecalho :focus-visible { outline-color: #D7C5FF; }
#titulo-tela:focus-visible { outline: none; }
@media (hover:hover) and (pointer:fine) {
  .politico:hover .nome, .resultado-perfil:hover .nome { text-decoration: underline; text-underline-offset: 3px; }
  .nav-item:hover, .eleito-detalhes summary:hover, .indicador-registro-titulo:hover { color: var(--roxo-claro); }
  .descoberta-cargos button:not(.ativo):hover, .busca-tema-casas button:not(.ativo):hover { background: var(--card); }
  .seguir-btn:not(:disabled):hover, .eleito-acompanhar:hover { background: var(--roxo-claro); color: var(--card); }
  .story-categoria:hover { border-color: var(--roxo); color: var(--roxo-claro); }
  .imprensa-card:hover, .feed-card:hover, a.presidencia-registro:hover { border-color: var(--roxo); }
  .eleicoes-mandato:hover, .eleicoes-restantes summary:hover { text-decoration: underline; text-underline-offset: 3px; }
  .eleicoes-botao:hover, .marcacao-aprovo:hover { background: var(--roxo-claro); }
  .novidade-app:hover, .st-entrada:hover { border-color: var(--roxo); }
}
@media (min-width: 768px) {
  .imprensa-lista { grid-auto-columns: 48%; }
  .imprensa-card { padding: 16px; }
}
@media (min-width: 768px) {
  :root { --layout-width: 768px; }
  .conteudo { padding-inline: 32px; }
  .carteira { grid-template-columns: repeat(2,minmax(0,1fr)); align-items: start; }
  .presidencia-grade { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eleitos-destaque { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eleitos-destaque:has(>.eleicao-candidato:only-child) { grid-template-columns: minmax(0,1fr); }
  .imprensa { margin-inline: -32px; padding-inline: 32px; }
  .explorar-assuntos-lista { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (min-width: 1024px) {
  :root { --layout-width: 1200px; --nav-height: 0px; }
  .tela { max-width: var(--layout-width); padding-right: 24px; padding-left: 240px; }
  .cabecalho { min-height: 112px; padding: 20px 32px 16px; background: transparent; color: var(--txt); }
  .cabecalho-topo { display: none; }
  #titulo-tela { font-size: 2rem; line-height: 2.5rem; }
  #subtitulo-tela { color: var(--mut); }
  .atalho-busca { top: 20px; right: 28px; color: var(--roxo-claro); }
  .conteudo { min-height: calc(100dvh - 112px); padding: 20px 32px 48px; }
  .navegacao-inferior { position: fixed; z-index: 30; top: 24px; right: auto; bottom: 24px; left: max(24px,calc((100vw - 1200px)/2 + 24px)); display: flex; width: var(--sidebar-width); flex-direction: column; align-items: stretch; gap: 8px; padding: 16px 12px; transform: none; border: 0; border-radius: var(--raio-xl); background: var(--grafite); box-shadow: 0 12px 32px rgba(25,27,37,.16); }
  .nav-marca { display: flex; min-height: 64px; align-items: center; gap: 10px; margin: 0 4px 16px; color: var(--card); font-size: 0.9375rem; line-height: 1.25rem; font-weight: 700; }
  .nav-marca img, .nav-marca svg { width: 36px; height: 36px; flex: none; }
  .nav-item { min-height: 48px; flex-direction: row; justify-content: flex-start; gap: 12px; padding: 0 12px; border-radius: var(--raio-md); color: #D8D6E0; font-size: 0.875rem; line-height: 1.25rem; }
  .nav-item svg { width: 21px; height: 21px; }
  .nav-item[aria-current="page"] { background: var(--roxo-bg); color: var(--roxo-claro); }
  .nav-item[aria-current="page"] svg { background: transparent; }
  .carteira { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .eleitos-destaque { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .eleitos-destaque:has(>.eleicao-candidato:last-child:nth-child(2)) { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .conteudo > :is(#view-politico,#view-novidade) { width: min(100%,720px); }
  .indicador-lista { width: min(720px,calc(100% - 32px)); }
}
@media (max-width: 480px) {
  .stories-categorias { gap: 8px; }
  .story-categoria { padding-inline: 10px; font-size: 0.75rem; }
  .imprensa { margin-inline: -16px; padding-inline: 16px; }
}
@media (max-width: 380px) {
  .conteudo { padding-right: 13px; padding-left: 13px; }
  .cabecalho { padding-right: 16px; padding-left: 16px; }
  #titulo-tela { font-size: 1.75rem; line-height: 2.25rem; }
  .descoberta-cargos button { font-size: 0.8125rem; }
  .descoberta-seletores { gap: 6px; }
  .descoberta-seletores select { padding-inline: 6px; font-size: 0.75rem; }
  .seletor-uf select { padding-left: 28px; }
  .explorar-assuntos-lista { grid-template-columns: minmax(0,1fr); }
  .eleito-acompanhar { padding-inline: 5px; font-size: 0.8125rem; }
  .feed-periodo { width: 100%; justify-content: space-between; }
  .feed-periodo select { max-width: 62%; }
  .feed-card .feed-conteudo { padding: 14px; }
  .feed-titulo, .feed-card .feed-titulo { font-size: 1.125rem; line-height: 1.625rem; }
  .imprensa { margin-inline: -13px; padding-inline: 13px; }
}
@media (prefers-reduced-motion: reduce) {
  .clica:active { transform: none; opacity: .8; }
  .clica, .novidades-app-seta { transition: opacity 160ms var(--ease-out); }
  .imprensa-lista { scroll-behavior: auto; scroll-snap-type: x proximity; }
}
@media (max-width: 1023px) and (prefers-reduced-transparency: reduce) { .navegacao-inferior { background: var(--card); } }
@media (prefers-contrast: more) {
  .cartao-politico, .vazia, .feed-card, .item-mandato, .presidencia-bloco, .presidencia-registro, .eleicao-candidato { border-width: 2px; }
  .presidencia-bloco, .presidencia-registro { border-width: 2px; }
  :focus-visible { outline-width: 4px; }
}

/* Grupos secundários: uma entrada legível, detalhes só quando solicitados. */
.grupo-app { margin: 16px 0; padding: 0 16px; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); }
.grupo-app > summary { position: relative; display: grid; align-content: center; gap: 2px; min-height: 72px; margin: 0 -16px; padding: 12px 44px 12px 16px; list-style: none; font-size: 1rem; line-height: 1.5rem; font-weight: 600; cursor: pointer; }
.grupo-app > summary::-webkit-details-marker { display: none; }
.grupo-app > summary::after { position: absolute; right: 19px; top: 30px; width: 8px; height: 8px; border-right: 2px solid var(--mut); border-bottom: 2px solid var(--mut); transform: rotate(45deg); content: ''; }
.grupo-app[open] > summary::after { transform: rotate(225deg); }
.grupo-app[open] { padding-bottom: 16px; }
.grupo-app[open] > summary { margin-bottom: 16px; border-bottom: 1px solid var(--line); }
.grupo-app-dica { color: var(--mut); font-size: .875rem; line-height: 1.25rem; font-weight: 400; }
.feed-opcoes { margin-block: 12px; }
.feed-opcoes .feed-controles { padding-top: 0; border-top: 0; }
.feed-opcoes .feed-temas { margin-bottom: 0; }
.busca-tema.grupo-app { margin-top: 12px; }
.mandato-expansivel { margin-top: 12px; border-top: 1px solid var(--line); }
.mandato-expansivel > summary { min-height: 48px; padding: 12px 0; color: var(--roxo-claro); font-size: .875rem; line-height: 1.5rem; font-weight: 600; cursor: pointer; }
.mandato-expansivel .indicadores-rapidos { margin-top: 4px; }
.mandato-expansivel:not([open]) + .cartao-politico-rodape { margin-top: 0; }

/* O telefone é a composição principal; não herda um masthead de site. */
@media (max-width: 767px) {
  :root { --nav-height: calc(24px + 3rem + env(safe-area-inset-bottom)); }
  .cabecalho { display: grid; grid-template-columns: 40px minmax(0,1fr) 44px; align-items: center; gap: 8px; min-height: 72px; padding: calc(12px + env(safe-area-inset-top)) 16px 12px; background: var(--bg); color: var(--txt); }
  .cabecalho-topo { display: contents; }
  .marca-link { grid-column: 1; grid-row: 1; min-height: 44px; color: var(--txt); }
  .marca-link img { width: 32px; height: 32px; border-radius: 10px; }
  .marca-link .marca { display: none; }
  #titulo-tela { grid-column: 2; grid-row: 1; padding: 0; font-size: 1.5rem; line-height: 1.875rem; letter-spacing: -.6px; }
  #subtitulo-tela { display: none; }
  .atalho-busca { position: static; grid-column: 3; grid-row: 1; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: var(--card); color: var(--txt); }
  .cabecalho :focus-visible { outline-color: var(--roxo-claro); }
  .conteudo { padding: 8px 16px calc(var(--nav-height) + 24px); }
  .navegacao-inferior { min-height: var(--nav-height); padding: 8px 8px calc(8px + env(safe-area-inset-bottom)); box-shadow: none; }
  .nav-item { min-height: 56px; gap: 2px; font-size: .75rem; line-height: 1rem; }
  .nav-item span { min-width: 0; max-width: 100%; overflow-wrap: anywhere; text-align: center; }
  .nav-item svg { width: 44px; height: 28px; padding: 2px 10px; }
  .nav-item[aria-current="page"] svg { border-radius: 14px; }
  .explorar-titulo { margin: 8px 0 12px; font-size: 1.25rem; line-height: 1.75rem; }
  #view-explorar .estado-busca { padding-bottom: 0; }
  .explorar-assuntos { margin-top: 24px; }
  .explorar-assuntos h2 { margin-bottom: 12px; font-size: 1.25rem; line-height: 1.75rem; }
  .explorar-assuntos-lista { gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--raio-lg); background: var(--card); }
  .explorar-assuntos .st-entrada { min-height: 80px; padding: 16px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; }
  .explorar-assuntos .st-entrada:last-child { border-bottom: 0; }
  .explorar-assuntos .st-entrada strong { display: block; font-size: 1rem; line-height: 1.375rem; }
  .explorar-assuntos .st-entrada > span:nth-child(2) > span { display: block; margin-top: 4px; color: var(--mut); font-size: .875rem; line-height: 1.25rem; font-weight: 400; }
  .explorar-assuntos .st-entrada-icone { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--roxo-bg); }
  .stories-categorias { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 4px; margin: 0 0 16px; padding: 4px; border-radius: var(--raio-md); background: var(--card2); }
  .story-categoria { min-height: 44px; padding: 6px 4px; border: 0; border-radius: var(--raio-sm); background: transparent; font-size: .8125rem; line-height: 1.125rem; }
  .story-categoria.ativo { background: var(--card); color: var(--roxo-claro); box-shadow: 0 1px 3px #191b2512; }
  .imprensa { margin: 0 0 24px; padding: 0; border: 0; background: transparent; }
  .imprensa-topo { margin: 0; }
  .imprensa > .feed-legenda { margin: 0 0 12px; font-size: .875rem; line-height: 1.25rem; }
  .imprensa-lista { grid-auto-columns: 94%; align-items: start; gap: 12px; padding: 0 0 4px; scrollbar-width: none; }
  .imprensa-lista::-webkit-scrollbar { display: none; }
  .imprensa-card { position: relative; display: grid; grid-template-columns: minmax(0,1fr) 76px; align-content: start; gap: 8px 12px; padding: 16px; border-radius: var(--raio-lg); }
  .imprensa-imagem { grid-column: 2; grid-row: 1/3; width: 76px; height: 88px; margin: 0; border-radius: var(--raio-sm); }
  .imprensa-chip { grid-column: 1; justify-self: start; padding: 0; background: transparent; font-size: .75rem; line-height: 1rem; }
  .imprensa-titulo { grid-column: 1; margin: 0; font-size: 1rem; line-height: 1.375rem; letter-spacing: -.2px; }
  .imprensa-card:not(:has(.imprensa-imagem:not([hidden]))) .imprensa-titulo { grid-column: 1/-1; }
  .imprensa-resumo { display: none; }
  .imprensa-card .linha-selos { grid-column: 1/-1; display: flex; flex-wrap: wrap; gap: 8px; margin: 0; }
  .imprensa-card .fonte-link { display: inline-flex; align-items: center; min-height: 44px; margin: 0 0 0 auto; font-size: .875rem; }
  #imprensa-contagem { padding: 8px 0 0; font-size: .75rem; line-height: 1.125rem; }
  .novidades-topo { align-items: flex-start; margin-bottom: 4px; }
  .novidades-topo h2 { font-size: 1.125rem; line-height: 1.5rem; }
  .selo-discreto { white-space: normal; }
  #feed-escopo { margin-top: 4px; }
  .feed-card .feed-titulo { font-size: 1.125rem; line-height: 1.5rem; }
  .feed-card .feed-conteudo { padding: 16px; }
  .feed-card .feed-resumo { font-size: .875rem; line-height: 1.375rem; }
  .feed-card .linha-selos { padding-top: 8px; border-top: 1px solid var(--line); }
  .cartao-politico { padding: 16px; }
  .politico { min-height: 60px; }
  .politico > img { width: 52px; height: 52px; }
  .politico .nome { font-size: 1.125rem; line-height: 1.5rem; }
  .indicadores-rapidos { gap: 0; overflow: hidden; border-radius: var(--raio-md); background: var(--card2); }
  .indicador-rapido { padding: 12px; border: 0; border-radius: 0; background: transparent; }
  .indicador-rapido:nth-child(odd) { border-right: 1px solid var(--line); }
  .indicador-rapido:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .indicador-rapido strong { font-size: 1.5rem; line-height: 1.875rem; }
  .resumo-dia { min-height: 0; }
  .resumo-conteudo { padding-top: 44px; }
  .resumo-foto { height: 72px; }
  .resumo-dia:after { background: linear-gradient(180deg,transparent,var(--grafite) 88px); }
  .voltar { margin: 0 0 12px; padding: 8px 12px; border: 1px solid var(--line); border-radius: var(--raio-md); background: var(--card); font-weight: 600; }
  .perfil-cabeca { align-items: center; gap: 16px; }
  .perfil-cabeca img { width: 72px; height: 72px; border-radius: 20px; }
  .raiox-grade { gap: 8px; }
  .presidencia-grade { gap: 12px; }
  .presidencia-registro { border-radius: var(--raio-lg); }
  .presidencia-registro:has(>.prefeito-foto) { display: grid; grid-template-columns: minmax(0,1fr) 64px; column-gap: 12px; }
  .presidencia-registro > .prefeito-foto { grid-column: 2; grid-row: 1/3; width: 64px; height: 72px; margin: 0; border-radius: 12px; }
  .presidencia-registro:has(>.prefeito-foto) > :is(.contexto,.presidencia-contexto,.leia-mais,.cobertura-municipal) { grid-column: 1/-1; }
  .presidencia-registro:has(>.prefeito-foto) > :is(.presidencia-tipo,h3,.capital-prefeito) { grid-column: 1; }
  .indicador-detalhe, .glossario-dialog { position: fixed; inset: auto 0 0; width: 100%; max-width: 100%; max-height: calc(100dvh - max(24px,env(safe-area-inset-top))); margin: 0; padding: 16px 20px calc(24px + env(safe-area-inset-bottom)); border: 0; border-radius: 24px 24px 0 0; overscroll-behavior: contain; }
  .indicador-detalhe::before, .glossario-dialog::before { display: block; width: 32px; height: 4px; margin: 0 auto 12px; border-radius: 2px; background: var(--line); content: ''; }
  .indicador-fechar, .glossario-fechar { position: sticky; top: 0; z-index: 1; }
}
@media (max-width: 767px) {
  .raiox-num .valor, .raiox-num > .num:first-child {
    font-size: clamp(1.125rem, 6vw, 1.625rem);
    line-height: 1.3;
    letter-spacing: -.5px;
    overflow-wrap: anywhere;
  }
}
.rotulo-curto { display: none; }
/* Direção aprovada em 19/10: composição editorial, primeiro no telefone. */
.cabecalho { display: block; padding: calc(18px + env(safe-area-inset-top)) 24px 26px; background: var(--bg); color: var(--txt); }
.cabecalho-topo { display: flex; height: 44px; align-items: center; justify-content: space-between; margin-bottom: 30px; }
.marca-link { gap: 8px; color: var(--txt); }
.marca-radar { width: 31px; height: 31px; color: var(--roxo); }
.marca-link .marca { display: inline; font-size: 1rem; letter-spacing: -.5px; text-transform: lowercase; font-weight: 620; }
.atalho-busca { position: static; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; color: var(--txt); }
#titulo-tela { max-width: 280px; padding: 0; font-size: 2.5rem; line-height: 1.08; letter-spacing: -1.7px; font-weight: 580; text-wrap: balance; }
#subtitulo-tela { display: block; max-width: 32ch; margin-top: 14px; color: var(--mut); font-size: .875rem; line-height: 1.5; }
.conteudo { --margem-conteudo: 24px; padding: 0 var(--margem-conteudo) calc(var(--nav-height) + 28px); }
.secao-topo h2, .com-politicos .secao-topo h2 { color: var(--txt); font-size: 1.125rem; line-height: 1.5; font-weight: 620; letter-spacing: -.4px; }
.secao-topo, .com-politicos .secao-topo { margin: 20px 0 14px; }
.link-acao { font-weight: 600; }
.cartao-politico { padding: 20px; border-radius: 24px; overflow: hidden; }
.politico { gap: 16px; min-height: 84px; }
.politico > img { flex: none; width: 72px; height: 84px; border-radius: 16px; object-position: center 15%; }
.politico .nome { font-size: 1.375rem; line-height: 1.2; letter-spacing: -.7px; font-weight: 620; }
.politico .partido { font-size: .8125rem; line-height: 1.5; }
.seta-card { display: none; }
.cartao-politico > .cartao-politico-rodape { flex-wrap: wrap; justify-content: space-between; align-items: center; column-gap: 12px; margin: 8px -20px -20px; padding: 4px 20px; border-top: 1px solid var(--line); background: #FCFBF8; }
.status-acompanhamento { display: block; font-size: .75rem; font-weight: 550; }
.cartao-raiox { display: inline-flex; align-items: center; min-height: 44px; font-size: .8125rem; font-weight: 600; text-decoration: none; }
.cartao-politico-rodape .tirar-btn { min-height: 44px; font-size: .75rem; }
.mandato-expansivel { margin-top: 16px; }
.mandato-expansivel summary { font-weight: 550; }
.indicador-rapido strong { font-weight: 550; }
.vazia { padding: 22px; border-radius: 24px; gap: 16px; }
.vazia-icone { border-radius: 16px; }
.vazia .seguir-btn { border-radius: 14px; }
.vazia a.seguir-btn { background: transparent; color: var(--roxo); padding: 8px 0; border: 0; text-decoration: underline; text-align: left; font-weight: 500; }
.tela:has(#view-politico:not([hidden])) .cabecalho { background: var(--grafite); color: #FFF; padding-bottom: 12px; }
.tela:has(#view-politico:not([hidden])) .cabecalho-topo { margin-bottom: 12px; }
.tela:has(#view-politico:not([hidden])) .marca-link, .tela:has(#view-politico:not([hidden])) .atalho-busca { color: #FFF; }
.tela:has(#view-politico:not([hidden])) #titulo-tela { font-size: 1rem; line-height: 1.5; font-weight: 500; letter-spacing: 0; }
.tela:has(#view-politico:not([hidden])) #subtitulo-tela { display: none; }
#view-politico > .voltar { display: flex; width: calc(100% + 2 * var(--margem-conteudo)); margin: 0 calc(-1 * var(--margem-conteudo)); padding: 10px var(--margem-conteudo); border: 0; border-radius: 0; background: var(--grafite); color: #E9DBFA; }
.status-acompanhamento { order: 0; }
.cartao-raiox { order: 1; }
.resumo-dia { margin-top: 24px; background: var(--grafite); border-radius: 24px; }
.resumo-foto, .resumo-dia + .foto-credito { display: none; }
.resumo-dia::after { z-index: 0; inset: -30px -50px auto auto; width: 190px; height: 190px; border: 1px solid #8B6AC53D; border-radius: 50%; background: repeating-radial-gradient(circle,transparent 0 23px,#8B6AC53D 24px 25px); pointer-events: none; }
.resumo-conteudo { position: relative; z-index: 1; padding: 24px 22px; }
.resumo-dia .sobrancelha { padding: 0; background: transparent; color: #C7AEFD; font-size: .75rem; font-weight: 550; letter-spacing: .7px; }
.manchete { margin-top: 18px; font-size: 1.75rem; line-height: 1.15; font-weight: 530; letter-spacing: -1px; }
.resumo-texto { max-width: 30ch; margin-top: 12px; color: #CCC7D7; font-size: .875rem; line-height: 1.5; }
.atalho-novidades { margin-top: 24px; color: #E8DAFF; font-weight: 550; }
.stories-categorias { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 8px; margin: 0 0 24px; padding: 0; border-radius: 0; background: transparent; }
.story-categoria { flex: 1 1 auto; min-height: 44px; padding: 8px 4px; border: 1px solid var(--line); border-radius: 24px; background: transparent; font-size: .75rem; font-weight: 550; }
.story-categoria.ativo { border-color: var(--txt); background: var(--txt); color: #FFF; box-shadow: none; font-weight: 550; }
.feed-lista { gap: 0; }
.feed-card, .feed-destaque { border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.feed-card .feed-conteudo { padding: 24px 0; }
.feed-titulo, .feed-card .feed-titulo { margin: 14px 0 12px; font-size: 1.625rem; line-height: 1.18; letter-spacing: -.9px; font-weight: 570; }
.feed-card .feed-resumo { font-size: .875rem; line-height: 1.55; }
.feed-card .linha-selos { padding-top: 8px; border: 0; }
.feed-tipo { font-weight: 600; letter-spacing: .7px; }
.feed-card .cabeca { font-size: .8125rem; }
.feed-opcoes, .grupo-app { border-radius: 20px; }
.imprensa { margin: 0 0 28px; padding: 0; background: transparent; border: 0; }
.imprensa-card { border-radius: 20px; }
.imprensa-titulo { font-weight: 580; letter-spacing: -.4px; }
.imprensa-lista { grid-auto-columns: 94%; }
@media (max-width: 767px) { .imprensa-lista { grid-auto-columns: 86%; } }
.congresso-visual > img { display: none; }
.congresso-visual::after { background: transparent; }
.congresso-visual > span { padding: 24px; }
.congresso-visual strong { font-size: 1.75rem; line-height: 1.2; font-weight: 530; letter-spacing: -.8px; }
.perfil-cabeca { margin: 0 calc(-1 * var(--margem-conteudo)) 24px; padding: 24px var(--margem-conteudo); gap: 18px; border-radius: 0 0 28px 28px; background: var(--grafite); color: #FFF; }
.perfil-cabeca > img { width: 96px; height: 116px; border-radius: 22px; object-position: center 15%; }
.perfil-cabeca > div { min-width: 0; flex: 1; }
.perfil-cabeca h2 { font-size: 1.875rem; line-height: 1.08; font-weight: 560; letter-spacing: -1.1px; overflow-wrap: anywhere; }
.perfil-cabeca .sub { color: #D0C9DC; font-size: .8125rem; }
.perfil-cabeca a { color: #E9DBFA; }
.perfil-cabeca .seguir-btn { background: #453554; border: 1px solid #786286; color: #E9DBFA; font-weight: 550; }
.perfil-secao { padding: 0; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.perfil-secao > summary { margin: 0; padding-left: 0; font-size: 1.125rem; font-weight: 570; }
.perfil-secao[open] > summary { margin: 0; }
.raiox-grade { grid-template-columns: minmax(0,1fr); gap: 0; margin-top: 0; }
.raiox-num { display: flex; flex-direction: column; align-items: flex-start; padding: 24px 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; text-align: left; }
.raiox-num:last-child { border-bottom: 0; }
.raiox-num .rotulo { order: -1; margin: 0 0 10px; color: var(--txt); font-size: .9375rem; font-weight: 550; }
.raiox-num .valor, .raiox-num > .num:first-child { max-width: 100%; font-size: 2.625rem; line-height: 1.15; font-weight: 520; letter-spacing: -1.5px; overflow-wrap: anywhere; }
.raiox-num .contexto { font-size: .875rem; line-height: 1.5; }
.raiox-num .barra { width: 100%; height: 4px; margin: 14px 0 8px; }
.raiox-num .selo-verificado { margin-top: 8px; }
.raiox-num a { display: inline-block; padding-block: 10px; min-height: 44px; }
.item-mandato { border-radius: 0; background: transparent; border: 0; border-bottom: 1px solid var(--line); padding: 22px 0; }
.pag-novidade h2 { font-size: 1.875rem; line-height: 1.2; font-weight: 570; letter-spacing: -.9px; }
.explorar-titulo, .explorar-assuntos h2, .eleicoes-titulo { font-weight: 580; letter-spacing: -.5px; }
.presidencia-registro h3, .eleito-nome h5, .presidencia-bloco h3, .cartao-projeto-titulo { font-weight: 580; }
.presidencia-registro, .presidencia-bloco, .eleicao-candidato, .cartao-futuro { border-radius: 24px; }
.explorar-assuntos-lista { border-radius: 24px; }
.navegacao-inferior { background: #F6F5F1F2; backdrop-filter: blur(20px); box-shadow: none; }
.nav-item { font-weight: 500; }
.nav-item[aria-current="page"] { font-weight: 650; }
.nav-item svg { width: 47px; height: 28px; padding: 3px 13px; }
.nav-item[aria-current="page"] svg { border-radius: 14px; background: var(--roxo-bg); stroke-width: 1.8; }
@media (max-width: 380px) {
  .cabecalho { padding-inline: 20px; }
  .conteudo { padding-inline: 20px; }
  #titulo-tela { font-size: 2.5rem; }
  .perfil-cabeca { gap: 14px; }
  .perfil-cabeca > img { width: 80px; height: 100px; }
  .perfil-cabeca h2 { font-size: 1.75rem; }
  .cartao-politico { padding: 16px; }
  .cartao-politico > .cartao-politico-rodape { margin-inline: -16px; margin-bottom: -16px; padding-inline: 16px; }
  .feed-card .feed-titulo { font-size: 1.5rem; }
}
@media (min-width: 768px) {
  .cabecalho, .conteudo { padding-inline: 32px; }
  .conteudo { --margem-conteudo: 32px; }
  .perfil-cabeca { margin-inline: 0; border-radius: 28px; padding: 28px; }
  .imprensa-lista { grid-auto-columns: 48%; }
}
@media (min-width: 1024px) {
  .cabecalho-topo { display: none; }
  .cabecalho { padding-top: 32px; }
  .navegacao-inferior { background: var(--grafite); backdrop-filter: none; }
  .nav-item svg { width: 24px; height: 24px; padding: 0; }
  .nav-item[aria-current="page"] svg { background: transparent; }
}
.desfazer-aviso {
  position: sticky; bottom: calc(88px + env(safe-area-inset-bottom)); z-index: 30; display: flex; align-items: center; gap: 12px;
  margin: 0 16px; padding: 12px 14px; border: 1px solid var(--line); border-radius: var(--raio-lg);
  background: var(--card); box-shadow: 0 8px 24px rgba(25, 27, 37, .12);
}
.desfazer-aviso p { flex: 1; margin: 0; font-size: 0.875rem; line-height: 1.25rem; }
.desfazer-aviso .seguir-btn { flex: none; }
@media (min-width: 1024px) {
  .desfazer-aviso { bottom: 8px; }
}
@media (max-width: 30rem) {
  .resultado .seguir-btn { flex: 0 0 calc(100% - 68px); margin-left: 68px; }
  .rotulo-largo { display: none; }
  .rotulo-curto { display: inline; }
}

/* Contraste por superfície e leitura da contagem de hábito. */
.cabecalho :focus-visible { outline-color: var(--roxo); }
.tela:has(#view-politico:not([hidden])) .cabecalho :focus-visible { outline-color: #D7C5FF; }
.ritual-carteira { flex-wrap: wrap; }
.streak { white-space: normal; }
.convite-quiz span span { color: #5C5E65; }
.congresso-visual + .foto-credito { display: none; }
.tela:not(:has(:is(#view-carteira,#view-novidades,#view-explorar):not([hidden]))) .cabecalho { padding-bottom: 16px; }
.tela:not(:has(:is(#view-carteira,#view-novidades,#view-explorar):not([hidden]))) .cabecalho-topo { margin-bottom: 12px; }
.tela:not(:has(:is(#view-carteira,#view-novidades,#view-explorar):not([hidden]))) #titulo-tela { font-size: 1rem; line-height: 1.5; font-weight: 500; letter-spacing: 0; }
.tela:not(:has(:is(#view-carteira,#view-novidades,#view-explorar):not([hidden]))) #subtitulo-tela { display: none; }

.mandato-expansivel .tirar-btn { min-height: 44px; }

/* O registro fotográfico ocupa o cabeçalho existente sem deslocar a busca. */
.tela:has(#view-explorar:not([hidden])) .cabecalho { position: relative; isolation: isolate; padding-bottom: 44px; background: var(--grafite); color: #FFF; }
.tela:has(#view-explorar:not([hidden])) #titulo-tela { color: #FFF; }
.tela:has(#view-explorar:not([hidden])) #subtitulo-tela { color: #F1EDF8; }

/* Leitura auxiliar no celular, sem competir com o conteúdo principal. */
.privacidade, .quiz-nota, .story-categoria, .st-item-ref, .st-nota, .feed-chips button, .feed-filtro, .feed-contagem, .feed-resumo-contexto { font-size: .875rem; line-height: 1.5; }
.perfil-cartao-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; margin-top: 10px; padding: 8px 0; border: 0; background: transparent; color: #E3D3FF; text-decoration: underline; text-underline-offset: 4px; font-size: .875rem; }
.perfil-cartao-btn:disabled { opacity: .65; cursor: wait; }
.perfil-cabeca #perfil-cartao-estado { color: #E3D3FF; margin-top: 8px; }

.imprensa-card .imprensa-foto-credito { margin: 6px 0; color: var(--mut); font-size: .6875rem; line-height: 1.5; overflow-wrap: anywhere; }

.tela:has(#view-explorar:not([hidden])) .cabecalho { padding-bottom: 62px; }
@media (max-width: 767px) {
  .tela:has(#view-explorar:not([hidden])) .cabecalho { padding-top: calc(10px + env(safe-area-inset-top)); padding-bottom: 56px; }
  .tela:has(#view-explorar:not([hidden])) .cabecalho-topo { margin-bottom: 4px; }
  .tela:has(#view-explorar:not([hidden])) #titulo-tela { max-width: none; font-size: 1.75rem; line-height: 1.2; letter-spacing: -.8px; }
  .tela:has(#view-explorar:not([hidden])) #subtitulo-tela { margin-top: 4px; }
}
.tela:has(#view-explorar:not([hidden])) .marca-link { color: #FFF; }
.explorar-cabecalho-visual figcaption a { display: inline-block; min-height: 44px; padding: 5px 0; font-size: .75rem; line-height: 1.5; }
