:root{--background:#f7f7f3;--surface:#fff;--text:#161714;--muted:#65675f;--line:#dcded6;--accent:#285f4b;--accent-strong:#285f4b;--accent-soft:#e4eee8;--on-accent:#f7f7f3;--max-width:1180px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#11130f;--surface:#181b16;--text:#f0f2eb;--muted:#b1b7ac;--line:#353b32;--accent:#82bda3;--accent-strong:#245a46;--accent-soft:#1d3328;--on-accent:#f5f7f1}}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:88px}body{timeline-scope:--about-progress, --skills-progress, --contact-progress, --work-progress, --education-progress, --projects-progress;background:var(--background);min-height:100%;color:var(--text);font-feature-settings:"kern" 1, "liga" 1;text-rendering:optimizelegibility;margin:0;font-family:Avenir Next,SF Pro Text,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}button,a{font:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:3px solid color-mix(in srgb, var(--accent) 36%, transparent);outline-offset:4px}.site-header{z-index:10;width:100%;min-height:72px;padding:12px max(24px, calc((100vw - var(--max-width)) / 2));border-bottom:1px solid color-mix(in srgb, var(--line) 70%, transparent);background:color-mix(in srgb, var(--background) 90%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.brand,.nav-actions,.language-switch{align-items:center;display:flex}.brand{letter-spacing:.02em;gap:12px;font-size:.95rem;font-weight:700}.brand-mark{background:var(--text);width:38px;height:38px;color:var(--surface);letter-spacing:.08em;border-radius:50%;place-items:center;font-size:.72rem;display:grid}.nav-actions{color:var(--muted);gap:28px;font-size:.9rem}.nav-actions>a{transition:color .16s;position:relative}.nav-actions>a:before,.nav-actions>a:after{content:"";opacity:0;border-radius:999px;height:2px;position:absolute;bottom:-9px;left:0;right:0}.nav-actions>a:before{background:var(--line)}.nav-actions>a:after{background:var(--accent);animation:1ms linear both section-reading-progress;animation-range:entry 72% exit 28%;animation-timeline:var(--section-timeline);transform-origin:0;transform:scaleX(0)}.nav-actions>a[href=\#about]{--section-timeline:--about-progress}.nav-actions>a[href=\#skills]{--section-timeline:--skills-progress}.nav-actions>a[href=\#contact]{--section-timeline:--contact-progress}.nav-actions>a[href=\#work]{--section-timeline:--work-progress}.nav-actions>a[href=\#education]{--section-timeline:--education-progress}.nav-actions>a[href=\#projects]{--section-timeline:--projects-progress}@keyframes section-reading-progress{to{transform:scaleX(1)}}.nav-actions>a.is-active{color:var(--accent);font-weight:700}.nav-actions>a.is-active:before,.nav-actions>a.is-active:after{opacity:1}.nav-actions>a:hover{color:var(--text)}.section-indicator{z-index:9;border-bottom:1px solid var(--line);background:color-mix(in srgb, var(--background) 94%, transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);pointer-events:none;opacity:0;width:100%;transition:opacity .22s,transform .32s cubic-bezier(.16,1,.3,1);position:fixed;top:72px;left:0;transform:translateY(-100%)}.section-indicator.is-visible{opacity:1;transform:translateY(0)}.section-indicator-inner{width:min(calc(100% - 48px), var(--max-width));align-items:center;min-height:58px;margin-inline:auto;display:flex}.section-indicator strong{letter-spacing:-.025em;font-size:clamp(1rem,1.5vw,1.22rem);font-weight:650}#about{view-timeline:--about-progress block}#skills{view-timeline:--skills-progress block}#contact{view-timeline:--contact-progress block}#work{view-timeline:--work-progress block}#education{view-timeline:--education-progress block}#projects{view-timeline:--projects-progress block}.language-switch{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:0 0;border-radius:999px;gap:5px;padding:8px 10px}.language-switch .active{color:var(--text);font-weight:700}main,.site-footer{width:min(calc(100% - 48px), var(--max-width));margin-inline:auto}.hero{grid-template-columns:minmax(0,1.45fr) minmax(280px,.55fr);align-items:center;gap:clamp(48px,8vw,120px);min-height:calc(100vh - 72px);padding:88px 0 104px;display:grid}.eyebrow,.section-eyebrow{color:var(--accent);letter-spacing:.13em;text-transform:uppercase;margin:0 0 24px;font-size:.78rem;font-weight:700}.hero h1{letter-spacing:-.065em;max-width:900px;margin:0;font-size:clamp(3.4rem,7.2vw,6.7rem);font-weight:650;line-height:.98}.hero-title-tail:before{content:" "}.hero-intro{max-width:760px;color:var(--muted);margin:36px 0 0;font-size:clamp(1.05rem,1.7vw,1.28rem);line-height:1.8}.hero-meta{color:var(--muted);flex-wrap:wrap;gap:12px 24px;margin-top:30px;font-size:.92rem;display:flex}.hero-meta .availability{color:var(--accent);font-weight:700}.hero-contact{flex-wrap:wrap;gap:10px 24px;margin-top:16px;font-size:.88rem;display:flex}.hero-contact a{border-bottom:1px solid var(--line);color:var(--text);transition:border-color .16s,color .16s}.hero-contact a:hover{border-color:var(--accent);color:var(--accent)}.hero-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:42px;display:flex}.primary-action{background:var(--text);color:var(--surface);border-radius:4px;align-items:center;gap:30px;padding:15px 21px;font-size:.92rem;font-weight:700;transition:transform .16s,background .16s;display:inline-flex}.primary-action:hover{background:var(--accent);transform:translateY(-2px)}.primary-action:active,.secondary-action:active,.language-switch:active{transform:scale(.98)}.secondary-action{border:1px solid var(--line);color:var(--muted);border-radius:4px;padding:14px 20px;font-size:.92rem;font-weight:700;transition:border-color .16s,color .16s}.secondary-action:hover{border-color:var(--accent);color:var(--accent)}.hero-signature{background:var(--accent-strong);min-height:440px;color:var(--on-accent);border-radius:2px;flex-direction:column;justify-content:flex-end;padding:34px;display:flex;position:relative;overflow:hidden}.hero-signature:before{content:"";border:1px solid #ffffff42;border-radius:50%;width:270px;height:270px;position:absolute;top:-74px;right:-56px}.hero-signature:after{content:"";border:1px solid #fff3;border-radius:50%;width:116px;height:116px;position:absolute;top:72px;right:48px}.signature-name{letter-spacing:-.05em;font-size:clamp(2.4rem,4vw,4.1rem);font-weight:650;position:relative}.signature-role{letter-spacing:.22em;margin-top:12px;font-size:.76rem;font-weight:700;position:relative}.about-section{border-top:1px solid var(--line);grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(48px,8vw,112px);padding:112px 0;display:grid}.about-section h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:650;line-height:1}.about-content>p{max-width:760px;color:var(--muted);margin:0;font-size:1rem;line-height:1.85}.about-content .about-lead{color:var(--text);letter-spacing:-.02em;margin-bottom:18px;font-size:clamp(1.22rem,2.2vw,1.62rem);font-weight:600;line-height:1.55}.focus-block{margin-top:38px}.focus-block h3{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px;font-size:.72rem}.focus-block ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.focus-block li{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 60%, transparent);color:var(--muted);border-radius:999px;padding:8px 11px;font-size:.78rem}.skills-section{border-top:1px solid var(--line);padding:120px 0 80px}.skill-groups{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.skill-group{border-left:1px solid var(--line);min-width:0;padding:38px clamp(22px,3vw,38px) 44px;overflow:visible}.skill-group:nth-child(3n+1){border-left:0;padding-left:0}.skill-group:nth-child(3n){padding-right:0}.skill-group:nth-child(n+4){border-top:1px solid var(--line)}.skill-group h3{letter-spacing:-.025em;min-height:2.6em;margin:0 0 12px;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.3}.skill-group>p{min-height:4.8em;color:var(--muted);margin:0;font-size:.86rem;line-height:1.65}.skill-group ul{flex-wrap:wrap;gap:8px;width:100%;margin:28px 0 0;padding:0;list-style:none;display:flex}.skill-group li{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 60%, transparent);max-width:100%;color:var(--muted);overflow-wrap:anywhere;white-space:normal;border-radius:999px;padding:7px 9px;font-size:.74rem}.contact-section{border-top:1px solid var(--line);grid-template-columns:minmax(260px,.78fr) minmax(0,1.22fr);gap:clamp(48px,8vw,112px);padding:112px 0;display:grid}.contact-heading h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:650;line-height:1}.contact-heading>p:last-child{max-width:520px;color:var(--muted);margin:30px 0 0;font-size:1rem;line-height:1.8}.contact-details{min-width:0}.contact-list{margin:0}.contact-list>div{border-top:1px solid var(--line);padding:20px 0 22px}.contact-list dt{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:9px;font-size:.72rem;font-weight:700}.contact-list dd{overflow-wrap:anywhere;margin:0;font-size:clamp(1rem,1.7vw,1.18rem);font-weight:600}.contact-list a:hover{color:var(--accent)}.wechat-contact{flex-direction:column;align-items:flex-start;gap:18px;min-width:0;display:flex}.wechat-contact>strong{font:inherit}.wechat-qr{border-radius:8px;width:clamp(184px,20vw,210px);margin:0;overflow:hidden}.wechat-qr img{mix-blend-mode:multiply;width:100%;height:auto;display:block}@media (prefers-color-scheme:dark){.wechat-qr img{mix-blend-mode:normal}}.work-section{border-top:1px solid var(--line);padding:104px 0 72px}.work-list{margin:0;padding:0;list-style:none}.work-item{border-top:1px solid var(--line);grid-template-columns:minmax(170px,.32fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,72px);padding:42px 0 46px;display:grid}.work-period{flex-direction:column;align-items:flex-start;gap:10px;display:flex}.work-period time{font-size:.9rem;font-weight:700}.work-content h3{letter-spacing:-.035em;margin:0;font-size:clamp(1.45rem,2.6vw,2.35rem);font-weight:620;line-height:1.2}.work-content p{margin:14px 0 8px;font-size:1rem;font-weight:600}.work-content>span{color:var(--muted);font-size:.85rem}.work-projects{margin-top:26px}.work-projects h4{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:.7rem}.work-projects ul{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.work-projects a{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:.74rem;line-height:1.35;display:inline-block}.work-projects a:hover{border-color:var(--accent);color:var(--accent)}.education-section{border-top:1px solid var(--line);padding:104px 0 72px}.education-item{border-top:1px solid var(--line);grid-template-columns:minmax(150px,.28fr) minmax(0,1fr);align-items:start;gap:clamp(28px,6vw,80px);padding:48px 0 54px;display:grid}.education-item time{font-size:.9rem;font-weight:700}.education-content h3{letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,3.2vw,2.8rem);font-weight:620;line-height:1.15}.education-content dl{flex-wrap:wrap;gap:24px 52px;margin:28px 0 0;display:flex}.education-content dl>div{min-width:140px}.education-content dt{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px;font-size:.72rem;font-weight:700}.education-content dd{margin:0;font-size:.96rem;font-weight:600}.projects-section{border-top:1px solid var(--line);padding:104px 0 80px}.section-header{padding-bottom:54px}.section-header h2{letter-spacing:-.055em;margin:0;font-size:clamp(2.6rem,5vw,4.8rem);font-weight:650;line-height:1}.section-header>p{max-width:620px;color:var(--muted);margin:22px 0 0;font-size:1.04rem;line-height:1.75}.project{border-top:1px solid var(--line);grid-template-columns:minmax(150px,.24fr) minmax(0,1fr);gap:clamp(34px,7vw,96px);padding:68px 0 72px;scroll-margin-top:154px;display:grid}.project-meta{color:var(--muted);flex-direction:column;align-items:flex-start;gap:10px;font-size:.8rem;display:flex}.project-meta time{color:var(--text);font-size:.9rem;font-weight:700}.project-content h3{letter-spacing:-.045em;margin:0;font-size:clamp(1.9rem,3.5vw,3.25rem);font-weight:620;line-height:1.14}.project-summary{max-width:800px;color:var(--muted);margin:24px 0 0;font-size:1.05rem;line-height:1.75}.project-details{grid-template-columns:repeat(2,minmax(0,1fr));gap:52px;margin-top:36px;display:grid}.project h4{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin:0 0 15px;font-size:.75rem}.project-details ul{margin:0;padding-left:1.1rem}.project-details li{color:var(--text);padding:8px 0;font-size:.94rem;line-height:1.7}.project-details li::marker{color:var(--accent)}.technology-block{margin-top:28px}.technology-list{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.technology-list li{border:1px solid var(--line);background:color-mix(in srgb, var(--surface) 60%, transparent);color:var(--muted);border-radius:999px;padding:7px 10px;font-size:.76rem}.site-footer{border-top:1px solid var(--line);color:var(--muted);padding:32px 0 48px;font-size:.78rem;line-height:1.6;display:flex}@media (max-width:1100px) and (min-width:901px){.skill-groups{grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group{border-top:1px solid var(--line);padding:34px clamp(22px,4vw,38px) 40px}.skill-group:nth-child(-n+2){border-top:0}.skill-group:nth-child(odd){border-left:0;padding-left:0;padding-right:clamp(22px,4vw,38px)}.skill-group:nth-child(2n){border-left:1px solid var(--line);padding-left:clamp(22px,4vw,38px);padding-right:0}}@media (max-width:900px){.hero{grid-template-columns:1fr;gap:0;min-height:auto;padding-top:76px}.hero-copy{display:contents}.hero-copy>.eyebrow{order:1}.hero-copy>h1{order:2}.hero-signature{order:3;margin-top:44px}.hero-copy>.hero-intro{order:4;margin-top:36px}.hero-copy>.hero-meta{order:5}.hero-copy>.hero-contact{order:6}.hero-copy>.hero-actions{order:7}.hero-signature{min-height:210px}.about-section,.contact-section,.project{grid-template-columns:1fr;gap:32px}.skill-groups{grid-template-columns:1fr}.skill-group,.skill-group:first-child,.skill-group:last-child{border-left:0;border-top:1px solid var(--line);padding:32px 0 36px}.skill-group:first-child{border-top:0}.skill-group h3,.skill-group>p{min-height:0}.project-meta{display:block}.work-item{grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);gap:24px}.education-item{grid-template-columns:minmax(130px,.3fr) minmax(0,1fr);gap:24px}}@media (max-width:620px){.site-header{min-height:64px;padding:10px 18px}.brand-mark{width:34px;height:34px}.brand>span:last-child,.nav-actions>a{display:none}.section-indicator{top:64px}.section-indicator-inner{width:min(calc(100% - 36px), var(--max-width));min-height:50px}main,.site-footer{width:min(calc(100% - 36px), var(--max-width))}.hero{padding:58px 0 74px}.hero h1{letter-spacing:-.045em;font-size:clamp(2.15rem,9.8vw,2.75rem);line-height:1.06}.hero h1 span{display:block}.hero-title-tail{margin-top:.12em}.hero-title-tail:before{content:none}.eyebrow{letter-spacing:.06em;max-width:30rem;font-size:.72rem;line-height:1.65}.hero-intro{margin-top:28px;font-size:1rem}.hero-meta{gap:9px;display:grid}.hero-contact{gap:8px;display:grid}.hero-contact a{width:fit-content}.primary-action{flex:1;justify-content:space-between}.secondary-action{text-align:center;width:100%}.hero-signature{min-height:180px;padding:26px}.projects-section,.work-section,.skills-section{padding:82px 0 48px}.skill-group ul{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.skill-group li{border-radius:4px;align-items:center;min-width:0;display:flex}.education-section{padding:82px 0 48px}.work-item{grid-template-columns:1fr;gap:10px;padding:34px 0 38px}.work-period,.work-content{grid-column:1}.work-content{margin-top:8px}.education-item{grid-template-columns:1fr;gap:20px 12px;padding:36px 0 42px}.education-content{grid-area:2/1}.education-content dl{gap:22px;margin-top:24px}.contact-section{gap:44px;padding:82px 0}.about-section{gap:38px;padding:82px 0}.contact-details{min-width:0}.wechat-qr{width:clamp(168px,52vw,204px)}.section-header{padding-bottom:44px}.project{padding:48px 0 54px;scroll-margin-top:130px}.project-content h3{font-size:1.9rem}.project-details{grid-template-columns:1fr;gap:34px;margin-top:34px}.site-footer{flex-direction:column;align-items:flex-start;gap:10px}}@media (max-width:360px){.skill-group ul{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
