.scene-animation-frame{position:relative;display:block;width:100%;line-height:0;overflow:hidden}.scene-animation-frame>img{position:relative;z-index:1}.memory-card .scene-animation-frame{border-radius:90px 90px 6px 6px}.memory-gallery[data-frame=minimal] .scene-animation-frame{border-radius:12px}.scene-sticker{--x:50%;--y:22%;--size:20%;position:absolute;z-index:2;left:var(--x);top:var(--y);width:var(--size);aspect-ratio:1;display:grid;place-items:center;transform:translate(-50%,-50%);font-style:normal;font-size:clamp(1.6rem,9vw,5rem);line-height:1;color:var(--accent-color);text-shadow:0 4px 12px #0006;filter:drop-shadow(0 5px 8px #0004);pointer-events:none;animation-play-state:paused!important}.scene-animation-frame.is-active .scene-sticker{animation-play-state:running!important}.scene-animation-frame.is-static .scene-sticker{animation:none!important}
.scene-sticker[data-motion=float]{animation:scene-sticker-float 3.2s ease-in-out infinite}.scene-sticker[data-motion=pulse]{animation:scene-sticker-pulse 2.4s ease-in-out infinite}.scene-sticker[data-motion=sway]{animation:scene-sticker-sway 3s ease-in-out infinite}.scene-sticker[data-effect=sparkle],.scene-sticker[data-effect=heart],.scene-sticker[data-effect=crown],.scene-sticker[data-effect=cross],.scene-sticker[data-effect=star]{color:var(--accent-color)}
@keyframes scene-sticker-float{0%,100%{transform:translate(-50%,-50%) translateY(0) rotate(-3deg)}50%{transform:translate(-50%,-50%) translateY(-12px) rotate(4deg)}}@keyframes scene-sticker-pulse{0%,100%{transform:translate(-50%,-50%) scale(.92);opacity:.78}50%{transform:translate(-50%,-50%) scale(1.1);opacity:1;filter:drop-shadow(0 0 14px var(--accent-color))}}@keyframes scene-sticker-sway{0%,100%{transform:translate(-50%,-50%) rotate(-10deg)}50%{transform:translate(-50%,-50%) rotate(10deg)}}
.mobile-tap-burst{position:fixed;z-index:9999;width:1px;height:1px;pointer-events:none;color:var(--accent-color)}.mobile-tap-burst i{position:absolute;left:0;top:0;font-style:normal;font-size:18px;line-height:1;color:inherit;text-shadow:0 2px 5px #0004;animation:mobile-burst .9s cubic-bezier(.16,.75,.25,1) var(--delay) both}@keyframes mobile-burst{0%{transform:translate(-50%,-50%) scale(.35);opacity:0}18%{opacity:1}100%{transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) scale(.9) rotate(140deg);opacity:0}}
.mobile-effects-paused .scene-sticker,.mobile-effects-lite .scene-sticker{animation-play-state:paused!important}.mobile-effects-lite .scene-sticker{opacity:.85}
@media(prefers-reduced-motion:reduce){.scene-sticker{animation:none!important}.mobile-tap-burst{display:none!important}}
