/* Recolor white armor only. Static artwork uses the same material as rigs;
   there is no outline, dilation, glow or change to the account's palette. */
html[data-mascot-star="true"] :is(
    img[src*="/assets/img/goat/"],
    img[src*="/assets/mascot-motion/"],
    img[src*="/assets/study-companion/approval"],
    img[src*="/assets/study-companion/arm-"],
    img[src*="/assets/result-ufo/"],
    .combo-flight, .combo-pose, .sv-journey__ufo,
    .current-locator__ufo
):not(:where(
    .page-mascot-puppet-layer *,
    .tutorial-mascot-puppet *,
    .combo-live-texture,
    [src*="/assets/star-mascot/"],
    [data-star-material-ready="true"]
)) {
    filter: var(--mascot-star-filter, url("#sapiverse-mascot-gold")) !important;
}
.sv-journey__ufo { --mascot-star-filter: url("#sapiverse-mascot-gold-journey"); }

/* A decoded gold bitmap owns landing and static fallback too. Never expose
   the unpainted source while its replacement is being decoded. */
html[data-mascot-star="true"] img[data-star-material-pending="true"] {
    visibility: hidden !important;
}

/* Live surfaces already draw the complete cached Star artwork. */
html[data-mascot-star="true"] :is(.page-mascot-puppet-layer, .tutorial-mascot-puppet),
#premiumUpsellModal .premium-upsell-mascot > canvas { filter: none !important; }

/* Preview the Star artwork in the offer, including the canvas used for blinks. */
@media (forced-colors: none) {
    #premiumUpsellModal .premium-upsell-mascot > img {
        filter: var(--mascot-star-filter, url("#sapiverse-mascot-gold")) !important;
    }
}
