Il confronto con max calcolato (scrollHeight-innerHeight) falliva sul WebView di Sailfish quando max è sovrastimato: scrollY non lo raggiungeva mai, ok restava true e atEnd veniva ignorato -> si restava dentro il capitolo. Ora: scrollBy(0,vh) + verifica 'lo scroll si è mosso'; se bloccato, unlock CSS e riprova; se ancora fermo -> capitolo successivo (o precedente).