Home redesign, recent-window topic movers, pollster grades
- FeatureHomepage "Top races" simplified to match the latest design — one headline poliagg forecast-margin value plus a single sparkline of that margin over time, with a hover tooltip. When several races share an election date they're ordered by recency-weighted poll volume (busiest, freshest first).
- FeatureTopic movers now rank by what actually moved recently — the largest change over the last 7 / 30 / 60 / 90 days — instead of all-time change (cannabis legalization's +45 since the 1980s no longer reads as a "mover"). Each sparkline gained a date · value hover tooltip.
- Feature"In the news" rebuilt to match the race-detail card style (favicon tile · source · headline · race tag), paginated 10 per page, and scoped to race coverage. News is refreshed daily by the pipeline (the news + verify steps from the retired hourly run were folded into the daily run).
- FeatureHomepage map now matches the national /map view — small Northeastern states (+ HI) pulled into a side chip column, visible state outlines, and the whole country fits the frame (no more clipped top/bottom).
- DataPollster accuracy grades (A+ … F) now appear on the latest-polls feed and pollsters page. Scoring was broadened to grade each firm's final poll in every completed race it covered — ~1,100 firms now carry a grade, up from ~160. Aggregation weights still use the stricter final-21-day track record, so the forecast model is unchanged.
- FixPrimary sub-pages (/primary-d, /primary-r) now show the candidate field for post-primary races whose only polls are primary polls — they previously read "Field of 0 candidates" with no winner. The candidate list is now derived from primary polling when no general matchup has been polled yet.
- FixRemoved the model-explainer text blocks from the primary forecast section on race-detail pages.