@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-cyrillic-ext-wght-normal.CO5hGrJv.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-cyrillic-wght-normal.EAA9jha_.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-vietnamese-wght-normal.k7S-YeeD.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-latin-ext-wght-normal.BsZE-iaG.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Montserrat Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/_astro/montserrat-latin-wght-normal.l_AIctKy.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root,html[data-theme=light]{color-scheme:light;--background:#f4f4f2;--surface:#fff;--surface-soft:#fafafa;--surface-muted:#f5f6f8;--surface-raised:#fff;--text:#111;--text-muted:#65676d;--placeholder:#9b9da3;--border:#e5e5e5;--blue:#1557ff;--blue-hover:#0042da;--on-blue:#fff;--floating-surface:#ffffffeb;--floating-border:#1111111a;--shadow-rgb:17 17 17;--hero-overlay:#00000004;--page-padding:clamp(28px, 4vw, 64px);--content-width:1600px;color:var(--text);background:var(--background);font-family:Montserrat Variable,Montserrat,sans-serif}html[data-theme=dark]{color-scheme:dark;--background:#0b0d10;--surface:#111419;--surface-soft:#15191f;--surface-muted:#181d24;--surface-raised:#1a1f26;--text:#f2f4f7;--text-muted:#9ba3ad;--placeholder:#747d88;--border:#292f38;--blue:#6388ff;--blue-hover:#7b9bff;--on-blue:#fff;--floating-surface:#171b22f0;--floating-border:#ffffff1a;--shadow-rgb:0 0 0;--hero-overlay:#ffffff06}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--background)}body{min-width:320px;min-height:100vh;color:var(--text);background:var(--background);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:inherit;overflow-x:hidden}main{background:var(--surface);width:100%}img,svg{max-width:100%;display:block}button,input,textarea,select{font:inherit;color:inherit}input,textarea,select{caret-color:var(--blue)}input::placeholder,textarea::placeholder{color:var(--placeholder)}a{color:inherit;text-decoration:none}button{color:inherit}ul{margin:0;padding:0;list-style:none}::selection{color:var(--on-blue);background:var(--blue)}body,main,.header,.footer{transition:color .18s,background-color .18s,border-color .18s}html[data-theme=dark] img[src="/images/logo.svg"]{filter:invert()brightness(1.12)}html[data-theme=dark] .hero{background:linear-gradient(125deg, transparent 48%, var(--hero-overlay) 48%, var(--hero-overlay) 72%, transparent 72%), var(--surface)}html[data-theme=dark] .about-panel__visual{background:linear-gradient(135deg, var(--surface-soft), var(--surface-muted))}html[data-theme=dark] .focus-list__icon,html[data-theme=dark] .status-content__icon{background:var(--surface-soft)}html[data-theme=dark] .tool-card__icon{background:linear-gradient(145deg, var(--surface-raised), var(--surface-soft));box-shadow:0 3px 14px rgb(var(--shadow-rgb) / 22%)}html[data-theme=dark] .button--primary:hover,html[data-theme=dark] .submit-button:hover{color:var(--on-blue);background:var(--blue-hover);border-color:var(--blue-hover)}html[data-theme=dark] .projects-page .project-card__media{background:var(--surface-muted)}html[data-theme=dark] .projects-page .project-card__placeholder{background:linear-gradient(135deg, #6388ff1a, transparent 56%), linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px), var(--surface-soft);background-size:auto,34px 34px,34px 34px,auto}html[data-theme=dark] .projects-page .project-card__year,html[data-theme=dark] .projects-page .project-card__arrow{background:var(--floating-surface);border-color:var(--floating-border)}html[data-theme=dark] .projects-page .project-card__tags li{color:color-mix(in srgb, var(--tag-text) 35%, #fff);background:color-mix(in srgb, var(--tag-text) 16%, var(--surface));border-color:color-mix(in srgb, var(--tag-text) 30%, var(--border))}html[data-theme=dark] .about-intro__image{background:var(--surface-muted)}html[data-theme=dark] .focus-card{background:linear-gradient(145deg, #6388ff0f, transparent 52%), var(--surface-raised)}html[data-theme=dark] .interest-card,html[data-theme=dark] .skills-grid{background:var(--surface)}html[data-theme=dark] .timeline-entry__content{background:linear-gradient(145deg, #6388ff0d, transparent 55%), var(--surface-raised)}html[data-theme=dark] .timeline-entry--internship .timeline-entry__content{background:linear-gradient(145deg, #6388ff12, transparent 58%), var(--surface-raised)}html[data-theme=dark] .timeline-entry__dot{background:var(--surface);box-shadow:0 0 0 5px var(--surface)}html[data-theme=dark] .cv-project-box{background:linear-gradient(120deg, #6388ff14, transparent 65%), var(--surface-raised)}html[data-theme=dark] .cv-project-box__link{background:var(--surface-raised)}html[data-theme=dark] .contact-page .form-field input,html[data-theme=dark] .contact-page .form-field textarea{background:var(--surface-soft)}html[data-theme=dark] .contact-page .form-field input:focus,html[data-theme=dark] .contact-page .form-field textarea:focus{background:var(--surface-raised)}html[data-theme=dark] input:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface-soft) inset;caret-color:var(--text)}html[data-theme=dark] input:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface-soft) inset;caret-color:var(--text)}html[data-theme=dark] input:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface-soft) inset;caret-color:var(--text)}html[data-theme=dark] textarea:-webkit-autofill{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface-soft) inset;caret-color:var(--text)}html[data-theme=dark] textarea:-webkit-autofill:hover{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface-soft) inset;caret-color:var(--text)}html[data-theme=dark] textarea:-webkit-autofill:focus{-webkit-text-fill-color:var(--text);box-shadow:0 0 0 1000px var(--surface-soft) inset;caret-color:var(--text)}html[data-theme=dark]{scrollbar-color:#424a56 var(--background)}:focus-visible{outline-color:var(--blue)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.header[data-astro-cid-nen7h5rs]{z-index:10;background:var(--surface);border-bottom:1px solid var(--border);width:100%;transition:background-color .18s,border-color .18s;position:relative}.header__inner[data-astro-cid-nen7h5rs]{width:100%;min-height:74px;padding:0 var(--page-padding);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.logo[data-astro-cid-nen7h5rs]{justify-self:start;width:45px;height:45px;transition:opacity .16s,transform .16s;display:block}.logo[data-astro-cid-nen7h5rs] img[data-astro-cid-nen7h5rs]{object-fit:contain;width:100%;height:100%;transition:filter .18s}.logo[data-astro-cid-nen7h5rs]:hover{opacity:.8;transform:translateY(-1px)}.desktop-navigation[data-astro-cid-nen7h5rs]{justify-self:center}.navigation-list[data-astro-cid-nen7h5rs]{align-items:center;gap:34px;display:flex}.navigation-link[data-astro-cid-nen7h5rs]{min-height:74px;color:var(--text);align-items:center;font-size:12px;font-weight:550;transition:color .16s;display:flex;position:relative}.navigation-link[data-astro-cid-nen7h5rs]:hover{color:var(--blue)}.navigation-link[data-astro-cid-nen7h5rs]:after{background:var(--blue);content:"";opacity:0;transform-origin:50%;height:3px;transition:opacity .16s,transform .16s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.navigation-link--active[data-astro-cid-nen7h5rs]:after{opacity:1;transform:scaleX(1)}.header-actions[data-astro-cid-nen7h5rs]{justify-self:end;align-items:center;gap:14px;display:flex}.theme-button[data-astro-cid-nen7h5rs],.menu-button[data-astro-cid-nen7h5rs]{width:38px;height:38px;color:var(--text);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:50%;place-items:center;padding:0;transition:color .16s,border-color .16s,background-color .18s;display:grid}.theme-button[data-astro-cid-nen7h5rs]:hover,.menu-button[data-astro-cid-nen7h5rs]:hover{color:var(--blue);border-color:var(--blue)}.theme-icon[data-astro-cid-nen7h5rs]{grid-area:1/1;transition:opacity .15s,transform .18s}.theme-icon--moon[data-astro-cid-nen7h5rs]{display:block}.theme-icon--sun[data-astro-cid-nen7h5rs],html[data-theme=dark] .theme-icon--moon[data-astro-cid-nen7h5rs]{display:none}html[data-theme=dark] .theme-icon--sun[data-astro-cid-nen7h5rs]{display:block}.menu-button[data-astro-cid-nen7h5rs]{align-content:center;gap:4px;display:none}.menu-button[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]{background:currentColor;border-radius:20px;width:17px;height:1.5px;transition:opacity .16s,transform .16s}.menu-button[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:first-child{transform:translateY(5.5px)rotate(45deg)}.menu-button[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:nth-child(2){opacity:0}.menu-button[data-astro-cid-nen7h5rs][aria-expanded=true] span[data-astro-cid-nen7h5rs]:nth-child(3){transform:translateY(-5.5px)rotate(-45deg)}.mobile-menu[data-astro-cid-nen7h5rs]{background:var(--surface);border-top:1px solid var(--border);padding:8px 16px 18px}.mobile-menu[data-astro-cid-nen7h5rs][hidden]{display:none}.mobile-navigation-link[data-astro-cid-nen7h5rs]{min-height:52px;color:var(--text);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:0 4px;font-size:13px;font-weight:600;display:flex}.mobile-navigation-link[data-astro-cid-nen7h5rs] span[data-astro-cid-nen7h5rs]:last-child{color:var(--blue);font-size:18px;transition:transform .16s}.mobile-navigation-link[data-astro-cid-nen7h5rs]:hover span[data-astro-cid-nen7h5rs]:last-child{transform:translate(4px)}.mobile-navigation-link--active[data-astro-cid-nen7h5rs]{color:var(--blue)}.logo[data-astro-cid-nen7h5rs]:focus-visible,.navigation-link[data-astro-cid-nen7h5rs]:focus-visible,.theme-button[data-astro-cid-nen7h5rs]:focus-visible,.menu-button[data-astro-cid-nen7h5rs]:focus-visible,.mobile-navigation-link[data-astro-cid-nen7h5rs]:focus-visible{outline-offset:4px;outline:3px solid #6388ff42}@media (width<=920px){.navigation-list[data-astro-cid-nen7h5rs]{gap:20px}.navigation-link[data-astro-cid-nen7h5rs]{font-size:11px}}@media (width<=760px){.header__inner[data-astro-cid-nen7h5rs]{grid-template-columns:auto 1fr auto;min-height:68px;padding:0 16px}.logo[data-astro-cid-nen7h5rs]{width:38px;height:38px}.desktop-navigation[data-astro-cid-nen7h5rs]{display:none}.header-actions[data-astro-cid-nen7h5rs]{gap:9px}.theme-button[data-astro-cid-nen7h5rs],.menu-button[data-astro-cid-nen7h5rs]{width:34px;height:34px}.menu-button[data-astro-cid-nen7h5rs]{display:grid}}@media (prefers-reduced-motion:reduce){[data-astro-cid-nen7h5rs],[data-astro-cid-nen7h5rs]:before,[data-astro-cid-nen7h5rs]:after{transition-duration:.01ms!important}}.navigation-link[data-astro-cid-nen7h5rs]{font-size:14px}@media (width<=920px){.navigation-link[data-astro-cid-nen7h5rs]{font-size:13px}}@media (width<=760px){.mobile-navigation-link[data-astro-cid-nen7h5rs]{font-size:14px}}.footer[data-astro-cid-jo6i4kqk]{background:var(--surface);border-top:1px solid var(--border);width:100%}.footer__page-width[data-astro-cid-jo6i4kqk]{width:min(100%, var(--content-width,1600px));padding-inline:var(--page-padding,48px);margin-inline:auto}.footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1.4fr repeat(3,minmax(0,1fr));gap:50px;padding-block:34px;display:grid}.footer__identity[data-astro-cid-jo6i4kqk]{align-items:flex-start;gap:18px;display:flex}.footer__brand[data-astro-cid-jo6i4kqk]{flex:none;width:54px;height:54px;transition:opacity .16s,transform .16s;display:block}.footer__brand[data-astro-cid-jo6i4kqk]:hover{opacity:.8;transform:translateY(-1px)}.footer__brand[data-astro-cid-jo6i4kqk] img[data-astro-cid-jo6i4kqk]{object-fit:contain;width:100%;height:100%}.footer__name[data-astro-cid-jo6i4kqk]{color:var(--text);text-transform:uppercase;margin:4px 0 8px;font-size:12px;font-weight:700}.footer__identity[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]:not(.footer__name){color:var(--text-muted);text-transform:uppercase;margin:0;font-size:10px}.footer__column[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{color:var(--text);letter-spacing:.05em;text-transform:uppercase;margin:0 0 14px;font-size:8px;font-weight:750}.footer__column[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk],.footer__column[data-astro-cid-jo6i4kqk] address[data-astro-cid-jo6i4kqk]{color:var(--text-muted);gap:8px;margin:0;font-size:10px;font-style:normal;display:grid}.footer__column[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk],.footer__legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]{transition:color .16s}.footer__column[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover,.footer__legal[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:hover{color:var(--blue)}.footer__column[data-astro-cid-jo6i4kqk] address[data-astro-cid-jo6i4kqk] span[data-astro-cid-jo6i4kqk]{display:block}.footer__bottom[data-astro-cid-jo6i4kqk]{color:var(--text-muted);border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:24px;padding-block:18px;font-size:9px;display:flex}.footer__bottom[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]{margin:0}.footer__legal[data-astro-cid-jo6i4kqk]{flex-wrap:wrap;gap:20px;display:flex}.footer[data-astro-cid-jo6i4kqk] a[data-astro-cid-jo6i4kqk]:focus-visible{outline-offset:4px;outline:3px solid #1557ff3d}@media (width<=1100px){.footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.footer__page-width[data-astro-cid-jo6i4kqk]{padding-inline:18px}.footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr 1fr;gap:32px 20px;padding-block:30px}.footer__identity[data-astro-cid-jo6i4kqk]{grid-column:1/-1}.footer__bottom[data-astro-cid-jo6i4kqk]{flex-direction:column;align-items:flex-start;gap:12px}}@media (width<=420px){.footer__grid[data-astro-cid-jo6i4kqk]{grid-template-columns:1fr}.footer__identity[data-astro-cid-jo6i4kqk]{grid-column:auto}}@media (prefers-reduced-motion:reduce){[data-astro-cid-jo6i4kqk],[data-astro-cid-jo6i4kqk]:before,[data-astro-cid-jo6i4kqk]:after{transition-duration:.01ms!important}}.footer__name[data-astro-cid-jo6i4kqk]{font-size:14px}.footer__identity[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]:not(.footer__name){font-size:11.5px}.footer__column[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{font-size:10.5px}.footer__column[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk],.footer__column[data-astro-cid-jo6i4kqk] address[data-astro-cid-jo6i4kqk]{font-size:11.5px}.footer__bottom[data-astro-cid-jo6i4kqk]{font-size:10.5px}@media (width<=760px){.footer__name[data-astro-cid-jo6i4kqk]{font-size:13.5px}.footer__identity[data-astro-cid-jo6i4kqk] p[data-astro-cid-jo6i4kqk]:not(.footer__name){font-size:11px}.footer__column[data-astro-cid-jo6i4kqk] h2[data-astro-cid-jo6i4kqk]{font-size:10px}.footer__column[data-astro-cid-jo6i4kqk] ul[data-astro-cid-jo6i4kqk],.footer__column[data-astro-cid-jo6i4kqk] address[data-astro-cid-jo6i4kqk]{font-size:11.5px}.footer__bottom[data-astro-cid-jo6i4kqk]{font-size:10.5px}}
