1 / 8
For You Feed
{# ══════════════════════════════════════════════════════════════════ FIXED ACTION RAIL Lives outside .feed-slide — overflow:hidden on slides never clips it. JS reads the current slide's data-* on every slide change and syncs this rail's state. IDs must not change — feed.js depends on them. ══════════════════════════════════════════════════════════════════ #}
0
{# ══════════════════════════════════════════════════════════════════ FEED CONTAINER ══════════════════════════════════════════════════════════════════ #}
0:00
34:33
{# Gradient overlays — scoped to .feed-slide-inner so they don't leak onto the sidebar or action rail area on desktop #} {# feed-info: category badge + video title - z-index: 20 ensures it's above both overlay gradients (z-index:10) and is NEVER clipped by overflow:hidden on .feed-slide-inner - bottom: 80px sits cleanly above the custom-controls bar - right: 14px on desktop (action rail is outside, no clash) right: 80px on mobile (leaves room for the fixed overlay rail) These insets are set in feed.html's