/* V202 painted room stages: the whole background + every placed furniture layer
   is composited into a single pixel-aligned scene. The original layers are
   fallback until the snapshot completes. Characters/mascot remain interactive. */
.olu177-room .olu177-canvas .olu202-painterly-snapshot{
 position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:fill;
 z-index:2;pointer-events:none;opacity:0;transition:opacity .3s ease;
}
.olu177-room .olu177-canvas.olu202-composite-ready .olu202-painterly-snapshot{opacity:1}
.olu177-room .olu177-canvas.olu202-composite-ready .olu177-layer{opacity:0!important}
.olu177-room .olu177-canvas .olu177-avatar,.olu177-room .olu177-canvas .olu198-approved-pair{z-index:5!important}
.olu177-room .olu177-canvas .olu177-mascot{z-index:6!important}
.olu177-room .olu177-canvas .olu189-furnishing-tap{z-index:4!important}
.olu177-room .olu177-canvas button.olu202-tapped:not(.olu177-mascot){animation:olu202AvatarWelcome .78s ease-out both}
.olu177-room .olu177-canvas button.olu177-mascot.olu202-tapped:not(.is-dragon){animation:olu202EggShake .73s ease-in-out both}
.olu177-room .olu177-canvas button.olu177-mascot.olu202-tapped.is-dragon{animation:olu202DragonWiggle .8s ease-out both}
@keyframes olu202AvatarWelcome{0%,100%{transform:translateY(0) rotate(0)}22%{transform:translateY(-6%) rotate(-5deg)}48%{transform:translateY(-10%) rotate(4deg)}72%{transform:translateY(-4%) rotate(-2deg)}}
@keyframes olu202EggShake{0%,100%{transform:rotate(0)}14%,42%,70%{transform:rotate(-11deg)}28%,56%,84%{transform:rotate(11deg)}}
@keyframes olu202DragonWiggle{0%,100%{transform:scale(1)}30%{transform:scale(1.11) rotate(4deg)}65%{transform:scale(1.03) rotate(-3deg)}}
@media(prefers-reduced-motion:reduce){.olu177-room .olu177-canvas .olu202-painterly-snapshot{transition:none}.olu177-room .olu177-canvas button.olu202-tapped{animation:none!important}}
