Side A introduces the actual feature (a fixed compact bottom HUD with slider, ratio, and actions), restructuring vote.rs and CSS to enable a real UX improvement, plus adds tests verifying the new structure. Side B is a smaller polish/bugfix pass on top of A's HUD (fixed column widths to prevent reflow, winner-colored slider track), which is useful but incremental and entirely dependent on A's groundwork.
A introduces the pinned vote HUD itself: new markup (vote_hud_form), page structure, fixed bottom bar CSS, removal of repeated item titles, and the --vote-slider-pct hook—core lasting UX design. B only polishes that HUD with fixed column widths to stop reflow and data-winner track coloring, which is useful but incremental on top of A.
Side A introduces the core vote HUD architecture by extracting a new fixed bottom control form, restructuring the compare page, updating JavaScript to drive the slider state and accessibility, and adding substantial CSS plus integration/tests to support the new always-visible workflow. Side B is a refinement on top of that foundation, improving layout stability with fixed column widths and making the slider track visually indicate the leading side via a new data attribute, but it is primarily a UX polish rather than a fundamental capability.