Track whether an element has entered the viewport.
The observer disconnects after the first intersection — callers use this as a one-shot "became visible" signal rather than a live visibility state.
Track whether an element has entered the viewport.
The observer disconnects after the first intersection — callers use this as a one-shot "became visible" signal rather than a live visibility state.