:root{--ink:#242a31;--muted:#66717d;--blue:#1772c4;--line:#e5e9ee;--soft:#f6f8fa}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:25px}
body{margin:0;background:#fff;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,"PingFang SC","Microsoft YaHei",sans-serif;font-size:15px;line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none;text-underline-offset:3px}
a:hover{color:#aa5909;text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:5px;border-radius:2px}
p{margin:0 0 14px}strong{font-weight:600}h1,h2,h3{color:#20252a}h1{margin:0;font-size:36px;line-height:1.35;font-weight:500;letter-spacing:-1px}h1 span{font-size:29px;letter-spacing:0;font-weight:400}h2{font-size:23px;line-height:1.4;font-weight:500;margin:0 0 23px;letter-spacing:-.3px}h3{font-size:16px;line-height:1.5;font-weight:600;margin:0 0 7px}
.page{max-width:940px;margin:0 auto;padding:56px 34px 26px}.site-header{text-align:center;margin-bottom:42px}.site-header nav{font-size:13px;margin-top:13px}.site-header nav span{color:#a7afb8;padding:0 9px}.site-header nav a{color:var(--muted)}.skip-link{position:fixed;top:-80px;left:20px;z-index:5;background:#fff;padding:10px 16px;border:1px solid var(--blue)}.skip-link:focus{top:12px}
.intro{display:grid;grid-template-columns:204px minmax(0,1fr);gap:42px;align-items:start;margin-bottom:36px}.portrait{display:block;width:204px;height:260px;object-fit:cover;object-position:center 38%;border-radius:8px;background:var(--soft)}.profile-links{text-align:center;font-size:14px;margin-top:16px;white-space:nowrap}.profile-links span{color:#9ba4ae;padding:0 7px}.location{font-size:12px;text-align:center;color:var(--muted);margin:6px 0 0}.bio p:last-child{margin-bottom:0}.bio .email-line{font-size:14px;margin-top:19px}.section{border-top:1px solid var(--line);padding-top:27px;margin-top:30px}.section:target{scroll-margin-top:24px}.entry-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.date{white-space:nowrap;color:var(--muted);font-size:12px}.entry-subtitle{margin:0 0 10px;color:#4e5965;font-size:14px}.small{font-size:13px;color:var(--muted)}.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:15px}.section-heading>a{color:var(--blue)}.project{display:grid;grid-template-columns:112px minmax(0,1fr);gap:24px;margin:3px 0 28px}.project:last-child{margin-bottom:0}.project p{font-size:14px;margin:0 0 7px}.project-label{font-size:12px;line-height:1.55;color:var(--muted);padding-top:2px}.project-label span{display:block;color:#a9b2bd;font-size:12px;letter-spacing:.12em;margin-bottom:7px}.project .project-meta{font-size:12px;color:var(--muted);margin:0}.project-meta span{color:#adb4bc;padding:0 7px}.experience-list{font-size:14px;padding-left:19px;margin:10px 0 0}.experience-list li{padding-left:3px;margin:4px 0}.awards-list{padding:0;list-style:none;margin:0}.awards-list li{display:grid;grid-template-columns:55px minmax(0,1fr);gap:9px;font-size:14px;margin:0 0 13px}.award-year{font-size:12px;color:var(--muted);padding-top:2px;font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.skills-list{margin:0;font-size:14px}.skills-list>div{display:grid;grid-template-columns:146px minmax(0,1fr);gap:12px;margin:6px 0}.skills-list dt{color:var(--muted)}.skills-list dd{margin:0}footer{border-top:1px solid var(--line);margin-top:38px;padding-top:19px;display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px}
.cv-page{max-width:870px}.cv-header{border-bottom:1px solid var(--line);padding-bottom:19px;margin-bottom:24px}.cv-header h1{font-size:30px}.cv-header p{font-size:13px;margin:8px 0 0}.cv-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;font-size:13px}.print-button{font:inherit;background:white;color:var(--blue);border:1px solid #ccd6e0;border-radius:4px;padding:7px 12px;cursor:pointer}.print-button:hover{background:var(--soft)}.cv-page .section{padding-top:17px;margin-top:20px}.cv-page h2{font-size:19px;margin-bottom:12px}.cv-page p,.cv-page li{font-size:13px}.cv-page .project{display:block;margin-bottom:16px}.cv-page .project h3{font-size:14px}.cv-page .project p{font-size:13px}.cv-page .entry-heading h3{font-size:14px}
@media(max-width:650px){.page{padding:32px 22px 22px}.site-header{margin-bottom:29px}h1{font-size:30px}h1 span{font-size:24px}.site-header nav{font-size:12px}.site-header nav span{padding:0 5px}.intro{grid-template-columns:1fr;gap:24px}.profile{display:flex;flex-direction:column;align-items:center}.portrait{width:150px;height:190px}.profile-links{margin-top:12px}.bio{font-size:14px}.entry-heading{display:block}.entry-heading .date{display:block;margin:-2px 0 8px}.section{padding-top:23px;margin-top:26px}h2{font-size:21px;margin-bottom:20px}.project{grid-template-columns:1fr;gap:7px;margin-bottom:26px}.project-label{font-size:11px;display:flex;gap:9px;align-items:center}.project-label br{display:none}.project-label span{display:inline;margin:0}.skills-list>div{grid-template-columns:1fr;gap:0;margin:11px 0}.skills-list dt{font-size:12px}footer{display:block;font-size:11px}footer span{display:block;margin-bottom:4px}.section-heading>a{font-size:11px}.email-line a{overflow-wrap:anywhere}}
.site-header .language-switch{display:flex;justify-content:flex-end;align-items:center;margin:0 0 18px;font-size:12px;line-height:1.6}.language-switch{white-space:nowrap}.language-switch [aria-current="page"]{font-weight:600;color:var(--ink)}.site-header .language-switch span{padding:0}.site-header .language-switch span[aria-hidden]{padding:0 9px}.site-header .language-switch a{color:var(--blue)}.cv-actions{display:flex;align-items:center;gap:20px}.cv-actions .language-switch{font-size:12px}.cv-actions .language-switch span[aria-hidden]{padding:0 5px}html[lang="zh-CN"] .bio{line-height:1.9}html[lang="zh-CN"] h1 span{font-size:26px;color:var(--muted)}html[lang="zh-CN"] .project-label{letter-spacing:.05em}html[lang="zh-CN"] .project p{line-height:1.85}html[lang="zh-CN"] .cv-header h1 span{font-size:22px}@media(max-width:650px){.site-header .language-switch{margin-bottom:20px}html[lang="zh-CN"] h1 span{font-size:22px}.cv-toolbar{align-items:flex-start;gap:12px}.cv-actions{align-items:flex-end;flex-direction:column;gap:8px}.cv-actions .print-button{font-size:12px;padding:6px 9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{@page{size:A4;margin:15mm}body{font-size:10pt;line-height:1.45}.page{max-width:none;padding:0}.no-print,.skip-link,footer,.site-header nav{display:none!important}a{color:inherit;text-decoration:none}.section{break-inside:avoid;margin-top:14px;padding-top:12px}.project{break-inside:avoid;margin-bottom:14px}.cv-page .section{margin-top:13px;padding-top:11px}.cv-page .project{margin-bottom:12px}.cv-page h2{font-size:14pt}.cv-page h1{font-size:22pt}.cv-page p,.cv-page li,.cv-page .project p{font-size:9pt}.cv-page .cv-header p{font-size:9pt}.cv-header{margin-bottom:12px}.date{font-size:8pt}.cv-page .small,.cv-page .project .project-meta{font-size:8pt}}
