:root{
  --bg:#09090B;--surface:#121215;--sunk:#1A1A1F;--ink:#F2F2F4;--ink-2:#A6A6B0;--ink-3:#6C6C76;--line:#26262C;--grid:#1C1C21;
  --c1:#FFA39B;--c2:#E4525A;--c3:#9A3038;--c4:#5E5E69;--c5:#30589E;--c6:#5389F0;--c7:#A9C5FF;--alert:#F2B544;--alert-2:#5A4214;--verde:#00FFA6;
  --font:"Schibsted Grotesk","Helvetica Neue",Helvetica,Arial,sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit}
.wrap{max-width:1040px;margin:0 auto;padding:0 16px}
.topo{border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 85%,transparent);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}
.topo .wrap{display:flex;align-items:center;gap:18px;height:56px}
.marca{display:flex;white-space:nowrap;align-items:center;gap:9px;text-decoration:none;font-weight:800;letter-spacing:.01em}
.marca i{width:22px;height:22px;background:var(--verde);border-radius:4px;position:relative;flex:none}
.marca i::before,.marca i::after{content:"";position:absolute;top:9px;width:5px;height:5px;border-radius:50%;background:#000}
.marca i::before{left:4px}.marca i::after{right:4px}
.nav{display:flex;gap:4px;margin-left:auto}
.nav a{text-decoration:none;color:var(--ink-2);padding:6px 10px;border-radius:8px;font-size:14px;font-weight:600}
.nav a:hover,.nav a[aria-current]{background:var(--sunk);color:var(--ink)}
main{padding:28px 0 60px}
.hero{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;margin:8px 0 22px}
.foto{width:104px;height:104px;border-radius:50%;background:var(--sunk) url(/rostos.jpg) no-repeat;background-size:2500% 2500%;box-shadow:0 0 0 3px var(--bg),0 0 0 5px var(--ring,var(--line));flex:none}
.sup{font-size:13px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-3)}
h1{font-size:clamp(28px,5vw,44px);line-height:1.05;margin:4px 0 8px;letter-spacing:-.02em;font-weight:800}
.sub{color:var(--ink-2);font-size:16px;margin:0}
.chip{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:999px;padding:4px 11px 4px 7px;font-size:13.5px;font-weight:600;background:var(--surface);text-decoration:none}
.chip i{width:10px;height:10px;border-radius:50%;background:var(--cor,var(--c4));flex:none}
.chip.vazado i{background:transparent;box-shadow:inset 0 0 0 2px var(--cor,var(--c4))}
.espectro{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;margin:12px 0 4px;max-width:420px}
.espectro b{height:6px;border-radius:3px;opacity:.28}
.espectro b.on{opacity:1;box-shadow:0 0 0 2px var(--bg),0 0 0 3.5px currentColor}
.espectro-leg{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-3);max-width:420px}
.numeros{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 30px}
.num{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.num b{display:block;font-size:26px;letter-spacing:-.02em;line-height:1.1}
.num span{display:block;color:var(--ink-2);font-size:13px;margin-top:4px}
.num small{display:block;color:var(--ink-3);font-size:12px;margin-top:2px}
section{border-top:1px solid var(--line);padding:26px 0 8px}
h2{font-size:22px;letter-spacing:-.015em;margin:0 0 4px;font-weight:800}
.h2sub{color:var(--ink-2);margin:0 0 16px;font-size:15px}
h3{font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-3);margin:18px 0 8px}
p{margin:0 0 12px}
.cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
table{width:100%;border-collapse:collapse;font-size:14.5px}
th{text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-3);font-weight:700;padding:6px 8px 8px 0;border-bottom:1px solid var(--line)}
td{padding:9px 8px 9px 0;border-bottom:1px solid var(--grid);vertical-align:top}
td.r,th.r{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.voto{display:inline-block;min-width:28px;text-align:center;border-radius:6px;padding:1px 7px;font-weight:700;font-size:13px}
.voto.S{background:#1f6f52;color:#fff}.voto.N{background:#7a2a2f;color:#fff}.voto.s,.voto.n{background:var(--sunk);color:var(--ink-2);box-shadow:inset 0 0 0 1px var(--line)}
.voto.x{color:var(--ink-3)}
.barra{height:8px;background:var(--sunk);border-radius:4px;overflow:hidden;margin:6px 0 2px}
.barra b{display:block;height:100%;background:var(--verde);border-radius:4px}
.lista{list-style:none;padding:0;margin:0}
.lista li{padding:9px 0;border-bottom:1px solid var(--grid);display:flex;gap:12px;justify-content:space-between;align-items:baseline}
.lista li span{color:var(--ink-2)}
.lista li .r{white-space:nowrap;font-variant-numeric:tabular-nums}
.pistas{display:grid;gap:8px}
.pista{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.pista b{min-width:32px;color:var(--alert);font-variant-numeric:tabular-nums}
.pista small{display:block;color:var(--ink-3)}
.proc{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:0 0 10px}
.proc .t{font-weight:700}
.proc .m{color:var(--ink-2);font-size:14px}
.proc .f{font-size:13px;color:var(--ink-3);margin-top:8px}
.proc .f a{color:var(--ink-2)}
.aviso{font-size:13.5px;color:var(--ink-2);background:var(--sunk);border-radius:10px;padding:10px 14px;margin:12px 0}
.acoes{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.botao{display:inline-block;background:var(--ink);color:var(--bg);text-decoration:none;font-weight:700;padding:10px 16px;border-radius:10px;font-size:14.5px}
.botao.sec{background:var(--surface);color:var(--ink);border:1px solid var(--line)}
.traj{display:grid;grid-template-columns:auto 1fr auto;gap:4px 14px;font-size:14.5px}
.traj .ano{color:var(--ink-3);font-variant-numeric:tabular-nums}
.traj .res{color:var(--ink-2)}
.faint{color:var(--ink-3)}
.grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px}
.card{display:flex;gap:11px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:9px 11px;text-decoration:none}
.card .foto{width:40px;height:40px;box-shadow:0 0 0 2px var(--ring,var(--line))}
.card b{display:block;font-size:14.5px;line-height:1.15}
.card span{display:block;color:var(--ink-2);font-size:12.5px;margin-top:2px}
.busca{width:100%;border:1px solid var(--line);background:var(--surface);border-radius:12px;padding:11px 14px;font:inherit;color:var(--ink);margin:0 0 16px}
.rodape{border-top:1px solid var(--line);padding:22px 0 40px;color:var(--ink-3);font-size:13.5px}
.rodape a{color:var(--ink-2)}
.rodape p{margin:0 0 6px}
.so-mobile{display:none}
@media (max-width:640px){.so-desk{display:none}.so-mobile{display:block;margin-top:3px}td.r{font-size:12.5px}table{font-size:13.5px}.hero{grid-template-columns:auto 1fr;gap:14px}.foto{width:72px;height:72px}.nav a{padding:6px 7px}.cols{gap:16px}}
@media (max-width:420px){.nav{gap:0}.nav a{font-size:13px;padding:6px 5px}}

/* placar (/votacao/{id}/ e /semana/) */
.tag{display:inline-block;font-size:11.5px;font-weight:700;letter-spacing:.02em;padding:2px 8px;border-radius:999px;background:var(--sunk);color:var(--ink-2);text-transform:none}
.tag.rel{background:rgba(255,183,77,.14);color:#FFB74D}
.barra i,.barra em{display:inline-block;height:100%;vertical-align:top}
.barra i{background:var(--verde)}
.barra em{background:#E4525A}
.ufgrade{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:6px}
.ufcel{display:block;text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:8px 4px;text-decoration:none;color:inherit}
.ufcel b{display:block;font-size:13px}
.ufcel span{font-size:12.5px;color:var(--ink-2);font-variant-numeric:tabular-nums}
.origem{border-top:1px solid var(--grid);padding-top:14px}
.origem p{color:var(--ink-2);font-size:14px}
.origem code{font-size:12.5px;background:var(--sunk);padding:1px 5px;border-radius:5px}

.reunioes{margin:8px 0 14px}
.reunioes summary{cursor:pointer;color:var(--ink-2);padding:6px 0}
.reunioes .proc{margin-top:10px}
.proc .f{color:var(--ink-3);font-size:13px;margin-top:4px}
