/* Static placeholders do not repaint dozens of offscreen photographs. */
.product-photo:has(>img[data-page-image=loading]):before{animation:none;background:#b8acc70c}
.home-curated,.world-row,.game-spotlights-section{contain:layout style}
.performance-lite .store-header,.performance-lite .world-preview,.performance-lite .listing-preview{backdrop-filter:none}
.performance-lite .seller-gallery-light,.performance-lite .seller-pointer-light{filter:none}
.performance-lite.page-scrolling .seller-mosaic-column,.performance-lite.page-scrolling .seller-logo-track{animation-play-state:paused!important}
.performance-lite .seller-gallery-card{box-shadow:none}

#route-loader[aria-hidden=true]{visibility:hidden}
#route-loader[aria-hidden=true] .route-orbit i{animation-play-state:paused}
.payment-viewport .payment-track{animation-play-state:paused}
.payment-viewport[data-motion-visible=true] .payment-track{animation-play-state:running}
.atlas-worlds-hero:has([data-motion=offscreen]){transition:none}
.home-rail>.is-card-deferred{overflow:hidden}
.deferred-card-space{display:block;height:410px;min-width:1px;width:100%;background:var(--s-surface);border-radius:inherit}
@media(max-width:700px){.deferred-card-space{height:365px}}
.deferred-world-space{display:block;height:26px;width:100%;pointer-events:none}

/* Reserve the image area without a black flash or a constantly repainting shimmer. */
.store-body .home-rail .product-card[data-media-state=pending] .product-photo:after{background:linear-gradient(135deg,#dcd9e5,#eef0f5)}
.home-product-card .product-photo{background:#e9eaf0}
.home-product-card .product-photo>.showcase-badge,.home-product-card .product-photo>.model-available,.home-product-card .product-photo>.listing-image-watermark{display:none}
.home-product-card .product-image[data-page-image=loading]{opacity:0}
.home-product-card .product-image[data-page-image=ready]{opacity:1;transition:opacity .16s}
@media(prefers-reduced-motion:reduce){.home-product-card .product-image{transition:none!important}}
/* Deferred neighbours reserve the same photo + information height as a real card. */
.home-rail .deferred-card-space{height:auto;aspect-ratio:1.65;padding-block-end:220px;box-sizing:content-box}
@media(max-width:700px){.home-rail .deferred-card-space{height:auto;padding-block-end:190px}}

/* Foreground previews play on intent; background paint remains static. */
.store-main[data-section=home] .product-card{contain:layout style}
.store-body:has(.store-main[data-section=home]) .store-ambient{display:none}
.listing-preview,.world-preview{backdrop-filter:none!important}
.feature-buffering{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;gap:12px;color:white;font:500 12px/1.5 system-ui;text-shadow:0 1px 8px #000;background:#10131b55;pointer-events:none}
.feature-buffering:before{content:'';height:18px;width:18px;flex:none;border:2px solid #ffffff44;border-top-color:#fff;border-radius:50%;animation:media-buffer-spin .8s linear infinite}
.feature-buffering[hidden],.feature-retry[hidden]{display:none}
.feature-retry{position:absolute;z-index:4;left:50%;bottom:24px;transform:translateX(-50%);border:1px solid #ffffff55;border-radius:12px;padding:10px 16px;background:#171b26;color:#fff;white-space:nowrap;cursor:pointer}

@keyframes media-buffer-spin{to{transform:rotate(360deg)}}
.route-media-progress{width:min(230px,65vw);height:5px;border:0;border-radius:999px;overflow:hidden;accent-color:var(--accent,#9576de);margin-top:18px}
.route-progress-value{font:500 12px/1.5 system-ui;color:#d4cbe5;margin-top:8px;direction:ltr}
@media(prefers-reduced-motion:reduce){.feature-buffering:before{animation:none}}

/* Keep unfinished content covered. Failure offers a retry without revealing it. */
#route-loader{background:var(--s-bg,#11141c)}
#route-loader[data-state=error] .route-orbit i{animation-play-state:paused}
#route-loader>strong{max-width:34ch;line-height:1.5}
.route-media-retry{border:1px solid #c9b6f144;background:#ece5ff;color:#211938;border-radius:12px;min-height:44px;padding:11px 22px;font:600 13px/1.4 system-ui;cursor:pointer}
.route-media-retry:focus-visible{outline:2px solid #cdb6ff;outline-offset:4px}
.route-media-progress::-webkit-progress-bar{background:#b7a1de22;border-radius:999px}
.route-media-progress::-webkit-progress-value{background:#b7a1de;border-radius:999px}
.route-media-progress::-moz-progress-bar{background:#b7a1de;border-radius:999px}
