/* Fast motion: progressive enhancement; all content stays available without JS. */
.scroll-progress{position:fixed;inset:0 0 auto;height:2px;background:var(--lime);transform:scaleX(var(--scroll-progress,0));transform-origin:left;z-index:50;pointer-events:none;box-shadow:0 0 12px #a8f56b55;opacity:0;transition:opacity .3s}
.motion-enabled .scroll-progress{opacity:1}
header{position:sticky;top:0;background:#151515f2;transition:background .3s,box-shadow .3s,border-color .3s;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
header.scrolled{background:#151515ec;border-bottom-color:#ffffff14;box-shadow:0 6px 30px #0002}
.nav nav a{position:relative}
.nav nav a:after{content:'';position:absolute;left:0;bottom:-7px;height:1px;width:100%;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav nav a:hover:after,.nav nav a:focus-visible:after{transform:scaleX(1)}
.button{position:relative;overflow:hidden}
.button.primary:before{content:'';position:absolute;inset:-80% auto -80% -65%;width:35%;transform:rotate(25deg);background:linear-gradient(90deg,transparent,#ffffff50,transparent);pointer-events:none;opacity:0}
.motion-enabled .button.primary:hover:before{animation:button-sheen .7s ease forwards}
.button>svg,.nav-cta>svg,.tool-card-bottom button>svg{transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.button:hover>svg,.nav-cta:hover>svg,.tool-card-bottom button:hover>svg{transform:translateX(4px)}
.tool-card{isolation:isolate;transition:border-color .3s,transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.tool-card:before{content:'';position:absolute;inset:0;z-index:-1;border-radius:inherit;pointer-events:none;background:radial-gradient(300px circle at var(--pointer-x,50%) var(--pointer-y,30%),#a8f56b13,transparent 70%);opacity:0;transition:opacity .35s}
.motion-enabled .tool-card:hover:before,.motion-enabled .tool-card:focus-within:before{opacity:1}
.tool-card:focus-within{border-color:#7c9a5c}
.motion-enabled .tool-card:hover{box-shadow:0 14px 36px #0003;transform:translateY(-6px)}
.tool-icon{transition:transform .35s,border-color .35s,background .35s,box-shadow .35s}
.motion-enabled .tool-card:hover .tool-icon{transform:translateY(-2px) rotate(-5deg);border-color:#a8f56b88;background:#a8f56b14;box-shadow:0 0 23px #a8f56b0e}
.roadmap article{transition:background .35s}
.roadmap article:hover{background:linear-gradient(135deg,#a8f56b05,transparent)}
.roadmap h3 svg{transition:transform .4s,color .4s}
.motion-enabled .roadmap article:hover h3 svg{transform:rotate(-9deg) scale(1.12);color:var(--hover)}
.motion-enabled .hero-in-view .float-label.top{animation:float-top 6s ease-in-out infinite}
.motion-enabled .hero-in-view .float-label.bottom{animation:float-bottom 7s ease-in-out infinite}
.motion-enabled .hero-in-view .visual-grid:after{animation:ambient-glow 8s ease-in-out infinite}
.motion-enabled .hero-in-view .playhead{animation:hero-playhead 10s linear infinite}
.motion-enabled .hero-in-view .eyebrow i{box-shadow:0 0 0 0 #a8f56b33;animation:status-pulse 3s ease-out infinite}
.motion-enabled .hero-in-view .title-spark{animation:spark-intro 1.2s .4s cubic-bezier(.2,.8,.2,1) both}
.motion-enabled .about-symbol>svg{transition:transform .65s cubic-bezier(.2,.8,.2,1),filter .65s}
.motion-enabled .about-symbol:hover>svg{transform:rotate(2deg) translateY(-8px);filter:drop-shadow(13px 15px 0 #405c2b)}
.motion-enabled .closing-bolt{transition:transform .8s cubic-bezier(.2,.8,.2,1)}
.motion-enabled .closing:hover .closing-bolt{transform:rotate(8deg) translateY(-10px)}
.motion-enabled dialog[open]{animation:dialog-appear .3s cubic-bezier(.2,.8,.2,1)}
.motion-enabled dialog[open]::backdrop{animation:backdrop-appear .25s ease}
.motion-toggle{display:inline-flex;align-items:center;gap:7px;border:1px solid #3a3a3a;border-radius:20px;background:#202020;color:#9c9c9c;padding:7px 10px;font-size:8px;white-space:nowrap;transition:color .2s,border-color .2s}
.motion-toggle:hover{border-color:#748962;color:var(--lime)}
.motion-toggle:before{content:'';height:4px;width:4px;border-radius:50%;background:#727272}
.motion-toggle[aria-pressed="true"]:before{background:var(--lime)}
.motion-suspended *,.motion-suspended *:before,.motion-suspended *:after{animation-play-state:paused!important}
.motion-disabled{scroll-behavior:auto}
.motion-disabled *,.motion-disabled *:before,.motion-disabled *:after{animation:none!important;transition:none!important}
@media(hover:hover) and (pointer:fine) and (min-width:901px){.motion-enabled .hero-visual .editor{transform:rotateY(calc(-5deg + var(--tilt-x,0deg))) rotateX(calc(3deg + var(--tilt-y,0deg))) rotateZ(-1deg);transition:transform .65s cubic-bezier(.2,.8,.2,1)}.motion-enabled .hero-visual .scene>svg{transform:translate(var(--scene-x,0px),var(--scene-y,0px)) scale(1.025);transition:transform .8s cubic-bezier(.2,.8,.2,1)}}
@media(max-width:600px){.motion-toggle{font-size:7px;padding:7px 9px}.footer-bottom .motion-toggle{margin-top:2px}.motion-enabled .tool-card:hover{transform:none}}
@media(prefers-reduced-motion:reduce){.motion-enabled .scroll-progress{transition:none}html{scroll-behavior:auto}}
@keyframes float-top{0%,100%{transform:translateY(0) rotate(3deg)}50%{transform:translateY(-8px) rotate(1deg)}}
@keyframes float-bottom{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(7px) rotate(-1deg)}}
@keyframes ambient-glow{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes hero-playhead{0%{left:5%}92%{left:96%;opacity:1}96%{left:96%;opacity:0}97%{left:5%;opacity:0}100%{left:5%;opacity:1}}
@keyframes status-pulse{0%{box-shadow:0 0 0 0 #a8f56b33}80%,100%{box-shadow:0 0 0 7px #a8f56b00}}
@keyframes spark-intro{0%{opacity:0;transform:rotate(-15deg) scale(.65)}65%{opacity:1;transform:rotate(18deg) scale(1.1)}100%{opacity:1;transform:rotate(12deg) scale(1)}}
@keyframes button-sheen{0%{left:-65%;opacity:1}100%{left:140%;opacity:0}}
@keyframes dialog-appear{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@keyframes backdrop-appear{from{opacity:0}to{opacity:1}}
