@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: #4d4d4d;--muted: #666666;--accent: #0072f5;--accent-dark: #0068d6;--line: #ebebeb;--line-light: #f5f5f5;--paper: #ffffff;--surface: #fafafa;--ring-light: rgb(235, 235, 235) 0px 0px 0px 1px;--shadow: rgba(0, 0, 0, .08) 0px 0px 0px 1px, rgba(0, 0, 0, .04) 0px 2px 2px, rgba(0, 0, 0, .04) 0px 8px 8px -8px;--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}.page{width:var(--page-width);min-height:var(--page-height);margin:0 auto 28px;background:var(--paper);box-shadow:var(--shadow);position:relative;overflow:hidden;border-radius:8px}.resume{padding:13mm 14mm 9mm}.hero{display:grid;grid-template-columns:minmax(0,1fr) 50mm;gap:4.5mm;margin-bottom:5mm;align-items:start}.hero-left{min-width:0;align-self:stretch;display:flex;flex-direction:column}.hero h1{display:flex;align-items:baseline;gap:7px;flex-wrap:wrap;font-size:25pt;font-weight:600;line-height:1.03;letter-spacing:-1.2px;color:var(--ink);margin-bottom:1.6mm}.name-pinyin{font-size:10.5pt;font-weight:500;letter-spacing:0;color:var(--muted)}.hero .role{font-size:8.3pt;color:var(--muted);font-weight:500;letter-spacing:0;margin-bottom:2mm}.summary{font-size:8.8pt;line-height:1.58;color:var(--ink-secondary);max-width:100%}.profile-panel{display:flex;flex-direction:column;align-items:stretch;gap:2.2mm;width:50mm;flex-shrink:0}.contact-grid{display:grid;gap:3px;font-size:8.1pt;line-height:1.4;width:100%}.contact-item{display:grid;grid-template-columns:28px 1fr;gap:4px;align-items:baseline}.contact-label{font-weight:600;color:var(--muted);font-size:7.5pt}.contact-value{color:var(--ink-secondary);word-break:break-all;font-size:8pt}.hero-divider{border:none;border-top:1px solid var(--line);margin-bottom:4.2mm}.content-grid{display:grid;grid-template-columns:1.55fr .85fr;gap:6.2mm}.section{margin-bottom:4mm}.section:last-child{margin-bottom:0}.section-header{display:flex;align-items:center;gap:8px;margin-bottom:2.4mm}.section-title{font-size:9pt;font-weight:600;letter-spacing:0;text-transform:uppercase;color:var(--ink);white-space:nowrap;font-family:var(--mono)}.section-line{flex:1;height:1px;background:var(--line)}.entry{margin-bottom:3mm;break-inside:avoid;page-break-inside:avoid}.entry:last-child{margin-bottom:0}.entry-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:1.5px}.entry-title{font-size:10pt;font-weight:600;line-height:1.35;color:var(--ink);letter-spacing:-.15px}.entry-date{flex-shrink:0;font-family:var(--mono);font-size:7.8pt;color:var(--muted);font-weight:500;letter-spacing:0}.entry-meta{color:var(--muted);font-size:8.3pt;line-height:1.45;margin-bottom:2px}.entry-list{padding-left:15px;font-size:8.4pt;line-height:1.48;color:var(--ink-secondary)}.entry-list li{margin-bottom:1.5px}.entry-list li:last-child{margin-bottom:0}.entry-list li::marker{color:var(--muted)}.education-entry{break-inside:avoid}.education-entry .entry-title{font-size:9pt}.education-note{font-size:8.2pt;line-height:1.5;color:var(--muted);margin-top:2px}.education-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:5px}.badge{display:inline-flex;align-items:center;gap:5px;padding:2px 8px;border-radius:4px;background:var(--line-light);white-space:nowrap}.badge-label{font-family:var(--mono);font-size:6.8pt;color:var(--muted);letter-spacing:0;text-transform:uppercase}.badge-value{font-size:8.5pt;font-weight:600;color:var(--ink-secondary)}.sidebar-column{display:flex;flex-direction:column;min-height:100%}.sidebar-text{font-size:8.1pt;line-height:1.52;color:var(--ink-secondary)}.sidebar-list{padding-left:14px;font-size:8.1pt;line-height:1.48;color:var(--ink-secondary)}.sidebar-list li{margin-bottom:2px}.sidebar-list li:last-child{margin-bottom:0}.sidebar-list li::marker{color:var(--muted)}.skill-group{margin-bottom:5px;font-size:8.1pt;line-height:1.48;color:var(--ink-secondary)}.skill-group:last-child{margin-bottom:0}.skill-group strong{display:inline;color:var(--ink);font-weight:600;font-size:8pt}.skill-group span{color:var(--ink-secondary)}.resume-meta{margin-top:auto;padding-top:3.2mm;text-align:right;font-family:var(--mono);font-size:7.4pt;line-height:1.2;color:var(--muted);letter-spacing:0}@media(max-width:960px){.page{width:auto;min-height:auto;margin:0;box-shadow:none;border-radius:0}.resume{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:20px}.profile-panel{width:auto}.content-grid{grid-template-columns:1fr;gap:24px}.education-entry{flex-direction:column}.entry-head{flex-direction:column;gap:2px}.entry-date{font-size:8.5pt}}@media(max-width:600px){.resume{padding:16px 16px 24px;padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}h1{font-size:20pt}.name-pinyin{font-size:9pt}.hero .role{font-size:8pt}.summary{font-size:9pt}.contact-grid{font-size:9pt;width:100%}.contact-item{grid-template-columns:36px 1fr}.contact-label{font-size:8pt}.contact-value{font-size:8.5pt;word-break:normal;overflow-wrap:break-word}.section-title{font-size:10pt}.entry-title{font-size:9.5pt}.entry-meta{font-size:8.5pt}.entry-list{font-size:8.8pt;padding-left:16px}.education-badges{gap:6px}.badge{padding:3px 8px}.badge-label{font-size:7.5pt}.badge-value{font-size:9pt}.sidebar-text,.sidebar-list,.skill-group,.skill-group strong{font-size:8.5pt}.resume-meta{font-size:8pt;text-align:center}}@media print{body{background:#fff}.page{width:auto;min-height:auto;margin:0;box-shadow:none;border-radius:0}.resume{padding:14mm 14mm 10mm}a{color:inherit;text-decoration:none}}
