/* ==========================================================================
   Tema escuro (azul) — o padrão no ar
   --------------------------------------------------------------------------
   As telas que nasceram claras (Placar, Congresso, Prumo + mosaico, Panorama de Partidos, Mapas 2D) perdiam
   contraste na transmissão. Tudo aqui é escopado por `body.bp-tema-escuro` (tema.js): o tema claro é o desenho
   original, intacto, e fora do painel (vMix, bastidores) nada muda. Mesma paleta das telas que já eram azuis
   (mapa, Apuração por Estado, Progressão): fundo #0e2f66 → #071a3d, vidro azul translúcido, texto #EAF2FD.
   ========================================================================== */
body.bp-tema-escuro {
  --te-fundo: radial-gradient(110% 80% at 50% 0%, #1d4f9c 0%, #0e2f66 55%, #071a3d 100%);
  --te-vidro: linear-gradient(145deg, rgba(28,66,128,.55), rgba(8,26,60,.62));
  --te-borda: rgba(150,190,255,.2);
  --te-linha: rgba(255,255,255,.07);
  --te-linha-borda: rgba(150,190,255,.16);
  --te-texto: #EAF2FD;
  --te-fraco: rgba(190,214,245,.78);
  --te-apagado: rgba(190,214,245,.55);
  --te-sobe: #5BD08A;
  --te-desce: #FF7A6B;
}

/* --------------------------------------------------------------------- botão Light/Dark (mesmo dos Mapas) */
.bp-tema-btn { font: inherit; font-size: .72rem; font-weight: 700; letter-spacing: .02em; cursor: pointer; border-radius: 999px; padding: .32rem .8rem;
  color: #4a6391; background: rgba(255,255,255,.55); border: 1px solid rgba(255,255,255,.9); transition: background .2s, color .2s; }
body.bp-tema-escuro .bp-tema-btn { color: var(--te-texto); background: rgba(10,30,66,.55); border-color: var(--te-borda); }
.bp-tema-btn:hover { filter: brightness(1.08); }
.bp-tema-btn-topo { margin-left: .6rem; align-self: center; }
body.bp-tema-claro .bp-tema-btn-topo { color: #12305E; }
/* Prumo e Congresso (tela cheia): ao lado de "Ocultar barra" */
/* Prumo: empilhado acima de "Ocultar barra" — ao lado, encostaria no carrossel de UFs */
.pt-tema-btn { position: absolute; left: 1rem; bottom: calc(var(--barra) + 1rem + 34px); z-index: 6; }
.bp-cong-tema-btn { position: absolute; left: calc(1rem + 112px); bottom: .7rem; z-index: 6; }   /* Congresso: ao lado (acima ficam as fichas) */
.pt-isolado .pt-tema-btn, .bp-cong-isolado .bp-cong-tema-btn { display: none; }

/* ==================================================================== Placar */
body.bp-tema-escuro .bp-tv { --tinta: var(--te-texto); --tinta-fraca: var(--te-fraco); --trilha: rgba(255,255,255,.14); }
body.bp-tema-escuro .bp-tv-corpo { background: linear-gradient(180deg, #12356c 0%, #0a2550 60%, #071a3d 100%); }
body.bp-tema-escuro .bp-tv-switcher { background: rgba(5,18,42,.55); border-top-color: var(--te-borda); }
body.bp-tema-escuro .bp-tv-aba { color: var(--te-apagado); }
body.bp-tema-escuro .bp-tv-aba:hover, body.bp-tema-escuro .bp-tv-aba-on { color: #fff; border-color: #fff; }
body.bp-tema-escuro .bp-tv-modos { background: transparent; }
body.bp-tema-escuro .bp-tv-modo { color: var(--te-apagado); }
body.bp-tema-escuro .bp-tv-modo-on { color: #0C2A5C; background: #E9F1FD; }
body.bp-tema-escuro .bp-tv-resumo .bp-resumo2 { background: rgba(5,18,42,.4); }
body.bp-tema-escuro .bp-tv-resumo .bp-res-rotulo, body.bp-tema-escuro .bp-tv-resumo .bp-res-pct { color: var(--te-texto); }
body.bp-tema-escuro .bp-tv-resumo .bp-res-trilha { background: rgba(255,255,255,.14); }
body.bp-tema-escuro .bp-tv-resumo .bp-res-barra { background: #7FB2F0; }
body.bp-tema-escuro .bp-silhueta { fill: #fff; opacity: .05; }
body.bp-tema-escuro .bp-tv .bp-sem-estado strong { color: var(--te-texto); }
body.bp-tema-escuro .bp-tv .bp-sem-estado span { color: var(--te-fraco); }
body.bp-tema-escuro .bp-tv .bp-rodape-votos { border-top-color: var(--te-borda); }
body.bp-tema-escuro .bp-linha-clara .bp-sit-prov { color: #CFF5DD; background: rgba(91,208,138,.28); }
body.bp-tema-escuro .bp-linha-clara .bp-sit-proj { color: #FFD48A; border-color: rgba(255,212,138,.6); }

/* ================================================================= Congresso */
body.bp-tema-escuro .bp-cong-vidro { background: var(--te-vidro); border-color: var(--te-borda); color: var(--te-texto);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), inset 0 -1px 0 rgba(0,0,0,.2); }
body.bp-tema-escuro .bp-cong-vidro::before { background: radial-gradient(circle at 20% 8%, rgba(160,200,255,.22), transparent 42%); }
body.bp-tema-escuro .bp-cong-vidro::after { opacity: .04; mix-blend-mode: overlay; }
body.bp-tema-escuro .bp-cong-logo { filter: brightness(0) invert(1); }
body.bp-tema-escuro .bp-cong-id strong, body.bp-tema-escuro .bp-cong-apuracao strong { color: #fff; }
body.bp-tema-escuro .bp-cong-id span, body.bp-tema-escuro .bp-cong-apuracao span, body.bp-tema-escuro .bp-cong-nota,
body.bp-tema-escuro .bp-cong-cab, body.bp-tema-escuro .bp-cong-tab-cab, body.bp-tema-escuro .bp-cong-nota-anel { color: var(--te-fraco); }
body.bp-tema-escuro .bp-cong-cab span:nth-child(3) { color: var(--te-texto); }
body.bp-tema-escuro .bp-cong-casas { background: rgba(5,18,42,.45); border-color: var(--te-borda); }
body.bp-tema-escuro .bp-cong-casa { color: var(--te-apagado); }
body.bp-tema-escuro .bp-cong-casa:hover { color: #fff; }
body.bp-tema-escuro .bp-cong-casa-on, body.bp-tema-escuro .bp-cong-casa-on:hover { background: #E9F1FD; color: #0C2A5C; }
body.bp-tema-escuro .bp-cong-modos { background: rgba(5,18,42,.4); border-color: var(--te-borda); }
body.bp-tema-escuro .bp-cong-modo { color: var(--te-apagado); }
body.bp-tema-escuro .bp-cong-modo:hover { color: #fff; }
body.bp-tema-escuro .bp-cong-modo-on, body.bp-tema-escuro .bp-cong-modo-on:hover { background: rgba(233,241,253,.95); color: #0C2A5C; }
/* linhas da tabela e fichas: vidro azul */
body.bp-tema-escuro .bp-cong-part, body.bp-tema-escuro .bp-cong-tab-linha { background: var(--te-linha); border-color: var(--te-linha-borda); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); color: var(--te-texto); }
body.bp-tema-escuro .bp-cong-antes, body.bp-tema-escuro .bp-cong-tab-linha span:nth-child(n+3) { color: var(--te-fraco); }
body.bp-tema-escuro .bp-cong-agora, body.bp-tema-escuro .bp-cong-tab-linha strong { color: #fff; }
body.bp-tema-escuro .bp-cong-tab-outros, body.bp-tema-escuro .bp-cong-tab-vago { background: rgba(255,255,255,.04); }
body.bp-tema-escuro .bp-cong-tab-outros .bp-cong-sigla, body.bp-tema-escuro .bp-cong-tab-vago .bp-cong-sigla,
body.bp-tema-escuro .bp-cong-tab-outros strong, body.bp-tema-escuro .bp-cong-tab-vago strong { color: var(--te-fraco); }
body.bp-tema-escuro .bp-cong-pendente { color: var(--te-fraco); }
body.bp-tema-escuro .bp-cong-pendente i, body.bp-tema-escuro .bp-cong-tab-vago i { background: rgba(255,255,255,.3); }
body.bp-tema-escuro .bp-congresso .bp-var-sobe { color: var(--te-sobe); }
body.bp-tema-escuro .bp-congresso .bp-var-desce { color: var(--te-desce); }
body.bp-tema-escuro .bp-congresso .bp-var-igual { color: var(--te-apagado); }
/* pontos: vaga a definir em branco translúcido; fora de disputa num cinza que ainda se separa do azul */
body.bp-tema-escuro .bp-cong-dot { stroke: rgba(255,255,255,.5); }
body.bp-tema-escuro .bp-cong-dot-vago { fill: rgba(255,255,255,.32); stroke: rgba(255,255,255,.45); }
body.bp-tema-escuro .bp-cong-dot-fora { fill: #5a6479; stroke: rgba(255,255,255,.28); }
body.bp-tema-escuro .bp-cong-nota-anel circle { fill: #5a6479; }
body.bp-tema-escuro .bp-cong-total { background: rgba(5,18,42,.75); border: 1px solid var(--te-borda); }
body.bp-tema-escuro .bp-cong-chave line, body.bp-tema-escuro .bp-cong-eixo { stroke: rgba(226,238,253,.5); }
body.bp-tema-escuro .bp-cong-chave-t, body.bp-tema-escuro .bp-cong-chave-n { fill: #fff; }
body.bp-tema-escuro .bp-cong-chave-s { fill: var(--te-fraco); }
body.bp-tema-escuro .bp-cong-barra-btn { color: var(--te-texto); background: rgba(10,30,66,.55); border-color: var(--te-borda); }

/* ===================================================================== Prumo */
body.bp-tema-escuro .pt { --navy: #fff; --pt-fundo: var(--te-fundo); color: var(--te-texto); }
body.bp-tema-escuro .pt::before { background-image: linear-gradient(rgba(255,255,255,.05) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.05) 1px, transparent 1px); }
body.bp-tema-escuro .pt::after { background: radial-gradient(42% 55% at 26% 58%, rgba(120,170,255,.12), rgba(120,170,255,0) 72%), radial-gradient(42% 55% at 74% 58%, rgba(120,170,255,.12), rgba(120,170,255,0) 72%); }
body.bp-tema-escuro .pt-logo { filter: brightness(0) invert(1); }
body.bp-tema-escuro .pt-nome i { background: linear-gradient(90deg, transparent, rgba(255,255,255,.55)); }
body.bp-tema-escuro .pt-sub, body.bp-tema-escuro .pt-apur span, body.bp-tema-escuro .pt-nota { color: var(--te-fraco); }
body.bp-tema-escuro .pt-nota { border-top-color: var(--te-borda); }
body.bp-tema-escuro .pt-margem-painel { border-left-color: var(--te-borda); }
body.bp-tema-escuro .pt-cargos { background: rgba(5,18,42,.45); border-color: var(--te-borda); box-shadow: 0 10px 30px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.08); }
body.bp-tema-escuro .pt-cargos button { color: var(--te-fraco); }
body.bp-tema-escuro .pt-cargos button.on { background: linear-gradient(180deg, #F4F8FE, #DCE7F6); color: #0d2451; }
/* números com gradiente recortado: versões claras do mesmo desenho */
body.bp-tema-escuro .pt-chance strong { background: linear-gradient(180deg, #ffffff 0%, #cfe0fa 100%); -webkit-background-clip: text; background-clip: text; filter: drop-shadow(0 6px 12px rgba(0,0,0,.35)); }
body.bp-tema-escuro .pt-leitura strong, body.bp-tema-escuro .pt-prev {
  background: linear-gradient(180deg, color-mix(in srgb, var(--c) 52%, #fff), color-mix(in srgb, var(--c) 72%, #fff)); -webkit-background-clip: text; background-clip: text; }
body.bp-tema-escuro .pt-leitura em { color: color-mix(in srgb, var(--c, #ff8a7a) 55%, #fff); }
body.bp-tema-escuro .pt-cand b { color: #fff; }
/* instrumentos (kit SVG): rótulos e marcas da escala em claro; os coloridos por partido mantêm a cor */
body.bp-tema-escuro .pt-inst text[fill="#061b48"], body.bp-tema-escuro .pt-inst text[fill="#0d2451"] { fill: #fff; }
body.bp-tema-escuro .pt-inst [stroke="#061b48"], body.bp-tema-escuro .pt-inst [stroke="#0d2451"], body.bp-tema-escuro .pt-inst [stroke="#143967"] { stroke: rgba(226,238,253,.75); }
body.bp-tema-escuro .pt-inst text { paint-order: stroke; stroke: rgba(4,14,34,.6); stroke-width: 3px; stroke-linejoin: round; }
/* rótulos coloridos por partido nas pontas da escala e na leitura: mesmo matiz, mais claros (o JS define o fill) */
body.bp-tema-escuro .pt-inst text:not([fill="#061b48"]):not([fill="#0d2451"]) { filter: brightness(1.45) saturate(1.1); }
/* botões e barra */
body.bp-tema-escuro .pt-btn-resultado { color: #fff; background: linear-gradient(180deg, rgba(40,84,156,.75), rgba(12,36,80,.8)); border-color: var(--te-borda); box-shadow: 0 10px 26px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.18); }
body.bp-tema-escuro .pt-btn-resultado[aria-expanded="true"] { background: #E9F1FD; color: #0d2451; }
body.bp-tema-escuro .pt-barra-btn { color: var(--te-texto); background: rgba(10,30,66,.55); border-color: var(--te-borda); }
body.bp-tema-escuro .pt-reg-nome, body.bp-tema-escuro .pt-uf-leg { color: var(--te-apagado); }
body.bp-tema-escuro .pt-uf-sil path { fill: #6f9be0; stroke: rgba(255,255,255,.9); }
body.bp-tema-escuro .pt-uf-b.on .pt-uf-sil path { fill: #fff; stroke: #6f9be0; }
/* mosaico: a tela atrás esmaece sob um gradiente azul; cartões de vidro azul */
body.bp-tema-escuro .pt-mosaico { background: linear-gradient(180deg, rgba(10,30,66,.6) 0%, rgba(7,22,52,.86) 45%, rgba(5,16,38,.95) 100%); }
body.bp-tema-escuro .pt-mz-tit span { color: var(--te-fraco); }
body.bp-tema-escuro .pt-mz { color: var(--te-texto); background: linear-gradient(170deg, rgba(36,76,144,.55), rgba(10,30,66,.6)); border-color: var(--te-borda);
  box-shadow: 0 16px 36px rgba(0,0,0,.3), inset 0 1px 0 rgba(255,255,255,.1); }
body.bp-tema-escuro .pt-mz:hover { box-shadow: 0 24px 46px rgba(0,0,0,.38), inset 0 1px 0 rgba(255,255,255,.12); }
body.bp-tema-escuro .pt-mz-atual { box-shadow: 0 0 0 3px #8fb8f2, 0 16px 36px rgba(0,0,0,.3); }
body.bp-tema-escuro .pt-mz header small, body.bp-tema-escuro .pt-mz-leit span, body.bp-tema-escuro .pt-mz-extra span,
body.bp-tema-escuro .pt-mz-leit em, body.bp-tema-escuro .pt-mz-extra em { color: var(--te-fraco); }
body.bp-tema-escuro .pt-mz header .pt-uf-sil path { fill: #6f9be0; stroke: rgba(255,255,255,.85); }
body.bp-tema-escuro .pt-mz-c strong, body.bp-tema-escuro .pt-mz-c small, body.bp-tema-escuro .pt-mz-leit b { color: color-mix(in srgb, var(--c, #fff) 58%, #fff); }
body.bp-tema-escuro .pt-mz-extra { border-top-color: var(--te-borda); }
body.bp-tema-escuro .pt-mzp text[fill="#5b7395"] { fill: var(--te-fraco); }
body.bp-tema-escuro .pt-mzp-prumo0 { stroke: rgba(190,214,245,.5); }
body.bp-tema-escuro .pt-mzp-fio { stroke: #c9d8ec; }
body.bp-tema-escuro .pt-mzp-pivo { fill: #dfe9f6; stroke: #8fb0dc; }
body.bp-tema-escuro .pt-mz-vazio p { color: var(--te-fraco); }

/* ======================================================= Panorama de Partidos */
body.bp-tema-escuro .bp-pt-vidro { color: var(--te-texto); }
body.bp-tema-escuro .bp-pt-fundo { background: radial-gradient(circle at 18% 6%, rgba(160,200,255,.2), transparent 40%), var(--te-vidro); border-color: var(--te-borda);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.12), inset 0 -1px 0 rgba(0,0,0,.2); }
body.bp-tema-escuro .bp-pt-id strong, body.bp-tema-escuro .bp-pt-apur strong, body.bp-tema-escuro .bp-pt-cab strong { color: #fff; }
body.bp-tema-escuro .bp-pt-id span, body.bp-tema-escuro .bp-pt-apur span, body.bp-tema-escuro .bp-pt-cab span,
body.bp-tema-escuro .bp-pt-colunas, body.bp-tema-escuro .bp-pt-nota { color: var(--te-fraco); }
body.bp-tema-escuro .bp-pt-colunas span:nth-child(3) { color: var(--te-texto); }
body.bp-tema-escuro .bp-pt-cab::after { background: #8fb8f2; }
body.bp-tema-escuro .bp-pt-col-menor .bp-pt-cab::after { background: rgba(143,184,242,.6); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-pt-linha { background: var(--te-linha); border-color: var(--te-linha-borda); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-pt-antes { color: var(--te-fraco); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-pt-agora, body.bp-tema-escuro .bp-pt-modo-painel .bp-pt-pct { color: #fff; }
body.bp-tema-escuro .bp-pt-modo-painel .bp-pt-votos { color: var(--te-fraco); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-pt-trilha { background: rgba(255,255,255,.12); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-pt-bn .bp-pt-sigla { color: var(--te-fraco); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-var-sobe { color: var(--te-sobe); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-var-desce { color: var(--te-desce); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-var-igual { color: var(--te-apagado); }
body.bp-tema-escuro .bp-pt-modo-painel .bp-pt-mudou { animation-name: bp-pt-brilho-escuro; }
body.bp-tema-escuro .bp-pt-focar { color: var(--te-texto); background: rgba(10,30,66,.55); border-color: var(--te-borda); }

/* ================================================================ Mapas 2D */
body.bp-tema-escuro .bp-mapas-vidro { color: var(--te-texto); background: var(--te-vidro); border-color: var(--te-borda); }
body.bp-tema-escuro .bp-mapas-cabecalho { border-bottom-color: var(--te-borda); }
body.bp-tema-escuro .bp-mapas-id strong, body.bp-tema-escuro .bp-mapas-legenda, body.bp-tema-escuro .bp-mapa-escala,
body.bp-tema-escuro .bp-mapa-itens b, body.bp-tema-escuro .bp-mapa-contagem b { color: #fff; }
body.bp-tema-escuro .bp-mapas-id span, body.bp-tema-escuro .bp-mapas-legenda em, body.bp-tema-escuro .bp-mapa-legenda { color: var(--te-fraco); }
body.bp-tema-escuro .bp-mapas-visao, body.bp-tema-escuro .bp-mapas-estilo button, body.bp-tema-escuro .bp-prumo-mapa-btn { color: var(--te-texto); background: rgba(10,30,66,.5); border-color: var(--te-borda); }
body.bp-tema-escuro .bp-mapas-estilo { border-color: var(--te-borda); }
body.bp-tema-escuro .bp-mapas-visao-on, body.bp-tema-escuro .bp-mapas-estilo button.bp-mapas-estilo-on, body.bp-tema-escuro .bp-prumo-mapa-btn[aria-pressed="true"],
body.bp-tema-escuro .bp-mapas-max { background: #E9F1FD; color: #0C2A5C; border-color: #E9F1FD; }
body.bp-tema-escuro .bp-mapa-itens b.q { background: rgba(104,150,222,.78); color: #fff; }
body.bp-tema-escuro .bp-mapa-placa { filter: drop-shadow(0 26px 22px rgba(0,0,0,.45)); }
/* setas do Mapas 2D: a legenda usa o mesmo azul/vermelho intensos das setas (mapas.js, PALETA) */
body.bp-tema-escuro .bp-mapas-modo-setas .bp-mapas-legenda i::before { color: #4080FF; }
body.bp-tema-escuro .bp-mapas-modo-setas .bp-mapas-legenda i::after { color: #FF483A; }
body.bp-tema-escuro .pt-uf-nome { color: #fff; }

/* Congresso (escuro): a tabela ganha um painel de vidro de verdade, e as linhas se destacam dele */


body.bp-tema-escuro .bp-cong-top5 .bp-cong-tab-outros, body.bp-tema-escuro .bp-cong-top5 .bp-cong-tab-vago { background: rgba(255,255,255,.04); }

