:root{--cv-bg: #ffffff;--cv-text: #1a1a2e;--cv-dim: #6b6b80;--cv-accent: #00a838;--cv-accent-soft: #f0f9f3;--cv-border: #e2e2ea;--cv-rule: #d4d4dc;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "Fira Code", "Courier New", monospace}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:14px;-webkit-print-color-adjust:exact;print-color-adjust:exact}body{background:#2a2a35;color:var(--cv-text);font-family:var(--font-body);line-height:1.5;min-height:100vh;padding:30px 20px 60px}a{color:var(--cv-accent);text-decoration:none}.print-toolbar{position:fixed;top:16px;right:16px;display:flex;gap:10px;align-items:center;z-index:100}.cv-lang-switcher{display:inline-flex;align-items:center;gap:4px;padding:8px 12px;background:#ffffff1a;border-radius:6px;font-family:var(--font-mono);font-size:.75rem;color:#fff}.cv-lang-switcher button{background:none;border:none;color:#ffffff8c;font-family:var(--font-mono);font-size:.75rem;font-weight:600;letter-spacing:1px;padding:2px 6px;cursor:pointer;transition:color .2s ease}.cv-lang-switcher button:hover{color:#fff}.cv-lang-switcher button.active{color:var(--cv-accent);background:#00a83826;border-radius:4px}.cv-lang-switcher .lang-sep{color:#fff6}#print-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--cv-accent);color:#fff;border:none;border-radius:6px;font-family:var(--font-body);font-size:.85rem;font-weight:600;cursor:pointer;box-shadow:0 4px 12px #00a8384d;transition:all .2s ease}#print-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #00a83866}#print-btn span{font-size:1rem}.back-link{font-family:var(--font-body);font-size:.85rem;font-weight:500;color:#fff;padding:10px 14px;background:#ffffff1a;border-radius:6px}.back-link:hover{background:#fff3;color:#fff}.cv{background:var(--cv-bg);max-width:820px;margin:0 auto;padding:36px 44px;border-radius:4px;box-shadow:0 12px 40px #00000040}.cv-header{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:14px;margin-bottom:20px;border-bottom:2px solid var(--cv-accent)}.cv-name{font-size:2.1rem;font-weight:800;color:var(--cv-text);letter-spacing:-.5px;line-height:1.1;margin-bottom:6px}.cv-title{font-family:var(--font-mono);font-size:.82rem;color:var(--cv-accent);font-weight:500;letter-spacing:.3px}.cv-header-right{text-align:right;font-size:.78rem;line-height:1.65}.cv-contact-row{white-space:nowrap}.cv-contact-row.dim{color:var(--cv-dim);font-size:.72rem;margin-top:4px}.cv-contact-row a{color:var(--cv-text)}.cv-contact-row a:hover{color:var(--cv-accent)}.cv-section{margin-bottom:18px}.cv-section h2{font-size:.82rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--cv-accent);padding-bottom:4px;margin-bottom:10px;border-bottom:1px solid var(--cv-rule)}.cv-summary{font-size:.85rem;color:var(--cv-text);line-height:1.6}.cv-summary strong{color:var(--cv-text);font-weight:700}.cv-job{margin-bottom:14px;break-inside:avoid}.cv-job:last-child{margin-bottom:0}.cv-job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:4px}.cv-job-title{font-size:.95rem;font-weight:700;color:var(--cv-text);line-height:1.3}.cv-job-company{font-size:.78rem;color:var(--cv-dim);font-style:italic;font-weight:500;margin-top:1px}.cv-job-date{font-family:var(--font-mono);font-size:.72rem;color:var(--cv-accent);font-weight:600;white-space:nowrap;flex-shrink:0;padding-top:3px}.cv-bullets{list-style:none;padding-left:0;margin-top:5px}.cv-bullets li{position:relative;padding-left:14px;font-size:.8rem;line-height:1.55;color:#334;margin-bottom:2px}.cv-bullets li:before{content:"▸";position:absolute;left:0;color:var(--cv-accent);font-weight:700}.cv-projects{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px}.cv-project{break-inside:avoid}.cv-project h4{font-size:.85rem;font-weight:700;color:var(--cv-text);line-height:1.3;margin-bottom:2px}.cv-project-meta{font-size:.7rem;color:var(--cv-dim);font-weight:500;font-style:italic;margin-left:6px}.cv-project p{font-size:.75rem;color:#445;line-height:1.5}.cv-skills{display:flex;flex-direction:column;gap:6px}.cv-skill-group{display:grid;grid-template-columns:150px 1fr;gap:14px;align-items:baseline}.cv-skill-group h4{font-size:.78rem;font-weight:700;color:var(--cv-text)}.cv-skill-group p{font-size:.78rem;color:#334;line-height:1.5}.cv-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-bottom:18px}.cv-col{margin-bottom:0}.cv-list{list-style:none;padding-left:0}.cv-list li{position:relative;padding-left:14px;font-size:.8rem;line-height:1.65;color:var(--cv-text)}.cv-list li:before{content:"◆";position:absolute;left:0;color:var(--cv-accent);font-size:.7em;top:3px}.cv-public-only{display:block}.cv-full-only,body[data-variant=full] .cv-public-only{display:none}body[data-variant=full] .cv-full-only{display:block}span.cv-public-only,span.cv-full-only{display:inline}body[data-variant=full] span.cv-public-only,body[data-variant=public] span.cv-full-only{display:none}@media print{html,body{background:#fff!important;margin:0;padding:0;font-size:10.5pt}body{padding:0}.no-print,.print-toolbar{display:none!important}.cv{max-width:100%;margin:0;padding:0;box-shadow:none;border-radius:0}.cv-name{font-size:22pt}.cv-title{font-size:9.5pt}.cv-section h2{font-size:9pt}.cv-job-title{font-size:11pt}.cv-job-company{font-size:9pt}.cv-job-date{font-size:8.5pt}.cv-bullets li,.cv-skill-group p,.cv-skill-group h4,.cv-summary,.cv-list li{font-size:9.5pt}.cv-project h4{font-size:10pt}.cv-project p{font-size:9pt}a{color:var(--cv-text)}.cv-job,.cv-project,.cv-skill-group{break-inside:avoid}h2,h3,h4{break-after:avoid-page}.cv-section{margin-bottom:10pt}.cv-section h2{margin-bottom:6pt;padding-bottom:2pt}.cv-job{margin-bottom:8pt}.cv-job-header{margin-bottom:2pt}.cv-bullets{margin-top:2pt}.cv-bullets li{line-height:1.4;margin-bottom:1pt}.cv-skills{gap:3pt}}@page{size:A4;margin:10mm 12mm}@media(max-width:720px){body{padding:16px 8px 40px}.cv{padding:24px 20px}.cv-header{flex-direction:column;gap:8px;align-items:flex-start}.cv-header-right{text-align:left}.cv-name{font-size:1.7rem}.cv-job-header{flex-direction:column;gap:2px}.cv-job-date{padding-top:0}.cv-projects{grid-template-columns:1fr}.cv-skill-group{grid-template-columns:1fr;gap:2px}.cv-row{grid-template-columns:1fr;gap:12px}.print-toolbar{top:8px;right:8px}#print-btn{padding:8px 14px;font-size:.78rem}}
