:root{color:#111216;background:#fff;font-family:Arial,Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--ink: #111216;--body: #404754;--muted: #6b7280;--line: #d9dde3;--soft-line: #eceef1;--panel: #f2f3f5;--accent: #ff4f00;--chip-bg: #f7f8f9}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;min-height:100vh;background:#fff;color:var(--ink);font-size:16px;line-height:1.55;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}button,a{transition:color .14s ease,border-color .14s ease,background .14s ease}a:focus-visible,button:focus-visible{outline:3px solid rgba(255,79,0,.35);outline-offset:3px}.public-notice{width:100%;padding:13px 28px 14px;background:var(--accent);color:#fff;text-align:center;font-size:13px;line-height:1.45}.public-notice p{margin:0}.public-notice p+p{margin-top:4px}.public-notice a{font-weight:700;text-decoration:underline;text-underline-offset:2px}.public-notice a:hover{color:#fff}.resume-shell{width:100%;background:#fff}.profile-panel{background:var(--panel)}.profile-inner,.resume-content,footer{width:min(1180px,calc(100% - 64px));margin-inline:auto}.profile-inner{display:grid;grid-template-columns:154px minmax(0,1fr);gap:42px;align-items:start;padding-block:48px 42px}.avatar{display:block;width:154px;height:154px;margin-top:2px;border-radius:50%;object-fit:cover;background:#fff;border:1px solid #e0e2e6}.profile-copy{min-width:0}.profile-title-row{display:flex;justify-content:space-between;align-items:flex-start;gap:24px}h1,h2,h3,h4,p{margin-top:0}h1{margin-bottom:4px;font-size:42px;line-height:1.05;letter-spacing:-.04em}.target-title{margin-bottom:0;color:#313640;font-size:17px;font-weight:700}.profile-actions{display:flex;align-items:center;gap:9px;margin-top:3px}.language-switch{display:inline-flex;padding:3px;border:1px solid #c9cdd3;border-radius:7px;background:#fff}.language-switch button{min-height:32px;padding:5px 10px;border:0;border-radius:5px;background:transparent;color:#666d77;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.language-switch button:hover{color:var(--accent)}.language-switch button.active{background:#17191d;color:#fff}.print-button{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid #c9cdd3;border-radius:7px;background:#fff;color:#252932;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.print-button:hover{border-color:var(--accent);color:var(--accent)}.contact-row{display:flex;flex-wrap:wrap;gap:10px 28px;margin-top:24px;color:#22262d;font-size:14px}.contact-link{display:inline-flex;align-items:center;gap:9px}.contact-link svg{width:15px;height:15px;color:#111216}.contact-static{color:var(--body)}.profile-summary,.skills-block{margin-top:26px}.profile-summary h2,.skills-block h2{margin-bottom:9px;font-size:17px;line-height:1.3}.profile-summary p{max-width:990px;margin-bottom:0;color:#414955;font-size:15px;line-height:1.65}.skill-chips{display:flex;flex-wrap:wrap;gap:8px}.skill-chips span{padding:5px 10px;border:1px solid #cfd3d8;border-radius:6px;background:var(--chip-bg);color:#262a31;font-size:12px;font-weight:600;line-height:1.25}.resume-content{padding-block:34px 24px}.resume-section{padding-block:10px 28px;border-bottom:1px solid var(--line)}.resume-section:last-child{border-bottom:0}.resume-section>h2{margin-bottom:22px;font-size:28px;line-height:1.2;letter-spacing:-.02em}.experience-item{padding-bottom:29px;margin-bottom:29px;border-bottom:1px solid var(--soft-line);break-inside:avoid}.experience-item:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.experience-head,.compact-entry header{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:baseline}.experience-head h3,.compact-entry h3{margin-bottom:0;font-size:18px;line-height:1.35}.experience-head h3 span,.compact-entry h3 span{font-weight:600}.role-divider{color:#858b94;font-weight:400!important}time{color:#2e333b;font-size:13px;font-weight:600;white-space:nowrap}.experience-intro{margin:9px 0 20px;color:#535c68;font-size:14px}.project-block+.project-block{margin-top:20px}.project-block h4{margin-bottom:9px;font-size:15px;line-height:1.35}.project-meta{display:flex;flex-wrap:wrap;gap:4px 18px;margin:-2px 0 10px;color:#636b76;font-size:12px;font-weight:600}.project-meta span+span:before{content:"·";margin-right:18px;color:#9a9fa7}ul{margin:0;padding-left:22px}li{padding-left:2px;color:#343b45;font-size:14px;line-height:1.55}li+li{margin-top:5px}li::marker{color:#17191d}.compact-section{padding-top:30px}.compact-entry{padding-bottom:22px;margin-bottom:22px;border-bottom:1px solid var(--soft-line);break-inside:avoid}.compact-entry:last-child{padding-bottom:0;margin-bottom:0;border-bottom:0}.compact-meta{margin:6px 0 0;color:#6a717c;font-size:12px;font-weight:600}.compact-entry ul{margin-top:10px}.inline-link{display:inline-flex;align-items:center;gap:6px;margin-top:8px;color:#555d68;font-size:12px;font-weight:600}.inline-link svg{width:10px;height:10px}.credentials{padding-top:30px}.credential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 44px}.credential-grid h3{margin-bottom:2px;font-size:14px}.credential-grid p{margin-bottom:0;color:var(--muted);font-size:13px}footer{display:flex;justify-content:space-between;gap:24px;padding-block:18px 26px;color:#787e87;border-top:1px solid var(--line);font-size:11px}@media(max-width:760px){.public-notice{padding-inline:18px;font-size:11px}.profile-inner,.resume-content,footer{width:min(100% - 32px,620px)}.profile-inner{grid-template-columns:1fr;gap:24px;padding-block:34px 30px}.avatar{width:128px;height:128px;margin-inline:auto}.profile-title-row{display:block;text-align:center}h1{font-size:38px}.profile-actions{justify-content:center;margin-top:14px}.contact-row{justify-content:center}.profile-summary,.skills-block{margin-top:24px}.resume-content{padding-top:24px}.resume-section>h2{font-size:25px}.experience-head,.compact-entry header{grid-template-columns:1fr;gap:3px}.experience-head h3,.compact-entry h3{font-size:17px}.credential-grid{grid-template-columns:1fr;gap:15px}}@media(max-width:440px){.contact-row{display:grid;justify-content:start}.profile-title-row{text-align:left}.profile-actions{justify-content:flex-start;flex-wrap:wrap}.avatar{margin-inline:0}.skill-chips{gap:6px}.resume-section>h2{font-size:23px}footer{flex-direction:column;gap:3px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}button,a{transition:none}}@media print{@page{size:A4;margin:0}body{background:#fff;font-size:9pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}.public-notice{padding:3.2mm 9mm 3.4mm;font-size:7.1pt;line-height:1.35}.profile-inner,.resume-content,footer{width:auto;margin-inline:15mm}.profile-inner{grid-template-columns:28mm minmax(0,1fr);gap:8mm;padding-block:9mm 7mm}.avatar{width:28mm;height:28mm}h1{font-size:24pt}.target-title{font-size:10.5pt}.profile-actions{display:none}.contact-row{gap:2mm 6mm;margin-top:4mm;font-size:8.2pt}.profile-summary,.skills-block{margin-top:4.5mm}.profile-summary h2,.skills-block h2{margin-bottom:1.4mm;font-size:10pt}.profile-summary p{font-size:8.4pt;line-height:1.48}.skill-chips{gap:1.4mm}.skill-chips span{padding:1mm 1.8mm;font-size:7pt}.resume-content{padding-block:5mm 2mm}.resume-section{padding-block:2mm 5mm}.resume-section>h2{margin-bottom:4mm;font-size:16pt}.experience-item{padding-bottom:4mm;margin-bottom:4mm}.experience-head,.compact-entry header{gap:5mm}.experience-head h3,.compact-entry h3{font-size:10.5pt}time{font-size:7.5pt}.experience-intro{margin:1.5mm 0 3mm;font-size:8pt}.project-block+.project-block{margin-top:3.5mm}.project-block h4{margin-bottom:1.5mm;font-size:9pt}.project-meta{gap:.8mm 3mm;margin:-.8mm 0 1.8mm;font-size:7.2pt}.project-meta span+span:before{margin-right:3mm}li{font-size:8.1pt;line-height:1.42}li+li{margin-top:.8mm}.compact-section{padding-top:6mm}.compact-section>h2{break-after:avoid-page}.compact-section>.compact-entry:first-of-type{break-before:avoid-page}.compact-entry{padding-bottom:4mm;margin-bottom:4mm}.compact-meta{margin-top:1mm;font-size:7.1pt}.inline-link{margin-top:1.5mm;font-size:7.2pt}.credentials{padding-top:5mm}.credential-grid{gap:3mm 8mm}.credential-grid h3{font-size:8.5pt}.credential-grid p{font-size:7.5pt}.experience-item,.project-block,.compact-entry,.credential-grid>div{break-inside:avoid}footer{display:none}}
