:root{--c-lula: #b52b27;--c-flavio: #1a3560;--c-renan: #c97a1a;--c-lula-tint: color-mix(in oklch, #b52b27 12%, transparent);--c-flavio-tint: color-mix(in oklch, #1a3560 12%, transparent);--c-renan-tint: color-mix(in oklch, #c97a1a 12%, transparent)}html[data-theme=dark]{--c-lula: #d14a45;--c-flavio: #5577bb;--c-renan: #e09040}.badge{display:inline-flex;align-items:center;font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;padding:3px 7px;border-radius:var(--radius);white-space:nowrap}.badge-confirmed{background:color-mix(in oklch,var(--up) 15%,transparent);color:var(--up)}.badge-alleged{background:color-mix(in oklch,#a07020 18%,transparent);color:#7a5010}html[data-theme=dark] .badge-alleged{background:color-mix(in oklch,#c97a1a 18%,transparent);color:#e09040}.badge-hypothesis{background:color-mix(in oklch,var(--accent) 14%,transparent);color:var(--accent)}.badge-no-mandate{background:color-mix(in oklch,var(--muted) 14%,transparent);color:var(--muted)}.badge-high{background:color-mix(in oklch,var(--up) 15%,transparent);color:var(--up)}.badge-medium{background:color-mix(in oklch,#a07020 18%,transparent);color:#7a5010}html[data-theme=dark] .badge-medium{background:color-mix(in oklch,#c97a1a 18%,transparent);color:#e09040}.badge-low{background:color-mix(in oklch,var(--down) 15%,transparent);color:var(--down)}.src-tag{display:inline-flex;font-family:var(--mono);font-size:9px;letter-spacing:.08em;text-transform:uppercase;padding:2px 5px;border-radius:2px;border:1px solid currentColor;opacity:.7;vertical-align:middle}.src-left{color:var(--down)}.src-center{color:var(--muted)}.src-right{color:var(--c-flavio)}html[data-theme=dark] .src-right{color:#89c}.candidate-lula{--c-candidate: var(--c-lula)}.candidate-flavio{--c-candidate: var(--c-flavio)}.candidate-renan{--c-candidate: var(--c-renan)}.candidate-accent-bar{height:3px;background:var(--c-candidate);border-radius:0}.candidate-accent-border{border-left:3px solid var(--c-candidate)}.context-box{border-left:3px solid var(--line);background:var(--line-soft);padding:var(--space-md) var(--space-lg);margin:var(--space-lg) 0;font-family:var(--serif);font-style:italic;font-size:clamp(14px,1.2vw,16px);line-height:1.55;color:var(--muted)}.context-box strong{color:var(--ink);font-style:normal}.annulment-box{border-left:3px solid color-mix(in oklch,#a07020 50%,transparent);background:color-mix(in oklch,#a07020 6%,transparent);padding:var(--space-md) var(--space-lg);margin:var(--space-lg) 0;font-family:var(--sans);font-size:13px;line-height:1.5;color:var(--ink)}.candidates-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg);align-items:start}.candidates-grid>*{min-width:0}@media(max-width:900px){.candidates-grid{grid-template-columns:1fr}}.proposal-row{display:grid;grid-template-columns:130px 1fr 110px;gap:0;border-bottom:var(--border);padding:var(--space-md) 0;align-items:start}.proposal-row:first-child{border-top:var(--border)}.proposal-area{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-right:var(--space-md);padding-top:2px}.proposal-position{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--ink);padding-right:var(--space-md)}.proposal-justification{font-family:var(--serif);font-style:italic;font-size:13px;line-height:1.45;color:var(--muted);margin-top:var(--space-xs)}.proposal-likelihood{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-xs);padding-top:2px}@media(max-width:640px){.proposal-row{grid-template-columns:1fr;gap:var(--space-sm)}.proposal-likelihood{align-items:flex-start}}.data-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.45}.data-table th{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--line);font-weight:500}.data-table td{font-family:var(--sans);padding:var(--space-md);border-bottom:1px solid var(--line-soft);vertical-align:top;color:var(--ink)}.data-table .td-label{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.data-table .td-na{color:var(--muted);font-style:italic}.data-table .td-context,.data-table tr.row-context td{background:var(--line-soft);font-family:var(--serif);font-style:italic;font-size:12px;color:var(--muted)}.ideology-axis{margin-bottom:var(--space-xl)}.ideology-track{position:relative;height:10px;background:color-mix(in oklch,var(--ink) 6%,transparent);border-radius:0;margin:var(--space-sm) 0 var(--space-md)}.ideology-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:12px;height:12px;border-radius:50%;border:2px solid var(--paper);box-shadow:0 0 0 1px var(--ink)}.ideology-labels{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase}.scorecard{width:100%;border-collapse:collapse}.scorecard th{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left;padding:var(--space-sm) var(--space-md);border-bottom:1px solid var(--line);font-weight:500}.scorecard td{padding:var(--space-md);border-bottom:1px solid var(--line-soft);font-size:13px;line-height:1.45;vertical-align:top}.scorecard .td-dim{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:var(--muted)}.scorecard .level-high{color:var(--up)}.scorecard .level-medium{color:var(--ink)}.scorecard .level-low{color:var(--down)}.scorecard .level-na{color:var(--muted);font-style:italic}.scandal-card{border:var(--border);border-radius:var(--radius);overflow:hidden;margin-bottom:var(--space-md)}.scandal-card-head{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);cursor:pointer;background:var(--surface);user-select:none}.scandal-card-head:hover{background:var(--line-soft)}.scandal-card-title{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--ink);flex:1}.scandal-card-year{font-family:var(--mono);font-size:11px;color:var(--muted);margin-left:auto}.scandal-card-chevron{width:14px;height:14px;color:var(--muted);transition:transform .2s ease;flex-shrink:0}.scandal-card[data-open=true] .scandal-card-chevron{transform:rotate(180deg)}.scandal-card-body{padding:var(--space-md) var(--space-lg) var(--space-lg);border-top:var(--border);font-family:var(--sans);font-size:14px;line-height:1.6;color:var(--ink);display:none}.scandal-card[data-open=true] .scandal-card-body{display:block}.scandal-outcome{margin-top:var(--space-md);font-family:var(--serif);font-style:italic;font-size:13px;color:var(--muted);border-left:2px solid var(--line);padding-left:var(--space-md)}.scandal-sources{margin-top:var(--space-sm);display:flex;flex-wrap:wrap;gap:var(--space-xs);align-items:center}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-lg)}@media(max-width:900px){.video-grid{grid-template-columns:1fr}}.video-col-header{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-md);padding-bottom:var(--space-sm);border-bottom:var(--border)}.video-item{margin-bottom:var(--space-lg)}.video-embed{position:relative;aspect-ratio:16 / 9;background:var(--play-bg);overflow:hidden}.video-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0}.video-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:11px;color:var(--muted);text-align:center;padding:var(--space-md)}.video-meta{margin-top:var(--space-sm)}.video-title{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink);line-height:1.4}.video-outlet{font-family:var(--mono);font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-top:2px}.video-desc{font-family:var(--serif);font-style:italic;font-size:12px;color:var(--muted);line-height:1.4;margin-top:4px}.poll-row{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-md)}.poll-name{font-family:var(--mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);width:56px;flex-shrink:0}.poll-bar-track{position:relative;flex:1;height:6px;background:color-mix(in oklch,var(--ink) 6%,transparent)}.poll-bar-fill{position:absolute;left:0;top:0;height:100%;background:var(--c-candidate)}.poll-pct{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--ink);width:44px;text-align:right;flex-shrink:0}.elex-nav{position:fixed;top:0;left:0;right:0;z-index:100;height:40px;background:var(--paper);border-bottom:var(--border);display:flex;align-items:center;padding:0 var(--pad-x);gap:var(--space-lg);overflow-x:auto;scrollbar-width:none}.elex-nav::-webkit-scrollbar{display:none}.elex-nav-link{font-family:var(--mono);font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);text-decoration:none;white-space:nowrap;transition:color .15s ease;padding-bottom:2px;border-bottom:1px solid transparent;transition:color .15s ease,border-color .15s ease}.elex-nav-link:hover{color:var(--ink)}.elex-nav-link.active{color:var(--ink);border-bottom-color:var(--ink)}.polling-snapshot{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:var(--border);margin:var(--space-xl) 0}.polling-candidate{padding:var(--space-lg);border-right:var(--border);position:relative}.polling-candidate:last-child{border-right:none}.polling-candidate-accent{position:absolute;top:0;left:0;right:0;height:2px;background:var(--c-candidate)}.polling-candidate-name{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-xs)}.polling-figure{font-family:var(--serif);font-size:clamp(28px,4vw,48px);line-height:1;color:var(--ink);margin-bottom:var(--space-xs)}.polling-figure sup{font-size:.45em;color:var(--muted)}.polling-source{font-family:var(--mono);font-size:9px;color:var(--muted);letter-spacing:.08em}@media(max-width:640px){.polling-snapshot{grid-template-columns:1fr}.polling-candidate{border-right:none;border-bottom:var(--border)}.polling-candidate:last-child{border-bottom:none}.polling-candidate-accent{inset:0 auto 0 0;width:2px;height:100%}}.methodology-details{border:var(--border)}.methodology-details summary{padding:var(--space-md) var(--space-lg);font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;user-select:none}.methodology-details summary::-webkit-details-marker{display:none}.methodology-details summary:hover{color:var(--ink)}.methodology-body{padding:var(--space-lg);border-top:var(--border);font-family:var(--sans);font-size:14px;line-height:1.65;color:var(--muted)}.methodology-body p+p{margin-top:var(--space-md)}.connections-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-xl)}@media(max-width:900px){.connections-grid{grid-template-columns:1fr}}.connection-item{padding:var(--space-sm) 0;border-bottom:1px solid var(--line-soft)}.connection-name{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--ink)}.connection-role{font-family:var(--sans);font-size:12px;color:var(--muted);line-height:1.4;margin-top:2px}.media-row{margin-top:var(--space-md);font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);text-transform:uppercase;line-height:1.7}.media-scandal-card{padding:var(--space-lg);border:var(--border);border-radius:var(--radius);margin-bottom:var(--space-md)}.media-scandal-headline{font-family:var(--sans);font-size:15px;font-weight:500;color:var(--ink);line-height:1.3;margin-bottom:var(--space-sm);overflow-wrap:break-word}.media-scandal-meta{display:flex;gap:var(--space-md);align-items:flex-start;margin-bottom:var(--space-md);flex-wrap:wrap}.media-scandal-meta .badge{white-space:normal;line-height:1.4}.media-scandal-date{font-family:var(--mono);font-size:10px;color:var(--muted);letter-spacing:.06em}.media-scandal-body{font-family:var(--sans);font-size:13px;line-height:1.6;color:var(--muted);overflow-wrap:break-word}.timeline-list{list-style:none;padding:0;margin:0}.timeline-item{display:grid;grid-template-columns:60px 1fr;gap:var(--space-sm);padding:var(--space-sm) 0;border-bottom:1px solid var(--line-soft);font-size:13px;line-height:1.4}.timeline-year{font-family:var(--mono);font-size:10px;letter-spacing:.06em;color:var(--muted);padding-top:2px}.timeline-event{color:var(--ink)}.indicator-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-md);margin:var(--space-lg) 0}.indicator-cell{padding:var(--space-md);border:var(--border);border-radius:var(--radius)}.indicator-label{font-family:var(--mono);font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-xs)}.indicator-value{font-family:var(--serif);font-size:clamp(16px,2vw,20px);color:var(--ink);line-height:1.2}.candidate-section-label{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg);padding-bottom:var(--space-md);border-bottom:1px solid var(--c-candidate)}.candidate-section-name{font-family:var(--serif);font-size:clamp(22px,2.5vw,32px);font-weight:400;color:var(--ink);line-height:1}.candidate-section-party{font-family:var(--mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.leaning-legend{display:flex;gap:var(--space-lg);align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.leaning-legend-item{display:flex;align-items:center;gap:var(--space-xs)}.elex-lead{font-family:var(--serif);font-size:clamp(16px,1.4vw,20px);line-height:1.5;color:var(--muted);max-width:72ch}.elex-body{font-family:var(--sans);font-size:14px;line-height:1.65;color:var(--ink)}.elex-datestamp{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.sub-section-head{margin-top:var(--space-xl);margin-bottom:var(--space-lg);padding-bottom:var(--space-sm);border-bottom:var(--border)}.sub-section-kicker{font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-bottom:var(--space-xs)}.sub-section-title{font-family:var(--serif);font-size:clamp(22px,2.5vw,32px);font-weight:400;line-height:1.05;color:var(--ink);margin:0}.elex-nav-spacer{height:40px}
