/* Reference-style entrances, scoped to the user's explicitly selected page mode. */
.home-page .scene{--copy-entry:calc(11.5 * var(--u));--image-entry:-101%}
.home-page .scene--reverse{--copy-entry:calc(-11.3 * var(--u));--image-entry:101%}

/* A full-screen transition lasts 300ms; the layered entrance continues for 1s. */
[data-scene-motion="full"] .scene.is-revealed .feature__heading,
[data-scene-motion="full"] .scene.is-revealed .feature__intro,
[data-scene-motion="full"] .scene.is-revealed .feature__description{animation:siyu-copy-sweep 1s ease-out both!important}
[data-scene-motion="full"] .scene.is-revealed .feature__preview{animation:siyu-hand-sweep 1s ease-out both!important}
[data-scene-motion="full"] .scene.is-revealed .feature__float{animation:siyu-bubble-swing 1.5s ease-out both!important;transform-origin:center}
[data-scene-motion="full"] .hero.is-revealed h1 span{animation:siyu-hero-entry .75s ease-out both!important}
[data-scene-motion="full"] .hero.is-revealed h1 span:nth-child(2){animation-delay:.08s!important}
[data-scene-motion="full"] .hero.is-revealed .hero__caption{animation:siyu-hero-entry .65s ease-out .14s both!important}
[data-scene-motion="full"] .hero.is-revealed .hero__download .download-link{animation:siyu-hero-entry .65s ease-out .2s both!important}
[data-scene-motion="full"] .hero.is-revealed .hero__download .download-link:nth-child(2){animation-delay:.28s!important}
[data-scene-motion="full"] .hero.is-revealed .hero__download .download-link:nth-child(3){animation-delay:.36s!important}
[data-scene-motion="full"] .hero__next img{animation:float-cue 1s ease-in-out infinite!important}

@keyframes siyu-copy-sweep{from{transform:translate3d(var(--copy-entry),0,0)}to{transform:translate3d(0,0,0)}}
@keyframes siyu-hand-sweep{from{transform:translate3d(var(--image-entry),100%,0)}to{transform:translate3d(0,0,0)}}
@keyframes siyu-hero-entry{from{opacity:0;transform:translate3d(0,26px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes siyu-bubble-swing{
 0%,50%{opacity:0;transform:rotate(0)}
 55%{transform:rotate(-12deg)}
 60%{transform:rotate(12deg)}
 65%{transform:rotate(-10deg)}
 70%{transform:rotate(10deg)}
 75%{transform:rotate(-8deg)}
 80%{transform:rotate(8deg)}
 89%{transform:rotate(-4deg)}
 97%{transform:rotate(4deg)}
 100%{opacity:1;transform:rotate(0)}
}

/* The in-page switch keeps non-spatial feedback without changing OS preferences. */
[data-scene-motion="simple"] .hero__next img{animation:none!important}
[data-scene-motion="simple"] .hero.is-revealed h1 span,
[data-scene-motion="simple"] .hero.is-revealed .hero__caption,
[data-scene-motion="simple"] .hero.is-revealed .hero__download .download-link,
[data-scene-motion="simple"] .scene.is-revealed .feature__heading,
[data-scene-motion="simple"] .scene.is-revealed .feature__intro,
[data-scene-motion="simple"] .scene.is-revealed .feature__description,
[data-scene-motion="simple"] .scene.is-revealed .feature__preview,
[data-scene-motion="simple"] .scene.is-revealed .feature__float{animation:siyu-simple-entry .4s ease-out both!important}
@keyframes siyu-simple-entry{from{opacity:.25}to{opacity:1}}

.scene-motion-toggle{position:fixed;right:26px;bottom:16px;z-index:90;padding:7px 13px;min-height:36px;border:1px solid #ffffff80;border-radius:20px;background:#0005;color:#fff;font-size:12px;line-height:1.5;cursor:pointer;backdrop-filter:blur(6px)}
.scene-motion-toggle.is-dark{background:#ffffffe6;border-color:#c7dfe9;color:#365467}
.scene-motion-toggle[aria-pressed="true"]{background:#176c9a;border-color:#176c9a;color:#fff}
.scene-motion-toggle[hidden]{display:none}
@media(max-width:760px){
 .home-page .scene{--copy-entry:calc(100vw + 32px)}
 .home-page .scene--reverse{--copy-entry:calc(-100vw - 32px)}
 .scene-motion-toggle{right:14px;bottom:12px}
}
