Goal: scroll until the hidden TARGET button comes into view, then click it.
Page uses an IntersectionObserver to track when TARGET crosses the
viewport. Real scrolling produces a sequence of intersection updates with
gradually increasing intersectionRatio (0 → 1) across animation
frames. Programmatic teleports (scrollIntoView({behavior:"instant"}),
direct scrollTop=) produce exactly one observer callback with
ratio≈1 and no rAF samples in between — fail.
keep scrolling …