/* Fans254 v13.5.9 — shared feed viewport lifecycle. */
html.f254-feed-viewport-enabled {
  --f254-feed-intrinsic-height: 620px;
}

html.f254-feed-viewport-enabled [data-f254-feed-card] {
  contain-intrinsic-size: auto var(--f254-feed-intrinsic-height);
}

html.f254-feed-viewport-enabled.f254-feed-content-visibility [data-f254-feed-card]:not(.is-f254-near-viewport):not(.is-f254-viewport-pinned) {
  content-visibility: auto;
}

html.f254-feed-viewport-enabled [data-f254-feed-card].is-f254-near-viewport,
html.f254-feed-viewport-enabled [data-f254-feed-card].is-f254-in-viewport,
html.f254-feed-viewport-enabled [data-f254-feed-card].is-f254-viewport-pinned {
  content-visibility: visible;
}

/* Keep media geometry stable while the browser skips distant card paint work. */
html.f254-feed-viewport-enabled [data-f254-feed-card] :where(
  .f254-social-post-media,
  .f254-social-video-player,
  .f254-social-feed-reel-preview,
  .f254-sponsored-media,
  .f254-live-feed-media,
  .f254-live-surface-media,
  .f254-group-post-media,
  .f254-group-surface-media,
  .f254-reels-media,
  .f254-marketplace-gallery-main
) {
  min-width: 0;
}

html.f254-feed-viewport-enabled [data-f254-feed-card].is-f254-far-viewport video {
  will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
  html.f254-feed-viewport-enabled [data-f254-feed-card] {
    scroll-behavior: auto;
  }
}


/* v13.8.6: mobile browsers already have a small viewport. Skipping whole cards
   there creates large blank 560-620px holes during fast scrolling. */
@media (max-width: 760px) {
  html.f254-feed-viewport-enabled.f254-feed-content-visibility [data-f254-feed-card] {
    content-visibility: visible !important;
    contain-intrinsic-size: none !important;
  }
}
