@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}@keyframes fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in-delay{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes glow-pulse{0%,to{box-shadow:0 0 20px var(--glow)}50%{box-shadow:0 0 40px var(--glow),0 0 60px var(--glow)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes slide-in-left{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes slide-in-right{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes scale-in{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes rotate-in{0%{opacity:0;transform:rotate(-10deg)scale(.9)}to{opacity:1;transform:rotate(0)scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes typewriter{0%{width:0}to{width:100%}}@keyframes cursor-blink{0%,to{border-right-color:var(--accent)}50%{border-right-color:#0000}}@keyframes ripple{0%{opacity:.6;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes orbit{0%{transform:rotate(0)translate(120px)rotate(0)}to{transform:rotate(360deg)translate(120px)rotate(-360deg)}}@keyframes dash{to{stroke-dashoffset:0}}@keyframes wave{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-5px)rotate(2deg)}75%{transform:translateY(5px)rotate(-2deg)}}@keyframes particle-float{0%{opacity:0;transform:translate(0)scale(1)}10%{opacity:1}90%{opacity:1}to{transform:translate(var(--tx),var(--ty)) scale(0);opacity:0}}@keyframes text-reveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0)}}@keyframes border-dance{0%{background-position:0 0}to{background-position:300% 0}}@keyframes magnet{0%{transform:translate(0)}to{transform:translate(var(--mx),var(--my))}}@keyframes streak{0%{opacity:0;transform:translate(-100%)}10%{opacity:1}90%{opacity:1}to{opacity:0;transform:translate(100vw)}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-40px)}to{opacity:1;transform:translateY(0)}}@keyframes zoom-in{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes flip-in{0%{opacity:0;transform:perspective(400px)rotateY(90deg)}to{opacity:1;transform:perspective(400px)rotateY(0)}}@keyframes jelly{0%,to{transform:scale(1)}25%{transform:scale(.9,1.1)}50%{transform:scale(1.1,.9)}75%{transform:scale(.95,1.05)}}.fade-in{animation:.8s ease-out fade-in}.fade-in-delay{animation:1s ease-out .2s both fade-in-delay}.scroll-fade{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(20px)}.scroll-fade.visible{opacity:1;transform:translateY(0)}.scroll-slide-left{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translate(-40px)}.scroll-slide-left.visible{opacity:1;transform:translate(0)}.scroll-slide-right{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:translate(40px)}.scroll-slide-right.visible{opacity:1;transform:translate(0)}.scroll-scale{opacity:0;transition:opacity .6s ease-out,transform .6s ease-out;transform:scale(.9)}.scroll-scale.visible{opacity:1;transform:scale(1)}.cursor-glow{background:radial-gradient(circle,var(--glow) 0%,transparent 70%);pointer-events:none;z-index:0;opacity:0;border-radius:50%;width:400px;height:400px;transition:opacity .3s;position:fixed;transform:translate(-50%,-50%)}.cursor-glow.active{opacity:1}@media (prefers-reduced-motion:reduce){.cursor-glow{display:none}}.bg-gradient{z-index:-1;background:linear-gradient(135deg,var(--bg) 0%,color-mix(in srgb,var(--accent) 5%,var(--bg)) 50%,var(--bg) 100%);pointer-events:none;background-size:400% 400%;animation:15s infinite gradient-shift;position:fixed;inset:0}.particles{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.particle{background:var(--accent);opacity:0;border-radius:50%;width:4px;height:4px;animation:linear infinite particle-float;position:absolute}.streaks{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.streak{background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:.3;height:1px;animation:linear infinite streak;position:absolute}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}header{transition:all .3s}header.scrolled{background:color-mix(in srgb, var(--bg) 85%, transparent);-webkit-backdrop-filter:blur(12px);border-bottom-color:#0000;box-shadow:0 2px 20px #0000000d}.logo{transition:transform .3s}.logo:hover{transform:scale(1.05)}.logo img{transition:filter .3s}.logo:hover img{filter:brightness(1.2)}nav a{transition:color .2s;position:relative}nav a:after{content:"";background:var(--accent);width:0;height:2px;transition:width .3s;position:absolute;bottom:-4px;left:0}nav a:hover:after{width:100%}.nav-cta{transition:all .3s;position:relative;overflow:hidden}.nav-cta:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.nav-cta:hover:before{width:300px;height:300px}.nav-cta:hover{box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-2px)}.version-tag{transition:all .3s}.version-tag:hover{border-color:var(--accent);color:var(--accent);transform:scale(1.1)}.icon-button{transition:transform .3s}.icon-button:hover{transform:rotate(180deg)scale(1.1)}.theme-icon{transition:filter .3s}.icon-button:hover .theme-icon{filter:drop-shadow(0 0 8px var(--accent))}.menu-toggle,.menu-toggle span{transition:all .3s}.menu-toggle.active span:first-child{transform:rotate(45deg)translate(5px,5px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(7px,-6px)}@media (width<=720px){nav{background:var(--surface);border-bottom:1px solid var(--line);opacity:0;pointer-events:none;flex-direction:column;gap:16px;padding:20px;transition:transform .3s,opacity .3s;position:fixed;top:64px;left:0;right:0;transform:translateY(-100%)}nav.open{opacity:1;pointer-events:all;transform:translateY(0)}nav a{animation:.3s ease-out backwards slide-in-left}nav.open a:first-child{animation-delay:50ms}nav.open a:nth-child(2){animation-delay:.1s}nav.open a:nth-child(3){animation-delay:.15s}nav.open a:nth-child(4){animation-delay:.2s}nav.open a:nth-child(5){animation-delay:.25s}}.hero h1{animation:.8s ease-out slide-up}.hero h1 em{border-radius:4px;padding:0 8px;animation:3s ease-in-out infinite glow-pulse;display:inline-block}.hero .intro{animation:1s ease-out .3s backwards fade-in}.hero .actions{animation:1s ease-out .5s backwards fade-in}.hero .button{transition:all .3s;position:relative;overflow:hidden}.hero .button:before{content:"";background:#ffffff4d;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.hero .button:hover:before{width:300px;height:300px}.hero .button:hover{box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 40%, transparent);transform:translateY(-3px)}.text-link{transition:color .2s;position:relative}.text-link:after{content:"";background:var(--accent);width:0;height:1px;transition:width .3s;position:absolute;bottom:-2px;left:0}.text-link:hover:after{width:100%}.text-link:hover{color:var(--accent)}.app-screenshot{transition:transform .3s,box-shadow .3s;animation:6s ease-in-out infinite float,.8s ease-out .4s backwards zoom-in}.app-screenshot:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 30px 80px #0003}.hero-visual{perspective:1000px}.hero .eyebrow{letter-spacing:.2em;animation:.8s ease-out backwards fade-in}@media (width<=720px){.hero h1{font-size:clamp(40px,10vw,64px)}.app-screenshot{animation:.8s ease-out .4s backwards fade-in}}.feature-grid{perspective:1000px}.feature{transition:box-shadow .4s,border-color .4s;position:relative;overflow:hidden}.feature.tilt{transform-style:preserve-3d;will-change:transform}.feature:hover{box-shadow:0 12px 32px color-mix(in srgb, var(--accent) 15%, transparent);border-color:var(--accent);transform:translateY(-8px)scale(1.02)}.feature:before{content:"";background:radial-gradient(circle at var(--mouse-x,50%) var(--mouse-y,50%), color-mix(in srgb, var(--accent) 10%, transparent), transparent 50%);opacity:0;pointer-events:none;transition:opacity .3s;position:absolute;inset:0}.feature:hover:before{opacity:1}.feature-icon{transition:all .4s}.feature:hover .feature-icon{filter:drop-shadow(0 0 12px var(--accent));transform:scale(1.2)rotate(10deg)}.feature-svg{transition:all .4s}.feature:hover .feature-svg{animation:1s ease-in-out wave}.feature h3{transition:color .3s}.feature:hover h3{color:var(--accent)}.feature p{transition:color .3s}.feature:hover p{color:var(--text)}.feature:first-child{transition-delay:0s}.feature:nth-child(2){transition-delay:.1s}.feature:nth-child(3){transition-delay:.2s}.feature:nth-child(4){transition-delay:.3s}.feature.tilt{transform-style:preserve-3d}.feature.tilt:hover{transform:perspective(1000px) rotateX(var(--rotate-x,0deg)) rotateY(var(--rotate-y,0deg)) translateY(-8px)}@media (width<=720px){.feature:hover{transform:translateY(-4px)}}.section-title{position:relative}.section-title span{animation:.6s ease-out slide-in-left;display:inline-block}.section-title h2{animation:.8s ease-out .2s backwards slide-up}.download-card{transition:all .3s;position:relative;overflow:hidden}.download-card:before{content:"";background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 5%, transparent), transparent);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.download-card:hover:before{left:100%}.download-card:hover{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 12px 32px #0000001a}.download-info b{transition:color .3s}.download-card:hover .download-info b{color:var(--accent)}.download-actions .button{transition:all .3s}.download-actions .button:hover{box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 40%, transparent);transform:scale(1.05)}.minor-link{transition:all .3s;display:inline-block}.minor-link:hover{color:var(--accent);transform:translate(4px)}.steps{counter-reset:step-counter}.steps li{transition:all .3s;position:relative}.steps li:hover{transform:translateY(-4px)}.steps li:before{content:"";background:var(--accent);transform-origin:0;width:100%;height:3px;transition:transform .4s;position:absolute;top:0;left:0;transform:scaleX(0)}.steps li:hover:before{transform:scaleX(1)}.steps span{transition:all .3s;display:inline-block}.steps li:hover span{text-shadow:0 0 12px var(--accent);transform:scale(1.2)}.steps p{transition:color .3s}.steps li:hover p{color:var(--text)}.link-grid .button{transition:all .3s}.link-grid .button:hover{border-color:var(--accent);box-shadow:0 8px 24px color-mix(in srgb, var(--accent) 20%, transparent);transform:translateY(-4px)scale(1.02)}.about{position:relative}.about:before{content:"";background:radial-gradient(circle, var(--glow), transparent 70%);opacity:0;pointer-events:none;width:200px;height:200px;transition:opacity .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about:hover:before{opacity:1}.about p{transition:color .3s}.about:hover p{color:var(--text)}footer,footer a{transition:all .3s}footer a:hover{color:var(--accent);transform:translate(4px)}.button{transition:all .3s;position:relative;overflow:hidden}.button:after{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.button:active:after{width:300px;height:300px}.button:hover{box-shadow:0 6px 20px color-mix(in srgb, var(--accent) 30%, transparent);transform:translateY(-2px)}.button.outline:hover{background:color-mix(in srgb, var(--accent) 10%, transparent)}input,textarea{transition:all .3s}input:focus,textarea:focus{box-shadow:0 4px 12px color-mix(in srgb, var(--accent) 15%, transparent);transform:translateY(-2px)}.form-result{animation:.6s ease-out bounce-in}
