802c49a89d
Fourth lens on the Board, coloring each county by the D/R balance of the state + federal representatives who cover it — the offices that are actually partisan (99% D/R coverage vs ~0% for nonpartisan local seats). Pipeline (build_viz.py): - Carry each district rep's party alongside their name through the county<->district edge mapping. - Per county, tally reps by party over districts covering >=5% of its area (slivers excluded), and store lean = (R-D)/(R+D) in [-1,+1] plus repD/repR counts. Head-count, not area-weighted, so the number matches the readout and isn't skewed toward large rural districts. 3130/3131 counties resolve. Board (board.html): - "Partisan lean" lens with a diverging blue<->grey<->red ramp (centered at 0, skipped in the percentile-rank machinery the other lenses use). - Diverging legend (More Democratic / More Republican). - Readout gains a Representation row (e.g. "8 D · 3 R D+45"). - Drill-down district reps get a D/R party badge. Verified in preview: no console errors; Manhattan -1.0 (21D/0R), LA -0.46, Palm Beach even (3D/3R), Loving TX +1.0; readout, color, and badges agree. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>