.page_about__t61xL{background-color:var(--color-bg)}.page_about__t61xL .container-custom{max-width:980px}.page_hero__t2PAB{position:relative;overflow:hidden;padding-top:16px;padding-bottom:0;text-align:center}@media(min-width:768px){.page_hero__t2PAB{padding-top:20px}}.page_hero__glow__mdsug{position:absolute;top:50%;left:50%;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(var(--color-accent-rgb),.08) 0,transparent 70%);transform:translate(-50%,-50%);pointer-events:none}.page_hero__dots__QwlHO{position:absolute;inset:0;background-image:radial-gradient(circle,var(--color-border) 1px,transparent 1px);background-size:24px 24px;opacity:.4;pointer-events:none}.page_hero__inner__46rDz{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:16px}.page_hero__avatar__nhgJi{width:112px;height:112px;border-radius:50%;border:3px solid var(--color-accent);padding:4px;background-color:var(--color-bg)}@media(min-width:640px){.page_hero__avatar__nhgJi{width:136px;height:136px}}.page_hero__avatarImg__UUhlj{width:100%;height:100%;border-radius:50%;object-fit:cover}.page_hero__info__N5hz1{display:flex;flex-direction:column;align-items:center;gap:4px}.page_hero__name__5mBex{font-size:26px;font-weight:700;letter-spacing:-.025em;color:var(--color-text-primary)}@media(min-width:640px){.page_hero__name__5mBex{font-size:32px}}.page_hero__tagline___ckPw{font-size:18px;font-weight:500;color:var(--color-accent)}@media(min-width:640px){.page_hero__tagline___ckPw{font-size:20px}}.page_hero__desc__M3ef_{max-width:640px;margin-top:4px;font-size:15px;line-height:1.7;color:var(--color-text-secondary);white-space:pre-line}@media(min-width:640px){.page_hero__desc__M3ef_{font-size:16px}}.page_section__Ls86P{padding-bottom:16px}@media(min-width:768px){.page_section__Ls86P{padding-bottom:20px}}.page_statsGrid__5FERz{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media(min-width:640px){.page_statsGrid__5FERz{grid-template-columns:repeat(3,1fr);gap:16px}}@media(min-width:1024px){.page_statsGrid__5FERz{grid-template-columns:repeat(5,1fr)}}.page_statCard__e3hpc{position:relative;display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 12px 16px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-bg);box-shadow:0 4px 12px -2px rgba(0,0,0,.08),0 2px 6px -1px rgba(0,0,0,.04);transition:transform .3s ease,box-shadow .3s ease;cursor:default}@media(min-width:640px){.page_statCard__e3hpc{padding:24px 16px 20px;gap:10px}}.page_statCard__e3hpc:hover{transform:translateY(-4px);box-shadow:0 16px 30px -4px rgba(0,0,0,.12),0 6px 12px -2px rgba(0,0,0,.06)}.dark .page_statCard__e3hpc{background-color:var(--color-bg-secondary);box-shadow:0 4px 12px -2px rgba(0,0,0,.35),0 2px 6px -1px rgba(0,0,0,.25)}.dark .page_statCard__e3hpc:hover{box-shadow:0 16px 30px -4px rgba(0,0,0,.45),0 6px 12px -2px rgba(0,0,0,.3)}.page_statCard__icon__Iq4_n{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-size:22px;line-height:1}@media(min-width:640px){.page_statCard__icon__Iq4_n{width:56px;height:56px;font-size:26px}}.page_statCard__value___WJBm{font-size:24px;font-weight:700;letter-spacing:-.02em;color:var(--color-text-primary)}@media(min-width:640px){.page_statCard__value___WJBm{font-size:28px}}.page_statCard__label__DyaQk{font-size:13px;color:var(--color-text-secondary)}@media(min-width:640px){.page_statCard__label__DyaQk{font-size:14px}}.page_statCard__bar__vBF_C{margin-top:4px;width:32px;height:3px;border-radius:999px}@media(min-width:640px){.page_statCard__bar__vBF_C{width:40px}}.page_techGrid__apELu{display:grid;grid-template-columns:1fr;grid-gap:24px;gap:24px}@media(min-width:768px){.page_techGrid__apELu{grid-template-columns:repeat(2,1fr)}}.page_techGroup__5Rp8x{padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-bg-secondary)}.page_techGroup__section__U9Cu7{margin-bottom:20px}.page_techGroup__section__U9Cu7:last-child{margin-bottom:0}.page_techGroup__title__MyB5J{margin-bottom:12px;font-size:15px;font-weight:600;color:var(--color-text-primary)}.page_techGroup__badges__5J7i8{display:flex;flex-wrap:wrap;gap:8px}.page_techBadge__50oka{height:20px;width:auto;transition:transform .2s ease}.page_techBadge__50oka:hover{transform:scale(1.06)}.page_expTimeline__nfAA3{position:relative;display:flex;flex-direction:column;gap:12px;padding-left:32px}.page_expTimeline__nfAA3:before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:2px;border-radius:999px;background:linear-gradient(180deg,var(--color-accent) 0,rgba(var(--color-accent-rgb),.2) 100%)}.page_expItem__uNWcm{position:relative;display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-bg-secondary);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;cursor:default}.page_expItem__uNWcm:before{content:"";position:absolute;left:-28px;top:50%;width:10px;height:10px;border-radius:50%;background-color:var(--color-accent);transform:translateY(-50%);transition:transform .3s ease,box-shadow .3s ease}.page_expItem__uNWcm:hover{transform:translateX(8px);border-color:var(--color-accent);box-shadow:0 4px 24px rgba(var(--color-accent-rgb),.12)}.page_expItem__uNWcm:hover:before{transform:translateY(-50%) translateX(-8px) scale(1.4);box-shadow:0 0 0 8px rgba(var(--color-accent-rgb),.15);background-color:var(--color-accent)}.page_expItem__date__UE1R3{display:inline-flex;align-self:flex-start;padding:4px 10px;border-radius:999px;background-color:rgba(var(--color-accent-rgb),.1);font-size:12px;font-weight:600;color:var(--color-accent);letter-spacing:.02em}.page_expItem__title__ZZ4ij{font-size:16px;font-weight:700;color:var(--color-text-primary)}@media(min-width:640px){.page_expItem__title__ZZ4ij{font-size:17px}}.page_expItem__divider___zm0Y{margin:0 8px;color:var(--color-text-muted)}.page_expItem__company__EiO6W{font-weight:500;font-size:14px;color:var(--color-text-secondary)}.page_expItem__content__mvdWG{font-size:14px;line-height:1.7;color:var(--color-text-secondary)}@media(min-width:640px){.page_expItem__content__mvdWG{font-size:15px}}.page_valuesGrid__jxaUS{display:grid;grid-template-columns:1fr;grid-gap:16px;gap:16px}@media(min-width:640px){.page_valuesGrid__jxaUS{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.page_valuesGrid__jxaUS{grid-template-columns:repeat(4,1fr);gap:20px}}.page_valueCard__sY9ac{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:24px;border-radius:var(--radius-xl);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);box-shadow:0 4px 12px -2px rgba(0,0,0,.06),0 2px 6px -1px rgba(0,0,0,.03);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;cursor:default}.page_valueCard__sY9ac:hover{transform:translateY(-4px);border-color:var(--color-accent);box-shadow:0 16px 30px -4px rgba(0,0,0,.12),0 6px 12px -2px rgba(0,0,0,.06)}.page_valueCard__sY9ac:hover .page_valueCard__icon__TLQAf{background-color:var(--color-accent);color:#fff}.dark .page_valueCard__sY9ac{background-color:var(--color-bg-secondary);box-shadow:0 4px 12px -2px rgba(0,0,0,.35),0 2px 6px -1px rgba(0,0,0,.25)}.dark .page_valueCard__sY9ac:hover{box-shadow:0 16px 30px -4px rgba(0,0,0,.45),0 6px 12px -2px rgba(0,0,0,.3)}.page_valueCard__icon__TLQAf{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-lg);background-color:var(--color-bg);color:var(--color-accent);transition:background-color .3s ease,color .3s ease}.page_valueCard__icon__TLQAf svg{width:24px;height:24px}.page_valueCard__title__nQRwH{font-size:16px;font-weight:600;color:var(--color-text-primary)}.page_valueCard__desc__plRzU{font-size:14px;line-height:1.6;color:var(--color-text-secondary)}.Section_section__IRiaR{padding-top:28px;padding-bottom:16px}@media(min-width:640px){.Section_section__IRiaR{padding-top:16px;padding-bottom:20px}}.Section_header__ihgQ_{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}@media(min-width:640px){.Section_header__ihgQ_{flex-direction:row;align-items:flex-end;justify-content:space-between}}.Section_header__text__RHobN{min-width:0}.Section_header__title__Wj_1L{display:flex;align-items:center;gap:12px;font-size:16px;font-weight:700;color:var(--color-text-primary)}@media(min-width:640px){.Section_header__title__Wj_1L{font-size:19px}}.Section_header__title__Wj_1L:before{content:"";display:block;flex-shrink:0;width:4px;height:20px;border-radius:var(--radius-full);background-color:var(--color-accent)}.Section_header__subtitle__FUEg_{margin-top:4px;font-size:12px;line-height:1.6;color:var(--color-text-secondary)}@media(min-width:640px){.Section_header__subtitle__FUEg_{font-size:14px}}.Section_header__action__3jE16{flex-shrink:0}.GitHubDashboard_github__c0G6T{padding-top:0}.GitHubDashboard_header__link__4quFl{display:inline-flex;align-items:center;gap:4px;font-size:14px;font-weight:500;color:var(--color-accent);transition:color .2s}.GitHubDashboard_header__link__4quFl:hover{color:var(--color-accent-dark)}.GitHubDashboard_grid__2OkXr{margin-top:16px;display:grid;grid-gap:12px;gap:12px}@media(min-width:640px){.GitHubDashboard_grid__2OkXr{margin-top:20px;gap:16px}}@media(min-width:1024px){.GitHubDashboard_grid__2OkXr{grid-template-columns:1fr 280px}}@media(min-width:1280px){.GitHubDashboard_grid__2OkXr{grid-template-columns:1fr 320px}}.GitHubDashboard_statsGrid__y4RLf{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:12px;gap:12px}@media(min-width:640px){.GitHubDashboard_statsGrid__y4RLf{grid-template-columns:repeat(2,1fr);gap:16px}}@media(min-width:1024px){.GitHubDashboard_statsGrid__y4RLf{grid-template-columns:repeat(4,1fr)}}.GitHubDashboard_statsCard__fOnPE{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:16px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-bg);box-shadow:0 4px 12px -2px rgba(0,0,0,.08),0 2px 6px -1px rgba(0,0,0,.04);transition:transform .3s ease,box-shadow .3s ease;cursor:default}@media(min-width:640px){.GitHubDashboard_statsCard__fOnPE{padding:20px;gap:8px}}.GitHubDashboard_statsCard__fOnPE:hover{transform:translateY(-3px);box-shadow:0 16px 30px -4px rgba(0,0,0,.12),0 6px 12px -2px rgba(0,0,0,.06)}.dark .GitHubDashboard_statsCard__fOnPE{background-color:var(--color-bg-secondary);box-shadow:0 4px 12px -2px rgba(0,0,0,.35),0 2px 6px -1px rgba(0,0,0,.25)}.dark .GitHubDashboard_statsCard__fOnPE:hover{box-shadow:0 16px 30px -4px rgba(0,0,0,.45),0 6px 12px -2px rgba(0,0,0,.3)}.GitHubDashboard_statsCard__header__QXt3y{display:flex;align-items:center;justify-content:center;width:100%}.GitHubDashboard_statsCard__icon__00_Yq{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%}@media(min-width:640px){.GitHubDashboard_statsCard__icon__00_Yq{width:40px;height:40px}}.GitHubDashboard_statsCard__icon__00_Yq svg{color:inherit}.GitHubDashboard_statsCard__value__bjq9l{font-size:22px;font-weight:700;letter-spacing:-.02em}@media(min-width:640px){.GitHubDashboard_statsCard__value__bjq9l{font-size:26px}}.GitHubDashboard_statsCard__label__kHhJ0{font-size:12px;color:var(--color-text-secondary)}@media(min-width:640px){.GitHubDashboard_statsCard__label__kHhJ0{font-size:13px}}.GitHubDashboard_statsCard__sparkline__A1GgX{margin-top:6px;width:100%;height:32px}.GitHubDashboard_sparkline__8vupT{width:100%;height:100%;overflow:visible}.GitHubDashboard_profileCard__7tXPS{display:flex;flex-direction:column;justify-content:space-between;gap:16px;padding:20px;border:1px solid var(--color-border);border-radius:var(--radius-xl);background-color:var(--color-bg);box-shadow:0 4px 12px -2px rgba(0,0,0,.08),0 2px 6px -1px rgba(0,0,0,.04)}@media(min-width:640px){.GitHubDashboard_profileCard__7tXPS{padding:24px}}.dark .GitHubDashboard_profileCard__7tXPS{background-color:var(--color-bg-secondary);box-shadow:0 4px 12px -2px rgba(0,0,0,.35),0 2px 6px -1px rgba(0,0,0,.25)}.GitHubDashboard_profileCard__main___RzYL{display:flex;align-items:flex-start;gap:14px}.GitHubDashboard_profileCard__avatar__1gKTI{width:56px;height:56px;border-radius:var(--radius-xl);object-fit:cover;flex-shrink:0}@media(min-width:640px){.GitHubDashboard_profileCard__avatar__1gKTI{width:64px;height:64px}}.GitHubDashboard_profileCard__info__YNOsm{display:flex;flex-direction:column;gap:8px;min-width:0}.GitHubDashboard_profileCard__name__DJsF8{font-size:16px;font-weight:600;color:var(--color-text-primary)}@media(min-width:640px){.GitHubDashboard_profileCard__name__DJsF8{font-size:18px}}.GitHubDashboard_profileCard__tags__rWKwa{display:flex;flex-direction:column;gap:4px}.GitHubDashboard_profileCard__tag__kSiu1{display:inline-flex;align-items:center;gap:4px;font-size:12px;color:var(--color-text-secondary)}@media(min-width:640px){.GitHubDashboard_profileCard__tag__kSiu1{font-size:13px}}.GitHubDashboard_profileCard__tag__kSiu1 svg{color:var(--color-text-muted);flex-shrink:0}.GitHubDashboard_profileCard__link__4aXfC{display:flex;align-items:center;justify-content:center;gap:4px;padding:10px 0;border-radius:var(--radius-lg);background-color:#ebf8f4;font-size:14px;font-weight:500;color:var(--color-accent);transition:background-color .2s,color .2s}.GitHubDashboard_profileCard__link__4aXfC:hover{background-color:var(--color-accent);color:#fff}.dark .GitHubDashboard_profileCard__link__4aXfC{background-color:hsla(0,0%,100%,.05)}.dark .GitHubDashboard_profileCard__link__4aXfC:hover{background-color:var(--color-accent);color:#fff}.GitHubDashboard_quoteBar__9V0ev{margin-top:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;border-radius:var(--radius-xl);background-color:#eaf8f3;border-top:1px solid var(--color-border);box-shadow:0 4px 12px -2px rgba(0,0,0,.08),0 2px 6px -1px rgba(0,0,0,.04)}@media(min-width:640px){.GitHubDashboard_quoteBar__9V0ev{margin-top:20px;padding:16px 24px}}.dark .GitHubDashboard_quoteBar__9V0ev{background-color:rgba(64,196,158,.08);border-top-color:hsla(0,0%,100%,.08);box-shadow:0 4px 12px -2px rgba(0,0,0,.35),0 2px 6px -1px rgba(0,0,0,.25)}.GitHubDashboard_quoteBar__mark__CFeyu{flex-shrink:0;color:var(--color-accent);opacity:.7}.GitHubDashboard_quoteBar__text__REmTv{flex:1 1;font-size:14px;color:var(--color-text-secondary)}@media(min-width:640px){.GitHubDashboard_quoteBar__text__REmTv{font-size:15px}}.GitHubDashboard_quoteBar__heart__0ltsg{color:var(--color-accent);flex-shrink:0;opacity:.7;transition:opacity .2s,transform .2s}.GitHubDashboard_quoteBar__heart__0ltsg:hover{opacity:1;transform:scale(1.1)}.GitHubDashboard_heatmap__06q8T{border-radius:var(--radius-xl);border:1px solid var(--color-border);background-color:var(--color-bg-secondary);padding:20px;transition:all .2s}.GitHubDashboard_heatmap__06q8T:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.GitHubDashboard_heatmap__06q8T{margin-top:16px;overflow:hidden;--gh-cell:13px;--gh-gap:2px;--gh-label-w:36px}@media(max-width:639px){.GitHubDashboard_heatmap__06q8T{--gh-cell:11px;--gh-gap:2px;--gh-label-w:30px}}@media(min-width:640px){.GitHubDashboard_heatmap__06q8T{margin-top:20px}}.GitHubDashboard_heatmap__title___EZ4g{margin-bottom:12px;font-size:14px;font-weight:500;color:var(--color-text-secondary);display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}@media(min-width:640px){.GitHubDashboard_heatmap__title___EZ4g{margin-bottom:16px}}.GitHubDashboard_heatmap__total__aSP6q{font-size:12px;font-weight:400;color:var(--color-text-muted)}@media(min-width:640px){.GitHubDashboard_heatmap__total__aSP6q{font-size:13px}}.GitHubDashboard_heatmap__error__j9kPI{padding:24px 0;text-align:center;font-size:13px;color:var(--color-text-muted)}.GitHubDashboard_heatmap__chart__X_Ssr{margin-bottom:8px}.GitHubDashboard_heatmap__body__msuZx{display:flex;gap:6px;align-items:flex-start}.GitHubDashboard_heatmap__scrollArea__f4DfH{flex:1 1;min-width:0;overflow-x:auto;padding-bottom:4px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:#d1d5da transparent}.GitHubDashboard_heatmap__scrollArea__f4DfH::-webkit-scrollbar{height:6px}.GitHubDashboard_heatmap__scrollArea__f4DfH::-webkit-scrollbar-track{background:transparent;border-radius:3px}.GitHubDashboard_heatmap__scrollArea__f4DfH::-webkit-scrollbar-thumb{background-color:#d1d5da;border-radius:3px}.GitHubDashboard_heatmap__scrollArea__f4DfH::-webkit-scrollbar-thumb:hover{background-color:#a7aeb8}.GitHubDashboard_heatmap__scrollInner__0GRsk{min-width:-moz-fit-content;min-width:fit-content}.GitHubDashboard_heatmap__weekdayLabels__Vr1YZ{display:flex;flex-direction:column;gap:var(--gh-gap);width:var(--gh-label-w);flex-shrink:0;align-items:flex-end;padding-top:32px}.GitHubDashboard_heatmap__weekdayLabel__iJN4l{height:var(--gh-cell);line-height:var(--gh-cell);font-size:11px;color:#57606a;white-space:nowrap}@media(min-width:640px){.GitHubDashboard_heatmap__weekdayLabel__iJN4l{font-size:12px}}.GitHubDashboard_heatmap__monthLabels__fMKON{position:relative;height:28px;margin-bottom:4px}.GitHubDashboard_heatmap__yearLabel__4nThz{position:absolute;top:0;font-size:10px;font-weight:600;color:#57606a;white-space:nowrap}@media(min-width:640px){.GitHubDashboard_heatmap__yearLabel__4nThz{font-size:11px}}.GitHubDashboard_heatmap__monthLabel__GPdJ9{position:absolute;top:14px;font-size:11px;color:#57606a;white-space:nowrap}@media(min-width:640px){.GitHubDashboard_heatmap__monthLabel__GPdJ9{font-size:12px}}.GitHubDashboard_heatmap__grid__CVVKI{display:flex;gap:var(--gh-gap);min-width:0}.GitHubDashboard_heatmap__col__5LYx1{display:flex;flex-direction:column;gap:var(--gh-gap);flex-shrink:0}.GitHubDashboard_heatmap__cell__qG9Gb{width:var(--gh-cell);height:var(--gh-cell);border-radius:2px;flex-shrink:0;box-sizing:border-box;transition:outline .1s}.GitHubDashboard_heatmap__cell__qG9Gb:hover{outline:1px solid rgba(0,0,0,.3)}.GitHubDashboard_heatmap__cell--empty__qYS7h,.GitHubDashboard_heatmap__cell--level-0__7yQGH{background-color:#ebedf0}.GitHubDashboard_heatmap__cell--level-1__fcVrD{background-color:#9be9a8}.GitHubDashboard_heatmap__cell--level-2__rN248{background-color:#40c463}.GitHubDashboard_heatmap__cell--level-3__STPrP{background-color:#30a14e}.GitHubDashboard_heatmap__cell--level-4__k64RZ{background-color:#216e39}.GitHubDashboard_heatmap__footer__EzzEy{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-top:4px}.GitHubDashboard_heatmap__link__Rdfwv{font-size:11px;color:#57606a;text-decoration:none}.GitHubDashboard_heatmap__link__Rdfwv:hover{text-decoration:underline}@media(min-width:640px){.GitHubDashboard_heatmap__link__Rdfwv{font-size:12px}}.GitHubDashboard_heatmap__legend__dEc3K{display:flex;align-items:center;gap:4px;font-size:11px;color:#57606a}@media(min-width:640px){.GitHubDashboard_heatmap__legend__dEc3K{font-size:12px}}.GitHubDashboard_heatmap__level__F_6Lo{width:var(--gh-cell);height:var(--gh-cell);border-radius:2px}.GitHubDashboard_heatmap__level--0__sK1Cs{background-color:#ebedf0}.GitHubDashboard_heatmap__level--1__nTiew{background-color:#9be9a8}.GitHubDashboard_heatmap__level--2__NnJ_8{background-color:#40c463}.GitHubDashboard_heatmap__level--3__Ee7pE{background-color:#30a14e}.GitHubDashboard_heatmap__level--4__OVklm{background-color:#216e39}.dark .GitHubDashboard_heatmap__cell--empty__qYS7h,.dark .GitHubDashboard_heatmap__cell--level-0__7yQGH{background-color:#161b22}.dark .GitHubDashboard_heatmap__cell--level-1__fcVrD{background-color:#0e4429}.dark .GitHubDashboard_heatmap__cell--level-2__rN248{background-color:#006d32}.dark .GitHubDashboard_heatmap__cell--level-3__STPrP{background-color:#26a641}.dark .GitHubDashboard_heatmap__cell--level-4__k64RZ{background-color:#39d353}.dark .GitHubDashboard_heatmap__cell__qG9Gb:hover{outline-color:hsla(0,0%,100%,.4)}.dark .GitHubDashboard_heatmap__level--0__sK1Cs{background-color:#161b22}.dark .GitHubDashboard_heatmap__level--1__nTiew{background-color:#0e4429}.dark .GitHubDashboard_heatmap__level--2__NnJ_8{background-color:#006d32}.dark .GitHubDashboard_heatmap__level--3__Ee7pE{background-color:#26a641}.dark .GitHubDashboard_heatmap__level--4__OVklm{background-color:#39d353}.dark .GitHubDashboard_heatmap__legend__dEc3K,.dark .GitHubDashboard_heatmap__monthLabel__GPdJ9,.dark .GitHubDashboard_heatmap__weekdayLabel__iJN4l,.dark .GitHubDashboard_heatmap__yearLabel__4nThz{color:hsla(0,0%,100%,.6)}.dark .GitHubDashboard_heatmap__link__Rdfwv{color:hsla(0,0%,100%,.7)}.dark .GitHubDashboard_heatmap__link__Rdfwv:hover{color:#fff}.FadeIn_fadeIn__LnLlJ{opacity:0;transform:translateY(var(--fade-y,24px));transition:opacity .6s ease,transform .6s ease;transition-delay:var(--fade-delay,0s);will-change:opacity,transform}.FadeIn_visible__2erbg{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:reduce){.FadeIn_fadeIn__LnLlJ{opacity:1;transform:none;transition:none}}.Modal_overlay__YMkgx{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;background-color:rgba(15,23,42,.6);animation:Modal_overlay-fade__ZAekA .2s ease}.Modal_dialog__zSKSe{position:relative;width:100%;max-width:1100px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;background-color:var(--color-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);animation:Modal_dialog-pop__S5FOZ .2s ease}.Modal_header__bOvr_{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border)}.Modal_headerTitles__LhBzt{display:flex;align-items:baseline;gap:10px;min-width:0}.Modal_title__4HY94{font-size:18px;font-weight:700;color:var(--color-text-primary)}.Modal_subtitle__O_DAo{font-size:13px;font-weight:500;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Modal_close__qdO38{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-full);color:var(--color-text-muted);background-color:var(--color-surface-muted);transition:color .2s,background-color .2s}.Modal_close__qdO38:hover{color:var(--color-accent);background-color:var(--color-surface)}.Modal_body__Vx8ml{padding:24px;overflow-y:auto}@keyframes Modal_overlay-fade__ZAekA{0%{opacity:0}to{opacity:1}}@keyframes Modal_dialog-pop__S5FOZ{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.Lightbox_overlay__yYS0n{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:32px;background-color:rgba(15,23,42,.85);cursor:zoom-out;overflow:hidden;-webkit-tap-highlight-color:rgba(0,0,0,0);animation:Lightbox_lightbox-overlay-fade__DntE6 .2s ease}.Lightbox_img__267Cn{max-width:92vw;max-height:92vh;width:auto;height:auto;object-fit:contain;border-radius:var(--radius-lg);box-shadow:var(--shadow-card);cursor:default;touch-action:pinch-zoom;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:Lightbox_lightbox-image-pop__yH_Ap .2s ease}.Lightbox_close__u4I6E{position:fixed;top:20px;right:24px;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;color:#fff;background-color:hsla(0,0%,100%,.12);border-radius:var(--radius-full);cursor:pointer;transition:background-color .2s ease}.Lightbox_close__u4I6E:hover{background-color:hsla(0,0%,100%,.24)}@media(max-width:640px){.Lightbox_overlay__yYS0n{padding:16px}.Lightbox_img__267Cn{max-width:100%;max-height:100%;border-radius:0}.Lightbox_close__u4I6E{top:calc(12px + env(safe-area-inset-top, 0px));right:calc(12px + env(safe-area-inset-right, 0px));width:44px;height:44px}}@keyframes Lightbox_lightbox-overlay-fade__DntE6{0%{opacity:0}to{opacity:1}}@keyframes Lightbox_lightbox-image-pop__yH_Ap{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes FeaturedProjects_fproj-pulse__SDvmc{0%{box-shadow:0 0 0 0 rgba(var(--color-accent-rgb),.85);transform:scale(1)}50%{box-shadow:0 0 0 6px rgba(var(--color-accent-rgb),0);transform:scale(1.2)}to{box-shadow:0 0 0 0 rgba(var(--color-accent-rgb),0);transform:scale(1)}}.FeaturedProjects_projects__Jx7ks{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);background-color:var(--color-bg)}.FeaturedProjects_header__6nyte{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.FeaturedProjects_header__title__Qtu4P{font-size:18px;font-weight:700;color:var(--color-text-primary)}@media(min-width:640px){.FeaturedProjects_header__title__Qtu4P{font-size:20px}}.FeaturedProjects_header__link__WnVsY{display:inline-flex;align-items:center;font-size:14px;font-weight:500;color:var(--color-accent);transition:color .2s}.FeaturedProjects_header__link__WnVsY:hover{color:var(--color-accent-dark)}.FeaturedProjects_header__link__WnVsY svg{margin-left:4px;width:16px;height:16px;transition:transform .2s}.FeaturedProjects_header__link__WnVsY:hover svg{transform:translateX(4px)}.FeaturedProjects_filterBar__NPXDG{display:flex;flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:24px}@media(min-width:640px){.FeaturedProjects_filterBar__NPXDG{flex-direction:row;align-items:center;justify-content:space-between}}.FeaturedProjects_filterBar__tabs__tqRAO{display:flex;flex-wrap:wrap;gap:4px}.FeaturedProjects_filterBar__tab__f7B_8{padding:6px 14px;border-radius:9999px;border:none;background-color:transparent;font-size:14px;font-weight:500;color:var(--color-text-secondary);cursor:pointer;transition:color .2s,background-color .2s,font-weight .2s}.FeaturedProjects_filterBar__tab__f7B_8:hover{color:var(--color-text-primary)}.FeaturedProjects_filterBar__tab--active__1w4dU{color:#fff;font-weight:700;background-color:var(--color-accent)}.FeaturedProjects_filterBar__tab--active__1w4dU:hover{color:#fff;background-color:var(--color-accent)}.FeaturedProjects_filterBar__search__rsKiB{position:relative;display:flex;align-items:center;width:100%}@media(min-width:640px){.FeaturedProjects_filterBar__search__rsKiB{width:240px}}.FeaturedProjects_filterBar__icon__nZzR6{position:absolute;left:12px;color:var(--color-text-muted);pointer-events:none}.FeaturedProjects_filterBar__input___BT1E{width:100%;padding:8px 12px 8px 38px;border:1px solid var(--color-border);border-radius:var(--radius-lg);background-color:transparent;font-size:14px;color:var(--color-text-primary);outline:none;transition:border-color .2s}.FeaturedProjects_filterBar__input___BT1E::placeholder{color:var(--color-text-muted)}.FeaturedProjects_filterBar__input___BT1E:focus{outline:none;border-color:var(--color-accent)}.FeaturedProjects_grid__XuRO9{display:grid;grid-gap:16px;gap:16px}@media(min-width:640px){.FeaturedProjects_grid__XuRO9{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(min-width:1024px){.FeaturedProjects_grid__XuRO9{grid-template-columns:repeat(3,minmax(0,1fr))}}.FeaturedProjects_card__815U5{border-radius:var(--radius-xl);background-color:var(--color-bg-secondary);padding:20px;transition:all .2s}.FeaturedProjects_card__815U5:hover{box-shadow:var(--shadow-md)}.FeaturedProjects_card__815U5{min-width:0;border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;padding:0;box-shadow:0 1px 3px rgba(0,0,0,.06),0 6px 20px rgba(0,0,0,.1);cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease,transform .3s ease}.FeaturedProjects_card__815U5:hover{border-color:var(--color-accent);box-shadow:0 8px 16px rgba(0,0,0,.08),0 16px 40px rgba(0,0,0,.16);transform:translateY(-4px)}.FeaturedProjects_card__image-box__U_WQl{position:relative;width:100%;height:220px;overflow:hidden;background-color:var(--color-surface-muted);border-radius:var(--radius-lg) var(--radius-lg) 0 0;border-bottom:1px solid color-mix(in srgb,var(--color-text-primary) 8%,transparent)}.FeaturedProjects_card__cover-bg__t_vkl{width:100%;height:100%;object-fit:cover;object-position:center;filter:blur(24px);transform:scale(1.2);opacity:.9}.FeaturedProjects_card__cover__fHJl2{width:100%;height:100%;object-fit:contain;object-position:center}.FeaturedProjects_card__placeholder__e6ROL{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:12px;background:linear-gradient(to bottom right,#111827,#1f2937);color:hsla(0,0%,100%,.85);text-align:center}.FeaturedProjects_card__placeholder-icon__Rv7nC{width:32px;height:32px;opacity:.4}.FeaturedProjects_card__placeholder-title__9hNYr{font-size:18px;font-weight:700;letter-spacing:.02em}.FeaturedProjects_card__status__XTJ55{display:inline-flex;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:500;color:var(--color-accent)}.FeaturedProjects_card__status__XTJ55[data-status=开发中]{color:#2563eb}.FeaturedProjects_card__status__XTJ55[data-status=未发布]{color:#6b7280}.FeaturedProjects_card__statusDot__4Ta6Q{width:6px;height:6px;border-radius:9999px;background-color:currentColor;box-shadow:0 0 0 0 rgba(var(--color-accent-rgb),.6);animation:FeaturedProjects_fproj-pulse__SDvmc 1.4s infinite}.FeaturedProjects_card__status__XTJ55[data-status=未发布] .FeaturedProjects_card__statusDot__4Ta6Q{animation:none;box-shadow:none}.FeaturedProjects_card__content__BCs_u{padding:10px 16px 16px}.FeaturedProjects_card__top__Q_beH{margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.FeaturedProjects_card__title__HOmsf{font-size:17px;font-weight:700;color:var(--color-text-primary);transition:color .2s}.FeaturedProjects_card__title__HOmsf:hover{color:var(--color-accent)}.FeaturedProjects_card__categoryTag__KPyN1{flex:0 0 auto;padding:3px 10px;border-radius:9999px;font-size:12px;font-weight:600;color:#33bf98;background-color:#e5f7ed}.dark .FeaturedProjects_card__categoryTag__KPyN1{color:#4ade80;background-color:rgba(51,191,152,.12)}.FeaturedProjects_card__desc__oNys9{margin-bottom:12px;font-size:14px;line-height:1.625;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.FeaturedProjects_card__footer__DsRRg{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:nowrap}.FeaturedProjects_card__tags__yzH82{display:flex;flex-wrap:nowrap;gap:6px;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 16px),transparent)}.FeaturedProjects_card__tag__VoV_b{flex-shrink:0;border-radius:var(--radius-xl);background-color:#f3f4f6;padding:4px 12px;font-size:12px;font-weight:600;color:var(--color-text-primary)}.dark .FeaturedProjects_card__tag__VoV_b{background-color:rgba(51,65,85,.4);color:#e2e8f0}.FeaturedProjects_card__links__09U3N{display:flex;align-items:center;gap:6px;flex-shrink:0}.FeaturedProjects_card__link__EDTck{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9999px;color:var(--color-text-muted);background-color:var(--color-surface-muted);transition:color .2s,background-color .2s}.FeaturedProjects_card__link__EDTck:hover{color:var(--color-accent);background-color:var(--color-surface)}.dark .FeaturedProjects_card__link__EDTck{color:#cbd5e1;background-color:rgba(51,65,85,.6)}.dark .FeaturedProjects_card__link__EDTck:hover{color:var(--color-accent);background-color:rgba(51,65,85,.85)}.dark .FeaturedProjects_card__815U5{border-color:rgba(51,65,85,.5);box-shadow:none}.dark .FeaturedProjects_card__815U5:hover{border-color:var(--color-accent);box-shadow:0 4px 20px rgba(0,0,0,.4);transform:translateY(-4px)}@keyframes FeaturedProjects_fproj-fadeIn__sh_mg{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.FeaturedProjects_carousel__lsKsS{position:relative;width:100%;min-width:0;margin:0 auto 16px;border-radius:var(--radius-lg);overflow:hidden;height:360px;max-height:360px;max-width:640px;background-color:var(--color-surface-muted)}.FeaturedProjects_carousel__bg__YHWnt{width:100%;height:100%;object-fit:cover;filter:blur(28px);transform:scale(1.2);opacity:.9}.FeaturedProjects_carousel__img__EvSe1{width:100%;height:100%;object-fit:contain;cursor:zoom-in;animation:FeaturedProjects_fproj-fadeIn__sh_mg .4s ease}.FeaturedProjects_carousel__btn__kxF6I{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;display:flex;align-items:center;justify-content:center;border:none;border-radius:9999px;font-size:22px;line-height:1;color:#fff;background-color:rgba(17,24,39,.5);cursor:pointer;transition:background-color .2s}.FeaturedProjects_carousel__btn__kxF6I:hover{background-color:rgba(17,24,39,.75)}.FeaturedProjects_carousel__btn--prev__8fV8v{left:12px}.FeaturedProjects_carousel__btn--next__4kVhz{right:12px}.FeaturedProjects_carousel__dots__59vyH{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.FeaturedProjects_carousel__dot__oIH9O{width:6px;height:6px;padding:0;border:none;border-radius:9999px;background-color:hsla(0,0%,100%,.5);cursor:pointer;transition:background-color .2s,width .2s}.FeaturedProjects_carousel__dot--active__pj0_v{width:20px;background-color:#fff}.FeaturedProjects_carousel__empty__8XaYr{display:flex;align-items:center;justify-content:center;height:100%;font-size:14px;color:var(--color-text-muted)}.FeaturedProjects_detail__meta__92ldG{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.FeaturedProjects_detail__status__UPY_U{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:500;color:var(--color-accent)}.FeaturedProjects_detail__status__UPY_U[data-status=开发中]{color:#2563eb}.FeaturedProjects_detail__status__UPY_U[data-status=未发布]{color:#6b7280}.FeaturedProjects_detail__statusDot__HnvXo{width:6px;height:6px;border-radius:9999px;background-color:currentColor;box-shadow:0 0 0 0 rgba(var(--color-accent-rgb),.6);animation:FeaturedProjects_fproj-pulse__SDvmc 1.4s infinite}.FeaturedProjects_detail__status__UPY_U[data-status=未发布] .FeaturedProjects_detail__statusDot__HnvXo{animation:none;box-shadow:none}.FeaturedProjects_detail__link__hJT4M{display:inline-flex;align-items:center;font-size:14px;font-weight:500;color:var(--color-accent);transition:color .2s}.FeaturedProjects_detail__link__hJT4M:hover{color:var(--color-accent-dark)}.FeaturedProjects_detail__arrow__Ho811{margin-left:4px;transition:transform .2s ease}.FeaturedProjects_detail__link__hJT4M:hover .FeaturedProjects_detail__arrow__Ho811{transform:translateX(4px)}.FeaturedProjects_detail__divider__3No6i{margin:16px 0;border:none;border-top:1px solid var(--color-border)}.FeaturedProjects_detail__desc___EAgb{margin-bottom:20px;font-size:14px;line-height:1.7;color:var(--color-text-secondary)}.FeaturedProjects_detail__section__7OG6s{margin-bottom:20px}.FeaturedProjects_detail__sectionTitle__HXaR7{margin-bottom:10px;font-size:14px;font-weight:700;color:var(--color-text-primary)}.FeaturedProjects_detail__techBrief__spWuX{margin-bottom:12px;font-size:13px;line-height:1.6;color:var(--color-text-secondary)}.FeaturedProjects_detail__techList__9c8ap{display:flex;flex-direction:column;gap:8px;list-style:none}.FeaturedProjects_detail__techItem__Tkhkn{display:flex;gap:12px;font-size:13px;line-height:1.6}.FeaturedProjects_detail__techCategory__pGU41{flex:0 0 72px;color:var(--color-text-muted)}.FeaturedProjects_detail__techValue__Exung{color:var(--color-text-secondary)}.FeaturedProjects_detail__list__GSCCC{display:flex;flex-direction:column;gap:10px;margin:0}.FeaturedProjects_detail__row___fNao{display:flex;gap:12px;font-size:13px;line-height:1.6}.FeaturedProjects_detail__label__wTLPq{flex:0 0 72px;margin:0;color:var(--color-text-muted)}.FeaturedProjects_detail__value__Xdzng{margin:0;color:var(--color-text-secondary);word-break:break-all}.FeaturedProjects_detail__value__Xdzng a{color:var(--color-accent);text-decoration:none}.FeaturedProjects_detail__value__Xdzng a:hover{text-decoration:underline}.FeaturedProjects_carousel__zoomHint__33gLS{display:none;position:absolute;right:12px;bottom:12px;z-index:2;padding:4px 10px;font-size:12px;line-height:1;color:#fff;background-color:rgba(15,23,42,.6);border-radius:999px;pointer-events:none}@media(hover:none)and (pointer:coarse){.FeaturedProjects_carousel__zoomHint__33gLS{display:inline-flex}}.Hero_hero__5u2dX{background-color:var(--color-bg)}.Hero_info__greeting__Sjg8w{display:block;font-size:14px;font-weight:500;color:var(--color-text-secondary)}@media(min-width:640px){.Hero_info__greeting__Sjg8w{font-size:16px}}.Hero_info__title__w0qYU{margin-top:16px;white-space:pre-line;font-size:26px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--color-text-primary);text-wrap:balance}@media(min-width:640px){.Hero_info__title__w0qYU{font-size:32px}}@media(min-width:1024px){.Hero_info__title__w0qYU{font-size:40px}}.Hero_info__highlight__3s2Jz{color:var(--color-accent)}.Hero_info__desc__ng0qa{margin-top:20px;font-size:16px;line-height:1.7;color:var(--color-text-secondary)}@media(min-width:640px){.Hero_info__desc__ng0qa{font-size:18px;max-width:520px}}.Hero_info__actions___X9HJ{margin-top:32px;display:flex;flex-wrap:wrap;align-items:center;gap:16px}.Hero_btn-hero__aEng9{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);font-weight:500;transition:all .2s;height:40px;padding-left:20px;padding-right:20px;font-size:13px}@media(min-width:640px){.Hero_btn-hero__aEng9{height:48px;padding-left:32px;padding-right:32px;font-size:14px}}.Hero_btn-hero__aEng9:active{transform:scale(.95)}.Hero_btn-hero--primary__X9NKG{background-color:var(--color-accent);color:#fff}.Hero_btn-hero--primary__X9NKG:hover{background-color:var(--color-accent-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.Hero_btn-hero--outline__uJBNl{border:1px solid var(--color-border);background-color:#fff;color:var(--color-text-primary)}.Hero_btn-hero--outline__uJBNl:hover{background-color:var(--color-surface);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.Hero_btn-hero--outline__uJBNl svg{margin-right:8px}.dark .Hero_btn-hero--outline__uJBNl{color:#111827;border-color:rgba(0,0,0,.1)}.dark .Hero_btn-hero--outline__uJBNl:hover{background-color:#f3f4f6;box-shadow:0 1px 2px rgba(0,0,0,.05);transform:translateY(-1px)}.Hero_animRise__lLgsf{opacity:0;animation:Hero_hero-rise__VHixP .5s ease forwards}@keyframes Hero_hero-rise__VHixP{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.Hero_animRise__lLgsf{opacity:1;animation:none}}.Quote_quote-section__YI5cY{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);background-color:rgba(var(--color-surface-rgb),.3)}.Quote_box__hOcDW{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:20px;border-radius:24px;background-color:var(--color-bg);padding:20px;box-shadow:var(--shadow-sm);border:1px solid var(--color-surface-muted)}@media(min-width:768px){.Quote_box__hOcDW{flex-direction:row;align-items:center;padding:24px}}.Quote_quote__J2500{display:flex;align-items:flex-start;gap:16px}@media(min-width:768px){.Quote_quote__J2500{max-width:672px}}.Quote_quote__icon__Lcy_b{color:var(--color-accent);flex-shrink:0}.Quote_quote__text__k8wcG{font-size:20px;font-weight:700;color:var(--color-text-primary)}@media(min-width:640px){.Quote_quote__text__k8wcG{font-size:24px}}.Quote_quote__subtext___H1uw{margin-top:8px;font-size:14px;color:var(--color-text-secondary)}.Quote_social__7PNBP{display:flex;align-items:center;gap:16px}.Quote_social__link__EsDLb{display:inline-flex;height:48px;width:48px;align-items:center;justify-content:center;border-radius:var(--radius-xl);background-color:var(--color-surface);color:var(--color-text-muted);transition:all .2s}.Quote_social__link__EsDLb:hover{background-color:var(--color-accent);color:#fff;box-shadow:0 10px 15px -3px rgba(var(--color-accent-rgb),.2)}.Quote_social__link__EsDLb:active{transform:scale(.95)}.Quote_social__csdn-text__tsH6t{font-size:14px;font-weight:700;letter-spacing:.02em}.PageBanner_banner__DuXdH{position:relative;margin-top:10px;padding:48px 16px 40px;overflow:hidden;border-radius:6px;display:flex;flex-direction:column;align-items:flex-start}@media(max-width:639px){.PageBanner_banner__DuXdH .PageBanner_bannerBg__blSBn{display:none}}@media(min-width:640px){.PageBanner_banner__DuXdH{padding:56px 16px 48px}}@media(min-width:1024px){.PageBanner_banner__DuXdH{padding:64px 16px 56px}}.PageBanner_banner__bg__NjuqX{position:absolute;inset:0;z-index:0}.PageBanner_banner__img__PgxMo{object-fit:cover}.PageBanner_banner__content__4sJZL{position:relative;z-index:10;width:100%}@media(min-width:640px){.dark .PageBanner_banner__DuXdH:before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,#020617 0,rgba(2,6,23,.92) 30%,rgba(2,6,23,.35) 60%,transparent 85%)}}.Services_services__i8e_0{padding-top:var(--spacing-lg);padding-bottom:var(--spacing-lg);background-color:var(--color-bg)}.Services_header__xTxgb{margin-bottom:12px}.Services_header__title__XtUBY{font-size:18px;font-weight:700;color:var(--color-text-primary)}@media(min-width:640px){.Services_header__title__XtUBY{font-size:20px}}.Services_grid__Rb8du{display:grid;grid-gap:16px;gap:16px}@media(min-width:640px){.Services_grid__Rb8du{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.Services_grid__Rb8du{grid-template-columns:repeat(3,1fr)}}.Services_item__ouTYo{position:relative;overflow:hidden;border-radius:var(--radius-xl);border:1px solid var(--color-surface-muted);background-color:rgba(var(--color-surface-rgb),.5);padding:18px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease,background-color .25s ease}.Services_item__ouTYo:before{content:"";position:absolute;top:0;left:0;height:2px;width:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-primary));transform:scaleX(0);transform-origin:center;transition:transform .3s ease,height .3s ease}.Services_item__ouTYo:hover{transform:translateY(-4px);background-color:var(--color-bg);border-color:rgba(var(--color-accent-rgb),.4);box-shadow:var(--shadow-card)}.Services_item__ouTYo:hover:before{transform:scaleX(1);height:1px}.Services_item__icon-box__rthWr{margin-bottom:12px;display:inline-flex;height:44px;width:44px;align-items:center;justify-content:center;border-radius:var(--radius-xl);background-color:rgba(var(--color-accent-rgb),.12);color:var(--color-accent);transition:transform .25s ease,background-color .25s ease}.Services_item__ouTYo:hover .Services_item__icon-box__rthWr{transform:scale(1.08);background-color:rgba(var(--color-accent-rgb),.18)}.Services_item__title__XkFPt{margin-bottom:6px;font-size:16px;font-weight:700;color:var(--color-text-primary);transition:color .2s ease}.Services_item__ouTYo:hover .Services_item__title__XkFPt{color:var(--color-accent-dark)}.Services_item__desc__CxuzH{font-size:14px;line-height:1.625;color:var(--color-text-secondary)}.page_projects__CeY63{padding-bottom:8px;background-color:var(--color-bg)}@media(min-width:640px){.page_projects__CeY63{padding-bottom:12px}}.page_content__In0Dl .page_label__imU_7{display:inline-flex;align-items:center;gap:6px;margin-bottom:0;padding:0;font-size:14px;font-weight:500;line-height:1;color:var(--color-accent)}@media(min-width:640px){.page_content__In0Dl .page_label__imU_7{font-size:16px}}.page_content__In0Dl .page_label__imU_7:before{content:"";display:inline-block;width:2px;height:14px;border-radius:9999px;background-color:var(--color-accent)}.page_content__In0Dl .page_title__UZqIB{margin-top:16px;white-space:pre-line;font-size:26px;font-weight:700;line-height:1.3;letter-spacing:-.01em;color:var(--color-text-primary);text-wrap:balance}@media(min-width:640px){.page_content__In0Dl .page_title__UZqIB{font-size:30px}}@media(min-width:1024px){.page_content__In0Dl .page_title__UZqIB{font-size:34px}}.page_content__In0Dl .page_subtitle__ntLAS{margin-top:20px;font-size:16px;line-height:1.7;color:var(--color-text-secondary)}@media(min-width:640px){.page_content__In0Dl .page_subtitle__ntLAS{font-size:17px;max-width:520px}}.ImageZoom_thumbWrap__OI8oj{position:relative;display:inline-block;max-width:100%;line-height:0}.ImageZoom_thumb__czbNL{max-width:100%;cursor:zoom-in;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;transition:opacity .2s ease}.ImageZoom_thumb__czbNL:hover{opacity:.9}.ImageZoom_thumbHint__j_aXA{display:none;position:absolute;right:8px;bottom:8px;padding:4px 8px;font-size:12px;line-height:1;color:#fff;background-color:rgba(15,23,42,.6);border-radius:999px;pointer-events:none}@media(hover:none)and (pointer:coarse){.ImageZoom_thumbHint__j_aXA{display:inline-flex}}.Markdown_markdownBody__vaLOa{font-size:15px;line-height:1.8;color:var(--color-text-primary);word-wrap:break-word}.Markdown_markdownBody__vaLOa>:first-child{margin-top:0}.Markdown_markdownBody__vaLOa h1{margin:0 0 20px;font-size:28px;font-weight:700;line-height:1.3}.Markdown_markdownBody__vaLOa h2{margin:40px 0 16px;padding-bottom:8px;font-size:22px;font-weight:600;line-height:1.4;border-bottom:1px solid var(--color-border)}.Markdown_markdownBody__vaLOa h3{margin:28px 0 12px;font-size:18px;font-weight:600}.Markdown_markdownBody__vaLOa h4{margin:22px 0 10px;font-size:16px;font-weight:600}.Markdown_markdownBody__vaLOa p{margin:14px 0}.Markdown_markdownBody__vaLOa strong{font-weight:600;color:var(--color-text-primary)}.Markdown_markdownBody__vaLOa a{color:var(--color-accent);text-decoration:none;border-bottom:1px solid transparent}.Markdown_markdownBody__vaLOa a:hover{border-bottom-color:var(--color-accent)}.Markdown_markdownBody__vaLOa ol,.Markdown_markdownBody__vaLOa ul{margin:14px 0;padding-left:24px}.Markdown_markdownBody__vaLOa li{margin:6px 0}.Markdown_markdownBody__vaLOa li::marker{color:var(--color-text-muted)}.Markdown_markdownBody__vaLOa blockquote{margin:18px 0;padding:8px 16px;color:var(--color-text-secondary);border-left:4px solid var(--color-accent);background-color:rgba(var(--color-accent-rgb),.06);border-radius:0 6px 6px 0}.Markdown_markdownBody__vaLOa blockquote p{margin:4px 0}.Markdown_markdownBody__vaLOa code{padding:2px 6px;font-family:var(--font-mono);font-size:.88em;color:var(--color-accent-dark);background-color:rgba(var(--color-accent-rgb),.1);border-radius:4px}.Markdown_markdownBody__vaLOa pre{margin:18px 0;padding:16px 18px;overflow-x:auto;font-size:13.5px;line-height:1.6;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.Markdown_markdownBody__vaLOa pre code{padding:0;font-size:inherit;color:#e5e7eb;background-color:transparent;border-radius:0}.Markdown_markdownBody__vaLOa table{display:block;width:100%;margin:18px 0;overflow-x:auto;border-collapse:collapse;font-size:14px}.Markdown_markdownBody__vaLOa td,.Markdown_markdownBody__vaLOa th{padding:8px 14px;border:1px solid var(--color-border);text-align:left}.Markdown_markdownBody__vaLOa th{font-weight:600;background-color:var(--color-bg-secondary)}.Markdown_markdownBody__vaLOa tr:nth-child(2n) td{background-color:rgba(var(--color-bg-secondary-rgb),.5)}.Markdown_markdownBody__vaLOa hr{margin:28px 0;border:none;border-top:1px solid var(--color-border)}.Markdown_markdownBody__vaLOa img{max-width:100%;border-radius:var(--radius-lg)}.Markdown_markdownBody__vaLOa .mermaid-diagram{display:flex;justify-content:center;margin:18px 0}.Markdown_markdownBody__vaLOa .mermaid-diagram svg{max-width:100%;height:auto}.Markdown_markdownBody__vaLOa .mermaid-fallback{margin:18px 0;padding:16px 18px;overflow-x:auto;font-size:13.5px;line-height:1.6;background-color:var(--color-bg-dark);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:#e5e7eb}.Markdown_markdownBody__vaLOa .hljs-comment,.Markdown_markdownBody__vaLOa .hljs-quote{color:#8b949e;font-style:italic}.Markdown_markdownBody__vaLOa .hljs-built_in,.Markdown_markdownBody__vaLOa .hljs-keyword,.Markdown_markdownBody__vaLOa .hljs-selector-tag{color:#ff7b72}.Markdown_markdownBody__vaLOa .hljs-attr,.Markdown_markdownBody__vaLOa .hljs-string,.Markdown_markdownBody__vaLOa .hljs-template-string{color:#a5d6ff}.Markdown_markdownBody__vaLOa .hljs-literal,.Markdown_markdownBody__vaLOa .hljs-number{color:#79c0ff}.Markdown_markdownBody__vaLOa .hljs-function,.Markdown_markdownBody__vaLOa .hljs-section,.Markdown_markdownBody__vaLOa .hljs-title{color:#d2a8ff}.Markdown_markdownBody__vaLOa .hljs-class,.Markdown_markdownBody__vaLOa .hljs-type,.Markdown_markdownBody__vaLOa .hljs-variable{color:#ffa657}.Markdown_markdownBody__vaLOa .hljs-name,.Markdown_markdownBody__vaLOa .hljs-tag{color:#7ee787}.Markdown_markdownBody__vaLOa .hljs-meta{color:#79c0ff}.Markdown_markdownBody__vaLOa .hljs-emphasis{font-style:italic}.Markdown_markdownBody__vaLOa .hljs-strong{font-weight:700}.page_doc__vg_cx{width:100%;max-width:1200px;margin:0 auto}.page_layout__WtrIl{display:flex;flex-direction:column;gap:24px}@media(min-width:1024px){.page_layout__WtrIl{flex-direction:row;gap:48px;align-items:flex-start}}.page_main__invAg{flex:1 1;min-width:0}@media(min-width:1024px){.page_main__invAg{order:1;margin-right:276px}}.page_toc__N8vXG{padding:12px 0 12px 10px;border-left:1px solid var(--color-border)}@media(min-width:1024px){.page_toc__N8vXG{order:2;position:fixed;z-index:1;top:88px;right:max(0px,(100vw - 1200px)/2);width:228px;max-height:calc(100vh - 112px);overflow-y:auto}}.page_toc__N8vXG{scrollbar-width:thin;scrollbar-color:var(--color-text-muted) transparent}.page_toc__N8vXG::-webkit-scrollbar{width:6px}.page_toc__N8vXG::-webkit-scrollbar-track{background-color:transparent}.page_toc__N8vXG::-webkit-scrollbar-thumb{background-color:var(--color-text-muted);border-radius:var(--radius-full)}.page_toc__N8vXG::-webkit-scrollbar-thumb:hover{background-color:var(--color-accent)}.page_toc__heading__gnyUz{margin:0 0 14px;font-size:14px;font-weight:700;color:var(--color-text-primary);letter-spacing:1px}.page_toc__nav__YrtVo{display:flex;flex-direction:column;gap:4px}.page_toc__link__Hk1Ka{padding:5px 8px;font-size:13.5px;line-height:1.5;color:var(--color-text-secondary);border-radius:6px;text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:all .15s ease}.page_toc__link__Hk1Ka:hover{color:var(--color-accent);background-color:rgba(var(--color-accent-rgb),.06)}.page_toc__link__Hk1Ka:active{background-color:rgba(var(--color-accent-rgb),.1)}.page_toc__link--level-2__CzgiC{font-weight:600}.page_toc__link--level-3__lveQw{padding-left:20px;font-size:13px;color:var(--color-text-muted)}.page_toc__link--level-4__AqqYN{padding-left:32px;font-size:12.5px;color:var(--color-text-muted)}.page_header__OCLhW{padding-bottom:14px;margin-bottom:18px;border-bottom:1px solid var(--color-border)}.page_back____WoS{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--color-accent);transition:color .2s ease}.page_back____WoS:hover{color:var(--color-accent-dark)}.page_back____WoS svg{transition:transform .2s ease}.page_back____WoS:hover svg{transform:translateX(-3px)}.page_breadcrumb__JiSsA{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:14px;color:var(--color-text-muted)}.page_breadcrumb__link__pyBce{color:var(--color-text-secondary)}.page_breadcrumb__link__pyBce:hover{color:var(--color-accent)}.page_breadcrumb__sep__jk0I_{color:var(--color-text-muted)}.page_breadcrumb__current__3CAct{color:var(--color-text-secondary)}.page_title__qogQN{margin-top:16px;font-size:28px;font-weight:700;line-height:1.3;color:var(--color-text)}.page_body__gJGwc{margin-bottom:28px}.page_body__gJGwc blockquote,.page_body__gJGwc li,.page_body__gJGwc p,.page_body__gJGwc td,.page_body__gJGwc th{font-size:16px;line-height:1.7}.page_body__gJGwc h1{margin:0 0 14px;font-size:24px}.page_body__gJGwc h2{margin:26px 0 10px;padding-bottom:6px;font-size:19px}.page_body__gJGwc h3{margin:18px 0 8px;font-size:16px}.page_body__gJGwc h4{margin:14px 0 6px;font-size:15px}.page_body__gJGwc p{margin:10px 0}.page_body__gJGwc ol,.page_body__gJGwc ul{margin:10px 0;padding-left:22px}.page_body__gJGwc li{margin:4px 0}.page_body__gJGwc blockquote{margin:12px 0;padding:6px 14px}.page_body__gJGwc pre{margin:12px 0;padding:14px 16px}.page_body__gJGwc table{margin:12px 0}.page_body__gJGwc td,.page_body__gJGwc th{padding:7px 12px}.page_body__gJGwc hr{margin:18px 0}.page_pager__OEW9V{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding-top:24px;border-top:1px solid var(--color-border)}.page_pager__item__EcLot{display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all .2s ease}.page_pager__item__EcLot:hover{border-color:var(--color-accent);box-shadow:var(--shadow-md)}.page_pager__item--next__lEhNs{text-align:right}.page_pager__label__bMOY1{font-size:12px;color:var(--color-text-muted)}.page_pager__title__yVaG5{font-size:14px;font-weight:600;color:var(--color-text-primary)}.ScrollToTop_btn__H5bbq,.page_pager__item__EcLot:hover .page_pager__title__yVaG5{color:var(--color-accent)}.ScrollToTop_btn__H5bbq{position:fixed;z-index:20;right:24px;bottom:32px;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border:1px solid var(--color-accent);border-radius:var(--radius-full);background-color:var(--color-bg);cursor:pointer;box-shadow:var(--shadow-md);opacity:0;transform:scale(.85);pointer-events:none;transition:opacity .25s ease,transform .25s ease,background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}.ScrollToTop_btn__H5bbq:hover{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff;box-shadow:var(--shadow-lg)}.ScrollToTop_btn__H5bbq:active{transform:scale(.9)}.ScrollToTop_btn__H5bbq svg{flex-shrink:0}.ScrollToTop_btn--visible__bsm_M{opacity:1;transform:scale(1);pointer-events:auto}