:root{--bg: #f4f5f7;--surface: #ffffff;--sidebar-bg: #1f2937;--sidebar-text: #e5e7eb;--sidebar-muted: #9ca3af;--accent: #3b82f6;--text: #111827;--text-muted: #6b7280;--border: #e5e7eb;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--page-width: 1080px;--sidebar-width: 280px}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-sans);font-size:15px;line-height:1.55;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline}.page{max-width:var(--page-width);margin:32px auto;background:var(--surface);border-radius:12px;box-shadow:0 10px 40px #0f172a14;overflow:hidden;display:grid;grid-template-columns:var(--sidebar-width) 1fr;position:relative}.page__pdf-btn{position:absolute;top:16px;right:16px;width:40px;height:40px;border-radius:50%;background:var(--accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:18px;box-shadow:0 4px 12px #3b82f666;transition:transform .15s ease,box-shadow .15s ease;z-index:1}.page__pdf-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #3b82f680;text-decoration:none}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);padding:36px 24px}.sidebar__profile{text-align:center;margin-bottom:28px}.sidebar__avatar{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid rgba(255,255,255,.15);margin:0 auto 16px;display:block;background:#0f172a}.sidebar__name{font-size:22px;font-weight:600;margin:0 0 4px;letter-spacing:-.01em}.sidebar__title{margin:0;font-size:14px;color:var(--sidebar-muted);font-weight:400}.sidebar__section{margin-top:28px}.sidebar__heading{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--sidebar-muted);margin:0 0 12px;display:flex;align-items:center;gap:8px}.sidebar__heading-icon{font-size:14px;color:var(--accent)}.sidebar__contact{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.sidebar__contact li{display:flex;align-items:center;gap:10px;font-size:13.5px;word-break:break-word}.sidebar__icon{font-size:14px;color:var(--accent);flex-shrink:0}.sidebar__contact a{color:var(--sidebar-text)}.sidebar__lead{margin:0 0 2px;font-weight:600;color:#fff;font-size:14px}.sidebar__muted{margin:0 0 2px;font-size:13.5px;color:var(--sidebar-muted)}.content{padding:40px 44px 48px}.section{margin-bottom:36px}.section:last-child{margin-bottom:0}.section__heading{font-size:18px;font-weight:600;margin:0 0 16px;display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.section__heading-icon{color:var(--accent);font-size:18px}.section__text{margin:0;white-space:pre-line;color:var(--text)}.job{margin-bottom:28px;page-break-inside:avoid;break-inside:avoid}.job:last-child{margin-bottom:0}.job__header{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:6px;flex-wrap:wrap}.job__role{font-size:16px;font-weight:600;margin:0;color:var(--text)}.job__company{margin:2px 0 0;font-size:14px;color:var(--text-muted)}.job__period{margin:0;font-size:13px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.job__summary{margin:8px 0 6px;font-size:14px}.job__stack{margin:4px 0 10px;font-size:13px;color:var(--text-muted)}.job__stack-label,.job__project-tech-label{font-weight:600;color:var(--text)}.job__projects{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.job__project{padding-left:14px;border-left:2px solid var(--border)}.job__project-title{margin:0 0 2px;font-weight:600;font-size:14px}.job__project-desc{margin:0;font-size:14px}.job__project-tech{margin:4px 0 0;font-size:12.5px;color:var(--text-muted);font-style:italic}@media(max-width:760px){.page{grid-template-columns:1fr;margin:0;border-radius:0;box-shadow:none}.content{padding:28px 20px 36px}.sidebar{padding:28px 20px}.job__header{flex-direction:column;gap:2px}.job__period{white-space:normal}}@media print{:root{--sidebar-width: 70mm}@page{size:A4;margin:0}html,body{background:transparent;color:#000;font-size:10pt;line-height:1.4}body:before,body:after{content:"";position:fixed;top:0;bottom:0;z-index:-1}body:before{left:0;width:var(--sidebar-width);background:#1f2937}body:after{left:calc(var(--sidebar-width));right:0;background:#fff}body{-webkit-print-color-adjust:exact;print-color-adjust:exact}.page{margin:0;max-width:none;border-radius:0;box-shadow:none;background:var(--sidebar-bg);grid-template-columns:var(--sidebar-width) 1fr}.page__pdf-btn{display:none!important}.sidebar{padding:12mm 6mm}.sidebar__avatar{width:32mm;height:32mm;border-width:2px}.sidebar__name{font-size:14pt}.sidebar__title{font-size:9pt}.sidebar__section{margin-top:6mm}.sidebar__heading{font-size:8pt;margin-bottom:2mm}.sidebar__contact{gap:1.5mm}.sidebar__contact li,.sidebar__lead,.sidebar__muted{font-size:8.5pt}.content{background:#fff;padding:10mm 8mm 4mm}.section{margin-bottom:5mm}.section__heading{font-size:12pt;margin-bottom:3mm;padding-bottom:1.5mm}.job{margin-bottom:0;padding-top:5mm}.section>.job:first-of-type{padding-top:2mm}.job__role{font-size:10.5pt}.job__company,.job__period,.job__summary,.job__stack,.job__project-title,.job__project-desc{font-size:9pt}.job__project-tech{font-size:8pt}a{color:#000;text-decoration:none}.job{break-inside:avoid}.section__heading,.job__header{break-after:avoid}}
