.orb{position:absolute;border-radius:50%;filter:blur(60px);pointer-events:none;opacity:.6}.orb-primary{background:radial-gradient(circle,hsl(271 91% 65%/.4) 0,transparent 70%)}.orb-accent{background:radial-gradient(circle,hsl(187 85% 53%/.3) 0,transparent 70%)}.orb-sm{width:200px;height:200px}.orb-md{width:400px;height:400px}.orb-lg{width:600px;height:600px}.orb-xl{width:800px;height:800px}.light .orb-primary{background:radial-gradient(circle,hsl(271 81% 56%/.15) 0,transparent 70%)}.light .orb-accent{background:radial-gradient(circle,hsl(187 85% 43%/.12) 0,transparent 70%)}.card-gradient-border{position:relative;background:hsl(var(--card));border-radius:var(--radius-lg);overflow:hidden}.card-gradient-border:before{content:"";position:absolute;inset:0;padding:1px;border-radius:inherit;background:linear-gradient(135deg,hsl(var(--primary)/.6) 0,hsl(var(--accent)/.4) 50%,hsl(var(--primary)/.2) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.card-gradient-border-animated:before{background:linear-gradient(var(--gradient-angle,135deg),hsl(var(--primary)/.6) 0,hsl(var(--accent)/.4) 50%,hsl(var(--primary)/.2) 100%);animation:gradient-rotate 4s linear infinite}@keyframes gradient-rotate{0%{--gradient-angle:0deg}to{--gradient-angle:360deg}}@property --gradient-angle{syntax:"<angle>";initial-value:135deg;inherits:false}.card-spotlight{position:relative;overflow:hidden}.card-spotlight:after{content:"";position:absolute;top:var(--mouse-y,50%);left:var(--mouse-x,50%);width:300px;height:300px;background:radial-gradient(circle,hsl(var(--primary)/.15) 0,transparent 70%);transform:translate(-50%,-50%);opacity:0;transition:opacity .3s ease;pointer-events:none}.card-spotlight:hover:after{opacity:1}.btn-shine{position:relative;overflow:hidden}.btn-shine:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s ease}.btn-shine:hover:before{left:100%}.btn-ripple{position:relative;overflow:hidden}.btn-ripple:after{content:"";position:absolute;width:100%;height:100%;top:0;left:0;pointer-events:none;background-image:radial-gradient(circle,hsl(var(--primary-foreground)/.3) 10%,transparent 10%);background-repeat:no-repeat;background-position:50%;transform:scale(10);opacity:0;transition:transform .5s,opacity .5s}.btn-ripple:active:after{transform:scale(0);opacity:.3;transition:0s}.btn-magnetic{transition:transform .2s ease-out}.text-gradient-animated{background:linear-gradient(90deg,hsl(var(--primary)),hsl(var(--accent)),hsl(var(--primary)));background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:text-gradient-shift 3s linear infinite}@keyframes text-gradient-shift{0%{background-position:0}to{background-position:200%}}.text-typewriter{overflow:hidden;border-right:2px solid hsl(var(--primary));white-space:nowrap;animation:typewriter-cursor .7s step-end infinite}@keyframes typewriter-cursor{0%,to{border-color:transparent}50%{border-color:hsl(var(--primary))}}.text-highlight{position:relative;display:inline}.text-highlight:after{content:"";position:absolute;left:0;bottom:0;width:100%;height:30%;background:hsl(var(--primary)/.2);z-index:-1;transform:skewX(-5deg)}.icon-glow-container{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-lg);background:hsl(var(--primary)/.1)}.icon-glow-container:before{content:"";position:absolute;inset:-2px;border-radius:inherit;background:linear-gradient(135deg,hsl(var(--primary)/.3),transparent);z-index:-1;opacity:0;transition:opacity .3s ease}.icon-glow-container:hover:before{opacity:1}.icon-glow-container svg{color:hsl(var(--primary));transition:filter .3s ease}.icon-glow-container:hover svg{filter:drop-shadow(0 0 8px hsl(var(--primary)/.6))}.icon-rotate-hover{transition:transform .3s ease}.icon-rotate-hover:hover{transform:rotate(15deg)}.icon-bounce-hover{transition:transform .2s ease}.icon-bounce-hover:hover{animation:icon-bounce .5s ease}@keyframes icon-bounce{0%,to{transform:translateY(0)}25%{transform:translateY(-4px)}50%{transform:translateY(0)}75%{transform:translateY(-2px)}}.skeleton{position:relative;overflow:hidden;background:hsl(var(--muted));border-radius:var(--radius)}.skeleton:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,hsl(var(--muted-foreground)/.1),transparent);animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{transform:translateX(-100%)}to{transform:translateX(100%)}}.loader-pulse{width:12px;height:12px;border-radius:50%;background:hsl(var(--primary));animation:loader-pulse 1s ease-in-out infinite}@keyframes loader-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}}.loader-spin{width:24px;height:24px;border:2px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.loader-dots{display:flex;gap:4px}.loader-dots span{width:8px;height:8px;border-radius:50%;background:hsl(var(--primary));animation:loader-dots-bounce 1s ease-in-out infinite}.loader-dots span:nth-child(2){animation-delay:.1s}.loader-dots span:nth-child(3){animation-delay:.2s}@keyframes loader-dots-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.scroll-fade-in{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.scroll-fade-in.is-visible{opacity:1;transform:translateY(0)}.scroll-stagger>*{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.scroll-stagger.is-visible>:first-child{transition-delay:0s}.scroll-stagger.is-visible>:nth-child(2){transition-delay:.1s}.scroll-stagger.is-visible>:nth-child(3){transition-delay:.2s}.scroll-stagger.is-visible>:nth-child(4){transition-delay:.3s}.scroll-stagger.is-visible>:nth-child(5){transition-delay:.4s}.scroll-stagger.is-visible>:nth-child(6){transition-delay:.5s}.scroll-stagger.is-visible>*{opacity:1;transform:translateY(0)}.hover-border-glow{transition:border-color .3s ease,box-shadow .3s ease}.hover-border-glow:hover{border-color:hsl(var(--primary)/.5);box-shadow:0 0 20px hsl(var(--primary)/.15)}.hover-bg-fill{position:relative;overflow:hidden;z-index:1}.hover-bg-fill:before{content:"";position:absolute;inset:0;background:hsl(var(--primary)/.1);transform:scaleX(0);transform-origin:left;transition:transform .3s ease;z-index:-1}.hover-bg-fill:hover:before{transform:scaleX(1)}.hover-underline{position:relative}.hover-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:2px;background:hsl(var(--primary));transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.hover-underline:hover:after{transform:scaleX(1)}.focus-glow:focus-visible{outline:none;box-shadow:0 0 0 2px hsl(var(--background)),0 0 0 4px hsl(var(--primary)),0 0 20px hsl(var(--primary)/.3)}.focus-underline:focus-visible{outline:none;text-decoration:underline;text-decoration-color:hsl(var(--primary));text-underline-offset:4px}.panel-frosted{background:rgba(255,255,255,.02);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border:1px solid rgba(255,255,255,.05);box-shadow:0 8px 32px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.05)}.light .panel-frosted{background:rgba(255,255,255,.7);border:1px solid rgba(0,0,0,.05);box-shadow:0 8px 32px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,.8)}.neon-border{box-shadow:0 0 5px hsl(var(--primary)),0 0 10px hsl(var(--primary)),inset 0 0 5px hsl(var(--primary)/.3)}.card-3d{transform-style:preserve-3d;transition:transform .3s ease}.card-3d:hover{transform:perspective(1000px) rotateX(2deg) rotateY(-2deg) translateZ(10px)}.parallax-layer{will-change:transform}.vignette-blur{position:relative}.vignette-blur:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 40%,hsl(var(--background)) 100%);pointer-events:none}