@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-vietnamese-600-normal-BD5z241x.woff2) format("woff2"),url(/assets/crimson-pro-vietnamese-600-normal-WXpto_XS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-latin-ext-600-normal-DTIcmTiA.woff2) format("woff2"),url(/assets/crimson-pro-latin-ext-600-normal-ChXPf8Fx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-latin-600-normal-vJ8oEdKU.woff2) format("woff2"),url(/assets/crimson-pro-latin-600-normal-Ca4fy0Cf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}._themeToggle_1x0h1_1{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-full);background-color:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast),transform var(--transition-fast);border:1px solid transparent}._themeToggle_1x0h1_1:hover{background-color:var(--color-surface-elevated);color:var(--color-text-primary);transform:rotate(15deg)}._themeToggle_1x0h1_1:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}._themeToggle_1x0h1_1:active{transform:scale(.95)}._icon_1x0h1_32{width:20px;height:20px;transition:transform var(--transition-base)}._themeToggle_1x0h1_1:hover ._icon_1x0h1_32{transform:rotate(-15deg)}._header_m6yh1_1{position:fixed;top:0;left:0;right:0;z-index:var(--z-sticky);background-color:var(--color-background);transition:box-shadow var(--transition-base),background-color var(--transition-base)}._header_m6yh1_1._scrolled_m6yh1_12{box-shadow:var(--shadow-md);background-color:var(--color-surface);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}._nav_m6yh1_18{display:flex;align-items:center;justify-content:space-between;max-width:var(--section-max-width);margin:0 auto;padding:var(--space-sm) var(--section-padding-x);height:70px}._logo_m6yh1_29{flex-shrink:0}._logoLink_m6yh1_33{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-decoration:none;transition:color var(--transition-fast)}._logoLink_m6yh1_33:hover{color:var(--color-accent)}._navList_m6yh1_47{display:flex;align-items:center;gap:var(--space-md);list-style:none;margin:0;padding:0}._navItem_m6yh1_56{margin:0}._navLink_m6yh1_60{position:relative;font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-md);transition:color var(--transition-fast),background-color var(--transition-fast)}._navLink_m6yh1_60:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:0;height:2px;background-color:var(--color-accent);transition:width var(--transition-base)}._navLink_m6yh1_60:hover{color:var(--color-text-primary)}._navLink_m6yh1_60:hover:after{width:60%}._navLink_m6yh1_60._active_m6yh1_93{color:var(--color-accent);font-weight:var(--font-weight-semibold)}._navLink_m6yh1_60._active_m6yh1_93:after{width:60%}._actions_m6yh1_103{display:flex;align-items:center;gap:var(--space-sm)}._menuButton_m6yh1_110{display:none;padding:var(--space-xs);background:transparent;border:none;cursor:pointer}._hamburger_m6yh1_118{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:18px}._hamburger_m6yh1_118 span{display:block;width:100%;height:2px;background-color:var(--color-text-primary);transition:transform var(--transition-base),opacity var(--transition-base);border-radius:2px}._hamburger_m6yh1_118._open_m6yh1_136 span:nth-child(1){transform:translateY(8px) rotate(45deg)}._hamburger_m6yh1_118._open_m6yh1_136 span:nth-child(2){opacity:0}._hamburger_m6yh1_118._open_m6yh1_136 span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}._mobileNav_m6yh1_149{position:fixed;inset:70px 0 0;background-color:var(--color-background);transform:translate(100%);transition:transform var(--transition-base);overflow-y:auto;display:none}._mobileNav_m6yh1_149._open_m6yh1_136{transform:translate(0)}._mobileNavList_m6yh1_166{list-style:none;margin:0;padding:var(--space-lg) var(--section-padding-x)}._mobileNavItem_m6yh1_172{margin-bottom:var(--space-sm)}._mobileNavLink_m6yh1_176{display:block;font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);text-decoration:none;padding:var(--space-sm) 0;transition:color var(--transition-fast)}._mobileNavLink_m6yh1_176:hover,._mobileNavLink_m6yh1_176._active_m6yh1_93{color:var(--color-accent)}@media(max-width:767px){._desktopNav_m6yh1_194{display:none}._mobileOnly_m6yh1_198,._mobileNav_m6yh1_149{display:block}._nav_m6yh1_18{height:60px;padding:var(--space-sm) var(--space-sm)}._logoLink_m6yh1_33{font-size:var(--font-size-xl)}._mobileNav_m6yh1_149{top:60px}}@media(min-width:768px){._mobileOnly_m6yh1_198,._mobileNav_m6yh1_149{display:none}}._skipLink_m6yh1_231{position:absolute;top:-40px;left:0;background:var(--color-accent);color:#fff;padding:var(--space-xs) var(--space-sm);text-decoration:none;border-radius:var(--radius-md);z-index:var(--z-tooltip);transition:top var(--transition-fast)}._skipLink_m6yh1_231:focus{top:var(--space-xs)}._footer_15m59_1{width:100%;background-color:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-lg) 0;margin-top:var(--space-2xl)}._container_15m59_9{max-width:var(--section-max-width);margin:0 auto;padding:0 var(--section-padding-x);text-align:center}._copyright_15m59_16{font-family:var(--font-family-body);font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}@media(max-width:767px){._footer_15m59_1{padding:var(--space-md) 0;margin-top:var(--space-xl)}}._hidden_fkwaw_5{opacity:0}._delay-1_fkwaw_10{animation-delay:.1s}._delay-2_fkwaw_14{animation-delay:.2s}._delay-3_fkwaw_18{animation-delay:.3s}._delay-4_fkwaw_22{animation-delay:.4s}._delay-5_fkwaw_26{animation-delay:.5s}._delay-6_fkwaw_30{animation-delay:.6s}._delay-7_fkwaw_34{animation-delay:.7s}._delay-8_fkwaw_38{animation-delay:.8s}._section_1gdf7_1{width:100%;position:relative}._container_1gdf7_6{width:100%;max-width:var(--section-max-width);margin-left:auto;margin-right:auto;padding-left:var(--section-padding-x);padding-right:var(--section-padding-x)}._padding-default_1gdf7_16{padding-top:var(--section-padding-y);padding-bottom:var(--section-padding-y)}._padding-large_1gdf7_21{padding-top:var(--space-xl);padding-bottom:var(--space-xl)}._padding-small_1gdf7_26{padding-top:var(--space-md);padding-bottom:var(--space-md)}._padding-none_1gdf7_31{padding:0}._background-default_1gdf7_36{background-color:var(--color-background)}._background-surface_1gdf7_40{background-color:var(--color-surface)}._background-elevated_1gdf7_44{background-color:var(--color-surface-elevated)}._background-accent_1gdf7_48{background-color:var(--color-accent-light)}._contactSection_1xj1q_1{background-color:var(--color-surface);border-top:1px solid var(--color-border)}._sectionTitle_1xj1q_6{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-sm);line-height:var(--line-height-tight)}._sectionSubtitle_1xj1q_16{font-family:var(--font-family-body);font-size:var(--font-size-lg);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-xl);max-width:600px;margin-left:auto;margin-right:auto}._contactMethods_1xj1q_27{display:flex;justify-content:center;align-items:center;gap:var(--space-md);max-width:800px;margin-left:auto;margin-right:auto;flex-wrap:wrap}._contactCard_1xj1q_38{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-sm);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-lg);text-decoration:none;transition:all var(--transition-base);cursor:pointer;flex:0 1 150px}._contactCard_1xj1q_38:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}._contactCard_1xj1q_38:hover ._iconWrapper_1xj1q_60{background-color:var(--color-accent);color:#fff}._contactCard_1xj1q_38:hover ._contactLabel_1xj1q_65{color:var(--color-accent)}._iconWrapper_1xj1q_60{display:flex;align-items:center;justify-content:center;width:56px;height:56px;background-color:var(--color-accent-light);color:var(--color-accent);border-radius:var(--radius-full);flex-shrink:0;transition:all var(--transition-base)}._icon_1xj1q_60{width:24px;height:24px}._emoji_1xj1q_87{font-size:28px;line-height:1}._contactLabel_1xj1q_65{font-family:var(--font-family-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-primary);text-align:center;transition:color var(--transition-fast)}@media(max-width:767px){._sectionTitle_1xj1q_6{font-size:var(--font-size-3xl)}._sectionSubtitle_1xj1q_16{font-size:var(--font-size-base)}._contactMethods_1xj1q_27{gap:var(--space-sm)}._contactCard_1xj1q_38{padding:var(--space-md);flex:0 1 calc(50% - var(--space-sm))}._iconWrapper_1xj1q_60{width:48px;height:48px}._icon_1xj1q_60{width:20px;height:20px}._emoji_1xj1q_87{font-size:24px}._contactLabel_1xj1q_65{font-size:var(--font-size-xs)}}._heroSection_a667j_1{min-height:100vh;display:flex;align-items:center;padding-top:100px}._heroContent_a667j_8{max-width:1000px}._greeting_a667j_12{font-family:var(--font-family-body);font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-xs);letter-spacing:var(--letter-spacing-wide)}._name_a667j_20{font-family:var(--font-family-heading);font-size:var(--font-size-6xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight);margin-bottom:var(--space-sm)}._role_a667j_30{font-family:var(--font-family-body);font-size:var(--font-size-2xl);font-weight:var(--font-weight-normal);color:var(--color-text-secondary);line-height:var(--line-height-normal);margin-bottom:var(--space-xs)}._company_a667j_39{color:var(--color-accent);font-weight:var(--font-weight-medium)}._location_a667j_44{font-family:var(--font-family-body);font-size:var(--font-size-base);color:var(--color-text-tertiary);margin-bottom:var(--space-lg)}._tagline_a667j_51{font-family:var(--font-family-body);font-size:var(--font-size-xl);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);max-width:800px;margin-bottom:var(--space-xl);font-weight:var(--font-weight-medium)}._bioSection_a667j_61{max-width:900px;margin-bottom:var(--space-xl)}._bioParagraph_a667j_66{font-family:var(--font-family-body);font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-md);text-align:justify}._bioParagraph_a667j_66:last-child{margin-bottom:0}._cta_a667j_79{display:flex;gap:var(--space-sm);flex-wrap:wrap}._primaryButton_a667j_85,._secondaryButton_a667j_86{display:inline-block;padding:var(--space-sm) var(--space-lg);font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);text-decoration:none;border-radius:var(--radius-md);transition:all var(--transition-base);cursor:pointer}._primaryButton_a667j_85{background-color:var(--color-accent);color:#fff;border:2px solid var(--color-accent)}._primaryButton_a667j_85:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}._secondaryButton_a667j_86{background-color:transparent;color:var(--color-accent);border:2px solid var(--color-accent)}._secondaryButton_a667j_86:hover{background-color:var(--color-accent-light);transform:translateY(-2px)}@media(max-width:767px){._heroSection_a667j_1{min-height:auto;padding-top:80px}._name_a667j_20{font-size:var(--font-size-4xl)}._role_a667j_30{font-size:var(--font-size-xl)}._tagline_a667j_51{font-size:var(--font-size-lg)}._bioParagraph_a667j_66{font-size:var(--font-size-base);text-align:left}._cta_a667j_79{flex-direction:column}._primaryButton_a667j_85,._secondaryButton_a667j_86{text-align:center}}._curriculumSection_11f1i_1{position:relative;padding-top:100px}._pageTitle_11f1i_6{font-family:var(--font-family-heading);font-size:var(--font-size-5xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-sm);line-height:var(--line-height-tight)}._pageSubtitle_11f1i_16{font-family:var(--font-family-body);font-size:var(--font-size-xl);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-xl);max-width:700px;margin-left:auto;margin-right:auto}._timeline_11f1i_27{position:relative;max-width:1100px;margin:0 auto;padding:var(--space-md) 0}._timelineLine_11f1i_35{position:absolute;left:50%;top:0;bottom:0;width:2px;background-color:var(--color-timeline-line);transform:translate(-50%);z-index:1}._timelineItem_11f1i_47{position:relative;display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-md);margin-bottom:var(--space-lg)}._dot_11f1i_56{position:relative;width:14px;height:14px;background-color:var(--color-timeline-dot);border:3px solid var(--color-background);border-radius:50%;z-index:2;transition:all var(--transition-base)}._timelineItem_11f1i_47:hover ._dot_11f1i_56{transform:scale(1.3);background-color:var(--color-accent)}._timelineItem_11f1i_47._right_11f1i_73 ._content_11f1i_73{grid-column:3}._timelineItem_11f1i_47._left_11f1i_77 ._content_11f1i_73{grid-column:1;text-align:right}._content_11f1i_73{background-color:var(--color-surface);padding:var(--space-md);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:all var(--transition-base);border:1px solid var(--color-border)}._timelineItem_11f1i_47:hover ._content_11f1i_73{box-shadow:var(--shadow-md);border-color:var(--color-accent)}._period_11f1i_97{display:inline-block;font-family:var(--font-family-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-accent);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide);margin-bottom:6px}._title_11f1i_108{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:6px;line-height:var(--line-height-snug)}._honor_11f1i_117{font-size:var(--font-size-base);color:var(--color-accent);font-weight:var(--font-weight-normal)}._organization_11f1i_123{font-family:var(--font-family-body);font-size:var(--font-size-lg);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-sm)}._location_11f1i_131{font-weight:var(--font-weight-normal);color:var(--color-text-tertiary)}._description_11f1i_136{font-family:var(--font-family-body);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-sm)}._projects_11f1i_145{margin-top:var(--space-sm);display:flex;flex-direction:column;gap:var(--space-sm)}._project_11f1i_145{padding-left:var(--space-sm);border-left:2px solid var(--color-border)}._projectName_11f1i_157{font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px}._projectDescription_11f1i_165{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:0}._thesis_11f1i_173{margin-top:var(--space-sm);padding:var(--space-sm);background-color:var(--color-accent-light);border-radius:var(--radius-md)}._thesisTitle_11f1i_180{font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:4px}._thesisDescription_11f1i_188{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:var(--line-height-relaxed)}@media(max-width:1023px){._timelineItem_11f1i_47{grid-template-columns:auto 1fr;gap:var(--space-sm)}._timelineItem_11f1i_47._right_11f1i_73 ._content_11f1i_73,._timelineItem_11f1i_47._left_11f1i_77 ._content_11f1i_73{grid-column:2;text-align:left}._dot_11f1i_56{grid-column:1;grid-row:1;margin-top:var(--space-xs)}._title_11f1i_108{font-size:var(--font-size-xl)}._timelineLine_11f1i_35{left:7px}._curriculumSection_11f1i_1{padding-top:80px}._pageTitle_11f1i_6{font-size:var(--font-size-3xl)}._pageSubtitle_11f1i_16{font-size:var(--font-size-base)}}._projectsSection_18jj9_1{padding-top:100px;background-color:var(--color-background)}._pageTitle_18jj9_6{font-family:var(--font-family-heading);font-size:var(--font-size-5xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);text-align:center;margin-bottom:var(--space-sm);line-height:var(--line-height-tight)}._pageSubtitle_18jj9_16{font-family:var(--font-family-body);font-size:var(--font-size-xl);color:var(--color-text-secondary);text-align:center;margin-bottom:var(--space-xl);max-width:700px;margin-left:auto;margin-right:auto}._filterSection_18jj9_28{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-md);margin-bottom:var(--space-lg)}._filterHeader_18jj9_36{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);flex-wrap:wrap;gap:var(--space-sm)}._filterTitle_18jj9_45{font-family:var(--font-family-body);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;display:flex;align-items:center;gap:var(--space-xs)}._filterCount_18jj9_56{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:var(--font-weight-normal)}._clearButton_18jj9_62{padding:6px var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-accent);background-color:transparent;border:1px solid var(--color-accent);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast)}._clearButton_18jj9_62:hover{background-color:var(--color-accent);color:#fff}._skillsGrid_18jj9_80{display:flex;flex-direction:column;gap:var(--space-sm)}._skillGroup_18jj9_86{display:flex;flex-direction:column;gap:6px}._skillGroupTitle_18jj9_92{font-family:var(--font-family-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;padding-bottom:2px;border-bottom:1px solid var(--color-border)}._skillTags_18jj9_102{display:flex;flex-wrap:wrap;gap:6px}._skillTag_18jj9_102{padding:4px 12px;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;white-space:nowrap}._skillTag_18jj9_102:hover{color:var(--color-accent);border-color:var(--color-accent);transform:translateY(-1px)}._skillTag_18jj9_102._selected_18jj9_128{color:#fff;background-color:var(--color-accent);border-color:var(--color-accent)}._projectsList_18jj9_135{display:flex;flex-direction:column;gap:var(--space-lg);max-width:1200px;margin:0 auto}._card_18jj9_144{background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base);display:flex;flex-direction:row;overflow:hidden;gap:var(--space-lg)}._card_18jj9_144:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-accent)}._card_18jj9_144._featured_18jj9_161{border-color:var(--color-accent)}._cardContent_18jj9_166{padding:var(--space-lg);display:flex;flex-direction:column;flex:1;min-width:0}._cardImageWrapper_18jj9_175{width:280px;min-width:280px;height:100%;overflow:hidden;background-color:var(--color-background);display:flex;align-items:flex-start;justify-content:center;padding:var(--space-md)}._cardImage_18jj9_175{width:100%;height:auto;max-height:250px;object-fit:contain;border-radius:var(--radius-md);transition:transform var(--transition-base)}._card_18jj9_144:hover ._cardImage_18jj9_175{transform:scale(1.05)}._cardHeader_18jj9_200{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-sm);gap:var(--space-sm);flex-wrap:wrap}._category_18jj9_209{display:inline-block;padding:4px var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);color:var(--color-accent);background-color:var(--color-accent-light);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}._status_18jj9_221{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:var(--letter-spacing-wide)}._title_18jj9_228{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:var(--line-height-snug);margin-bottom:var(--space-sm)}._meta_18jj9_237{display:flex;gap:var(--space-sm);margin-bottom:var(--space-md);font-size:var(--font-size-base);color:var(--color-text-secondary);flex-wrap:wrap}._role_18jj9_246{font-weight:var(--font-weight-medium)}._period_18jj9_250{color:var(--color-text-tertiary)}._period_18jj9_250:before{content:"•";margin-right:var(--space-sm)}._description_18jj9_259{font-size:var(--font-size-lg);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-md)}._highlights_18jj9_266{list-style:none;padding:0;margin:0 0 var(--space-md) 0}._highlight_18jj9_266{position:relative;padding-left:var(--space-md);font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin-bottom:var(--space-xs)}._highlight_18jj9_266:before{content:"→";position:absolute;left:0;color:var(--color-accent);font-weight:var(--font-weight-bold)}._tags_18jj9_289{display:flex;flex-wrap:wrap;gap:var(--space-xs);margin-bottom:var(--space-sm)}._tag_18jj9_289{display:inline-block;padding:4px var(--space-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}._tag_18jj9_289:hover{color:var(--color-accent);border-color:var(--color-accent)}._link_18jj9_313{display:inline-flex;align-items:center;gap:var(--space-xs);margin-top:auto;padding-top:var(--space-sm);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-accent);text-decoration:none;transition:all var(--transition-fast)}._link_18jj9_313:hover{color:var(--color-accent-hover);transform:translate(4px)}._linkIcon_18jj9_331{width:20px;height:20px;flex-shrink:0}._noResults_18jj9_338{text-align:center;padding:var(--space-xl);background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}._noResults_18jj9_338 p{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--space-md)}._resetButton_18jj9_352{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:#fff;background-color:var(--color-accent);border:2px solid var(--color-accent);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-base)}._resetButton_18jj9_352:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-md)}._projectCount_18jj9_372{text-align:center;margin-top:var(--space-xl);font-size:var(--font-size-sm);color:var(--color-text-tertiary)}@media(max-width:767px){._projectsSection_18jj9_1{padding-top:80px}._pageTitle_18jj9_6{font-size:var(--font-size-3xl)}._pageSubtitle_18jj9_16{font-size:var(--font-size-base)}._filterSection_18jj9_28{padding:var(--space-sm)}._filterTitle_18jj9_45{font-size:var(--font-size-base)}._skillTag_18jj9_102{font-size:11px;padding:3px 10px}._card_18jj9_144{flex-direction:column}._cardImageWrapper_18jj9_175{width:100%;min-width:100%;height:200px;padding:var(--space-sm)}._cardImage_18jj9_175{max-height:180px}._cardContent_18jj9_166{padding:var(--space-md)}._title_18jj9_228{font-size:var(--font-size-2xl)}._description_18jj9_259{font-size:var(--font-size-base)}}*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{scroll-behavior:smooth}html:focus-within{scroll-behavior:smooth}body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}ul[role=list],ol[role=list]{list-style:none}img,picture,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media(prefers-reduced-motion:reduce){html:focus-within{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}button{background:none;border:none;cursor:pointer;font-family:inherit}a{text-decoration:none;color:inherit}iframe{border:0}fieldset{border:none;padding:0;margin:0}legend{padding:0}html,body{overflow-x:hidden}html{line-height:1.15}body{text-rendering:optimizeLegibility}a,button{-webkit-tap-highlight-color:transparent}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-spacing:0}input,textarea,select{border:none;background:none}input:focus,textarea:focus,select:focus{outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{-webkit-appearance:none}code,kbd,samp,pre{font-family:monospace,monospace;font-size:1em}html{-webkit-text-size-adjust:100%}[hidden]{display:none!important}:root{--color-navy-50: #e8eaf2;--color-navy-100: #c5cbe0;--color-navy-200: #9ea9cc;--color-navy-300: #7687b8;--color-navy-400: #586da9;--color-navy-500: #3a539b;--color-navy-600: #344c93;--color-navy-700: #2c4289;--color-navy-800: #25397f;--color-navy-900: #182a6d;--color-sienna-50: #fef3f0;--color-sienna-100: #fce1da;--color-sienna-200: #f9cdc2;--color-sienna-300: #f6b9aa;--color-sienna-400: #f4aa97;--color-sienna-500: #f19b85;--color-sienna-600: #ef937d;--color-sienna-700: #ed8972;--color-sienna-800: #eb7f68;--color-sienna-900: #e76d55;--color-gray-50: #f9fafb;--color-gray-100: #f3f4f6;--color-gray-200: #e5e7eb;--color-gray-300: #d1d5db;--color-gray-400: #9ca3af;--color-gray-500: #6b7280;--color-gray-600: #4b5563;--color-gray-700: #374151;--color-gray-800: #1f2937;--color-gray-900: #111827;--color-background: #fafafa;--color-surface: #ffffff;--color-surface-elevated: #ffffff;--color-text-primary: var(--color-navy-900);--color-text-secondary: var(--color-gray-600);--color-text-tertiary: var(--color-gray-500);--color-text-inverse: var(--color-gray-50);--color-accent: var(--color-sienna-500);--color-accent-hover: var(--color-sienna-600);--color-accent-light: var(--color-sienna-100);--color-border: var(--color-gray-200);--color-border-focus: var(--color-navy-500);--color-timeline-line: var(--color-gray-300);--color-timeline-dot: var(--color-navy-600);--font-family-heading: "Crimson Pro", "Georgia", serif;--font-family-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", sans-serif;--font-family-mono: "Consolas", "Monaco", monospace;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--font-size-5xl: 3rem;--font-size-6xl: 3.5rem;--font-size-7xl: 4rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tight: -.02em;--letter-spacing-normal: 0;--letter-spacing-wide: .02em;--space-xs: .5rem;--space-sm: 1rem;--space-md: 2rem;--space-lg: 4rem;--space-xl: 6rem;--space-2xl: 8rem;--space-3xl: 10rem;--section-padding-y: var(--space-lg);--section-padding-x: var(--space-sm);--section-max-width: 1400px;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-full: 9999px;--transition-fast: .15s ease-in-out;--transition-base: .25s ease-in-out;--transition-slow: .35s ease-in-out;--z-base: 1;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal: 400;--z-popover: 500;--z-tooltip: 600}[data-theme=dark]{--color-background: #0f1419;--color-surface: #1a1f2e;--color-surface-elevated: #242938;--color-text-primary: var(--color-gray-50);--color-text-secondary: var(--color-gray-300);--color-text-tertiary: var(--color-gray-400);--color-text-inverse: var(--color-navy-900);--color-accent: var(--color-sienna-400);--color-accent-hover: var(--color-sienna-300);--color-accent-light: var(--color-sienna-900);--color-border: var(--color-gray-700);--color-border-focus: var(--color-navy-400);--color-timeline-line: var(--color-gray-600);--color-timeline-dot: var(--color-navy-400);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .5);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .5), 0 2px 4px -2px rgb(0 0 0 / .5);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .5), 0 8px 10px -6px rgb(0 0 0 / .5);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .6)}@media(min-width:768px){:root{--font-size-3xl: 2.5rem;--font-size-4xl: 3rem;--font-size-5xl: 3.5rem;--font-size-6xl: 4rem;--font-size-7xl: 5rem;--section-padding-y: var(--space-xl);--section-padding-x: var(--space-md)}}@media(min-width:1024px){:root{--space-lg: 6rem;--space-xl: 10rem;--space-2xl: 12rem}}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-vietnamese-400-normal-C3m3Wqkz.woff2) format("woff2"),url(/assets/crimson-pro-vietnamese-400-normal-CEHt5KbE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-latin-ext-400-normal-B3ID4PT2.woff2) format("woff2"),url(/assets/crimson-pro-latin-ext-400-normal-BWiDT69a.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Crimson Pro;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/crimson-pro-latin-400-normal-B4SlG4wx.woff2) format("woff2"),url(/assets/crimson-pro-latin-400-normal-BzhyrSeK.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-vietnamese-600-normal-BD5z241x.woff2) format("woff2"),url(/assets/crimson-pro-vietnamese-600-normal-WXpto_XS.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-latin-ext-600-normal-DTIcmTiA.woff2) format("woff2"),url(/assets/crimson-pro-latin-ext-600-normal-ChXPf8Fx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Crimson Pro;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/crimson-pro-latin-600-normal-vJ8oEdKU.woff2) format("woff2"),url(/assets/crimson-pro-latin-600-normal-Ca4fy0Cf.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/crimson-pro-vietnamese-700-normal-D0P6piNS.woff2) format("woff2"),url(/assets/crimson-pro-vietnamese-700-normal-CXdpdE-3.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Crimson Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/crimson-pro-latin-ext-700-normal-DB6BXmm8.woff2) format("woff2"),url(/assets/crimson-pro-latin-ext-700-normal-B0XMIwQy.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Crimson Pro;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/crimson-pro-latin-700-normal-BfTu9YAt.woff2) format("woff2"),url(/assets/crimson-pro-latin-700-normal-CnzwvVon.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-g30qAdWV.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-400-normal-Dsrv2Tcn.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-cyrillic-400-normal-DZqxrq2p.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-400-normal-BTotfTJu.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-greek-400-normal-_efipK4i.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-400-normal-D9ESIMu3.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-vietnamese-400-normal-DG4YqDda.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-400-normal-fK1oJ5dG.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-ext-400-normal-C5H60-Va.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-400-normal-RBey6euL.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-Cs5J6C77.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-500-normal-DB5PtV2g.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-cyrillic-500-normal-CocWQlwt.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-500-normal-ByOcLdNv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-greek-500-normal-JMMifIXV.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-500-normal-CuWXN6rf.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-vietnamese-500-normal-e4dixQRQ.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-500-normal-BEb3_waV.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-ext-500-normal-DakdToA3.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-500-normal-D0aIdm-b.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-sans-latin-500-normal-6ng42L7E.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-500-normal-BgVn5rGT.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-DUMzJB7m.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-ext-600-normal-Bz0x94Yp.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-cyrillic-600-normal-71GNu3SW.woff2) format("woff2"),url(/assets/ibm-plex-sans-cyrillic-600-normal-BGq0mW3O.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-greek-600-normal-DzTrcv_p.woff2) format("woff2"),url(/assets/ibm-plex-sans-greek-600-normal-D-CqTdkO.woff) format("woff");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-vietnamese-600-normal-DpPYBSTl.woff2) format("woff2"),url(/assets/ibm-plex-sans-vietnamese-600-normal-DgdngZtN.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-ext-600-normal-DOrvGEcy.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-ext-600-normal-DIrixKbi.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2) format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}.heading-1{font-family:var(--font-family-heading);font-size:var(--font-size-6xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.heading-2{font-family:var(--font-family-heading);font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.heading-3{font-family:var(--font-family-heading);font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.heading-4{font-family:var(--font-family-heading);font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.heading-5{font-family:var(--font-family-heading);font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}.body-large{font-family:var(--font-family-body);font-size:var(--font-size-lg);font-weight:var(--font-weight-normal);line-height:var(--line-height-relaxed)}.body-base{font-family:var(--font-family-body);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.body-small{font-family:var(--font-family-body);font-size:var(--font-size-sm);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal)}.caption{font-family:var(--font-family-body);font-size:var(--font-size-xs);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);letter-spacing:var(--letter-spacing-wide);text-transform:uppercase}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-heading);color:var(--color-text-primary);margin:0}h1{font-size:var(--font-size-6xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h2{font-size:var(--font-size-4xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}h3{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h4{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}h5{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}h6{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);line-height:var(--line-height-normal)}p{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-relaxed);color:var(--color-text-secondary);margin:0}a{color:var(--color-accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-accent-hover)}a:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}strong,b{font-weight:var(--font-weight-semibold)}em,i{font-style:italic}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent)}.font-serif{font-family:var(--font-family-heading)}.font-sans{font-family:var(--font-family-body)}.font-mono{font-family:var(--font-family-mono)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(60px)}to{opacity:1;transform:translateY(0)}}@keyframes drawLine{0%{stroke-dashoffset:100%}to{stroke-dashoffset:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.animate-fade-in{animation:fadeIn .6s ease-out forwards}.animate-fade-in-up{opacity:0;animation:fadeInUp .6s ease-out forwards}.animate-fade-in-down{opacity:0;animation:fadeInDown .6s ease-out forwards}.animate-fade-in-left{opacity:0;animation:fadeInLeft .6s ease-out forwards}.animate-fade-in-right{opacity:0;animation:fadeInRight .6s ease-out forwards}.animate-scale-in{opacity:0;animation:scaleIn .5s ease-out forwards}.animate-slide-in-bottom{opacity:0;animation:slideInFromBottom .8s ease-out forwards}.animate-delay-1{animation-delay:.1s}.animate-delay-2{animation-delay:.2s}.animate-delay-3{animation-delay:.3s}.animate-delay-4{animation-delay:.4s}.animate-delay-5{animation-delay:.5s}.animate-delay-6{animation-delay:.6s}.animate-delay-7{animation-delay:.7s}.animate-delay-8{animation-delay:.8s}.animate-fast{animation-duration:.3s}.animate-slow{animation-duration:1s}.animate-slower{animation-duration:1.5s}.hover-lift{transition:transform var(--transition-base),box-shadow var(--transition-base)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.hover-grow{transition:transform var(--transition-base)}.hover-grow:hover{transform:scale(1.05)}.hover-fade{transition:opacity var(--transition-base)}.hover-fade:hover{opacity:.7}.focus-ring{transition:outline var(--transition-fast),outline-offset var(--transition-fast)}.focus-ring:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px}.link-underline{position:relative;display:inline-block}.link-underline:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background-color:var(--color-accent);transition:width var(--transition-base)}.link-underline:hover:after,.link-underline:focus:after{width:100%}.transition-all{transition:all var(--transition-base)}.transition-colors{transition:color var(--transition-base),background-color var(--transition-base),border-color var(--transition-base)}.transition-transform{transition:transform var(--transition-base)}.transition-opacity{transition:opacity var(--transition-base)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-fade-in-up,.animate-fade-in-down,.animate-fade-in-left,.animate-fade-in-right,.animate-scale-in,.animate-slide-in-bottom{opacity:1;animation:none;transform:none}}html{scroll-behavior:smooth;scroll-padding-top:80px}body{font-family:var(--font-family-body);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-text-secondary);background-color:var(--color-background);transition:background-color var(--transition-slow),color var(--transition-slow);overflow-x:hidden}::selection{background-color:var(--color-accent-light);color:var(--color-text-primary)}::-moz-selection{background-color:var(--color-accent-light);color:var(--color-text-primary)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-border-focus);outline-offset:2px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:var(--radius-full);border:3px solid var(--color-background)}::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--color-gray-600)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--color-gray-500)}*{scrollbar-width:thin;scrollbar-color:var(--color-gray-400) var(--color-background)}.container{width:100%;max-width:var(--section-max-width);margin-left:auto;margin-right:auto;padding-left:var(--section-padding-x);padding-right:var(--section-padding-x)}.section{padding-top:var(--section-padding-y);padding-bottom:var(--section-padding-y)}.mt-xs{margin-top:var(--space-xs)}.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}.mb-xs{margin-bottom:var(--space-xs)}.mb-sm{margin-bottom:var(--space-sm)}.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}.pt-xs{padding-top:var(--space-xs)}.pt-sm{padding-top:var(--space-sm)}.pt-md{padding-top:var(--space-md)}.pt-lg{padding-top:var(--space-lg)}.pt-xl{padding-top:var(--space-xl)}.pb-xs{padding-bottom:var(--space-xs)}.pb-sm{padding-bottom:var(--space-sm)}.pb-md{padding-bottom:var(--space-md)}.pb-lg{padding-bottom:var(--space-lg)}.pb-xl{padding-bottom:var(--space-xl)}.hidden{display:none}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.gap-xs{gap:var(--space-xs)}.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.skip-to-main{position:absolute;top:-40px;left:0;background:var(--color-accent);color:#fff;padding:var(--space-xs) var(--space-sm);text-decoration:none;border-radius:var(--radius-md);z-index:var(--z-tooltip);transition:top var(--transition-fast)}.skip-to-main:focus{top:var(--space-xs)}@media(max-width:767px){.hide-mobile{display:none!important}}@media(min-width:768px){.hide-desktop{display:none!important}}@media print{body{background:#fff;color:#000}.no-print{display:none!important}a[href]:after{content:" (" attr(href) ")"}h1,h2,h3,h4,h5,h6{page-break-after:avoid}img{max-width:100%!important}}._app_2wh6l_1{min-height:100vh;display:flex;flex-direction:column}._main_2wh6l_7{flex:1;padding-top:70px}@media(max-width:767px){._main_2wh6l_7{padding-top:60px}}
