@charset "UTF-8";:root{--color-bg: #0d1117;--color-bg-secondary: #161b22;--color-bg-card: #1c2128;--color-border: #30363d;--color-accent: #58a6ff;--color-accent-hover: #79b8ff;--color-text-primary: #e6edf3;--color-text-secondary: #8b949e;--color-text-muted: #6e7681;--color-navbar-bg: rgb(13 17 23 / 90%);--color-accent-glow: rgb(88 166 255 / 12%);--color-accent-subtle: rgb(88 166 255 / 6%);--color-accent-border: rgb(88 166 255 / 35%);--color-shadow: 0 4px 24px rgb(0 0 0 / 40%);--color-mouse-glow: rgb(88 166 255 / 10%);--color-gradient-start: #58a6ff;--color-gradient-end: #a371f7;--color-glass-bg: rgb(28 33 40 / 60%);--color-glass-border: rgb(255 255 255 / 5%);--color-photo-bg: linear-gradient( 135deg, color-mix(in srgb, var(--color-accent) 40%, transparent), color-mix(in srgb, #7c3aed 40%, transparent) )}[data-theme=light]{--color-bg: #fff;--color-bg-secondary: #f6f8fa;--color-bg-card: #fff;--color-border: #d0d7de;--color-accent: #0969da;--color-accent-hover: #1f6feb;--color-text-primary: #1f2328;--color-text-secondary: #57606a;--color-text-muted: #6e7781;--color-navbar-bg: rgb(255 255 255 / 90%);--color-accent-glow: rgb(9 105 218 / 12%);--color-accent-subtle: rgb(9 105 218 / 10%);--color-accent-border: rgb(9 105 218 / 30%);--color-shadow: 0 4px 24px rgb(0 0 0 / 8%);--color-mouse-glow: rgb(9 105 218 / 11%);--color-gradient-start: #0969da;--color-gradient-end: #8250df;--color-glass-bg: rgb(255 255 255 / 70%);--color-glass-border: rgb(0 0 0 / 5%);--color-photo-bg: linear-gradient( 135deg, color-mix(in srgb, var(--color-accent) 60%, transparent), color-mix(in srgb, #6d28d9 60%, transparent) )}*,*:before,*:after{box-sizing:border-box;padding:0;margin:0}html{overflow-x:hidden;scrollbar-gutter:stable;scroll-behavior:smooth}body{overflow-x:hidden;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:1rem;line-height:1.6;color:var(--color-text-primary);background-color:var(--color-bg);transition:background-color .3s ease,color .3s ease;-webkit-font-smoothing:antialiased}a{color:var(--color-accent);text-decoration:none;transition:color .15s cubic-bezier(.4,0,.2,1)}a:hover{color:var(--color-accent-hover)}ul{list-style:none}img{display:block;max-width:100%}.container{max-width:1100px;padding:0 2rem;margin:0 auto}@media(max-width:640px){.container{padding:0 1rem}}.section{padding:6rem 0;overflow:hidden}@media(max-width:768px){.section{padding:5rem 0}}.section-title{position:relative;display:inline-block;margin-bottom:3rem;font-family:Outfit,system-ui,-apple-system,sans-serif;font-size:2rem;font-weight:700;color:var(--color-text-primary);letter-spacing:-.02em}@media(max-width:768px){.section-title{font-size:1.5rem}}.section-title:after{position:absolute;bottom:-8px;left:0;width:40px;height:4px;content:"";background:linear-gradient(90deg,var(--color-gradient-start),var(--color-gradient-end));border-radius:2px}::selection{color:var(--color-bg);background-color:var(--color-accent)}.reveal{transition:opacity .65s cubic-bezier(.22,1,.36,1),transform .65s cubic-bezier(.22,1,.36,1)}.reveal_up{opacity:0;transform:translateY(40px)}.reveal_down{opacity:0;transform:translateY(-40px)}.reveal_left{opacity:0;transform:translate(50px)}.reveal_right{opacity:0;transform:translate(-50px)}.reveal_fade{opacity:0;transform:none}.reveal_visible{opacity:1;transform:none}.text-gradient{color:transparent;background:linear-gradient(135deg,var(--color-gradient-start),var(--color-gradient-end));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.glass-card{background:var(--color-glass-bg);border:1px solid var(--color-glass-border);border-radius:16px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transition:border-color .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.glass-card_interactive{cursor:default}.glass-card_interactive:hover{border-color:var(--color-accent-border);box-shadow:0 10px 30px var(--color-accent-subtle)}.navbar[data-v-d1749cdf]{position:fixed;top:0;right:0;left:0;z-index:201;padding:1rem 0;transition:background .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.navbar_scrolled[data-v-d1749cdf]{background:var(--color-navbar-bg);box-shadow:0 1px 0 var(--color-border)}.navbar__progress[data-v-d1749cdf]{position:absolute;top:0;left:0;height:2px;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-hover));border-radius:0 2px 2px 0;transition:width .1s linear}.navbar__inner[data-v-d1749cdf]{display:flex;gap:1.5rem;align-items:center}@media(min-width:769px){.navbar__inner[data-v-d1749cdf]{justify-content:space-between}}.navbar__nav[data-v-d1749cdf]{display:flex;gap:2rem}@media(max-width:768px){.navbar__nav[data-v-d1749cdf]{position:fixed;top:0;bottom:0;left:0;z-index:200;flex-direction:column;gap:0;width:260px;padding:80px 2rem 2rem;background:var(--color-bg-secondary);border-right:1px solid var(--color-border);transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.navbar__nav_open[data-v-d1749cdf]{transform:translate(0)}}.navbar__link[data-v-d1749cdf]{padding:0;font-family:inherit;font-size:.875rem;font-weight:500;color:var(--color-text-secondary);letter-spacing:.02em;cursor:pointer;background:none;border:none;transition:color .15s cubic-bezier(.4,0,.2,1)}.navbar__link[data-v-d1749cdf]:hover{color:var(--color-accent)}@media(max-width:768px){.navbar__link[data-v-d1749cdf]{padding:1rem 0;font-size:1rem;text-align:left;border-bottom:1px solid var(--color-border)}}.navbar__overlay[data-v-d1749cdf]{display:none}@media(max-width:768px){.navbar__overlay[data-v-d1749cdf]{position:fixed;inset:0;z-index:199;display:block;pointer-events:none;background:#00000080;opacity:0;transition:opacity .3s ease}.navbar__overlay_visible[data-v-d1749cdf]{pointer-events:all;opacity:1}}.navbar__controls[data-v-d1749cdf]{display:flex;flex-shrink:0;gap:1rem;align-items:center}@media(max-width:768px){.navbar__controls[data-v-d1749cdf]{margin-left:auto}}.navbar__lang[data-v-d1749cdf]{display:flex;gap:4px;align-items:center}.navbar__lang-sep[data-v-d1749cdf]{font-size:.875rem;color:var(--color-text-muted)}.navbar__lang-btn[data-v-d1749cdf]{padding:2px 4px;font-family:inherit;font-size:.875rem;font-weight:600;color:var(--color-text-muted);cursor:pointer;background:none;border:none;border-radius:4px;transition:all .15s cubic-bezier(.4,0,.2,1)}.navbar__lang-btn.active[data-v-d1749cdf],.navbar__lang-btn[data-v-d1749cdf]:hover{color:var(--color-accent)}.navbar__theme[data-v-d1749cdf]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;font-size:1rem;color:var(--color-text-primary);cursor:pointer;background:none;border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.navbar__theme[data-v-d1749cdf]:hover{color:var(--color-accent);border-color:var(--color-accent)}.navbar__theme-sun[data-v-d1749cdf]{opacity:.85;filter:grayscale(1) brightness(1.2)}.navbar__burger[data-v-d1749cdf]{display:none}@media(max-width:768px){.navbar__burger[data-v-d1749cdf]{position:relative;z-index:201;display:flex;flex-direction:column;gap:5px;padding:4px;cursor:pointer;background:none;border:none}}.navbar__burger span[data-v-d1749cdf]{display:block;width:22px;height:2px;background:var(--color-text-primary);border-radius:2px;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s cubic-bezier(.4,0,.2,1)}.navbar__burger_active span[data-v-d1749cdf]:nth-child(1){transform:translateY(7px) rotate(45deg)}.navbar__burger_active span[data-v-d1749cdf]:nth-child(2){opacity:0}.navbar__burger_active span[data-v-d1749cdf]:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.footer[data-v-b1a79466]{padding:2rem 0;border-top:1px solid var(--color-border)}.footer__inner[data-v-b1a79466]{display:flex;justify-content:center}.footer__copy[data-v-b1a79466]{font-size:.875rem;color:var(--color-text-muted)}.hero[data-v-6f65f944]{position:relative;display:flex;align-items:center;min-height:100vh;overflow:hidden}.hero__bg-gradient[data-v-6f65f944]{position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 60% at 50% -10%,var(--color-accent-glow),transparent)}.hero__mouse-light[data-v-6f65f944]{position:absolute;inset:0;pointer-events:none;background:radial-gradient(200px circle at var(--mx, 50%) var(--my, 50%),var(--color-mouse-glow),transparent 100%),radial-gradient(700px circle at var(--mx, 50%) var(--my, 50%),var(--color-accent-subtle),transparent 70%)}.hero__inner[data-v-6f65f944]{position:relative;z-index:1;display:flex;gap:6rem;align-items:center;padding-top:80px;padding-bottom:4rem}@media(max-width:1024px){.hero__inner[data-v-6f65f944]{gap:3rem}}@media(max-width:768px){.hero__inner[data-v-6f65f944]{flex-direction:column;gap:2rem;text-align:center}}.hero__left[data-v-6f65f944]{display:flex;flex-shrink:0;flex-direction:column;gap:1rem;align-items:center;width:290px}@media(max-width:768px){.hero__left[data-v-6f65f944]{flex-shrink:1;width:auto}}.hero__photo[data-v-6f65f944]{width:220px;height:220px;overflow:hidden;background:var(--color-photo-bg);border:3px solid var(--color-glass-border);border-radius:50%;box-shadow:var(--color-shadow);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s cubic-bezier(.4,0,.2,1)}.hero__photo[data-v-6f65f944]:hover{box-shadow:0 10px 40px var(--color-accent-subtle);transform:translateY(-5px) scale(1.02)}@media(max-width:1024px){.hero__photo[data-v-6f65f944]{width:180px;height:180px}}@media(max-width:768px){.hero__photo[data-v-6f65f944]{width:140px;height:140px;margin:0 auto}}.hero__photo img[data-v-6f65f944],.hero__photo svg[data-v-6f65f944]{width:100%;height:100%;object-fit:contain}.hero__badge[data-v-6f65f944]{display:inline-flex;gap:.5rem;align-items:center;padding:5px 1rem;font-size:.75rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:100px}.hero__badge-dot[data-v-6f65f944]{flex-shrink:0;width:8px;height:8px;background:#3fb950;border-radius:50%;animation:blink-6f65f944 2s infinite}.hero__right[data-v-6f65f944]{width:100%;min-width:0;max-width:625px}@media(max-width:768px){.hero__right[data-v-6f65f944]{order:-1}}.hero__greeting[data-v-6f65f944]{min-height:1.6em;margin-bottom:.25rem;font-size:1.125rem;font-weight:500;color:var(--color-accent)}.hero__name[data-v-6f65f944]{min-height:1.1em;margin-bottom:.5rem;font-size:clamp(2rem,5vw,3.5rem);font-weight:800;line-height:1.1;color:var(--color-text-primary);overflow-wrap:break-word}.hero__role[data-v-6f65f944]{min-height:1.2em;margin-bottom:.5rem;font-size:clamp(1.125rem,2.5vw,1.5rem);font-weight:500;color:var(--color-text-secondary)}.hero__loc[data-v-6f65f944]{min-height:1.5em;margin-bottom:2rem;font-size:.875rem;color:var(--color-text-muted)}.hero__cta[data-v-6f65f944]{display:flex;flex-wrap:wrap;gap:1rem}@media(max-width:768px){.hero__cta[data-v-6f65f944]{justify-content:center}}.hero__fade-in[data-v-6f65f944]{opacity:0;animation:hero-fade-6f65f944 .8s cubic-bezier(.22,1,.36,1) forwards}.hero__anime[data-v-6f65f944]{opacity:0;animation:hero-up-6f65f944 .7s cubic-bezier(.22,1,.36,1) forwards}.hero__anime_1[data-v-6f65f944]{animation-delay:0s}.hero__anime_2[data-v-6f65f944]{animation-delay:.1s}.hero__anime_3[data-v-6f65f944]{animation-delay:.2s}.hero__anime_4[data-v-6f65f944]{animation-delay:.3s}.hero__anime_5[data-v-6f65f944]{animation-delay:.4s}.hero__anime_6[data-v-6f65f944]{animation-delay:.5s}@keyframes blink-6f65f944{0%,to{opacity:1}50%{opacity:.4}}@keyframes hero-up-6f65f944{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-fade-6f65f944{0%{opacity:0}to{opacity:1}}.btn[data-v-6f65f944]{display:inline-flex;align-items:center;min-height:44px;padding:.5rem 2rem;font-family:inherit;font-size:1rem;font-weight:600;cursor:pointer;border:1px solid transparent;border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn_primary[data-v-6f65f944]{color:#fff;background:var(--color-accent)}.btn_primary[data-v-6f65f944]:hover{color:#fff;background:var(--color-accent-hover);box-shadow:0 4px 12px var(--color-accent-border);transform:translateY(-2px)}.btn_ghost[data-v-6f65f944]{color:var(--color-text-primary);background:transparent;border-color:var(--color-border)}.btn_ghost[data-v-6f65f944]:hover{color:var(--color-accent);border-color:var(--color-accent);box-shadow:0 4px 12px var(--color-accent-subtle);transform:translateY(-2px)}.about[data-v-d1af0840]{background:var(--color-bg-secondary)}.about__grid[data-v-d1af0840]{display:grid;grid-template-columns:1fr 220px;gap:4rem;align-items:start}@media(max-width:768px){.about__grid[data-v-d1af0840]{grid-template-columns:1fr;gap:3rem}}.about__summary[data-v-d1af0840]{font-size:1.125rem;line-height:1.8;color:var(--color-text-secondary)}.about__subtitle[data-v-d1af0840]{margin-bottom:1.5rem;font-size:.875rem;font-weight:700;color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.08em}.about__lang-list[data-v-d1af0840]{display:flex;flex-direction:column;gap:.5rem}.about__lang-item[data-v-d1af0840]{display:flex;gap:.5rem;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--color-text-primary);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:8px}.about__lang-dot[data-v-d1af0840]{flex-shrink:0;width:8px;height:8px;background:var(--color-accent);border-radius:50%}.skills[data-v-85fb3c29]{overflow:hidden}.skills__marquee-wrap[data-v-85fb3c29]{display:flex;flex-direction:column;gap:1rem;margin-top:2rem;-webkit-mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent);mask-image:linear-gradient(to right,transparent,black 8%,black 92%,transparent)}.skills__track[data-v-85fb3c29]{overflow:hidden}.skills__track_fwd .skills__row[data-v-85fb3c29]{animation:marquee-forward-85fb3c29 35s linear infinite}.skills__track_rev .skills__row[data-v-85fb3c29]{animation:marquee-reverse-85fb3c29 28s linear infinite}.skills__row[data-v-85fb3c29]{display:flex;gap:1rem;width:max-content}.skills__tag[data-v-85fb3c29]{display:inline-flex;gap:.5rem;align-items:center;padding:.5rem 2rem;font-size:1rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap;cursor:default;-webkit-user-select:none;user-select:none;border-radius:100px;transition:border-color .15s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.skills__tag[data-v-85fb3c29]:hover{color:var(--color-text-primary);border-color:var(--color-accent)}.skills__icon[data-v-85fb3c29]{font-size:1.25rem}.skills__emoji[data-v-85fb3c29]{font-size:1.1rem;font-style:normal}@keyframes marquee-forward-85fb3c29{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-reverse-85fb3c29{0%{transform:translate(-50%)}to{transform:translate(0)}}.experience[data-v-e2ff3f7c]{background:var(--color-bg-secondary)}.exp__timeline[data-v-e2ff3f7c]{display:flex;flex-direction:column}.exp__item[data-v-e2ff3f7c]{display:grid;grid-template-columns:32px 1fr;gap:1.5rem;padding-bottom:3rem}@media(max-width:640px){.exp__item[data-v-e2ff3f7c]{grid-template-columns:20px 1fr;gap:.5rem}}.exp__item[data-v-e2ff3f7c]:last-child{padding-bottom:0}.exp__marker[data-v-e2ff3f7c]{display:flex;flex-direction:column;align-items:center;padding-top:4px}.exp__dot[data-v-e2ff3f7c]{flex-shrink:0;width:14px;height:14px;background:var(--color-accent);border:2px solid var(--color-bg);border-radius:50%;box-shadow:0 0 0 2px var(--color-accent)}.exp__line[data-v-e2ff3f7c]{flex:1;width:2px;margin-top:.5rem;background:var(--color-border)}.exp__card[data-v-e2ff3f7c]{padding:2rem}@media(max-width:640px){.exp__card[data-v-e2ff3f7c]{padding:1rem}}.exp__header[data-v-e2ff3f7c]{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-start;justify-content:space-between;margin-bottom:1.5rem}@media(max-width:768px){.exp__header[data-v-e2ff3f7c]{margin-bottom:0;cursor:pointer}}.exp__header-right[data-v-e2ff3f7c]{display:flex;gap:.5rem;align-items:flex-start}.exp__company[data-v-e2ff3f7c]{margin-bottom:.25rem;font-size:1.25rem;font-weight:700;color:var(--color-text-primary);overflow-wrap:break-word}@media(max-width:640px){.exp__company[data-v-e2ff3f7c]{font-size:1rem}}.exp__role[data-v-e2ff3f7c]{font-size:1rem;font-weight:500;color:var(--color-accent)}.exp__meta[data-v-e2ff3f7c]{display:flex;flex-direction:column;gap:.25rem;align-items:flex-end}@media(max-width:640px){.exp__meta[data-v-e2ff3f7c]{align-items:flex-start}}.exp__period[data-v-e2ff3f7c]{font-size:.875rem;font-weight:500;color:var(--color-text-secondary);white-space:nowrap}@media(max-width:640px){.exp__period[data-v-e2ff3f7c]{white-space:normal}}.exp__loc[data-v-e2ff3f7c]{font-size:.75rem;color:var(--color-text-muted)}.exp__toggle[data-v-e2ff3f7c]{display:none}@media(max-width:768px){.exp__toggle[data-v-e2ff3f7c]{display:flex;flex-shrink:0;align-items:center;justify-content:center;padding:2px;margin-top:2px;color:var(--color-text-muted);cursor:pointer;background:none;border:none;transition:transform .3s cubic-bezier(.4,0,.2,1),color .15s cubic-bezier(.4,0,.2,1)}.exp__toggle_open[data-v-e2ff3f7c]{color:var(--color-accent);transform:rotate(180deg)}}@media(max-width:768px){.exp__body[data-v-e2ff3f7c]{display:grid;grid-template-rows:0fr;margin-top:0;transition:grid-template-rows .3s ease,margin-top .3s ease}.exp__body_open[data-v-e2ff3f7c]{grid-template-rows:1fr;margin-top:1.5rem}.exp__body>ul[data-v-e2ff3f7c]{overflow:hidden}}.exp__list[data-v-e2ff3f7c]{display:flex;flex-direction:column;gap:.5rem}.exp__li[data-v-e2ff3f7c]{position:relative;padding-left:1rem;font-size:.875rem;line-height:1.7;color:var(--color-text-secondary)}.exp__li[data-v-e2ff3f7c]:before{position:absolute;left:0;color:var(--color-accent);content:"▸"}.edu__grid[data-v-79130a0f]{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}@media(max-width:768px){.edu__grid[data-v-79130a0f]{grid-template-columns:1fr}}.edu__card[data-v-79130a0f]{display:flex;gap:1.5rem;align-items:flex-start;padding:2rem}.edu__icon[data-v-79130a0f]{flex-shrink:0;font-size:2rem}.edu__inst[data-v-79130a0f]{margin-bottom:.25rem;font-size:1rem;font-weight:700;color:var(--color-text-primary)}.edu__deg[data-v-79130a0f]{font-size:.875rem;color:var(--color-text-secondary)}.contact[data-v-39a260a2]{background:var(--color-bg-secondary)}.contact__desc[data-v-39a260a2]{margin-bottom:3rem;font-size:1.125rem;line-height:1.7;color:var(--color-text-secondary)}.contact__links[data-v-39a260a2]{display:flex;flex-direction:column;gap:1rem}.contact__link[data-v-39a260a2]{box-sizing:border-box;display:inline-flex;gap:1rem;align-items:center;width:fit-content;max-width:100%;padding:1rem 2rem;font-size:1rem;font-weight:500;color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:8px;transition:all .3s cubic-bezier(.4,0,.2,1)}.contact__link span[data-v-39a260a2]:not(.contact__icon){min-width:0;word-break:break-all;overflow-wrap:break-word}.contact__link[data-v-39a260a2]:hover{color:var(--color-accent);border-color:var(--color-accent)}.contact__icon[data-v-39a260a2]{width:24px;font-size:1.125rem;font-style:normal;font-weight:700;color:var(--color-accent);text-align:center}
