:root{--color-paper:#fff;--color-ink:#0c0c0d;--color-ink-light:#2e2e30;--color-ink-muted:#5a5a5e;--color-ink-faint:#8a8a90;--color-accent:#0c0c0d;--color-divider:#d7d9de;--color-divider-light:#e9ebef;--color-bg:#e8eaef;--color-bg-accent:#d6dae2;--color-bg-glow:#fff;--brand:#4f46e5;--brand-soft:#4f46e529;--surface-glass:#ffffffa8;--surface-border:#0c0c0d12;--surface-fg:#3a3a3e;--surface-fg-strong:#0c0c0d;--font-display:"Space Grotesk","DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-body:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--a4-width:210mm;--a4-height:297mm;--space-xs:1.5mm;--space-sm:2.5mm;--space-md:4mm;--space-lg:6mm;--space-xl:10mm;--space-2xl:15mm;--margin-page:12mm;--margin-header:5mm;--text-name:24pt;--text-role:9pt;--text-section:8.5pt;--text-body:8.5pt;--text-small:7.5pt;--text-contact:7.5pt;--leading-tight:1.2;--leading-normal:1.4;--leading-relaxed:1.5;--radius-paper:3px;--shadow-paper:0 0 0 1px #0c0c0d0a,0 2px 6px #0c0c0d0d,0 12px 28px #0c0c0d17,0 30px 64px #0c0c0d1c;--ease-out:cubic-bezier(0.16,1,0.3,1);--z-toolbar:50;--z-notification:1000;--z-overlay:1500}@media (prefers-color-scheme:dark){:root{--color-bg:#0e1014;--color-bg-accent:#04050a;--color-bg-glow:#1b1f2a;--surface-glass:#1c1e269e;--surface-border:#ffffff1a;--surface-fg:#c9cbd4;--surface-fg-strong:#fff;--shadow-paper:0 0 0 1px #0006,0 18px 40px #00000080,0 40px 90px #0000008c}}*,: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:radial-gradient(1200px 620px at 50% -12%,#fff 0,#fff0 62%),linear-gradient(180deg,#e8eaef,#d6dae2);background:radial-gradient(1200px 620px at 50% -12%,var(--color-bg-glow) 0,#fff0 62%),linear-gradient(180deg,var(--color-bg) 0,var(--color-bg-accent) 100%);background-attachment:fixed;color:#0c0c0d;color:var(--color-ink);font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-weight:400;line-height:1.4;line-height:var(--leading-normal);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(--color-paper);border-radius:3px;border-radius:var(--radius-paper);box-shadow:0 0 0 1px #0c0c0d0a,0 2px 6px #0c0c0d0d,0 12px 28px #0c0c0d17,0 30px 64px #0c0c0d1c;box-shadow:var(--shadow-paper);color:#0c0c0d;color:var(--color-ink);contain:layout style paint;display:flex;flex-direction:column;flex-shrink:0;height:297mm;height:var(--a4-height);max-height:297mm;max-height:var(--a4-height);max-width:210mm;max-width:var(--a4-width);overflow:hidden;-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{align-items:flex-end;border-bottom:1px solid #d7d9de;border-bottom:1px solid var(--color-divider);display:flex;flex-shrink:0;gap:2.5mm;gap:var(--space-sm);justify-content:space-between;padding:8mm 12mm 5mm;padding:8mm var(--margin-page) var(--margin-header)}.cv-header__identity{flex:1 1;min-width:0}.cv-header__name{-webkit-text-fill-color:#0c0c0d!important;background:none!important;color:#0c0c0d!important;font-size:24pt;font-size:var(--text-name);font-weight:700;letter-spacing:-.02em;line-height:1.06;margin-bottom:.8mm}.cv-header__name,.cv-header__role{font-family:Space Grotesk,DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-display)}.cv-header__role{-webkit-text-fill-color:#555558!important;color:#555558!important;font-size:9pt;font-size:var(--text-role);font-weight:500;letter-spacing:.16em;line-height:1.15;text-transform:uppercase}.cv-header__contact{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;font-style:normal;gap:.6mm}.cv-header__contact-item,.cv-header__social{-webkit-tap-highlight-color:transparent;align-items:center;-webkit-appearance:none;appearance:none;background:none;border:none;color:#2e2e30;color:var(--color-ink-light);cursor:pointer;display:inline-flex;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:7.5pt;font-size:var(--text-contact);font-weight:500;gap:1.4mm;padding:0;text-decoration:none;touch-action:manipulation;transition:color .2s ease}.cv-header__contact-icon{color:#5a5a5e;color:var(--color-ink-muted);flex-shrink:0;font-size:1.05em}.cv-header__contact-item:focus-visible,.cv-header__contact-item:hover,.cv-header__social:focus-visible,.cv-header__social:hover{color:#0c0c0d;color:var(--color-ink)}.cv-header__contact-item:hover .cv-header__contact-text,.cv-header__social:hover .cv-header__contact-text{text-decoration:underline;text-underline-offset:2px}.cv-header__contact-item:focus-visible,.cv-header__social:focus-visible{border-radius:2px;outline:2px solid #0c0c0d;outline:2px solid var(--color-ink);outline-offset:3px}.cv-header__socials{display:flex;flex-wrap:wrap;gap:2.5mm;gap:var(--space-sm);justify-content:flex-end;margin-top:.6mm}@media (hover:none){.cv-header__contact-item:hover{color:#2e2e30;color:var(--color-ink-light)}.cv-header__contact-item:hover .cv-header__contact-text{text-decoration:none}}.cv-body{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden;padding:2.5mm 12mm 12mm;padding:var(--space-sm) var(--margin-page) var(--margin-page)}.cv-body>.cv-section:first-child{margin-bottom:2.5mm;margin-bottom:var(--space-sm);padding-bottom:2.5mm;padding-bottom:var(--space-sm)}.cv-body>.cv-section:first-child .cv-section__title{margin-bottom:1mm;padding-bottom:.5mm}.cv-body>.cv-section:first-child .cv-section__content>p{line-height:1.4;line-height:var(--leading-normal)}.cv-section{flex-shrink:0}.cv-section:not(:last-child){border-bottom:1px solid #e9ebef;border-bottom:1px solid var(--color-divider-light);margin-bottom:4mm;margin-bottom:var(--space-md);padding-bottom:4mm;padding-bottom:var(--space-md)}.cv-section:last-child{flex-shrink:1;min-height:0}.cv-section__title{color:#0c0c0d;color:var(--color-ink);font-family:Space Grotesk,DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-display);font-size:8.5pt;font-size:var(--text-section);font-weight:700;letter-spacing:.14em;margin-bottom:2.5mm;margin-bottom:var(--space-sm);padding-bottom:1.5mm;padding-bottom:var(--space-xs);position:relative;text-transform:uppercase}.cv-section__title:after{background:#0c0c0d;background:var(--color-accent);bottom:0;content:"";height:1.5px;left:0;position:absolute;width:16mm}.cv-section__content,.cv-section__content>p{color:#2e2e30;color:var(--color-ink-light);font-size:8.5pt;font-size:var(--text-body);line-height:1.5;line-height:var(--leading-relaxed)}.cv-section__content>p{-webkit-hyphens:auto;hyphens:auto;text-align:justify}.cv-section__content strong{color:#0c0c0d;color:var(--color-ink);font-weight:700}.cv-experience{display:flex;flex-direction:column}.cv-experience,.cv-job{gap:2.5mm;gap:var(--space-sm)}.cv-job{grid-gap:2.5mm;grid-gap:var(--space-sm);align-items:start;display:grid;grid-template-columns:28mm 1fr}.cv-job__period{color:#0c0c0d;color:var(--color-ink);font-size:7.5pt;font-size:var(--text-small);font-weight:600;padding-top:.5mm;white-space:nowrap}.cv-job__content{min-width:0}.cv-job__header{align-items:baseline;display:flex;flex-wrap:wrap;gap:1.5mm;gap:var(--space-xs);margin-bottom:.8mm}.cv-job__company{color:#0c0c0d;color:var(--color-ink);font-size:8.5pt;font-size:var(--text-body);font-weight:700}.cv-job__company-link{color:inherit;text-decoration:none;transition:color .2s ease}.cv-job__company-link:focus-visible,.cv-job__company-link:hover{text-decoration:underline;text-underline-offset:2px}.cv-job__separator{color:#5a5a5e;color:var(--color-ink-muted);font-weight:400}.cv-job__position{color:#2e2e30;color:var(--color-ink-light);font-size:8.5pt;font-size:var(--text-body);font-weight:500}.cv-job__achievements{list-style:none;margin:0;padding-left:4mm}.cv-job__achievements li{color:#2e2e30;color:var(--color-ink-light);font-size:7.5pt;font-size:var(--text-small);line-height:1.4;line-height:var(--leading-normal);margin-bottom:.6mm;padding-left:3mm;position:relative}.cv-job__achievements li:before{border:1.1px solid #5a5a5e;border:1.1px solid var(--color-ink-muted);border-radius:50%;content:"";height:1.4mm;left:0;position:absolute;top:.62em;width:1.4mm}.cv-job__achievements li:last-child{margin-bottom:0}.cv-job__achievements strong{color:#0c0c0d;color:var(--color-ink);font-weight:700}.cv-skills{grid-gap:1.5mm 3mm;display:grid;gap:1.5mm 3mm;grid-template-columns:repeat(3,1fr);list-style:none;margin:0;padding:0}.cv-skills li{color:#2e2e30;color:var(--color-ink-light);font-size:7.5pt;font-size:var(--text-small);font-weight:500;line-height:1.2;line-height:var(--leading-tight);padding-left:3mm;position:relative}.cv-skills li:before{background:#5a5a5e;background:var(--color-ink-muted);border-radius:50%;content:"";height:1.3mm;left:0;position:absolute;top:.5em;width:1.3mm}.cv-skills strong{color:#0c0c0d;color:var(--color-ink);font-weight:700}.cv-education{display:flex;flex-direction:column;gap:1.5mm;gap:var(--space-xs)}.cv-edu{grid-gap:2.5mm;grid-gap:var(--space-sm);align-items:baseline;display:grid;gap:2.5mm;gap:var(--space-sm);grid-template-columns:28mm 1fr}.cv-edu__period{color:#0c0c0d;color:var(--color-ink);font-size:7.5pt;font-size:var(--text-small);font-weight:600}.cv-edu__content{min-width:0}.cv-edu__degree{color:#0c0c0d;color:var(--color-ink);font-size:8.5pt;font-size:var(--text-body);font-weight:700;margin-bottom:.3mm}.cv-edu__institution{color:#2e2e30;color:var(--color-ink-light);font-size:7.5pt;font-size:var(--text-small)}.actions{backdrop-filter:saturate(150%) blur(12px);-webkit-backdrop-filter:saturate(150%) blur(12px);background:#ffffffa8;background:var(--surface-glass);border:1px solid #0c0c0d12;border:1px solid var(--surface-border);border-radius:999px;box-shadow:0 1px 2px #0c0c0d0d,0 10px 26px #0c0c0d1a;display:flex;flex-shrink:0;gap:8px;margin-top:16px;padding:6px;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 #0000;border-radius:999px;color:#3a3a3e;color:var(--surface-fg);cursor:pointer;display:inline-flex;font-family:DM Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-family:var(--font-body);font-size:13.5px;font-weight:600;gap:8px;justify-content:center;letter-spacing:.01em;line-height:1.2;min-height:38px;padding:9px 20px;touch-action:manipulation;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .12s ease;-webkit-user-select:none;user-select:none}.btn__icon{flex-shrink:0;font-size:16px}.btn:hover:not(:disabled){background:#0c0c0d;background:var(--surface-fg-strong);border-color:#0c0c0d;border-color:var(--surface-fg-strong);box-shadow:0 2px 8px #0c0c0d38;color:#fff;color:var(--color-paper)}@media (prefers-color-scheme:dark){.btn:hover:not(:disabled){color:#0c0c0d}}.btn:active:not(:disabled){transform:translateY(1px)}.btn--primary{background:#0c0c0d;background:var(--surface-fg-strong);border-color:#0c0c0d;border-color:var(--surface-fg-strong);color:#fff;color:var(--color-paper)}@media (prefers-color-scheme:dark){.btn--primary{color:#0c0c0d}}.btn--primary:hover:not(:disabled){box-shadow:0 4px 16px #4f46e529,0 2px 8px #0c0c0d40;box-shadow:0 4px 16px var(--brand-soft),0 2px 8px #0c0c0d40}.btn:focus-visible{outline:2px solid #4f46e5;outline:2px solid var(--brand);outline-offset:2px}.btn:disabled{cursor:progress;opacity:.6}.btn__icon--spin{animation:spin .9s linear infinite}@media (hover:none){.btn:hover:not(:disabled){background:#0000;border-color:#0000;box-shadow:none;color:#3a3a3e;color:var(--surface-fg)}.btn--primary:hover:not(:disabled){background:#0c0c0d;background:var(--surface-fg-strong);border-color:#0c0c0d;border-color:var(--surface-fg-strong);color:#fff;color:var(--color-paper)}}.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:#e8eaef9e;display:flex;inset:0;justify-content:center;position:fixed;z-index:1500;z-index:var(--z-overlay)}@media (prefers-color-scheme:dark){.pdf-overlay{background:#08090ca8}}.pdf-overlay__card{align-items:center;background:#ffffffa8;background:var(--surface-glass);border:1px solid #0c0c0d12;border:1px solid var(--surface-border);border-radius:14px;box-shadow:0 12px 32px #0c0c0d29;color:#0c0c0d;color:var(--surface-fg-strong);display:flex;font-size:14px;font-weight:600;gap:12px;padding:14px 22px}.pdf-overlay__spinner{animation:spin .8s linear infinite;border:2px solid #0c0c0d12;border-radius:50%;border-top-color:#4f46e5;border:2px solid var(--surface-border);border-top-color:var(--brand);height:18px;width:18px}.notification{border-radius:999px;box-shadow:0 8px 24px #0000002e;font-size:13px;font-weight:600;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:#0c0c0d;background:var(--color-ink);color:#fff;color:var(--color-paper)}.notification.error{background:#d92d3a;color:#fff}.error-boundary{color:#0c0c0d;color:var(--surface-fg-strong);margin:0 auto;max-width:600px;padding:40px;text-align:center}.error-boundary h1{font-size:24px;margin-bottom:16px}.error-boundary p{color:#3a3a3e;color:var(--surface-fg);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;height:auto;margin:0 auto;max-height:none;max-width:620px;overflow:visible;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{align-items:stretch;flex-direction:column;gap:14px;padding:26px 22px 18px}.cv-a4:not(.cv-a4--exporting) .cv-header__name{font-size:clamp(28px,8.5vw,38px);margin-bottom:4px}.cv-a4:not(.cv-a4--exporting) .cv-header__role{font-size:12.5px;letter-spacing:.18em}.cv-a4:not(.cv-a4--exporting) .cv-header__contact{align-items:stretch;gap:9px}.cv-a4:not(.cv-a4--exporting) .cv-header__contact-item,.cv-a4:not(.cv-a4--exporting) .cv-header__social{font-size:14px;gap:9px;min-height:26px}.cv-a4:not(.cv-a4--exporting) .cv-header__contact-icon{font-size:16px}.cv-a4:not(.cv-a4--exporting) .cv-header__socials{gap:18px;justify-content:flex-start;margin-top:2px}.cv-a4:not(.cv-a4--exporting) .cv-body{display:block;overflow:visible;padding:18px 22px 26px}.cv-a4:not(.cv-a4--exporting) .cv-section:not(:last-child){margin-bottom:20px;padding-bottom:20px}.cv-a4:not(.cv-a4--exporting) .cv-section__title{font-size:12px;letter-spacing:.16em;margin-bottom:12px;padding-bottom:6px}.cv-a4:not(.cv-a4--exporting) .cv-section__title:after{height:2px;width:34px}.cv-a4:not(.cv-a4--exporting) .cv-section__content,.cv-a4:not(.cv-a4--exporting) .cv-section__content>p{font-size:15px;line-height:1.62;text-align:left}.cv-a4:not(.cv-a4--exporting) .cv-experience{gap:20px}.cv-a4:not(.cv-a4--exporting) .cv-edu,.cv-a4:not(.cv-a4--exporting) .cv-job{gap:6px;grid-template-columns:1fr}.cv-a4:not(.cv-a4--exporting) .cv-edu__period,.cv-a4:not(.cv-a4--exporting) .cv-job__period{color:#5a5a5e;color:var(--color-ink-muted);font-size:11.5px;letter-spacing:.06em;text-transform:uppercase}.cv-a4:not(.cv-a4--exporting) .cv-job__company,.cv-a4:not(.cv-a4--exporting) .cv-job__position{font-size:15.5px}.cv-a4:not(.cv-a4--exporting) .cv-job__achievements li{font-size:14.5px;line-height:1.55;margin-bottom:5px;padding-left:18px}.cv-a4:not(.cv-a4--exporting) .cv-job__achievements li:before{height:6px;top:.5em;width:6px}.cv-a4:not(.cv-a4--exporting) .cv-skills{gap:9px 18px;grid-template-columns:repeat(2,1fr)}.cv-a4:not(.cv-a4--exporting) .cv-skills li{font-size:14px;line-height:1.35;padding-left:16px}.cv-a4:not(.cv-a4--exporting) .cv-skills li:before{height:5px;width:5px}.cv-a4:not(.cv-a4--exporting) .cv-edu__degree{font-size:15.5px}.cv-a4:not(.cv-a4--exporting) .cv-edu__institution{font-size:14px}.actions{bottom:calc(env(safe-area-inset-bottom, 0px) + 14px);left:50%;margin-top:0;position:fixed;transform:translateX(-50%)}}@media screen and (max-width:400px){.cv-a4:not(.cv-a4--exporting) .cv-skills{grid-template-columns:1fr}}@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;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;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;page-break-after:avoid!important;transform:none!important;width:210mm!important;width:var(--a4-width)!important}.cv-a4,.cv-body,.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.4f1841e9.css.map*/