@font-face{font-family:Clash Grotesk;src:url(/fonts/ClashGrotesk/ClashGrotesk-Extralight.otf) format("opentype");font-weight:200;font-style:normal;font-display:swap}@font-face{font-family:Clash Grotesk;src:url(/fonts/ClashGrotesk/ClashGrotesk-Light.otf) format("opentype");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Clash Grotesk;src:url(/fonts/ClashGrotesk/ClashGrotesk-Regular.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Clash Grotesk;src:url(/fonts/ClashGrotesk/ClashGrotesk-Medium.otf) format("opentype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Clash Grotesk;src:url(/fonts/ClashGrotesk/ClashGrotesk-Semibold.otf) format("opentype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Clash Grotesk;src:url(/fonts/ClashGrotesk/ClashGrotesk-Bold.otf) format("opentype");font-weight:700;font-style:normal;font-display:swap}*{margin:0;padding:0;box-sizing:border-box}html{font-family:Clash Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;transition:background-color .3s ease,color .3s ease}#root{min-height:100vh;display:flex;flex-direction:column}[data-theme=light] body{background-color:#fff;color:#222}[data-theme=dark] body{background-color:#0b0b0b;color:#f2f2f2}a{text-decoration:none;color:inherit;transition:opacity .2s ease}a:hover{opacity:.8}button{font-family:inherit;border:none;cursor:pointer;transition:all .2s ease}button:hover{opacity:.9}img{max-width:100%;height:auto}@media (max-width: 768px){html{font-size:14px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in{animation:fadeIn .5s ease-out}.animate-fade-in-up{animation:fadeInUp .6s ease-out}.animate-fade-in-down{animation:fadeInDown .6s ease-out}.animate-scale-in{animation:scaleIn .3s ease-out}.animate-slide-in-left{animation:slideInLeft .5s ease-out}.animate-slide-in-right{animation:slideInRight .5s ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.hover-scale{transition:transform .3s ease}.hover-scale:hover{transform:scale(1.05)}.hover-lift{transition:transform .3s ease,box-shadow .3s ease}.hover-lift:hover{transform:translateY(-4px);box-shadow:0 12px 24px #00000026}.gradient-text{background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-size:200% 200%;animation:gradientShift 3s ease infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes floatUp{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes floatDown{0%,to{transform:translateY(0)}50%{transform:translateY(20px)}}@keyframes rotateGradient{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes shimmerSlide{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes glowPulse{0%,to{box-shadow:0 0 20px #5cc8ff4d}50%{box-shadow:0 0 40px #5cc8ff99,0 0 60px #5cc8ff66}}@keyframes bounceIn{0%{opacity:0;transform:scale(.3)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.9)}to{transform:scale(1)}}@keyframes slideInFromLeft{0%{opacity:0;transform:translate(-100px)}to{opacity:1;transform:translate(0)}}@keyframes slideInFromRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes ripple{0%{transform:scale(0);opacity:1}to{transform:scale(2);opacity:0}}.animate-float-up{animation:floatUp 3s ease-in-out infinite}.animate-float-down{animation:floatDown 3s ease-in-out infinite}.animate-rotate-gradient{background-size:200% 200%;animation:rotateGradient 5s ease infinite}.animate-shimmer{position:relative;overflow:hidden}.animate-shimmer:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);animation:shimmerSlide 2s infinite}.animate-glow-pulse{animation:glowPulse 2s ease-in-out infinite}.animate-bounce-in{animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}.animate-slide-in-left{animation:slideInFromLeft .5s ease-out}.animate-slide-in-right{animation:slideInFromRight .5s ease-out}.animate-zoom-in{animation:zoomIn .5s ease-out}.button-ripple{position:relative;overflow:hidden}.button-ripple:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff4d;transform:translate(-50%,-50%);transition:width .6s,height .6s}.button-ripple:active:before{width:300px;height:300px}.button-glow{transition:all .3s ease;position:relative}.button-glow:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;opacity:0;box-shadow:0 0 30px currentColor;transition:opacity .3s ease;pointer-events:none}.button-glow:hover:after{opacity:.5}.button-shine{position:relative;overflow:hidden}.button-shine:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.button-shine:hover:before{left:100%}.hover-grow{transition:transform .3s ease}.hover-grow:hover{transform:scale(1.1)}.hover-glow{transition:all .3s ease}.hover-glow:hover{filter:drop-shadow(0 0 20px currentColor)}.hover-tilt{transition:transform .3s ease}.hover-tilt:hover{transform:perspective(1000px) rotateX(5deg) rotateY(-5deg)}.hover-float{transition:transform .3s ease}.hover-float:hover{transform:translateY(-8px)}.hover-rotate{transition:transform .3s ease}.hover-rotate:hover{transform:rotate(5deg)}.gradient-text-animated{background:linear-gradient(90deg,#5cc8ff,#cb9cf2,#aef78e,#cb9cf2,#5cc8ff);background-size:200% auto;background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;animation:rotateGradient 3s linear infinite}.bg-gradient-animated{background:linear-gradient(-45deg,#5cc8ff,#cb9cf2,#aef78e,#5cc8ff);background-size:400% 400%;animation:rotateGradient 15s ease infinite}.stagger-children>*{opacity:0;animation:fadeInUp .6s ease-out forwards}.stagger-children>*:nth-child(1){animation-delay:.1s}.stagger-children>*:nth-child(2){animation-delay:.2s}.stagger-children>*:nth-child(3){animation-delay:.3s}.stagger-children>*:nth-child(4){animation-delay:.4s}.stagger-children>*:nth-child(5){animation-delay:.5s}.stagger-children>*:nth-child(6){animation-delay:.6s}.reveal{opacity:0;transform:translateY(50px);transition:opacity .6s ease-out,transform .6s ease-out}.reveal.active{opacity:1;transform:translateY(0)}@keyframes skeletonLoading{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,#ffffff1a 25%,#fff3,#ffffff1a 75%);background-size:200% 100%;animation:skeletonLoading 1.5s ease-in-out infinite}@keyframes particleFloat{0%{transform:translateY(0) translate(0);opacity:0}10%{opacity:1}90%{opacity:1}to{transform:translateY(-100vh) translate(100px);opacity:0}}.particle{position:absolute;border-radius:50%;pointer-events:none;animation:particleFloat 15s linear infinite}.scroll-progress{position:fixed;top:0;left:0;height:3px;background:linear-gradient(90deg,#5cc8ff,#cb9cf2);transform-origin:left;z-index:9999}.card-3d{transform-style:preserve-3d;transition:transform .3s ease}.card-3d:hover{transform:perspective(1000px) rotateX(var(--rotate-x, 0deg)) rotateY(var(--rotate-y, 0deg))}@keyframes textReveal{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}.text-reveal{animation:textReveal .8s cubic-bezier(.77,0,.175,1) forwards}@keyframes morphBorder{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}.morph-border{animation:morphBorder 8s ease-in-out infinite}
