.resume-shell{--resume-accent:#1a56db;--resume-accent-light:#e8f0fe;--resume-text:#1e1e2e;--resume-muted:#4a4a6a;--resume-border:#d0d5e8;--resume-bg:#ffffff;--resume-section-gap:6px;font-family:Inter,-apple-system,Segoe UI,Arial,sans-serif;background:#e8ecf5;min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:24px 16px 80px}.resume-toolbar{width:100%;max-width:794px;justify-content:space-between;flex-wrap:wrap;margin-bottom:18px;padding:8px 0}.resume-toolbar,.resume-toolbar-left{display:flex;align-items:center;gap:12px}.resume-toolbar-left{font-size:13px;color:#5a5a72}.resume-toolbar-left strong{color:var(--resume-text)}.resume-toolbar-actions{display:flex;gap:8px;flex-wrap:wrap}.resume-btn{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border-radius:8px;font-size:13px;font-weight:600;border:1px solid var(--resume-border);background:#fff;color:var(--resume-text);cursor:pointer;text-decoration:none;font-family:inherit;transition:border-color .15s,color .15s,background .15s}.resume-btn:hover{border-color:var(--resume-accent);color:var(--resume-accent)}.resume-btn.is-primary{background:var(--resume-accent);color:#fff;border-color:var(--resume-accent)}.resume-btn.is-primary:hover{background:#1447c0;color:#fff;border-color:#1447c0}.resume-page{background:var(--resume-bg);width:794px;min-height:1123px;padding:28px 42px 24px;box-shadow:0 8px 40px rgba(26,86,219,.12),0 2px 8px rgba(0,0,0,.06);border-radius:6px;color:var(--resume-text);line-height:1.55}.resume-header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;border-bottom:2.5px solid var(--resume-accent);padding-bottom:8px;margin-bottom:10px}.resume-header-left{flex:1 1;min-width:0}.resume-header-left h1{font-size:24px;font-weight:700;letter-spacing:-.3px;margin:0}.resume-header-left .title-chip{display:inline-block;margin-top:4px;font-size:12px;font-weight:600;color:var(--resume-accent);background:var(--resume-accent-light);padding:2px 8px;border-radius:3px;letter-spacing:.4px}.resume-header-right{text-align:right;font-size:11.5px;color:var(--resume-muted);line-height:1.65}.resume-header-right a{color:var(--resume-accent);text-decoration:none}.resume-header-photo{width:90px;height:110px;object-fit:cover;border-radius:4px;border:1px solid var(--resume-border)}.resume-meta-strip{font-size:11px;color:var(--resume-muted);margin-bottom:10px}.resume-meta-strip .item+.item:before{content:" · ";color:var(--resume-border);margin:0 4px}.resume-section{margin-bottom:var(--resume-section-gap)}.resume-section-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.1px;color:var(--resume-accent);border-bottom:1px solid var(--resume-border);padding-bottom:2px;margin-bottom:4px;margin-top:8px}.resume-summary p{font-size:11.5px;color:var(--resume-muted);line-height:1.6}.resume-skills{list-style:none;padding:0;column-count:2;column-gap:22px;margin:0}.resume-skills li{font-size:11px;color:var(--resume-text);line-height:1.55;margin-bottom:3px;page-break-inside:avoid;break-inside:avoid}.resume-skills li strong{font-weight:600;color:var(--resume-muted)}.resume-job{margin-bottom:6px}.resume-job-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:1px}.resume-job-header h3{font-size:12.5px;font-weight:700;margin:0}.resume-job-header .dates{font-size:11px;color:var(--resume-muted);white-space:nowrap}.resume-job .company{font-size:11px;color:var(--resume-accent);font-weight:600;margin-bottom:3px}.resume-bullets{list-style-type:disc;padding-left:16px;margin:0}.resume-bullets li{font-size:11px;color:var(--resume-muted);line-height:1.55;margin-bottom:2px}.resume-bullets li::marker{color:var(--resume-accent)}.resume-bullets strong.num{color:var(--resume-text);font-weight:700}.resume-project{margin-bottom:6px}.resume-project-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.resume-project-header .name{font-size:12px;font-weight:700}.resume-project-header .name a{color:var(--resume-text);text-decoration:none}.resume-project-header .name .url{font-weight:400;color:var(--resume-muted);font-size:11px}.resume-project-header .dates{font-size:11px;color:var(--resume-muted);white-space:nowrap}.resume-project p{font-size:11px;color:var(--resume-muted);line-height:1.55;margin-top:2px}.resume-edu{font-size:11px;line-height:1.45}.resume-edu .deg{font-weight:600;color:var(--resume-text)}.resume-edu .inst{color:var(--resume-muted)}.resume-edu .meta{color:var(--resume-accent);font-size:10.5px}.resume-languages{font-size:11px;color:var(--resume-muted)}.resume-languages strong{color:var(--resume-text)}.resume-personal{font-size:11px;color:var(--resume-muted);display:grid;grid-template-columns:140px 1fr;grid-gap:2px 12px;gap:2px 12px}.resume-personal dt{font-weight:600;color:var(--resume-text)}.resume-references{font-size:11px;color:var(--resume-muted);font-style:italic}@page{size:A4 portrait;margin:14mm 16mm 12mm}@media print{body,html{padding:0!important;margin:0!important;width:100%!important}body,html{background:#fff!important}.resume-toolbar,body:after,body:before{display:none!important}.resume-shell{background:#fff!important;padding:0!important}.resume-page{box-shadow:none!important;border-radius:0!important;width:100%!important;min-height:auto!important;padding:0!important;margin:0!important}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}.resume-bullets li,.resume-edu .inst,.resume-header-right,.resume-languages,.resume-meta-strip,.resume-personal,.resume-project p,.resume-references,.resume-skills li,.resume-summary p{color:#333!important}.resume-edu .meta,.resume-header-right a,.resume-job .company,.resume-section-title,.resume-skills li strong{color:#1a56db!important}.resume-bullets li,.resume-section-title,.resume-summary{page-break-inside:avoid;break-inside:avoid}.resume-job-header h3,.resume-project-header .name,.resume-section-title{page-break-after:avoid;break-after:avoid}.resume-edu,.resume-job,.resume-project{page-break-inside:avoid;break-inside:avoid}}@media (max-width:820px){.resume-page{width:100%;padding:22px 22px 20px;border-radius:4px}.resume-header{flex-wrap:wrap}.resume-header-right{text-align:left;flex:1 1 100%}}