*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;background:#edf0f3;color:#263342;font-size:14px;line-height:1.5}
a{color:#245b81;text-decoration:none}a:hover{text-decoration:underline}strong{font-weight:700;color:#203a50}
.a4{width:210mm;min-height:297mm;margin:20px auto;background:white;box-shadow:0 3px 24px #14283b18}
.header{padding:24px 32px 15px;display:grid;grid-template-columns:1fr 148px;gap:16px;align-items:center;border-bottom:2px solid #365b75;break-inside:avoid}
.name-row{display:flex;align-items:baseline;gap:20px}h1{font-size:38px;letter-spacing:4px;line-height:1.3;font-weight:750;color:#18364d;flex-shrink:0}
.target{font-size:16px;font-weight:700;color:#244862}.contacts{display:flex;flex-wrap:wrap;gap:3px 13px;font-size:12px;font-weight:650;margin-top:7px}.contacts span{white-space:nowrap}
.avatar{width:148px;height:170px;object-fit:contain;display:block;border:0;border-radius:0;background:transparent}
.qualification{font-size:12px;font-weight:650;margin-top:4px}.record-link{display:inline-block;font-size:11px;font-weight:500;margin-left:6px;white-space:nowrap}
.print-only{display:none}
.education{background:#edf3f7;border-left:3px solid #8aa4b8;margin-top:11px;padding:7px 9px;font-size:12px;line-height:1.55}
.education-row{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.education-row>span{font-size:11px;white-space:nowrap;color:#536575}.joint{display:block;font-size:11.5px;color:#536575;font-weight:500}.undergraduate{margin-top:3px}
.content{padding:15px 32px 24px}.section{margin-bottom:14px}.section:last-child{margin-bottom:0}
h2{font-size:15px;font-weight:750;color:#203a50;border-left:3px solid #486783;background:#edf2f6;padding:3px 9px;margin-bottom:8px;break-after:avoid}
.project{margin-bottom:11px;break-inside:auto}.project:last-child{margin-bottom:0}.project-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:4px;break-after:avoid}.title{font-size:14px;font-weight:700;color:#203a50}.time{font-size:11.8px;white-space:nowrap;color:#526272;font-weight:550}
.company{margin-bottom:8px}.company .title{font-size:15px}.context{font-size:12.5px;color:#526272;margin:3px 0 9px}
h3{font-size:13.8px;font-weight:700;color:#203a50;margin-bottom:3px;break-after:avoid}.tag{font-size:11.5px;font-weight:500;color:#647889;margin-left:8px}
ul{padding-left:17px}li{margin-bottom:4px}li:last-child{margin-bottom:0}.skills li{margin-bottom:4px}.paper{font-size:13px;line-height:1.5}
@media screen and (max-width:600px){.a4{width:100%;margin:0;box-shadow:none}.header{padding:20px;grid-template-columns:minmax(0,1fr) 112px;gap:6px 12px}.header>div{display:contents}.name-row{grid-column:1;grid-row:1;flex-wrap:wrap;gap:3px 12px}.contacts{grid-column:1;grid-row:2;margin-top:0}.qualification{grid-column:1/-1;grid-row:3}.education{grid-column:1/-1;grid-row:4;margin-top:5px}.avatar{width:112px;height:128px;grid-column:2;grid-row:1/3}.content{padding:16px 20px}.target{font-size:14px}.education-row{flex-wrap:wrap;gap:0 8px}}
@media print{@font-face{font-family:Resume;src:url("../fonts/NotoSansSC-VF.ttf") format("truetype");font-weight:100 900;font-display:swap}body{font-family:Resume,"Microsoft YaHei",sans-serif;background:white}.a4{width:100%;min-height:0;margin:0;box-shadow:none}.header{padding-top:0}.content{padding-bottom:0}.web-only,.record-link{display:none!important}.print-only{display:inline}.doi{font-size:11px;white-space:nowrap}a{color:inherit}.header,h2,.education{print-color-adjust:exact;-webkit-print-color-adjust:exact}h2,h3,.project-head{break-after:avoid}p,li{orphans:2;widows:2}li{break-inside:avoid}}
