@import url(https://fonts.googleapis.com/css2?family=Heebo:wght@300&family=Roboto:wght@500&display=swap);:root{--primary-color:#27272a;--secondary-color:#65656d;--tertiary-color:#acacb4;--quaternary-color:#e4e4e7;--link-color:#14b8a6;--page-bg:#fff;--card-bg:#fff;--side-bg:#fafafa;--side-border:#f4f4f5;--primary-font:"Heebo",sans-serif;--secondary-font:"Roboto",sans-serif}[data-theme=dark]{--primary-color:#e6eef0;--secondary-color:#c2c8cc;--tertiary-color:#98a0a6;--quaternary-color:#1f2933;--link-color:#2dd4bf;--page-bg:#071019;--card-bg:#0b2230;--side-bg:#06161b;--side-border:#0b2a33}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:var(--primary-font);margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.logo{border-radius:50%;display:block;height:auto;margin:0;max-height:100%;padding:0}.footer{align-items:center;display:flex;margin-top:50px;padding-bottom:25px;padding-top:25px}.footer-credits,.footer-links{flex-basis:50%}.footer-links{margin-left:-40px}.footer-nav-link-list{align-items:center;display:flex;justify-content:space-between;list-style:none}.footer-nav-link-item{font-size:80%;font-weight:700}.footer-nav-link-list a{color:var(--secondary-color);text-decoration:none}.footer-nav-link-list a:hover{color:var(--link-color)}.footer-credits-text{color:var(--tertiary-color);font-size:14px;justify-content:flex-end;text-align:right}@media (max-width:600px){.footer{flex-direction:column;height:85px}.footer-links{display:flex;justify-content:center;width:100%}.footer-nav-link-list{width:100%}}.nav-container{display:flex;margin:0}.nav-container,.theme-toggle{align-items:center;justify-content:center}.theme-toggle{background:var(--page-bg);border:1px solid var(--quaternary-color);border-radius:50%;cursor:pointer;display:inline-flex;font-size:16px;height:36px;position:fixed;right:2.5vw;top:3vh;width:36px;z-index:1100}.theme-toggle:hover{-webkit-transform:translateY(-2px);transform:translateY(-2px)}.splash-toggle{align-items:center;background:var(--page-bg);border:1px solid var(--quaternary-color);border-radius:50%;color:var(--primary-color);cursor:pointer;display:inline-flex;font-size:16px;height:36px;justify-content:center;left:2.5vw;position:fixed;top:3vh;width:36px;z-index:1100}.splash-toggle:hover{background:rgba(20,184,166,.06);color:var(--link-color);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.splash-toggle:focus{outline:2px solid rgba(20,184,166,.12);outline-offset:2px}.navbar{align-items:center;display:flex;justify-content:center;position:fixed;top:3vh;z-index:999}.nav-background{background:var(--page-bg);border:1px solid var(--quaternary-color);border-radius:40px;box-shadow:0 2px 10px rgba(0,0,0,.08);display:inline-block;height:40px;padding:0 12px;width:auto}.nav-list{align-items:center;display:flex;gap:20px;justify-content:center;list-style:none;margin:11px 0 0;padding:0}.nav-item{align-items:center;display:inline-flex;font-size:80%;font-weight:700;gap:6px}.nav-item.active>.dropdown-toggle,.nav-item.active>a{color:var(--link-color)!important}.nav-item a{color:var(--primary-color);text-decoration:none}.nav-item a:hover{color:var(--link-color);transition:color .3s ease-in-out}.nav-item{position:relative}.nav-dropdown{background:var(--page-bg);border:1px solid var(--quaternary-color);border-radius:8px;box-shadow:0 6px 18px rgba(0,0,0,.12);box-sizing:border-box;left:50%;list-style:none;opacity:0;overflow:visible;padding:8px 0;pointer-events:none;position:absolute;top:100%;-webkit-transform:translateX(-50%) translateY(-8px);transform:translateX(-50%) translateY(-8px);transition:opacity .2s ease,visibility .2s,-webkit-transform .24s cubic-bezier(.2,.9,.3,1);transition:opacity .2s ease,transform .24s cubic-bezier(.2,.9,.3,1),visibility .2s;transition:opacity .2s ease,transform .24s cubic-bezier(.2,.9,.3,1),visibility .2s,-webkit-transform .24s cubic-bezier(.2,.9,.3,1);visibility:hidden;width:-webkit-max-content;width:max-content;z-index:1000}.nav-dropdown-item{padding:6px 14px;white-space:nowrap}.dropdown-toggle{align-items:center;background:transparent;border:none;border-radius:4px;color:var(--primary-color);cursor:pointer;display:inline-flex;font-size:120%;justify-content:center;line-height:1;margin-left:-10px;margin-right:-14px;padding:4px 6px}.dropdown-toggle:hover{background:rgba(20,184,166,.06);color:var(--link-color)}.nav-dropdown-item a{color:var(--primary-color);text-decoration:none}.nav-dropdown-item a:hover{color:var(--link-color)}.nav-dropdown-section-title{color:var(--secondary-color);font-size:12px;font-weight:700;padding:8px 14px}.nav-item.active .nav-dropdown-section-title{color:var(--link-color)}.nav-dropdown-separator{background:var(--quaternary-color);height:1px;margin:6px 8px}.nav-item.open .nav-dropdown,.nav-item:hover .nav-dropdown{opacity:1;pointer-events:auto;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0);visibility:visible}@media (max-width:600px){.navbar{font-size:80%;margin-left:25%;margin-right:25%;width:80%}.nav-background{height:40px;width:80%}.nav-item{font-weight:700}}.card{border-radius:20px;mix-blend-mode:normal;outline:2px solid #f4f4f5}.card-container{padding:30px 30px 5px}.card-header{align-items:center;display:flex;justify-content:space-between}.card-icon{color:var(--tertiary-color);font-size:15px}.card-title{color:var(--secondary-color);flex:1 1;font-size:14px;font-weight:650;padding-left:20px}.card-header-right{margin-left:12px}.card-body{font-size:15px;padding-top:40px}.about-body{margin-bottom:10px}.about-row{align-items:flex-start;display:flex;gap:16px;padding-bottom:12px;width:100%}.about-image{flex:0 0 72px}.about-photo{border-radius:8px;box-shadow:0 7px 10px rgba(0,0,0,.12);height:72px;object-fit:cover;outline:6px solid #fff;width:72px}.about-content{flex:1 1}.about-header{align-items:baseline;display:flex;justify-content:space-between}.about-title{color:var(--secondary-color);font-size:16px;font-weight:700}.only-paragraphs p{color:var(--secondary-color);line-height:1.45;margin:6px 0}.about-duration{color:var(--tertiary-color);font-size:14px}.about-subtitle{color:var(--secondary-color);margin-top:8px}.about-contact{color:var(--secondary-color);font-size:14px;margin-top:10px}.homepage-about .card-body{padding-top:16px}.homepage-about{margin-top:10px}@media (max-width:600px){.about-row{gap:12px}.about-photo{height:56px;width:56px}.about-title{font-size:15px}}.works-body{margin-bottom:10px}.work{align-items:flex-start;display:flex;gap:16px;padding-bottom:20px;width:100%}.work-image{border-radius:8px;box-shadow:0 7px 10px rgba(0,0,0,.12);flex:0 0 48px;height:48px;object-fit:cover;outline:6px solid #fff;width:48px}.work-content{flex:1 1}.work-header{align-items:baseline;display:flex;justify-content:space-between}.work-title{font-size:16px;font-weight:700}.work-subtitle,.work-title{color:var(--secondary-color)}.work-subtitle{font-size:13px;margin-top:6px}.work-duration{color:var(--tertiary-color);font-size:16px;margin-left:12px;white-space:nowrap}@media (max-width:600px){.work{gap:12px}.work-image{flex:0 0 40px;height:40px;width:40px}.work-duration,.work-title{font-size:15px}}.homepage-education{margin-top:2rem}.education-body{margin-bottom:10px;position:relative}.education-item{background:var(--page-bg);border-left:3px solid var(--link-color);box-sizing:border-box;margin-bottom:12px;overflow-wrap:break-word;padding:12px 14px;width:100%;word-break:normal}.education-degree{color:var(--secondary-color);font-size:15px;font-weight:700}.education-header{align-items:baseline;display:flex;justify-content:space-between}.education-duration{color:var(--tertiary-color);font-size:15px;white-space:nowrap}.education-institution{color:var(--secondary-color);font-size:13px;margin-top:4px}.education-institution.shared{font-size:14px;font-weight:700;margin-bottom:8px}.education-description,.education-gpa{color:var(--tertiary-color);font-size:15px;margin-top:6px}.education-gpa{font-weight:500}.education-awards{list-style:none;margin-left:0;margin-top:10px;padding-left:0}.education-award-item{background:none;color:var(--tertiary-color);display:block;font-size:15px;font-style:normal;list-style:none;margin-bottom:6px;padding-left:0}.education-empty{color:var(--secondary-color)}.card-university-logo{height:auto;object-fit:contain;width:96px}@media (max-width:600px){.card-university-logo{width:66px}}.education-row{gap:18px}.education-logo,.education-row{align-items:center;display:flex}.education-logo{flex:0 0 auto;justify-content:center}.education-content{flex:1 1 auto}@media (max-width:640px){.education-row{align-items:stretch;flex-direction:column}.education-logo{align-self:center;margin-bottom:8px}}.homepage-logo-container{align-items:center;display:flex;justify-content:left;padding-top:130px}@-webkit-keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUp{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@-webkit-keyframes floatY{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes floatY{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.animate-fade-up{-webkit-animation-name:fadeUp;animation-name:fadeUp}.from-splash .animate-fade-up{-webkit-animation-duration:3.6s;animation-duration:3.6s}.from-splash .pre-animate{opacity:0}.logo-float{-webkit-animation:floatY 3.6s ease-in-out infinite;animation:floatY 3.6s ease-in-out infinite}.animate-fade-up.logo-float{-webkit-animation:fadeUp .52s cubic-bezier(.2,.9,.3,1) both,floatY 3.6s ease-in-out .52s infinite;animation:fadeUp .52s cubic-bezier(.2,.9,.3,1) both,floatY 3.6s ease-in-out .52s infinite}.from-splash .animate-fade-up.logo-float{-webkit-animation:fadeUp 3.6s cubic-bezier(.2,.9,.3,1) both,floatY 3.6s ease-in-out 3.6s infinite;animation:fadeUp 3.6s cubic-bezier(.2,.9,.3,1) both,floatY 3.6s ease-in-out 3.6s infinite}.social-float{-webkit-animation:floatSeq 6s ease-in-out infinite;animation:floatSeq 6s ease-in-out infinite;will-change:transform}@-webkit-keyframes floatSeq{0%{-webkit-transform:translateY(0);transform:translateY(0)}25%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}62%{-webkit-transform:translateY(-.6px);transform:translateY(-.6px)}75%{-webkit-transform:translateY(0);transform:translateY(0)}87%{-webkit-transform:translateY(-.6px);transform:translateY(-.6px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes floatSeq{0%{-webkit-transform:translateY(0);transform:translateY(0)}25%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}50%{-webkit-transform:translateY(0);transform:translateY(0)}62%{-webkit-transform:translateY(-.6px);transform:translateY(-.6px)}75%{-webkit-transform:translateY(0);transform:translateY(0)}87%{-webkit-transform:translateY(-.6px);transform:translateY(-.6px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.homepage-socials a:first-child .homepage-social-icon.social-float{-webkit-animation-delay:.5s;animation-delay:.5s}.homepage-socials a:nth-child(2) .homepage-social-icon.social-float{-webkit-animation-delay:1s;animation-delay:1s}.homepage-socials a:nth-child(3) .homepage-social-icon.social-float{-webkit-animation-delay:1.5s;animation-delay:1.5s}@media (prefers-reduced-motion:reduce){.animate-fade-up,.logo-float,.social-float{-webkit-animation:none!important;animation:none!important}}.homepage-container{padding-top:25px}.homepage-first-area{align-items:center;display:flex;justify-content:space-between}.homepage-first-area-left-side{align-items:flex-start;display:flex;flex-direction:column}.homepage-subtitle,.homepage-title{width:85%!important}.homepage-first-area-right-side{align-items:center;display:flex}.homepage-image-container{height:370px;width:370px}.homepage-image-wrapper{border-radius:16px;display:block;height:100%;overflow:hidden;-webkit-transform:rotate(3deg);transform:rotate(3deg);-webkit-transform-origin:center center;transform-origin:center center;width:100%}.homepage-image-wrapper img{display:block;height:100%;object-fit:cover;width:100%}.homepage-socials{align-items:center;display:flex;justify-content:left;padding-top:30px}.homepage-social-icon{color:var(--secondary-color);font-size:25px;padding-right:20px;transition:color .2s ease-in-out}.homepage-social-icon:hover{color:var(--primary-color)}.homepage-after-title{display:flex;flex-direction:column}.homepage-works{padding-top:30px;width:100%}.homepage-about{padding-top:20px;width:100%}@media (max-width:1024px){.homepage-first-area{flex-direction:column}.homepage-first-area-left-side{align-items:flex-start;display:flex;flex-direction:column;order:2;width:100%}.homepage-title{margin-top:20px;order:2;width:100%!important}.homepage-subtitle{margin-top:10px;order:3;width:100%!important}.homepage-first-area-right-side{order:1;width:100%}.homepage-image-container{margin-left:10px;order:1;padding-bottom:50px;padding-top:50px}.homepage-after-title{flex-direction:column}.homepage-articles,.homepage-projects{flex-basis:auto}.homepage-works{flex-basis:auto;margin-left:-25px;margin-right:-25px}}.splash-page-content{--preblink-caret-offset:-11px;--caret-height:0.9em;background:var(--page-bg);cursor:pointer;height:100vh;inset:0;overflow:hidden;position:fixed;z-index:2000}.splash-exit{cursor:default}.splash-exit .hello-bounce,.splash-exit .splash-continue-hint,.splash-exit .typing .caret{-webkit-animation:none!important;animation:none!important}.splash-exit .typing .caret{opacity:0;transition:opacity .25s ease}.splash-exit .homepage-first-area-right-side,.splash-exit .homepage-subtitle,.splash-exit .splash-continue-hint{opacity:0;transition:opacity .45s ease}.splash-enter-wrapper{display:flex;justify-content:center;margin-top:24px}.splash-page-content .content-wrapper{min-height:100vh}.splash-enter{background:var(--link-color);border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:600;padding:10px 18px}.splash-enter:hover{opacity:.95}.splash-page-content .homepage-image-container{visibility:hidden}.splash-page-content .homepage-logo-container,.splash-page-content .nav-background,.splash-page-content .navbar{pointer-events:none;visibility:hidden}.splash-page-content .homepage-subtitle{color:var(--secondary-color);font-size:45px;line-height:1.1;margin-left:-5px;margin-top:8px;overflow:visible;visibility:visible;white-space:nowrap;width:auto!important}@media (max-width:600px){.splash-page-content .homepage-subtitle{font-size:18px;line-height:1.2;white-space:normal}}.splash-page-content .homepage-title{line-height:1.1;margin-left:-5px;margin-top:-17pt;min-height:50px}.splash-page-content .theme-toggle{right:calc(2.5vw + 10px)}.splash-page-content .splash-toggle{display:none!important}.splash-page-content .typing{display:inline-block;position:relative;white-space:nowrap}.splash-page-content .typing .caret{background:currentColor;border-radius:1px;height:var(--caret-height);left:calc(100% + 6px);position:absolute;top:50%;-webkit-transform:translateY(-50%);transform:translateY(-50%);width:2px}.splash-page-content .typing .caret-at-start{left:0;margin-top:var(--preblink-caret-offset)}.splash-page-content .typing .caret-blink{-webkit-animation:blink 1s step-start infinite;animation:blink 1s step-start infinite}.splash-page-content .typing .caret-blink-1{-webkit-animation:blink 1s step-start 1;animation:blink 1s step-start 1}.splash-page-content .typing .caret-blink-2{-webkit-animation:blink 1s step-start 2;animation:blink 1s step-start 2}.splash-page-content .typing .caret-blink-3{-webkit-animation:blink 1s step-start 3;animation:blink 1s step-start 3}.splash-page-content .typing .caret-hidden{opacity:0;pointer-events:none}@-webkit-keyframes blink{50%{opacity:0}}@keyframes blink{50%{opacity:0}}@-webkit-keyframes splashFadeIn{0%{opacity:0;-webkit-transform:translateX(-50%) translateY(4px);transform:translateX(-50%) translateY(4px)}to{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}}@keyframes splashFadeIn{0%{opacity:0;-webkit-transform:translateX(-50%) translateY(4px);transform:translateX(-50%) translateY(4px)}to{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0)}}.splash-continue-hint{-webkit-animation:splashFadeIn 1.2s ease .6s forwards,splashPulse 3s ease-in-out 1.8s infinite;animation:splashFadeIn 1.2s ease .6s forwards,splashPulse 3s ease-in-out 1.8s infinite;bottom:28px;color:var(--secondary-color);font-size:20px;left:50%;letter-spacing:.03em;opacity:0;pointer-events:none;position:fixed;-webkit-transform:translateX(-50%);transform:translateX(-50%)}@-webkit-keyframes splashPulse{0%{opacity:.35}50%{opacity:1}to{opacity:.35}}@keyframes splashPulse{0%{opacity:.35}50%{opacity:1}to{opacity:.35}}@media (prefers-reduced-motion:reduce){.splash-page-content .typing .caret-blink,.splash-page-content .typing .caret-blink-1,.splash-page-content .typing .caret-blink-2,.splash-page-content .typing .caret-blink-3{-webkit-animation:none;animation:none;opacity:0}.splash-root{transition:none}.splash-continue-hint{-webkit-animation:none;animation:none;opacity:1}}.hello-bounce{-webkit-animation:helloJumpSeq 5s ease-in-out infinite;animation:helloJumpSeq 5s ease-in-out infinite;display:inline-block;will-change:transform}@-webkit-keyframes helloJumpSeq{0%,86%,to{-webkit-transform:translateY(0);transform:translateY(0)}90%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}94%{-webkit-transform:translateY(0);transform:translateY(0)}96%{-webkit-transform:translateY(-3px);transform:translateY(-3px)}98%{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes helloJumpSeq{0%,86%,to{-webkit-transform:translateY(0);transform:translateY(0)}90%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}94%{-webkit-transform:translateY(0);transform:translateY(0)}96%{-webkit-transform:translateY(-3px);transform:translateY(-3px)}98%{-webkit-transform:translateY(0);transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hello-bounce{-webkit-animation:none;animation:none}}.project{border-radius:20px;height:100%;mix-blend-mode:normal;opacity:.8;overflow:hidden}.project a{text-decoration:none}.project:hover{background:#fafafa;opacity:1;transition:background-color .3s ease-in-out}.project:hover .project-link{color:var(--link-color);transition:color .3s ease-in-out}.project-container{padding:0}.project-logo{position:relative}.project-logo:before{background:rgba(0,0,0,.3);content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.project-overlay{align-items:flex-end;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:hsla(0,0%,100%,.12);display:flex;inset:0;position:absolute;transition:background .2s ease,backdrop-filter .2s ease,-webkit-backdrop-filter .2s ease;z-index:2}.project-overlay-inner{box-sizing:border-box;padding:14px;width:100%}.project-overlay .project-title{color:#fff;font-family:var(--secondary-font);font-size:16px;font-weight:700;margin:0 0 6px;text-shadow:0 3px 10px rgba(0,0,0,.75);z-index:3}.project-overlay .project-description{color:hsla(0,0%,100%,.95);font-size:14px;margin:0;text-shadow:0 2px 6px rgba(0,0,0,.65);z-index:3}.project-overlay.light{background:linear-gradient(hsla(0,0%,100%,0) 40%,hsla(0,0%,100%,.85))}.project-overlay.light .project-title{color:#0a0a0a;text-shadow:0 2px 4px hsla(0,0%,100%,.8)}.project-overlay.light .project-description{color:rgba(0,0,0,.85);text-shadow:0 2px 4px hsla(0,0%,100%,.8)}.project-title{color:var(--primary-color);font-family:var(--secondary-font);font-size:16px;font-weight:700;margin:0 0 6px}.project-description{color:var(--secondary-color);margin:0}.project-logo{aspect-ratio:16/9;background-position:50%;background-repeat:no-repeat;background-size:cover;border-radius:inherit;display:block;overflow:hidden;width:100%}@media (max-width:600px){.project{height:300px}}.project:hover .project-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:transparent}.all-projects-container{align-items:stretch;display:flex;flex-wrap:wrap;margin-left:-35px;margin-right:-35px;padding-bottom:30px;padding-top:30px}.all-projects-project{box-sizing:border-box;overflow:hidden;padding:10px;width:33.33333%}@media (max-width:600px){.all-projects-project{width:50%}}.grouped-projects .projects-section{margin-bottom:32px;width:100%}.projects-section-title{color:var(--primary-color);font-size:1.4rem;margin:8px 0 12px}.all-projects-grid{display:flex;flex-wrap:wrap;gap:16px}.all-projects-grid .all-projects-project{width:calc(33.33333% - 16px)}.projects-empty{color:var(--secondary-color);font-style:italic;padding:8px 0 16px}@media (max-width:900px){.all-projects-grid .all-projects-project{width:calc(50% - 16px)}}@media (max-width:600px){.all-projects-grid .all-projects-project{width:100%}}.projects-logo-container{display:flex;justify-content:left;padding-top:25px}.projects-logo{align-items:center;border:1px solid #fff;border-radius:50%;box-shadow:0 4px 10px rgba(0,0,0,.25);display:flex;height:40px;justify-content:center;position:fixed;top:3vh;width:40px;z-index:999}.projects-container{display:flex;flex-direction:column;height:100%;margin:0;padding-top:120px}@-webkit-keyframes fadeUpProj{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUpProj{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.animate-fade-up{-webkit-animation-name:fadeUpProj;animation-name:fadeUpProj}@-webkit-keyframes floatYProj{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes floatYProj{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.logo-float{-webkit-animation:floatYProj 3.6s ease-in-out infinite;animation:floatYProj 3.6s ease-in-out infinite}.projects-title-text{display:inline-block;-webkit-hyphens:none;hyphens:none;max-width:100%;overflow-wrap:normal;white-space:normal;word-break:normal}.project-progress-wrapper{background:rgba(0,0,0,.04);height:4px;position:-webkit-sticky;position:sticky;top:56px;width:100%;z-index:800}.project-progress{background:linear-gradient(90deg,var(--link-color),#0e9a8e);height:100%;transition:width .1s linear;width:0}@media (max-width:600px){.projects-container{padding-top:60px}.projects-project{width:50%}}.markup-renderer{color:var(--secondary-color);line-height:1.6;margin-top:18px}.markup-section{color:var(--primary-color);font-size:22px;margin:18px 0 8px}.markup-subsection{color:var(--primary-color);font-size:18px;margin:12px 0 6px}.markup-list{margin:8px 0 12px 20px}.markup-paragraph{margin:8px 0}.markup-image{display:flex;justify-content:center;margin:12px 0}.markup-video{margin:12px 0}.video-caption{color:var(--secondary-color);font-size:13px;margin-top:6px}.markup-image-caption{color:var(--secondary-color);font-size:.9em;margin-top:8px;text-align:center}.back-button{background:var(--link-color);border-radius:8px;box-shadow:0 2px 6px rgba(0,0,0,.12);color:#fff;display:inline-block;font-weight:600;padding:8px 14px;text-decoration:none}.back-button:hover{opacity:.95}.not-found{height:100vh;overflow:hidden}.notfound-logo-container{display:flex;justify-content:left;padding-top:25px}.notfound-logo{border:1px solid #fff;border-radius:50%;box-shadow:0 4px 10px rgba(0,0,0,.25);display:flex;position:fixed;top:4vh;z-index:999}.notfound-container{display:flex;flex-direction:column;height:100%;margin:0;padding-top:120px}.notfound-message{align-items:center;display:flex;flex-direction:column;justify-content:center;left:50%;position:fixed;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%)}.notfound-title{color:var(--primary-color);font-family:var(--secondary-font);font-size:80px;font-weight:700;padding-top:15px}.not-found-message{color:var(--secondary-color);font-size:2rem;margin:2rem 0;text-align:center}.not-found-link{background-color:var(--link-color);border-radius:50px;color:#fff;font-size:1.5rem;padding:1rem 2rem;text-decoration:none;transition:all .3s ease-in-out}.not-found-link:hover{background-color:#fff;box-shadow:2px 2px 8px rgba(0,0,0,.3);color:var(--link-color)}@media (max-width:500px){.notfound-message{left:auto;position:absolute;top:auto;-webkit-transform:none;transform:none;width:100%}.notfound-title{font-size:50px}.not-found-message{font-size:15px;margin-left:-5px;margin-right:32px;margin-top:10px;width:100%}.not-found-link{font-size:15px;padding:15px}}.publications-container{box-sizing:border-box;display:flex;flex-direction:column;height:100%;margin:0;max-width:900px;min-height:calc(100vh - 40px);padding-bottom:32px;padding-top:120px}@-webkit-keyframes fadeUpPub{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes fadeUpPub{0%{opacity:0;-webkit-transform:translateY(12px);transform:translateY(12px)}to{opacity:1;-webkit-transform:translateY(0);transform:translateY(0)}}.animate-fade-up{-webkit-animation-duration:.52s;animation-duration:.52s;-webkit-animation-fill-mode:both;animation-fill-mode:both;-webkit-animation-name:fadeUpPub;animation-name:fadeUpPub;-webkit-animation-timing-function:cubic-bezier(.2,.9,.3,1);animation-timing-function:cubic-bezier(.2,.9,.3,1)}@-webkit-keyframes floatYPub{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}@keyframes floatYPub{0%{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-6px);transform:translateY(-6px)}to{-webkit-transform:translateY(0);transform:translateY(0)}}.logo-float{-webkit-animation:floatYPub 3.6s ease-in-out infinite;animation:floatYPub 3.6s ease-in-out infinite;will-change:transform}@media (prefers-reduced-motion:reduce){.animate-fade-up,.logo-float{-webkit-animation:none!important;animation:none!important}}.publications-logo-container{display:flex;justify-content:left;padding-top:25px}.publications-logo{align-items:center;border:1px solid #fff;border-radius:50%;box-shadow:0 4px 10px rgba(0,0,0,.25);display:flex;height:40px;justify-content:center;position:fixed;top:3vh;width:40px;z-index:999}.publications-title{font-size:inherit;margin-bottom:-25px}.publications-subtitle{margin-top:1px;padding-bottom:15px}.publications-list{display:flex;flex-direction:column;gap:18px}.publications-container>.page-footer{margin-top:auto}.publications-container>.page-footer .footer{margin-top:24px;padding-bottom:12px;padding-top:12px}@media (max-width:600px){.publications-container{padding-top:60px}}.publication-item{background:#fff;border:1px solid #e6e6e6;border-radius:6px;padding:16px}.publication-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px;width:100%}.publication-title{flex:1 1 auto;font-size:1rem;font-weight:600}.publication-title,.publication-title:hover{color:#222;text-decoration:none}.publication-year{color:#666;flex:0 0 auto;font-size:1rem;margin-left:12px;opacity:.9}.publication-meta{color:#444;font-size:.95rem;margin-bottom:8px}.publication-abstract{color:#333;font-size:.95rem;line-height:1.3}.publication-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.btn-mini{background:var(--link-color);border:none;border-radius:6px;color:#fff;display:inline-block;font-size:.85rem;padding:6px 10px;text-decoration:none}.btn-mini:hover{background:#0e9a8e}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background-color:#f1f1f1}::-webkit-scrollbar-thumb{background-color:#383636;border-radius:5px}::-webkit-scrollbar-thumb:hover{background-color:#000}.page-content{background-color:#fff;background-color:var(--page-bg,#fff);position:relative}.page-content:after,.page-content:before{display:none}.page-content:before{left:0;z-index:1}.page-content:after{right:0;z-index:1}.content-wrapper{margin:0 auto;max-width:1000px}.title{color:var(--primary-color);font-family:var(--secondary-font);font-size:45px;font-weight:700;width:70%}.subtitle{color:var(--secondary-color);font-size:16px;line-height:28px;margin-top:25px;padding-top:10px;width:70%}.page-footer{position:block}.page-footer:before{border-top:2px solid var(--tertiary-color);content:"";left:0;position:absolute;right:0}@media (max-width:1270px){.page-content:after,.page-content:before{width:5%}.content-wrapper{max-width:90%;padding-left:10%;padding-right:10%}}@media (max-width:1024px){.page-content:after,.page-content:before{width:calc(50% - 475px)}.content-wrapper{max-width:980px}}@media (max-width:800px){.content-wrapper{margin:0 auto;max-width:90%;padding:0 10px}.page-content:after,.page-content:before{display:none}.subtitle,.title{width:100%}}
/*# sourceMappingURL=main.8b9de9c5.css.map*/