.resume-menu[data-v-936a09fc]{display:inline-flex;position:relative}.resume-menu__trigger[data-v-936a09fc]{gap:6px}.resume-menu__panel[data-v-936a09fc]{z-index:60;border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);background:var(--dc-surface);width:240px;box-shadow:var(--dc-shadow);padding:6px;position:absolute;top:calc(100% + 10px)}.resume-menu--nav .resume-menu__panel[data-v-936a09fc]{right:0}.resume-menu--hero .resume-menu__panel[data-v-936a09fc]{left:0}.resume-menu__item[data-v-936a09fc]{color:var(--dc-text);transition:background-color var(--dc-ease), color var(--dc-ease);border-radius:6px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.resume-menu__item[data-v-936a09fc]:hover{background:var(--dc-primary-soft);color:var(--dc-primary-deep)}.resume-menu__item-main[data-v-936a09fc]{flex-direction:column;gap:2px;display:flex}.resume-menu__name[data-v-936a09fc]{font-size:var(--dc-font-small);font-weight:600}.resume-menu__meta[data-v-936a09fc]{color:var(--dc-text-muted);font-size:12px}.menu-fade-enter-active[data-v-936a09fc],.menu-fade-leave-active[data-v-936a09fc]{transition:opacity var(--dc-ease), transform var(--dc-ease)}.menu-fade-enter-from[data-v-936a09fc],.menu-fade-leave-to[data-v-936a09fc]{opacity:0;transform:translateY(2px)}.skip-link[data-v-b9298251]{z-index:100;border:1px solid var(--dc-primary);border-radius:var(--dc-radius-button);background:var(--dc-surface);color:var(--dc-primary-deep);padding:8px 12px;font-size:13px;position:fixed;top:8px;left:8px;transform:translateY(-200%)}.skip-link[data-v-b9298251]:focus{transform:translateY(0)}.site-header[data-v-b9298251]{z-index:50;border-bottom:1px solid var(--dc-line);background:var(--dc-surface);position:sticky;top:0}.site-header__inner[data-v-b9298251]{align-items:center;gap:28px;height:64px;display:flex}.brand[data-v-b9298251]{color:var(--dc-text);letter-spacing:-.02em;align-items:center;font-size:18px;font-weight:600;display:inline-flex}.brand__logo[data-v-b9298251]{object-fit:contain;width:auto;max-width:132px;height:30px}.brand__text[data-v-b9298251]{white-space:nowrap}.brand__dot[data-v-b9298251]{color:var(--dc-primary)}.site-nav[data-v-b9298251]{align-items:center;gap:2px;margin-right:auto;display:flex}.nav-link[data-v-b9298251]{color:var(--dc-text-secondary);transition:color var(--dc-ease);padding:7px 11px;font-size:13px;font-weight:500;position:relative}.nav-link[data-v-b9298251]:after{background:var(--dc-primary);content:"";opacity:0;height:2px;transition:opacity var(--dc-ease);position:absolute;bottom:1px;left:11px;right:11px}.nav-link[data-v-b9298251]:hover,.nav-link--active[data-v-b9298251]{color:var(--dc-text)}.nav-link--active[data-v-b9298251]:after{opacity:1}.site-header__actions[data-v-b9298251]{align-items:center;gap:8px;display:flex}.header-contact[data-v-b9298251]{border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);min-height:34px;color:var(--dc-text);transition:border-color var(--dc-ease), color var(--dc-ease), transform var(--dc-ease);align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-flex}.header-contact[data-v-b9298251]:hover{border-color:var(--dc-primary);color:var(--dc-primary-deep);transform:translateY(-2px)}.site-header__menu-button[data-v-b9298251]{border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);background:var(--dc-surface);width:36px;height:36px;color:var(--dc-text);cursor:pointer;justify-content:center;align-items:center;display:none}.mobile-nav[data-v-b9298251]{z-index:55;border-bottom:1px solid var(--dc-line);background:var(--dc-surface);box-shadow:var(--dc-shadow);position:fixed;top:64px;left:0;right:0}.mobile-nav__links[data-v-b9298251]{flex-direction:column;padding-block:8px 16px;display:flex}.mobile-nav__link[data-v-b9298251]{border-bottom:1px solid var(--dc-line);color:var(--dc-text);padding:12px 2px;font-size:15px}.mobile-nav__link--active[data-v-b9298251]{color:var(--dc-primary-deep);font-weight:600}.mobile-nav__actions[data-v-b9298251]{flex-wrap:wrap;gap:10px;padding-top:14px;display:flex}.mobile-nav-enter-active[data-v-b9298251],.mobile-nav-leave-active[data-v-b9298251]{transition:opacity var(--dc-ease), transform var(--dc-ease)}.mobile-nav-enter-from[data-v-b9298251],.mobile-nav-leave-to[data-v-b9298251]{opacity:0;transform:translateY(2px)}@media (width<=900px){.site-nav[data-v-b9298251],.site-header__actions[data-v-b9298251]{display:none}.site-header__inner[data-v-b9298251]{justify-content:space-between;gap:16px}.site-header__menu-button[data-v-b9298251]{display:inline-flex}}.site-footer[data-v-d7769052]{border-top:1px solid var(--dc-line);background:var(--dc-surface)}.site-footer__top[data-v-d7769052]{grid-template-columns:minmax(240px,1.4fr) .7fr 1fr;gap:48px;padding-block:40px 32px;display:grid}.site-footer__brand p[data-v-d7769052]{max-width:340px;color:var(--dc-text-secondary);margin-top:10px;font-size:12px;line-height:1.7}.footer-brand[data-v-d7769052]{color:var(--dc-text);align-items:center;font-size:17px;font-weight:600;display:inline-flex}.footer-brand__logo[data-v-d7769052]{object-fit:contain;width:auto;max-width:132px;height:28px}.footer-brand__text span[data-v-d7769052]{color:var(--dc-primary)}.site-footer__context[data-v-d7769052]{font-family:var(--dc-mono);flex-wrap:wrap;gap:12px;display:flex;color:var(--dc-text-muted)!important;font-size:11px!important}.site-footer__nav[data-v-d7769052],.site-footer__contact[data-v-d7769052]{flex-direction:column;align-items:flex-start;gap:7px;display:flex}.site-footer__label[data-v-d7769052]{color:var(--dc-text-muted);font-family:var(--dc-mono);letter-spacing:.08em;margin-bottom:3px;font-size:11px}.site-footer__link[data-v-d7769052]{color:var(--dc-text-secondary);transition:color var(--dc-ease);align-items:center;gap:4px;font-size:12px;display:inline-flex}.site-footer__link[data-v-d7769052]:hover{color:var(--dc-primary-deep)}.site-footer__friends[data-v-d7769052]{border-top:1px solid var(--dc-line);flex-wrap:wrap;align-items:baseline;gap:12px 20px;padding-block:13px;display:flex}.site-footer__friends-label[data-v-d7769052]{color:var(--dc-text-muted);font-family:var(--dc-mono);font-size:11px}.site-footer__friends-links[data-v-d7769052]{flex-wrap:wrap;gap:8px 18px;display:flex}.site-footer__friend[data-v-d7769052]{color:var(--dc-text-secondary);align-items:center;gap:4px;font-size:12px;display:inline-flex}.site-footer__friend[data-v-d7769052]:hover{color:var(--dc-primary-deep)}.site-footer__bottom[data-v-d7769052]{border-top:1px solid var(--dc-line);color:var(--dc-text-muted);justify-content:space-between;align-items:center;gap:16px;padding-block:13px;font-size:11px;display:flex}.site-footer__copyright[data-v-d7769052]{flex-wrap:wrap;gap:12px;display:flex}.site-footer__police[data-v-d7769052]{color:var(--dc-text-muted)}.site-footer__stats[data-v-d7769052]{font-family:var(--dc-mono);gap:8px;font-size:11px;display:inline-flex}.site-footer__license[data-v-d7769052]{color:var(--dc-text-secondary);font-family:var(--dc-mono);text-align:center;padding-block:12px 18px;font-size:12px}.site-footer__license a[data-v-d7769052]{color:var(--dc-text-secondary);text-underline-offset:3px;text-decoration:underline}.site-footer__license a[data-v-d7769052]:hover{color:var(--dc-primary-deep)}@media (width<=900px){.site-footer__top[data-v-d7769052]{grid-template-columns:1fr 1fr;gap:28px}.site-footer__brand[data-v-d7769052]{grid-column:1/-1}}@media (width<=640px){.site-footer__top[data-v-d7769052]{grid-template-columns:1fr;gap:24px;padding-block:32px 24px}.site-footer__bottom[data-v-d7769052]{flex-direction:column;align-items:flex-start;gap:8px}}.public-layout[data-v-09eb6882]{flex-direction:column;min-height:100vh;display:flex}.public-layout main[data-v-09eb6882]{flex:1}.layout-error[data-v-09eb6882]{border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);background:var(--dc-surface);color:var(--dc-text-secondary);font-size:var(--dc-font-small);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:12px 16px;display:flex}.page-fade-enter-active[data-v-09eb6882],.page-fade-leave-active[data-v-09eb6882]{transition:opacity var(--dc-ease), transform var(--dc-ease)}.page-fade-enter-from[data-v-09eb6882],.page-fade-leave-to[data-v-09eb6882]{opacity:0;transform:translateY(2px)}@media (prefers-reduced-motion:reduce){.page-fade-enter-active[data-v-09eb6882],.page-fade-leave-active[data-v-09eb6882]{transition:none}}.lightbox[data-v-61b2e608]{z-index:120;background:#faf8f6f7;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.lightbox__panel[data-v-61b2e608]{border:1px solid var(--dc-line);border-radius:var(--dc-radius-card);background:var(--dc-surface);width:min(100%,1080px);max-height:calc(100vh - 48px);box-shadow:var(--dc-shadow);flex-direction:column;display:flex;overflow:hidden}.lightbox__bar[data-v-61b2e608],.lightbox__footer[data-v-61b2e608]{justify-content:space-between;align-items:center;gap:16px;padding:12px 16px;display:flex}.lightbox__bar[data-v-61b2e608]{border-bottom:1px solid var(--dc-line)}.lightbox__footer[data-v-61b2e608]{border-top:1px solid var(--dc-line)}.lightbox__caption[data-v-61b2e608]{color:var(--dc-text);font-size:var(--dc-font-small);font-weight:500}.lightbox__counter[data-v-61b2e608]{color:var(--dc-text-muted);font-family:var(--dc-mono);font-size:13px}.lightbox__icon-button[data-v-61b2e608]{border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);background:var(--dc-surface);cursor:pointer;width:34px;height:34px;color:var(--dc-text);transition:border-color var(--dc-ease), color var(--dc-ease);justify-content:center;align-items:center;display:inline-flex}.lightbox__icon-button[data-v-61b2e608]:hover{border-color:var(--dc-primary);color:var(--dc-primary-deep)}.lightbox__stage[data-v-61b2e608]{background:#fbf9f7;justify-content:center;align-items:center;min-height:200px;padding:20px;display:flex;overflow:auto}.lightbox__stage img[data-v-61b2e608]{object-fit:contain;border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);width:auto;max-width:100%;max-height:68vh}.lightbox__nav[data-v-61b2e608]{gap:8px;display:flex}@media (width<=640px){.lightbox[data-v-61b2e608]{padding:10px}.lightbox__footer[data-v-61b2e608]{flex-direction:column;align-items:flex-start}.lightbox__caption[data-v-61b2e608]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}}.lightbox-fade-enter-active[data-v-61b2e608],.lightbox-fade-leave-active[data-v-61b2e608]{transition:opacity var(--dc-ease)}.lightbox-fade-enter-from[data-v-61b2e608],.lightbox-fade-leave-to[data-v-61b2e608]{opacity:0}.award-list[data-v-8c0eef3b]{flex-direction:column;display:flex}.award-list__item[data-v-8c0eef3b]{border-bottom:1px solid var(--dc-line);justify-content:space-between;align-items:flex-start;gap:12px;padding-block:12px;display:flex}.award-list__item[data-v-8c0eef3b]:first-child{padding-top:0}.award-list__item--highlight[data-v-8c0eef3b]{border-left:2px solid var(--dc-primary);background:var(--dc-primary-soft);margin-inline:-10px;padding-inline:10px}.award-list__main[data-v-8c0eef3b]{min-width:0}.award-list__meta[data-v-8c0eef3b]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.award-list__level[data-v-8c0eef3b]{color:var(--dc-text-muted);font-size:11px}.award-list__name[data-v-8c0eef3b]{color:var(--dc-text);margin-top:5px;font-size:13px;font-weight:600;line-height:1.55}.award-list__date[data-v-8c0eef3b]{color:var(--dc-text-muted);font-family:var(--dc-mono);margin-top:4px;font-size:11px}.award-list__star[data-v-8c0eef3b]{color:var(--dc-primary-deep);font-family:var(--dc-font-family);margin-left:6px;font-size:11px}.award-list__cert[data-v-8c0eef3b]{border:1px solid var(--dc-line);background:var(--dc-surface);color:var(--dc-text-muted);cursor:pointer;border-radius:4px;flex-shrink:0;align-items:center;gap:4px;padding:2px;display:inline-flex;overflow:hidden}.award-list__cert img[data-v-8c0eef3b]{object-fit:cover;width:48px;height:36px}.award-list__empty[data-v-8c0eef3b]{font-size:13px}.timeline[data-v-07c68414]{flex-direction:column;display:flex}.timeline__item[data-v-07c68414]{border-left:1px solid var(--dc-line);padding:0 0 24px 20px;position:relative}.timeline__item[data-v-07c68414]:last-child{border-left-color:#0000;padding-bottom:0}.timeline__item[data-v-07c68414]:before{background:var(--dc-primary);content:"";border-radius:50%;width:7px;height:7px;position:absolute;top:5px;left:-4px}.timeline__item+.timeline__item[data-v-07c68414]{padding-top:4px}.timeline__top[data-v-07c68414]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.timeline__range[data-v-07c68414]{color:var(--dc-text-muted);font-family:var(--dc-mono);font-size:11px}.timeline__title[data-v-07c68414]{color:var(--dc-text);margin-top:8px;font-size:16px;font-weight:600}.timeline__org[data-v-07c68414]{color:var(--dc-text-secondary);font-size:13px;font-weight:400}.timeline__item[data-v-07c68414] .markdown-body{margin-top:8px;font-size:13px;line-height:1.75}.timeline__item[data-v-07c68414] .markdown-body ul{padding-left:16px}.timeline__item[data-v-07c68414] .markdown-body li+li{margin-top:4px}.timeline__empty[data-v-07c68414]{font-size:13px}.hero[data-v-8f652573]{border-bottom:1px solid var(--dc-line);padding-top:48px;position:relative}.hero__grid[data-v-8f652573]{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:stretch;gap:64px;display:grid}.hero__content[data-v-8f652573]{align-self:center;padding-block:22px 34px}.hero__eyebrow[data-v-8f652573]{color:var(--dc-text-secondary);font-family:var(--dc-mono);letter-spacing:.06em;align-items:center;gap:8px;font-size:11px;display:inline-flex}.hero__eyebrow-dot[data-v-8f652573]{background:var(--dc-primary);border-radius:50%;width:6px;height:6px}.hero__greeting[data-v-8f652573]{color:var(--dc-text-muted);margin-top:34px;font-size:13px}.hero__name[data-v-8f652573]{color:var(--dc-text);letter-spacing:-.045em;margin-top:2px;font-size:clamp(36px,4.2vw,40px);font-weight:600;line-height:1.1}.hero__role[data-v-8f652573]{color:var(--dc-text);margin-top:12px;font-size:18px;font-weight:500}.hero__slogan[data-v-8f652573]{max-width:620px;color:var(--dc-text-secondary);margin-top:12px;font-size:14px;line-height:1.8}.hero__tags[data-v-8f652573]{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.hero__actions[data-v-8f652573]{flex-wrap:wrap;align-items:center;gap:9px;margin-top:30px;display:flex}.hero__visual[data-v-8f652573]{background:var(--dc-primary-soft);border-left:1px solid #f1ddcb;flex-direction:column;align-self:stretch;margin:0;padding:24px;display:flex}.hero__portrait[data-v-8f652573]{background:#f9e7d8;border:1px solid #edd9c7;border-radius:8px;flex:1;justify-content:center;align-items:center;min-height:280px;display:flex;overflow:hidden}.hero__portrait img[data-v-8f652573]{object-fit:cover;width:100%;height:100%}.hero__monogram[data-v-8f652573]{color:#b95114b8;letter-spacing:-.06em;font-size:96px;font-weight:600}.hero__visual-caption[data-v-8f652573]{color:var(--dc-text-secondary);font-family:var(--dc-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:10px;margin-top:12px;font-size:11px;display:flex}.hero__visual-rule[data-v-8f652573]{background:#e7cdb8;flex:1;height:1px}.hero__facts[data-v-8f652573]{border-top:1px solid var(--dc-line);grid-template-columns:repeat(4,minmax(0,1fr));margin-top:6px;display:grid}.hero__fact[data-v-8f652573]{border-right:1px solid var(--dc-line);flex-direction:column;gap:3px;padding:14px 18px;display:flex}.hero__fact[data-v-8f652573]:first-child{padding-left:0}.hero__fact[data-v-8f652573]:last-child{border-right:0}.hero__fact-label[data-v-8f652573]{color:var(--dc-text-muted);font-family:var(--dc-mono);font-size:11px}.hero__fact-value[data-v-8f652573]{color:var(--dc-text);font-size:12px;font-weight:500}@media (width<=980px){.hero[data-v-8f652573]{padding-top:32px}.hero__grid[data-v-8f652573]{grid-template-columns:1fr;gap:28px}.hero__content[data-v-8f652573]{padding-block:0 4px}.hero__visual[data-v-8f652573]{border:1px solid #f1ddcb;width:100%;max-width:520px}.hero__portrait[data-v-8f652573]{min-height:240px}.hero__facts[data-v-8f652573]{grid-template-columns:repeat(2,minmax(0,1fr))}.hero__fact[data-v-8f652573]:nth-child(2){border-right:0}.hero__fact[data-v-8f652573]:nth-child(-n+2){border-bottom:1px solid var(--dc-line)}}@media (width<=560px){.hero__name[data-v-8f652573]{font-size:36px}.hero__visual[data-v-8f652573]{max-width:none;padding:16px}.hero__actions .btn[data-v-8f652573]{flex:1}.hero__facts[data-v-8f652573]{grid-template-columns:1fr}.hero__fact[data-v-8f652573],.hero__fact[data-v-8f652573]:first-child{border-right:0;border-bottom:1px solid var(--dc-line);padding-inline:0}.hero__fact[data-v-8f652573]:last-child{border-bottom:0}}.post-item[data-v-2cdf4878]{border-bottom:1px solid var(--dc-line);color:var(--dc-text);transition:background-color var(--dc-ease), color var(--dc-ease);grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:20px;padding-block:18px;display:grid}.post-item[data-v-2cdf4878]:hover{background:#fffbf8}.post-item:hover h3[data-v-2cdf4878]{color:var(--dc-primary-deep)}.post-item__date[data-v-2cdf4878]{flex-direction:column;gap:1px;display:flex}.post-item__day[data-v-2cdf4878]{color:var(--dc-text);font-family:var(--dc-mono);font-size:22px;font-weight:500;line-height:1.1}.post-item__month[data-v-2cdf4878]{color:var(--dc-text-muted);font-family:var(--dc-mono);font-size:11px}.post-item__source[data-v-2cdf4878]{border:1px solid var(--dc-line);color:var(--dc-text-muted);border-radius:3px;align-self:flex-start;margin-top:6px;padding:1px 4px;font-size:11px}.post-item__source--csdn[data-v-2cdf4878]{background:var(--dc-primary-soft);color:var(--dc-primary-deep);border-color:#0000}.post-item__body[data-v-2cdf4878]{min-width:0}.post-item__meta[data-v-2cdf4878]{color:var(--dc-text-muted);font-family:var(--dc-mono);gap:6px;font-size:11px;display:flex}.post-item__body h3[data-v-2cdf4878]{-webkit-line-clamp:2;color:var(--dc-text);transition:color var(--dc-ease);-webkit-box-orient:vertical;margin-top:4px;font-size:17px;font-weight:600;line-height:1.45;display:-webkit-box;overflow:hidden}.post-item__body p[data-v-2cdf4878]{-webkit-line-clamp:2;max-width:760px;color:var(--dc-text-secondary);-webkit-box-orient:vertical;margin-top:4px;font-size:12px;line-height:1.7;display:-webkit-box;overflow:hidden}.post-item__tags[data-v-2cdf4878]{color:var(--dc-text-muted);flex-wrap:wrap;gap:8px;margin-top:7px;font-size:11px;display:flex}.post-item__arrow[data-v-2cdf4878]{color:var(--dc-primary);align-items:center;padding-top:24px;display:inline-flex}@media (width<=640px){.post-item[data-v-2cdf4878]{grid-template-columns:minmax(0,1fr);gap:8px;padding-block:16px}.post-item__date[data-v-2cdf4878]{flex-direction:row;align-items:center;gap:6px}.post-item__day[data-v-2cdf4878]{font-size:15px}.post-item__source[data-v-2cdf4878]{margin-top:0}.post-item__arrow[data-v-2cdf4878]{display:none}.post-item__body h3[data-v-2cdf4878]{font-size:15px}}.project-row[data-v-a06b5bde]{border-bottom:1px solid var(--dc-line);color:var(--dc-text);transition:background-color var(--dc-ease), color var(--dc-ease);grid-template-columns:38px minmax(0,1fr) 142px;align-items:start;gap:18px;padding-block:20px;display:grid}.project-row[data-v-a06b5bde]:first-child{border-top:1px solid var(--dc-line)}.project-row[data-v-a06b5bde]:hover{background:#fffbf8}.project-row--static[data-v-a06b5bde]:hover{background:0 0}.project-row__index[data-v-a06b5bde]{color:var(--dc-primary-deep);font-family:var(--dc-mono);padding-top:2px;font-size:12px}.project-row__meta[data-v-a06b5bde]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.project-row__range[data-v-a06b5bde]{color:var(--dc-text-muted);font-family:var(--dc-mono);font-size:11px}.project-row__title[data-v-a06b5bde]{color:var(--dc-text);transition:color var(--dc-ease);margin-top:7px;font-size:18px;font-weight:600;line-height:1.4}.project-row:hover .project-row__title[data-v-a06b5bde]{color:var(--dc-primary-deep)}.project-row__summary[data-v-a06b5bde]{max-width:720px;color:var(--dc-text-secondary);margin-top:5px;font-size:13px;line-height:1.7}.project-row__stack[data-v-a06b5bde]{color:var(--dc-text-muted);font-family:var(--dc-mono);margin-top:8px;font-size:11px;line-height:1.6}.project-row__side[data-v-a06b5bde]{text-align:right;flex-direction:column;align-items:flex-end;gap:4px;padding-top:2px;display:flex}.project-row__role[data-v-a06b5bde]{color:var(--dc-text-secondary);font-size:12px}.project-row__team[data-v-a06b5bde]{color:var(--dc-text-muted);font-size:11px}.project-row__link[data-v-a06b5bde]{color:var(--dc-primary-deep);align-items:center;gap:4px;margin-top:8px;font-size:11px;font-weight:500;display:inline-flex}.project-row__pending[data-v-a06b5bde]{color:var(--dc-text-muted);margin-top:8px;font-size:11px}@media (width<=760px){.project-row[data-v-a06b5bde]{grid-template-columns:28px minmax(0,1fr);gap:10px 12px;padding-block:16px}.project-row__side[data-v-a06b5bde]{text-align:left;flex-flow:wrap;grid-column:2;align-items:center;gap:10px;padding-top:0}.project-row__link[data-v-a06b5bde],.project-row__pending[data-v-a06b5bde]{margin-top:0}.project-row__title[data-v-a06b5bde]{font-size:16px}}.section-head[data-v-eda31b63]{border-bottom:1px solid var(--dc-line-strong);grid-template-columns:76px minmax(0,1fr) auto;align-items:end;gap:20px;margin-bottom:24px;padding-bottom:15px;display:grid}.section-head__index[data-v-eda31b63]{flex-direction:column;gap:1px;padding-bottom:2px;display:flex}.section-head__number[data-v-eda31b63]{color:var(--dc-primary);font-family:var(--dc-mono);letter-spacing:-.04em;font-size:26px;font-weight:400;line-height:1}.section-head__label[data-v-eda31b63]{color:var(--dc-text-muted);font-family:var(--dc-mono);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.section-head__body h2[data-v-eda31b63]{color:var(--dc-text);letter-spacing:-.025em;font-size:27px;font-weight:600;line-height:1.25}.section-head__body p[data-v-eda31b63]{max-width:640px;color:var(--dc-text-secondary);margin-top:5px;font-size:12px;line-height:1.7}.section-head__action[data-v-eda31b63]{padding-bottom:3px}@media (width<=720px){.section-head[data-v-eda31b63]{grid-template-columns:50px minmax(0,1fr);align-items:start;gap:10px 14px}.section-head__number[data-v-eda31b63]{font-size:20px}.section-head__body h2[data-v-eda31b63]{font-size:21px}.section-head__action[data-v-eda31b63]{grid-column:2;padding-bottom:0}}.skill-index[data-v-5761f835]{flex-direction:column;gap:14px;display:flex}.skill-index__head[data-v-5761f835]{border-bottom:1px solid var(--dc-line);justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:5px;display:flex}.skill-index__category[data-v-5761f835]{color:var(--dc-text);letter-spacing:.02em;font-size:11px;font-weight:600}.skill-index__count[data-v-5761f835]{color:var(--dc-text-muted);font-family:var(--dc-mono);font-size:11px}.skill-index__items[data-v-5761f835]{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;padding-top:3px;display:grid}.skill-index__item[data-v-5761f835]{border-bottom:1px dashed #f0ebe5;justify-content:space-between;align-items:baseline;gap:8px;padding-block:4px;display:flex}.skill-index__name[data-v-5761f835]{color:var(--dc-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.skill-index__level[data-v-5761f835]{color:var(--dc-text-muted);flex-shrink:0;font-size:11px}.skill-index__empty[data-v-5761f835]{font-size:12px}@media (width<=420px){.skill-index__items[data-v-5761f835]{grid-template-columns:1fr}}.home-hero-loading[data-v-8731bf81]{padding-block:64px}.home-body[data-v-8731bf81]{border-top:1px solid var(--dc-line)}.home-row[data-v-8731bf81]{grid-template-columns:minmax(0,1.55fr) minmax(300px,.8fr);align-items:start;gap:52px;padding-block:44px;display:grid}.home-row+.home-row[data-v-8731bf81]{border-top:1px solid var(--dc-line)}.home-row--full[data-v-8731bf81]{grid-template-columns:minmax(0,1fr)}.home-main[data-v-8731bf81],.home-side[data-v-8731bf81]{min-width:0}.home-lead[data-v-8731bf81]{max-width:760px;color:var(--dc-text);font-size:19px;line-height:1.75}.home-quote[data-v-8731bf81]{border-left:2px solid var(--dc-primary);max-width:700px;color:var(--dc-text);margin-top:18px;padding-left:16px;font-size:16px;line-height:1.8}.home-qualities[data-v-8731bf81]{flex-wrap:wrap;gap:6px;margin-top:16px;display:flex}.home-intent[data-v-8731bf81]{border-top:1px solid var(--dc-line);border-bottom:1px solid var(--dc-line);grid-template-columns:repeat(3,minmax(0,1fr));margin-top:24px;display:grid}.home-intent>div[data-v-8731bf81]{border-right:1px solid var(--dc-line);padding:12px 14px}.home-intent>div[data-v-8731bf81]:first-child{padding-left:0}.home-intent>div[data-v-8731bf81]:last-child{border-right:0}.home-intent dt[data-v-8731bf81]{color:var(--dc-text-muted);font-size:11px}.home-intent dd[data-v-8731bf81]{color:var(--dc-text);margin-top:3px;font-size:12px;font-weight:500}.home-panel[data-v-8731bf81]{border:1px solid var(--dc-line);border-radius:var(--dc-radius-card);background:var(--dc-surface);padding:18px}.home-projects[data-v-8731bf81]{border-bottom:1px solid var(--dc-line)}.home-posts[data-v-8731bf81]{border-top:1px solid var(--dc-line);border-bottom:1px solid var(--dc-line)}.home-empty[data-v-8731bf81]{color:var(--dc-text-muted);padding-block:16px;font-size:12px}.home-notice[data-v-8731bf81]{border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);background:var(--dc-surface);color:var(--dc-text-secondary);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:10px 14px;font-size:12px;display:flex}@media (width<=980px){.home-row[data-v-8731bf81]{grid-template-columns:1fr;gap:28px;padding-block:36px}.home-side[data-v-8731bf81]{max-width:none}.home-panel[data-v-8731bf81]{max-width:560px}}@media (width<=640px){.home-row[data-v-8731bf81]{padding-block:30px}.home-lead[data-v-8731bf81]{font-size:17px}.home-intent[data-v-8731bf81]{grid-template-columns:1fr}.home-intent>div[data-v-8731bf81]{border-right:0;border-bottom:1px solid var(--dc-line);padding-inline:0}.home-intent>div[data-v-8731bf81]:last-child{border-bottom:0}}.home-contact[data-v-8731bf81]{background:var(--dc-primary-soft);border-block:1px solid #f1ddcb;padding-block:42px}.home-contact__inner[data-v-8731bf81]{grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);align-items:end;gap:48px;display:grid}.home-contact__label[data-v-8731bf81]{color:var(--dc-primary-deep);font-family:var(--dc-mono);letter-spacing:.08em;font-size:11px}.home-contact__copy h2[data-v-8731bf81]{color:var(--dc-text);letter-spacing:-.025em;margin-top:8px;font-size:clamp(24px,3vw,28px);font-weight:600;line-height:1.3}.home-contact__copy p[data-v-8731bf81]{color:var(--dc-text-secondary);margin-top:6px;font-size:12px}.home-contact__side[data-v-8731bf81]{text-align:right;flex-direction:column;align-items:flex-end;gap:12px;display:flex}.home-contact__meta[data-v-8731bf81]{color:var(--dc-text-secondary);font-family:var(--dc-mono);flex-wrap:wrap;justify-content:flex-end;gap:12px;font-size:11px;display:flex}.home-contact__actions[data-v-8731bf81]{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.home-contact__wechat[data-v-8731bf81]{color:var(--dc-text-muted);font-size:11px}@media (width<=760px){.home-contact__inner[data-v-8731bf81]{grid-template-columns:1fr;align-items:start;gap:22px}.home-contact__side[data-v-8731bf81]{text-align:left;align-items:flex-start}.home-contact__meta[data-v-8731bf81],.home-contact__actions[data-v-8731bf81]{justify-content:flex-start}}:root{--dc-primary:#e56a19;--dc-primary-deep:#b95114;--dc-primary-soft:#fff4ec;--dc-bg:#faf8f6;--dc-surface:#fff;--dc-surface-soft:#f5f1ec;--dc-text:#1a1a1a;--dc-text-secondary:#5f5b57;--dc-text-muted:#948d86;--dc-line:#e7e1da;--dc-line-strong:#d8d0c7;--dc-shadow:0 2px 12px #0000000d;--dc-radius-card:12px;--dc-radius-button:8px;--dc-radius-tag:4px;--dc-max-width:1200px;--dc-gutter:24px;--dc-ease:.2s ease-out;--dc-font-display:40px;--dc-font-h2:28px;--dc-font-h3:20px;--dc-font-body:16px;--dc-font-small:14px;--dc-font-family:"HarmonyOS Sans SC", "HarmonyOS Sans", "Source Han Sans SC", "Noto Sans CJK SC", "PingFang SC", "Microsoft YaHei", sans-serif;--dc-mono:"JetBrains Mono", "Cascadia Code", "SFMono-Regular", Consolas, "Liberation Mono", monospace}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--dc-bg);min-width:320px;color:var(--dc-text);font-family:var(--dc-font-family);font-size:var(--dc-font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;line-height:1.6}h1,h2,h3,h4,p,ul,ol,dl,dt,dd,figure,blockquote{margin:0}h1,h2,h3,h4{letter-spacing:-.012em;font-weight:600;line-height:1.3}h1{font-size:var(--dc-font-display)}h2{font-size:var(--dc-font-h2)}h3{font-size:var(--dc-font-h3)}h4{font-size:var(--dc-font-body)}p{color:var(--dc-text-secondary)}a{color:inherit;transition:color var(--dc-ease), opacity var(--dc-ease);text-decoration:none}a:hover{color:var(--dc-primary-deep)}button,input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}ul,ol{padding:0;list-style:none}::selection{background:var(--dc-primary-soft);color:var(--dc-text)}:focus-visible{outline:2px solid var(--dc-primary);outline-offset:3px}.container{width:min(100% - var(--dc-gutter) * 2, var(--dc-max-width));margin:0 auto}.section{padding-block:64px}.section--compact{padding-block:44px}.section--soft{background:var(--dc-surface-soft)}.page-hero+.section{padding-top:44px}.eyebrow{color:var(--dc-primary-deep);font-family:var(--dc-mono);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:500;display:inline-flex}.eyebrow:after{background:var(--dc-primary);content:"";width:18px;height:1px}.btn{border-radius:var(--dc-radius-button);cursor:pointer;min-height:38px;transition:transform var(--dc-ease), background-color var(--dc-ease), border-color var(--dc-ease), color var(--dc-ease), opacity var(--dc-ease);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:7px;padding:8px 15px;font-size:13px;font-weight:500;line-height:1.4;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:active{transform:translateY(0)}.btn:disabled{cursor:not-allowed;opacity:.5;transform:none}.btn--primary{border-color:var(--dc-primary);background:var(--dc-primary);color:#fff}.btn--primary:hover{border-color:var(--dc-primary-deep);background:var(--dc-primary-deep);color:#fff}.btn--ghost{border-color:var(--dc-line);background:var(--dc-surface);color:var(--dc-text)}.btn--ghost:hover{border-color:var(--dc-primary);color:var(--dc-primary-deep)}.btn--text{min-height:auto;color:var(--dc-primary-deep);padding:0}.btn--small{min-height:30px;padding:4px 10px;font-size:12px}.tag{border-radius:var(--dc-radius-tag);background:var(--dc-primary-soft);color:var(--dc-primary-deep);white-space:nowrap;align-items:center;padding:2px 7px;font-size:12px;font-weight:500;line-height:1.5;display:inline-flex}.tag--neutral{background:var(--dc-surface-soft);color:var(--dc-text-secondary)}.tag--outline{border:1px solid var(--dc-line);color:var(--dc-text-secondary);background:0 0}.card{border:1px solid var(--dc-line);border-radius:var(--dc-radius-card);background:var(--dc-surface)}.link-arrow{color:var(--dc-primary-deep);transition:color var(--dc-ease), transform var(--dc-ease);align-items:center;gap:5px;font-size:12px;font-weight:500;display:inline-flex}.link-arrow:hover{color:var(--dc-primary)}.link-arrow:hover .icon-arrow{transform:translate(2px)}.muted{color:var(--dc-text-muted)}.secondary{color:var(--dc-text-secondary)}.line{background:var(--dc-line);height:1px}.stack{flex-direction:column;display:flex}.row{align-items:center;display:flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}@media (width<=900px){.section{padding-block:48px}.section--compact{padding-block:36px}.page-hero+.section{padding-top:36px}}@media (width<=640px){:root{--dc-gutter:18px;--dc-font-display:32px;--dc-font-h2:24px}.section{padding-block:40px}.section--compact{padding-block:32px}.page-hero+.section{padding-top:32px}}.markdown-body{color:var(--dc-text);font-family:var(--dc-font-family);font-size:var(--dc-font-body);word-break:break-word;line-height:1.8}.markdown-body>*+*{margin-top:16px}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4{color:var(--dc-text);margin-top:32px;margin-bottom:12px}.markdown-body h1{font-size:26px}.markdown-body h2{font-size:22px}.markdown-body h3{font-size:18px}.markdown-body h4{font-size:16px}.markdown-body p{color:var(--dc-text-secondary)}.markdown-body a{color:var(--dc-primary-deep);border-bottom:1px solid #e56a1959}.markdown-body a:hover{color:var(--dc-primary)}.markdown-body ul,.markdown-body ol{color:var(--dc-text-secondary);padding-left:22px;list-style:outside}.markdown-body ol{list-style:decimal}.markdown-body li+li{margin-top:6px}.markdown-body strong{color:var(--dc-text);font-weight:600}.markdown-body blockquote{border-left:3px solid var(--dc-primary);border-radius:0 var(--dc-radius-tag) var(--dc-radius-tag) 0;background:var(--dc-primary-soft);color:var(--dc-text-secondary);padding:12px 16px}.markdown-body blockquote>*+*{margin-top:8px}.markdown-body code{color:var(--dc-text);font-family:var(--dc-mono);background:#f2efec;border-radius:4px;padding:2px 6px;font-size:.9em}.markdown-body pre.dc-code{border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);background:#f7f4f1;padding:16px 18px;line-height:1.65;overflow-x:auto}.markdown-body pre.dc-code code{background:0 0;padding:0;font-size:13px}.markdown-body .hljs{background:0 0}.markdown-body table{border-collapse:collapse;width:100%;font-size:var(--dc-font-small)}.markdown-body table th,.markdown-body table td{border:1px solid var(--dc-line);text-align:left;vertical-align:top;padding:9px 12px}.markdown-body table th{color:var(--dc-text);background:#f7f4f1;font-weight:600}.markdown-body table td{color:var(--dc-text-secondary)}.markdown-body img{border:1px solid var(--dc-line);border-radius:var(--dc-radius-button);width:auto;max-width:100%}.markdown-body hr{background:var(--dc-line);border:0;height:1px;margin:28px 0}.markdown-body .task-list-item{list-style:none}@media (width<=640px){.markdown-body{font-size:15px}.markdown-body table{white-space:nowrap;display:block;overflow-x:auto}}
