/* Marrycene lightweight theme motion assets.
   Decorative layers never receive pointer input, so invitation controls stay clickable. */
.mc-animation-assets{position:fixed;inset:0;overflow:hidden;pointer-events:none!important}
.mc-animation-assets--under{z-index:1}
.mc-animation-assets--over{z-index:15}
.mc-animation-asset{position:absolute;pointer-events:none!important;opacity:var(--asset-opacity,1);width:calc(var(--asset-size,40)*1vw);max-width:160vw;transform-origin:center;will-change:transform,opacity}
.mc-animation-asset img,.mc-animation-asset video{display:block;width:100%;height:auto;pointer-events:none!important;user-select:none;-webkit-user-drag:none}
.mc-animation-asset.layer-background{z-index:0}.mc-animation-asset.layer-back{z-index:2}.mc-animation-asset.layer-middle{z-index:4}.mc-animation-asset.layer-foreground{z-index:6}.mc-animation-asset.layer-effect{z-index:8}
.mc-animation-asset.pos-full{inset:0;width:100%;height:100%}.mc-animation-asset.pos-full img,.mc-animation-asset.pos-full video{width:100%;height:100%;object-fit:cover}
.mc-animation-asset.pos-top-left{top:0;left:0}.mc-animation-asset.pos-top-center{top:0;left:50%;translate:-50% 0}.mc-animation-asset.pos-top-right{top:0;right:0}
.mc-animation-asset.pos-center-left{top:50%;left:0;translate:0 -50%}.mc-animation-asset.pos-center{top:50%;left:50%;translate:-50% -50%}.mc-animation-asset.pos-center-right{top:50%;right:0;translate:0 -50%}
.mc-animation-asset.pos-bottom-left{bottom:0;left:0}.mc-animation-asset.pos-bottom-center{bottom:0;left:50%;translate:-50% 0}.mc-animation-asset.pos-bottom-right{bottom:0;right:0}
.mc-animation-asset.speed-slow{--motion-duration:12s}.mc-animation-asset.speed-normal{--motion-duration:7s}.mc-animation-asset.speed-fast{--motion-duration:4s}
.mc-animation-asset.motion-float{animation:mcAssetFloat var(--motion-duration) ease-in-out infinite alternate}.mc-animation-asset.motion-sway{animation:mcAssetSway var(--motion-duration) ease-in-out infinite alternate}.mc-animation-asset.motion-drift{animation:mcAssetDrift var(--motion-duration) ease-in-out infinite alternate}.mc-animation-asset.motion-zoom{animation:mcAssetZoom var(--motion-duration) ease-in-out infinite alternate}.mc-animation-asset.motion-rotate{animation:mcAssetRotate var(--motion-duration) linear infinite}.mc-animation-asset.motion-rise{animation:mcAssetRise var(--motion-duration) ease-in-out infinite}
@keyframes mcAssetFloat{from{transform:translate3d(0,8px,0)}to{transform:translate3d(0,-12px,0)}}
@keyframes mcAssetSway{from{transform:rotate(-3deg) translateX(-4px)}to{transform:rotate(3deg) translateX(4px)}}
@keyframes mcAssetDrift{from{transform:translate3d(-12px,3px,0)}to{transform:translate3d(16px,-7px,0)}}
@keyframes mcAssetZoom{from{transform:scale(.97)}to{transform:scale(1.06)}}
@keyframes mcAssetRotate{to{transform:rotate(360deg)}}
@keyframes mcAssetRise{0%{transform:translateY(24px);opacity:.15}50%{opacity:var(--asset-opacity,1)}100%{transform:translateY(-24px);opacity:.15}}
@media(max-width:760px){.mc-animation-asset{width:calc(min(var(--asset-size,40),100)*1vw)}}
@media(prefers-reduced-motion:reduce){.mc-animation-asset{animation:none!important}.mc-animation-asset video{display:none!important}}
