@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-cyrillic-ext-wght-normal.b5cdd4765614e027c252.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:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-cyrillic-wght-normal.49594fb515ba00213fc3.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:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-greek-ext-wght-normal.f4df85d151e5ee39bc2b.woff2) format("woff2-variations");unicode-range:u+1f??}@font-face{font-display:swap;font-family:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-greek-wght-normal.4f908aee8194b11d9c35.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:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-vietnamese-wght-normal.ab4bb8dcda024fe6eff2.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:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-latin-ext-wght-normal.8bff79fbfaa8b8167a0b.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:Inter Variable;font-style:normal;font-weight:100 900;src:url(/static/media/inter-latin-wght-normal.4f2981d82860061bca3e.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}:root{--paper:#fff;--ink:#292b31;--body:#3f424d;--muted:#595d6c;--divider:#cfd3e5;--accent:#9184d9;--accent-text:#5d5294;--chrome-bg:#161826;--chrome-glow:#262a60;--chrome-fg:#e9e9ed;--chrome-divider:#e9e9ed29;--chrome-surface:#232532;--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:"Inter Variable",Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--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{font-feature-settings:"cv11","ss01";-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:#161826;background:var(--chrome-bg);background-attachment:fixed;background-image:radial-gradient(70% 55% at 50% -8%,#262a60,#0000 68%);background-image:radial-gradient(70% 55% at 50% -8%,var(--chrome-glow),#0000 68%);color:#e9e9ed;color:var(--chrome-fg);font-family:Inter Variable,Inter,-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:#292b31;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:#292b31;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:#5d5294;color:var(--accent-text);font-size:9.4pt;font-size:var(--t-role);font-weight:500;letter-spacing:.12em;margin:0;text-transform:uppercase;white-space:nowrap}.cv-header__contact{grid-gap:.9mm;color:#3f424d;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:#595d6c;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:#5d5294;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.cv-header__links{gap:3.4mm}.cv-header__links a{color:#5d5294;color:var(--accent-text);text-decoration:none;transition:color .2s ease}.cv-header__links a:focus-visible,.cv-header__links a:hover{color:#9184d9;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,#9184d9 0,#9184d9 62mm,#cfd3e5 0,#cfd3e5);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:#3f424d;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:#292b31;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:#292b31;color:var(--ink);font-size:8.6pt;font-size:var(--t-section);font-weight:600;letter-spacing:.15em;margin:0 0 3mm;padding-bottom:1.4mm;position:relative;text-transform:uppercase}.cv-section__title:after{background:#9184d9;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:4mm}.cv-experience{grid-gap:2.5mm;display:grid;gap:2.5mm}.cv-job__head{align-items:baseline;display:flex;gap:3mm;justify-content:space-between}.cv-job__title{color:#292b31;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:#5d5294;color:var(--accent-text);text-decoration:underline;text-underline-offset:2px}.cv-job__period{font-feature-settings:"tnum";color:#595d6c;color:var(--muted);font-size:8.2pt;font-size:var(--t-period);font-variant-numeric:tabular-nums;font-weight:500;margin:0;white-space:nowrap}.cv-job__context{color:#595d6c;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:#3f424d;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:#9184d9;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:#292b31;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:#292b31;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:#595d6c;color:var(--muted);font-size:8.2pt;font-size:var(--t-label);font-weight:600;letter-spacing:.05em;margin:0 0 .6mm;text-transform:uppercase}.cv-entry__body{color:#3f424d;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}.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 #e9e9ed29;border:1px solid var(--chrome-divider);border-radius:8px;color:#e9e9ed;color:var(--chrome-fg);cursor:pointer;display:inline-flex;font-family:Inter Variable,Inter,-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:#e9e9ed12}.btn:active:not(:disabled){background:#e9e9ed24}.btn--primary{border-color:#9184d9;border-color:var(--accent);color:#9184d9;color:var(--accent)}.btn--primary:hover:not(:disabled){background:#9184d91f}.btn--primary:active:not(:disabled){background:#9184d938}.btn:focus-visible{outline:2px solid #9184d9;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:#232532;background:var(--chrome-surface);border-radius:14px;box-shadow:0 0 0 1px #595d6c,0 6px 18px #0000008c;color:#e9e9ed;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 #e9e9ed29;border-radius:50%;border-top-color:#9184d9;border:2px solid var(--chrome-divider);border-top-color:var(--accent);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:#232532;background:var(--chrome-surface);box-shadow:0 0 0 1px #9184d9,0 8px 24px #00000059;box-shadow:0 0 0 1px var(--accent),0 8px 24px #00000059;color:#e9e9ed;color:var(--chrome-fg)}.notification.error{background:#5a1f27;box-shadow:0 0 0 1px #d0616f,0 8px 24px #00000059;color:#ffe8ea}.error-boundary{color:#e9e9ed;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: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,#9184d9 0,#9184d9 34%,#cfd3e5 0,#cfd3e5);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 #e9e9ed29;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.2d4116c7.css.map*/