@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%}
#__nuxt,body,html{margin:0;min-height:100%;padding:0;width:100%}body{overflow-x:hidden}main{display:block}.app,.main-content,main{margin:0;padding:0}.font-test-oppo{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif!important;font-weight:100}.font-test-barlow{font-family:barlow, "barlow Fallback: Arial",sans-serif!important;font-style:normal}*,.error-content,.loading-text,.nav-link,.navbar-brand,a,body,button,div,h1,h2,h3,h4,h5,h6,html,input,p,select,span,textarea{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.font-loading{font-family:system-ui,-apple-system,sans-serif}.font-loaded{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}:root{--color-bg-primary:#fff;--color-bg-secondary:hsla(0,0%,100%,.95);--color-bg-tertiary:rgba(248,249,250,.8);--color-bg-input:rgba(248,249,250,.8);--color-bg-hover:rgba(227,242,253,.8);--color-bg-code:#f8f8f8;--color-bg-card:#fff;--color-bg-modal:#fff;--color-bg-overlay:rgba(0,0,0,.5);--color-text-primary:#333;--color-text-secondary:#666;--color-text-muted:#999;--color-text-inverse:#fff;--color-brand:#2c3e50;--color-brand-light:#34495e;--color-brand-bg:rgba(44,62,80,.1);--color-accent:#3498db;--color-accent-bg:rgba(227,242,253,.8);--color-border:#eee;--color-border-light:#dee2e6;--color-border-focus:#2c3e50;--color-shadow:rgba(0,0,0,.1);--color-shadow-brand:rgba(44,62,80,.15);--color-footer-bg:#2c3e50;--color-footer-text:#bbb;--color-tag-bg:rgba(227,242,253,.8);--color-tag-text:#555;--color-gradient-bg:linear-gradient(135deg,#f5f7fa,#c3cfe2);--bg-os-track:rgba(0,0,0,.1);--bg-os-handle:rgba(0,0,0,.3);--bg-os-handle-hover:rgba(0,0,0,.5);--bg-os-handle-active:rgba(0,0,0,.6)}html.dark{--color-bg-primary:#1a1a2e;--color-bg-secondary:rgba(30,30,50,.95);--color-bg-tertiary:rgba(40,40,60,.8);--color-bg-input:rgba(50,50,70,.9);--color-bg-hover:rgba(100,100,140,.25);--color-bg-code:#252540;--color-bg-card:#1e1e32;--color-bg-modal:#1e1e32;--color-bg-overlay:rgba(0,0,0,.7);--color-text-primary:#e0e0e0;--color-text-secondary:#aaa;--color-text-muted:#777;--color-text-inverse:#fff;--color-brand:#8ab4d8;--color-brand-light:#9dc4e4;--color-brand-bg:rgba(106,140,168,.15);--color-accent:#5b9bd5;--color-accent-bg:rgba(91,155,213,.15);--color-border:#335;--color-border-light:#3a3a55;--color-border-focus:#6a8ca8;--color-shadow:rgba(0,0,0,.3);--color-shadow-brand:rgba(106,140,168,.2);--color-footer-bg:#16162a;--color-footer-text:#888;--color-tag-bg:rgba(91,155,213,.15);--color-tag-text:#ccc;--color-gradient-bg:linear-gradient(135deg,#1a1a2e,#16213e);--bg-os-track:hsla(0,0%,100%,.1);--bg-os-handle:hsla(0,0%,100%,.3);--bg-os-handle-hover:hsla(0,0%,100%,.5);--bg-os-handle-active:hsla(0,0%,100%,.6);color-scheme:dark}html.dark body{color:var(--color-text-secondary)}html.dark .app,html.dark body{background-color:var(--color-bg-primary)}html.dark .footer-info{background-color:var(--color-footer-bg)}html.dark .footer-info,html.dark .footer-info a{color:var(--color-footer-text)}html.dark .os-scrollbar{--os-track-bg:var(--bg-os-track);--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)}html.dark .navbar-index-mobile-bg,html.dark .navbar-nav.mobile-open{background:var(--color-bg-secondary)}html.dark input,html.dark select,html.dark textarea{background-color:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text-primary)}html.dark input:focus,html.dark select:focus,html.dark textarea:focus{border-color:var(--color-border-focus);box-shadow:0 2px 8px var(--color-shadow-brand)}html.dark input::-moz-placeholder,html.dark textarea::-moz-placeholder{color:var(--color-text-muted)}html.dark input::placeholder,html.dark textarea::placeholder{color:var(--color-text-muted)}html.dark input[type=checkbox],html.dark input[type=radio]{accent-color:var(--color-brand)}html.dark .error-container,html.dark .loading-container,html.dark .loading-state{background-color:var(--color-bg-primary);color:var(--color-text-secondary)}html.dark .loading-spinner+p,html.dark .loading-text{color:var(--color-text-secondary)}html.dark .loading-spinner{border-color:var(--color-border);border-top-color:var(--color-brand)}html.dark .page-content{background-color:var(--color-bg-primary)!important}html.dark .sidebar{background:var(--color-bg-secondary)!important;border-color:var(--color-border)!important;box-shadow:0 8px 32px rgba(0,0,0,.3)!important}html.dark .sidebar:hover{box-shadow:0 8px 25px rgba(0,0,0,.4)!important}html.dark .search-input{background:var(--color-bg-input)!important;color:var(--color-text-primary)!important}html.dark .search-input::-moz-placeholder{color:var(--color-text-muted)!important}html.dark .search-input::placeholder{color:var(--color-text-muted)!important}html.dark .search-input:focus{background:var(--color-bg-secondary)!important;border-color:var(--color-brand)!important;box-shadow:0 2px 8px var(--color-shadow-brand)!important}html.dark .filter-section h3{border-bottom-color:var(--color-brand)!important;color:var(--color-brand)!important}html.dark .filter-item:hover{background:var(--color-bg-hover)!important}html.dark .sidebar .filter-item span:first-of-type{color:var(--color-text-primary)!important}html.dark .sidebar .filter-item .count{color:var(--color-text-secondary)!important}html.dark .filter-item:before,html.dark .filter-item:hover:before{background:linear-gradient(90deg,transparent,var(--color-bg-hover),transparent)!important}html.dark .sort-select{background:var(--color-bg-input)!important;border-color:var(--color-brand)!important;color:var(--color-text-primary)!important}html.dark .article-item{background:var(--color-bg-card)!important;border-color:var(--color-border-light)!important;box-shadow:0 2px 8px var(--color-shadow)!important}html.dark .article-item:hover{border-color:var(--color-brand)!important;box-shadow:0 4px 15px var(--color-shadow-brand)!important}html.dark .article-title{color:var(--color-brand)!important}html.dark .article-summary{color:var(--color-text-secondary)!important}html.dark .article-tag{background:var(--color-tag-bg)!important;color:var(--color-tag-text)!important}html.dark .article-meta{color:var(--color-text-muted)!important}html.dark .article-meta .topped{background:linear-gradient(135deg,#ff6b6b,#ee5a24)!important;color:#fff!important}html.dark .page-btn{background:var(--color-brand)!important;color:var(--color-text-inverse)!important}html.dark .page-btn:disabled{background:var(--color-border)!important;color:var(--color-text-muted)!important}html.dark .page-info{color:var(--color-text-secondary)!important}html.dark .pagination{border-top-color:var(--color-border)!important}html.dark .article-link{color:inherit!important}html.dark .article-container{background-color:var(--color-bg-primary)}html.dark .article-header .article-title{color:var(--color-text-primary)}html.dark .article-meta span{color:var(--color-text-muted)}html.dark .article-body,html.dark .article-content .content{color:var(--color-text-primary)}html.dark .back-btn-top{color:var(--color-brand)}html.dark .comment-item{border-bottom-color:var(--color-border)}html.dark .comment-author{color:var(--color-text-primary)}html.dark .comment-body{color:var(--color-text-secondary)}html.dark .comment-textarea{background:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text-primary)}html.dark .comment-textarea::-moz-placeholder{color:var(--color-text-muted)}html.dark .comment-textarea::placeholder{color:var(--color-text-muted)}html.dark .comments-title{border-bottom-color:var(--color-border);color:var(--color-text-primary)}html.dark .replying-to{background:var(--color-accent-bg);color:var(--color-text-secondary)}html.dark .submit-comment-btn{background:var(--color-brand);color:var(--color-text-inverse)}html.dark .submit-comment-btn:disabled{background:var(--color-border);color:var(--color-text-muted)}html.dark .login-link{color:var(--color-accent)}html.dark .content code,html.dark .content pre{background-color:var(--color-bg-code);color:#c9d1d9}html.dark .hljs{background:#282c34;color:#abb2bf}html.dark .hljs-comment,html.dark .hljs-quote{color:#5c6370;font-style:italic}html.dark .hljs-doctag,html.dark .hljs-formula,html.dark .hljs-keyword{color:#c678dd}html.dark .hljs-deletion,html.dark .hljs-name,html.dark .hljs-section,html.dark .hljs-selector-tag,html.dark .hljs-subst{color:#e06c75}html.dark .hljs-literal{color:#56b6c2}html.dark .hljs-addition,html.dark .hljs-attribute,html.dark .hljs-meta .hljs-string,html.dark .hljs-regexp,html.dark .hljs-string{color:#98c379}html.dark .hljs-attr,html.dark .hljs-number,html.dark .hljs-selector-attr,html.dark .hljs-selector-class,html.dark .hljs-selector-pseudo,html.dark .hljs-template-variable,html.dark .hljs-type,html.dark .hljs-variable{color:#d19a66}html.dark .hljs-bullet,html.dark .hljs-link,html.dark .hljs-meta,html.dark .hljs-selector-id,html.dark .hljs-symbol,html.dark .hljs-title{color:#61aeee}html.dark .hljs-built_in,html.dark .hljs-class .hljs-title,html.dark .hljs-title.class_{color:#e6c07b}html.dark .hljs-emphasis{font-style:italic}html.dark .hljs-strong{font-weight:700}html.dark .hljs-link{text-decoration:underline}html.dark .profile-card{background:transparent;box-shadow:none}html.dark .profile-card .intro,html.dark .profile-card h1{color:var(--color-text-primary)}html.dark .roll-btn{border-color:var(--color-brand);color:var(--color-brand)}html.dark .roll-btn:hover{background:var(--color-brand-bg)}html.dark .social-link{color:var(--color-text-secondary)}html.dark .social-link:hover{color:var(--color-brand)}html.dark .about-content .font-list-section,html.dark .about-content .tech-stack-section,html.dark .font-list-section h3,html.dark .tech-stack-section h3,html.dark .year-title{color:var(--color-text-primary)}html.dark .project-card{background:var(--color-bg-card);box-shadow:0 4px 15px rgba(0,0,0,.3)}html.dark .project-card h3{color:var(--color-text-primary)}html.dark .project-card p{color:var(--color-text-secondary)}html.dark .project-subname{color:var(--color-text-muted)}html.dark .tech-stack{color:var(--color-brand)}html.dark .link-btn{background:var(--color-brand);color:var(--color-text-inverse)}html.dark .link-btn:hover{background:var(--color-brand-light)}html.dark .nav-year-btn{color:var(--color-text-secondary)}html.dark .nav-year-btn.active,html.dark .nav-year-btn:hover{color:var(--color-brand)}html.dark .login-prompt{background:var(--color-bg-card)}html.dark .login-prompt,html.dark .login-prompt h3{color:var(--color-text-primary)}html.dark .login-btn{background:var(--color-brand);color:var(--color-text-inverse)}html.dark .date-divider{color:var(--color-text-muted)}html.dark .date-divider:after,html.dark .date-divider:before{background:var(--color-border)}html.dark .life-post{background:var(--color-bg-card);box-shadow:0 2px 12px var(--color-shadow)}html.dark .life-post:hover{box-shadow:0 4px 20px rgba(0,0,0,.4)}html.dark .post-composer{background:var(--color-bg-card);border-color:var(--color-border)}html.dark .action-btn:hover{background:var(--color-bg-hover)}html.dark .comments-section,html.dark .post-actions,html.dark .replies-list,html.dark .timeline-sidebar{border-color:var(--color-border)}html.dark .timeline-sidebar{background:transparent}html.dark .empty-state{color:var(--color-text-muted)}html.dark .admin-layout{background-color:var(--color-bg-primary)}html.dark .table-container{background:var(--color-bg-card);border-color:var(--color-border)}html.dark .data-table th{background:var(--color-bg-tertiary)}html.dark .data-table td,html.dark .data-table th{border-bottom-color:var(--color-border);color:var(--color-text-primary)}html.dark .data-table tbody tr:hover{background:var(--color-brand-bg)}html.dark .modal-content{background:var(--color-bg-modal)}html.dark .modal-header{border-bottom-color:var(--color-border)}html.dark .modal-header h3{color:var(--color-text-primary)}html.dark .close-btn{color:var(--color-text-muted)}html.dark .close-btn:hover{background:var(--color-bg-hover)}html.dark .filters{background:var(--color-bg-card);border-color:var(--color-border)}html.dark .admin-header{border-bottom-color:var(--color-border)}html.dark .admin-title{color:var(--color-text-primary)}html.dark .info,html.dark .info a,html.dark .page-info{color:var(--color-text-muted)}html.dark .retry-btn{background:var(--color-brand);color:var(--color-text-inverse)}html.dark .navbar-nav .nav-link{color:var(--color-text-secondary)!important}html.dark .navbar .dark-mode-toggle:hover{background:hsla(0,0%,100%,.1)}html.dark .user-auth-modal{background:var(--color-bg-modal);color:var(--color-text-primary)}html.dark .user-auth-modal input{background:var(--color-bg-input);border-color:var(--color-border);color:var(--color-text-primary)}html.dark .confirm-dialog{background:var(--color-bg-modal);box-shadow:0 8px 32px rgba(0,0,0,.5);color:var(--color-text-primary)}.user-auth[data-v-89eea401]{position:relative}.login-btn[data-v-89eea401]{background:none;border:1px solid #666;border-radius:4px;color:#666;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:all .3s ease}.login-btn[data-v-89eea401]:hover{background:#666;color:#fff}.user-section[data-v-89eea401]{position:relative}.user-dropdown[data-v-89eea401]{align-items:center;border-radius:4px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem;transition:background-color .3s ease}.user-dropdown[data-v-89eea401]:hover{background-color:rgba(0,0,0,.05)}.username[data-v-89eea401]{color:#666;font-weight:500}.dropdown-icon[data-v-89eea401]{transition:transform .3s ease}.dropdown-icon.rotated[data-v-89eea401]{transform:rotate(180deg)}.user-menu[data-v-89eea401]{background:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 10px rgba(0,0,0,.1);min-width:120px;position:absolute;right:0;top:120%;z-index:1000}.menu-item[data-v-89eea401]{cursor:pointer;padding:.75rem 1rem;transition:background-color .3s ease}.menu-item[data-v-89eea401]:hover{background-color:rgba(0,0,0,.05)}.menu-item.admin-entry[data-v-89eea401]{color:#007bff;font-weight:600}.menu-item.admin-entry[data-v-89eea401]:hover{background-color:rgba(0,123,255,.1)}.modal-overlay[data-v-89eea401]{align-items:center;background:rgba(0,0,0,.5);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-89eea401]{background:#fff;border-radius:8px;max-height:90vh;max-width:400px;overflow-y:auto;width:90%}.modal-header[data-v-89eea401]{align-items:center;border-bottom:1px solid #ddd;display:flex;justify-content:space-between;padding:1.5rem}.modal-header h3[data-v-89eea401]{color:#666;margin:0}.close-btn[data-v-89eea401]{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:30px;justify-content:center;width:30px}.close-btn[data-v-89eea401]:hover{background-color:rgba(0,0,0,.1);border-radius:50%}.modal-body[data-v-89eea401]{padding:1.5rem}.form-group[data-v-89eea401]{margin-bottom:1rem}.form-group label[data-v-89eea401]{color:#666;display:block;font-weight:500;margin-bottom:.5rem}.form-input[data-v-89eea401]{border:1px solid #ddd;border-radius:4px;box-sizing:border-box;font-size:1rem;padding:.75rem;width:100%}.form-input[data-v-89eea401]:focus{border-color:#007bff;outline:none}.code-input-group[data-v-89eea401]{display:flex;gap:.5rem}.code-input[data-v-89eea401]{flex:1}.code-btn[data-v-89eea401]{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.75rem 1rem;white-space:nowrap}.code-btn[data-v-89eea401]:disabled{background:#ccc;cursor:not-allowed}.code-btn[data-v-89eea401]:not(:disabled):hover{background:#006fe6}.login-submit-btn[data-v-89eea401]{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;margin-top:1rem;padding:.75rem;width:100%}.login-submit-btn[data-v-89eea401]:disabled{background:#ccc;cursor:not-allowed}.login-submit-btn[data-v-89eea401]:not(:disabled):hover{background:#006fe6}.error-message[data-v-89eea401]{color:#dc3545;font-size:.9rem;margin-top:1rem;text-align:center}.avatar-section[data-v-89eea401]{align-items:center;display:flex;gap:1rem}.current-avatar[data-v-89eea401]{border:2px solid #ddd;border-radius:50%;height:80px;overflow:hidden;width:80px}.avatar-preview[data-v-89eea401]{height:100%;-o-object-fit:cover;object-fit:cover;width:100%}.avatar-placeholder[data-v-89eea401]{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;display:flex;font-size:24px;font-weight:700;height:100%;justify-content:center;width:100%}.avatar-actions[data-v-89eea401]{display:flex;flex-direction:column;gap:.5rem}.avatar-upload-btn[data-v-89eea401]{background:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .3s ease}.avatar-upload-btn[data-v-89eea401]:disabled{background:#ccc;cursor:not-allowed}.avatar-upload-btn[data-v-89eea401]:not(:disabled):hover{background:#006fe6}.avatar-remove-btn[data-v-89eea401]{background:#dc3545;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .3s ease}.avatar-remove-btn[data-v-89eea401]:hover{background:#d12435}.modal-enter-active[data-v-89eea401],.modal-leave-active[data-v-89eea401]{transition:all .3s ease}.modal-enter-from[data-v-89eea401],.modal-leave-to[data-v-89eea401]{opacity:0}.modal-enter-active .modal-content[data-v-89eea401],.modal-leave-active .modal-content[data-v-89eea401]{transition:all .3s ease}.modal-enter-from .modal-content[data-v-89eea401],.modal-leave-to .modal-content[data-v-89eea401]{opacity:0;transform:scale(.8) translateY(-20px)}.modal-enter-to .modal-content[data-v-89eea401]{opacity:1;transform:scale(1) translateY(0)}.menu-enter-active[data-v-89eea401],.menu-leave-active[data-v-89eea401]{transform-origin:top right;transition:all .25s ease}.menu-enter-from[data-v-89eea401],.menu-leave-to[data-v-89eea401]{opacity:0;transform:scale(.95)}.menu-enter-to[data-v-89eea401],.menu-leave-from[data-v-89eea401]{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-c7b35037]{backdrop-filter:blur(10px);box-sizing:border-box;left:0;padding:0 2rem;position:fixed;top:0;transition:all .3s;width:calc(100% - var(--scrollbar-width, 17px));z-index:1000}.navbar-container[data-v-c7b35037]{align-items:center;display:flex;height:70px;justify-content:space-between;margin:0 auto;max-width:calc(100vw - 120px)}.navbar-content[data-v-c7b35037]{align-items:center;display:flex;gap:2rem;position:relative;transition:all .3s ease}.navbar-brand[data-v-c7b35037]{color:#666;font-family:Barlow, "Barlow Fallback: Arial"!important;font-size:1.5rem;letter-spacing:.5px;transition:font-size .3s ease,padding-top .3s ease}.navbar-brand[data-v-c7b35037],.navbar-left[data-v-c7b35037]{flex-shrink:0;white-space:nowrap}.navbar-left[data-v-c7b35037]{gap:1rem}.navbar-left[data-v-c7b35037],.navbar-nav[data-v-c7b35037]{align-items:center;display:flex}.navbar-nav[data-v-c7b35037]{gap:2rem;transition:gap .3s ease,padding-top .3s ease,transform .3s ease}.navbar-resume-entry[data-v-c7b35037]{align-items:center;border:1px solid;border-radius:4px;color:#666;display:inline-flex;flex-shrink:0;font-size:.86rem;font-weight:600;justify-content:center;letter-spacing:0;line-height:1.2;margin-left:5px;opacity:.78;padding:.22rem .48rem;text-decoration:none;transition:opacity .2s ease,background .2s ease}.navbar-resume-entry.active[data-v-c7b35037],.navbar-resume-entry[data-v-c7b35037]:hover{background:rgba(0,0,0,.06);opacity:1}.dark-mode-toggle[data-v-c7b35037],.locale-toggle[data-v-c7b35037]{align-items:center;background:none;border:none;border-radius:50%;color:#666;cursor:pointer;display:flex;height:28px;justify-content:center;padding:4px;transition:all .3s ease;width:28px}.dark-mode-toggle[data-v-c7b35037]:hover,.locale-toggle[data-v-c7b35037]:hover{background:rgba(0,0,0,.1)}.locale-picker[data-v-c7b35037]{align-items:center;display:flex;position:relative}.locale-glyph[data-v-c7b35037]{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-c7b35037]{position:absolute}.locale-glyph span[data-v-c7b35037]:first-child{left:0;top:1px}.locale-glyph span[data-v-c7b35037]:last-child{bottom:0;right:0}.locale-menu[data-v-c7b35037]{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.96);border:1px solid rgba(0,0,0,.08);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.12);min-width:118px;padding:6px;position:absolute;right:0;top:calc(100% + 10px);z-index:1002}.locale-menu-item[data-v-c7b35037]{background:transparent;border:none;border-radius:6px;color:#333;cursor:pointer;font-size:.86rem;line-height:1.2;padding:8px 10px;text-align:left;transition:background .2s ease,color .2s ease;width:100%}.locale-menu-item.active[data-v-c7b35037],.locale-menu-item[data-v-c7b35037]:hover{background:rgba(0,0,0,.08)}.locale-menu-enter-active[data-v-c7b35037],.locale-menu-leave-active[data-v-c7b35037]{transition:opacity .18s ease,transform .18s ease}.locale-menu-enter-from[data-v-c7b35037],.locale-menu-leave-to[data-v-c7b35037]{opacity:0;transform:translateY(-4px)}.navbar.index[data-v-c7b35037]{backdrop-filter:blur(0)}.navbar.index-container[data-v-c7b35037]{justify-content:space-around;max-width:calc(100vw - 120px)}.navbar.index .navbar-brand[data-v-c7b35037]{font-size:2rem;padding-top:2rem}.navbar.index .navbar-left[data-v-c7b35037]{padding-top:2rem}.navbar.index .navbar-brand[data-v-c7b35037]{padding-top:0}.navbar.index .navbar-resume-entry[data-v-c7b35037]{font-size:1rem;text-shadow:0 2px 8px rgba(0,0,0,.15)}.navbar.index .navbar-content[data-v-c7b35037]{padding-top:2rem}.navbar.index .navbar-nav[data-v-c7b35037]{gap:3rem}.navbar.index .dark-mode-toggle[data-v-c7b35037],.navbar.index .locale-toggle[data-v-c7b35037]{font-size:1.2rem}.nav-link[data-v-c7b35037]{font-size:1rem;font-weight:500;padding:.5rem 0;position:relative;text-decoration:none;transition:color .3s ease,font-size .3s ease}.nav-link[data-v-c7b35037],.nav-link[data-v-c7b35037]:hover{color:#666}.nav-link.router-link-active[data-v-c7b35037]:after,.nav-link[data-v-c7b35037]:hover:after{width:100%}.nav-link[data-v-c7b35037]:after{background-color:currentColor;bottom:0;content:"";filter:brightness(1.4);height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.navbar.index .nav-link[data-v-c7b35037]{font-size:1.2rem}.navbar.index .nav-link[data-v-c7b35037],.navbar.index .navbar-brand[data-v-c7b35037]{text-shadow:0 2px 8px rgba(0,0,0,.15)}.navbar.resume-route[data-v-c7b35037]{position:static;width:100%}.navbar.scrolled[data-v-c7b35037]{top:-70px}.navbar.resume-route.scrolled[data-v-c7b35037]{top:auto}.navbar.resume-route .navbar-container[data-v-c7b35037]{max-width:min(1180px,100vw - 48px)}.user-auth-enter-active[data-v-c7b35037],.user-auth-leave-active[data-v-c7b35037]{overflow:hidden;transition:all .3s ease}.user-auth-enter-from[data-v-c7b35037],.user-auth-leave-to[data-v-c7b35037]{opacity:0;transform:scaleX(0);transform-origin:right;width:0}.user-auth-enter-to[data-v-c7b35037],.user-auth-leave-from[data-v-c7b35037]{opacity:1;transform:scaleX(1);width:auto}.mobile-menu-toggle[data-v-c7b35037]{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-c7b35037]{background-color:currentColor;height:2px;transform-origin:center;transition:all .3s ease;width:100%}.mobile-menu-toggle .hamburger-line.active[data-v-c7b35037]:first-child{transform:rotate(45deg) translate(6px,3px)}.mobile-menu-toggle .hamburger-line.active[data-v-c7b35037]:nth-child(2){opacity:0}.mobile-menu-toggle .hamburger-line.active[data-v-c7b35037]:nth-child(3){transform:rotate(-45deg) translate(6px,-3px)}@media (max-width:768px){.navbar[data-v-c7b35037]{padding:0}.navbar-container[data-v-c7b35037]{margin:0;max-width:100vw}.navbar-brand[data-v-c7b35037]{font-size:1.25rem}.navbar-left[data-v-c7b35037]{gap:.5rem;margin-left:20px}.navbar .navbar-resume-entry[data-v-c7b35037]{font-size:.76rem;padding:.18rem .36rem}.navbar-content[data-v-c7b35037]{gap:1rem;position:relative}.navbar-nav[data-v-c7b35037]{backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:10px;flex-direction:column;opacity:0;padding:1rem 0;position:absolute;right:20px;top:70px;transform:translateY(-10px);transition:all .3s ease;visibility:hidden;width:100px}.navbar-nav.mobile-open[data-v-c7b35037]{opacity:1;transform:translateY(0);visibility:visible}.navbar-nav .nav-link[data-v-c7b35037]{border-bottom:1px solid rgba(0,0,0,.1);color:#333!important;font-size:1rem!important;padding:.75rem 2rem}.navbar-nav .nav-link[data-v-c7b35037]:last-child{border-bottom:none}.navbar-nav .nav-link[data-v-c7b35037]:after{display:none}.mobile-menu-toggle[data-v-c7b35037]{display:flex;margin-right:30px}.locale-menu[data-v-c7b35037]{right:-14px}.navbar.index .navbar-brand[data-v-c7b35037]{font-size:1.5rem}.navbar.index .navbar-left[data-v-c7b35037]{padding-top:2rem}.navbar.index .navbar-content[data-v-c7b35037]{gap:1.5rem}.navbar.index .navbar-nav[data-v-c7b35037]{background:hsla(0,0%,100%,.9)}.navbar.index .navbar-nav.mobile-open[data-v-c7b35037]{transform:translateY(0)}.userAuth[data-v-c7b35037]{transform:translateX(-30px)}}html.dark .navbar.resume-route{backdrop-filter:none;background:#201d1d;border-bottom:1px solid hsla(0,20%,99%,.12)}html.dark .navbar.resume-route .navbar-resume-entry{background:transparent;border-color:#646262;color:#fdfcfc!important;opacity:1}html.dark .navbar.resume-route .navbar-resume-entry.active,html.dark .navbar.resume-route .navbar-resume-entry:hover{background:#302c2c;border-color:#9a9898;color:#fdfcfc!important}html.dark .navbar.resume-route .dark-mode-toggle,html.dark .navbar.resume-route .locale-toggle{color:#d6d2d2!important}html.dark .navbar.resume-route .dark-mode-toggle:hover,html.dark .navbar.resume-route .locale-toggle:hover{background:#302c2c;color:#fdfcfc!important}html.dark .navbar.resume-route .locale-menu{backdrop-filter:none;background:#201d1d;border-color:hsla(0,20%,99%,.12);box-shadow:none}html.dark .navbar.resume-route .locale-menu-item{color:#d6d2d2}html.dark .navbar.resume-route .locale-menu-item.active,html.dark .navbar.resume-route .locale-menu-item:hover{background:#302c2c;color:#fdfcfc}/*! 
 * 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/Df7M9JXECnQBPeMk0JlWv5oI4E80OSjKvG82PCAX-MI-aXpKyr1n0W6NWbCApKANrm9O50H_fjFMdBzwfTY75iM.woff2) format(woff2);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 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/F00Bxq4ciZESODR5suhK3xDWcsQ9RLj9SyZQEevpEsw-BLNEvb6wAcL3fpb4n4d3zVEKUoa2hsUKxxkf3YdvJKc.woff2) format(woff2);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/AA0_6TP-Ed9gQINhOsvbweBE3xLQgxmg6pXqHmvCwsM-egZLwYC5qVnfGWql7G5NfYTIiMP1PB_tQWIq5f7S-0k.woff2) format(woff2);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;src:local("JetBrains Mono Regular Italic"),local("JetBrains Mono Italic"),url(../_fonts/3mk1pEYaO7RuhctnlpKcyb7yjVLICedncSfY13ffbM8-vJidvBvYJRk77_zQIyVpja44ymm1FQTiYKUcM_aD5Sg.woff2) format(woff2);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/3e3wuf-V_7icWvlsSS3Ud6R1mFSymwsfz35VcqiVjOk-jnii4_jMs7YAJOhzZP3bGdrbXGt5dYv8_t_rhpHzpcQ.woff2) format(woff2);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/NwLHmPccLrJlBVGp4QRXOLZaNI0M_K6XuSwyVjpr47g-jl4tqz8gcsgAJDPcbl5roY78zy31I6Rq51WBLpZngFg.woff2) format(woff2);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"),local("JetBrains Mono"),url(../_fonts/f3COenLcoezM74LmVz7-HHQTyPKopVoMY6x2syLMzQE-shPZYE7IAjZWz4okT_CWn96WfGzoLhasK43_mhj3CZI.woff2) format(woff2);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}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/KOrIgK47CByspZJWjOLg8AL2ADg9uFcNjZd9W78jrmM-dU37DP77KwUzMqqldljJHhSe3lJpaSfI9HPfiVAxPOM.woff2) format(woff2);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/9IZYb3o3tpRXPqjzNd4r3vIIohLuRBC5-h_ByvqRowU-ZgMUMfi6FcHpaV_ucYIWcBvLG6geajFq70Smps0DAj0.woff2) format(woff2);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/bUcXp2ExGsFoCjH4L_AiPGX0TLCAgnqR8nvW7SxSJYQ-kvm9UWc_MFZW_r85yX6uPdzXVmdcUOio_Wb1x_7QdXM.woff2) format(woff2);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/_lyVj3lEzRng_G7gZNcCmL83BnMEos-Hf8bpHLMzGQI-zsVE1T2QbmkXlEbQhs2gb3j3VBOOGhzqyW_ZW_0s3F8.woff2) format(woff2);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/sqxfSu-14RfawvZSbzb3mPoBYaXxmTGIac1Kk0GVk_w-oe_5KiWXPVdvpURHWSiaIjA1N_zLqpjSzmfpwRHr7CQ.woff2) format(woff2);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 Italic"),local("JetBrains Mono Italic"),url(../_fonts/wMdBqIWtsuS5eTYXRFwACf6n6oW2h-j42f90vWIPIO8-vrVOc_lrScYZMKO0_R3igKLheJfV2qZ3c5qlWOY0LDQ.woff) format(woff);font-display:swap;font-weight:400;font-style:italic}
@font-face{font-family:JetBrains Mono;src:local("JetBrains Mono Regular"),local("JetBrains Mono"),url(../_fonts/HsvEuay0nMOs_2ObxMGaCaFlKdRnnDmfWeFTeRbjAVE-UeGuS_NHKiKleun7gcayWaUNaV2zWnEeGUxJVueLYm0.woff) format(woff);font-display:swap;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 .3s ease,transform .3s ease;will-change:opacity,transform}.page-enter-from,.page-leave-to{opacity:0;transform:translateY(30px) scale(.95)}.layout-enter-active,.layout-leave-active{transition:opacity .2s 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:4px;--os-track-bg:rgba(0,0,0,.1);--os-handle-border-radius:4px;--os-handle-bg:rgba(0,0,0,.3);--os-handle-bg-hover:rgba(0,0,0,.5);--os-handle-bg-active:rgba(0,0,0,.6)}.os-scrollbar-vertical{right:2px;width:var(--os-size)}.os-scrollbar-horizontal{bottom:2px;height:var(--os-size)}.os-theme-dark .os-scrollbar{--os-track-bg:hsla(0,0%,100%,.1);--os-handle-bg:hsla(0,0%,100%,.3);--os-handle-bg-hover:hsla(0,0%,100%,.5);--os-handle-bg-active:hsla(0,0%,100%,.6)}.footer-info{align-items:center;background-color:#2c3e50;color:#bbb;display:flex;flex-direction:column;font-size:12px;height:80px;justify-content:center;a{color:#bbb;margin:0 5px}}html.dark .footer-info.resume-footer{background:#201d1d;border-top:1px solid hsla(0,20%,99%,.12);color:#9a9898;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 hsla(0,5%,83%,.35);color:#d6d2d2;text-decoration:none}html.dark .footer-info.resume-footer a:hover{border-bottom-color:#fdfcfc;color:#fdfcfc}