/* Visual feedback on successful, persisted upgrades only. */
.furniture-poof{position:absolute;z-index:70;pointer-events:none;width:120px;height:100px;transform:translate(-50%,-60%);animation:furniturePoof .78s both}
.furniture-poof__cloud{position:absolute;display:block;border-radius:50%;background:radial-gradient(circle at 36% 35%,#fff 0%,#f2f8ff 45%,#c6e3ff 78%,#9ac7ee 100%);box-shadow:0 3px 16px #addaf99b;animation:cloudExpand .78s both}
.furniture-poof__cloud.c1{width:55px;height:55px;left:8px;top:35px}.furniture-poof__cloud.c2{width:76px;height:68px;left:29px;top:11px;animation-delay:.04s}.furniture-poof__cloud.c3{width:49px;height:48px;left:67px;top:45px;animation-delay:.09s}
.furniture-poof__spark{position:absolute;left:58px;top:16px;color:#ffd34f;text-shadow:0 0 15px #ffbd28;font-size:40px;animation:sparkPop .78s both}
.furniture-reward{position:absolute;z-index:71;pointer-events:none;transform:translate(-50%,-100%);background:#102d53ec;border:1px solid #ffd34f;border-radius:99px;white-space:nowrap;color:#fff5ca;font:700 13px system-ui,sans-serif;padding:7px 11px;animation:rewardRise 1.25s both}
@keyframes furniturePoof{0%{opacity:0;scale:.22}20%{opacity:1;scale:1.15}65%{opacity:1;scale:1}100%{opacity:0;scale:1.2}}
@keyframes cloudExpand{0%{transform:scale(.2)}40%{transform:scale(1.1)}100%{transform:scale(1.3)}}
@keyframes sparkPop{0%{opacity:0;transform:scale(.2) rotate(-20deg)}55%{opacity:1;transform:scale(1.2) rotate(9deg)}100%{opacity:0;transform:scale(1.6) rotate(30deg)}}
@keyframes rewardRise{0%{opacity:0;translate:0 16px}35%{opacity:1;translate:0 -5px}85%{opacity:1;translate:0 -10px}100%{opacity:0;translate:0 -28px}}

/* Approved 4x3 Poof sprite sheet: 12 frames, 65ms each; CSS clouds remain fallback. */
.furniture-poof:has(.furniture-poof__atlas){width:150px;height:150px;transform:translate(-50%,-65%);animation:none;overflow:visible}
.furniture-poof__atlas{position:absolute;inset:0;width:100%;height:100%;background-image:url('/ao-trabalho/assets/furniture/effects/poof_atlas_4x3.png');background-repeat:no-repeat;background-size:400% 300%;animation:poofSpriteX .26s steps(1) 3,poofSpriteY .78s steps(1) 1;opacity:.9}
@keyframes poofSpriteX{0%{background-position-x:0}25%{background-position-x:33.333%}50%{background-position-x:66.666%}75%,100%{background-position-x:100%}}
@keyframes poofSpriteY{0%,33.32%{background-position-y:0}33.33%,66.65%{background-position-y:50%}66.66%,100%{background-position-y:100%}}

.furniture-poof:has(.furniture-poof__atlas) .furniture-poof__cloud,.furniture-poof:has(.furniture-poof__atlas) .furniture-poof__spark{display:none}
