:root{--bg:#f8fafc;--paper:#ffffff;--ink:#0f172a;--ink-soft:#334155;--muted:#64748b;--accent:#0ea5e9;--accent-dark:#0284c7;--accent-2:#6366f1;--border:#e2e8f0;--radius:12px;--shadow:0 4px 6px -1px rgba(15,23,42,0.08),0 2px 4px -2px rgba(15,23,42,0.06);--shadow-lg:0 10px 15px -3px rgba(15,23,42,0.1),0 4px 6px -4px rgba(15,23,42,0.08)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55;-webkit-font-smoothing:antialiased}a{color:var(--accent-dark);text-decoration:none}a:hover{text-decoration:underline}.lang-bar{position:fixed;top:16px;right:16px;z-index:100;display:flex;gap:8px}.lang-bar a,.lang-bar button{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--paper);color:var(--ink-soft);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:var(--shadow);transition:all .2s ease}.lang-bar a:hover,.lang-bar button:hover{background:var(--accent);color:#fff;border-color:var(--accent);text-decoration:none}.lang-bar .active{background:var(--ink);color:#fff;border-color:var(--ink)}.page{max-width:980px;margin:80px auto 48px;background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}header.cv-header{display:grid;grid-template-columns:1fr auto;grid-gap:32px;gap:32px;padding:48px 56px 40px;background:linear-gradient(135deg,var(--ink) 0,#1e293b 100%);color:#fff;position:relative}header.cv-header:after{content:"";position:absolute;bottom:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--accent),var(--accent-2))}header .brand h1{margin:0 0 8px;font-size:2.8rem;font-weight:800;letter-spacing:-.03em;line-height:1}header .brand .tagline{margin:0;font-size:1.15rem;font-weight:500;color:#94a3b8}header .brand .badge{display:inline-flex;align-items:center;gap:6px;margin-top:14px;padding:6px 14px;border-radius:999px;background:rgba(14,165,233,.15);color:#7dd3fc;font-size:.85rem;font-weight:700;border:1px solid rgba(14,165,233,.3)}header .contacts{display:flex;flex-direction:column;gap:10px;justify-content:center;text-align:right;font-size:.95rem}header .contacts a{color:#e2e8f0;display:inline-flex;align-items:center;justify-content:flex-end;gap:8px}header .contacts a:hover{color:var(--accent)}header .contacts .label{color:#94a3b8;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}main{padding:40px 56px 56px}section{margin-bottom:36px}section:last-child{margin-bottom:0}.section-title{display:flex;align-items:center;gap:12px;margin:0 0 18px;font-size:1.15rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink)}.section-title svg{width:22px;height:22px;color:var(--accent);flex-shrink:0}.section-title:after{content:"";flex:1 1;height:1px;background:var(--border)}.summary-card{padding:24px;background:#f1f5f9;border-left:4px solid var(--accent);border-radius:0 var(--radius) var(--radius) 0;font-size:1.02rem;color:var(--ink-soft)}.summary-card p{margin:0}.summary-gap{margin-top:12px}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-gap:16px;gap:16px}.skill-group{background:var(--paper);border:1px solid var(--border);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow)}.skill-group h4{margin:0 0 12px;font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}.skill-tags{display:flex;flex-wrap:wrap;gap:8px}.skill-tags span{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;border-radius:999px;background:#f1f5f9;color:var(--ink-soft);font-size:.85rem;font-weight:500;border:1px solid var(--border)}.skill-tags .highlight{background:linear-gradient(135deg,#e0f2fe,#e0e7ff);color:var(--accent-dark);border-color:#bae6fd;font-weight:700}.timeline{display:flex;flex-direction:column;gap:24px}.job{padding:22px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--paper)}.job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px}.job-title{margin:0;font-size:1.08rem;font-weight:700;color:var(--ink)}.job-company{display:block;font-weight:600;color:var(--accent-dark);font-size:.95rem}.job-meta{flex-shrink:0;text-align:right;font-size:.85rem;color:var(--muted);font-weight:500}.job-desc{font-size:.95rem}.job-desc,.job-tasks{margin:0 0 12px;color:var(--ink-soft)}.job-tasks{padding-left:18px;font-size:.9rem}.job-tasks li{margin-bottom:5px}.job-env{font-size:.82rem;color:var(--muted);border-top:1px dashed var(--border);padding-top:10px}.job-env strong{color:var(--ink-soft)}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));grid-gap:16px;gap:16px}.info-card{padding:16px;background:#f8fafc;border-radius:var(--radius);border:1px solid var(--border)}.info-card h4{margin:0 0 6px;font-size:.95rem;color:var(--ink)}.info-card p{margin:0;font-size:.9rem;color:var(--ink-soft)}.interests{display:flex;flex-wrap:wrap;gap:8px}.interests span{padding:5px 12px;border-radius:999px;background:#f1f5f9;color:var(--ink-soft);font-size:.85rem;font-weight:500}.actions{padding:24px 56px;background:#f8fafc;border-top:1px solid var(--border);display:flex;justify-content:center;gap:12px}.btn{display:inline-flex;align-items:center;gap:8px;padding:12px 22px;border-radius:999px;font-weight:700;font-size:.95rem;cursor:pointer;border:none;transition:all .2s ease;text-decoration:none}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--accent-dark)}.btn-secondary{background:#fff;color:var(--ink);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg)}@media (max-width:800px){.lang-bar{top:12px;right:12px}header.cv-header{grid-template-columns:1fr;padding:32px 24px;text-align:center}header .contacts{text-align:center;align-items:center}header .contacts a{justify-content:center}main{padding:28px 24px}.job-header{flex-direction:column;gap:6px}.job-meta{text-align:left}.actions{padding:20px 24px;flex-direction:column}.btn{justify-content:center}}@media print{@page{size:A4;margin:10mm}body{background:#fff;color:#000;line-height:1.35}.actions,.lang-bar{display:none!important}.page{max-width:none;margin:0;box-shadow:none;border-radius:0}header.cv-header{background:#0f172a!important;color:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact;padding:16px 24px}header .brand h1{font-size:1.7rem;margin-bottom:4px}header .brand .tagline{font-size:.9rem}header .brand .badge{font-size:.72rem;margin-top:8px;padding:4px 10px}header .contacts{font-size:.78rem;gap:5px}main{padding:16px 24px}section{margin-bottom:12px}.section-title{font-size:.9rem;margin-bottom:8px;break-after:avoid;page-break-after:avoid}.section-title svg{width:16px;height:16px}.job-header{break-after:avoid;page-break-after:avoid}.summary-card{padding:12px;font-size:.86rem;background:#f8fafc!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.skills-grid{grid-template-columns:repeat(3,1fr);gap:8px}.skill-group{padding:8px;border-radius:8px}.skill-group h4{font-size:.68rem;margin-bottom:6px}.skill-tags{gap:4px}.skill-tags span{padding:2px 6px;font-size:.68rem}.timeline{gap:10px}.job{padding:10px;border-radius:8px;break-inside:avoid;page-break-inside:avoid;background:#fff!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.job-header{gap:8px;margin-bottom:5px}.job-title{font-size:.88rem}.job-company{font-size:.78rem}.job-meta{font-size:.72rem}.job-desc{font-size:.78rem;margin-bottom:6px}.job-tasks{font-size:.74rem;margin-bottom:6px;padding-left:14px}.job-tasks li{margin-bottom:2px}.job-env{font-size:.68rem;padding-top:6px}.info-grid{gap:8px}.info-card{padding:8px;border-radius:8px;background:#f8fafc!important;-webkit-print-color-adjust:exact;print-color-adjust:exact}.info-card h4{font-size:.8rem;margin-bottom:3px}.info-card p{font-size:.74rem}.interests{gap:4px}.interests span{padding:2px 7px;font-size:.7rem;background:#f1f5f9!important}.interests span,.skill-tags .highlight{-webkit-print-color-adjust:exact;print-color-adjust:exact}.skill-tags .highlight{background:#e0f2fe!important}a{color:#000;text-decoration:none}}