.user-auth[data-v-4f422956]{position:relative}.login-btn[data-v-4f422956]{background:none;border:1px solid var(--color-text-secondary);border-radius:var(--mono-radius);color:var(--color-text-secondary);cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.login-btn[data-v-4f422956]:hover{background:var(--color-text-secondary);color:#fff}.user-section[data-v-4f422956]{position:relative}.user-dropdown[data-v-4f422956]{align-items:center;border-radius:var(--mono-radius);cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .3s ease}.user-dropdown[data-v-4f422956]:hover{background-color:var(--color-bg-hover)}.username[data-v-4f422956]{color:var(--color-text-secondary);font-weight:500}.dropdown-icon[data-v-4f422956]{transition:transform .3s ease}.dropdown-icon.rotated[data-v-4f422956]{transform:rotate(180deg)}.user-menu[data-v-4f422956]{background:#fff;border:1px solid var(--color-border);border-radius:var(--mono-radius);box-shadow:none;min-width:120px;position:absolute;right:0;top:120%;z-index:1000}.menu-item[data-v-4f422956]{cursor:pointer;padding:.75rem 1rem;transition:background-color .3s ease}.menu-item[data-v-4f422956]:hover{background-color:var(--color-bg-hover)}.menu-item.admin-entry[data-v-4f422956]{color:var(--color-brand);font-weight:600}.menu-item.admin-entry[data-v-4f422956]:hover{background-color:var(--color-bg-hover)}.modal-overlay[data-v-4f422956]{align-items:center;background:var(--color-bg-overlay);display:flex;height:100vh;justify-content:center;left:0;margin:0;padding:0;position:fixed;top:0;width:100vw;z-index:9999}.modal-content[data-v-4f422956]{background:#fff;border-radius:var(--mono-radius);max-height:90vh;max-width:400px;overflow-y:auto;width:90%}.modal-header[data-v-4f422956]{align-items:center;border-bottom:1px solid var(--color-border);display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3[data-v-4f422956]{color:var(--color-text-secondary);margin:0}.close-btn[data-v-4f422956]{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:30px;justify-content:center;width:30px}.close-btn[data-v-4f422956]:hover{background-color:var(--color-bg-hover);border-radius:var(--mono-radius)}.modal-body[data-v-4f422956]{padding:1.5rem}.form-group[data-v-4f422956]{margin-bottom:1rem}.form-group label[data-v-4f422956]{color:var(--color-text-secondary);display:block;font-weight:500;margin-bottom:.5rem}.form-input[data-v-4f422956]{border:1px solid var(--color-border);border-radius:var(--mono-radius);box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.form-input[data-v-4f422956]:focus{border-color:var(--color-brand);outline:none}.code-input-group[data-v-4f422956]{display:flex;gap:.5rem}.code-input[data-v-4f422956]{flex:1}.code-btn[data-v-4f422956]{background:var(--color-brand);border:none;border-radius:var(--mono-radius);color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;white-space:nowrap}.code-btn[data-v-4f422956]:disabled{background:var(--color-border);cursor:not-allowed}.code-btn[data-v-4f422956]:not(:disabled):hover{background:var(--color-brand-light)}.login-submit-btn[data-v-4f422956]{background:var(--color-brand);border:none;border-radius:var(--mono-radius);color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem;width:100%}.login-submit-btn[data-v-4f422956]:disabled{background:var(--color-border);cursor:not-allowed}.login-submit-btn[data-v-4f422956]:not(:disabled):hover{background:var(--color-brand-light)}.error-message[data-v-4f422956]{color:var(--color-text-primary);font-size:.9rem;margin-top:1rem;text-align:center}.avatar-section[data-v-4f422956]{align-items:center;display:flex;gap:1rem}.current-avatar[data-v-4f422956]{border:2px solid var(--color-border);border-radius:var(--mono-radius);height:80px;overflow:hidden;width:80px}.avatar-preview[data-v-4f422956]{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.avatar-placeholder[data-v-4f422956]{align-items:center;background:var(--color-brand);color:#fff;display:flex;font-size:24px;font-weight:700;height:100%;justify-content:center;width:100%}.avatar-actions[data-v-4f422956]{display:flex;flex-direction:column;gap:.5rem}.avatar-upload-btn[data-v-4f422956]{background:var(--color-brand);border:none;border-radius:var(--mono-radius);color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .3s ease}.avatar-upload-btn[data-v-4f422956]:disabled{background:var(--color-border);cursor:not-allowed}.avatar-upload-btn[data-v-4f422956]:not(:disabled):hover{background:var(--color-brand-light)}.avatar-remove-btn[data-v-4f422956]{background:var(--color-text-primary);border:none;border-radius:var(--mono-radius);color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .3s ease}.avatar-remove-btn[data-v-4f422956]:hover{background:var(--color-bg-hover)}.modal-enter-active[data-v-4f422956],.modal-leave-active[data-v-4f422956]{transition:all .3s ease}.modal-enter-from[data-v-4f422956],.modal-leave-to[data-v-4f422956]{opacity:0}.modal-enter-active .modal-content[data-v-4f422956],.modal-leave-active .modal-content[data-v-4f422956]{transition:all .3s ease}.modal-enter-from .modal-content[data-v-4f422956],.modal-leave-to .modal-content[data-v-4f422956]{opacity:0;transform:scale(.8) translateY(-20px)}.modal-enter-to .modal-content[data-v-4f422956]{opacity:1;transform:scale(1) translateY(0)}.menu-enter-active[data-v-4f422956],.menu-leave-active[data-v-4f422956]{transform-origin:top right;transition:all .25s ease}.menu-enter-from[data-v-4f422956],.menu-leave-to[data-v-4f422956]{opacity:0;transform:scale(.95)}.menu-enter-to[data-v-4f422956],.menu-leave-from[data-v-4f422956]{opacity:1;transform:scale(1)}@font-face{font-family:Barlow;src:local("Barlow Regular"),local("Barlow"),url(../fonts/barlow.ttf) format(truetype);font-display:swap;font-weight:400;font-style:normal}
@font-face{font-family:"Barlow Fallback: Arial";src:local("Arial");size-adjust:96.68%;ascent-override:103.4341%;descent-override:20.6868%;line-gap-override:0%}
.navbar[data-v-1245d550]{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);box-sizing:border-box;left:0;padding:0 2rem;position:fixed;top:0;transition:background-color var(--mono-duration) ease,border-color var(--mono-duration) ease,top var(--mono-duration) ease;width:calc(100% - var(--scrollbar-width, 17px));z-index:1000}.navbar-container[data-v-1245d550]{align-items:center;display:flex;height:70px;justify-content:space-between;margin:0 auto;max-width:calc(100vw - 120px)}.navbar-content[data-v-1245d550]{align-items:center;display:flex;gap:2rem;position:relative;transition:gap var(--mono-duration) ease,padding-top var(--mono-duration) ease,transform var(--mono-duration) ease}.navbar-brand[data-v-1245d550]{color:var(--color-text-secondary);font-family:Barlow, "Barlow Fallback: Arial"!important;font-size:1.5rem;letter-spacing:.5px;transition:font-size var(--mono-duration) ease,padding-top var(--mono-duration) ease}.navbar-brand[data-v-1245d550],.navbar-left[data-v-1245d550]{flex-shrink:0;white-space:nowrap}.navbar-left[data-v-1245d550]{gap:1rem}.navbar-left[data-v-1245d550],.navbar-nav[data-v-1245d550]{align-items:center;display:flex}.navbar-nav[data-v-1245d550]{gap:2rem;transition:gap var(--mono-duration) ease,padding-top var(--mono-duration) ease,transform var(--mono-duration) ease}.navbar-resume-entry[data-v-1245d550]{align-items:center;background:transparent;border:1px solid;border-radius:var(--mono-radius);color:var(--color-text-secondary);cursor:pointer;display:inline-flex;flex-shrink:0;font-family:inherit;font-size:.86rem;font-weight:600;justify-content:center;letter-spacing:.1em;line-height:1.2;margin-left:5px;padding:.22rem .48rem;text-decoration:none;transition:opacity var(--mono-duration) ease,background-color var(--mono-duration) ease}.navbar-resume-entry.active[data-v-1245d550],.navbar-resume-entry[data-v-1245d550]:hover{background:var(--color-bg-hover);opacity:1}.navbar.version-entry-moving[data-v-1245d550],.navbar.version-entry-moving .navbar-brand[data-v-1245d550],.navbar.version-entry-moving .navbar-content[data-v-1245d550],.navbar.version-entry-moving .navbar-left[data-v-1245d550],.navbar.version-entry-moving .navbar-resume-entry[data-v-1245d550]{transition:none}.navbar.version-entry-moving .navbar-resume-entry[data-v-1245d550]{visibility:hidden}.dark-mode-toggle[data-v-1245d550],.locale-toggle[data-v-1245d550]{align-items:center;background:none;border:none;border-radius:var(--mono-radius);color:var(--color-text-secondary);cursor:pointer;display:flex;height:28px;justify-content:center;padding:4px;transition:background-color var(--mono-duration) ease,color var(--mono-duration) ease;width:28px}.dark-mode-toggle[data-v-1245d550]:hover,.locale-toggle[data-v-1245d550]:hover{background:var(--color-bg-hover)}.locale-picker[data-v-1245d550]{align-items:center;display:flex;position:relative}.locale-glyph[data-v-1245d550]{display:block;font-size:10px;font-weight:700;height:17px;letter-spacing:0;line-height:1;position:relative;width:17px}.locale-glyph span[data-v-1245d550]{position:absolute}.locale-glyph span[data-v-1245d550]:first-child{left:0;top:1px}.locale-glyph span[data-v-1245d550]:last-child{bottom:0;right:0}.locale-menu[data-v-1245d550]{background:var(--color-bg-modal);border:1px solid var(--color-border);border-radius:var(--mono-radius);box-shadow:none;min-width:118px;padding:6px;position:absolute;right:0;top:calc(100% + 10px);z-index:1002}.locale-menu-item[data-v-1245d550]{background:transparent;border:none;border-radius:var(--mono-radius);color:var(--color-text-secondary);cursor:pointer;font-size:.86rem;letter-spacing:.06em;line-height:1.2;padding:8px 10px;text-align:left;transition:background-color var(--mono-duration) ease,color var(--mono-duration) ease;width:100%}.locale-menu-item.active[data-v-1245d550],.locale-menu-item[data-v-1245d550]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.locale-menu-enter-active[data-v-1245d550],.locale-menu-leave-active[data-v-1245d550]{transition:opacity var(--mono-duration) ease,transform var(--mono-duration) ease}.locale-menu-enter-from[data-v-1245d550],.locale-menu-leave-to[data-v-1245d550]{opacity:0;transform:translateY(-4px)}.navbar.index[data-v-1245d550]{background:transparent;border-bottom-color:transparent}.navbar.index-container[data-v-1245d550]{justify-content:space-around;max-width:calc(100vw - 120px)}.navbar.index .navbar-brand[data-v-1245d550]{font-size:2rem;padding-top:2rem}.navbar.index .navbar-left[data-v-1245d550]{padding-top:2rem}.navbar.index .navbar-brand[data-v-1245d550]{padding-top:0}.navbar.index .navbar-resume-entry[data-v-1245d550]{font-size:1rem;text-shadow:0 2px 8px rgba(0,0,0,.15)}.navbar.index .navbar-content[data-v-1245d550]{padding-top:2rem}.navbar.index .navbar-nav[data-v-1245d550]{gap:3rem}.navbar.index .dark-mode-toggle[data-v-1245d550],.navbar.index .locale-toggle[data-v-1245d550]{font-size:1.2rem}.nav-link[data-v-1245d550]{color:var(--color-text-secondary);font-size:.85rem;font-weight:400;letter-spacing:.18em;padding:.5rem 0;position:relative;text-decoration:none;text-transform:uppercase;transition:color var(--mono-duration) ease,font-size var(--mono-duration) ease}.nav-link[data-v-1245d550]:hover{color:var(--color-text-primary)}.nav-link[data-v-1245d550]:hover:after{width:calc(100% - .18em)}.nav-link.router-link-active[data-v-1245d550]{color:var(--color-text-primary)}.nav-link.router-link-active[data-v-1245d550]:after{width:calc(100% - .18em)}.nav-link[data-v-1245d550]:after{background-color:currentColor;bottom:0;content:"";height:1px;left:0;position:absolute;transition:width var(--mono-duration) ease;width:0}.nav-link.is-loading[data-v-1245d550]{animation:nav-link-pulse-1245d550 1.1s ease-in-out infinite}.nav-link.is-loading[data-v-1245d550]:after{width:calc(100% - .18em)}@keyframes nav-link-pulse-1245d550{0%,to{opacity:1}50%{opacity:.45}}.navbar.index .nav-link[data-v-1245d550]{font-size:1rem}.navbar.index .nav-link[data-v-1245d550],.navbar.index .navbar-brand[data-v-1245d550]{text-shadow:0 2px 8px rgba(0,0,0,.15)}.navbar.resume-route[data-v-1245d550]{position:static;width:100%}.navbar.scrolled[data-v-1245d550]{top:-70px}.navbar.resume-route.scrolled[data-v-1245d550]{top:auto}.navbar.resume-route .navbar-container[data-v-1245d550]{max-width:min(1180px,100vw - 48px)}.user-auth-enter-active[data-v-1245d550],.user-auth-leave-active[data-v-1245d550]{overflow:hidden;transition:all var(--mono-duration) ease}.user-auth-enter-from[data-v-1245d550],.user-auth-leave-to[data-v-1245d550]{opacity:0;transform:scaleX(0);transform-origin:right;width:0}.user-auth-enter-to[data-v-1245d550],.user-auth-leave-from[data-v-1245d550]{opacity:1;transform:scaleX(1);width:auto}.mobile-menu-toggle[data-v-1245d550]{background:transparent;border:none;cursor:pointer;display:none;flex-direction:column;height:18px;justify-content:space-around;padding:0;width:24px;z-index:1001}.mobile-menu-toggle .hamburger-line[data-v-1245d550]{background-color:currentColor;height:2px;transform-origin:center;transition:all .3s ease;width:100%}.mobile-menu-toggle .hamburger-line.active[data-v-1245d550]:first-child{transform:rotate(45deg) translate(6px,3px)}.mobile-menu-toggle .hamburger-line.active[data-v-1245d550]:nth-child(2){opacity:0}.mobile-menu-toggle .hamburger-line.active[data-v-1245d550]:nth-child(3){transform:rotate(-45deg) translate(6px,-3px)}@media (max-width:768px){.navbar[data-v-1245d550]{padding:0}.navbar-container[data-v-1245d550]{margin:0;max-width:100vw}.navbar-brand[data-v-1245d550]{font-size:1.25rem}.navbar-left[data-v-1245d550]{gap:.5rem;margin-left:20px}.navbar .navbar-resume-entry[data-v-1245d550]{font-size:.76rem;padding:.18rem .36rem}.navbar-content[data-v-1245d550]{gap:1rem;position:relative}.navbar-nav[data-v-1245d550]{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--mono-radius);flex-direction:column;opacity:0;padding:1rem 0;position:absolute;right:20px;top:70px;transform:translateY(-10px);transition:all var(--mono-duration) ease;visibility:hidden;width:100px}.navbar-nav.mobile-open[data-v-1245d550]{opacity:1;transform:translateY(0);visibility:visible}.navbar-nav .nav-link[data-v-1245d550]{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary)!important;font-size:.85rem!important;padding:.75rem 2rem}.navbar-nav .nav-link[data-v-1245d550]:last-child{border-bottom:none}.navbar-nav .nav-link[data-v-1245d550]:after{display:none}.mobile-menu-toggle[data-v-1245d550]{display:flex;margin-right:30px}.locale-menu[data-v-1245d550]{right:-14px}.navbar.index .navbar-brand[data-v-1245d550]{font-size:1.5rem}.navbar.index .navbar-left[data-v-1245d550]{padding-top:2rem}.navbar.index .navbar-content[data-v-1245d550]{gap:1.5rem}.navbar.index .navbar-nav[data-v-1245d550]{background:var(--color-bg-secondary)}.navbar.index .navbar-nav.mobile-open[data-v-1245d550]{transform:translateY(0)}.userAuth[data-v-1245d550]{transform:translateX(-30px)}}html.dark .navbar.resume-route{background:var(--color-bg-primary);border-bottom:1px solid var(--color-border)}html.dark .navbar.resume-route .navbar-resume-entry{background:transparent;border-color:var(--color-border);color:var(--color-text-primary)!important;opacity:1}html.dark .navbar.resume-route .navbar-resume-entry.active,html.dark .navbar.resume-route .navbar-resume-entry:hover{background:var(--color-bg-hover);border-color:var(--color-text-primary);color:var(--color-text-primary)!important}html.dark .navbar.resume-route .dark-mode-toggle,html.dark .navbar.resume-route .locale-toggle{color:var(--color-text-secondary)!important}html.dark .navbar.resume-route .dark-mode-toggle:hover,html.dark .navbar.resume-route .locale-toggle:hover{background:var(--color-bg-hover);color:var(--color-text-primary)!important}html.dark .navbar.resume-route .locale-menu{background:var(--color-bg-modal);border-color:var(--color-border);box-shadow:none}html.dark .navbar.resume-route .locale-menu-item{color:var(--color-text-secondary)}html.dark .navbar.resume-route .locale-menu-item.active,html.dark .navbar.resume-route .locale-menu-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.version-entry-frame[data-v-b62625ae]{border:1px solid;box-sizing:border-box;contain:layout style;overflow:hidden;pointer-events:none;position:fixed;z-index:1300}.version-entry-card-content[data-v-b62625ae],.version-entry-target-content[data-v-b62625ae]{inset:0;position:absolute}.version-entry-target-content[data-v-b62625ae]{opacity:0}.version-entry-caption[data-v-b62625ae]{align-items:center;display:flex;inset:0;justify-content:center;opacity:0;position:absolute;white-space:nowrap}/*! 
 * OverlayScrollbars
 * Version: 2.11.5
 * 
 * Copyright (c) Rene Haas | KingSora.
 * https://github.com/KingSora
 * 
 * Released under the MIT license.
 */.os-size-observer,.os-size-observer-listener{box-sizing:border-box;direction:inherit;overflow:hidden;pointer-events:none;scroll-behavior:auto!important;visibility:hidden}.os-size-observer,.os-size-observer-listener,.os-size-observer-listener-item,.os-size-observer-listener-item-final{left:0;position:absolute;top:0;writing-mode:horizontal-tb}.os-size-observer{border:inherit;bottom:0;box-sizing:inherit;contain:strict;display:flex;flex-direction:row;flex-wrap:nowrap;left:0;margin:-133px;padding:inherit;right:0;top:0;transform:scale(.1);z-index:-1}.os-size-observer:before{box-sizing:inherit;content:"";flex:none;height:10px;padding:10px;width:10px}.os-size-observer-appear{animation:os-size-observer-appear-animation 1ms forwards}.os-size-observer-listener{border:inherit;box-sizing:border-box;flex:auto;margin:-133px;padding:inherit;position:relative;transform:scale(10)}.os-size-observer-listener.ltr{margin-left:0;margin-right:-266px}.os-size-observer-listener.rtl{margin-left:-266px;margin-right:0}.os-size-observer-listener:empty:before{content:"";height:100%;width:100%}.os-size-observer-listener:empty:before,.os-size-observer-listener>.os-size-observer-listener-item{border:inherit;box-sizing:content-box;display:block;flex:auto;padding:inherit;position:relative}.os-size-observer-listener-scroll{box-sizing:border-box;display:flex}.os-size-observer-listener-item{bottom:0;direction:ltr;flex:none;overflow:hidden;right:0}.os-size-observer-listener-item-final{transition:none}@keyframes os-size-observer-appear-animation{0%{cursor:auto}to{cursor:none}}.os-trinsic-observer{border:none;box-sizing:border-box;contain:strict;flex:none;height:0;margin:0;max-height:1px;max-width:0;overflow:hidden;padding:0;position:relative;top:calc(100% + 1px);z-index:-1}.os-trinsic-observer:not(:empty){height:calc(100% + 1px);top:-1px}.os-trinsic-observer:not(:empty)>.os-size-observer{height:1000%;min-height:1px;min-width:1px;width:1000%}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport]),[data-overlayscrollbars-viewport~=scrollbarHidden]{scrollbar-width:none!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar,[data-overlayscrollbars-initialize]:not([data-overlayscrollbars-viewport])::-webkit-scrollbar-corner,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar,[data-overlayscrollbars-viewport~=scrollbarHidden]::-webkit-scrollbar-corner{-webkit-appearance:none!important;appearance:none!important;display:none!important;height:0!important;width:0!important}[data-overlayscrollbars-initialize]:not([data-overlayscrollbars]):not(html):not(body){overflow:auto}html[data-overlayscrollbars-body]{overflow:hidden}html[data-overlayscrollbars-body],html[data-overlayscrollbars-body]>body{height:100%;margin:0;width:100%}html[data-overlayscrollbars-body]>body{margin:0;overflow:visible}[data-overlayscrollbars]{position:relative}[data-overlayscrollbars-padding],[data-overlayscrollbars~=host]{align-items:stretch!important;display:flex;flex-direction:row!important;flex-wrap:nowrap!important;scroll-behavior:auto!important}[data-overlayscrollbars-padding],[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){border:none;box-sizing:inherit;flex:auto;height:auto;margin:0;min-width:0;padding:0;position:relative;width:100%;z-index:0}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]){--os-vaw:0;--os-vah:0;outline:none}[data-overlayscrollbars-viewport]:not([data-overlayscrollbars]):focus{outline:none}[data-overlayscrollbars-viewport][data-overlayscrollbars-viewport~=arrange]:before{content:"";height:var(--os-vah);min-height:1px;min-width:1px;pointer-events:none;position:absolute;width:var(--os-vaw);z-index:-1}[data-overlayscrollbars-padding],[data-overlayscrollbars~=host]{overflow:hidden!important}[data-overlayscrollbars-padding~=noClipping],[data-overlayscrollbars~=host][data-overlayscrollbars~=noClipping]{overflow:visible!important}[data-overlayscrollbars-viewport]{--os-viewport-overflow-x:hidden;--os-viewport-overflow-y:hidden;overflow-x:var(--os-viewport-overflow-x);overflow-y:var(--os-viewport-overflow-y)}[data-overlayscrollbars-viewport~=overflowXVisible]{--os-viewport-overflow-x:visible}[data-overlayscrollbars-viewport~=overflowXHidden]{--os-viewport-overflow-x:hidden}[data-overlayscrollbars-viewport~=overflowXScroll]{--os-viewport-overflow-x:scroll}[data-overlayscrollbars-viewport~=overflowYVisible]{--os-viewport-overflow-y:visible}[data-overlayscrollbars-viewport~=overflowYHidden]{--os-viewport-overflow-y:hidden}[data-overlayscrollbars-viewport~=overflowYScroll]{--os-viewport-overflow-y:scroll}[data-overlayscrollbars-viewport~=overflowImportant]{overflow-x:var(--os-viewport-overflow-x)!important;overflow-y:var(--os-viewport-overflow-y)!important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId){font-size:0!important;line-height:0!important}[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):after,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId):before,[data-overlayscrollbars-viewport~=noContent]:not(#osFakeId)>*{display:none!important;height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;border-width:0!important;white-space:nowrap!important}[data-overlayscrollbars-viewport~=measuring],[data-overlayscrollbars-viewport~=scrolling]{scroll-behavior:auto!important;scroll-snap-type:none!important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowXVisible]{overflow-x:hidden!important}[data-overlayscrollbars-viewport~=measuring][data-overlayscrollbars-viewport~=overflowYVisible]{overflow-y:hidden!important}[data-overlayscrollbars-content]{box-sizing:inherit}[data-overlayscrollbars-contents]:not(#osFakeId):not([data-overlayscrollbars-padding]):not([data-overlayscrollbars-viewport]):not([data-overlayscrollbars-content]){display:contents}[data-overlayscrollbars-grid],[data-overlayscrollbars-grid] [data-overlayscrollbars-padding]{display:grid;grid-template:1fr/1fr}[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding],[data-overlayscrollbars-grid]>[data-overlayscrollbars-padding]>[data-overlayscrollbars-viewport],[data-overlayscrollbars-grid]>[data-overlayscrollbars-viewport]{height:auto!important;width:auto!important}@property --os-scroll-percent{syntax:"<number>";inherits:true;initial-value:0}@property --os-viewport-percent{syntax:"<number>";inherits:true;initial-value:0}.os-scrollbar{--os-viewport-percent:0;--os-scroll-percent:0;--os-scroll-direction:0;--os-scroll-percent-directional:calc(var(--os-scroll-percent) - (var(--os-scroll-percent) + (1 - var(--os-scroll-percent))*-1)*var(--os-scroll-direction));contain:size layout;contain:size layout style;opacity:0;pointer-events:none;position:absolute;transition:opacity .15s,visibility .15s,top .15s,right .15s,bottom .15s,left .15s;visibility:hidden}body>.os-scrollbar{position:fixed;z-index:99999}.os-scrollbar-transitionless{transition:none!important}.os-scrollbar-track{border:none!important;padding:0!important;position:relative}.os-scrollbar-handle{position:absolute}.os-scrollbar-handle,.os-scrollbar-track{height:100%;pointer-events:none;width:100%}.os-scrollbar.os-scrollbar-handle-interactive .os-scrollbar-handle,.os-scrollbar.os-scrollbar-track-interactive .os-scrollbar-track{pointer-events:auto;touch-action:none}.os-scrollbar-horizontal{bottom:0;left:0}.os-scrollbar-vertical{right:0;top:0}.os-scrollbar-rtl.os-scrollbar-horizontal{right:0}.os-scrollbar-rtl.os-scrollbar-vertical{left:0;right:auto}.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-auto-hide.os-scrollbar-auto-hide-hidden{opacity:0;visibility:hidden}.os-scrollbar-interaction.os-scrollbar-visible{opacity:1;visibility:visible}.os-scrollbar-unusable,.os-scrollbar-unusable *,.os-scrollbar-wheel,.os-scrollbar-wheel *{pointer-events:none!important}.os-scrollbar-unusable .os-scrollbar-handle{opacity:0!important;transition:none!important}.os-scrollbar-horizontal .os-scrollbar-handle{bottom:0;left:calc(var(--os-scroll-percent-directional)*100%);transform:translateX(calc(var(--os-scroll-percent-directional)*-100%));width:calc(var(--os-viewport-percent)*100%)}.os-scrollbar-vertical .os-scrollbar-handle{height:calc(var(--os-viewport-percent)*100%);right:0;top:calc(var(--os-scroll-percent-directional)*100%);transform:translateY(calc(var(--os-scroll-percent-directional)*-100%))}@supports (container-type:size){.os-scrollbar-track{container-type:size}.os-scrollbar-horizontal .os-scrollbar-handle{left:auto;transform:translateX(calc(var(--os-scroll-percent-directional)*100cqw + var(--os-scroll-percent-directional)*-100%))}.os-scrollbar-vertical .os-scrollbar-handle{top:auto;transform:translateY(calc(var(--os-scroll-percent-directional)*100cqh + var(--os-scroll-percent-directional)*-100%))}.os-scrollbar-rtl.os-scrollbar-horizontal .os-scrollbar-handle{left:0;right:auto}}.os-scrollbar-rtl.os-scrollbar-vertical .os-scrollbar-handle{left:0;right:auto}.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-horizontal.os-scrollbar-cornerless.os-scrollbar-rtl{left:0;right:0}.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless,.os-scrollbar.os-scrollbar-vertical.os-scrollbar-cornerless.os-scrollbar-rtl{bottom:0;top:0}@media print{.os-scrollbar{display:none}}.os-scrollbar{--os-size:0;--os-padding-perpendicular:0;--os-padding-axis:0;--os-track-border-radius:0;--os-track-bg:none;--os-track-bg-hover:none;--os-track-bg-active:none;--os-track-border:none;--os-track-border-hover:none;--os-track-border-active:none;--os-handle-border-radius:0;--os-handle-bg:none;--os-handle-bg-hover:none;--os-handle-bg-active:none;--os-handle-border:none;--os-handle-border-hover:none;--os-handle-border-active:none;--os-handle-min-size:33px;--os-handle-max-size:none;--os-handle-perpendicular-size:100%;--os-handle-perpendicular-size-hover:100%;--os-handle-perpendicular-size-active:100%;--os-handle-interactive-area-offset:0}.os-scrollbar-track{background:var(--os-track-bg);border:var(--os-track-border);border-radius:var(--os-track-border-radius);transition:opacity .15s,background-color .15s,border-color .15s}.os-scrollbar-track:hover{background:var(--os-track-bg-hover);border:var(--os-track-border-hover)}.os-scrollbar-track:active{background:var(--os-track-bg-active);border:var(--os-track-border-active)}.os-scrollbar-handle{background:var(--os-handle-bg);border:var(--os-handle-border);border-radius:var(--os-handle-border-radius)}.os-scrollbar-handle:hover{background:var(--os-handle-bg-hover);border:var(--os-handle-border-hover)}.os-scrollbar-handle:active{background:var(--os-handle-bg-active);border:var(--os-handle-border-active)}.os-scrollbar-handle:before,.os-scrollbar-track:before{bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.os-scrollbar-horizontal{height:var(--os-size);padding:var(--os-padding-perpendicular) var(--os-padding-axis);right:var(--os-size)}.os-scrollbar-horizontal.os-scrollbar-rtl{left:var(--os-size);right:0}.os-scrollbar-horizontal .os-scrollbar-track:before{bottom:calc(var(--os-padding-perpendicular)*-1);top:calc(var(--os-padding-perpendicular)*-1)}.os-scrollbar-horizontal .os-scrollbar-handle{height:var(--os-handle-perpendicular-size);max-width:var(--os-handle-max-size);min-width:var(--os-handle-min-size);transition:opacity .15s,background-color .15s,border-color .15s,height .15s}.os-scrollbar-horizontal .os-scrollbar-handle:before{bottom:calc(var(--os-padding-perpendicular)*-1);top:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1)}.os-scrollbar-horizontal:hover .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-horizontal:active .os-scrollbar-handle{height:var(--os-handle-perpendicular-size-active)}.os-scrollbar-vertical{bottom:var(--os-size);padding:var(--os-padding-axis) var(--os-padding-perpendicular);width:var(--os-size)}.os-scrollbar-vertical .os-scrollbar-track:before{left:calc(var(--os-padding-perpendicular)*-1);right:calc(var(--os-padding-perpendicular)*-1)}.os-scrollbar-vertical .os-scrollbar-handle{max-height:var(--os-handle-max-size);min-height:var(--os-handle-min-size);transition:opacity .15s,background-color .15s,border-color .15s,width .15s;width:var(--os-handle-perpendicular-size)}.os-scrollbar-vertical .os-scrollbar-handle:before{left:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1);right:calc(var(--os-padding-perpendicular)*-1)}.os-scrollbar-vertical.os-scrollbar-rtl .os-scrollbar-handle:before{left:calc(var(--os-padding-perpendicular)*-1);right:calc((var(--os-padding-perpendicular) + var(--os-handle-interactive-area-offset))*-1)}.os-scrollbar-vertical:hover .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-hover)}.os-scrollbar-vertical:active .os-scrollbar-handle{width:var(--os-handle-perpendicular-size-active)}.os-theme-none.os-scrollbar,[data-overlayscrollbars-viewport~=measuring]>.os-scrollbar{display:none!important}.os-theme-dark,.os-theme-light{box-sizing:border-box;--os-size:10px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:10px;--os-handle-interactive-area-offset:4px;--os-handle-border-radius:10px}.os-theme-dark{--os-handle-bg:rgba(0,0,0,.44);--os-handle-bg-hover:rgba(0,0,0,.55);--os-handle-bg-active:rgba(0,0,0,.66)}.os-theme-light{--os-handle-bg:hsla(0,0%,100%,.44);--os-handle-bg-hover:hsla(0,0%,100%,.55);--os-handle-bg-active:hsla(0,0%,100%,.66)}@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/KwWICit0rbJCk8KE2zUN3z_bjRyuoAIeDLfgwm8-dK8-baVVSAURMU9gXMNTChXEYQPt4_Ktu8YTTjHUwjq0jZA.woff2) format(woff2),url(../_fonts/KwWICit0rbJCk8KE2zUN3z_bjRyuoAIeDLfgwm8-dK8-_kU-oQq1foSO8lTrGr8OcM4b1sFW497EPHmi-cU18Ac.woff) format(woff);font-display:swap;unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-weight:400;font-style:italic}
@font-face{font-family:"JetBrains Mono Fallback: Courier New";src:local("Courier New");size-adjust:99.9837%;ascent-override:102.0166%;descent-override:30.0049%;line-gap-override:0%}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/VLZCA-hfwKfex2yE0t7v1TWhYM0cXEcdirei-Taj0wY-yMtLKrd1rdAxofa9UrkZYjOIUrxJDDXvdpCpJocJYbs.woff2) format(woff2),url(../_fonts/VLZCA-hfwKfex2yE0t7v1TWhYM0cXEcdirei-Taj0wY-QKLbevfxbFNAcZOKlqWtZI1pu8hcRw4D1ruzN718O34.woff) format(woff);font-display:swap;unicode-range:U+0000-00FF,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-weight:400;font-style:italic}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/5KMZm-FUq0S0UvKNVX-i9g9mOuLqk6m-CG5l_qz2nvI-0MB3mfKu4PLhJV5I01ciMPluj8Qktdga1w9MYQ8mYVA.woff2) format(woff2),url(../_fonts/5KMZm-FUq0S0UvKNVX-i9g9mOuLqk6m-CG5l_qz2nvI-_4UxGVQJNY1uWpIubfLIGXrv_giwnF2UNtFsYaqCz_Y.woff) format(woff);font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-weight:400;font-style:italic}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/MDezaIqOx-caf4YqCJ3wEAoNyTJgbLhmRzetylq563I-CmsxZ9VhPG_5JCTGWV8rfir425R9nT6HIBVlSrQrkRA.woff2) format(woff2),url(../_fonts/MDezaIqOx-caf4YqCJ3wEAoNyTJgbLhmRzetylq563I-jeQ9psLSHdVfmI8BK5E9V2ydTdReaEUYAfOAf2A4bvU.woff) format(woff);font-display:swap;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-weight:400;font-style:italic}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/cxXpBq7zP-eHhwA2GJqovZ-6-Rek1x35B4T3BlNzZnE-jjQEhVTXzV2p8zxt4P2a9sAXJmRJrYtokXXpMS2ZiXA.woff2) format(woff2),url(../_fonts/cxXpBq7zP-eHhwA2GJqovZ-6-Rek1x35B4T3BlNzZnE-5a6VjbZnfd3F_80VzlIA9UAsst-3DReCvK_QPyymegk.woff) format(woff);font-display:swap;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-weight:400;font-style:italic}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/4vNCvzoNYunCV3mADBNvv6ohzdP6FOxaKRC0OGSyyGE-czXenmYzquXR8Y_KJt8iC5fBL5pAmC7hacOTpfKkIh0.woff2) format(woff2),url(../_fonts/4vNCvzoNYunCV3mADBNvv6ohzdP6FOxaKRC0OGSyyGE-tb1dhEHz1AwVBSqJLl5_8hx_3CdUcaQnDoQVS4kaly0.woff) format(woff);font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:italic}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/H87kPV9RxZ1D2mFNanIhkCrgB8Bu8WPN0FjLgbmLNR4-W2B6R54jbHHWApCoHNCixgSlZqJaaH156DNgqfE0CJM.woff2) format(woff2),url(../_fonts/H87kPV9RxZ1D2mFNanIhkCrgB8Bu8WPN0FjLgbmLNR4-aD8AyZ5nGbN_oKJ5fpMFg3D4I0C1MchJCgMOlXWK3Hs.woff) format(woff);font-display:swap;unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;font-weight:400;font-style:normal}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/pan9FVR0owhfrd-15F56zYQzgWslnFcqtxlKMl3_ZQo-6a6PX7mJyZBk5I1SyH6_HhEwmcL6-f5iNcYVel__vbE.woff2) format(woff2),url(../_fonts/pan9FVR0owhfrd-15F56zYQzgWslnFcqtxlKMl3_ZQo-vHyGpXzgWft8zJG6j3Kyo8Sr5ZsMdoQwU3eOy4blrVk.woff) format(woff);font-display:swap;unicode-range:U+0000-00FF,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-weight:400;font-style:normal}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/_QXmIfbznltDC4dbotuV8bM3h-tXfq1B1xgSBxaUIMk-E2_O563J5Y0_9mSmjH9zdLMIAesZyCRtJl-8DcSCa7k.woff2) format(woff2),url(../_fonts/_QXmIfbznltDC4dbotuV8bM3h-tXfq1B1xgSBxaUIMk-SjWDSRNL_xgiqvIQXCU3QWEQT-6ADApT3VNGA4tHu6I.woff) format(woff);font-display:swap;unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;font-weight:400;font-style:normal}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/d0d_N39RXmdNs7t3epGCA4jxaUxhWVeOtq41mekjI4Q-GS9QOUsS7ZNbb0nQ5tJ1Vxp31lss5mZ1oTKugK4_5Ek.woff2) format(woff2),url(../_fonts/d0d_N39RXmdNs7t3epGCA4jxaUxhWVeOtq41mekjI4Q-VFqEhIKHpywyM7LLWDtZIR7huhcblBQHxGOWwpasrGE.woff) format(woff);font-display:swap;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-weight:400;font-style:normal}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/PYglk731cieGJxAKX2MrJS4flu_4eopFgvd8fvx57UY-paPvPYqjJ_vT9wtuY17Kjujm_hvJGRSOxNodGxCWjFI.woff2) format(woff2),url(../_fonts/PYglk731cieGJxAKX2MrJS4flu_4eopFgvd8fvx57UY-_KN5g_jJYFQ95vBQhSDBtqvgu_0H6l_CmmrUMVIx-sA.woff) format(woff);font-display:swap;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-weight:400;font-style:normal}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/1X4UYXtgar7UEzbKYkPta_UlLbli4Eroxt_y-qPIrOY-EKfKmsOjx_FZ9PU0idBY8jLTQfaFPNcismhuFvFAY2Y.woff2) format(woff2),url(../_fonts/1X4UYXtgar7UEzbKYkPta_UlLbli4Eroxt_y-qPIrOY-cIfUmZqoxyHSoL8KX8ukyjd9aS992L3krU64U7Za3R8.woff) format(woff);font-display:swap;unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;font-weight:400;font-style:normal}
.app,body,html{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}.app{height:100vh;overflow-x:hidden;overflow-y:auto}.page-enter-active,.page-leave-active{transition:opacity .5s ease;will-change:opacity}.page-enter-from,.page-leave-to{opacity:0}.version-entry-navigation .page-enter-active,.version-entry-navigation .page-leave-active{transition:none}.version-entry-navigation .page-enter-from,.version-entry-navigation .page-leave-to{opacity:1}.layout-enter-active,.layout-leave-active{transition:opacity .5s ease}.layout-enter-from,.layout-leave-to{opacity:0}.os-scrollbar{--os-size:8px;--os-padding-perpendicular:2px;--os-padding-axis:2px;--os-track-border-radius:0;--os-track-bg:var(--bg-os-track);--os-handle-border-radius:0;--os-handle-bg:var(--bg-os-handle);--os-handle-bg-hover:var(--bg-os-handle-hover);--os-handle-bg-active:var(--bg-os-handle-active)}.os-scrollbar-vertical{right:2px;width:var(--os-size)}.os-scrollbar-horizontal{bottom:2px;height:var(--os-size)}.footer-info{align-items:center;background-color:var(--color-footer-bg);color:var(--color-footer-text);display:flex;flex-direction:column;font-size:12px;height:80px;justify-content:center;letter-spacing:.08em;a{color:var(--color-footer-text);margin:0 5px}a:hover{color:var(--color-text-inverse)}}html.dark .footer-info.resume-footer{background:var(--color-bg-primary);border-top:1px solid var(--color-border);color:var(--color-text-muted);font-family:JetBrains Mono, "JetBrains Mono Fallback: Courier New",IBM Plex Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}html.dark .footer-info.resume-footer a{border-bottom:1px solid var(--color-border);color:var(--color-text-secondary);text-decoration:none}html.dark .footer-info.resume-footer a:hover{border-bottom-color:var(--color-text-primary);color:var(--color-text-primary)}