@import"https://fonts.googleapis.com/css2?family=Geist:wght@400;500;600&family=Geist+Mono:wght@400;500;600&display=swap";:root{--page-width: 210mm;--page-height: 297mm;--ink: #171717;--ink-secondary: #454545;--muted: #666666;--accent: #0072f5;--accent-dark: #0068d6;--line: #e8e8e8;--line-light: #f5f5f5;--paper: #ffffff;--surface: #f7f7f7;--shadow: rgba(0, 0, 0, .08) 0 0 0 1px, rgba(0, 0, 0, .04) 0 2px 2px, rgba(0, 0, 0, .04) 0 12px 24px -12px;--mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, Monaco, "Roboto Mono", monospace;--sans: "Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", sans-serif}*{box-sizing:border-box;margin:0;padding:0}@page{size:A4;margin:0}html,body{margin:0;padding:0}body{font-family:var(--sans);color:var(--ink);background:var(--surface);font-feature-settings:"liga" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none;transition:color .15s ease}a:hover{color:var(--accent-dark);text-decoration:underline}.document{padding:24px 0}.page{width:var(--page-width);height:var(--page-height);margin:0 auto 28px;background:var(--paper);box-shadow:var(--shadow);position:relative;overflow:hidden;border-radius:8px}.page:last-child{margin-bottom:0}.resume{min-height:100%;padding:12mm 14mm 8mm;display:flex;flex-direction:column}.hero{display:grid;grid-template-columns:minmax(0,1fr) 51mm;gap:5mm;align-items:start;margin-bottom:4mm}.hero-left{min-width:0}.hero h1{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;margin-bottom:2mm;color:var(--ink);font-size:25pt;font-weight:600;line-height:1.03;letter-spacing:0}.name-pinyin{color:var(--muted);font-size:10.5pt;font-weight:500;letter-spacing:0}.role{max-width:128mm;color:var(--muted);font-size:8.2pt;font-weight:500;line-height:1.5;letter-spacing:0}.profile-panel{width:51mm}.contact-grid{display:grid;gap:3px;width:100%;font-size:8pt;line-height:1.4}.contact-item{display:grid;grid-template-columns:28px minmax(0,1fr);gap:4px;align-items:baseline}.contact-label{color:var(--muted);font-size:7.4pt;font-weight:600}.contact-value{color:var(--ink-secondary);font-size:7.9pt;overflow-wrap:anywhere}.hero-divider{border:0;border-top:1px solid var(--line);margin-bottom:4mm}.continuation-header{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding-bottom:3mm;margin-bottom:4mm;border-bottom:1px solid var(--line)}.continuation-name{font-size:13pt;font-weight:600;line-height:1.2}.continuation-role{color:var(--muted);font-family:var(--mono);font-size:7.6pt;line-height:1.4}.section{margin-bottom:5mm}.section:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:2.8mm}.section-title{color:var(--ink);font-family:var(--mono);font-size:9pt;font-weight:600;line-height:1.3;letter-spacing:0;text-transform:uppercase;white-space:nowrap}.section-line{flex:1;height:1px;background:var(--line)}.profile-summary{color:var(--ink-secondary);font-size:9pt;line-height:1.68}.education-entry,.entry{break-inside:avoid;page-break-inside:avoid}.entry{margin-bottom:4.5mm}.entry:last-child{margin-bottom:0}.entry+.entry{padding-top:4mm;border-top:1px solid var(--line)}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:1px}.entry-title{color:var(--ink);font-size:10.4pt;font-weight:600;line-height:1.35;letter-spacing:0}.entry-date{flex-shrink:0;color:var(--muted);font-family:var(--mono);font-size:7.8pt;font-weight:500;letter-spacing:0}.entry-meta{margin-bottom:4px;color:var(--muted);font-size:8.45pt;line-height:1.5}.entry-list{padding-left:16px;color:var(--ink-secondary);font-size:8.85pt;line-height:1.58}.entry-list li{margin-bottom:2.5px}.entry-list li:last-child{margin-bottom:0}.entry-list li::marker,.honor-list li::marker{color:var(--muted)}.education-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6mm;align-items:start}.education-entry .entry-title{font-size:9.2pt}.education-note{margin-top:2px;color:var(--muted);font-size:8.45pt;line-height:1.55}.education-badges{display:flex;gap:6px;align-items:center}.badge{display:inline-flex;align-items:center;gap:5px;padding:3px 8px;border-radius:4px;background:var(--line-light);white-space:nowrap}.badge-label{color:var(--muted);font-family:var(--mono);font-size:6.8pt;letter-spacing:0;text-transform:uppercase}.badge-value{color:var(--ink-secondary);font-size:8.4pt;font-weight:600}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:8mm;row-gap:0}.skill-group{display:grid;grid-template-columns:25mm minmax(0,1fr);gap:6px;padding:4px 0;border-bottom:1px solid var(--line-light);color:var(--ink-secondary);font-size:8.45pt;line-height:1.55}.skill-group:nth-last-child(-n+2){border-bottom:0}.skill-group strong{color:var(--ink);font-size:8.25pt;font-weight:600}.lower-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:7mm;margin-top:2mm}.honor-list{padding-left:15px;color:var(--ink-secondary);font-size:8.55pt;line-height:1.58}.honor-list li{margin-bottom:3px}.honor-list li:last-child{margin-bottom:0}.page-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:3mm;color:var(--muted);font-family:var(--mono);font-size:7pt;line-height:1.2;letter-spacing:0}.page--primary .section{margin-bottom:6.5mm}.page--primary .section-header{margin-bottom:3.3mm}.page--primary .skill-group{padding:5px 0}.page--primary .entry-list{line-height:1.66}.page--primary .entry-list li{margin-bottom:3.5px}.page--secondary .section{margin-bottom:7mm}.page--secondary .section-header{margin-bottom:3.5mm}.page--secondary .skill-group{padding:6px 0;font-size:8.7pt;line-height:1.62}.page--secondary .entry-meta{margin-bottom:5px}.page--secondary .entry-list{font-size:9pt;line-height:1.66}.page--secondary .lower-grid{display:block;margin-top:3mm}.page--secondary .lower-grid .section{margin-bottom:7mm}.page--secondary .honor-list{font-size:8.9pt;line-height:1.66}@media(max-width:960px){.document{padding:0}.page{width:100%;height:auto;min-height:0;margin:0;overflow:visible;box-shadow:none;border-radius:0}.page+.page{border-top:8px solid var(--surface)}.resume{min-height:0;padding:24px 20px 28px;padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.hero{grid-template-columns:1fr;gap:18px}.profile-panel{width:auto}.contact-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 18px}.education-row,.lower-grid{grid-template-columns:1fr;gap:18px}.education-badges{justify-content:flex-start}.page-footer{margin-top:20px}}@media(max-width:600px){.resume{padding:18px 16px 24px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.hero h1{font-size:21pt}.name-pinyin{font-size:9pt}.role{font-size:8.4pt}.contact-grid,.skills-grid{grid-template-columns:1fr}.contact-item{grid-template-columns:36px minmax(0,1fr)}.contact-label,.contact-value{font-size:8.4pt}.continuation-header{align-items:flex-start;flex-direction:column;gap:3px}.section-title{font-size:9.6pt}.profile-summary,.entry-list{font-size:8.8pt}.entry-head{align-items:flex-start;flex-direction:column;gap:2px}.entry-date{font-size:8.2pt}.education-badges{flex-wrap:wrap}.skill-group{grid-template-columns:25mm minmax(0,1fr);font-size:8.5pt}.skill-group:nth-last-child(2){border-bottom:1px solid var(--line-light)}.page-footer{font-size:7.5pt}}@media print{html,body{width:var(--page-width);background:#fff}.document{padding:0}.page{width:var(--page-width);height:var(--page-height);min-height:var(--page-height);margin:0;overflow:hidden;box-shadow:none;border-radius:0;break-after:page;page-break-after:always}.page+.page{border-top:0}.page:last-child{break-after:auto;page-break-after:auto}.resume{height:100%;min-height:100%;padding:12mm 14mm 8mm}.hero{grid-template-columns:minmax(0,1fr) 51mm;gap:5mm}.profile-panel{width:51mm}.contact-grid,.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.contact-grid{grid-template-columns:1fr}.education-row{grid-template-columns:minmax(0,1fr) auto;gap:6mm}.lower-grid{grid-template-columns:.9fr 1.1fr;gap:7mm}.page-footer{margin-top:auto}a{color:inherit;text-decoration:none}}
