/* Restrained independent rhythms, measured in the artwork's original coordinates. */
.story-theme .rose-motion-host{position:relative}
.story-theme .rose-motion{position:absolute;display:block;pointer-events:none;overflow:hidden;opacity:0;border-radius:2px}
.story-theme .rose-motion.is-ready{opacity:1}
/* Keep the original underneath as a fallback, including the library's frame and shadow. */
.story-theme .rose-motion-art{display:block;width:100%;height:100%;fill:none;stroke:none;stroke-width:0;overflow:hidden}
.story-theme .rose-motion-art .rose-motion-layer{transform-box:view-box;animation-timing-function:ease-in-out;animation-iteration-count:infinite}
.story-theme .rose-motion-rose{transform-origin:680px 1205px;animation-name:rose-stem-sway;animation-duration:9s}
.story-theme .rose-motion-moon{transform-origin:850px 245px;animation-name:rose-moon-float;animation-duration:12s}
.story-theme .rose-motion-far{animation-name:rose-cloud-far;animation-duration:16s}
.story-theme .rose-motion-near{animation-name:rose-cloud-near;animation-duration:19s}
@keyframes rose-stem-sway{0%,100%{transform:rotate(0deg)}25%{transform:rotate(.65deg)}75%{transform:rotate(-.65deg)}}
@keyframes rose-moon-float{0%,100%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-9px) rotate(-.35deg)}75%{transform:translateY(6px) rotate(.35deg)}}
@keyframes rose-cloud-far{0%,100%{transform:translate(0,0)}25%{transform:translate(13px,-3px)}75%{transform:translate(-11px,3px)}}
@keyframes rose-cloud-near{0%,100%{transform:translate(0,0)}25%{transform:translate(-9px,3px)}75%{transform:translate(10px,-4px)}}
.story-theme.mirlo-motion-paused .rose-motion-layer,.story-theme.rose-motion-hidden .rose-motion-layer,.story-theme .rose-motion.is-offscreen .rose-motion-layer{animation-play-state:paused}
.story-theme .record-cover.rose-motion-host .rose-motion{transition:transform .6s ease}
.story-theme .record-card:hover .record-cover.rose-motion-host .rose-motion{transform:scale(1.04)}
.story-theme .rose-motion-toggle{position:absolute;right:18px;bottom:18px;z-index:2;padding:6px 10px;border:1px solid #69775b33;border-radius:20px;background:#fcfbf0e8;color:#54654e;font-size:10px;line-height:1.5;min-height:30px;cursor:pointer}
.story-theme .rose-motion-toggle:hover{background:#fcfbf7;border-color:#69775b80}
.story-theme .rose-motion-toggle:focus-visible{outline:2px solid var(--story-berry);outline-offset:3px}
@media(prefers-reduced-motion:reduce){.story-theme .rose-motion{display:none}.story-theme img.rose-motion-source{opacity:1}.story-theme .rose-motion-layer{animation:none;transform:none}.story-theme .record-card:hover .record-cover.rose-motion-host .rose-motion{transform:none}}
