@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(-100% - 16px))}}@keyframes marquee-vertical{0%{transform:translateY(0)}to{transform:translateY(calc(-100% - 16px))}}.animate-marquee{animation:marquee var(--marquee-duration,40s)linear infinite}.animate-marquee-vertical{animation:marquee-vertical var(--marquee-duration,40s)linear infinite}@keyframes gradient-text{0%,to{background-position:0%}50%{background-position:100%}}.animate-gradient-text{background-size:200% 200%;animation:4s infinite gradient-text}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px #3b82f64d}50%{box-shadow:0 0 40px #3b82f699,0 0 60px #3b82f64d}}.animate-pulse-glow{animation:3s ease-in-out infinite pulse-glow}@keyframes float-smooth{0%,to{transform:translateY(0)rotate(0)}25%{transform:translateY(-10px)rotate(1deg)}50%{transform:translateY(-5px)rotate(0)}75%{transform:translateY(-15px)rotate(-1deg)}}.animate-float-smooth{animation:6s ease-in-out infinite float-smooth}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.animate-shimmer{background:linear-gradient(90deg,#0000 0%,#ffffff1a 50%,#0000 100%) 0 0/200% 100%;animation:2s infinite shimmer}@keyframes calendar-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.9;transform:scale(1.1)}}@keyframes calendar-glow{0%,to{box-shadow:0 0 5px}50%{box-shadow:0 0 20px,0 0 30px}}.calendar-day-animated{animation:4s ease-in-out infinite calendar-pulse}@keyframes fade-in-up{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.8s ease-out fade-in-up}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.float-animation{animation:10s ease-in-out infinite float}@keyframes gradient-shift{0%,to{background-position:0%}50%{background-position:100%}}.animated-gradient{background-size:200% 200%;animation:4s infinite gradient-shift}@keyframes gentle-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rotate-animation{animation:10s linear infinite gentle-rotate}.button-glow:hover{transition:box-shadow .3s;box-shadow:0 0 20px #3b82f680}@keyframes typewriter{0%{width:0}to{width:100%}}.typewriter{white-space:nowrap;animation:3s steps(40,end) 1s forwards typewriter;overflow:hidden}.animated-border:before{content:"";-webkit-mask-composite:xor;opacity:0;background:linear-gradient(90deg,#3b82f600,#3b82f659,#3b82f600);border-radius:1rem;padding:1px;transition:opacity .3s;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}.animated-border:hover:before,.animated-border:focus-visible:before{opacity:1}.animated-border:after{content:"";pointer-events:none;background:radial-gradient(circle at 30% 20%,#3b82f647,#0000 40%);width:200%;height:200%;transition:transform .6s;position:absolute;top:-50%;left:-50%;transform:translate(-100%)rotate(15deg)}.dark .animated-border:after{background:radial-gradient(circle at 30% 20%,#ffffff59,#0000 40%)}.animated-border:hover:after{transform:translate(0)rotate(15deg)}.bento-card{transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.bento-card:before{content:"";opacity:0;background:linear-gradient(135deg,#3b82f60d 0%,#0000 50%,#6366f10d 100%);transition:opacity .4s;position:absolute;inset:0}.bento-card:hover:before{opacity:1}.bento-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px -12px #00000026}.dark .bento-card:hover{box-shadow:0 20px 40px -12px #0006}.glass{-webkit-backdrop-filter:blur(10px);background:#ffffffb3;border:1px solid #ffffff4d}.dark .glass{background:#111827b3;border:1px solid #ffffff1a}.gradient-border{background:linear-gradient(var(--background),var(--background))padding-box,linear-gradient(135deg,#3b82f6,#8b5cf6,#ec4899)border-box;border:2px solid #0000;border-radius:1rem;position:relative}.spotlight-card{position:relative;overflow:hidden}.spotlight-card:after{content:"";pointer-events:none;opacity:0;background:radial-gradient(circle,#3b82f626 0%,#0000 70%);width:200px;height:200px;transition:opacity .3s;position:absolute;transform:translate(-50%,-50%)}.spotlight-card:hover:after{opacity:1}.text-gradient{background:linear-gradient(135deg,#3b82f6,#8b5cf6);color:#0000;-webkit-background-clip:text;background-clip:text}.animated-underline{position:relative}.animated-underline:after{content:"";background:linear-gradient(90deg,#3b82f6,#8b5cf6);width:0;height:2px;transition:width .3s;position:absolute;bottom:-2px;left:0}.animated-underline:hover:after{width:100%}.stagger-1{animation-delay:.1s}.stagger-2{animation-delay:.2s}.stagger-3{animation-delay:.3s}.stagger-4{animation-delay:.4s}.stagger-5{animation-delay:.5s}@keyframes blob{0%,to{transform:translate(0)scale(1)}25%{transform:translate(20px,-30px)scale(1.1)}50%{transform:translate(-20px,20px)scale(.9)}75%{transform:translate(30px,10px)scale(1.05)}}.animate-blob{animation:10s ease-in-out infinite blob}.animation-delay-2000{animation-delay:2s}.animation-delay-4000{animation-delay:4s}
