.nav{position:sticky;top:0;z-index:20;transition:height .25s,box-shadow .25s,background .25s}.nav.is-scrolled{height:72px}.scroll-progress{position:fixed;left:0;top:0;width:100%;height:2px;transform:scaleX(0);transform-origin:left;z-index:50}.js-motion .reveal{opacity:0;transform:translateY(25px);transition:opacity .8s cubic-bezier(.2,.7,.3,1),transform .8s cubic-bezier(.2,.7,.3,1)}.js-motion .reveal.is-visible{opacity:1;transform:none}.hero-copy{animation:copy-arrive .8s both}.hero-demo{animation:screen-arrive 1.15s .12s both}.hero-demo[data-parallax]{transform:translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transition:transform .65s cubic-bezier(.18,.8,.3,1)}.game-photo img{transform:scale(1.06) translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0);transition:transform .9s cubic-bezier(.18,.8,.3,1)}.game-photo:hover img{transform:scale(1.1) translate3d(var(--pointer-x,0px),var(--pointer-y,0px),0)}.button{transition:background .2s,color .2s,transform .25s,box-shadow .25s}.button:hover{transform:translateY(-3px)}.button:active{transform:translateY(0)}.button em{transition:transform .25s}.button:hover em{transform:translate(3px,-3px)}.experience-chapter:not(.is-active){opacity:.38;transform:translateY(8px)}.experience-chapter.is-active{opacity:1;transform:none}.image-zoom-label{opacity:0;transform:translateY(5px);transition:opacity .2s,transform .2s}.image-open:hover .image-zoom-label,.image-open:focus-visible .image-zoom-label{opacity:1;transform:none}.faq-section details[open] p{animation:copy-arrive .3s both}.nav-links a{transition:color .2s}.viewer-controls button{transition:background .2s,color .2s}.lightbox[open],.download-dialog[open]{animation:dialog-arrive .25s both}@keyframes copy-arrive{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes screen-arrive{from{opacity:0;translate:0 32px;scale:.96}to{opacity:1;translate:0 0;scale:1}}@keyframes dialog-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}[data-parallax]{--pointer-x:0px!important;--pointer-y:0px!important}.experience-chapter{transform:none!important}.experience-chapter:not(.is-active){opacity:.7}}
html[data-desktop-motion] .hero-demo::before{content:'';position:absolute;inset:-28px -20px 30px 20px;background:url('assets/yysls.png') 65% center/cover;opacity:.16;z-index:-1;mask-image:linear-gradient(0deg,transparent,#000 35%,#000 70%,transparent);transform:translateY(var(--hero-art-y,0px)) scale(1.06)}
html[data-desktop-motion] .hero-demo[data-parallax]{transform:perspective(1400px) translate3d(var(--pointer-x,0px),calc(var(--pointer-y,0px) + var(--hero-lift,0px)),0) rotateY(var(--hero-turn,-3deg));transition:transform .3s ease-out}
html[data-desktop-motion] .hero-inset{animation:tool-float 5s ease-in-out infinite;box-shadow:0 20px 50px #0009}
html[data-desktop-motion] .game-photo{clip-path:inset(0 100% 0 0);transition:clip-path 1.1s cubic-bezier(.2,.7,.2,1)}
html[data-desktop-motion] .game-photo.is-unveiled{clip-path:inset(0 0 0 0)}
html[data-desktop-motion] .game-photo img{transform:scale(1.14) translate3d(var(--pointer-x,0px),calc(var(--pointer-y,0px) + var(--photo-shift,0px)),0)}
html[data-desktop-motion] .game-photo:hover img{transform:scale(1.2) translate3d(var(--pointer-x,0px),calc(var(--pointer-y,0px) + var(--photo-shift,0px)),0)}
@keyframes tool-float{0%,100%{translate:0 0;rotate:2deg}50%{translate:0 -14px;rotate:-1deg}}
@media(prefers-reduced-motion:reduce){html[data-desktop-motion] .hero-demo[data-parallax]{transform:none}html[data-desktop-motion] .game-photo{clip-path:none}}