@import url(https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Fira+Code:wght@300;400;500&display=swap);body{margin:0}:root{--neon-cyan:#00f5ff;--neon-pink:#ff0080;--neon-purple:#7c3aed;--neon-green:#0f8;--neon-yellow:gold;--bg-void:#030308;--bg-dark:#07071a;--bg-surface:#0d0d28;--bg-card:#111135;--bg-elevated:#16163e;--text-bright:#fff;--text-primary:#e0e8ff;--text-secondary:#8892b0;--text-muted:#4a5568;--glow-cyan:0 0 20px #00f5ff80,0 0 40px #00f5ff33;--glow-pink:0 0 20px #ff008080,0 0 40px #ff008033;--glow-purple:0 0 20px #7c3aed80;--grad-cyber:linear-gradient(135deg,#00f5ff,#ff0080);--grad-blue:linear-gradient(135deg,#00c8ff,#7c3aed);--grad-dark:linear-gradient(135deg,#0d0d28,#07071a);--grad-card:linear-gradient(135deg,#0d0d28e6,#16163ee6);--font-display:"Space Grotesk","Inter",sans-serif;--font-body:"Inter",sans-serif;--font-mono:"Fira Code",monospace;--t-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1);--t-bounce:all 0.4s cubic-bezier(0.175,0.885,0.32,1.275);--t-fast:all 0.15s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#030308;background:var(--bg-void);color:#e0e8ff;color:var(--text-primary);cursor:none;font-family:Inter,sans-serif;font-family:var(--font-body);line-height:1.6;overflow-x:hidden}@media (pointer:coarse){body{cursor:auto}}.App{background:#030308;background:var(--bg-void);min-height:100vh}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#07071a;background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#00f5ff,#7c3aed);background:linear-gradient(180deg,var(--neon-cyan),var(--neon-purple));border-radius:3px}.section{padding:100px 0}.container{margin:0 auto;max-width:1200px;padding:0 24px}.gradient-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#00f5ff,#ff0080);background:var(--grad-cyber);-webkit-background-clip:text;background-clip:text}.neon-text{color:#00f5ff;color:var(--neon-cyan);text-shadow:0 0 10px #00f5ffb3,0 0 20px #00f5ff66}.glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#0d0d28b3;border:1px solid #00f5ff1a;border-radius:16px}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s ease,transform .7s ease}.reveal-left.visible{opacity:1;transform:translateX(0)}.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s ease,transform .7s ease}.reveal-right.visible{opacity:1;transform:translateX(0)}.loading-state{align-items:center;color:#8892b0;color:var(--text-secondary);display:flex;gap:12px;justify-content:center;padding:60px}.loading-dot{animation:loadingPulse 1.4s ease-in-out infinite;background:#00f5ff;background:var(--neon-cyan);border-radius:50%;height:8px;width:8px}.loading-dot:nth-child(2){animation-delay:.2s}.loading-dot:nth-child(3){animation-delay:.4s}@keyframes loadingPulse{0%,80%,to{opacity:.4;transform:scale(.6)}40%{opacity:1;transform:scale(1)}}.page-enter{opacity:0;transform:translateY(20px)}.page-enter-active{opacity:1;transform:translateY(0);transition:all .4s ease}code{background:#00f5ff14;border:1px solid #00f5ff26;border-radius:4px;color:#00f5ff;color:var(--neon-cyan);font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.85em;padding:2px 8px}.section-title{color:#fff;color:var(--text-bright);font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:clamp(2rem,5vw,3.5rem);font-weight:700;margin-bottom:.5rem;position:relative}.section-subtitle{color:#8892b0;color:var(--text-secondary);font-size:1.1rem;max-width:600px}.section-label{border:1px solid #00f5ff4d;border-radius:4px;color:#00f5ff;color:var(--neon-cyan);display:inline-block;font-family:Fira Code,monospace;font-family:var(--font-mono);font-size:.8rem;letter-spacing:.15em;margin-bottom:.75rem;padding:4px 12px;text-transform:uppercase}.grid-bg{background-image:linear-gradient(#00f5ff08 1px,#0000 0),linear-gradient(90deg,#00f5ff08 1px,#0000 0);background-size:60px 60px;inset:0;pointer-events:none;position:fixed;z-index:0}.btn-cyber{align-items:center;background:#0000;border:1px solid #00f5ff;border:1px solid var(--neon-cyan);border-radius:4px;color:#00f5ff;color:var(--neon-cyan);cursor:none;display:inline-flex;font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:.95rem;font-weight:600;gap:10px;letter-spacing:.05em;overflow:hidden;padding:14px 28px;position:relative;text-decoration:none;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--t-smooth)}.btn-cyber:before{background:#00f5ff;background:var(--neon-cyan);content:"";inset:0;position:absolute;transform:translateX(-101%);transition:transform .3s ease;z-index:-1}.btn-cyber:hover{box-shadow:0 0 20px #00f5ff80,0 0 40px #00f5ff33;box-shadow:var(--glow-cyan);color:#030308;color:var(--bg-void)}.btn-cyber:hover:before{transform:translateX(0)}.btn-cyber-arrow{transition:transform .3s ease}.btn-cyber:hover .btn-cyber-arrow{transform:translateX(5px)}.btn-outline{align-items:center;background:#ffffff0a;border:1px solid #ffffff26;border-radius:4px;color:#e0e8ff;color:var(--text-primary);cursor:none;display:inline-flex;font-family:Space Grotesk,Inter,sans-serif;font-family:var(--font-display);font-size:.95rem;font-weight:600;gap:10px;letter-spacing:.05em;padding:14px 28px;text-decoration:none;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);transition:var(--t-smooth)}.btn-outline:hover{background:#ffffff14;border-color:#ffffff59;color:#fff;color:var(--text-bright)}.navbar{left:0;padding:20px 0;position:fixed;right:0;top:0;transition:all .4s cubic-bezier(.4,0,.2,1);z-index:1000}.navbar--scrolled{backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);background:#030308e0;border-bottom:1px solid #00f5ff14;box-shadow:0 4px 30px #00000080;padding:12px 0}.navbar-container{justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 24px}.navbar-container,.navbar-logo{align-items:center;display:flex}.navbar-logo{color:var(--text-primary);font-family:Fira Code,monospace;font-size:1.15rem;font-weight:500;gap:2px;letter-spacing:.05em;text-decoration:none;transition:all .3s ease}.logo-bracket{color:var(--neon-cyan);font-size:1.2rem;opacity:.7}.logo-text{color:var(--text-bright);margin:0 3px}.logo-cursor{animation:blinkCaret 1.1s step-end infinite;color:var(--neon-cyan)}@keyframes blinkCaret{0%,to{opacity:1}50%{opacity:0}}.navbar-logo:hover .logo-text{color:var(--neon-cyan);text-shadow:0 0 12px #00f5ff99}.navbar-menu{align-items:center;display:flex;gap:4px;list-style:none;margin:0;padding:0}.navbar-item,.navbar-link{position:relative}.navbar-link{align-items:center;border-radius:4px;color:var(--text-secondary);display:flex;font-family:var(--font-body);font-size:.88rem;font-weight:500;gap:5px;height:auto;letter-spacing:.02em;padding:8px 14px;text-decoration:none;transition:all .3s ease}.link-num{color:var(--neon-cyan);font-family:Fira Code,monospace;font-size:.68rem;opacity:.6;transition:opacity .3s ease}.navbar-link:after{background:var(--neon-cyan);bottom:3px;box-shadow:0 0 6px var(--neon-cyan);content:"";height:1px;left:14px;position:absolute;right:14px;transform:scaleX(0);transition:transform .3s ease}.navbar-link.active,.navbar-link:hover{color:var(--text-bright)}.navbar-link.active:after,.navbar-link:hover:after{transform:scaleX(1)}.navbar-link.active .link-num,.navbar-link:hover .link-num{opacity:1}.navbar-toggle{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;padding:4px;width:32px;z-index:1001}.navbar-toggle span{background:var(--text-secondary);border-radius:2px;display:block;height:2px;transform-origin:center;transition:all .3s ease;width:100%}.navbar-toggle.open span:first-child{background:var(--neon-cyan);transform:rotate(45deg) translate(5px,5px)}.navbar-toggle.open span:nth-child(2){opacity:0;transform:scaleX(0)}.navbar-toggle.open span:nth-child(3){background:var(--neon-cyan);transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{align-items:center;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#030308f7;display:none;inset:0;justify-content:center;opacity:0;pointer-events:none;position:fixed;transition:opacity .3s ease;z-index:999}.mobile-menu.active{opacity:1;pointer-events:all}.mobile-menu-content{align-items:center;display:flex;flex-direction:column;gap:8px}.mobile-link{align-items:center;border-radius:8px;color:var(--text-secondary);display:flex;font-family:Space Grotesk,sans-serif;font-size:1.6rem;font-weight:600;gap:12px;letter-spacing:.04em;opacity:0;padding:14px 40px;text-decoration:none;transform:translateY(20px);transition:color .3s ease,text-shadow .3s ease}.mobile-menu.active .mobile-link{animation:mobileFadeIn .4s ease forwards}@keyframes mobileFadeIn{to{opacity:1;transform:translateY(0)}}.mobile-link.active,.mobile-link:hover{color:var(--neon-cyan);text-shadow:0 0 20px #00f5ff66}.mobile-link-num{color:var(--neon-cyan);font-family:Fira Code,monospace;font-size:.75rem;opacity:.6}@media (max-width:768px){.navbar-menu{display:none}.mobile-menu,.navbar-toggle{display:flex}}.cursor-dot,.cursor-ring{border-radius:50%;opacity:0;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:opacity .3s ease;z-index:99999}.cursor-dot{background:#00f5ff;box-shadow:0 0 8px #00f5ff,0 0 16px #00f5ff80;height:6px;transition:width .2s ease,height .2s ease,background .2s ease,opacity .3s ease;width:6px}.cursor-ring{border:1.5px solid #00f5ff99;box-shadow:0 0 10px #00f5ff33;height:36px;transition:width .3s ease,height .3s ease,border-color .3s ease,opacity .3s ease;width:36px}.cursor-dot.hover{background:#ff0080;box-shadow:0 0 10px #ff0080,0 0 20px #ff008080;height:10px;width:10px}.cursor-ring.hover{border-color:#ff008080;box-shadow:0 0 15px #ff008033;height:56px;width:56px}.cursor-dot.click{transform:translate(-50%,-50%) scale(.6)}.cursor-ring.click{transform:translate(-50%,-50%) scale(.85)}@media (pointer:coarse){.cursor-dot,.cursor-ring{display:none}}.home{align-items:center;background:var(--bg-void);display:flex;min-height:100vh;overflow:hidden;position:relative}.home-canvas{height:100%;width:100%}.home-canvas,.home:before{inset:0;position:absolute;z-index:0}.home:before{background:radial-gradient(ellipse 60% 50% at 20% 40%,#00f5ff0f 0,#0000 70%),radial-gradient(ellipse 50% 60% at 80% 70%,#ff00800f 0,#0000 70%);content:"";pointer-events:none}.home-container{margin:0 auto;max-width:1200px;padding:120px 24px 80px;position:relative;width:100%;z-index:1}.hero-content{grid-gap:60px;align-items:center;display:grid;gap:60px;grid-template-columns:1fr 440px;min-height:75vh}.hero-text{animation:heroFadeIn .9s ease-out both}.hero-badge{align-items:center;background:#00ff8812;border:1px solid #0f83;border-radius:20px;color:#0f8;display:inline-flex;font-size:.78rem;font-weight:500;gap:8px;letter-spacing:.04em;margin-bottom:24px;padding:6px 14px}.badge-pulse{animation:pulseDot 2s ease-in-out infinite;background:#0f8;border-radius:50%;box-shadow:0 0 8px #0f8;height:7px;width:7px}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}.home-title{font-family:Space Grotesk,sans-serif;font-weight:700;line-height:1.08;margin-bottom:20px}.greeting{animation:slideDown .7s ease-out .1s both;color:var(--text-secondary);display:block;font-family:Fira Code,monospace;font-size:clamp(1rem,2.5vw,1.3rem);font-weight:400;letter-spacing:.04em;margin-bottom:6px}.name.glitch{animation:slideDown .7s ease-out .2s both;color:var(--text-bright);display:block;font-size:clamp(2.6rem,6vw,4.8rem);position:relative}.name.glitch:after,.name.glitch:before{content:attr(data-text);left:0;position:absolute;top:0;width:100%}.name.glitch:before{animation:glitchTop 4s linear infinite;-webkit-clip-path:inset(0 0 60% 0);clip-path:inset(0 0 60% 0);color:var(--neon-cyan)}.name.glitch:after{animation:glitchBottom 4s linear infinite;-webkit-clip-path:inset(60% 0 0 0);clip-path:inset(60% 0 0 0);color:var(--neon-pink)}@keyframes glitchTop{0%,90%,to{opacity:0;transform:translate(0)}91%{opacity:.7;transform:translate(-3px,-1px)}93%{opacity:.7;transform:translate(3px,1px)}95%{opacity:.7;transform:translate(-2px)}97%{opacity:0;transform:translate(0)}}@keyframes glitchBottom{0%,88%,to{opacity:0;transform:translate(0)}89%{opacity:.6;transform:translate(3px,1px)}92%{opacity:.6;transform:translate(-2px,-1px)}94%{opacity:.6;transform:translate(1px)}96%{opacity:0;transform:translate(0)}}.home-subtitle{align-items:center;animation:slideDown .7s ease-out .35s both;display:flex;font-size:clamp(1.1rem,2vw,1.4rem);gap:6px;margin-bottom:24px}.home-subtitle,.subtitle-label{color:var(--text-secondary)}.typewriter-wrap{align-items:center;display:inline-flex;gap:3px}.typewriter-text{color:var(--neon-cyan);font-family:Space Grotesk,sans-serif;font-weight:600;text-shadow:0 0 12px #00f5ff80}.typewriter-cursor{animation:blinkCursor .8s step-end infinite;color:var(--neon-cyan);font-weight:300}@keyframes blinkCursor{0%,to{opacity:1}50%{opacity:0}}.home-description{animation:slideUp .7s ease-out .5s both;color:var(--text-secondary);font-size:clamp(.95rem,1.5vw,1.08rem);line-height:1.8;margin-bottom:36px;max-width:500px}.home-stats{align-items:center;animation:slideUp .7s ease-out .65s both;display:flex;gap:24px;margin-bottom:40px}.stat{text-align:center}.stat-number{color:var(--neon-cyan);display:block;font-family:Space Grotesk,sans-serif;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:700;line-height:1;text-shadow:0 0 14px #00f5ff73}.stat-number sup{color:var(--neon-pink);font-size:.6em}.stat-label{color:var(--text-muted);display:block;font-size:.72rem;letter-spacing:.1em;margin-top:4px;text-transform:uppercase}.stat-sep{background:#ffffff14;height:40px;width:1px}.home-cta{animation:slideUp .7s ease-out .8s both;display:flex;flex-wrap:wrap;gap:16px}.hero-visual{animation:heroFadeIn 1s ease-out .4s both;height:420px}.avatar-scene,.hero-visual{align-items:center;display:flex;justify-content:center;position:relative}.avatar-scene{height:260px;width:260px}.avatar-ring{border:1px solid #0000;border-radius:50%;position:absolute}.ring-a{animation:ringPulse 3s ease-in-out infinite;border-color:#00f5ff33;height:260px;width:260px}.ring-b{animation:ringPulse 3s ease-in-out 1s infinite;border-color:#00f5ff1f;box-shadow:inset 0 0 20px #00f5ff1a,0 0 20px #00f5ff1a;height:210px;width:210px}.ring-c{animation:ringPulse 3s ease-in-out 2s infinite;border-color:#00f5ff14;height:160px;width:160px}@keyframes ringPulse{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}.avatar-core{align-items:center;background:radial-gradient(circle,#00f5ff1a,#0000);border-radius:50%;box-shadow:0 0 40px #00f5ff26;display:flex;height:120px;justify-content:center;position:relative;width:120px;z-index:2}.avatar-emoji{animation:avatarFloat 4s ease-in-out infinite;filter:drop-shadow(0 0 10px rgba(0,245,255,.5));font-size:5rem}@keyframes avatarFloat{0%,to{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}.orbit{border:1px dashed #00f5ff26;border-radius:50%;position:absolute}.orbit-1{animation:orbitSpin 8s linear infinite;height:300px;width:300px}.orbit-2{animation:orbitSpin 12s linear infinite reverse;height:340px;width:340px}@keyframes orbitSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.orbit-dot{background:var(--neon-cyan);border-radius:50%;box-shadow:0 0 10px var(--neon-cyan);height:10px;left:calc(50% - 5px);position:absolute;top:-5px;width:10px}.orbit-dot-pink{background:var(--neon-pink);bottom:-5px;box-shadow:0 0 10px var(--neon-pink);top:auto}.hero-tags{inset:0;pointer-events:none}.ftag,.hero-tags{position:absolute}.ftag{animation:tagFloat 6s ease-in-out infinite;background:#0d0d28e6;border:1px solid #00f5ff33;border-radius:20px;color:var(--neon-cyan);font-family:Fira Code,monospace;font-size:.72rem;padding:5px 12px;white-space:nowrap}.ftag-1{animation-delay:0s;left:0;top:8%}.ftag-2{animation-delay:1.2s;right:0;top:18%}.ftag-3{animation-delay:.6s;bottom:22%;left:5%}.ftag-4{animation-delay:1.8s;bottom:12%;right:5%}.ftag-5{animation-delay:.9s;left:2%;top:55%}@keyframes tagFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.scroll-hint{align-items:center;animation:fadeIn 1s ease 1.2s both;bottom:32px;display:flex;flex-direction:column;gap:10px;left:50%;position:absolute;transform:translateX(-50%)}.scroll-text{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.65rem;letter-spacing:.15em;text-transform:uppercase}.scroll-line{animation:scrollDrop 2s ease-in-out infinite;background:linear-gradient(to bottom,var(--neon-cyan),#0000);height:50px;width:1px}@keyframes scrollDrop{0%,to{opacity:1;transform:scaleY(1);transform-origin:top}50%{opacity:.4;transform:scaleY(.5);transform-origin:bottom}}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (max-width:900px){.hero-content{gap:40px;grid-template-columns:1fr;min-height:auto;text-align:center}.hero-visual{height:320px;order:-1}.home-description{max-width:100%}.home-cta,.home-stats{justify-content:center}.scroll-hint{display:none}}@media (max-width:480px){.home-container{padding:100px 16px 60px}.home-cta{align-items:center;flex-direction:column}.hero-visual{height:260px}.avatar-scene,.ring-a{height:200px;width:200px}.ring-b{height:160px;width:160px}.ring-c{height:120px;width:120px}.orbit-1{height:230px;width:230px}.orbit-2{height:265px;width:265px}.ftag-1,.ftag-5{display:none}}.about{background:var(--bg-void);min-height:100vh;padding:120px 0 80px}.about-container{margin:0 auto;max-width:1200px;padding:0 24px}.about-header{margin-bottom:72px}.about-grid{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:320px 1fr;margin-bottom:100px}.about-avatar-col{position:-webkit-sticky;position:sticky;top:100px}.about-avatar-wrap{align-items:center;display:flex;height:240px;justify-content:center;margin:0 auto 28px;position:relative;width:240px}.av-ring{border:1px solid #00f5ff33;border-radius:50%;position:absolute}.av-ring-1{animation:avPulse 3.5s ease-in-out infinite;height:240px;width:240px}.av-ring-2{animation:avPulse 3.5s ease-in-out 1.2s infinite;border-color:#ff008026;height:190px;width:190px}@keyframes avPulse{0%,to{opacity:.5;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.about-avatar{align-items:center;animation:avatarBob 5s ease-in-out infinite;background:radial-gradient(circle,#00f5ff14,#0000);border-radius:50%;display:flex;filter:drop-shadow(0 0 14px rgba(0,245,255,.4));font-size:5rem;height:130px;justify-content:center;position:relative;width:130px;z-index:2}@keyframes avatarBob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-10px) rotate(4deg)}}.about-avatar-tag{border:1px solid #00f5ff40;border-radius:20px;color:var(--neon-cyan);font-family:Fira Code,monospace;font-size:.72rem;letter-spacing:.1em;margin:0 auto;padding:4px 14px;text-align:center;width:-webkit-fit-content;width:fit-content}.about-facts{background:#0d0d2899;border:1px solid #00f5ff1a;border-radius:12px;display:flex;flex-direction:column;gap:12px;margin-top:24px;padding:20px}.fact-row{align-items:center;display:flex;font-size:.85rem;gap:10px}.fact-icon{flex-shrink:0;font-size:1rem}.fact-label{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.75rem;width:80px}.fact-val{color:var(--text-primary);font-weight:500}.about-heading{color:var(--text-bright);font-family:Space Grotesk,sans-serif;font-size:clamp(1.5rem,3vw,2rem);font-weight:700;line-height:1.3;margin-bottom:20px}.about-p{color:var(--text-secondary);font-size:1rem;line-height:1.85;margin-bottom:16px}.about-p strong{color:var(--text-primary);font-weight:600}.skill-bars{margin-top:36px}.bars-heading{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.75rem;letter-spacing:.12em;margin-bottom:20px;text-transform:uppercase}.bar-row{margin-bottom:18px}.bar-meta{align-items:center;display:flex;justify-content:space-between;margin-bottom:6px}.bar-label{color:var(--text-primary);font-size:.88rem;font-weight:500}.bar-pct{font-family:Fira Code,monospace;font-size:.78rem;font-weight:600}.bar-track{background:#ffffff12;border-radius:2px;height:4px;overflow:hidden}.bar-fill{border-radius:2px;height:100%;transition:width 1.4s cubic-bezier(.4,0,.2,1)}.bar-cyan{background:linear-gradient(90deg,var(--neon-cyan),#0080ff);box-shadow:0 0 8px #00f5ff80}.bar-pink{background:linear-gradient(90deg,var(--neon-pink),#c0f);box-shadow:0 0 8px #ff008080}.bar-purple{background:linear-gradient(90deg,var(--neon-purple),#4f00ff);box-shadow:0 0 8px #7c3aed80}.bar-green{background:linear-gradient(90deg,var(--neon-green),#0ca);box-shadow:0 0 8px #00ff8880}.timeline,.timeline-section{position:relative}.timeline{display:flex;flex-direction:column;gap:40px;padding:0 0 0 48px}.timeline-line{background:linear-gradient(to bottom,var(--neon-cyan),#0000);bottom:0;left:14px;opacity:.3;position:absolute;top:0;width:1px}.timeline-item{align-items:flex-start;display:flex;gap:20px;opacity:0;position:relative;transform:translateX(-20px);transition:opacity .5s ease,transform .5s ease}.reveal.visible .timeline-item{opacity:1;transform:translateX(0)}.reveal.visible .timeline-item:nth-child(2){transition-delay:.15s}.reveal.visible .timeline-item:nth-child(3){transition-delay:.3s}.reveal.visible .timeline-item:nth-child(4){transition-delay:.45s}.tl-year{color:var(--neon-cyan);font-family:Fira Code,monospace;font-size:.75rem;letter-spacing:.05em;min-width:48px;padding-top:4px;white-space:nowrap}.tl-dot{background:var(--neon-cyan);border-radius:50%;box-shadow:0 0 10px var(--neon-cyan);flex-shrink:0;height:12px;left:-40px;position:absolute;top:6px;width:12px}.tl-pink .tl-dot{background:var(--neon-pink);box-shadow:0 0 10px var(--neon-pink)}.tl-purple .tl-dot{background:var(--neon-purple);box-shadow:0 0 10px var(--neon-purple)}.tl-green .tl-dot{background:var(--neon-green);box-shadow:0 0 10px var(--neon-green)}.tl-card{background:#0d0d2899;border:1px solid #00f5ff1a;border-radius:10px;flex:1 1;padding:16px 20px;transition:all .3s ease}.tl-cyan .tl-card:hover{border-color:#00f5ff59;box-shadow:0 0 20px #00f5ff14}.tl-pink .tl-card:hover{border-color:#ff008059;box-shadow:0 0 20px #ff008014}.tl-purple .tl-card:hover{border-color:#7c3aed59}.tl-green .tl-card:hover{border-color:#00ff8859}.tl-title{color:var(--text-bright);font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:600;margin-bottom:6px}.tl-desc{color:var(--text-secondary);font-size:.88rem;line-height:1.7}@media (max-width:900px){.about-grid{gap:40px;grid-template-columns:1fr}.about-avatar-col{position:relative;top:0}.about-avatar-wrap{margin:0 auto 24px}.timeline{padding-left:36px}}@media (max-width:480px){.about{padding-top:100px}.timeline{gap:28px}.tl-card{padding:12px 16px}}.skills{background:var(--bg-void);min-height:100vh;padding:120px 0 80px;position:relative}.skills:before{background:radial-gradient(ellipse 50% 40% at 80% 20%,#00f5ff0a 0,#0000 60%),radial-gradient(ellipse 40% 50% at 10% 80%,#ff00800a 0,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.skills-container{margin:0 auto;max-width:1200px;padding:0 24px;position:relative;z-index:1}.skills-header{margin-bottom:48px}.category-filter{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:56px}.filter-btn{letter-spacing:.03em}.skills-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.skill-category{background:#0d0d2899;border:1px solid #ffffff12;border-radius:14px;overflow:hidden;transition:border-color .3s ease,box-shadow .3s ease}.skill-category:hover{border-color:#00f5ff26;box-shadow:0 8px 40px #0000004d}.category-header{align-items:center;border-bottom:1px solid #ffffff0d;display:flex;gap:12px;padding:20px 22px 16px;position:relative}.cat-accent{border-radius:2px;flex-shrink:0;height:22px;width:3px}.cat-accent-cyan{background:var(--neon-cyan);box-shadow:0 0 8px var(--neon-cyan)}.cat-accent-pink{background:var(--neon-pink);box-shadow:0 0 8px var(--neon-pink)}.cat-accent-purple{background:var(--neon-purple);box-shadow:0 0 8px var(--neon-purple)}.cat-accent-green{background:var(--neon-green);box-shadow:0 0 8px var(--neon-green)}.category-title{color:var(--text-bright);flex:1 1;font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700}.cat-count{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.7rem;letter-spacing:.05em}.hex-grid{display:flex;flex-wrap:wrap;gap:10px;padding:20px 22px}.hex-item{align-items:center;background:#ffffff0a;-webkit-clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);cursor:none;display:flex;height:100px;justify-content:center;position:relative;transition:transform .3s ease,filter .3s ease;width:90px}.hex-item.hovered,.hex-item:hover{transform:translateY(-4px) scale(1.08)}.hex-cyan.hovered,.hex-cyan:hover{filter:drop-shadow(0 0 10px rgba(0,245,255,.7))}.hex-pink.hovered,.hex-pink:hover{filter:drop-shadow(0 0 10px rgba(255,0,128,.7))}.hex-purple.hovered,.hex-purple:hover{filter:drop-shadow(0 0 10px rgba(124,58,237,.7))}.hex-green.hovered,.hex-green:hover{filter:drop-shadow(0 0 10px rgba(0,255,136,.7))}.hex-inner{align-items:center;display:flex;flex-direction:column;gap:4px;text-align:center;z-index:1}.hex-name{color:var(--text-primary);font-size:.68rem;font-weight:600;line-height:1.2;max-width:72px;text-align:center}.hex-level{font-size:.55rem;letter-spacing:.05em}.level-cyan{color:var(--neon-cyan)}.level-pink{color:var(--neon-pink)}.level-purple{color:var(--neon-purple)}.hex-cyan{background:#00f5ff12}.hex-pink{background:#ff008012}.hex-purple{background:#7c3aed12}.hex-green{background:#00ff8812}.hex-tooltip{background:#07071af7;border:1px solid #00f5ff33;border-radius:4px;bottom:calc(100% + 8px);color:var(--neon-cyan);font-family:Fira Code,monospace;font-size:.68rem;left:50%;opacity:0;padding:4px 10px;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(4px);transition:opacity .2s ease,transform .2s ease;white-space:nowrap;z-index:10}.hex-item.hovered .hex-tooltip,.hex-item:hover .hex-tooltip{opacity:1;transform:translateX(-50%) translateY(0)}.no-items{padding:60px}@media (max-width:768px){.skills-grid{grid-template-columns:1fr}.hex-item{height:90px;width:80px}.hex-name{font-size:.62rem;max-width:64px}}.work{background:var(--bg-void);min-height:100vh;padding:120px 0 80px;position:relative}.work:before{background:radial-gradient(ellipse 60% 40% at 15% 25%,#7c3aed0d 0,#0000 60%),radial-gradient(ellipse 50% 50% at 85% 75%,#00f5ff0a 0,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.work-container{margin:0 auto;max-width:1200px;padding:0 24px;position:relative;z-index:1}.work-header{margin-bottom:48px}.filter-buttons{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:56px}.filter-btn{align-items:center;background:#ffffff0a;border:1px solid #ffffff1a;border-radius:4px;color:var(--text-secondary);cursor:none;display:inline-flex;font-family:var(--font-body);font-size:.85rem;font-weight:500;gap:7px;padding:9px 20px;transition:all .25s ease}.filter-btn:hover{background:#00f5ff0d;border-color:#00f5ff33;color:var(--text-primary)}.filter-btn.active{background:#00f5ff1a;border-color:#00f5ff66;box-shadow:0 0 16px #00f5ff1a;color:var(--neon-cyan)}.filter-dot{background:var(--neon-cyan);border-radius:50%;box-shadow:0 0 6px var(--neon-cyan);height:5px;width:5px}.projects-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:repeat(auto-fill,minmax(340px,1fr))}.project-card{background:#0d0d28b3;border:1px solid #ffffff12;border-radius:14px;cursor:none;display:flex;flex-direction:column;overflow:hidden;position:relative;transform-style:preserve-3d;transition:border-color .3s ease,box-shadow .3s ease;will-change:transform}.project-card:hover{box-shadow:0 24px 60px #00000080}.project-card-cyan:hover{border-color:#00f5ff33}.project-card-pink:hover{border-color:#ff008033}.project-card-purple:hover{border-color:#7c3aed33}.project-card-green:hover{border-color:#0f83}.project-image-wrap{height:220px;overflow:hidden;position:relative}.project-images-grid{grid-gap:2px;display:grid;gap:2px;grid-template-columns:3fr 2fr;grid-template-rows:1fr 1fr;height:100%;width:100%}.grid-img{height:100%;object-fit:cover;transition:transform .5s ease;width:100%}.grid-img-0{grid-row:1/3}.project-card:hover .grid-img{transform:scale(1.06)}.extra-overlay{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000000b3;border-radius:4px;bottom:8px;color:var(--text-primary);font-family:Fira Code,monospace;font-size:.72rem;padding:3px 8px;position:absolute;right:8px}.placeholder-img{align-items:center;display:flex;flex-direction:column;gap:10px;height:100%;justify-content:center;width:100%}.placeholder-cyan{background:#00f5ff0d}.placeholder-pink{background:#ff00800d}.placeholder-purple{background:#7c3aed0d}.placeholder-green{background:#00ff880d}.placeholder-icon{font-size:3.5rem}.placeholder-img span{color:var(--text-muted);font-size:.75rem;letter-spacing:.1em}.cat-badge,.placeholder-img span{font-family:Fira Code,monospace;text-transform:uppercase}.cat-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;font-size:.65rem;left:12px;letter-spacing:.08em;padding:3px 10px;position:absolute;top:12px}.cat-badge-cyan{background:#00f5ff26;border:1px solid #00f5ff4d;color:var(--neon-cyan)}.cat-badge-pink{background:#ff008026;border:1px solid #ff00804d;color:var(--neon-pink)}.cat-badge-purple{background:#7c3aed26;border:1px solid #7c3aed4d;color:#a78bfa}.cat-badge-green{background:#00ff8826;border:1px solid #00ff884d;color:var(--neon-green)}.project-content{display:flex;flex:1 1;flex-direction:column;gap:10px;padding:20px}.project-title{color:var(--text-bright);font-family:Space Grotesk,sans-serif;font-size:1.1rem;font-weight:700;line-height:1.3}.project-desc{-webkit-line-clamp:3;-webkit-box-orient:vertical;color:var(--text-secondary);display:-webkit-box;flex:1 1;font-size:.875rem;line-height:1.7;overflow:hidden}.project-actions{align-items:center;display:flex;gap:12px;margin-top:4px}.btn-expand{align-items:center;background:#ffffff0d;border:1px solid #ffffff1f;border-radius:4px;color:var(--text-secondary);cursor:none;display:inline-flex;font-size:.8rem;font-weight:500;gap:6px;padding:7px 14px;transition:all .25s ease}.btn-expand:hover{background:#ffffff1a;color:var(--text-primary)}.expand-icon{color:var(--neon-cyan);font-size:.85rem}.project-link{font-size:.85rem;font-weight:600;letter-spacing:.03em;text-decoration:none;transition:all .25s ease}.project-link-cyan{color:var(--neon-cyan)}.project-link-pink{color:var(--neon-pink)}.project-link-purple{color:#a78bfa}.project-link-green{color:var(--neon-green)}.project-link:hover{opacity:.8}.card-glow-line{bottom:0;height:2px;left:0;position:absolute;right:0;transform:scaleX(0);transform-origin:left;transition:transform .4s ease}.project-card:hover .card-glow-line{transform:scaleX(1)}.glow-cyan{background:var(--neon-cyan);box-shadow:0 0 8px var(--neon-cyan)}.glow-pink{background:var(--neon-pink);box-shadow:0 0 8px var(--neon-pink)}.glow-purple{background:var(--neon-purple);box-shadow:0 0 8px var(--neon-purple)}.glow-green{background:var(--neon-green);box-shadow:0 0 8px var(--neon-green)}.no-items{color:var(--text-secondary);grid-column:1/-1;padding:80px 20px;text-align:center}.no-items-icon{color:var(--text-muted);display:block;font-size:3rem;margin-bottom:16px}.modal-overlay{align-items:center;animation:modalFadeIn .25s ease;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#030308d9;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:9000}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}.modal-card{animation:modalSlideIn .3s ease;background:var(--bg-card);border:1px solid #ffffff1a;border-radius:16px;max-height:85vh;max-width:600px;overflow-y:auto;padding:36px;position:relative;width:100%}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.modal-card-cyan{border-color:#00f5ff33}.modal-card-pink{border-color:#ff008033}.modal-card-purple{border-color:#7c3aed33}.modal-card-green{border-color:#0f83}.modal-close{align-items:center;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:50%;color:var(--text-secondary);cursor:none;display:flex;font-size:.8rem;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .25s ease;width:32px}.modal-close:hover{background:#ffffff1f;color:var(--text-bright)}.modal-cat-badge{display:inline-block;margin-bottom:12px}.modal-title{color:var(--text-bright);font-family:Space Grotesk,sans-serif;font-size:1.6rem;font-weight:700;margin-bottom:14px}.modal-desc{color:var(--text-secondary);font-size:.95rem;line-height:1.8;margin-bottom:24px}.modal-images{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.modal-img{aspect-ratio:16/10;border:1px solid #ffffff14;border-radius:8px;object-fit:cover;width:100%}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.modal-card{padding:24px}}.contact{background:var(--bg-void);min-height:100vh;padding:120px 0 80px;position:relative}.contact:before{background:radial-gradient(ellipse 50% 60% at 70% 30%,#00f5ff0a 0,#0000 60%),radial-gradient(ellipse 60% 40% at 20% 80%,#ff00800a 0,#0000 60%);content:"";inset:0;pointer-events:none;position:absolute}.contact-container{margin:0 auto;max-width:1100px;padding:0 24px;position:relative;z-index:1}.contact-header{margin-bottom:60px}.contact-layout{grid-gap:60px;align-items:start;display:grid;gap:60px;grid-template-columns:1fr 1.3fr}.contact-sub-title{font-family:Space Grotesk,sans-serif;font-size:1.6rem;font-weight:700;margin-bottom:14px}.contact-blurb{color:var(--text-secondary);font-size:.95rem;line-height:1.8;margin-bottom:32px;max-width:380px}.contact-methods{display:flex;flex-direction:column;gap:14px}.contact-item{align-items:center;background:#0d0d2899;border:1px solid #00f5ff1a;border-radius:10px;display:flex;gap:14px;padding:16px 18px;transition:all .3s ease}.contact-item:hover{background:#00f5ff0a;border-color:#00f5ff40;transform:translateX(6px)}.contact-icon{align-items:center;background:#00f5ff14;border:1px solid #00f5ff33;border-radius:8px;color:var(--neon-cyan);display:flex;flex-shrink:0;font-size:1.1rem;height:44px;justify-content:center;width:44px}.contact-details{display:flex;flex-direction:column;gap:2px}.contact-platform{color:var(--text-muted);font-family:Fira Code,monospace;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.contact-value{color:var(--text-primary);font-size:.9rem;font-weight:500;word-break:break-all}.no-contact-text{color:var(--text-muted);font-size:.9rem;padding:20px 0}.contact-form-card{background:#0d0d28b3;border:1px solid #00f5ff1a;border-radius:16px;padding:36px}.form-title{color:var(--text-bright);font-family:Space Grotesk,sans-serif;font-size:1.25rem;font-weight:700;margin-bottom:28px}.contact-form{gap:20px}.contact-form,.form-field{display:flex;flex-direction:column}.form-field{gap:7px}.form-label{color:var(--text-secondary);font-family:Fira Code,monospace;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.form-input,.form-textarea{background:#ffffff0a;border:1px solid #00f5ff26;border-radius:8px;color:var(--text-primary);font-family:var(--font-body);font-size:.9rem;outline:none;padding:13px 16px;resize:none;transition:all .3s ease}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-input:focus,.form-textarea:focus{background:#00f5ff0a;border-color:#00f5ff80;box-shadow:0 0 0 3px #00f5ff14}.input-error{border-color:#ff505066!important}.input-error:focus{box-shadow:0 0 0 3px #ff505014!important}.field-error{color:#ff6b6b;font-family:Fira Code,monospace;font-size:.75rem}.form-status{border-radius:8px;font-size:.85rem;font-weight:500;padding:12px 16px}.status-success{background:#00ff8814;border:1px solid #00ff8840;color:var(--neon-green)}.status-error{background:#ff505014;border:1px solid #ff505040;color:#ff6b6b}.form-submit{align-items:center;align-self:flex-start;background:#0000;border:1px solid var(--neon-cyan);border-radius:4px;color:var(--neon-cyan);cursor:none;display:inline-flex;font-family:Space Grotesk,sans-serif;font-size:.9rem;font-weight:600;gap:10px;justify-content:center;letter-spacing:.05em;overflow:hidden;padding:14px 28px;position:relative;text-transform:uppercase;transition:all .3s ease}.form-submit:before{background:var(--neon-cyan);content:"";inset:0;position:absolute;transform:translateX(-101%);transition:transform .3s ease;z-index:-1}.form-submit:not(:disabled):hover{box-shadow:var(--glow-cyan);color:var(--bg-void)}.form-submit:not(:disabled):hover:before{transform:translateX(0)}.form-submit:disabled{cursor:not-allowed;opacity:.7}.form-submit.sending{border-color:#00f5ff66;gap:8px}@media (max-width:860px){.contact-layout{gap:40px;grid-template-columns:1fr}.contact-form-card{padding:24px}.contact-blurb{max-width:100%}}@media (max-width:480px){.contact{padding-top:100px}.contact-form-card{padding:20px}}
/*# sourceMappingURL=main.91a8151c.css.map*/