:root[data-theme=light]{--color-bg:#fff;--color-border:#e5e7eb;--color-text:#111827;--color-text-secondary:#374151;--color-accent:#1e3a5f;--color-accent-contrast:#fff;--color-surface:#fff;--color-card-bg:#f8f9fb;--color-card-border:#e5e7eb;--color-card-bar-bg:#eef0f3;--color-card-title:#4b5563;--color-card-shadow:#00000014;--token-keyword:#a626a4;--token-string:#c4451c;--token-number:#0184bc;--color-navbar-bg:#ffffffd9}:root[data-theme=dark]{--color-bg:#0b0c0f;--color-border:#26272b;--color-text:#f3f4f6;--color-text-secondary:#cfd2d8;--color-accent:#3b82f6;--color-accent-contrast:#fff;--color-surface:#0b0c0f;--color-card-bg:#17181d;--color-card-border:#2e303a;--color-card-bar-bg:#1e2027;--color-card-title:#cfd2d8;--color-card-shadow:#0006;--token-keyword:#e29de2;--token-string:#ff9466;--token-number:#6cb6ff;--color-navbar-bg:#0b0c0fd9}:root{--navbar-height:64px}*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--color-bg)}[id]{scroll-margin-top:var(--navbar-height)}body{color:var(--color-text);background:var(--color-bg);margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif}#root{min-height:100svh}.navbar{z-index:100;min-height:var(--navbar-height);border-bottom:1px solid var(--color-border);background:var(--color-navbar-bg);-webkit-backdrop-filter:saturate(160%)blur(10px);justify-content:space-between;align-items:center;gap:24px;padding:14px 32px;transition:background .2s,-webkit-backdrop-filter .2s,backdrop-filter .2s;display:flex;position:sticky;top:0}@media (width<=768px){.navbar{padding:12px 20px}.navbar.navbar--menu-open{background:var(--color-bg);-webkit-backdrop-filter:none}}.navbar__brand{align-items:center;gap:10px;min-width:0;display:flex}.navbar__logo{background:var(--color-accent);width:28px;height:28px;color:var(--color-accent-contrast);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:700;display:flex}.navbar__name{color:var(--color-text);white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.navbar__right{flex-shrink:0;align-items:center;gap:24px;display:flex}.navbar__links{align-items:center;gap:24px;display:flex}.navbar__links a{color:var(--color-text-secondary);white-space:nowrap;font-size:14px;text-decoration:none}.navbar__links a:hover{color:var(--color-text)}@media (width<=768px){.navbar__links{background:var(--color-bg);border-bottom:1px solid var(--color-border);z-index:10;opacity:0;visibility:hidden;pointer-events:none;flex-direction:column;align-items:flex-start;gap:16px;padding:20px;transition:opacity .2s,transform .2s,visibility .2s;position:absolute;top:100%;left:0;right:0;transform:translateY(-8px)}.navbar__links.navbar__links--open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}}.navbar__links-extra{align-items:center;gap:12px;display:flex}@media (width<=768px){.navbar__links-extra{border-top:1px solid var(--color-border);width:100%;margin-top:4px;padding-top:16px}}.navbar__actions{flex-shrink:0;align-items:center;display:flex}.navbar__lang{background:var(--color-border);border-radius:999px;align-items:center;gap:4px;padding:3px;display:flex}.navbar__lang button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.navbar__lang button.is-active{background:var(--color-accent);color:var(--color-accent-contrast)}.navbar__theme-toggle,.navbar__menu-toggle{border:1px solid var(--color-border);background:var(--color-surface);width:36px;height:36px;color:var(--color-text);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.navbar__menu-toggle{display:none}@media (width<=768px){.navbar__menu-toggle{display:flex}}.hero-intro{grid-template-columns:1fr 1fr;align-items:start;gap:40px;max-width:1120px;margin:0 auto;padding:56px 32px;display:grid}@media (width<=900px){.hero-intro{grid-template-columns:1fr;gap:32px;padding:40px 20px}}.hero-intro .token-keyword{color:var(--token-keyword)}.hero-intro .token-string{color:var(--token-string)}.hero-intro .token-number,.hero-intro .token-type{color:var(--token-number)}.hero-intro .token-comment{color:var(--color-text-secondary)}.hero-intro__content{flex-direction:column;align-items:flex-start;gap:16px;display:flex}@media (width<=900px){.hero-intro__content{text-align:center;align-items:center}}.hero-intro__badge{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.hero-intro__badge-dot{background:#22c55e;border-radius:50%;flex-shrink:0;width:8px;height:8px;display:block;position:relative}.hero-intro__badge-dot:after{content:"";background:#22c55e;border-radius:50%;width:8px;height:8px;animation:2s cubic-bezier(.2,.7,.4,1) infinite hero-intro-pulse;position:absolute;top:0;left:0}@keyframes hero-intro-pulse{0%{opacity:.6;transform:scale(1)}to{opacity:0;transform:scale(3.2)}}.hero-intro__name{color:var(--color-text);margin:0;font-size:40px;font-weight:700}@media (width<=600px){.hero-intro__name{font-size:30px}}.hero-intro__description{color:var(--color-text-secondary);max-width:46ch;margin:0;font-size:16px;line-height:1.6}@media (width<=900px){.hero-intro__description{max-width:none}}.hero-intro__code-chip{background:var(--color-border);color:var(--color-text);white-space:pre-wrap;border-radius:8px;margin:4px 0 0;padding:8px 14px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.hero-intro__actions{flex-wrap:wrap;gap:12px;margin-top:8px;display:flex}@media (width<=900px){.hero-intro__actions{justify-content:center}}.hero-intro__button{cursor:pointer;border-radius:8px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.hero-intro__button--primary{background:var(--color-accent);color:var(--color-accent-contrast)}.hero-intro__button--secondary{color:var(--color-text);border:1px solid var(--color-border);background:0 0;text-decoration:underline}.hero-intro__window{background:var(--color-card-bg);border:1px solid var(--color-card-border);width:100%;max-width:420px;box-shadow:0 12px 30px var(--color-card-shadow);border-radius:10px;justify-self:end;overflow:hidden}@media (width<=900px){.hero-intro__window{justify-self:center}}.hero-intro__window-bar{background:var(--color-card-bar-bg);border-bottom:1px solid var(--color-card-border);align-items:center;gap:6px;padding:10px 14px;display:flex}.hero-intro__window-dot{border-radius:50%;width:10px;height:10px}.hero-intro__window-dot--red{background:#ff5f56}.hero-intro__window-dot--yellow{background:#ffbd2e}.hero-intro__window-dot--green{background:#27c93f}.hero-intro__window-title{color:var(--color-card-title);margin-left:6px;font-size:12px;font-weight:600}.hero-intro__window-code{min-height:235px;color:var(--color-text);margin:0;padding:18px 20px;font-family:ui-monospace,Consolas,monospace;font-size:13px;line-height:1.7;overflow-x:auto}.hero-intro__cursor{background:var(--color-text);width:1px;height:1em;margin-bottom:-.15em;animation:1s step-end infinite hero-intro-cursor-blink;display:inline-block}@keyframes hero-intro-cursor-blink{0%,to{opacity:1}50%{opacity:0}}.hero-summary{border-top:1px solid var(--color-border);max-width:1120px;margin:0 auto;padding:24px 32px 56px}@media (width<=900px){.hero-summary{padding:20px 20px 40px}}.hero-summary__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);align-items:center;gap:8px;margin:24px 0 16px;font-size:13px;font-weight:700;display:flex}.hero-summary__number{color:var(--color-accent)}.hero-summary__text{color:var(--color-text-secondary);max-width:70ch;margin:0 0 20px;font-size:15px;line-height:1.7}.hero-summary__quote{border-left:2px solid var(--color-accent);color:var(--color-text-secondary);margin:0;padding:4px 0 4px 16px;font-size:14px;font-style:italic}.experience{border-top:1px solid var(--color-border);max-width:1120px;margin:0 auto;padding:24px 32px 56px}@media (width<=900px){.experience{padding:20px 20px 40px}}.experience__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);align-items:center;gap:8px;margin:24px 0;font-size:13px;font-weight:700;display:flex}.experience__number{color:var(--color-accent)}.experience__list{margin:0;padding:0;list-style:none}.experience__item{border-bottom:1px solid var(--color-border);grid-template-columns:140px 1fr;gap:24px;padding:24px 0;display:grid}.experience__item:first-child{padding-top:0}.experience__item:last-child{border-bottom:none}@media (width<=640px){.experience__item{grid-template-columns:1fr;gap:8px}}.experience__period{color:var(--color-text-secondary);white-space:nowrap;font-size:13px}.experience__content{min-width:0}.experience__role{color:var(--color-text);margin:0 0 4px;font-size:16px;font-weight:700}.experience__company{color:var(--color-accent);margin:0 0 12px;font-size:14px;font-weight:600}.experience__bullets{flex-direction:column;gap:6px;margin:0;padding-left:18px;display:flex}.experience__bullets li{color:var(--color-text-secondary);font-size:14px;line-height:1.6}.skills{border-top:1px solid var(--color-border);max-width:1120px;margin:0 auto;padding:24px 32px 56px}@media (width<=900px){.skills{padding:20px 20px 40px}}.skills__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);align-items:center;gap:8px;margin:24px 0;font-size:13px;font-weight:700;display:flex}.skills__number{color:var(--color-accent)}.skills__grid{grid-template-columns:1fr 1fr;gap:32px 48px;display:grid}@media (width<=640px){.skills__grid{grid-template-columns:1fr}}.skills__column{flex-direction:column;gap:32px;display:flex}.skills__category-title{color:var(--color-text);margin:0 0 12px;font-size:15px;font-weight:700}.skills__tags{flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none;display:flex}.skills__tag{background:var(--color-border);color:var(--color-text);border-radius:6px;padding:6px 12px;font-size:13px}.skills__tag--highlighted{background:var(--color-accent);color:var(--color-accent-contrast)}.education{border-top:1px solid var(--color-border);max-width:1120px;margin:0 auto;padding:24px 32px 56px}@media (width<=900px){.education{padding:20px 20px 40px}}.education__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);align-items:center;gap:8px;margin:24px 0;font-size:13px;font-weight:700;display:flex}.education__number{color:var(--color-accent)}.education__degrees{margin:0;padding:0;list-style:none}.education__degree{border-bottom:1px solid var(--color-border);grid-template-columns:140px 1fr;gap:24px;padding:24px 0;display:grid}.education__degree:first-child{padding-top:0}@media (width<=640px){.education__degree{grid-template-columns:1fr;gap:8px}}.education__period{color:var(--color-text-secondary);white-space:nowrap;font-size:13px}.education__content{min-width:0}.education__degree-title{color:var(--color-text);margin:0 0 4px;font-size:16px;font-weight:700}.education__institution{color:var(--color-accent);margin:0 0 6px;font-size:14px;font-weight:600}.education__competencies{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.6}.education__block{margin-top:40px}.education__block-title{color:var(--color-accent);text-transform:uppercase;letter-spacing:.04em;margin:0 0 16px;font-size:12px;font-weight:700}.education__certifications{margin:0;padding:0;list-style:none}.education__certification{border-bottom:1px solid var(--color-border);grid-template-columns:140px 1fr;gap:24px;padding:16px 0;display:grid}.education__certification:first-child{padding-top:0}.education__certification:last-child{border-bottom:none}@media (width<=640px){.education__certification{grid-template-columns:1fr;gap:4px}}.education__year{color:var(--color-text-secondary);font-size:13px}.education__certification-name{color:var(--color-text);margin:0;font-size:14px}.education__issuer{color:var(--color-text-secondary)}.education__languages{flex-wrap:wrap;gap:8px 32px;margin:0;padding:0;list-style:none;display:flex}.education__language{color:var(--color-text-secondary);font-size:14px}.education__language-name{color:var(--color-text);font-weight:700}.contact{border-top:1px solid var(--color-border);max-width:1120px;margin:0 auto;padding:24px 32px 72px}@media (width<=900px){.contact{padding:20px 20px 56px}}.contact__label{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text);align-items:center;gap:8px;margin:24px 0;font-size:13px;font-weight:700;display:flex}.contact__number{color:var(--color-accent)}.contact__title{color:var(--color-text);margin:0 0 24px;font-size:22px;font-weight:700}@media (width<=600px){.contact__title{font-size:19px}}.contact__links{flex-wrap:wrap;gap:12px 40px;margin:0;padding:0;font-size:15px;list-style:none;display:flex}.contact__links li{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.contact__links a{color:var(--color-text);text-decoration:underline}.contact__links a:hover{color:var(--color-accent)}.contact__cv-button{border:1px solid var(--color-border);color:var(--color-text);background:0 0;border-radius:8px;justify-content:center;align-items:center;padding:10px 18px;font-size:14px;font-weight:600;text-decoration:underline;display:inline-flex}.contact__cv-button:hover,.contact__location{color:var(--color-text)}.footer{border-top:1px solid var(--color-border);max-width:1120px;margin:0 auto;padding:24px 32px}@media (width<=900px){.footer{padding:20px}}.footer__copy{text-align:center;color:var(--color-text-secondary);margin:0;font-size:13px}
