The wrapper div in +layout.svelte had pointer-events:none which blocked all taps inside ListeningMode (chapter rows, buttons, scrolling). Removed the wrapper div and moved the fly transition onto ListeningMode's own root element so the slide-in animation works without stealing pointer events.