*,:before,:after{box-sizing:border-box}:root{--bg:#0a0a14;--bg-alt:#0f0f1e;--card-bg:#112;--border:#ffffff14;--accent:#63b3ed;--accent-light:#90cdf4;--text-primary:#f0f4f8;--text-secondary:#a0aec0;--text-muted:#4a5568;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:16px;line-height:1.6}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text-primary);margin:0}#app{min-height:100vh}h1,h2,h3,h4,h5,h6{color:var(--text-primary);margin:0}p,ul{margin:0}.section{padding:5rem 2rem}.section-alt{background:var(--bg-alt)}.container{max-width:820px;margin:0 auto}.container-wide{max-width:1100px;margin:0 auto}.section-title{margin-bottom:2.5rem;font-size:1.75rem;font-weight:700;display:inline-block;position:relative}.section-title:after{content:"";background:linear-gradient(90deg, var(--accent), transparent);border-radius:2px;width:2.5rem;height:3px;position:absolute;bottom:-8px;left:0}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}.navbar[data-v-c7d41c3d]{z-index:100;padding:1.2rem 2rem;transition:background .3s,box-shadow .3s;position:fixed;top:0;left:0;right:0}.navbar.scrolled[data-v-c7d41c3d]{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0a14eb;box-shadow:0 1px #ffffff0f}.nav-inner[data-v-c7d41c3d]{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;display:flex}.nav-logo[data-v-c7d41c3d]{color:var(--accent);letter-spacing:.05em;font-size:1.4rem;font-weight:700;text-decoration:none}.nav-links[data-v-c7d41c3d]{gap:2rem;margin:0;padding:0;list-style:none;display:flex}.nav-links a[data-v-c7d41c3d]{color:var(--text-secondary);padding-bottom:2px;font-size:.9rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.nav-links a[data-v-c7d41c3d]:after{content:"";background:var(--accent);border-radius:2px;width:0;height:2px;transition:width .25s;position:absolute;bottom:-2px;left:0}.nav-links a[data-v-c7d41c3d]:hover,.nav-links a.active[data-v-c7d41c3d]{color:var(--accent)}.nav-links a.active[data-v-c7d41c3d]:after,.nav-links a[data-v-c7d41c3d]:hover:after{width:100%}.hamburger[data-v-c7d41c3d]{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.hamburger span[data-v-c7d41c3d]{background:var(--text-secondary);border-radius:2px;width:22px;height:2px;transition:background .2s;display:block}.hamburger:hover span[data-v-c7d41c3d]{background:var(--accent)}.mobile-menu[data-v-c7d41c3d]{background:#0a0a14f7;flex-direction:column;margin:0;padding:.5rem 0;list-style:none;display:none}.mobile-menu a[data-v-c7d41c3d]{color:var(--text-secondary);padding:.8rem 2rem;font-size:1rem;text-decoration:none;transition:color .2s;display:block}.mobile-menu a[data-v-c7d41c3d]:hover,.mobile-menu a.active[data-v-c7d41c3d]{color:var(--accent)}@media (width<=680px){.nav-links[data-v-c7d41c3d]{display:none}.hamburger[data-v-c7d41c3d],.mobile-menu.open[data-v-c7d41c3d]{display:flex}}.hero[data-v-06988eeb]{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:7rem 2rem 4rem;display:flex;position:relative;overflow:hidden}.hero-bg[data-v-06988eeb]{pointer-events:none;position:absolute;inset:0}.hero-dots[data-v-06988eeb]{background-image:radial-gradient(#63b3ed2e 1px,#0000 1px);background-size:36px 36px;animation:6s ease-in-out infinite alternate dotFade-06988eeb;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%);mask-image:radial-gradient(80% 80%,#000 30%,#0000 100%)}@keyframes dotFade-06988eeb{0%{opacity:.5}to{opacity:1}}.hero-orb[data-v-06988eeb]{filter:blur(90px);border-radius:50%;position:absolute}.hero-orb-1[data-v-06988eeb]{background:var(--accent);opacity:.13;width:650px;height:650px;animation:14s ease-in-out infinite alternate orbFloat1-06988eeb;top:-180px;right:-80px}.hero-orb-2[data-v-06988eeb]{opacity:.15;background:#805ad5;width:450px;height:450px;animation:18s ease-in-out infinite alternate orbFloat2-06988eeb;bottom:-80px;left:-120px}.hero-orb-3[data-v-06988eeb]{opacity:.08;background:#e53e6d;width:320px;height:320px;animation:22s ease-in-out infinite alternate orbFloat3-06988eeb;top:40%;left:35%}@keyframes orbFloat1-06988eeb{0%{transform:translate(0)scale(1)}50%{transform:translate(-60px,40px)scale(1.1)}to{transform:translate(30px,-50px)scale(.95)}}@keyframes orbFloat2-06988eeb{0%{transform:translate(0)scale(1)}50%{transform:translate(70px,-40px)scale(1.08)}to{transform:translate(-30px,60px)scale(.92)}}@keyframes orbFloat3-06988eeb{0%{transform:translate(0)scale(1)}33%{transform:translate(80px,-60px)scale(1.15)}66%{transform:translate(-50px,40px)scale(.9)}to{transform:translate(40px,70px)scale(1.05)}}.hero-container[data-v-06988eeb]{grid-template-columns:1fr 1fr;align-items:center;gap:4rem;width:100%;display:grid}.hero-content[data-v-06988eeb]{animation:.8s both fadeUp-06988eeb}.hero-greeting[data-v-06988eeb]{color:var(--accent);letter-spacing:.05em;margin-bottom:.4rem;font-size:1.1rem;font-weight:500;animation:.8s .1s both fadeUp-06988eeb}.hero-name[data-v-06988eeb]{background:linear-gradient(135deg, #fff 40%, var(--accent));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .4rem;font-size:clamp(2.8rem,5.5vw,4.5rem);font-weight:800;line-height:1.05;animation:.8s .2s both fadeUp-06988eeb}.hero-title[data-v-06988eeb]{color:var(--text-secondary);margin:0 0 .5rem;font-size:clamp(1rem,2.2vw,1.4rem);font-weight:400;animation:.8s .3s both fadeUp-06988eeb}.hero-sub[data-v-06988eeb]{color:var(--text-muted);letter-spacing:.03em;margin-bottom:2.5rem;font-size:.95rem;animation:.8s .4s both fadeUp-06988eeb}.hero-actions[data-v-06988eeb]{flex-wrap:wrap;gap:1rem;animation:.8s .5s both fadeUp-06988eeb;display:flex}.btn[data-v-06988eeb]{cursor:pointer;border-radius:8px;padding:.75rem 1.75rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s}.btn-primary[data-v-06988eeb]{background:var(--accent);color:#0a0a14}.btn-primary[data-v-06988eeb]:hover{background:var(--accent-light);transform:translateY(-2px);box-shadow:0 8px 24px #63b3ed4d}.btn-outline[data-v-06988eeb]{color:var(--accent);background:0 0;border:1.5px solid #63b3ed66}.btn-outline[data-v-06988eeb]:hover{border-color:var(--accent);background:#63b3ed14;transform:translateY(-2px)}.hero-visual[data-v-06988eeb]{animation:.8s .35s both fadeUp-06988eeb}.code-card[data-v-06988eeb]{background:#0d0d1a;border:1px solid #ffffff14;border-radius:14px;font-family:Fira Code,Cascadia Code,JetBrains Mono,Courier New,monospace;font-size:.875rem;overflow:hidden;box-shadow:0 24px 64px #00000080,0 0 0 1px #63b3ed0f}.code-header[data-v-06988eeb]{background:#0a0a14;border-bottom:1px solid #ffffff0f;align-items:center;gap:.4rem;padding:.75rem 1rem;display:flex}.dot[data-v-06988eeb]{border-radius:50%;width:12px;height:12px}.dot.red[data-v-06988eeb]{background:#ff5f57}.dot.yellow[data-v-06988eeb]{background:#febc2e}.dot.green[data-v-06988eeb]{background:#28c840}.code-filename[data-v-06988eeb]{color:var(--text-muted);margin-left:.5rem;font-size:.78rem}.code-body[data-v-06988eeb]{padding:1.25rem 1.5rem;line-height:1.9}.code-line[data-v-06988eeb]{white-space:pre}.indent[data-v-06988eeb]{padding-left:1.5rem}.indent2[data-v-06988eeb]{padding-left:3rem}.kw[data-v-06988eeb]{color:#c678dd}.var[data-v-06988eeb]{color:#e06c75}.key[data-v-06988eeb]{color:#e5c07b}.str[data-v-06988eeb]{color:#98c379}.num[data-v-06988eeb]{color:#d19a66}.bool[data-v-06988eeb]{color:#56b6c2}.punc[data-v-06988eeb]{color:#5c6370}.cursor[data-v-06988eeb]{background:var(--accent);vertical-align:text-bottom;width:2px;height:1em;margin-left:2px;animation:1.1s step-end infinite blink-06988eeb;display:inline-block}@keyframes blink-06988eeb{0%,to{opacity:1}50%{opacity:0}}.hero-scroll-hint[data-v-06988eeb]{text-decoration:none;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.hero-scroll-hint span[data-v-06988eeb]{border:2px solid #ffffff26;border-radius:12px;width:20px;height:34px;transition:border-color .2s;display:block;position:relative}.hero-scroll-hint:hover span[data-v-06988eeb]{border-color:var(--accent)}.hero-scroll-hint span[data-v-06988eeb]:after{content:"";background:var(--accent);border-radius:2px;width:4px;height:8px;animation:1.6s infinite scrollDot-06988eeb;position:absolute;top:5px;left:50%;transform:translate(-50%)}@keyframes scrollDot-06988eeb{0%{opacity:1;top:5px}to{opacity:0;top:18px}}@keyframes fadeUp-06988eeb{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (width<=860px){.hero-container[data-v-06988eeb]{text-align:center;grid-template-columns:1fr;gap:3rem}.hero-actions[data-v-06988eeb]{justify-content:center}.hero-visual[data-v-06988eeb]{max-width:420px;margin:0 auto}}@media (width<=480px){.code-card[data-v-06988eeb]{font-size:.78rem}}.about-grid[data-v-3d9c3dc2]{grid-template-columns:1fr auto;align-items:start;gap:3rem;display:grid}.about-text p[data-v-3d9c3dc2]{color:var(--text-secondary);margin-bottom:1.5rem;font-size:1.05rem;line-height:1.8}.about-links[data-v-3d9c3dc2]{flex-direction:column;gap:.75rem;display:flex}.link-item[data-v-3d9c3dc2]{color:var(--accent);align-items:center;gap:.6rem;font-size:.9rem;text-decoration:none;transition:opacity .2s;display:flex}.link-item[data-v-3d9c3dc2]:hover{opacity:.75}.about-stats[data-v-3d9c3dc2]{flex-direction:column;gap:1rem;display:flex}.stat-card[data-v-3d9c3dc2]{background:var(--card-bg);border:1px solid var(--border);text-align:center;border-radius:10px;min-width:130px;padding:1.25rem 1.5rem}.stat-num[data-v-3d9c3dc2]{color:var(--accent);font-size:2rem;font-weight:800;line-height:1;display:block}.stat-label[data-v-3d9c3dc2]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:.3rem;font-size:.8rem;display:block}@media (width<=680px){.about-grid[data-v-3d9c3dc2]{grid-template-columns:1fr}.about-stats[data-v-3d9c3dc2]{flex-direction:row;justify-content:space-between}.stat-card[data-v-3d9c3dc2]{min-width:unset;flex:1;padding:1rem}.stat-num[data-v-3d9c3dc2]{font-size:1.6rem}}.timeline[data-v-fe7ebef0]{padding-left:2rem;position:relative}.timeline[data-v-fe7ebef0]:before{content:"";background:linear-gradient(to bottom, var(--accent), transparent);width:2px;position:absolute;top:8px;bottom:8px;left:0}.timeline-item[data-v-fe7ebef0]{margin-bottom:2.5rem;position:relative}.timeline-item[data-v-fe7ebef0]:last-child{margin-bottom:0}.timeline-dot[data-v-fe7ebef0]{background:var(--accent);border:2px solid var(--bg);border-radius:50%;width:10px;height:10px;position:absolute;top:1.2rem;left:-2.4rem;box-shadow:0 0 0 3px #63b3ed33}.job-card[data-v-fe7ebef0]{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.5rem;transition:border-color .2s,transform .2s}.job-card[data-v-fe7ebef0]:hover{border-color:var(--accent);transform:translate(4px)}.job-header[data-v-fe7ebef0]{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.job-title[data-v-fe7ebef0]{color:var(--text-primary);margin:0 0 .25rem;font-size:1.05rem;font-weight:700}.job-company[data-v-fe7ebef0]{color:var(--accent);font-size:.9rem;font-weight:600}.job-meta[data-v-fe7ebef0]{text-align:right;flex-shrink:0}.job-period[data-v-fe7ebef0]{color:var(--text-muted);font-size:.85rem;font-weight:500;display:block}.job-location[data-v-fe7ebef0]{color:var(--text-muted);margin-top:.2rem;font-size:.8rem;display:block}.job-description[data-v-fe7ebef0]{color:var(--text-secondary);margin-bottom:1rem;font-size:.9rem;line-height:1.7}.job-bullets[data-v-fe7ebef0]{margin:0 0 1rem;padding-left:1.25rem}.job-bullets li[data-v-fe7ebef0]{color:var(--text-secondary);margin-bottom:.4rem;font-size:.88rem;line-height:1.7}.job-bullets li[data-v-fe7ebef0]::marker{color:var(--accent)}.job-skills[data-v-fe7ebef0]{flex-wrap:wrap;gap:.4rem;display:flex}.skill-tag[data-v-fe7ebef0]{color:var(--accent);background:#63b3ed1a;border:1px solid #63b3ed33;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:500}@media (width<=600px){.job-header[data-v-fe7ebef0]{flex-direction:column}.job-meta[data-v-fe7ebef0]{text-align:left}}.edu-grid[data-v-3a5bf750]{gap:1.5rem;display:grid}.edu-card[data-v-3a5bf750]{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;grid-template-columns:48px 1fr;align-items:start;gap:1.25rem;padding:1.5rem;transition:border-color .2s;display:grid}.edu-card[data-v-3a5bf750]:hover{border-color:var(--accent)}.edu-icon[data-v-3a5bf750]{width:48px;height:48px;color:var(--accent);background:#63b3ed1a;border:1px solid #63b3ed33;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.edu-degree[data-v-3a5bf750]{color:var(--text-primary);margin:0 0 .3rem;font-size:1.05rem;font-weight:700}.edu-institution[data-v-3a5bf750]{color:var(--accent);margin:0 0 .2rem;font-size:.9rem;font-weight:600}.edu-period[data-v-3a5bf750]{color:var(--text-muted);margin:0 0 .75rem;font-size:.85rem}.edu-highlights[data-v-3a5bf750]{margin:0;padding-left:1.1rem}.edu-highlights li[data-v-3a5bf750]{color:var(--text-secondary);margin-bottom:.3rem;font-size:.88rem;line-height:1.7}.edu-highlights li[data-v-3a5bf750]::marker{color:var(--accent)}.skills-grid[data-v-1d1e7216]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;display:grid}.skill-group[data-v-1d1e7216]{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;transition:border-color .2s}.skill-group[data-v-1d1e7216]:hover{border-color:var(--accent)}.skill-category[data-v-1d1e7216]{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;margin:0 0 .9rem;font-size:.8rem;font-weight:700}.skill-pills[data-v-1d1e7216]{flex-wrap:wrap;gap:.5rem;display:flex}.skill-pill[data-v-1d1e7216]{border:1px solid var(--border);color:var(--text-secondary);background:#ffffff0d;border-radius:20px;padding:.3rem .8rem;font-size:.85rem;transition:all .2s}.skill-pill[data-v-1d1e7216]:hover{border-color:var(--accent);color:var(--accent);background:#63b3ed1a}.contact-inner[data-v-9e438646]{text-align:center;max-width:600px;margin:0 auto}.contact-text[data-v-9e438646]{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.05rem;line-height:1.8}.contact-links[data-v-9e438646]{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.contact-card[data-v-9e438646]{background:var(--card-bg);border:1px solid var(--border);border-radius:12px;align-items:center;gap:1rem;min-width:220px;padding:1.25rem 1.5rem;text-decoration:none;transition:border-color .2s,transform .2s;display:flex}.contact-card[data-v-9e438646]:hover{border-color:var(--accent);transform:translateY(-3px)}.contact-icon[data-v-9e438646]{width:44px;height:44px;color:var(--accent);background:#63b3ed1a;border:1px solid #63b3ed33;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-label[data-v-9e438646]{text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 .2rem;font-size:.75rem}.contact-value[data-v-9e438646]{color:var(--text-primary);margin:0;font-size:.9rem;font-weight:500}.footer[data-v-a6cc50e3]{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);padding:2rem;font-size:.82rem}
