:root{--bg: #06060e;--surface: #0f0f1a;--surface-2: #161625;--border: rgba(99, 102, 241, .15);--primary: #6366f1;--primary-light: #818cf8;--accent: #22d3ee;--accent-glow: rgba(34, 211, 238, .25);--text-primary: #e2e8f0;--text-secondary: #94a3b8;--text-muted: #475569;--font-heading: "Space Grotesk", sans-serif;--font-body: "Inter", sans-serif;--radius: 16px;--radius-sm: 8px;--transition: .3s cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}::selection{background:#6366f14d;color:var(--text-primary)}html{scroll-behavior:auto;color-scheme:dark}body{background:var(--bg);color:var(--text-primary);font-family:var(--font-body);font-size:16px;line-height:1.7;overflow-x:hidden;cursor:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(hover:none){body{cursor:auto}button,a{cursor:pointer}.social-link:active{transform:scale(.93)!important;opacity:.7}.btn:active{transform:scale(.93)!important;opacity:.8}.project-card:active{opacity:.88}.tech-pill:active{opacity:.75}}a{color:inherit;text-decoration:none;transition:color .2s ease}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:4px}img,video{max-width:100%;display:block}button{border:none;background:none;cursor:none;font-family:inherit}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--primary);border-radius:10px}.grain-overlay{position:fixed;top:-200%;right:-200%;bottom:-200%;left:-200%;width:400%;height:400%;pointer-events:none;z-index:9998;opacity:.028;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");animation:grain .8s steps(2) infinite}@keyframes grain{0%,to{transform:translate(0)}10%{transform:translate(-2%,-3%)}20%{transform:translate(2%,3%)}30%{transform:translate(-3%,1%)}40%{transform:translate(1%,-2%)}50%{transform:translate(-1%,3%)}60%{transform:translate(3%,-1%)}70%{transform:translate(-2%,2%)}80%{transform:translate(2%,-3%)}90%{transform:translate(-3%,2%)}}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:linear-gradient(to right,var(--primary),var(--accent));z-index:9999;transform-origin:left;box-shadow:0 0 10px var(--accent)}.section{position:relative;padding:120px 0;overflow:hidden}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 40px}.section-heading{display:flex;align-items:center;gap:20px;margin-bottom:72px}.section-heading h2{font-family:var(--font-heading);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:700;letter-spacing:.05em;color:var(--text-primary);text-transform:uppercase}.heading-line{flex:1;height:1px;background:linear-gradient(to right,var(--border),transparent);position:relative;overflow:hidden}.heading-line:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,transparent,var(--primary),var(--accent),transparent);animation:line-sweep 3s ease-in-out infinite;transform:translate(-100%)}@keyframes line-sweep{0%{transform:translate(-100%)}to{transform:translate(200%)}}.glass{background:#0f0f1a99;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:var(--radius)}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 28px;border-radius:100px;font-family:var(--font-heading);font-size:.9rem;font-weight:600;letter-spacing:.04em;transition:var(--transition);position:relative;overflow:hidden;cursor:none}.btn-primary{background:linear-gradient(135deg,var(--primary),var(--accent));color:#fff;box-shadow:0 0 30px #6366f166}.btn-primary:hover{box-shadow:0 0 50px #6366f1b3,0 0 80px #22d3ee4d;transform:translateY(-2px) scale(1.02)}.btn-primary:active{transform:translateY(0) scale(.98)}.btn-ghost{background:transparent;color:var(--text-primary);border:1px solid var(--border)}.btn-ghost:hover{border-color:var(--primary);color:var(--primary-light);box-shadow:0 0 20px #6366f133;transform:translateY(-2px) scale(1.02)}.btn-ghost:active{transform:translateY(0) scale(.98)}.tech-pill{display:inline-flex;align-items:center;padding:5px 12px;border-radius:100px;font-family:var(--font-body);font-size:.75rem;font-weight:500;background:#6366f11a;border:1px solid rgba(99,102,241,.2);color:var(--primary-light);letter-spacing:.02em;transition:var(--transition)}.bg-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(80px);opacity:.15;animation:orb-drift 12s ease-in-out infinite alternate}@keyframes orb-drift{0%{transform:translateY(0) scale(1)}to{transform:translateY(-30px) scale(1.1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-glow{0%,to{opacity:.5}50%{opacity:1}}@keyframes rotate-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::selection{background:#6366f159;color:#fff}@media(max-width:768px){.section{padding:80px 0}.container{padding:0 20px}.section-heading{margin-bottom:48px}body{cursor:auto}.project-card>div>div{padding:24px 20px!important}.grain-overlay{display:none}.heading-line:after{animation:none}.project-card{background:linear-gradient(135deg,#6366f147,#22d3ee24)!important}.section-heading h2{text-shadow:0 0 40px rgba(99,102,241,.35)}.heading-line:after{animation-duration:4s}.neon-title{text-shadow:0 0 5px rgba(255,255,255,.45),0 0 16px rgba(255,255,255,.2),0 0 45px rgba(129,140,248,.4),0 0 80px rgba(129,140,248,.18)}.skill-item{border-color:#6366f12e!important;background:#6366f10d!important}:root{--orb-anim: none}}@media(max-width:480px){.container{padding:0 16px}.section-heading h2{font-size:1.5rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.neon-title{text-shadow:0 0 6px rgba(255,255,255,.55),0 0 18px rgba(255,255,255,.3),0 0 50px rgba(129,140,248,.45),0 0 100px rgba(129,140,248,.2);animation:neon-flicker 8s infinite}@keyframes neon-flicker{0%,45%,55%,to{text-shadow:0 0 6px rgba(255,255,255,.55),0 0 18px rgba(255,255,255,.3),0 0 50px rgba(129,140,248,.45),0 0 100px rgba(129,140,248,.2);opacity:1}50%{text-shadow:0 0 4px rgba(255,255,255,.3),0 0 12px rgba(129,140,248,.25);opacity:.9}}.glitch-text{position:relative;display:inline-block}.glitch-text:before,.glitch-text:after{content:attr(data-text);position:absolute;top:0;left:0;width:100%;height:100%;background:transparent;opacity:0;color:#fff;font-size:inherit;font-weight:inherit;font-family:inherit;letter-spacing:inherit}.glitch-text.glitch-active:before{left:3px;text-shadow:-2px 0 #ff00c1;animation:glitch-anim .4s cubic-bezier(.25,.46,.45,.94) both;opacity:1;mix-blend-mode:screen}.glitch-text.glitch-active:after{left:-3px;text-shadow:2px 0 #00fff9;animation:glitch-anim2 .4s cubic-bezier(.25,.46,.45,.94) both;opacity:1;mix-blend-mode:screen}@keyframes glitch-anim{0%{clip:rect(8px,9999px,38px,0);transform:skew(1.2deg) skew(4deg) translate(4px)}15%{clip:rect(62px,9999px,78px,0);transform:skew(-.8deg) skew(-6deg) translate(-5px)}30%{clip:rect(18px,9999px,94px,0);transform:skew(.5deg) skew(3deg) translate(3px)}50%{clip:rect(88px,9999px,32px,0);transform:skew(-1deg) skew(-4deg) translate(-4px)}70%{clip:rect(5px,9999px,56px,0);transform:skew(.9deg) skew(5deg) translate(5px)}85%{clip:rect(44px,9999px,12px,0);transform:skew(-.3deg) skew(-2deg) translate(-2px)}to{clip:rect(0px,0px,0px,0);transform:skew(0) translate(0);opacity:0}}@keyframes glitch-anim2{0%{clip:rect(72px,9999px,98px,0);transform:skew(.5deg) skew(-5deg) translate(-6px)}20%{clip:rect(14px,9999px,48px,0);transform:skew(-1.2deg) skew(7deg) translate(6px)}38%{clip:rect(84px,9999px,22px,0);transform:skew(.8deg) skew(-3deg) translate(-3px)}56%{clip:rect(26px,9999px,68px,0);transform:skew(-.6deg) skew(5deg) translate(5px)}74%{clip:rect(52px,9999px,8px,0);transform:skew(1deg) skew(-4deg) translate(-4px)}90%{clip:rect(6px,9999px,80px,0);transform:skew(-.4deg) skew(2deg) translate(2px)}to{clip:rect(0px,0px,0px,0);transform:skew(0) translate(0);opacity:0}}
