/* Local source review: preserve layout and keep subjects separate from backgrounds. */
.game-card[data-id=fc] .scene-bg,
.world-hero[data-theme=fc] .scene-bg,
[data-theme=fc] .product-environment {object-position:50% 50%;}
.game-card[data-id=pubg] .scene-bg,
.world-hero[data-theme=pubg] .scene-bg {object-position:42% 50%;}
.game-card[data-id=psn] .scene-bg,
.world-hero[data-theme=psn] .scene-bg {opacity:1;object-position:center;}
.game-card[data-id=psn] .scene-shade,
.world-hero[data-theme=psn] .scene-shade {background:linear-gradient(0deg,#081124a6,transparent 70%);}
/* Ready-made backgrounds replace the old cover collage behind Steam. */
[data-theme=steam] .scene-bg,
[data-id=steam] .scene-bg {opacity:1;object-position:center;}
.game-card[data-id=gpt] .scene-shade,
.world-hero[data-theme=gpt] .scene-shade,
.hero[data-theme=gpt] .scene-shade {background:linear-gradient(0deg,#06251ca8,transparent 85%);}
.game-card[data-id=claude] .scene-shade,
.world-hero[data-theme=claude] .scene-shade,
.hero[data-theme=claude] .scene-shade {background:linear-gradient(0deg,#271e19a8,transparent 85%);}
.game-card[data-id=gpt],.world-hero[data-theme=gpt],.hero[data-theme=gpt],
.game-card[data-id=claude],.world-hero[data-theme=claude],.hero[data-theme=claude] {color:#fff8ed;}
/* Plus is a vector emblem; its black source must remain white on the dark stage.
   Category buttons and product stages use different game attributes. */
:is([data-theme=roblox],.category-card[data-catalog-game=roblox]) [data-model-kind=roblox-plus] .model-fallback>.media-image {
 position:absolute!important;inset:16%!important;width:68%!important;height:68%!important;margin:0;
 object-fit:contain;transform:none;filter:invert(1)!important;opacity:1!important;
}
.category-card[data-catalog-game=roblox] [data-model-kind=roblox-plus] {inset:0;width:100%;height:100%;}

/* Updated preview backgrounds: retain crisp detail and keep item contrast. */
:is([data-id=category-6a3c5be5acd54427650d6ae4],[data-theme=category-6a3c5be5acd54427650d6ae4],[data-id=standoff],[data-theme=standoff],[data-id=fc],[data-theme=fc]) .scene-bg {opacity:1;filter:none;object-position:center;}
:is([data-id=standoff],[data-theme=standoff]) .scene-shade {background:linear-gradient(0deg,#071b3ba3,transparent 85%);}
:is([data-id=category-6a3c5be5acd54427650d6ae4],[data-theme=category-6a3c5be5acd54427650d6ae4]) .scene-shade {background:linear-gradient(0deg,#072336a3,transparent 80%);}

/* Currency renders remain separate from the Castle Clash environment. */
.castle-currency-model {position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 12px 11px #091c4566);}
.castle-currency-model>.media-image {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.castle-amount-badge,.castle-period-badge {position:absolute;bottom:0;left:50%;translate:-50% 0;min-width:78px;padding:7px 15px;border:1px solid #d3eafb77;border-radius:14px;background:linear-gradient(150deg,#274788ec,#2c225ae8);color:#fff;font:800 clamp(14px,2vw,22px)/1.2 var(--sans);white-space:nowrap;text-shadow:0 1px #0008;box-shadow:0 5px 12px #0a123e55;}
.castle-period-badge>span {display:block;font-size:9px;font-weight:600;margin-top:3px;letter-spacing:.02em;}
.game-card[data-id=castle] .figure-layer {width:66%;right:-3%;height:80%;top:7%;}
.world-hero[data-theme=castle] .figure-layer {width:48%;height:95%;right:1%;top:4%;}
.game-card[data-id=castle] .scene-bg,.world-hero[data-theme=castle] .scene-bg {opacity:1;filter:none;object-position:60% center;}
.game-card[data-id=castle] .scene-shade,.world-hero[data-theme=castle] .scene-shade {background:linear-gradient(90deg,#091c6166,transparent 80%),linear-gradient(0deg,#171549a6,transparent 70%);}
.category-card[data-catalog-game=castle] .category-backdrop,.product-thumb[data-theme=castle] .product-environment,.product-artwork[data-theme=castle] .product-environment {opacity:.82;filter:none;}
.product-thumb[data-theme=castle] .product-object {inset:9% 16% 17%;}
.product-artwork[data-theme=castle] .product-object {inset:10% 12% 19%;}
@media(max-width:700px) {.game-card[data-id=castle] .figure-layer {width:85%;height:78%;right:-7%;top:6%;}.world-hero[data-theme=castle] .figure-layer {width:83%;right:-17%;height:92%;top:12%;}.product-thumb[data-theme=castle] .product-object {inset:9% 8% 21%;}.castle-amount-badge {font-size:15px;padding:6px 11px;}}

.psn-plan-model {position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 12px 10px #07253b66);}
.psn-plan-model>.media-image {position:absolute;inset:0 4% 6%;width:92%;height:94%;object-fit:contain;}
.psn-tier-badge {position:absolute;left:50%;bottom:0;translate:-50% 0;width:min(100%,300px);filter:drop-shadow(0 4px 4px #182d4166);}
.psn-tier-label {display:block;width:100%;height:auto;}
.product-thumb[data-theme=psn] .product-object {inset:12% 17% 16%;}
.product-artwork[data-theme=psn] .product-object {inset:11% 14% 16%;}
.game-card[data-id=psn] .figure-layer {width:55%;height:65%;right:1%;top:6%;}
.world-hero[data-theme=psn] .figure-layer {width:42%;height:90%;right:5%;top:4%;}
.game-card[data-id=psn] .scene-bg,.world-hero[data-theme=psn] .scene-bg {opacity:1;filter:none;}
.product-thumb[data-theme=psn] .product-environment,.product-artwork[data-theme=psn] .product-environment {opacity:.9;filter:none;}
@media(max-width:700px) {.game-card[data-id=psn] .figure-layer {width:84%;height:67%;right:-6%;top:6%;}.world-hero[data-theme=psn] .figure-layer {width:80%;height:83%;right:-15%;top:15%;}.product-thumb[data-theme=psn] .product-object {inset:10% 13% 17%;}}

.store-currency-model {position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 12px 10px #08182766)}
.store-currency-model>.media-image {position:absolute;inset:0;width:100%;height:100%;object-fit:contain;}
.hayday-starter-model {position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 10px 10px #10271366);}
.hayday-starter-model>.media-image {position:absolute!important;inset:0 15% 20% 0!important;width:85%!important;height:80%!important;object-fit:contain;}
.hayday-starter-model>.media-image+ .media-image {inset:auto 0 0 auto!important;width:55%!important;height:45%!important;}
.product-thumb:where([data-theme=genshin],[data-theme=delta-force],[data-theme=hayday]) .product-object {inset:12% 15% 19%}
.product-artwork:where([data-theme=genshin],[data-theme=delta-force],[data-theme=hayday]) .product-object {inset:9% 12% 17%}

.wot-product-model {position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 13px 10px #12150c88);}
.edition-card .category-art {width:92%;height:70%;right:-4%;top:4%;}
.edition-card .category-label strong {font-size:clamp(22px,4vw,38px);}
.roblox-code-model {position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 12px 10px #09091366);}
.roblox-code-model>.media-image {width:100%;height:100%;object-fit:contain;}
.roblox-card-label {position:absolute;left:50%;bottom:1%;translate:-50% 0;text-align:center;font:800 18px/1.3 var(--sans);color:#fff;background:#182541e8;border:1px solid #c6d9ee44;border-radius:11px;padding:8px 16px;white-space:nowrap;}
.roblox-card-label small {display:block;font-size:10px;color:#bccfea;}
.wot-premium-icon {position:absolute;inset:0 9%;}
.wot-premium-icon>.media-image,.wot-bundle-coins>.media-image {width:100%;height:100%;object-fit:contain;}
.wot-period-number {position:absolute;left:50%;top:44%;translate:-50% -50%;font:900 clamp(32px,5vw,70px)/1 var(--sans);color:#ffe9a3;text-shadow:0 2px #7b410d,0 4px 5px #320a12;}
.wot-period-number>small {display:block;font-size:10px;line-height:1.5;letter-spacing:.06em;color:#ffdda0;}
.wot-gold-bundle .wot-premium-icon {inset:0 24% 6% 0;}
.wot-bundle-coins {position:absolute;right:-3%;bottom:-2%;width:66%;height:47%;}
.wot-bundle-coins>strong {position:absolute;left:50%;bottom:-4%;translate:-50% 0;font:800 12px/1.1 var(--sans);white-space:nowrap;color:#ffe79f;text-shadow:0 2px 3px #291506;}
.product-thumb[data-theme=world-of-tanks] .product-object {inset:7% 10% 12%;}
.product-artwork[data-theme=world-of-tanks] .product-object {inset:8% 13% 14%;}
.product-thumb[data-theme=world-of-tanks][data-product-kind^=Танки] .product-object {inset:3% 2% 9%!important;}
.product-thumb[data-theme=world-of-tanks][data-product-kind^=Танки] .product-environment {opacity:.5;}
@media(max-width:700px){#world-product-grid .product-card .product-thumb[data-theme=world-of-tanks][data-product-kind^=Танки]{height:190px!important;}}
.game-card[data-id=world-of-tanks] .figure-layer {width:100%;right:-15%;height:75%;top:3%;}
.game-card[data-id=genshin] .figure-layer {width:78%;right:-8%;height:80%;top:8%;}
.game-card[data-id=hayday] .figure-layer {width:67%;right:-2%;height:80%;top:0;}
@media(max-width:700px){.wot-period-number {font-size:38px;}.wot-period-number>small {font-size:9px;}.wot-bundle-coins>strong {font-size:10px;}}
.store-bundle-model{width:100%;height:100%;display:flex!important;align-items:center;justify-content:center;gap:0;isolation:isolate}
.store-bundle-model>.media-image{position:relative!important;width:calc(100% / var(--bundle-count))!important;height:100%!important;min-width:0;object-fit:contain!important;flex:1}
.store-bundle-model>.media-image:nth-child(even){translate:0 5%}
/* Native transparent MLBB diamonds, composed into clear package tiers. */
.mlbb-currency-model {isolation:isolate;}
.mlbb-diamond-field {position:absolute;inset:0 0 16%;pointer-events:none;}
.mlbb-diamond-piece {position:absolute;left:var(--gem-x);top:var(--gem-y);width:var(--gem-w);height:var(--gem-h);translate:-50% -50%;rotate:var(--gem-rotation);display:grid;place-items:center;}
.mlbb-diamond-piece>.media-image {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;transform:scale(1.52)!important;transform-origin:49% 52%;filter:none!important;border:0;border-radius:0;margin:0!important;}
.mlbb-currency-model>.castle-amount-badge {z-index:12;}
.product-thumb[data-theme=mobile-legends] .product-object {inset:8% 9% 17%;}
.product-artwork[data-theme=mobile-legends] .product-object {inset:8% 10% 16%;}
.category-card[data-catalog-game=mobile-legends] .mlbb-currency-model>.castle-amount-badge {display:none;}

/* Scene lighting belongs behind the subject, including during pointer tilt.
   Keep the resting world hero as opaque as its entrance animation. */
.world-category-hero[data-theme] .figure-layer {opacity:1;}
.category-card .category-art {z-index:3;}
.category-card .category-label,.category-card .category-arrow {z-index:4;}
.product-thumb .product-light,.product-artwork .product-light {z-index:1;mix-blend-mode:normal;opacity:.35;}
.product-thumb[data-engaged=true] .product-light,.product-artwork[data-engaged=true] .product-light {opacity:.35;}
.model-fallback,.model-canvas,.publisher-canvas {transition:none;}

.game-card[data-id=cod] .figure-layer {width:61%;height:79%;right:1%;top:5%;}
.world-hero[data-theme=cod] .figure-layer {width:41%;height:100%;right:3%;top:0;}
:is([data-id=cod],[data-theme=cod]) .scene-bg {opacity:1;filter:none;object-position:center;}
:is([data-id=cod],[data-theme=cod]) .scene-shade {background:linear-gradient(90deg,#09101dd9,transparent 75%),linear-gradient(0deg,#09101dba,transparent 75%);}
.category-card[data-catalog-game=cod]:has(.category-pass-pair) .category-art {inset:5% 2% 23% 17%;}
.cod-double-badge {position:absolute;right:2%;top:0;padding:7px 12px;border-radius:11px;border:1px solid #ffd66c88;background:#382d16ed;color:#ffe39e;font:900 23px/1.1 var(--sans);box-shadow:0 5px 15px #05070a55;}
.product-thumb[data-theme=cod] .product-object {inset:8% 11% 16%;}
.product-artwork[data-theme=cod] .product-object {inset:9% 13% 16%;}
@media(max-width:700px){.world-hero[data-theme=cod] .figure-layer {width:66%;right:-13%;top:8%;height:94%;}.game-card[data-id=cod] .figure-layer {width:76%;right:-5%;height:87%;top:4%;}}

.cod-package-note {margin:6px 0 0;font:500 11px/1.45 var(--sans);color:var(--muted);}
.product-details>.cod-package-note {font-size:13px;margin:10px 0 18px;}
.cod-coin-cluster {position:absolute;inset:0 0 2%;}
.cod-coin-piece {position:absolute;left:var(--coin-x);top:var(--coin-y);width:var(--coin-w);height:var(--coin-h);translate:-50% -50%;rotate:var(--coin-angle);}
.cod-coin-piece>.media-image {position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:contain;}
