/* Gentle independent movement, matching the reference's floating composition. */
.portrait{animation:portrait-float 7s ease-in-out infinite;will-change:transform}
.wing-left .crest{animation:crest-float 8s ease-in-out infinite;will-change:transform}
.wing-right .crest{animation:crest-float 8s ease-in-out -3s infinite;will-change:transform}
.small{animation:small-coin-float 6s ease-in-out -1.5s infinite}
.wing-right .small{animation-delay:-3.5s}
.portrait-frame{animation:moon-glow 5s ease-in-out infinite}
.stars{animation:twinkle 4s ease-in-out alternate infinite,star-drift 65s linear infinite}
.ornament{filter:drop-shadow(0 0 5px #91bbff88)}
@keyframes portrait-float{0%,100%{transform:translateY(0)}50%{transform:translateY(14px)}}
@keyframes crest-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes small-coin-float{0%,100%{transform:translateY(0)}50%{transform:translateY(6px)}}
@keyframes moon-glow{0%,100%{filter:drop-shadow(0 0 8px #8cacff40)}50%{filter:drop-shadow(0 0 17px #a2c6ff80)}}
@keyframes star-drift{to{background-position:35px 50px,-25px 35px,20px 60px}}
@media(max-width:520px){@keyframes portrait-float{0%,100%{transform:translateY(0)}50%{transform:translateY(8px)}}}
@media(prefers-reduced-motion:reduce){.portrait,.crest,.small,.portrait-frame,.stars{animation:none!important;will-change:auto}}
/* The visitor can explicitly enable or pause the requested reference motion. */
body.motion-enabled .portrait{animation:portrait-float 7s ease-in-out infinite!important}
body.motion-enabled .wing-left .crest{animation:crest-float 8s ease-in-out infinite!important}
body.motion-enabled .wing-right .crest{animation:crest-float 8s ease-in-out -3s infinite!important}
body.motion-enabled .small{animation:small-coin-float 6s ease-in-out -1.5s infinite!important}
body.motion-enabled .ring{animation:spin 80s linear infinite!important}
body.motion-enabled .ring.reverse{animation-direction:reverse!important}
body.motion-enabled .portrait-frame{animation:moon-glow 5s ease-in-out infinite!important}
body.motion-enabled .stars{animation:twinkle 4s ease-in-out alternate infinite,star-drift 65s linear infinite!important}
body.motion-paused *,body.motion-paused *:before{animation-play-state:paused!important}
.motion-toggle{position:fixed;bottom:22px;right:60px;z-index:9;width:28px;height:28px;border:1px solid #b4ccff70;border-radius:50%;background:#122159cc;font-size:12px}
