Fix #293: Use relative visual offset to account for horizontal scrolling.