:root{--background:210 50% 98%;--foreground:222 47% 11%;--card:0 0% 100%;--card-foreground:222 47% 11%;--popover:0 0% 100%;--popover-foreground:222 47% 11%;--primary:221 83% 53%;--primary-foreground:210 40% 98%;--secondary:210 40% 96.1%;--secondary-foreground:222 47% 11%;--muted:210 40% 96.1%;--muted-foreground:215 16% 47%;--accent:210 40% 96.1%;--accent-foreground:222 47% 11%;--destructive:0 84.2% 60.2%;--destructive-foreground:210 40% 98%;--border:214 32% 91%;--input:214 32% 91%;--ring:221 83% 53%;--radius:.75rem;--brand-primary:#3b82f6;--brand-primary-hover:#2563eb;--brand-primary-light:#eff6ff;--brand-accent:#60a5fa;--brand-accent-hover:#3b82f6;--success:#10b981;--success-light:#d1fae5;--warning:#f59e0b;--warning-light:#fef3c7;--error:#ef4444;--error-light:#fee2e2;--info:#3b82f6;--info-light:#dbeafe;--shadow-sm:0 1px 2px 0 #3b82f60d;--shadow:0 1px 3px 0 #3b82f61a, 0 1px 2px 0 #3b82f60f;--shadow-md:0 4px 6px -1px #3b82f61a, 0 2px 4px -1px #3b82f60f;--shadow-lg:0 10px 15px -3px #3b82f61a, 0 4px 6px -2px #3b82f60d;--shadow-xl:0 20px 25px -5px #3b82f61a, 0 10px 10px -5px #3b82f60a;--shadow-2xl:0 25px 50px -12px #3b82f640;--shadow-purple:0 10px 40px -10px #8b5cf64d;--shadow-blue:0 10px 40px -10px #3b82f64d;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.2s cubic-bezier(.4, 0, .2, 1);--transition-slow:.3s cubic-bezier(.4, 0, .2, 1)}.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 6%;--card-foreground:0 0% 98%;--popover:240 10% 6%;--popover-foreground:0 0% 98%;--primary:263.4 70% 50.4%;--primary-foreground:210 40% 98%;--secondary:217.2 32.6% 17.5%;--secondary-foreground:210 40% 98%;--muted:217.2 32.6% 17.5%;--muted-foreground:215 20.2% 65.1%;--accent:217.2 32.6% 17.5%;--accent-foreground:210 40% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:210 40% 98%;--border:217.2 32.6% 17.5%;--input:217.2 32.6% 17.5%;--ring:263.4 70% 50.4%;--shadow-sm:0 1px 2px 0 #0000004d;--shadow:0 1px 3px 0 #0006, 0 1px 2px 0 #0000004d;--shadow-md:0 4px 6px -1px #0006, 0 2px 4px -1px #0000004d;--shadow-lg:0 10px 15px -3px #0006, 0 4px 6px -2px #0000004d;--shadow-xl:0 20px 25px -5px #00000080, 0 10px 10px -5px #0006;--shadow-2xl:0 25px 50px -12px #0009;--shadow-purple:0 10px 40px -10px #8b5cf666;--shadow-blue:0 10px 40px -10px #6366f666}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:hsl(var(--background));color:hsl(var(--foreground));min-height:100vh;transition:background-color var(--transition-base), color var(--transition-base);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}h1,h2,h3,h4,h5,h6{color:hsl(var(--foreground));margin-bottom:var(--spacing-md);font-weight:700;line-height:1.2}h1{letter-spacing:-.02em;font-size:clamp(1.5rem,3.5vw,2.25rem)}h2{letter-spacing:-.01em;font-size:clamp(1.25rem,3vw,1.75rem)}h3{font-size:clamp(1.1rem,2.5vw,1.375rem)}h4{font-size:clamp(1rem,2vw,1.125rem)}p{margin-bottom:var(--spacing-md);color:hsl(var(--muted-foreground))}a{color:hsl(var(--primary));transition:color var(--transition-fast);text-decoration:none}a:hover{color:hsl(var(--primary))}.container{width:100%;max-width:1280px;padding:0 var(--spacing-xl);margin:0 auto}.gradient-text{background:linear-gradient(135deg,#6366f1 0%,#8b5cf6 50%,#a855f7 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.dark .gradient-text{background:linear-gradient(135deg,#818cf8 0%,#a78bfa 50%,#c084fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.animate-fade-in{animation:fadeIn var(--transition-slow) ease-in}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out;opacity:1;animation-fill-mode:backwards}.animate-slide-up-lcp{opacity:1;visibility:visible;transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUpLCP{0%{transform:translateY(20px)}to{transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.skeleton{background:linear-gradient(90deg, hsl(var(--muted)) 0%, hsl(var(--border)) 50%, hsl(var(--muted)) 100%);border-radius:var(--radius-md);background-size:1000px 100%;animation:2s infinite shimmer}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);text-align:center;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);white-space:nowrap;border:none;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;line-height:1.5;display:inline-flex}.btn-primary{background:linear-gradient(135deg, hsl(var(--primary)) 0%, #7536e2 100%);color:hsl(var(--primary-foreground));box-shadow:var(--shadow-md), var(--shadow-purple);border:none}.btn-primary:hover{box-shadow:var(--shadow-lg), var(--shadow-purple);background:linear-gradient(135deg,#7536e2 0%,#6826d9 100%);transform:translateY(-2px)}.dark .btn-primary{box-shadow:var(--shadow-md), var(--shadow-purple);background:linear-gradient(135deg,#641ae6 0%,#5c1dc9 100%)}.dark .btn-primary:hover{box-shadow:var(--shadow-lg), var(--shadow-purple);background:linear-gradient(135deg,#5c1dc9 0%,#531fad 100%)}.btn-secondary{background:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border:2px solid hsl(var(--border))}.btn-secondary:hover{border-color:hsl(var(--primary));color:hsl(var(--primary))}.btn-ghost{color:hsl(var(--muted-foreground));background:0 0}.btn-ghost:hover{background:hsl(var(--muted))}.btn-sm{padding:.5rem 1rem;font-size:.875rem}.btn-lg{padding:1rem 2rem;font-size:1.125rem}.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.card{background:hsl(var(--card));border-radius:var(--radius-xl);padding:var(--spacing-xl);box-shadow:var(--shadow);transition:all var(--transition-base);border:1px solid hsl(var(--border));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.card:hover{box-shadow:var(--shadow-lg);border-color:hsl(var(--primary) / .3);transform:translateY(-2px)}.dark .card{background:hsl(var(--card) / .8);border-color:hsl(var(--border) / .5)}.dark .card:hover{border-color:hsl(var(--primary) / .5);box-shadow:var(--shadow-lg), var(--shadow-purple)}.badge{border-radius:var(--radius-full);transition:all var(--transition-fast);align-items:center;padding:.25rem .75rem;font-size:.875rem;font-weight:600;display:inline-flex}.badge-success{background:hsl(var(--success) / .1);color:hsl(var(--success))}.badge-warning{background:hsl(var(--warning) / .1);color:hsl(var(--warning))}.badge-error{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.badge-info{background:hsl(var(--primary) / .1);color:hsl(var(--primary))}.loading-spinner{border:4px solid hsl(var(--border));border-top-color:hsl(var(--primary));border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:hsl(var(--muted) / .5);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb{background:linear-gradient(135deg, hsl(var(--primary)) 0%, #7536e2 100%);border-radius:var(--radius-full);background-clip:padding-box;border:2px solid #0000}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#7536e2 0%,#6826d9 100%) padding-box padding-box}:focus-visible{outline:2px solid hsl(var(--primary));outline-offset:2px}::-moz-selection{background:hsl(var(--primary) / .2);color:hsl(var(--primary))}::selection{background:hsl(var(--primary) / .2);color:hsl(var(--primary))}@media (max-width:768px){:root{--spacing-xl:1.5rem;--spacing-2xl:2rem;--spacing-3xl:2.5rem}.container{padding:0 var(--spacing-md)}.card{padding:var(--spacing-lg)}}@media (max-width:480px){.btn{width:100%}}.dotted-grid{pointer-events:none;z-index:1;will-change:transform;background-image:radial-gradient(circle at 1px 1px,#ffffff26 1px,#0000 1px);background-size:40px 40px;animation:20s linear infinite grid-move;position:absolute;inset:0}@keyframes grid-move{0%{transform:translate(0)}to{transform:translate(40px,40px)}}.dotted-grid-overlay{pointer-events:none;z-index:2;will-change:transform;background-image:radial-gradient(circle at 1px 1px,#8b5cf633 1px,#0000 1px);background-size:60px 60px;animation:30s linear infinite grid-move-reverse;position:absolute;inset:0}@keyframes grid-move-reverse{0%{transform:translate(0)}to{transform:translate(-60px,-60px)}}.dotted-grid-accent{pointer-events:none;z-index:0;will-change:transform;background-image:radial-gradient(circle at 1px 1px,#6366f11a 1px,#0000 1px);background-size:80px 80px;animation:40s linear infinite grid-move-diagonal;position:absolute;inset:0}@keyframes grid-move-diagonal{0%{transform:translate(0)}to{transform:translate(80px,-80px)}}.floating-element{pointer-events:none;z-index:5;will-change:transform;animation:6s ease-in-out infinite float;position:absolute}.floating-element:nth-child(odd){animation-duration:8s;animation-direction:reverse}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-20px)rotate(5deg)}}.pulse-animation{will-change:opacity;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse;transform:translateZ(0)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.glow-effect{position:relative;overflow:hidden}.glow-effect:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}.glow-effect:hover:before{left:100%}.shimmer-effect{position:relative;overflow:hidden}.shimmer-effect:after{content:"";background:linear-gradient(105deg,#0000 40%,#ffffff1a 50%,#0000 60%);width:100%;height:100%;animation:3s infinite shimmer;position:absolute;top:0;left:0}.bounce-animation{animation:2s infinite bounce}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.gradient-animation{background:linear-gradient(-45deg,#ee7752,#e73c7e,#23a6d5,#23d5ab) 0 0/400% 400%;animation:15s infinite gradientShift}@keyframes gradientShift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.particle{pointer-events:none;opacity:0;will-change:transform, opacity;border-radius:50%;animation:10s infinite particle-float;position:absolute}@keyframes particle-float{0%{opacity:0;transform:translateY(100px)scale(0)}10%{opacity:1;transform:translateY(80px)scale(1)}to{opacity:0;transform:translateY(-100px)scale(.5)}}.scroll-reveal{opacity:0;will-change:opacity, transform;transition:opacity .6s ease-out,transform .6s ease-out;transform:translateY(30px)}.scroll-reveal.active{opacity:1;transform:translateY(0)}.card-hover-lift{will-change:transform, box-shadow;transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.card-hover-lift:hover{transform:translateY(-8px)scale(1.02);box-shadow:0 20px 40px #00000026}.typing-animation{white-space:nowrap;border-right:2px solid;animation:3.5s steps(40,end) typing,.75s step-end infinite blink-caret;overflow:hidden}@keyframes typing{0%{width:0}to{width:100%}}@keyframes blink-caret{0%,to{border-color:#0000}50%{border-color:currentColor}}.btn-hover-glow{transition:all .3s;position:relative}.btn-hover-glow:after{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%)}.btn-hover-glow:hover:after{width:300px;height:300px}.parallax-slow{transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.gradient-text-animated{background:linear-gradient(270deg,#6366f1,#8b5cf6,#a855f7,#6366f1) 0 0/400% 400%;-webkit-text-fill-color:transparent;will-change:background-position;-webkit-background-clip:text;background-clip:text;animation:8s infinite gradient-text-shift}@keyframes gradient-text-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@media (prefers-reduced-motion:reduce){.floating-element,.pulse-animation,.bounce-animation,.gradient-animation,.particle,.typing-animation,.gradient-text-animated,.dotted-grid,.dotted-grid-overlay,.dotted-grid-accent,.animate-slide-up,.animate-slide-up-lcp,.animate-fade-in{opacity:1;animation:none;transform:none}}@media (max-width:768px){.dotted-grid,.dotted-grid-overlay,.dotted-grid-accent{animation-duration:40s}.floating-element{animation-duration:12s}.particle{animation-duration:15s}.gradient-text-animated{animation-duration:12s}}
