SIGN IN SIGN UP

Fix quotes carousel next arrow stalling before the end of the strip

The next arrow derived the page index from scrollLeft divided by the
viewport width while scroll targets were quantized to card starts. On
phone widths each card is 44px narrower than the viewport, so the
deficit grew by 44px per page and after a few pages the derived index
rounded down below the real one. The next click then recomputed the
position the track was already at and the arrow went dead until a prev
click reset the drift.

Position math now works in whole cards, which round-trips exactly
between targets and the derived index and also absorbs the fractional
scrollLeft values Android Chrome reports at non-integer device pixel
ratios. A pending scroll target lets clicks that land during the smooth
scroll animation keep advancing from the intended position instead of a
stale mid-flight scrollLeft.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_014gUz1xdMLzxdAvXZ6tmV5Y
C
Claude committed
dd4164c5430dce862a020e50be97fc9d8d9af7ce
Parent: add218a