:root{--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1)}.haptic-btn{position:relative;overflow:hidden}.haptic-btn:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--x, 50%) var(--y, 50%),rgba(255,255,255,.3),transparent 60%);opacity:0;transition:opacity .2s}.haptic-btn:hover:after{opacity:1}.haptic-btn:active{animation:haptic-press .15s var(--ease-out-quint)}@keyframes haptic-press{0%{transform:scale(1)}50%{transform:scale(.96)}to{transform:scale(1)}}.card-3d{transition:transform .3s var(--ease-out-quart),box-shadow .3s var(--ease-out-quart)}.card-3d:hover{transform:translateY(-4px);box-shadow:0 20px 40px -12px #0000004d}.icon-bounce{transition:transform .3s var(--ease-out-quart)}.icon-bounce:hover{animation:icon-jump .4s var(--ease-out-quart)}@keyframes icon-jump{0%,to{transform:translateY(0)}40%{transform:translateY(-6px)}60%{transform:translateY(-3px)}}.link-underline{position:relative}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:currentColor;transition:width .3s var(--ease-out-quart)}.link-underline:hover:after{width:100%}.pro-badge{animation:pro-glow 2s ease-in-out infinite}@keyframes pro-glow{0%,to{box-shadow:0 0 #f59e0b00}50%{box-shadow:0 0 12px #f59e0b66}}.tool-waveform-bar{transform-origin:bottom;animation:tool-bar-pulse var(--bar-speed, .6s) ease-in-out infinite;animation-delay:var(--bar-delay, 0s)}@keyframes tool-bar-pulse{0%,to{transform:scaleY(1)}50%{transform:scaleY(var(--bar-scale, 1.3))}}.bento-card{opacity:0;transform:translateY(20px);animation:bento-enter .6s var(--ease-out-quint) forwards;animation-delay:var(--enter-delay, 0s)}@keyframes bento-enter{to{opacity:1;transform:translateY(0)}}.typewriter{overflow:hidden;white-space:nowrap;animation:typing 3s steps(40) infinite}@keyframes typing{0%,90%,to{width:0}30%,60%{width:100%}}.terminal-cursor{animation:cursor-blink 1s step-end infinite}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.circuit-flow{stroke-dasharray:8 4;animation:circuit-current 1.5s linear infinite}@keyframes circuit-current{to{stroke-dashoffset:-24}}.chip-pulse{animation:chip-glow 2s ease-in-out infinite}@keyframes chip-glow{0%,to{filter:drop-shadow(0 0 2px rgba(88,245,209,.3))}50%{filter:drop-shadow(0 0 8px rgba(88,245,209,.6))}}.data-particle{animation:particle-flow 1.5s linear infinite}@keyframes particle-flow{0%{transform:translate(0);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(var(--flow-distance, 60px));opacity:0}}.ota-progress{animation:ota-fill 4s ease-in-out infinite}@keyframes ota-fill{0%{width:0%}50%{width:78%}70%{width:92%}85%,to{width:100%}}.ota-progress-shimmer{position:relative;overflow:hidden}.ota-progress-shimmer:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{to{left:100%}}.lra-vibrate{animation:micro-vibrate .1s linear infinite paused}.lra-vibrate:hover{animation-play-state:running}@keyframes micro-vibrate{0%,to{transform:translate(0)}25%{transform:translate(-1px)}75%{transform:translate(1px)}}.connection-pulse{animation:line-pulse 2s ease-in-out infinite}@keyframes line-pulse{0%,to{opacity:.4}50%{opacity:1}}.led-blink{animation:led-flash 1.5s ease-in-out infinite}@keyframes led-flash{0%,to{opacity:.4}50%{opacity:1}}.led-blink-slow{animation:led-flash-slow 3s ease-in-out infinite}@keyframes led-flash-slow{0%,to{opacity:.3}50%{opacity:.9}}.lra-pulse{animation:lra-beat 2s ease-in-out infinite}@keyframes lra-beat{0%,to{opacity:.4;r:1.5}50%{opacity:.9;r:2}}.editor-playhead{animation:playhead-move 4s linear infinite}@keyframes playhead-move{0%{left:0%}to{left:95%}}.editor-bar{transform-origin:bottom;animation:editor-bar-pulse .8s ease-in-out infinite;animation-delay:var(--bar-delay, 0s)}@keyframes editor-bar-pulse{0%,to{transform:scaleY(1);opacity:.8}50%{transform:scaleY(.7);opacity:1}}.editor-bar-bass{animation:bass-pulse 1.2s ease-in-out infinite;animation-delay:var(--bar-delay, 0s)}@keyframes bass-pulse{0%,to{opacity:.5;transform:scaleY(1)}50%{opacity:.9;transform:scaleY(1.1)}}.editor-continuous{animation:continuous-breathe 2s ease-in-out infinite}@keyframes continuous-breathe{0%,to{opacity:.5}50%{opacity:.8}}.editor-timecode{animation:timecode-blink 1s step-end infinite}@keyframes timecode-blink{0%,90%{opacity:1}45%,55%{opacity:.5}}.editor-track{transition:border-color .3s var(--ease-out-quart),background-color .3s var(--ease-out-quart)}.editor-track:hover{border-color:#58f5d14d;background-color:#58f5d10d}.hero-title{opacity:0;transform:translateY(30px);animation:hero-fade-up .8s var(--ease-out-quint) forwards}.hero-title-delay-1{animation-delay:.1s}.hero-title-delay-2{animation-delay:.2s}.hero-title-delay-3{animation-delay:.35s}.hero-title-delay-4{animation-delay:.5s}@keyframes hero-fade-up{to{opacity:1;transform:translateY(0)}}.pulse-text{animation:pulse-glow 2.5s ease-in-out infinite}@keyframes pulse-glow{0%,to{filter:drop-shadow(0 0 8px rgba(88,245,209,.4))}50%{filter:drop-shadow(0 0 25px rgba(88,245,209,.8)) drop-shadow(0 0 50px rgba(88,245,209,.4))}}.fade-up{opacity:0;transform:translateY(20px);animation:fade-up-enter .6s var(--ease-out-quint) forwards;animation-delay:var(--delay, 0s)}@keyframes fade-up-enter{to{opacity:1;transform:translateY(0)}}.fade-in{opacity:0;animation:fade-in-enter .5s var(--ease-out-quart) forwards;animation-delay:var(--delay, 0s)}@keyframes fade-in-enter{to{opacity:1}}.nav-logo{position:relative;transition:filter .3s var(--ease-out-quart)}.nav-logo:after{content:"";position:absolute;inset:-4px;border-radius:6px;background:radial-gradient(ellipse at center,rgba(0,229,255,.15),transparent 70%);opacity:0;animation:logo-pulse 3s ease-in-out infinite;pointer-events:none}@keyframes logo-pulse{0%,to{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1.05)}}.nav-logo:hover{animation:logo-vibrate .08s linear 3}@keyframes logo-vibrate{0%,to{transform:translate(0)}25%{transform:translate(-.5px)}75%{transform:translate(.5px)}}.nav-circuit{position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(0,229,255,.1) 20%,rgba(0,229,255,.1) 80%,transparent);overflow:hidden}.nav-circuit:before{content:"";position:absolute;top:0;left:-100%;width:60px;height:100%;background:linear-gradient(90deg,transparent,rgba(0,229,255,.8),rgba(88,245,209,.8),transparent);animation:circuit-flow-nav 3s linear infinite}@keyframes circuit-flow-nav{0%{left:-60px}to{left:100%}}.nav-link{position:relative;overflow:visible}.nav-link:before{content:"";position:absolute;bottom:-4px;left:50%;width:0;height:2px;background:linear-gradient(90deg,#00e5ff00,#00e5ff,#00e5ff00);transform:translate(-50%);transition:width .3s var(--ease-out-quint);border-radius:1px}.nav-link:hover:before{width:120%;animation:energy-gather .4s var(--ease-out-quint)}@keyframes energy-gather{0%{width:0;filter:blur(4px)}50%{filter:blur(2px)}to{width:120%;filter:blur(0)}}.nav-link:after{content:"";position:absolute;bottom:-4px;left:50%;width:4px;height:4px;background:#00e5ffcc;border-radius:50%;transform:translate(-50%) scale(0);opacity:0}.nav-link:hover:after{animation:link-ripple .6s var(--ease-out-quint)}@keyframes link-ripple{0%{transform:translate(-50%) scale(0);opacity:1}to{transform:translate(-50%) scale(8);opacity:0}}.nav-link-active:before{width:100%!important;animation:active-pulse 2s ease-in-out infinite}@keyframes active-pulse{0%,to{opacity:.6;filter:blur(0)}50%{opacity:1;filter:blur(1px)}}.nav-cta{position:relative;overflow:hidden}.nav-cta:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;background:radial-gradient(circle,rgba(255,255,255,.3),transparent 70%);border-radius:50%;transform:translate(-50%,-50%);transition:width .4s,height .4s}.nav-cta:active:before{width:300%;height:300%}.nav-cta:active{animation:cta-vibrate .1s linear 2}@keyframes cta-vibrate{0%,to{transform:translate(0) scale(.98)}25%{transform:translate(-1px) scale(.98)}75%{transform:translate(1px) scale(.98)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
