:root{color:#1f2933;background:#f3f5f7;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;font-synthesis:none;line-height:1.58;text-rendering:optimizeLegibility}*{box-sizing:border-box}body{margin:0;min-width:320px}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}button{padding:0;border:0;background:transparent;color:inherit;cursor:pointer;font:inherit;text-align:left}button:hover{text-decoration:underline}button:disabled{cursor:wait;opacity:.64}.resume-page{padding:32px 18px}.resume-toolbar{display:flex;justify-content:flex-end;width:min(796px,100%);margin:0 auto 10px}.resume-toolbar button{display:inline-flex;align-items:center;gap:6px;min-height:34px;padding:0 12px;border:1px solid #cfd6df;border-radius:4px;background:#fff;color:#1f2933;font-size:13px}.resume-toolbar button:hover{background:#f8fafc;text-decoration:none}.resume-sheet{width:min(796px,100%);margin:0 auto;padding:72px 74px 76px;border:1px solid #d9dee5;background:#fff;box-shadow:0 12px 32px #1f293314}.resume-header{padding-bottom:22px;border-bottom:2px solid #1f2933}h1,h2,h3,p{margin:0}h1{color:#111827;font-size:34px;line-height:1.15;letter-spacing:0}.headline{margin-top:8px;color:#334155;font-size:18px;font-weight:700}.summary{max-width:620px;margin-top:12px;color:#4b5563;font-size:15px}.contact{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px;color:#1f2933;font-style:normal;font-size:14px}.contact a,.contact button,.contact span{display:inline-flex;align-items:center;gap:5px;color:#1f2933}.contact svg{color:#111827;stroke-width:1.9}.resume-section{margin-top:24px}.resume-section h2{display:flex;align-items:center;gap:10px;margin-bottom:10px;color:#111827;font-size:18px;line-height:1.25;letter-spacing:0}.resume-section h2:after{flex:1;height:1px;background:#d9dee5;content:""}.plain-list,.entry ul{display:grid;gap:6px;margin:0;padding-left:20px}li{color:#344054;font-size:14px}.skills-line{color:#344054;font-size:14px;line-height:1.75}.entry-list{display:grid;gap:18px}.entry{break-inside:auto}.entry-title{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:8px}.entry-title h3{color:#111827;font-size:16px;line-height:1.35}.entry-title h3 a{color:#111827}.entry-title p{margin-top:2px;color:#4b5563;font-size:14px;font-weight:600}.entry-title time,.entry-meta{flex:0 0 auto;color:#667085;font-size:13px;text-align:right;white-space:nowrap}.entry-meta{display:grid;gap:2px}.project-summary{margin-bottom:6px;color:#344054;font-size:14px}.project-stack{margin-bottom:8px;color:#667085;font-size:13px}.compact-entry{margin-top:-2px}.pdf-export-host{position:fixed;top:0;left:-12000px;width:720px;background:#fff;pointer-events:none}.pdf-export-sheet{width:720px;margin:0;padding:34px 36px 38px;border:0;box-shadow:none}.pdf-export-sheet .resume-section,.pdf-export-sheet .entry,.pdf-export-sheet .project{break-inside:auto;page-break-inside:auto}.pdf-export-sheet .entry-title,.pdf-export-sheet .resume-section h2{break-after:avoid;page-break-after:avoid}@media print{:root{background:#fff}.resume-page{padding:0}.resume-toolbar{display:none}.resume-sheet{width:100%;padding:0;border:0;box-shadow:none}a,button{color:#1f2933}}@media(max-width:720px){.resume-page{padding:0}.resume-toolbar{margin:12px auto;padding:0 20px}.resume-sheet{padding:28px 20px 32px;border:0;box-shadow:none}.resume-header,.entry-title{grid-template-columns:1fr}.resume-header{display:block}.entry-title time,.entry-meta{text-align:left}.entry-title{display:grid;gap:4px}.entry-title time,.entry-meta{white-space:normal}}
