@import url(https://fonts.googleapis.com/css2?family=Sora:wght@300;400;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap);*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--bg:#050a12;--surface:#ffffff0a;--border:#ffffff14;--accent:#4fc3f7;--accent2:#81d4fa;--text:#e8f4fd;--muted:#7a99b0;--card:#0a1928b3;--glow:#4fc3f726}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 50% -20%,#07111f 0,#050a12 48%);background:radial-gradient(circle at 50% -20%,#07111f 0,var(--bg) 48%);color:#e8f4fd;color:var(--text);font-family:Sora,sans-serif;line-height:1.6;overflow-x:hidden}#stars-canvas{z-index:0}#stars-canvas,.launch-intro{inset:0;pointer-events:none;position:fixed}.launch-intro{animation:launchIntroReveal .7s 2.05s forwards;background:#050a12;background:var(--bg);overflow:hidden;z-index:200}.launch-intro:after{background:radial-gradient(circle at 35% 65%,#4fc3f70f,#0000 24%);content:"";inset:0;position:absolute}.launch-intro-stars{animation:launchStarsIn .55s .25s forwards;background-image:radial-gradient(circle at 14% 75%,#e8f4fd 0 1px,#0000 1.5px),radial-gradient(circle at 31% 42%,#e8f4fd 0 1px,#0000 1.5px),radial-gradient(circle at 58% 19%,#e8f4fd 0 1px,#0000 1.5px),radial-gradient(circle at 82% 33%,#e8f4fd 0 1px,#0000 1.5px),radial-gradient(circle at 73% 81%,#e8f4fd 0 1px,#0000 1.5px),radial-gradient(circle at 44% 88%,#e8f4fd 0 1px,#0000 1.5px);background-image:radial-gradient(circle at 14% 75%,var(--text) 0 1px,#0000 1.5px),radial-gradient(circle at 31% 42%,var(--text) 0 1px,#0000 1.5px),radial-gradient(circle at 58% 19%,var(--text) 0 1px,#0000 1.5px),radial-gradient(circle at 82% 33%,var(--text) 0 1px,#0000 1.5px),radial-gradient(circle at 73% 81%,var(--text) 0 1px,#0000 1.5px),radial-gradient(circle at 44% 88%,var(--text) 0 1px,#0000 1.5px);inset:0;opacity:0;position:absolute}.launch-path{animation:pathDraw .8s cubic-bezier(.22,.7,.2,1) .32s forwards;background:#4fc3f7;background:var(--accent);box-shadow:0 0 10px #4fc3f773,0 0 26px #4fc3f729;height:1px;left:-20%;opacity:0;position:absolute;top:59%;transform:rotate(-28deg) scaleX(0);transform-origin:left center;width:140%}.launch-rocket{animation:rocketFlight 1.35s cubic-bezier(.3,.78,.2,1) .72s forwards;border:1px solid #81d4fa;border:1px solid var(--accent2);border-radius:70% 38% 38% 70%;height:16px;left:14%;opacity:0;top:64%;transform:rotate(-28deg);width:42px}.launch-rocket,.launch-rocket:before{background:#050a12;background:var(--bg);position:absolute}.launch-rocket:before{border-right:1px solid #81d4fa;border-right:1px solid var(--accent2);border-top:1px solid #81d4fa;border-top:1px solid var(--accent2);content:"";height:10px;right:-7px;top:2px;transform:rotate(45deg);width:10px}.rocket-window{background:#4fc3f733;border:1px solid #4fc3f7;border:1px solid var(--accent);border-radius:50%;height:6px;position:absolute;right:12px;top:4px;width:6px}.rocket-fin{background:#4fc3f71f;border-left:1px solid #4fc3f7;border-left:1px solid var(--accent);height:7px;left:8px;position:absolute;width:8px}.rocket-fin-left{top:-6px;transform:skewX(-24deg)}.rocket-fin-right{bottom:-6px;transform:skewX(24deg)}.rocket-flame{animation:flamePulse .22s ease-in-out infinite alternate;background:#4fc3f7;background:var(--accent);border-radius:50%;box-shadow:-9px 0 12px #4fc3f759;filter:blur(2px);height:5px;left:-13px;opacity:.7;position:absolute;top:5px;width:16px}.launch-intro.is-closing{animation:launchIntroExit .65s cubic-bezier(.7,0,.84,0) forwards}@keyframes launchStarsIn{to{opacity:.26}}@keyframes pathDraw{to{opacity:.85;transform:rotate(-28deg) scaleX(1)}}@keyframes rocketFlight{0%{opacity:0;transform:translate(0) rotate(-28deg) scale(.72)}12%{opacity:1}to{opacity:1;transform:translate(68vw,-58vh) rotate(-28deg) scale(.92)}}@keyframes flamePulse{to{opacity:.95;transform:scaleX(1.25)}}@keyframes launchIntroReveal{to{opacity:1}}@keyframes launchIntroExit{to{opacity:0;transform:translate(100%,-100%)}}@media (max-width:600px){.launch-path{top:62%;transform:rotate(-34deg) scaleX(0)}.launch-rocket{left:8%;top:68%}@keyframes pathDraw{to{opacity:.8;transform:rotate(-34deg) scaleX(1)}}@keyframes rocketFlight{0%{opacity:0;transform:translate(0) rotate(-34deg) scale(.68)}12%{opacity:1}to{opacity:1;transform:translate(66vw,-62vh) rotate(-34deg) scale(.82)}}}nav{align-items:center;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#050a129e;border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;left:0;padding:1.2rem 6vw;position:fixed;right:0;top:0;z-index:100}.nav-logo{color:#4fc3f7;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:1rem;letter-spacing:.08em}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{color:#7a99b0;color:var(--muted);font-size:.85rem;letter-spacing:.06em;text-decoration:none;text-transform:uppercase;transition:color .3s}.nav-links a:hover{color:#4fc3f7;color:var(--accent)}.nav-links a{position:relative}.nav-links a:after{background:#4fc3f7;background:var(--accent);bottom:-.6rem;content:"";height:1px;left:0;position:absolute;right:0;transform:scaleX(0);transition:transform .3s ease}.nav-links a.active{color:#e8f4fd;color:var(--text)}.nav-links a.active:after{transform:scaleX(1)}section{margin:0 auto;max-width:1100px;padding:0 6vw;position:relative;z-index:1}#hero{display:flex;flex-direction:column;justify-content:center;min-height:100dvh;padding-top:5rem}.hero-inner{align-items:center;display:flex;gap:3rem;justify-content:space-between;position:relative}.hero-content{flex:1 1;min-width:0}.hero-visual{animation:fadeUp 1s .5s both;aspect-ratio:1;flex-shrink:0;opacity:.7;position:relative;width:min(36vw,390px)}.hero-orbit{border:1px solid #4fc3f738;border-radius:50%;box-shadow:0 0 30px #4fc3f70f;inset:8%;position:absolute;transform:rotate(-18deg) scaleY(.55)}.hero-orbit-one{animation:orbitDrift 14s linear infinite}.hero-orbit-two{animation:orbitDriftReverse 18s linear infinite;inset:20% -4%;opacity:.55;transform:rotate(62deg) scaleY(.42)}.hero-orbit-core{background:radial-gradient(circle,#81d4fa6b,#4fc3f714 35%,#0000 70%);box-shadow:0 0 70px #4fc3f72e;inset:34%}.hero-orbit-core,.hero-orbit-dot{border-radius:50%;position:absolute}.hero-orbit-dot{background:#81d4fa;background:var(--accent2);box-shadow:0 0 14px #4fc3f7;box-shadow:0 0 14px var(--accent);height:7px;width:7px}.hero-orbit-dot-one{right:15%;top:16%}.hero-orbit-dot-two{bottom:18%;height:4px;left:12%;opacity:.7;width:4px}@keyframes orbitDrift{to{transform:rotate(342deg) scaleY(.55)}}@keyframes orbitDriftReverse{to{transform:rotate(-298deg) scaleY(.42)}}.hero-photo-wrap{display:none}.hero-photo{border:1px solid #81d4fa80;border-radius:50%;box-shadow:0 0 42px #4fc3f72e;filter:saturate(.75) contrast(1.04);height:50%;inset:25%;object-fit:cover;object-position:top center;position:absolute;width:50%;z-index:1}.hero-label{animation:fadeUp .8s .2s forwards;font-family:JetBrains Mono,monospace;font-size:.8rem;letter-spacing:.2em;margin-bottom:1.2rem;opacity:0;text-transform:uppercase}h1{animation:fadeUp .8s .4s forwards;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:800;letter-spacing:-.02em;line-height:1.05;opacity:0}.hero-sub{animation:fadeUp .8s .6s forwards;color:#7a99b0;color:var(--muted);font-size:1.1rem;margin-top:1.5rem;max-width:560px;opacity:0}.hero-ctas{animation:fadeUp .8s .8s forwards;display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.5rem;opacity:0}.btn,.hero-ctas{align-items:center}.btn{border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:600;gap:.5rem;letter-spacing:.04em;padding:.75rem 1.8rem;text-decoration:none;transition:all .3s}.btn-primary{border:2px solid #4fc3f7;border:2px solid var(--accent);color:#050a12}.btn-primary:hover{color:#4fc3f7;color:var(--accent)}.btn-ghost{background:#0000;border:2px solid #ffffff14;border:2px solid var(--border);color:#7a99b0;color:var(--muted)}.btn-ghost:hover{border-color:#4fc3f7;border-color:var(--accent);color:#4fc3f7;color:var(--accent)}.sec-header{align-items:center;display:flex;gap:1rem;margin-bottom:3rem;padding-top:6rem}.sec-num{color:#4fc3f7;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:.15em}.sec-title{font-size:1.8rem;font-weight:700;letter-spacing:-.01em}.sec-line{background:#ffffff14;background:var(--border);flex:1 1;height:1px}.about-grid{grid-gap:3rem;align-items:center;display:grid;gap:3rem;grid-template-columns:1fr 1fr}.about-text p{color:#7a99b0;color:var(--muted);line-height:1.85;margin-bottom:1rem}.about-text p strong{color:#e8f4fd;color:var(--text)}.about-stats{grid-gap:1.2rem;display:grid;gap:1.2rem;grid-template-columns:1fr 1fr}.stat-card{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1928b3;background:var(--card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:12px;padding:1.4rem;text-align:center;transition:border-color .3s,transform .3s}.stat-card:hover{border-color:#4fc3f7;border-color:var(--accent);transform:translateY(-3px)}.stat-num{color:#4fc3f7;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:2rem;font-weight:800}.stat-label{color:#7a99b0;color:var(--muted);font-size:.8rem;margin-top:.3rem}.skills-grid{grid-gap:1.4rem;display:grid;gap:1.4rem;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.skill-category{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1928b3;background:var(--card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;padding:1.6rem;transition:border-color .3s,box-shadow .3s}.skill-category:hover{border-color:#4fc3f7;border-color:var(--accent);box-shadow:0 0 24px #4fc3f726;box-shadow:0 0 24px var(--glow)}.skill-cat-title{color:#4fc3f7;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:.15em;margin-bottom:1rem;text-transform:uppercase}.tags{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background:#4fc3f714;border:1px solid #4fc3f733;border-radius:99px;font-family:JetBrains Mono,monospace;font-size:.78rem;padding:.3rem .75rem;transition:background .2s}.tag:hover{background:#4fc3f72e}.projects-grid{grid-gap:1.6rem;display:grid;gap:1.6rem}.project-card{grid-gap:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1928b3;background:var(--card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:14px;display:grid;gap:1rem;grid-template-columns:1fr auto;isolation:isolate;overflow:hidden;padding:2.1rem 2rem 1.9rem;position:relative;transition:border-color .3s,transform .3s,box-shadow .3s,background .3s}.project-card:before{background:#4fc3f7;background:var(--accent);content:"";inset:0 auto 0 0;opacity:.45;position:absolute;transition:opacity .3s,width .3s;width:3px}.project-card:after{background:#4fc3f726;background:var(--glow);border-radius:50%;content:"";filter:blur(24px);height:180px;opacity:.45;pointer-events:none;position:absolute;right:-70px;top:-110px;width:180px;z-index:-1}.project-card:hover{background:#0a1928d1;border-color:#4fc3f7;border-color:var(--accent);box-shadow:0 14px 40px #00000059,0 0 30px #4fc3f726;box-shadow:0 14px 40px #00000059,0 0 30px var(--glow);transform:translateY(-4px)}.project-card:hover:before{opacity:1;width:5px}.project-card>div{min-width:0}.project-card>div:first-child:before{color:#4fc3f7;color:var(--accent);content:"PROJECT";display:block;font:500 .65rem/1 JetBrains Mono,monospace;letter-spacing:.18em;margin-bottom:.8rem;opacity:.8}.project-name{color:#e8f4fd;color:var(--text);font-size:1.2rem;font-weight:700;margin-bottom:.5rem}.project-badge{background:#4fc3f71f;border:1px solid #4fc3f740;border-radius:4px;color:#4fc3f7;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:.7rem;margin-left:.6rem;padding:.2rem .6rem;vertical-align:middle}.project-desc{color:#7a99b0;color:var(--muted);font-size:.92rem;line-height:1.75;margin-bottom:1.15rem;max-width:680px}.project-features{list-style:none}.project-features li{color:#7a99b0;color:var(--muted);font-size:.85rem;padding:.25rem 0 .25rem 1.1rem;position:relative}.project-features li:before{color:#4fc3f7;color:var(--accent);content:"▸";font-size:.75rem;left:0;position:absolute}.project-features li+li{margin-top:.12rem}.project-icon{align-self:start;font-size:2.5rem;opacity:.6}.training-list{grid-gap:1.2rem;display:grid;gap:1.2rem}.training-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1928b3;background:var(--card);border:1px solid #ffffff14;border:1px solid var(--border);border-radius:12px;display:flex;gap:1.5rem;padding:1.5rem 1.8rem;transition:border-color .3s}.training-card:hover{border-color:#4fc3f7;border-color:var(--accent)}.training-hours{color:#4fc3f7;color:var(--accent);font-family:JetBrains Mono,monospace;font-size:1.4rem;font-weight:700;min-width:60px;text-align:center}.training-hrs-label{color:#7a99b0;color:var(--muted);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase}.training-divider{background:#ffffff14;background:var(--border);height:40px;width:1px}.training-name{font-size:1rem;font-weight:600}.training-org{color:#7a99b0;color:var(--muted);font-size:.83rem;margin-top:.2rem}.contact-wrap{padding:5rem 0 8rem;text-align:center}.contact-wrap h2{font-size:2.5rem;font-weight:800;margin-bottom:.8rem}.contact-wrap p{color:#7a99b0;color:var(--muted);margin-bottom:2.5rem;margin-left:auto;margin-right:auto;max-width:440px}.contact-links{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center}footer{border-top:1px solid #ffffff14;border-top:1px solid var(--border);color:#7a99b0;color:var(--muted);font-family:JetBrains Mono,monospace;font-size:.8rem;padding:1.5rem;position:relative;text-align:center;z-index:1}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.reveal{opacity:0;transform:translateY(30px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}.nav-burger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:5px;justify-content:center;padding:4px;z-index:110}.nav-burger span{background:#4fc3f7;background:var(--accent);border-radius:2px;display:block;height:2px;transform-origin:center;transition:transform .3s,opacity .3s;width:24px}.nav-burger.open span:first-child{transform:translateY(7px) rotate(45deg)}.nav-burger.open span:nth-child(2){opacity:0;transform:scaleX(0)}.nav-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);display:none;left:0;max-height:0;overflow:hidden;padding:0;position:fixed;right:0;top:60px;transition:max-height .35s ease,padding .35s ease;z-index:99}.mobile-menu.visible{max-height:400px;padding:1rem 0 1.5rem}.mobile-menu ul{display:flex;flex-direction:column;gap:0;list-style:none}.mobile-menu ul li a{border-bottom:1px solid #ffffff14;border-bottom:1px solid var(--border);color:#7a99b0;color:var(--muted);display:block;font-size:.95rem;letter-spacing:.06em;padding:.85rem 6vw;text-decoration:none;text-transform:uppercase;transition:color .2s,background .2s}.mobile-menu ul li:last-child a{border-bottom:none}.mobile-menu ul li a:hover{background:#4fc3f70d;color:#4fc3f7;color:var(--accent)}.mobile-backdrop{background:#0006;inset:0;position:fixed;z-index:98}@media (min-width:601px) and (max-width:1024px){nav{padding:1.1rem 4vw}.nav-links{gap:1.4rem}.nav-links a{font-size:.8rem}section{padding:0 5vw}.hero-inner{gap:2.5rem}.hero-photo{height:230px;width:230px}.about-grid{gap:2rem}.stat-num{font-size:1.6rem}.skills-grid{grid-template-columns:repeat(2,1fr)}.project-card{padding:1.5rem}.training-card{gap:1.2rem;padding:1.2rem 1.4rem}.contact-wrap{padding:4rem 0 6rem}.contact-wrap h2{font-size:2rem}footer{padding:1.2rem}}@media (max-width:600px){nav{padding:1rem 5vw}.nav-links{display:none}.nav-burger{display:flex}.mobile-menu{display:block}section{padding:0 5vw}#hero{min-height:100svh;padding-top:6rem}.hero-inner{align-items:center;flex-direction:column-reverse;gap:2rem;text-align:center}.hero-photo{height:170px;width:170px}.hero-label{font-size:.72rem;letter-spacing:.14em}h1{font-size:clamp(2.2rem,11vw,3.2rem)}.hero-sub{font-size:.97rem;margin-left:auto;margin-right:auto;max-width:100%}.hero-ctas{align-items:center;flex-direction:column}.btn,.hero-ctas{justify-content:center}.btn{width:100%}.sec-header{margin-bottom:2rem;padding-top:4.5rem}.sec-title{font-size:1.4rem}.about-grid{gap:2rem;grid-template-columns:1fr}.about-stats{gap:.8rem;grid-template-columns:1fr 1fr}.stat-card{padding:1rem}.stat-num{font-size:1.6rem}.stat-label{font-size:.72rem}.project-card,.skills-grid{grid-template-columns:1fr}.project-card{padding:1.4rem}.project-icon{display:none}.project-name{font-size:1.05rem}.project-badge{display:block;margin:.4rem 0 0}.training-card{flex-wrap:wrap;gap:1rem;padding:1rem 1.2rem}.training-hours{font-size:1.2rem;min-width:48px}.training-name{font-size:.92rem}.training-org{font-size:.78rem}.contact-wrap{padding:3rem 0 5rem}.contact-wrap h2{font-size:1.8rem}.contact-links{align-items:center;flex-direction:column}.contact-links .btn{justify-content:center;width:100%}footer{font-size:.72rem;padding:1.2rem 1rem}}.github-btn{align-items:center;background:#0000;border:1px solid #ffffff14;border:1px solid var(--border);border-radius:8px;color:#7a99b0;color:var(--muted);display:inline-flex;font-size:1.2rem;height:42px;justify-content:center;transition:all .3s ease;width:42px}.github-btn:hover{border-color:#4fc3f7;border-color:var(--accent);box-shadow:0 0 15px #4fc3f726;box-shadow:0 0 15px var(--glow);transform:translateY(-2px)}.github-btn:hover,.project-link{color:#4fc3f7;color:var(--accent)}.project-link{align-items:center;align-self:end;background:#4fc3f712;border:1px solid #4fc3f73d;border-radius:6px;display:inline-flex;font-size:.78rem;font-weight:600;gap:8px;letter-spacing:.03em;margin-top:24px;padding:9px 15px;text-decoration:none;transition:color .25s ease,background .25s ease,border-color .25s ease,transform .25s ease}.project-link span{font-size:18px;line-height:1;transition:transform .25s ease}.project-link:hover{background:#4fc3f729;border-color:#4fc3f7;border-color:var(--accent);color:#e8f4fd;color:var(--text);transform:translateY(-2px)}.project-link:hover span{transform:translate(3px,-3px)}.project-link:focus-visible{outline:2px solid #81d4fa;outline:2px solid var(--accent2);outline-offset:4px}.project-link:active{transform:translateY(0)}section:not(#hero):before{background:linear-gradient(#4fc3f7,#0000);background:linear-gradient(var(--accent),#0000);content:"";height:4rem;left:0;opacity:.4;position:absolute;top:4rem;width:1px}.hero-content{position:relative;z-index:2}.hero-label{color:#4fc3f7;color:var(--accent)}.hero-sub{max-width:510px}h1 span{color:#4fc3f7;color:var(--accent)}.btn{border-radius:4px}.btn-primary{background:#4fc3f7;background:var(--accent);border-color:#4fc3f7;border-color:var(--accent)}.btn-primary:hover{background:#0000;color:#81d4fa;color:var(--accent2)}.btn:focus-visible,.github-btn:focus-visible,.nav-burger:focus-visible{outline:2px solid #81d4fa;outline:2px solid var(--accent2);outline-offset:4px}.tag{background:#4fc3f70f;border-color:#4fc3f72e;border-radius:4px;color:#81d4fa;color:var(--accent2)}.tag:hover{background:#4fc3f724}.project-badge{background:#4fc3f714;border-color:#4fc3f740}.project-link{background:#4fc3f70f;border-color:#4fc3f73d;color:#81d4fa;color:var(--accent2)}.project-link:hover{background:#4fc3f724}.mobile-menu{background:#050a12f7}.mobile-menu ul li a:hover{background:#4fc3f70f}.mobile-menu ul li a.active{color:#4fc3f7;color:var(--accent)}.contact-wrap{isolation:isolate;position:relative}.contact-wrap:before{background:radial-gradient(ellipse,#4fc3f71a,#0000 68%);content:"";height:12rem;left:50%;pointer-events:none;position:absolute;top:20%;transform:translateX(-50%);width:24rem;z-index:-1}@media (max-width:600px){.hero-visual{margin-top:-1rem;order:2;width:min(76vw,310px)}.hero-inner{gap:1rem}.hero-content{order:1}.hero-orbit{opacity:.7}.hero-ctas{margin-top:1.8rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
/*# sourceMappingURL=main.0a51d608.css.map*/