.duo-motion-stage{display:none;position:relative;width:min(calc(100% - 90px),calc(78svh * 1260 / 1676));margin:0 auto}
.duo-motion-canvas{display:block;width:100%;height:auto;aspect-ratio:1260/1676;filter:drop-shadow(3px 8px 7px #24282e22)}
.pleated-page #system-panel>.duo-motion.duo-motion-ready>img{display:none}
.duo-motion-ready .duo-motion-stage{display:block}
.duo-motion-handle{position:absolute;transform:translate(-50%,-50%);width:54px;height:44px;background:transparent;border:0;border-radius:12px;cursor:grab;touch-action:none;z-index:3;padding:0}
.duo-motion-handle:hover{background:#ed405010}.duo-motion-handle:focus-visible{outline:2px solid #de6570;outline-offset:2px}.duo-motion-handle.dragging{cursor:grabbing;background:#ed405014}
.duo-motion-hint{position:absolute;left:52.38%;right:-90px;transform:translateY(-50%);display:flex;align-items:center;gap:12px;pointer-events:none;white-space:nowrap;color:#636368;font-size:20px;font-weight:500;letter-spacing:.01em}
.duo-motion-hint::before{content:"";height:1px;flex:1;margin-left:12px;background:linear-gradient(90deg,#dc717b88,#d4d4d8)}
.duo-pulse{display:block;position:relative;flex-shrink:0;width:12px;height:12px;border:2px solid #dc5b68;border-radius:50%;background:#fff;box-shadow:0 0 9px #df627b22}
.duo-pulse::before,.duo-pulse::after{content:"";position:absolute;inset:-3px;border:1px solid #df6472;border-radius:50%;animation:duo-ripple 2.4s ease-out infinite;pointer-events:none}.duo-pulse::after{animation-delay:1.2s}.duo-motion-handle .duo-pulse{margin:auto}
@keyframes duo-ripple{0%{transform:scale(1);opacity:.65}85%,100%{transform:scale(2.8);opacity:0}}
@media(prefers-reduced-motion:reduce){.duo-pulse::before,.duo-pulse::after{animation:none;opacity:.2}}
@media(max-width:480px){.duo-motion-stage{width:calc(100% - 76px);margin-left:0}.duo-motion-hint{right:-76px;gap:8px;font-size:18px}.duo-pulse{width:10px;height:10px}}

/* Avoid a full-canvas shadow blur for every touch frame. */
@media(pointer:coarse){.duo-motion-canvas{filter:none}}
