.cv-page{--cv-bg:var(--bg-primary,#0a0a0f);--cv-surface:#ffffff08;--cv-border:#ffffff14;--cv-text:var(--text-primary,#e5e5e5);--cv-text-dim:var(--text-secondary,#a0a0a0);--cv-accent:var(--accent-primary,#0f8);--cv-accent-2:var(--accent-secondary,#00d4ff);--cv-print-accent:#2c5aa0;--cv-print-text:#1a1a1a;--cv-print-dim:#555;--cv-print-border:#d0d0d0;background:var(--cv-bg);color:var(--cv-text);min-height:100vh;font-family:var(--font-syne,system-ui), sans-serif;padding:80px 20px 40px}.cv-page section{padding:0}.cv-page .cv-toolbar{max-width:900px;margin:0 auto 24px}.cv-page .cv-toolbar-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.cv-page .cv-back{color:var(--cv-text-dim);font-family:var(--font-jetbrains,monospace);font-size:.9rem;text-decoration:none;transition:color .2s}.cv-page .cv-back:hover{color:var(--cv-accent-2)}.cv-page .cv-btn-print{background:linear-gradient(90deg, var(--cv-accent), var(--cv-accent-2));color:var(--cv-bg);font-family:var(--font-jetbrains,monospace);cursor:pointer;border:none;border-radius:6px;align-items:center;gap:8px;padding:10px 20px;font-size:.9rem;font-weight:700;transition:transform .2s,box-shadow .2s;display:inline-flex}.cv-page .cv-btn-print:hover{transform:translateY(-1px);box-shadow:0 8px 24px #00ff884d}.cv-page .cv-toolbar-hint{color:var(--cv-text-dim);font-size:.85rem;font-family:var(--font-jetbrains,monospace);margin:12px 0 0}.cv-page .cv-document{background:var(--cv-surface);border:1px solid var(--cv-border);border-radius:12px;max-width:900px;margin:0 auto;padding:48px 56px}.cv-page .cv-header{border-bottom:1px solid var(--cv-border);justify-content:space-between;align-items:flex-start;gap:32px;margin-bottom:32px;padding-bottom:24px;display:flex}.cv-page .cv-header-text{flex:1;min-width:0}.cv-page .cv-name{background:linear-gradient(90deg, var(--cv-accent), var(--cv-accent-2));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 4px;font-size:2.4rem;font-weight:800;line-height:1.1}.cv-page .cv-label{font-family:var(--font-jetbrains,monospace);color:var(--cv-accent-2);text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px;font-size:1.05rem;font-weight:700}.cv-page .cv-tagline{color:var(--cv-text-dim);max-width:56ch;margin:0;font-size:.95rem;line-height:1.5}.cv-page .cv-photo-wrap{flex-shrink:0}.cv-page .cv-photo{object-fit:cover;border:2px solid var(--cv-accent);border-radius:50%;width:110px;height:110px}.cv-page .cv-grid{grid-template-columns:240px 1fr;gap:40px;display:grid}.cv-page .cv-section{margin-bottom:24px}.cv-page .cv-section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--cv-accent);font-size:.75rem;font-weight:700;font-family:var(--font-jetbrains,monospace);border-bottom:1px solid var(--cv-border);margin:0 0 12px;padding-bottom:6px}.cv-page .cv-contact-list,.cv-page .cv-lang-list,.cv-page .cv-cert-list,.cv-page .cv-skill-list,.cv-page .cv-pro-list{margin:0;padding:0;list-style:none}.cv-page .cv-contact-list li{word-break:break-word;margin-bottom:10px;font-size:.85rem;line-height:1.4}.cv-page .cv-contact-label{color:var(--cv-text-dim);text-transform:uppercase;letter-spacing:.1em;font-size:.7rem;font-family:var(--font-jetbrains,monospace);margin-bottom:2px;display:block}.cv-page .cv-contact-list a{color:var(--cv-text);text-decoration:none;transition:color .2s}.cv-page .cv-contact-list a:hover{color:var(--cv-accent-2)}.cv-page .cv-skill-group{margin-bottom:16px}.cv-page .cv-skill-category{color:var(--cv-text-dim);margin:0 0 8px;font-size:.8rem;font-weight:600}.cv-page .cv-skill-item{margin-bottom:8px}.cv-page .cv-skill-row{justify-content:space-between;margin-bottom:4px;font-size:.8rem;display:flex}.cv-page .cv-skill-name{font-weight:600}.cv-page .cv-skill-meta{color:var(--cv-text-dim);font-family:var(--font-jetbrains,monospace);font-size:.7rem}.cv-page .cv-skill-bar{background:var(--cv-border);border-radius:2px;height:4px;overflow:hidden}.cv-page .cv-skill-fill{background:linear-gradient(90deg, var(--cv-accent), var(--cv-accent-2));border-radius:2px;height:100%}.cv-page .cv-lang-item{justify-content:space-between;margin-bottom:6px;font-size:.85rem;display:flex}.cv-page .cv-lang-fluency{color:var(--cv-text-dim);font-size:.75rem}.cv-page .cv-cert-item{margin-bottom:10px;font-size:.8rem;line-height:1.4}.cv-page .cv-cert-item strong{color:var(--cv-text);margin-bottom:2px;display:block}.cv-page .cv-cert-item span{color:var(--cv-text-dim);font-size:.75rem}.cv-page .cv-summary{color:var(--cv-text);margin:0;font-size:.95rem;line-height:1.6}.cv-page .cv-job,.cv-page .cv-project,.cv-page .cv-edu{border-bottom:1px solid var(--cv-border);margin-bottom:20px;padding-bottom:20px}.cv-page .cv-job:last-child,.cv-page .cv-project:last-child,.cv-page .cv-edu:last-child{border-bottom:none;padding-bottom:0}.cv-page .cv-job-header,.cv-page .cv-project-header,.cv-page .cv-edu-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;display:flex}.cv-page .cv-job-position,.cv-page .cv-project-name,.cv-page .cv-edu-degree{color:var(--cv-text);margin:0 0 2px;font-size:1.05rem;font-weight:700}.cv-page .cv-job-company,.cv-page .cv-edu-institution{color:var(--cv-accent-2);font-size:.85rem;font-family:var(--font-jetbrains,monospace);margin:0}.cv-page .cv-job-dates,.cv-page .cv-edu-dates{color:var(--cv-text-dim);font-size:.78rem;font-family:var(--font-jetbrains,monospace);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;flex-shrink:0}.cv-page .cv-job-summary,.cv-page .cv-project-desc{color:var(--cv-text-dim);margin:8px 0;font-size:.9rem;line-height:1.5}.cv-page .cv-highlights{color:var(--cv-text);margin:8px 0;padding-left:18px;font-size:.88rem;line-height:1.5}.cv-page .cv-highlights li{margin-bottom:4px}.cv-page .cv-stack{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.cv-page .cv-tag{font-size:.72rem;font-family:var(--font-jetbrains,monospace);color:var(--cv-accent-2);background:#00d4ff1a;border:1px solid #00d4ff4d;border-radius:4px;padding:3px 8px;display:inline-block}.cv-page .cv-project-links{gap:12px;display:flex}.cv-page .cv-project-links a{color:var(--cv-accent-2);font-size:.8rem;font-family:var(--font-jetbrains,monospace);text-decoration:none}.cv-page .cv-project-links a:hover{text-decoration:underline}.cv-page .cv-section-professional .cv-pro-list li{color:var(--cv-text);margin-bottom:4px;font-size:.85rem}.cv-page .cv-section-professional .cv-pro-list li span{color:var(--cv-text-dim);font-family:var(--font-jetbrains,monospace);margin-right:6px;font-size:.78rem}.cv-page .cv-privacy{color:var(--cv-text-dim);margin:16px 0 0;font-size:.72rem;font-style:italic}@media (max-width:768px){.cv-page{padding:60px 12px 40px}.cv-page .cv-document{padding:24px}.cv-page .cv-header{flex-direction:column-reverse;gap:16px}.cv-page .cv-photo{width:90px;height:90px}.cv-page .cv-name{font-size:1.8rem}.cv-page .cv-grid{grid-template-columns:1fr;gap:24px}.cv-page .cv-job-header,.cv-page .cv-edu-header,.cv-page .cv-project-header{flex-direction:column;gap:4px}}@media print{@page{size:A4;margin:12mm 14mm}.no-print,header,footer{display:none!important}html,body{color:#1a1a1a!important;background:#fff!important}.cv-page{font-size:9.5pt;line-height:1.4;color:#1a1a1a!important;background:#fff!important;min-height:0!important;padding:0!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif!important}.cv-page .cv-document{background:0 0!important;border:none!important;border-radius:0!important;max-width:100%!important;margin:0!important;padding:0!important}.cv-page .cv-header{border-bottom:1.5pt solid var(--cv-print-accent);page-break-after:avoid;break-after:avoid;margin-bottom:6mm;padding-bottom:8mm}.cv-page .cv-name{color:var(--cv-print-text)!important;-webkit-text-fill-color:var(--cv-print-text)!important;background:0 0!important;margin-bottom:2mm!important;font-size:22pt!important;font-weight:700!important;line-height:1.1!important}.cv-page .cv-label{text-transform:none;letter-spacing:0;color:var(--cv-print-accent)!important;margin-bottom:3mm!important;font-family:inherit!important;font-size:11pt!important;font-weight:600!important}.cv-page .cv-tagline{color:var(--cv-print-dim)!important;font-size:9.5pt!important;line-height:1.4!important}.cv-page .cv-photo{-webkit-print-color-adjust:exact;print-color-adjust:exact;border:1pt solid #999!important;border-radius:50%!important;width:28mm!important;height:28mm!important}.cv-page .cv-grid{grid-template-columns:55mm 1fr!important;gap:8mm!important}.cv-page .cv-section{page-break-inside:avoid;break-inside:avoid;margin-bottom:5mm!important}.cv-page .cv-section-title{letter-spacing:.1em;page-break-after:avoid;break-after:avoid;color:var(--cv-print-accent)!important;border-bottom:.5pt solid var(--cv-print-border)!important;margin-bottom:2.5mm!important;padding-bottom:1mm!important;font-family:inherit!important;font-size:8.5pt!important;font-weight:700!important}.cv-page .cv-contact-list li,.cv-page .cv-lang-item,.cv-page .cv-cert-item,.cv-page .cv-skill-item{color:var(--cv-print-text)!important;font-size:8.5pt!important}.cv-page .cv-contact-label,.cv-page .cv-skill-meta{font-weight:600;color:var(--cv-print-dim)!important;font-family:inherit!important;font-size:7pt!important}.cv-page .cv-contact-list a,.cv-page .cv-project-links a,.cv-page .cv-job-company{color:var(--cv-print-text)!important;text-decoration:none!important}.cv-page .cv-skill-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#e8e8e8!important;height:2.5pt!important}.cv-page .cv-skill-fill{-webkit-print-color-adjust:exact;print-color-adjust:exact;background:var(--cv-print-accent)!important}.cv-page .cv-skill-name{font-size:8pt!important}.cv-page .cv-skill-category{color:var(--cv-print-dim)!important;margin-bottom:1.5mm!important;font-size:8pt!important}.cv-page .cv-skill-group{margin-bottom:3mm!important}.cv-page .cv-summary{color:var(--cv-print-text)!important;font-size:9.5pt!important;line-height:1.45!important}.cv-page .cv-job,.cv-page .cv-project,.cv-page .cv-edu{page-break-inside:avoid;break-inside:avoid;border-bottom:.5pt solid #ececec!important;margin-bottom:4mm!important;padding-bottom:3mm!important}.cv-page .cv-job:last-child,.cv-page .cv-project:last-child,.cv-page .cv-edu:last-child{border-bottom:none!important}.cv-page .cv-job-header,.cv-page .cv-project-header,.cv-page .cv-edu-header{page-break-after:avoid;break-after:avoid;margin-bottom:1.5mm!important}.cv-page .cv-job-position,.cv-page .cv-project-name,.cv-page .cv-edu-degree{color:var(--cv-print-text)!important;font-size:10pt!important;font-weight:700!important}.cv-page .cv-job-company,.cv-page .cv-edu-institution{font-weight:500;color:var(--cv-print-accent)!important;font-family:inherit!important;font-size:9pt!important}.cv-page .cv-job-dates,.cv-page .cv-edu-dates{text-transform:none;letter-spacing:0;font-weight:500;color:var(--cv-print-dim)!important;white-space:nowrap!important;font-family:inherit!important;font-size:8pt!important}.cv-page .cv-job-summary,.cv-page .cv-project-desc{color:var(--cv-print-dim)!important;margin:1.5mm 0!important;font-size:9pt!important}.cv-page .cv-highlights{color:var(--cv-print-text)!important;margin:1.5mm 0!important;padding-left:4mm!important;font-size:9pt!important;line-height:1.4!important}.cv-page .cv-highlights li{page-break-inside:avoid;margin-bottom:.8mm!important}.cv-page .cv-stack{gap:1mm!important;margin-top:1.5mm!important}.cv-page .cv-tag{-webkit-print-color-adjust:exact;print-color-adjust:exact;font-weight:500;color:var(--cv-print-text)!important;background:#f0f0f0!important;border:.5pt solid #d0d0d0!important;border-radius:2pt!important;padding:.5mm 1.5mm!important;font-family:inherit!important;font-size:7.5pt!important}.cv-page .cv-section-professional .cv-pro-list li{color:var(--cv-print-text)!important;margin-bottom:.8mm!important;font-size:8.5pt!important}.cv-page .cv-section-professional .cv-pro-list li span{color:var(--cv-print-dim)!important;font-family:inherit!important;font-size:8pt!important}.cv-page .cv-privacy{color:var(--cv-print-dim)!important;margin-top:3mm!important;font-size:7.5pt!important}.cv-page .cv-lang-name{font-weight:600}.cv-page .cv-lang-fluency{color:var(--cv-print-dim)!important;font-size:8pt!important}.cv-page .cv-cert-item{margin-bottom:2mm!important}.cv-page .cv-cert-item strong{font-size:8.5pt!important}.cv-page .cv-cert-item span{color:var(--cv-print-dim)!important;font-size:7.5pt!important}.cv-page h1,.cv-page h2,.cv-page h3{page-break-after:avoid;break-after:avoid}.cv-page img{page-break-inside:avoid}.cv-page a,.cv-page a:visited{color:var(--cv-print-text)!important;text-decoration:none!important}}
