/* UI artwork uses area sampling while reduced; world sprites and logo keep their own rendering. */
body :is(#ui,.modal,.season-modal) img:is(.pix,.uiicon,.yq-pixel-icon,.yq-board-icon,.yq-upgrade-icon,.yq-setting-art,.yq-quest-art,.yq-social-icon,.yq-sect-emblem){
 object-fit:contain!important;flex-shrink:0;image-rendering:auto!important;
}
body img.yq-hi-icon{object-fit:contain!important;image-rendering:auto!important;}

/* Source artwork is normalized at build time. Avoid fractional zoom and translation. */
body #ui .screen.lab .lab-card .lab-ic>img.yq-normalized-icon{width:84px!important;height:84px!important;left:3px;top:3px;transform:none!important;}
@media(max-width:600px){body #ui .screen.lab .lab-card .lab-ic>img.yq-normalized-icon{width:72px!important;height:72px!important;left:6px;top:6px;}}
/* Animated 48px role frames stay crisp, including portraits outside the roster. */
body canvas[data-yq-role]{image-rendering:pixelated;object-fit:contain;}

