components/scrims/

fog at the page's edges

toggle either edge and scroll: the fog follows the scroll, never a transition

01

Scroll. The top fog arrives over the first 160px and the bottom one leaves over the last 140px, so the page opens and closes clean.

02

Neither is ever transitioned. A scrim that crossfades over 500ms is still crossfading while a smooth anchor scroll is flying, which is what read as a weird effect.

03

Linked to the scroll instead, it is simply where the scroll is: drag the scrollbar and the fog tracks your hand exactly.

04

A page with a sticky blurred header already HAS a top scrim. Turn this one off there, with top={false}.

05

On a page too short to scroll the timeline never runs, so both rest at zero and nothing fogs a page that cannot move.

06

It is a masked backdrop-blur over a gradient: no layout, no pointer events, and nothing for the content underneath to know about.