:root{color-scheme:light;--paper:#f8f7f3;--ink:#29382f;--muted:#7b817a;--line:#dddfd6;--accent:#536a52}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.85 "Segoe UI","PingFang SC","Microsoft YaHei",sans-serif}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--accent);outline-offset:6px}
.shell{width:min(100% - 80px,1020px);margin:0 auto}
.site-header{min-height:106px;display:flex;justify-content:space-between;align-items:center;gap:32px;border-bottom:1px solid var(--line)}
.identity{display:inline-flex;align-items:center;gap:13px;font-size:16px;letter-spacing:2px;font-weight:600;line-height:1.5}
.identity img{display:block;object-fit:contain;border:1px solid #e6e6de;border-radius:9px;background:white}
.identity small{display:block;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:2px;margin-top:3px}
nav{display:flex;gap:30px;font-size:12px;color:#686f66}
nav a:hover,.text-link:hover{color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.eyebrow{color:var(--muted);font-size:11px;font-weight:400;letter-spacing:3px;margin:0 0 22px}
h1,h2,h3,p{margin-top:0}
.home-intro{padding:86px 0 54px}
.home-intro h1{font:400 clamp(30px,4.2vw,45px)/1.5 "Songti SC","Noto Serif SC",SimSun,serif;letter-spacing:3px;margin:0 0 17px}
.lead{color:#5f6b5e;font-size:16px;margin-bottom:26px}
.intro-detail{color:var(--muted);font-size:12px;line-height:1.95}
.intro-detail p{margin:0}
.directory{border-top:1px solid var(--line)}
.directory-row{display:grid;grid-template-columns:52px 1fr 34px;gap:18px;align-items:center;padding:28px 7px;border-bottom:1px solid var(--line)}
.row-number{color:#9ba08f;font:11px/1.5 Georgia,serif}
.directory-row h2{font-size:18px;font-weight:500;letter-spacing:1px;margin:0 0 5px}
.directory-row p{font-size:13px;color:var(--muted);margin:0}
.row-arrow{color:#81907b;justify-self:end;font-size:18px}
.directory-row:hover h2{color:var(--accent)}
.directory-row:hover .row-arrow{color:var(--ink)}
.site-footer{margin-top:56px;padding:0 0 30px;color:#8a8f83;font-size:10px;display:flex;justify-content:space-between;gap:20px;letter-spacing:.5px}
.resume-main{padding:54px 0 0}
.resume-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:28px}
.resume-heading h1{font:400 38px/1.4 "Songti SC",SimSun,serif;letter-spacing:4px;margin:0 0 9px}
.resume-heading .subtitle{font-size:13px;color:var(--muted);margin:0}
.download{font-size:12px;white-space:nowrap;padding:9px 16px;border:1px solid #b9c2b1;border-radius:4px}
.download:hover{background:#eef0e7}
.personal-info{display:grid;grid-template-columns:1fr 1.3fr 1.8fr;gap:22px;padding:21px 0 25px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0;font-size:13px}
.personal-info dt{font-size:10px;color:var(--muted);margin-bottom:5px}
.personal-info dd{margin:0;overflow-wrap:anywhere}
.resume-layout{display:grid;grid-template-columns:132px minmax(0,1fr);gap:48px;padding-top:34px;align-items:start}
.section-nav{position:sticky;top:30px;display:flex;flex-direction:column;gap:11px;font-size:11px;line-height:1.7;padding-top:4px}
.section-nav a{color:var(--muted)}
.section-nav a:hover{color:var(--ink)}
.resume-content{min-width:0}
.resume-section{scroll-margin-top:26px;margin-bottom:42px}
.resume-section>h2{font:500 19px/1.7 "Songti SC",SimSun,serif;border-bottom:1px solid var(--line);padding-bottom:10px;margin-bottom:22px;letter-spacing:2px}
.resume-section h3{font-size:14px;font-weight:600;margin:0 0 7px;line-height:1.85}
.entry{margin-bottom:24px}
.entry:last-child{margin-bottom:0}
.entry p{font-size:13px;margin-bottom:8px}
.entry-meta{font-size:11px!important;color:var(--muted);margin-bottom:8px!important}
.entry ul{margin:7px 0 0;padding-left:18px;color:#687063;font-size:12px;line-height:1.95}
.entry li{margin-bottom:4px}
.education-row{display:grid;grid-template-columns:155px 1fr;gap:18px;margin-bottom:21px}
.education-row time{font-size:11px;color:var(--muted);padding-top:3px}
.education-row h3{margin-bottom:2px}
.education-row p{color:#687063;font-size:12px;margin-bottom:0}
.research-note{font-size:12px;color:#687063;background:#eff0e9;border-left:2px solid #b4bfaa;padding:14px 17px;margin-top:22px}
.research-note p{margin:0 0 4px}
.research-note p:last-child{margin:0}
.publication{font-family:Georgia,"Times New Roman","Microsoft YaHei",serif;font-size:14px!important;line-height:1.85}
.publication a{text-decoration:underline;text-decoration-color:#c0c8b6;text-underline-offset:3px}
.conference-list,.award-list{padding-left:17px;font-size:12px;line-height:1.95}
.conference-list li,.award-list li{margin-bottom:13px;padding-left:3px}
.skill-list{display:grid;grid-template-columns:1fr 1fr;column-gap:28px;row-gap:22px}
.skill-list p{font-size:12px;color:#687063;margin:0}
@media(max-width:760px){
.shell{width:calc(100% - 40px)}
.site-header{min-height:90px;gap:18px}
nav{gap:15px;font-size:11px}
.identity{gap:9px;font-size:14px}
.identity img{width:38px;height:38px}
.identity small{font-size:8px;letter-spacing:1px}
.home-intro{padding:58px 0 40px}
.home-intro h1{letter-spacing:2px}
.directory-row{grid-template-columns:27px 1fr 20px;gap:13px;padding:25px 0}
.directory-row h2{font-size:17px}
.directory-row p{font-size:12px}
.site-footer{margin-top:38px;flex-wrap:wrap;gap:8px}
.resume-main{padding-top:36px}
.resume-heading h1{font-size:32px}
.resume-heading{gap:12px}
.download{padding:8px 10px;font-size:11px}
.personal-info{grid-template-columns:1fr 1fr;gap:14px}
.personal-info>div:last-child{grid-column:1/-1}
.resume-layout{display:block;padding-top:22px}
.section-nav{position:static;flex-direction:row;flex-wrap:wrap;gap:10px 21px;padding-bottom:26px}
.education-row{grid-template-columns:1fr;gap:4px}
.skill-list{grid-template-columns:1fr}
}
@media(max-width:390px){.identity small{display:none}nav{gap:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media print{
body{background:white;color:black;font-size:11pt}.shell{width:100%}
.site-header,.section-nav,.site-footer,.download{display:none}
.resume-main{padding:0}.resume-layout{display:block}
.resume-section{break-inside:auto;margin-bottom:20px}h2,h3{break-after:avoid}.entry{break-inside:avoid}
}
