/* Guia da Transparência · Votos por município (#/votos-partido). Só variáveis do Guia, para valer também no alto contraste. */
.vp-filtro{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(220px,1.3fr) minmax(220px,1.2fr);gap:14px 16px;padding:18px;align-items:end;margin-bottom:16px}
.vp-f-cargo,.vp-f-agrupa,.vp-filtro .vp-dica{grid-column:1/-1}
.vp-f-agrupa{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px;padding-top:12px;border-top:1px solid var(--line)}
.vp-rot{font-size:.875rem;font-weight:700;color:var(--muted)}
.vp-seg{display:inline-flex;flex-wrap:wrap;gap:0;border:1px solid var(--primary);border-radius:24px;overflow:hidden;background:var(--surface)}
.vp-seg button{border:0;background:transparent;color:var(--primary);font-weight:700;font-size:.9rem;padding:10px 16px;min-height:44px;cursor:pointer;transition:background .2s,color .2s}
.vp-seg button+button{border-left:1px solid var(--primary)}
.vp-seg button:hover{background:var(--blue-5)}
.vp-seg button[aria-pressed="true"]{background:var(--primary);color:#fff}
.vp-seg-peq button{font-size:.84rem;padding:8px 13px;min-height:40px}
[data-theme="contrast"] .vp-seg button[aria-pressed="true"]{color:#000}
.vp-fedgrupo{display:flex;align-items:center;gap:10px 14px;flex-wrap:wrap}
.vp-dica{margin:0;padding:10px 14px;background:var(--yellow-10);border-left:4px solid var(--yellow);border-radius:var(--radius);font-size:.9rem;line-height:1.5;color:var(--text)}
[data-theme="contrast"] .vp-dica{background:#222;color:#fff}
.vp-combo{position:relative}
.vp-combo input{padding-right:44px}
.vp-limpa{position:absolute;right:4px;top:4px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--muted);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.vp-limpa:hover{background:var(--blue-5);color:var(--primary)}
.vp-sug{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 4px);margin:0;padding:6px;list-style:none;background:var(--surface);border:1px solid var(--gray-40);border-radius:var(--radius);box-shadow:var(--shadow-2);max-height:320px;overflow:auto}
.vp-sug li{padding:11px 12px;border-radius:6px;cursor:pointer;min-height:44px;display:flex;align-items:center}
.vp-sug li:hover,.vp-sug li[aria-selected="true"]{background:var(--blue-10);color:var(--blue-80)}
.vp-sug li.vazio{cursor:default;color:var(--muted)}
.vp-sug li.vazio:hover{background:transparent;color:var(--muted)}

/* resumo do que está na tela */
.vp-resumo{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px 28px;margin:0 0 16px;animation:vp-sobe .45s ease-out}
.vp-resumo h2{margin:2px 0 4px;font:700 clamp(1.4rem,3vw,1.9rem)/1.15 var(--display);color:var(--blue-80);letter-spacing:-.02em}
.vp-kicker{margin:0;font-size:.82rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.vp-sub{margin:0;color:var(--muted);max-width:680px;font-size:.92rem}
.vp-numeros{display:flex;flex-wrap:wrap;gap:10px;margin:0}
.vp-numeros div{background:var(--blue-5);border:1px solid var(--blue-20);border-radius:var(--radius);padding:8px 14px;min-width:120px}
.vp-numeros dt{font-size:.78rem;font-weight:700;color:var(--muted)}
.vp-numeros dd{margin:0;font-weight:800;color:var(--blue-80);font-size:1.05rem;font-variant-numeric:tabular-nums}

/* mapa ao lado da tabela */
.vp-grade{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:20px;align-items:start}
.vp-col-mapa{position:sticky;top:12px}
.vp-mapa{padding:14px 14px 12px}
.vp-mapa-topo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-bottom:6px}
.vp-mapa-tit{margin:0;font:700 1rem/1.25 var(--display);color:var(--blue-80)}
.vp-mapa-tela{position:relative;min-height:240px}
.vp-svg{display:block;width:100%;height:auto;max-height:min(62vh,600px);overflow:visible}
.vp-reg{stroke:var(--surface);stroke-width:.45;cursor:pointer;transition:fill .6s ease,fill-opacity .6s ease,stroke-width .2s;transform-box:fill-box;transform-origin:center}
.vp-svg[data-escala="brasil"] .vp-reg{stroke-width:1.6}
.vp-reg:hover{stroke:var(--text);stroke-width:1.4}
.vp-svg[data-escala="brasil"] .vp-reg:hover{stroke-width:2.6}
.vp-reg.sel{stroke:var(--text);stroke-width:2}
.vp-svg[data-escala="brasil"] .vp-reg.sel{stroke-width:3.4}
.vp-reg:focus{outline:none}
.vp-reg:focus-visible{stroke:var(--focus);stroke-width:4}
.vp-uf-rot{font:700 15px var(--font);fill:#fff;stroke:rgba(7,29,65,.55);stroke-width:3px;paint-order:stroke;text-anchor:middle;dominant-baseline:middle;pointer-events:none}
.vp-pulso{fill:none;stroke:var(--text);stroke-width:2.5;pointer-events:none;transform-box:fill-box;transform-origin:center;animation:vp-pulso 1.8s ease-out infinite}
@keyframes vp-pulso{0%{opacity:.95;transform:scale(.6)}100%{opacity:0;transform:scale(3.4)}}
@keyframes vp-sobe{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.vp-balao{position:absolute;z-index:5;transform:translate(-50%,calc(-100% - 12px));background:var(--blue-90);color:#fff;border-radius:8px;padding:6px 10px;font-size:.8rem;line-height:1.35;pointer-events:none;box-shadow:var(--shadow-2);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}
[data-theme="contrast"] .vp-balao{background:#000;border:1px solid #fff}
.vp-mapa-leg{margin-top:8px}
.vp-leg-tit{margin:0 0 6px;font-size:.84rem;color:var(--muted)}
.vp-leg-aviso{margin:0 0 6px}
.vp-leg-itens{display:flex;flex-wrap:wrap;gap:6px}
.vp-leg-item{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:5px 10px;font:inherit;font-size:.8rem;color:var(--text);min-height:34px}
button.vp-leg-item{cursor:pointer;transition:border-color .2s,transform .2s}
button.vp-leg-item:hover{border-color:var(--primary);transform:translateY(-1px)}
.vp-leg-item i{width:12px;height:12px;border-radius:3px;background:var(--cor);flex:none}
.vp-leg-item small{color:var(--muted)}
.vp-escala{display:grid;grid-template-columns:1fr 1fr;gap:4px;font-size:.78rem;color:var(--muted)}
.vp-escala i{grid-column:1/-1;height:12px;border-radius:999px;background:linear-gradient(90deg,transparent,var(--cor)),var(--gray-5)}
.vp-escala span:last-child{text-align:right}
.vp-leg-limpa{margin-top:6px}
@media (prefers-reduced-motion:reduce){.vp-reg{transition:none}.vp-pulso{animation:none;opacity:.8}.vp-resumo{animation:none}}

/* tabela */
.vp-acoes{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 12px}
.vp-ordem{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 12px;font-size:.9rem;font-weight:700;color:var(--muted)}
.vp-tab{width:100%;border-collapse:collapse;background:var(--surface)}
.vp-tab th{position:sticky;top:0;background:var(--blue-5);color:var(--blue-80);font-size:.8rem;text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.vp-tab td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:middle}
.vp-tab tbody tr{transition:background .2s}
.vp-tab tbody tr:hover{background:var(--blue-5)}
.vp-tab .n{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.vp-tab th.n{text-align:right}
.vp-pos{width:52px;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.vp-cor{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:0}
.vp-part small{display:block;margin-top:2px;color:var(--muted);font-size:.8rem;line-height:1.35}
.vp-nome{color:var(--muted);font-size:.88rem}
.vp-fed,.vp-sit{font-size:.72rem;padding:2px 8px;margin-left:4px;vertical-align:1px}
.vp-link{border:0;background:transparent;padding:0;color:var(--primary);font:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px;text-align:left}
.vp-link:hover{color:var(--primary-strong)}
.vp-link b{font-weight:800}
.vp-pc{min-width:160px;white-space:nowrap}
.vp-pc b{display:inline-block;min-width:54px;text-align:right;font-variant-numeric:tabular-nums}
.vp-bar{display:inline-block;vertical-align:middle;width:calc(100% - 66px);max-width:240px;height:9px;border-radius:999px;background:var(--blue-10);overflow:hidden;margin-right:8px}
.vp-bar i{display:block;height:100%;border-radius:999px;background:var(--primary);transition:width .5s ease}
.vp-tab tr.vp-destaque td{background:var(--yellow-10);border-bottom-color:var(--yellow)}
.vp-tab tr.vp-destaque td:first-child{box-shadow:inset 4px 0 0 var(--primary)}
.vp-gov{text-align:center;white-space:nowrap;font-weight:800;font-variant-numeric:tabular-nums;color:var(--blue-80)}
.vp-tab th.vp-gov{white-space:normal;min-width:90px;cursor:help}
.vp-gov-sem{font-weight:600;color:var(--muted);font-size:.8rem}
.vp-gov-m{display:none}
.vp-gov-bloco{padding:16px 18px;margin:0 0 14px}
.vp-gov-bloco h3{margin:0 0 10px;font:700 1.05rem/1.2 var(--display);color:var(--blue-80)}
.vp-pilha{display:flex;height:14px;border-radius:999px;overflow:hidden;background:var(--gray-5);gap:2px}
.vp-pilha i,.vp-leg i{display:block}
.vp-pilha i{min-width:2px}
.vp-pilha i.a,.vp-leg i.a{background:var(--primary)}
.vp-pilha i.b,.vp-leg i.b{background:var(--yellow)}
.vp-pilha i.c,.vp-leg i.c{background:var(--gray-40)}
.vp-leg{list-style:none;margin:12px 0 8px;padding:0;display:grid;gap:6px}
.vp-leg li{display:flex;align-items:flex-start;gap:10px;font-size:.92rem;line-height:1.4}
.vp-leg li i{flex:none;width:14px;height:14px;border-radius:4px;margin-top:3px}
.vp-leg li b{font-variant-numeric:tabular-nums;white-space:nowrap}
.vp-gov-nota{margin:6px 0 0}
[data-theme="contrast"] .vp-pilha i.b,[data-theme="contrast"] .vp-leg i.b{background:#fff}
[data-theme="contrast"] .vp-pilha i.c,[data-theme="contrast"] .vp-leg i.c{background:#888}
[data-theme="contrast"] .vp-tab tr.vp-destaque td{background:#222;border-bottom-color:#FFCD07}
.vp-vazio{padding:22px;color:var(--muted)}
.vp-fonte{margin:12px 0 0}
.vp-links a{margin-right:18px;font-weight:700}

/* placar do estudo, grande, no topo */
.vp-estudo{margin:0 0 22px;padding:clamp(18px,3vw,30px);border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--blue-90),var(--blue-80));color:#fff;box-shadow:var(--shadow-2);animation:vp-sobe .5s ease-out}
[data-theme="contrast"] .vp-estudo{background:#000;border:1px solid #fff}
.vp-e-kicker{margin:0;font-size:.8rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--yellow)}
.vp-e-topo h2{margin:6px 0 6px;font:800 clamp(1.5rem,3.4vw,2.3rem)/1.1 var(--display);color:#fff;letter-spacing:-.02em}
.vp-e-topo p{margin:0;max-width:760px;color:#dfe9f8;font-size:.95rem}
/* esquema "quem puxou o voto": time de futebol, cada cidade um jogo, o mais votado é o artilheiro */
.vp-x{margin:16px 0 4px;display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0}
.vp-x-passos{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.vp-x-passos li{display:flex;gap:10px;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:12px 14px}
.vp-x-passos li>span{flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--yellow);color:var(--blue-90);font-weight:800}
.vp-x-passos p{margin:0;font-size:.9rem;line-height:1.45;color:#dfe9f8}
.vp-x-passos b{color:#fff}
.vp-x-mapa{background:rgba(255,255,255,.04);border:1px dashed rgba(255,255,255,.22);border-radius:var(--radius-lg);padding:16px clamp(12px,2.4vw,22px) 14px}
.vp-x-raiz{position:relative;margin:0 auto;width:max-content;max-width:100%;display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:999px;background:#fff;color:var(--blue-90);font-weight:800}
.vp-x-raiz small{font-weight:600;color:var(--muted);font-size:.74rem}
.vp-x-raiz .ico{width:18px;height:18px;color:var(--blue-90)}
.vp-x-raiz::after{content:"";position:absolute;left:50%;top:100%;width:2px;height:16px;background:rgba(255,255,255,.35)}
.vp-x-time{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:16px;padding-top:18px}
.vp-x-time::before{content:"";position:absolute;top:0;left:16.66%;right:16.66%;height:2px;background:rgba(255,255,255,.35)}
.vp-x-no{position:relative;display:flex;flex-direction:column;gap:3px;padding:14px 14px 12px;border-radius:var(--radius);background:rgba(255,255,255,.07);border:2px solid rgba(255,255,255,.14);transition:transform .45s cubic-bezier(.22,1,.36,1),border-color .45s,background .45s}
.vp-x-no::before{content:"";position:absolute;left:50%;bottom:100%;width:2px;height:20px;background:rgba(255,255,255,.35)}
.vp-x-no strong{font:800 1.05rem/1.2 var(--display);color:#fff}
.vp-x-no>small{color:#c9d6ee;font-size:.78rem}
.vp-x-no em{font:800 clamp(1.6rem,3.6vw,2.1rem)/1 var(--display);font-style:normal;color:#fff;font-variant-numeric:tabular-nums;margin-top:4px}
.vp-x-barra{display:block;height:10px;margin-top:8px;border-radius:999px;background:rgba(255,255,255,.14);overflow:hidden}
.vp-x-barra i{display:block;height:100%;width:0;border-radius:inherit;background:#c9d6ee;transition:width .8s cubic-bezier(.22,1,.36,1),background .45s}
.vp-x-selo{position:absolute;top:-13px;right:10px;display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;background:var(--yellow);color:var(--blue-90);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;opacity:0;transform:scale(.6);transition:opacity .3s,transform .45s cubic-bezier(.34,1.56,.64,1)}
.vp-x-selo .ico{width:14px;height:14px;color:var(--blue-90)}
.vp-x-no.ganha{transform:translateY(-4px);border-color:var(--yellow);background:rgba(255,205,7,.12)}
.vp-x-no.ganha .vp-x-barra i{background:var(--yellow)}
.vp-x-no.ganha .vp-x-selo{opacity:1;transform:scale(1)}
.vp-x-conc{margin:14px auto 0;max-width:640px;text-align:center;color:#dfe9f8;font-size:.95rem;min-height:2.9em}
.vp-x-conc b{color:var(--yellow)}
.vp-x-ex{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.vp-x-ex button{border:1px solid rgba(255,255,255,.35);background:transparent;color:#fff;border-radius:999px;padding:8px 16px;min-height:40px;font:inherit;font-weight:700;cursor:pointer}
.vp-x-ex button[aria-pressed="true"]{background:var(--yellow);border-color:var(--yellow);color:var(--blue-90)}
[data-theme="contrast"] .vp-x-no.ganha{border-color:#fff;background:#111}
@media (max-width:640px){
  .vp-x-passos,.vp-x-time{grid-template-columns:1fr}
  .vp-x-time{gap:18px;padding-top:6px}
  .vp-x-time::before,.vp-x-no::before,.vp-x-raiz::after{display:none}
  .vp-x-raiz{width:auto;flex-wrap:wrap;justify-content:center;text-align:center;border-radius:18px}
}
@media (prefers-reduced-motion:reduce){.vp-x-no,.vp-x-barra i,.vp-x-selo{transition:none}}
.vp-e-duelo{display:grid;grid-template-columns:1fr auto 1fr;gap:16px;align-items:stretch;margin:20px 0 14px}
.vp-e-x{align-self:center;font:800 2rem/1 var(--display);color:var(--yellow)}
.vp-e-lado{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-top:5px solid var(--cor);border-radius:var(--radius-lg);padding:16px 18px}
.vp-e-nome{margin:0;display:flex;align-items:center;flex-wrap:wrap;gap:4px 10px;font:800 clamp(1.15rem,2.4vw,1.5rem)/1.15 var(--display);color:#fff}
.vp-e-nome i{width:14px;height:14px;border-radius:4px;background:var(--cor)}
.vp-e-nome small{font:600 .82rem var(--font);color:#c9d6ee}
.vp-e-big{margin:12px 0 10px;display:flex;flex-direction:column;gap:2px}
.vp-e-big b{font:800 clamp(2.4rem,6vw,3.6rem)/1 var(--display);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.vp-e-big span{font-size:.9rem;color:#dfe9f8;max-width:320px}
.vp-e-lista{list-style:none;margin:0;padding:10px 0 0;border-top:1px solid rgba(255,255,255,.16);display:grid;gap:6px;font-size:.9rem;color:#dfe9f8}
.vp-e-lista b{color:#fff;font-variant-numeric:tabular-nums}
.vp-e-rodape{margin:0;font-size:.86rem;color:#c9d6ee;display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.vp-e-rodape b{color:#fff}
.vp-e-mais{border:1px solid var(--yellow);background:transparent;color:var(--yellow);border-radius:999px;padding:8px 14px;font:inherit;font-weight:700;cursor:pointer;min-height:40px;display:inline-flex;align-items:center;gap:6px}
.vp-e-mais:hover{background:rgba(255,205,7,.12)}

/* tendência do 2º turno (aritmética do 1º turno) */
.vp-t{margin-top:22px;padding-top:20px;border-top:1px solid rgba(255,255,255,.18)}
.vp-t h3{margin:6px 0;font:800 clamp(1.25rem,2.6vw,1.7rem)/1.15 var(--display);color:#fff}
.vp-t-intro{margin:0 0 14px;color:#dfe9f8;max-width:860px;font-size:.95rem}
.vp-t-intro b{color:#fff}
.vp-t-precisa{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
.vp-t-precisa>div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-left:5px solid var(--cor);border-radius:var(--radius);padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.vp-t-precisa b{font:800 clamp(1.8rem,4.4vw,2.6rem)/1 var(--display);color:#fff;font-variant-numeric:tabular-nums}
.vp-t-precisa span{color:#dfe9f8;font-size:.9rem}
.vp-t-precisa strong{color:#fff}
.vp-t-uf{margin:14px 0 6px;color:#dfe9f8;font-size:.92rem;line-height:2}
.vp-t-uf b{color:#fff}
.vp-t .muted{color:#c9d6ee}
.vp-t-placar{display:grid;grid-template-columns:1fr auto 1fr;gap:14px;align-items:center;margin:12px 0}
.vp-t-placar>div{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-top:5px solid var(--cor);border-radius:var(--radius-lg);padding:14px 16px;display:flex;flex-direction:column;gap:2px}
.vp-t-placar span{font:700 1.05rem var(--display);color:#fff}
.vp-t-placar b{font:800 clamp(2.4rem,6vw,3.6rem)/1 var(--display);color:#fff;font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.vp-t-placar small{color:#c9d6ee;font-size:.82rem}
.vp-t-fig{margin:6px 0 16px;background:rgba(255,255,255,.05);border-radius:var(--radius);padding:10px}
.vp-t-graf{display:block;width:100%;height:auto}
.vp-t-graf .g-grade{stroke:rgba(255,255,255,.12);stroke-width:1}
.vp-t-graf .g-50{stroke:rgba(255,205,7,.55);stroke-dasharray:4 4}
.vp-t-graf .g-eixo{fill:#c9d6ee;font:500 11px var(--font)}
.vp-t-graf .g-rot{fill:var(--yellow);font-weight:700}
.vp-t-graf .g-turno{stroke:rgba(255,205,7,.7);stroke-width:1.5}
.vp-t-graf .g-linha{fill:none;stroke-width:3.2;stroke-linejoin:round;stroke-linecap:round}
.vp-t-graf .g-ponto{opacity:.45}
.vp-t-graf .g-real{stroke:#fff;stroke-width:2}
.vp-t-fig figcaption{display:flex;flex-wrap:wrap;gap:6px 16px;margin-top:6px;font-size:.8rem;color:#c9d6ee}
.vp-t-fig figcaption i{display:inline-block;width:12px;height:4px;border-radius:2px;margin-right:6px;vertical-align:middle}
.vp-t-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.vp-t-cards>div{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);padding:12px 14px;font-size:.88rem;color:#dfe9f8}
.vp-t-cards h4{margin:0 0 6px;font:700 .95rem var(--display);color:#fff}
.vp-t-cards p{margin:0 0 6px}
.vp-t-cards b{color:#fff}
.vp-t-erros{list-style:none;margin:6px 0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:3px 12px;font-size:.82rem}
.vp-t-erros li{display:flex;justify-content:space-between;gap:6px;border-bottom:1px dotted rgba(255,255,255,.18)}
.vp-t-erros b{font-variant-numeric:tabular-nums}
.vp-t-fonte a{color:var(--yellow)}
@media (max-width:860px){.vp-t-cards{grid-template-columns:1fr}}
@media (max-width:700px){.vp-t-placar{grid-template-columns:1fr}.vp-t-placar .vp-e-x{justify-self:center}.vp-t-erros{grid-template-columns:1fr}}
.vp-t-2t{margin:0 0 18px;padding:18px;border-radius:var(--radius-lg);background:linear-gradient(135deg,var(--blue-90),var(--blue-80));color:#fff}
.vp-t-2t .vp-t{margin:0;padding:0;border:0}
[data-theme="contrast"] .vp-t-2t{background:#000;border:1px solid #fff}
@media (max-width:700px){.vp-t-precisa{grid-template-columns:1fr}}

/* explicado passo a passo (mesmo espírito do "Aprenda política") */
.vp-head-acoes{display:flex;flex-wrap:wrap;gap:10px}
.vp-d,.vp,#vpFiltro,#vpEstudo{scroll-margin-top:80px}
.vp-d-barra{height:8px;border-radius:999px;background:var(--blue-10);overflow:hidden;margin:0 0 12px}
.vp-d-barra span{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--green),var(--yellow),var(--blue-70));border-radius:999px;transition:width .5s cubic-bezier(.22,1,.36,1)}
.vp-d-abas{display:flex;gap:8px;overflow-x:auto;padding:2px 2px 10px;scroll-snap-type:x proximity}
.vp-d-aba{flex:0 0 auto;scroll-snap-align:start;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--blue-20);background:var(--surface);color:var(--blue-80);border-radius:999px;padding:8px 14px 8px 8px;font:inherit;font-weight:700;font-size:.88rem;cursor:pointer;min-height:44px;transition:background .2s,border-color .2s,transform .2s}
.vp-d-aba:hover{transform:translateY(-1px);border-color:var(--primary)}
.vp-d-aba[aria-selected="true"]{background:var(--primary);border-color:var(--primary);color:#fff}
.vp-d-aba.feito .vp-d-n{background:var(--green);color:#fff}
.vp-d-n{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--yellow);color:var(--blue-90);font-weight:800;font-size:.85rem;flex:none}
.vp-d-n.grande{width:48px;height:48px;font-size:1.3rem}
[data-theme="contrast"] .vp-d-aba[aria-selected="true"]{color:#000}
.vp-d-painel{padding:clamp(16px,3vw,26px);outline:none}
.vp-d-entra{animation:vp-sobe .45s ease-out}
.vp-d-topo{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.vp-d-topo small{color:var(--muted);font-weight:700}
.vp-d-topo h3{margin:0;font:800 clamp(1.3rem,3vw,1.75rem)/1.15 var(--display);color:var(--blue-80)}
.vp-d-lead{font-size:1.05rem;margin:0 0 14px}
.vp-d-painel p{max-width:860px}
.vp-d-urna{list-style:none;margin:0 0 16px;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.vp-d-urna li{border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);background:var(--surface)}
.vp-d-urna li span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;font-weight:800;background:var(--blue-90);color:#fff}
.vp-d-urna li b{font-size:.92rem;line-height:1.2}
.vp-d-urna li small{color:var(--muted);font-size:.78rem}
.vp-d-urna li.proporcional{border-top:4px solid var(--blue-70)}
.vp-d-urna li.majoritario{border-top:4px solid var(--yellow)}
.vp-d-duas{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:12px 0}
.vp-d-tres{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:0 0 12px}
.vp-d-quatro{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:0 0 12px}
.vp-d-card{border:1px solid var(--line);border-radius:var(--radius-lg);padding:14px 16px;background:var(--blue-5)}
.vp-d-card h4{margin:0 0 6px;display:flex;align-items:center;gap:8px;font:800 1rem/1.25 var(--display);color:var(--blue-80)}
.vp-d-card p{margin:0;font-size:.92rem}
.vp-d-card.majoritario{border-left:5px solid var(--yellow)}
.vp-d-card.proporcional{border-left:5px solid var(--blue-70)}
.vp-d-ilu{display:flex;align-items:center;justify-content:center;gap:0;min-height:56px;margin-bottom:8px}
.vp-d-bola{display:inline-block;width:34px;height:34px;border-radius:50%;background:var(--cor);box-shadow:0 0 0 3px var(--surface);vertical-align:middle;flex:none}
.vp-d-card h4 .vp-d-bola,.vp-d-casa .vp-d-bola{width:16px;height:16px;box-shadow:none}
.vp-d-ilu i{display:block;width:26px;height:6px;background:var(--blue-80);border-radius:3px}
.vp-d-col i{background:none;border-top:4px dashed var(--muted);height:0}
.vp-d-escada{display:grid;gap:8px;margin:0 0 14px;max-width:620px}
.vp-d-escada div{margin-left:calc(var(--i) * 26px);padding:10px 14px;border-radius:12px;background:var(--blue-5);border:1px solid var(--blue-20);border-left:5px solid var(--blue-70);display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;animation:vp-sobe .5s ease-out backwards;animation-delay:calc(var(--i) * 90ms)}
.vp-d-escada div:first-child{border-left-color:var(--yellow)}
.vp-d-escada small{color:var(--muted)}
.vp-d-casa{display:flex;align-items:stretch;gap:12px;margin:0 0 14px;flex-wrap:wrap}
.vp-d-casa>.vp-d-card{flex:1 1 220px;display:flex;flex-direction:column;gap:4px}
.vp-d-casa>.vp-d-card small{color:var(--muted);font-weight:700}
.vp-d-casa>span{align-self:center;font:800 2rem var(--display);color:var(--red)}
.vp-d-nota{display:flex;gap:8px;align-items:flex-start;color:var(--muted);font-size:.88rem;margin:10px 0 0}
.vp-d-uso{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.vp-d-uso li{display:flex;gap:10px;align-items:flex-start;background:var(--blue-5);border:1px solid var(--blue-20);border-radius:var(--radius-lg);padding:12px}
.vp-d-uso li span{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--primary);color:#fff;font-weight:800;flex:none}
.vp-d-uso li small{display:block;color:var(--muted);font-size:.84rem}
.vp-d-nav{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.vp-d-dic-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.vp-d-dic-grade .card{padding:12px 14px}
.vp-d-dic-grade b{color:var(--blue-80)}
.vp-d-dic-grade p{margin:4px 0 0;font-size:.9rem;color:var(--muted)}
@media (max-width:1000px){.vp-d-urna{grid-template-columns:repeat(3,1fr)}.vp-d-quatro,.vp-d-uso{grid-template-columns:1fr 1fr}}
@media (max-width:700px){.vp-d-duas,.vp-d-tres,.vp-d-quatro,.vp-d-uso{grid-template-columns:1fr}.vp-d-urna{grid-template-columns:1fr 1fr}.vp-d-escada div{margin-left:calc(var(--i) * 12px)}.vp-d-nav .btn{flex:1 1 auto}}
@media (prefers-reduced-motion:reduce){.vp-d-entra,.vp-d-escada div{animation:none}.vp-d-barra span{transition:none}}

/* hierarquia: cartões por finalista */
.vp-h-tit{margin:22px 0 10px;font:700 1.1rem/1.2 var(--display);color:var(--blue-80)}
.vp-h-grade{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.vp-h-card{background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--cor);border-radius:var(--radius-lg);box-shadow:var(--shadow-1);padding:16px 18px;animation:vp-sobe .45s ease-out}
.vp-h-card h4{margin:0 0 6px;display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;font:800 1.15rem/1.2 var(--display);color:var(--blue-80)}
.vp-h-card h4 i{width:12px;height:12px;border-radius:3px;background:var(--cor)}
.vp-h-card h4 small{font:600 .8rem var(--font);color:var(--muted)}
.vp-h-pux{margin:0 0 10px;font-size:.92rem}
.vp-h-niveis{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.vp-h-niveis li{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:.88rem;padding:4px 6px;border-radius:8px}
.vp-h-niveis li.on{background:var(--yellow-10);box-shadow:inset 3px 0 0 var(--cor)}
[data-theme="contrast"] .vp-h-niveis li.on{background:#222}
.vp-h-niveis li small{display:block;color:var(--muted);font-size:.76rem;line-height:1.3}
.vp-h-niveis li b{font-variant-numeric:tabular-nums;min-width:54px;text-align:right}
.vp-h-nulo{opacity:.65}
.vp-h-bar{height:10px;border-radius:999px;background:var(--gray-5);overflow:hidden}
.vp-h-bar i{display:block;height:100%;background:var(--cor);border-radius:999px;transform-origin:left;animation:vp-cresce .8s cubic-bezier(.2,.8,.2,1)}
@keyframes vp-cresce{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.vp-h-arr,.vp-h-cor,.vp-h-rot{margin:10px 0 0;font-size:.86rem;color:var(--muted)}
.vp-h-cor b,.vp-h-arr b{color:var(--text)}
.vp-h-pilha{display:flex;height:12px;border-radius:999px;overflow:hidden;gap:2px;margin:6px 0}
.vp-h-pilha i{min-width:2px}
.vp-h-pilha .s0,.vp-h-leg .s0{background:var(--cor)}
.vp-h-pilha .s1,.vp-h-leg .s1{background:var(--gray-40)}
.vp-h-pilha .s2,.vp-h-leg .s2{background:var(--blue-20)}
.vp-h-leg{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:.84rem}
.vp-h-leg li{display:flex;align-items:center;gap:8px}
.vp-h-leg i{width:12px;height:12px;border-radius:3px;flex:none}
.vp-h-desc{margin:14px 0 0;font-size:.92rem}
.vp-h-desc-card{margin-top:16px;padding:16px 18px}
.vp-h-desc-card h4{margin:0 0 4px;font:700 1rem/1.25 var(--display);color:var(--blue-80)}
.vp-h-cidades{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.vp-h-cidades .vp-leg-item{flex-direction:column;align-items:flex-start;border-radius:10px;gap:0}
/* voto descasado: busca com a resposta logo abaixo e a lista completa recolhida */
.vp-desc-combo{margin-top:10px;max-width:520px}
.vp-desc-marca{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--yellow-10);color:var(--blue-80);font-size:.72rem;font-weight:700}
.vp-desc-res:empty{display:none}
.vp-desc-res{margin-top:10px;padding:12px 14px;border-radius:10px;background:var(--blue-5);border-left:4px solid var(--blue-70)}
.vp-desc-res p{margin:0 0 8px;font-size:.92rem;line-height:1.45}
.vp-desc-res .vp-desc-nao{color:var(--muted)}
.vp-desc-todas{margin-top:10px}
.vp-desc-todas summary{cursor:pointer;font-weight:700;color:var(--primary);min-height:40px;display:flex;align-items:center}
[data-theme="contrast"] .vp-desc-res{background:#000;border-left-color:#fff}
.vp-h-metodo{margin:16px 0 0;max-width:900px}
.vp-h-metodologia{margin-top:22px;padding:18px 20px;scroll-margin-top:90px}
.vp-h-metodologia h3{margin:0 0 10px;font:700 1.15rem/1.2 var(--display);color:var(--blue-80)}
.vp-h-metodologia h4{margin:14px 0 6px;font:700 1rem/1.2 var(--display);color:var(--blue-80)}
.vp-h-metodologia ol,.vp-h-metodologia ul{margin:0;padding-left:1.3em;display:grid;gap:8px;font-size:.92rem;line-height:1.5;max-width:900px}
.vp-hier{scroll-margin-top:90px}
.vp-grade>*{min-width:0}
.vp-mapa-topo .vp-seg{max-width:100%}
.vp-h-intro{margin:0 0 12px;color:var(--muted)}
.vp-h-link{margin:14px 0 0}
@media (prefers-reduced-motion:reduce){.vp-estudo,.vp-h-card{animation:none}.vp-h-bar i{animation:none}}

@media (max-width:1100px){
  .vp-grade{grid-template-columns:1fr}
  .vp-col-mapa{position:static}
  .vp-svg{max-height:52vh;margin:0 auto}
}
@media (max-width:860px){
  .vp-filtro{grid-template-columns:1fr 1fr}
  .vp-campo,.vp-campo-partido{grid-column:1/-1}
}
@media (max-width:700px){
  .vp-gov{display:none}
  .vp-gov-m{display:inline}
  .vp-e-duelo{grid-template-columns:1fr;gap:10px}
  .vp-e-x{justify-self:center;font-size:1.6rem}
  .vp-h-grade{grid-template-columns:1fr}
  .vp-h-niveis li{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
  .vp-h-niveis li .vp-h-bar{grid-column:1/-1;grid-row:2}
}
@media (max-width:560px){
  .vp-filtro{grid-template-columns:1fr;padding:14px}
  .vp-seg{width:100%}
  .vp-seg button{flex:1 1 auto;padding:10px 10px}
  .vp-tab th,.vp-tab td{padding:9px 8px}
  .vp-pc{min-width:0}
  .vp-bar{display:block;width:100%;max-width:none;margin:0 0 4px}
  .vp-pc b{min-width:0;text-align:left}
  .vp-pos{width:38px}
  .vp-numeros div{flex:1 1 140px}
  .vp-balao{white-space:normal}
}
/* Barras dos primeiros colocados, à vista; a tabela completa fica em "Ver a tabela" (padrão "para leigo"). */
.vp-barras{margin:12px 0}
.vp-barras-t{margin:0 0 10px}
.vp-barras-eu .ve-rank-n b{text-decoration:underline;text-underline-offset:3px}
.vp-tab-mais{margin-top:10px}
