.cv-header[data-v-9b7fc225]{padding:26px var(--cv-pad) 22px;border-bottom:1.5px solid rgba(8,145,178,.12);display:flex;flex-direction:column;gap:16px}.cv-top[data-v-9b7fc225]{display:flex;align-items:flex-start;gap:24px}.cv-photo[data-v-9b7fc225]{width:144px;height:162px;border-radius:5px;background-size:cover;background-position:top center;background-repeat:no-repeat;flex-shrink:0;display:block}.cv-info[data-v-9b7fc225]{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;padding-top:4px}.cv-name[data-v-9b7fc225]{font-family:Lovelo,Outfit,system-ui,sans-serif;font-size:clamp(1.5rem,5vw,1.9rem);font-weight:900;letter-spacing:1px;line-height:1.1;color:var(--color-cv-name)}.cv-title[data-v-9b7fc225]{font-size:var(--fs-lg);color:var(--color-text-title);margin-top:6px;font-weight:600}.cv-contact[data-v-9b7fc225]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 16px;margin-top:14px;font-size:var(--fs-sm);color:var(--color-text-sub);font-style:normal;font-weight:500}.contact-column[data-v-9b7fc225]{display:flex;flex-direction:column;gap:4px;min-width:0;overflow-wrap:anywhere}.cv-contact a[data-v-9b7fc225]{color:var(--color-text-sub);font-weight:inherit;transition:color .15s}.cv-contact a[data-v-9b7fc225]:hover{color:var(--color-accent-dark);text-decoration:underline}.cv-summary[data-v-9b7fc225]{font-size:var(--fs-base);color:var(--color-text-body);line-height:1.65;width:100%}@media (max-width: 700px){.cv-contact[data-v-9b7fc225]{grid-template-columns:1fr}.cv-top[data-v-9b7fc225]{flex-direction:column;gap:14px}.cv-photo[data-v-9b7fc225]{width:96px;height:108px}}.skills-grid[data-v-321cc264]{display:flex;flex-direction:column;gap:7px}.skill-row[data-v-321cc264]{display:flex;gap:16px;font-size:var(--fs-base);line-height:1.5}.skill-cat[data-v-321cc264]{width:130px;flex-shrink:0;font-weight:600;color:var(--color-primary)}.skill-items[data-v-321cc264]{min-width:0;color:var(--color-text-body)}@media (max-width: 700px){.skill-row[data-v-321cc264]{flex-direction:column;gap:2px}.skill-cat[data-v-321cc264]{width:auto}}.lang-list[data-v-01c82f33]{display:flex;flex-direction:column;gap:6px}.lang-item[data-v-01c82f33]{display:flex;gap:14px;font-size:var(--fs-base)}.lang-name[data-v-01c82f33]{width:80px;font-weight:600;color:var(--color-primary);flex-shrink:0}.lang-level[data-v-01c82f33]{color:var(--color-text-sub)}.interests-list[data-v-18f681c7]{display:flex;flex-direction:column;gap:6px}.interest-item[data-v-18f681c7]{display:flex;gap:14px;font-size:var(--fs-base)}.int-cat[data-v-18f681c7]{width:80px;font-weight:600;color:var(--color-primary);flex-shrink:0}.int-desc[data-v-18f681c7]{color:var(--color-text-sub)}.exp-group[data-v-f27a3db9]{margin-bottom:18px}.exp-group[data-v-f27a3db9]:last-child{margin-bottom:0}.group-label[data-v-f27a3db9]{font-size:var(--fs-xs);font-weight:600;color:var(--color-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:12px}.exp-list[data-v-f27a3db9]{display:flex;flex-direction:column;gap:13px}.exp-item[data-v-f27a3db9]{page-break-inside:avoid}.exp-row[data-v-f27a3db9]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px}.exp-role[data-v-f27a3db9]{font-size:var(--fs-md);font-weight:600;color:var(--color-primary)}.exp-company[data-v-f27a3db9]{display:block;font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.exp-company a[data-v-f27a3db9]{color:var(--color-muted)}.exp-date[data-v-f27a3db9]{font-size:var(--fs-sm);color:var(--color-primary);white-space:nowrap;flex-shrink:0;font-weight:500;letter-spacing:.1px;font-variant-numeric:tabular-nums}.exp-desc[data-v-f27a3db9]{font-size:var(--fs-base);color:var(--color-text-body);line-height:1.58;margin-top:4px}@media (max-width: 700px){.exp-row[data-v-f27a3db9]{grid-template-columns:1fr;gap:3px}.exp-date[data-v-f27a3db9]{color:var(--color-text-sub);white-space:normal}}.edu-list[data-v-6a8c31a5]{display:flex;flex-direction:column;gap:13px}.edu-item[data-v-6a8c31a5]{page-break-inside:avoid}.edu-row[data-v-6a8c31a5]{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:flex-start;gap:12px}.edu-degree[data-v-6a8c31a5]{font-size:var(--fs-md);font-weight:600;color:var(--color-primary)}.edu-degree a[data-v-6a8c31a5]{text-decoration:underline;text-underline-offset:3px}.edu-institution[data-v-6a8c31a5]{display:block;font-size:var(--fs-sm);color:var(--color-muted);margin-top:2px}.edu-date[data-v-6a8c31a5]{font-size:var(--fs-sm);color:var(--color-primary);white-space:nowrap;flex-shrink:0;font-weight:500;font-variant-numeric:tabular-nums}.edu-desc[data-v-6a8c31a5]{font-size:var(--fs-base);color:var(--color-text-body);line-height:1.58;margin-top:5px}@media (max-width: 700px){.edu-row[data-v-6a8c31a5]{grid-template-columns:1fr;gap:3px}.edu-date[data-v-6a8c31a5]{color:var(--color-text-sub);white-space:normal}}.projects-list[data-v-e08d13f1]{display:flex;flex-direction:column;gap:14px}.project-item[data-v-e08d13f1]{font-size:var(--fs-base);line-height:1.45;break-inside:avoid}.proj-name[data-v-e08d13f1]{font-size:var(--fs-md);font-weight:600;color:var(--color-accent-dark);display:block}.proj-desc[data-v-e08d13f1]{color:var(--color-text-sub);font-size:var(--fs-base);margin-top:4px}.project-links[data-v-e08d13f1]{display:flex;flex-wrap:wrap;gap:12px;margin-top:6px;font-size:var(--fs-sm);color:var(--color-accent-dark);text-decoration:underline;text-underline-offset:3px}:root{--color-primary: #1a1a1a;--color-secondary: #444444;--color-text: #1a1a1a;--color-bg: #ffffff;--color-muted: #6b7280;--color-border: #e8e8e8;--color-accent: #72aaff;--color-accent-dark: #0058a0;--color-bg-body: #f2f2f2;--color-text-body: #4a4a4a;--color-text-sub: #5a5a5a;--color-text-title: #4d4d4d;--color-border-inner: #ebebeb;--color-tag-text: #001d6b;--color-tag-border: rgba(114, 170, 255, .55);--color-tag-bg: rgba(114, 170, 255, .1);--color-cv-name: #111111;--color-section-title-bg: #cce0ff;--color-section-title-text: #003380;--color-btn-text: #555555;--color-btn-hover-bg: #f4f9fd;--color-btn-active-bg:#e8f2fa;--color-page-shadow: rgba(0, 0, 0, .09);--color-page-shadow-sm: rgba(0, 0, 0, .06);--font-family: "Outfit", system-ui, -apple-system, sans-serif;--fs-xs: .62rem;--fs-sm: .72rem;--fs-base: .8rem;--fs-md: .86rem;--fs-lg: 1rem}:root[data-theme=dark]{--color-primary: #f3f4f6;--color-secondary: #cbd5e1;--color-text: #e5e7eb;--color-bg: #111827;--color-sidebar-bg: #111827;--color-sidebar-text: #e5e7eb;--color-muted: #9ca3af;--color-border: #374151;--color-accent: #72aaff;--color-accent-dark: #93c5fd;--color-bg-body: #080d18;--color-text-body: #d1d5db;--color-text-sub: #cbd5e1;--color-text-title: #e5e7eb;--color-border-inner: #293548;--color-tag-text: #bfdbfe;--color-tag-border: rgba(114, 170, 255, .48);--color-tag-bg: rgba(59, 130, 246, .15);--color-cv-name: #f9fafb;--color-section-title-bg: #18345d;--color-section-title-text: #bfdbfe;--color-btn-text: #d1d5db;--color-btn-hover-bg: #17243a;--color-btn-active-bg:#1e3150;--color-page-shadow: rgba(0, 0, 0, .36);--color-page-shadow-sm: rgba(0, 0, 0, .24)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:18px}body{font-family:var(--font-family);background:var(--color-bg-body);color:var(--color-text);line-height:1.5;-webkit-font-smoothing:antialiased;transition:background-color .2s ease,color .2s ease}::selection{background:var(--color-accent);color:#000000e6}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid var(--color-accent-dark);outline-offset:3px}ul{list-style:none}.controls-bar{position:sticky;top:0;z-index:100;background:var(--color-bg);border-bottom:1px solid var(--color-border);transition:background-color .2s ease,border-color .2s ease}.controls-inner{max-width:230mm;margin:0 auto;padding:9px 20px;display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.cv-meta-name{font-size:.8rem;font-weight:600;color:var(--color-accent-dark);letter-spacing:-.2px}.controls-actions{display:flex;gap:6px;align-items:center}.btn{display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:4px;font-size:.75rem;font-weight:500;cursor:pointer;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-btn-text);font-family:var(--font-family);transition:border-color .15s,color .15s,background .15s}.btn:hover{border-color:var(--color-accent-dark);color:var(--color-accent-dark);background:var(--color-btn-hover-bg)}.btn:active{background:var(--color-btn-active-bg)}.btn:focus-visible{outline:2px solid var(--color-accent-dark);outline-offset:2px}.cv-wrapper{padding:32px 20px 56px}.cv-page{--cv-pad: 44px;width:100%;max-width:230mm;min-height:297mm;margin:0 auto;background:var(--color-bg);box-shadow:0 4px 32px var(--color-page-shadow),0 1px 4px var(--color-page-shadow-sm);transition:background-color .2s ease,box-shadow .2s ease}@media (max-width: 700px){.cv-wrapper{padding:16px 0 40px}.cv-page{--cv-pad: 24px;box-shadow:none;border-radius:0}}@media (max-width: 420px){.cv-page{--cv-pad: 16px}.theme-toggle-label{display:none}.theme-toggle{width:31px;justify-content:center;padding-left:0;padding-right:0}}.cv-body{display:flex;flex-direction:column}.cv-section{padding:22px var(--cv-pad);border-bottom:1px solid var(--color-border-inner);overflow-wrap:anywhere}.cv-section:last-child{border-bottom:0}.section-title{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:2.5px;color:var(--color-section-title-text);background:var(--color-section-title-bg);margin-bottom:14px;padding:5px 10px;border-bottom:none;display:inline-block}.tech-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px}.tech-tag{font-size:var(--fs-xs);color:var(--color-tag-text);border:1px solid var(--color-tag-border);border-radius:3px;padding:1px 6px;background:var(--color-tag-bg);max-width:100%;overflow-wrap:anywhere}@media print{@page{size:A4;margin:50px 0}@page :first{margin:0}body{background:var(--color-bg)}.controls-bar{display:none!important}.cv-wrapper{padding:0}.cv-page{width:100%;min-height:auto;box-shadow:none}*{print-color-adjust:exact;-webkit-print-color-adjust:exact}a{text-decoration:none!important}}.btn-icon{width:31px;justify-content:center;padding-left:0;padding-right:0}
