*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0d1117;--bg-card:#161b22;--text:#e6edf3;--text-muted:#8b949e;--accent:#58a6ff;--accent-hover:#79c0ff;--border:#30363d;--tag-bg:#1f2937;--tag-text:#7dd3fc;--green:#3fb950;--radius:8px;--font:'Segoe UI', -apple-system, BlinkMacSystemFont, system-ui, sans-serif}html{font-size:16px;scroll-behavior:smooth}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased}.lang-switch{display:flex;justify-content:flex-end;gap:.5rem;margin-bottom:1rem}.lang-switch a,.lang-switch__active{display:inline-block;padding:.3rem .8rem;border-radius:var(--radius);font-size:.8rem;font-weight:600;text-decoration:none;letter-spacing:.05em;transition:all .2s}.lang-switch a{color:var(--text-muted);border:1px solid var(--border)}.lang-switch a:hover{color:var(--accent);border-color:var(--accent)}.lang-switch__active{color:var(--bg);background:var(--accent);border:1px solid var(--accent)}.container{max-width:860px;margin:0 auto;padding:2rem 1.5rem}.header{display:flex;gap:2rem;align-items:center;padding:2rem;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:2rem}.header__photo img{width:140px;height:140px;border-radius:50%;object-fit:cover;border:3px solid var(--border)}.header__info h1{font-size:1.8rem;font-weight:700;margin-bottom:.2rem}.header__role{font-size:1.1rem;color:var(--accent);font-weight:500;margin-bottom:.8rem}.contacts{list-style:none;font-size:.9rem;color:var(--text-muted);line-height:1.8}.contacts li{display:flex;align-items:center;gap:.4rem}.contacts a{color:var(--text-muted);text-decoration:none;transition:color .2s}.contacts a:hover{color:var(--accent)}.icon{width:1rem;height:1rem;flex-shrink:0}.socials{margin-top:.8rem;display:flex;gap:1rem}.socials a{display:inline-block;padding:.35rem 1rem;background:0 0;border:1px solid var(--border);border-radius:var(--radius);color:var(--accent);text-decoration:none;font-size:.85rem;font-weight:500;transition:all .2s}.socials a:hover,.btn-pdf:hover{background:var(--accent);color:var(--bg);border-color:var(--accent)}.btn-pdf{display:inline-block;padding:.35rem 1rem;background:0 0;border:1px solid var(--border);border-radius:var(--radius);color:var(--accent);font-family:var(--font);font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s}.section{margin-bottom:2rem}.section>h2{font-size:1.3rem;font-weight:700;padding-bottom:.5rem;margin-bottom:1rem;border-bottom:1px solid var(--border);color:var(--text)}.section>p{color:var(--text-muted);font-size:.95rem;line-height:1.7}.skills{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.5rem;display:flex;flex-direction:column;gap:.8rem}.skill-group{display:grid;grid-template-columns:11rem 1fr;gap:.5rem;align-items:baseline}.skill-group h3{font-size:.82rem;font-weight:600;color:var(--text-muted)}.tags{display:flex;flex-wrap:wrap;gap:.35rem}.tags span{display:inline-block;padding:.2rem .6rem;background:var(--tag-bg);color:var(--tag-text);border-radius:4px;font-size:.8rem;font-weight:500}@media(max-width:640px){.skill-group{grid-template-columns:1fr}}.job{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius);padding:1.2rem 1.5rem;margin-bottom:1rem;position:relative}.job__header h3{font-size:1.05rem;font-weight:600;color:var(--text)}.job__company{display:inline-block;font-size:.95rem;color:var(--accent);font-weight:500;margin-top:.1rem;text-decoration:none}a.job__company:hover{text-decoration:underline;color:var(--accent-hover)}.job__meta{display:block;font-size:.82rem;color:var(--text-muted);margin-top:.2rem;margin-bottom:.8rem}.job__note{font-size:.82rem;color:var(--text-muted);font-style:italic;margin-bottom:.6rem}.job ul{list-style:none;padding:0}.job ul li{position:relative;padding-left:1.2rem;margin-bottom:.4rem;font-size:.9rem;color:var(--text-muted);line-height:1.5}.job ul li::before{content:'';position:absolute;left:0;top:.55rem;width:6px;height:6px;border-radius:50%;background:var(--green)}footer{margin-top:2rem;padding-top:1rem;border-top:1px solid var(--border);text-align:center;font-size:.8rem;color:var(--text-muted)}@media(max-width:640px){.header{flex-direction:column;text-align:center}.socials{justify-content:center}.contacts{text-align:center}.skills{grid-template-columns:1fr}.header__info h1{font-size:1.5rem}}@media print{.btn-pdf,.lang-switch{display:none!important}body{background:#fff;color:#1a1a1a}.container{max-width:100%;padding:0}.header,.job,.skills,.skill-group{background:#fff;border-color:#ddd}.skills,.job,.header{break-inside:avoid}.section>h2{break-after:avoid}.header__role,.job__company,.socials a{color:#06c}.contacts,.job ul li,.section>p{color:#444}.tags span{background:#f0f0f0;color:#333}}