b2b9fd1746
Old: variable deltaY*3 per touchmove — Android batches events causing burst-scroll then pause (jumpy). New: accumulate pixels across events, fire fixed deltaY=120 per SCROLL_PX pixels. Each scroll step is identical regardless of when Android delivers touchmove events. SCROLL_PX=20 → ~40px swipe = 2 scroll clicks. Accumulator resets on touchstart and touchend. macOS/iPad/mouse-wheel path unchanged.