@font-face{font-display:swap;font-family:IBM Plex Sans Variable;font-style:normal;font-weight:100 700;src:url(/static/media/ibm-plex-sans-cyrillic-ext-wght-normal.a17fb865bc3d94f6a763.woff2) format("woff2-variations");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:IBM Plex Sans Variable;font-style:normal;font-weight:100 700;src:url(/static/media/ibm-plex-sans-cyrillic-wght-normal.aea82cd4f679901006f5.woff2) format("woff2-variations");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:IBM Plex Sans Variable;font-style:normal;font-weight:100 700;src:url(/static/media/ibm-plex-sans-greek-wght-normal.5a744c182883df2756e4.woff2) format("woff2-variations");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-display:swap;font-family:IBM Plex Sans Variable;font-style:normal;font-weight:100 700;src:url(/static/media/ibm-plex-sans-vietnamese-wght-normal.c50c4d9a7935b1984a24.woff2) format("woff2-variations");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:IBM Plex Sans Variable;font-style:normal;font-weight:100 700;src:url(/static/media/ibm-plex-sans-latin-ext-wght-normal.57bde7cafd4d43a2790a.woff2) format("woff2-variations");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:IBM Plex Sans Variable;font-style:normal;font-weight:100 700;src:url(/static/media/ibm-plex-sans-latin-wght-normal.b33a81b76947ac354369.woff2) format("woff2-variations");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/static/media/ibm-plex-mono-latin-400-normal.2b13cc93b07c41b27134.woff2) format("woff2"),url(/static/media/ibm-plex-mono-latin-400-normal.12ede62e388083e7c01c.woff) format("woff")}@font-face{font-display:swap;font-family:IBM Plex Mono;font-style:normal;font-weight:500;src:url(/static/media/ibm-plex-mono-latin-500-normal.a1fc5384545ba0657d83.woff2) format("woff2"),url(/static/media/ibm-plex-mono-latin-500-normal.89a2903adc59285a5efa.woff) format("woff")}:root{--paper:#fff;--ink:#0b1a33;--body:#38445a;--muted:#5c6880;--divider:#d4dae4;--accent:#1d4ed8;--accent-text:#1a43b8;--chrome-bg:#080d1c;--accent-on-chrome:#60a5fa;--chrome-fg:#eaeef7;--chrome-divider:#eaeef729;--chrome-surface:#0f1730;--a4-width:210mm;--a4-height:297mm;--page-x:13mm;--page-top:13mm;--page-bottom:9mm;--t-name:26pt;--t-role:9.4pt;--t-summary:9.4pt;--t-section:8.6pt;--t-job:10pt;--t-period:8.2pt;--t-meta:8.6pt;--t-bullet:8.6pt;--t-entry:9pt;--t-rail:8.5pt;--t-label:8.2pt;--t-contact:8.4pt;--font:"IBM Plex Sans Variable","IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--font-mono:"IBM Plex Mono",ui-monospace,"Cascadia Mono","Consolas",monospace;--radius-paper:3px;--shadow-paper:0 0 0 1px #00000059,0 18px 40px #00000073,0 40px 90px #00000080;--ease-out:cubic-bezier(0.16,1,0.3,1);--z-toolbar:50;--z-notification:1000;--z-overlay:1500}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-tap-highlight-color:transparent;background:#080d1c;background:var(--chrome-bg);color:#eaeef7;color:var(--chrome-fg);font-family:IBM Plex Sans Variable,IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font);font-weight:400;line-height:1.45;overflow:hidden;overscroll-behavior:none;text-rendering:optimizeLegibility;touch-action:manipulation}body,html{height:100%;width:100%}body{position:fixed}#root{height:100%;width:100%}#root,.app{overflow:hidden}.app{align-items:center;display:flex;flex-direction:column;height:100vh;height:100dvh;justify-content:center;padding:12px;width:100vw}@media screen and (min-width:1200px){.app{padding:16px}}.cv-a4{-webkit-backface-visibility:hidden;backface-visibility:hidden;background:#fff;background:var(--paper);border-radius:3px;border-radius:var(--radius-paper);box-shadow:0 0 0 1px #00000059,0 18px 40px #00000073,0 40px 90px #00000080;box-shadow:var(--shadow-paper);color:#0b1a33;color:var(--ink);contain:layout style paint;display:flex;flex-direction:column;flex-shrink:0;font-size:9.5pt;height:297mm;height:var(--a4-height);line-height:1.45;max-height:297mm;max-height:var(--a4-height);max-width:210mm;max-width:var(--a4-width);overflow:hidden;padding:13mm 13mm 9mm;padding:var(--page-top) var(--page-x) var(--page-bottom);-webkit-transform:translateZ(0);transform-origin:top center;transition:transform .25s cubic-bezier(.16,1,.3,1),margin-bottom .25s cubic-bezier(.16,1,.3,1);transition:transform .25s var(--ease-out),margin-bottom .25s var(--ease-out);width:210mm;width:var(--a4-width);will-change:transform}.cv-a4--exporting,.cv-a4.export{box-shadow:none!important;filter:none!important;margin:0!important;transform:none!important;transition:none!important}.cv-header{grid-gap:8mm;align-items:end;display:grid;flex-shrink:0;gap:8mm;grid-template-columns:minmax(0,1fr) auto;padding-bottom:3.4mm}.cv-header__identity{min-width:0}.cv-header__name{color:#0b1a33;color:var(--ink);font-size:26pt;font-size:var(--t-name);font-weight:500;letter-spacing:-.028em;line-height:1;margin:0 0 1.4mm}.cv-header__role{color:#1a43b8;color:var(--accent-text);font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-family:var(--font-mono);font-size:8.8pt;font-size:calc(var(--t-role) - .6pt);font-weight:500;letter-spacing:.1em;margin:0;text-transform:uppercase;white-space:nowrap}.cv-header__contact{grid-gap:.9mm;color:#38445a;color:var(--body);display:grid;font-size:8.4pt;font-size:var(--t-contact);font-style:normal;gap:.9mm;justify-items:end;line-height:1.35;text-align:right;white-space:nowrap}.cv-header__line{align-items:baseline;display:inline-flex;gap:1.6mm}.cv-header__dot{color:#5c6880;color:var(--muted)}.cv-header__copy{-webkit-appearance:none;appearance:none;background:none;border:0;color:inherit;cursor:pointer;font:inherit;padding:0;transition:color .2s ease}.cv-header__copy:focus-visible,.cv-header__copy:hover{color:#1a43b8;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.cv-header__links{gap:3.4mm}.cv-header__links a{color:#1a43b8;color:var(--accent-text);text-decoration:none;transition:color .2s ease}.cv-header__links a:focus-visible,.cv-header__links a:hover{color:#1d4ed8;color:var(--accent);text-decoration:underline;text-underline-offset:2px}@media (hover:none){.cv-header__copy:hover,.cv-header__links a:hover{color:inherit;text-decoration:none}}.cv-rule{background:linear-gradient(90deg,#1d4ed8 0,#1d4ed8 62mm,#d4dae4 0,#d4dae4);background:linear-gradient(to right,var(--accent) 0,var(--accent) 62mm,var(--divider) 62mm,var(--divider) 100%);flex-shrink:0;height:1.1pt;margin-bottom:4mm}.cv-summary{color:#38445a;color:var(--body);flex-shrink:0;font-size:9.4pt;font-size:var(--t-summary);line-height:1.44;margin:0 0 3.8mm}.cv-summary strong{color:#0b1a33;color:var(--ink);font-weight:600}.cv-columns{grid-gap:8.5mm;display:grid;flex:1 1;gap:8.5mm;grid-template-columns:minmax(0,1.62fr) minmax(0,1fr);min-height:0}.cv-col{min-width:0}.cv-section__title{color:#0b1a33;color:var(--ink);font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-family:var(--font-mono);font-size:8.2pt;font-size:calc(var(--t-section) - .4pt);font-weight:500;letter-spacing:.13em;margin:0 0 3mm;padding-bottom:1.4mm;position:relative;text-transform:uppercase}.cv-section__title:after{background:#1d4ed8;background:var(--accent);bottom:0;content:"";height:1.2pt;left:0;position:absolute;width:14mm}.cv-col--rail .cv-section:not(.cv-section--last){margin-bottom:5mm}.cv-experience{grid-gap:3.2mm;display:grid;gap:3.2mm}.cv-job__head{align-items:baseline;display:flex;gap:3mm;justify-content:space-between}.cv-job__title{color:#0b1a33;color:var(--ink);font-size:10pt;font-size:var(--t-job);font-weight:600;line-height:1.24;margin:0}.cv-job__company{color:inherit;text-decoration:none;transition:color .2s ease}.cv-job__company:focus-visible,.cv-job__company:hover{color:#1a43b8;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.cv-job__period{font-feature-settings:"tnum";color:#5c6880;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-family:var(--font-mono);font-size:7.8pt;font-size:calc(var(--t-period) - .4pt);font-variant-numeric:tabular-nums;font-weight:400;margin:0;white-space:nowrap}.cv-job__context{color:#5c6880;color:var(--muted);font-size:8.6pt;font-size:var(--t-meta);margin:.4mm 0 1.1mm}.cv-job__points{grid-gap:1mm;display:grid;gap:1mm;list-style:none;margin:0;padding-left:3.6mm}.cv-job__points li{color:#38445a;color:var(--body);font-size:8.6pt;font-size:var(--t-bullet);line-height:1.38;padding-left:2.8mm;position:relative}.cv-job__points li:before{background:#1d4ed8;background:var(--accent);border-radius:50%;content:"";height:1.15mm;left:0;position:absolute;top:.55em;width:1.15mm}.cv-entry__body strong,.cv-job__points strong{color:#0b1a33;color:var(--ink);font-weight:600}.cv-stack{grid-gap:2.3mm;display:grid;gap:2.3mm}.cv-stack--tight{gap:2.2mm}.cv-entry__title{color:#0b1a33;color:var(--ink);font-size:9pt;font-size:var(--t-entry);font-weight:600;line-height:1.25;margin:0 0 .4mm}.cv-entry__label{color:#5c6880;color:var(--muted);font-family:IBM Plex Mono,ui-monospace,Cascadia Mono,Consolas,monospace;font-family:var(--font-mono);font-size:7.8pt;font-size:calc(var(--t-label) - .4pt);font-weight:500;letter-spacing:.05em;margin:0 0 .6mm;text-transform:uppercase}.cv-entry__body{color:#38445a;color:var(--body);font-size:8.5pt;font-size:var(--t-rail);line-height:1.38;margin:0}.cv-entry__body--spaced{margin-bottom:1.4mm}@media screen{.cv-header__copy,.cv-header__links a,.cv-job__company{margin-block:-8px;padding-block:8px}}.actions{display:flex;flex-shrink:0;gap:10px;margin-top:18px;z-index:50;z-index:var(--z-toolbar)}.btn{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;appearance:none;background:#0000;border:1px solid #eaeef729;border:1px solid var(--chrome-divider);border-radius:8px;color:#eaeef7;color:var(--chrome-fg);cursor:pointer;display:inline-flex;font-family:IBM Plex Sans Variable,IBM Plex Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-family:var(--font);font-size:14px;font-weight:500;gap:8px;justify-content:center;line-height:1.2;min-height:38px;padding:10px 18px;touch-action:manipulation;transition:background-color .18s ease,color .18s ease,border-color .18s ease;-webkit-user-select:none;user-select:none}.btn__icon{flex-shrink:0;font-size:16px}.btn:hover:not(:disabled){background:#ece9e112}.btn:active:not(:disabled){background:#ece9e124}.btn--primary{border-color:#60a5fa;border-color:var(--accent-on-chrome);color:#60a5fa;color:var(--accent-on-chrome)}.btn--primary:hover:not(:disabled){background:color-mix(in srgb,#60a5fa 14%,#0000);background:color-mix(in srgb,var(--accent-on-chrome) 14%,#0000)}.btn--primary:active:not(:disabled){background:color-mix(in srgb,#60a5fa 24%,#0000);background:color-mix(in srgb,var(--accent-on-chrome) 24%,#0000)}.btn:focus-visible{outline:2px solid #1d4ed8;outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{cursor:progress;opacity:.5}.btn__icon--spin{animation:spin .9s linear infinite}@media (hover:none){.btn--primary:hover:not(:disabled),.btn:hover:not(:disabled){background:#0000}}.pdf-overlay{align-items:center;animation:fade-in .2s cubic-bezier(.16,1,.3,1);animation:fade-in .2s var(--ease-out);backdrop-filter:saturate(140%) blur(6px);-webkit-backdrop-filter:saturate(140%) blur(6px);background:#161826b8;display:flex;inset:0;justify-content:center;position:fixed;z-index:1500;z-index:var(--z-overlay)}.pdf-overlay__card{align-items:center;background:#0f1730;background:var(--chrome-surface);border-radius:14px;box-shadow:0 0 0 1px #43413a,0 6px 18px #0000008c;color:#eaeef7;color:var(--chrome-fg);display:flex;font-size:14px;font-weight:500;gap:12px;padding:14px 22px}.pdf-overlay__spinner{animation:spin .8s linear infinite;border:2px solid #eaeef729;border-radius:50%;border-top-color:#60a5fa;border:2px solid var(--chrome-divider);border-top-color:var(--accent-on-chrome);height:18px;width:18px}.notification{border-radius:999px;box-shadow:0 8px 24px #00000059;font-size:13px;font-weight:500;left:50%;padding:10px 20px;position:fixed;top:calc(env(safe-area-inset-top, 0px) + 16px);transform:translateX(-50%) translateY(-140px);transition:transform .3s cubic-bezier(.16,1,.3,1);transition:transform .3s var(--ease-out);z-index:1000;z-index:var(--z-notification)}.notification.show{transform:translateX(-50%) translateY(0)}.notification.success{background:#0f1730;background:var(--chrome-surface);box-shadow:0 0 0 1px #1d4ed8,0 8px 24px #00000059;box-shadow:0 0 0 1px var(--accent),0 8px 24px #00000059;color:#eaeef7;color:var(--chrome-fg)}.notification.error{background:#5a1f27;box-shadow:0 0 0 1px #d0616f,0 8px 24px #00000059;color:#ffe8ea}.error-boundary{color:#eaeef7;color:var(--chrome-fg);margin:0 auto;max-width:600px;padding:40px;text-align:center}.error-boundary h1{font-size:24px;font-weight:500;margin-bottom:16px}.error-boundary p{color:#e9e9edb3;margin-bottom:24px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media screen and (max-width:420px){.btn{font-size:13px;padding:9px 13px;white-space:nowrap}}@media screen and (max-width:768px){body,html{-webkit-overflow-scrolling:touch;height:auto;overflow-x:hidden;overflow-y:auto;position:static;width:auto}#root,.app{height:auto;overflow:visible}.app{display:block;min-height:100dvh;padding:16px 14px calc(env(safe-area-inset-bottom, 0px) + 92px);width:100%}.cv-a4:not(.cv-a4--exporting){animation:rise .5s cubic-bezier(.16,1,.3,1) both;animation:rise .5s var(--ease-out) both;border-radius:18px;contain:none;font-size:15px;height:auto;margin:0 auto;max-height:none;max-width:620px;overflow:visible;padding:26px 22px 30px;transform:none;transition:none;width:100%;will-change:auto}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.cv-a4:not(.cv-a4--exporting) .cv-header{gap:14px;grid-template-columns:1fr;padding-bottom:16px}.cv-a4:not(.cv-a4--exporting) .cv-header__name{font-size:clamp(28px,8.5vw,38px);margin-bottom:6px}.cv-a4:not(.cv-a4--exporting) .cv-header__role{font-size:12.5px;letter-spacing:.16em;white-space:normal}.cv-a4:not(.cv-a4--exporting) .cv-header__contact{font-size:14px;gap:7px;justify-items:start;text-align:left;white-space:normal}.cv-a4:not(.cv-a4--exporting) .cv-header__line{flex-wrap:wrap;gap:8px}.cv-a4:not(.cv-a4--exporting) .cv-header__line--contacts{align-items:flex-start;flex-direction:column;gap:6px}.cv-a4:not(.cv-a4--exporting) .cv-header__dot{display:none}.cv-a4:not(.cv-a4--exporting) .cv-header__links{gap:16px}.cv-a4:not(.cv-a4--exporting) .cv-rule{background:linear-gradient(90deg,#1d4ed8 0,#1d4ed8 34%,#d4dae4 0,#d4dae4);background:linear-gradient(to right,var(--accent) 0,var(--accent) 34%,var(--divider) 34%,var(--divider) 100%);height:2px;margin-bottom:18px}.cv-a4:not(.cv-a4--exporting) .cv-summary{font-size:15px;line-height:1.6;margin-bottom:26px}.cv-a4:not(.cv-a4--exporting) .cv-columns{display:block;gap:26px;grid-template-columns:1fr}.cv-a4:not(.cv-a4--exporting) .cv-col--main{margin-bottom:26px}.cv-a4:not(.cv-a4--exporting) .cv-section__title{font-size:12px;letter-spacing:.16em;margin-bottom:14px;padding-bottom:7px}.cv-a4:not(.cv-a4--exporting) .cv-section__title:after{height:2px;width:34px}.cv-a4:not(.cv-a4--exporting) .cv-col--rail .cv-section:not(.cv-section--last){margin-bottom:26px}.cv-a4:not(.cv-a4--exporting) .cv-experience{gap:20px}.cv-a4:not(.cv-a4--exporting) .cv-job__head{align-items:flex-start;flex-direction:column;gap:3px}.cv-a4:not(.cv-a4--exporting) .cv-job__title{font-size:16px;order:2}.cv-a4:not(.cv-a4--exporting) .cv-job__period{font-size:11.5px;letter-spacing:.06em;order:1;text-transform:uppercase}.cv-a4:not(.cv-a4--exporting) .cv-job__context{font-size:13.5px;margin:4px 0 8px}.cv-a4:not(.cv-a4--exporting) .cv-job__points{gap:6px;padding-left:0}.cv-a4:not(.cv-a4--exporting) .cv-job__points li{font-size:14.5px;line-height:1.55;padding-left:16px}.cv-a4:not(.cv-a4--exporting) .cv-job__points li:before{height:5px;top:.55em;width:5px}.cv-a4:not(.cv-a4--exporting) .cv-stack,.cv-a4:not(.cv-a4--exporting) .cv-stack--tight{gap:16px}.cv-a4:not(.cv-a4--exporting) .cv-entry__title{font-size:15.5px;margin-bottom:3px}.cv-a4:not(.cv-a4--exporting) .cv-entry__label{font-size:11.5px;margin-bottom:4px}.cv-a4:not(.cv-a4--exporting) .cv-entry__body{font-size:14.5px;line-height:1.55}.cv-a4:not(.cv-a4--exporting) .cv-entry__body--spaced{margin-bottom:8px}.actions{background:#161826db;border-radius:12px;bottom:calc(env(safe-area-inset-bottom, 0px) + 14px);box-shadow:0 0 0 1px #eaeef729;box-shadow:0 0 0 1px var(--chrome-divider);left:50%;margin-top:0;padding:6px;position:fixed;transform:translateX(-50%)}@supports (((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))) or (-webkit-backdrop-filter:blur(1px))){.actions{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}}@page{size:A4 portrait;margin:0}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}body,html{background:#fff!important;background-image:none!important;margin:0!important;padding:0!important;position:static!important}#root,.app,body,html{height:auto!important;overflow:visible!important;width:auto!important}.app{display:block!important;padding:0!important;position:static!important}.cv-a4{border-radius:0!important;box-shadow:none!important;font-size:9.5pt!important;height:297mm!important;height:var(--a4-height)!important;margin:0!important;max-height:297mm!important;max-height:var(--a4-height)!important;max-width:210mm!important;max-width:var(--a4-width)!important;overflow:hidden!important;padding:13mm 13mm 9mm!important;padding:var(--page-top) var(--page-x) var(--page-bottom)!important;page-break-after:avoid!important;transform:none!important;width:210mm!important;width:var(--a4-width)!important}.cv-a4,.cv-columns,.cv-header,.cv-job,.cv-section{page-break-inside:avoid!important}.cv-header{page-break-after:avoid!important}.actions,.notification,.pdf-overlay{display:none!important}}
/*# sourceMappingURL=main.6e3435ce.css.map*/