.nav{position:relative;width:100%}.nav,.nav__list{align-items:center;display:flex;justify-content:center}.nav__list{gap:1.5em;margin:0}.nav__list-item{margin:0}.app .nav__hamburger{display:none}.nav__theme{position:absolute;right:0;top:50%;transform:translateY(-50%)}.nav__list-item--active a{color:var(--clr-primary);font-weight:700}@media (max-width:600px){.nav__list{align-items:center;display:none;flex-direction:column;gap:1em;height:100%;inset:0;justify-content:center;position:fixed;width:100%;z-index:2}.nav__list-item{margin:.5em 0}.app .nav__hamburger{display:flex;left:0;margin-left:.8em;position:absolute;top:50%;transform:translateY(-50%);z-index:3}.nav__theme{z-index:3}}.header{justify-content:space-between}@media (max-width:600px){.header{height:6em}}body,html{height:100%!important;margin:0;padding:0}.header{align-items:center;display:flex;height:8em;justify-content:center;margin:0 auto;max-width:1100px;width:95%}#root{display:flex;flex-direction:column;min-height:100vh}.about-container{align-items:flex-start;display:flex;height:100%;justify-content:flex-start;margin-top:3em;width:100%}.about__image-links{align-items:flex-start;display:flex;flex-direction:column}.about__image{border-radius:50%;height:200px;margin-bottom:1.5em;object-fit:cover;width:200px}.about__role{margin-top:1.2em}.about__desc{max-width:600px}@media (max-width:600px){.header{height:6em}.about-container{align-items:center;flex-direction:column}.about__details{margin-left:0;text-align:center}.about__image-links{align-items:center}.about__details-list,.about__links{text-align:center}.about__image{height:150px;width:150px}}.skills-active.about-container{margin-top:0}.about__details-list{list-style-type:none;margin-bottom:2em;padding:0;text-align:left}.about__details-list li{align-items:center;display:flex;margin-bottom:.8em}.about__details-list li svg{margin-right:.5em}.about__links{list-style-type:none;padding:0;text-align:left}.about__links li{margin-bottom:.5em}.about__links a{color:var(--clr-primary)}.about__links a,.about__links a:hover{text-decoration:none}.about__details{flex:1 1;margin-left:3em}.about__name,.about__role{color:var(--clr-primary)}.about__role{margin-bottom:.3em;margin-top:.5em}.about__desc{font-size:1rem;max-width:none;text-align:justify;width:100%}.about__desc a{color:var(--clr-primary)}@media (max-width:600px){.about__details{margin-left:0;text-align:center}.about__image-links{align-items:center}.about__details-list,.about__links{text-align:center}.about__image{height:150px;width:150px}.about__desc{padding:0 1em;text-align:justify}}.project{box-shadow:var(--shadow);margin:0 auto;padding:2em;text-align:center;transition:transform .2s linear}.project:hover{transform:translateY(-7px)}.project__description{margin-top:1em}.project__stack{display:flex;flex-wrap:wrap;justify-content:center;margin:1.2em 0}.project__stack-item{color:var(--clr-fg-alt);font-size:.8rem;font-weight:500;margin:.5em}.project .link--icon{margin-left:.5em}.section.projects{margin-top:0}.projects{margin:0 auto;max-width:1100px;padding:2em 0}.projects__grid{grid-gap:2em;align-items:stretch;display:grid;gap:2em;grid-template-columns:repeat(auto-fit,minmax(18em,1fr))}.project__cell{animation:proj-in .52s ease forwards;animation-delay:0ms;animation-delay:calc(45ms*var(--i, 0));display:flex;opacity:0;position:relative;transform:translateY(14px) scale(.98);transition:transform .18s ease,filter .18s ease;will-change:transform,filter}.project__cell>*{flex:1 1 auto;width:100%}.project__cell:hover{filter:drop-shadow(0 12px 22px rgba(0,0,0,.16));transform:translateY(-4px) scale(1.01)}.project__cell:focus-visible{border-radius:12px;box-shadow:0 0 0 3px color-mix(in srgb,var(--clr-primary) 35%,#0000);filter:drop-shadow(0 0 0 rgba(0,0,0,0)) drop-shadow(0 0 0 rgba(0,0,0,0));outline:none;transform:translateY(-3px) scale(1.005)}@media (max-width:1000px){.projects__grid{gap:1.6em;grid-template-columns:repeat(auto-fit,minmax(17em,1fr))}}@media (max-width:700px){.projects__grid{gap:1.2em;grid-template-columns:repeat(auto-fit,minmax(16em,1fr))}}@media (prefers-reduced-motion:reduce){.project__cell{animation:none!important;filter:none!important;opacity:1!important;transform:none!important;transition:none!important}}@keyframes proj-in{to{opacity:1;transform:translateY(0) scale(1)}}.timeline{margin:0 auto;max-width:900px;padding:2em 0;position:relative}.section.experience{margin-left:5rem;margin-top:0}.timeline__item{align-items:flex-start;animation:fadeInUp .6s ease forwards;display:flex;margin-bottom:3em;opacity:0;position:relative;transform:translateY(18px)}.timeline__item:nth-child(2n){animation-delay:.12s}.timeline__item:nth-child(3n){animation-delay:.18s}.timeline__marker{background:linear-gradient(135deg,var(--clr-primary),#7aa2f7);background:linear-gradient(135deg,var(--clr-primary),var(--clr-accent,#7aa2f7));border-radius:999px;box-shadow:0 0 0 4px var(--clr-bg-alt);height:1.5em;left:0;position:absolute;top:.15em;transition:transform .25s ease;width:1.5em;z-index:2}.timeline__item:hover .timeline__marker{transform:scale(1.08)}.timeline__line{background:linear-gradient(to bottom,var(--clr-primary),#0000);bottom:-2.4em;left:.75em;opacity:.9;position:absolute;top:2.1em;width:3px}.timeline__item:last-child .timeline__line{display:none}.timeline__content{background-color:var(--clr-bg-alt);border-radius:12px;box-shadow:var(--shadow);margin-left:4em;padding:1.5em;position:relative;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease;width:100%}.timeline__item:nth-child(2n) .timeline__content{background-color:color-mix(in srgb,var(--clr-bg-alt) 88%,#fff 12%)}.timeline__content:hover{box-shadow:0 10px 24px #0000002e;transform:translateY(-4px)}.timeline__header{grid-gap:.35rem;display:grid;gap:.35rem;margin-bottom:.4rem}.timeline__title{color:var(--clr-primary);font-size:1.15rem;font-weight:700;letter-spacing:.2px;line-height:1.25;margin:0}.timeline__meta{align-items:center;display:flex;flex-wrap:wrap;font-size:.98rem;gap:.5ch;opacity:.9}.timeline__sep{opacity:.6}.timeline__bullets{list-style:disc;margin-top:.6em;padding-left:1.2em}.timeline__bullets li{margin-bottom:.45em}@media (max-width:900px){.section.experience{margin-left:2rem}}@media (max-width:768px){.timeline__item{margin-bottom:2.5em}.timeline__line,.timeline__marker{left:50%;transform:translateX(-50%)}.timeline__line{bottom:-2em;display:block;opacity:.6;top:1.8em;width:2px}.timeline__content{margin-left:0;margin-top:1.6em;text-align:left}}@media (max-width:600px){.timeline__content{border-radius:10px;padding:1em}.timeline__marker{height:1.2em;top:.2em;width:1.2em}.timeline__title{font-size:1.05rem}}@media (prefers-reduced-motion:reduce){.timeline__item{animation:none;opacity:1;transform:none}.timeline__content,.timeline__marker{transition:none}}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}.section.publications{margin-top:0}.publications{margin:0 auto;max-width:900px;padding:2em 0}.publications__list{list-style:none;margin:0;padding:0}.publication__year-group{animation:pub-fade-in .52s ease forwards;margin-bottom:2.25em;opacity:0;transform:translateY(12px)}.publication__year-group:nth-of-type(2){animation-delay:60ms}.publication__year-group:nth-of-type(3){animation-delay:.1s}.publication__year-group:nth-of-type(4){animation-delay:.14s}.publication__year-heading{border-bottom:2px solid var(--clr-primary);line-height:1;margin:0 0 .9em;padding-bottom:6px}.publication__year-pill{background:color-mix(in srgb,var(--clr-primary) 12%,#0000);border-radius:999px;color:var(--clr-primary);font-size:1.05rem;font-weight:800;padding:.25rem .6rem}.publication__item{animation:pub-item-in .42s ease forwards;line-height:1.55;margin:0 0 .85em;opacity:0;transform:translateY(8px)}.publications__list>.publication__item:first-child{animation-delay:90ms}.publications__list>.publication__item:nth-child(2){animation-delay:.12s}.publications__list>.publication__item:nth-child(3){animation-delay:.15s}.publications__list>.publication__item:nth-child(4){animation-delay:.18s}.publications__list>.publication__item:nth-child(5){animation-delay:.21s}.publication__title{color:var(--clr-primary);font-weight:700;text-decoration:underline;text-decoration-color:#0000;text-decoration-thickness:2px;text-underline-offset:2px;transition:color .16s ease,text-decoration-color .18s ease,text-underline-offset .18s ease,text-decoration-thickness .18s ease}.publication__title:focus-visible,.publication__title:hover{color:color-mix(in srgb,var(--clr-primary) 88%,#fff 12%);outline:none;text-decoration-color:var(--clr-primary);text-underline-offset:3px}.publication__title--nolink{cursor:default}.publication__authors,.publication__conference{color:var(--clr-fg-alt);font-style:italic}.publication__conference cite{font-style:normal}@media (max-width:600px){.publication__year-pill{font-size:.95rem}.publication__item{font-size:.96em}}@media (prefers-reduced-motion:reduce){.publication__item,.publication__title:after,.publication__year-group{animation:none!important;opacity:1!important;transform:none!important;transition:none!important}}@keyframes pub-fade-in{to{opacity:1;transform:translateY(0)}}@keyframes pub-item-in{to{opacity:1;transform:translateY(0)}}.section.skills{margin-top:0}.skills__list{display:flex;flex-wrap:wrap;justify-content:center;margin:0 auto;width:95%}.skills__list-item{align-items:center;animation:skills-fade-in .52s ease forwards;display:inline-flex;margin:.5em;opacity:0;transform:translateY(12px) scale(.98);transition:transform .18s ease,box-shadow .18s ease,background-color .18s ease,border-color .18s ease,opacity .18s ease;will-change:transform,box-shadow}.skills__list-item:first-child{animation-delay:40ms}.skills__list-item:nth-child(2){animation-delay:80ms}.skills__list-item:nth-child(3){animation-delay:.12s}.skills__list-item:nth-child(4){animation-delay:.16s}.skills__list-item:nth-child(5){animation-delay:.2s}.skills__list-item:nth-child(6){animation-delay:.24s}.skills__list-item:nth-child(7){animation-delay:.28s}.skills__list-item:nth-child(8){animation-delay:.32s}.skills__list-item:nth-child(9){animation-delay:.36s}.skills__list-item:nth-child(10){animation-delay:.4s}.skills__list-item:hover{box-shadow:0 10px 22px #00000024;transform:translateY(-3px) scale(1.02)}.skills__list-item:active{transform:translateY(-1px) scale(.99)}.skills__list-item:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--clr-primary) 35%,#0000);outline:none;transform:translateY(-2px)}@media (prefers-reduced-motion:reduce){.skills__list-item{animation:none;opacity:1;transform:none;transition:none}}@keyframes skills-fade-in{to{opacity:1;transform:translateY(0) scale(1)}}.blogs{margin:0 auto;max-width:900px;padding:2em 0}.section.blogs{margin-top:0}.blogs__list{list-style-type:none;margin:0;padding:0}.blog__item{align-items:flex-start;animation:blog-in .52s ease forwards;animation-delay:0ms;animation-delay:calc(40ms*var(--i, 0));display:flex;margin-bottom:2em;opacity:0;transform:translateY(14px)}.blog__image-container{flex:0 0 150px;margin-right:1.5em}.blog__image{background:var(--clr-bg-alt);border-radius:8px;box-shadow:var(--shadow);height:150px;object-fit:cover;width:150px}.blog__image--placeholder{background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--clr-primary) 14%,#0000),color-mix(in srgb,var(--clr-primary) 14%,#0000) 10px,color-mix(in srgb,var(--clr-primary) 8%,#0000) 10px,color-mix(in srgb,var(--clr-primary) 8%,#0000) 20px);display:block}.blog__content{flex:1 1;min-width:0}.blog__title{text-decoration:underline;text-decoration-color:#0000;text-decoration-thickness:2px;text-underline-offset:2px;transition:color .16s ease,text-decoration-color .18s ease,text-underline-offset .18s ease,text-decoration-thickness .18s ease}.blog__title:focus-visible,.blog__title:hover{color:color-mix(in srgb,var(--clr-primary) 88%,#fff 12%);outline:none;text-decoration-color:var(--clr-primary);text-decoration-thickness:2px;text-underline-offset:3px}.blog__title--nolink{cursor:default}.blog__date{color:var(--clr-fg-alt);font-size:.9em;margin-bottom:.8em;margin-top:.5em}.blog__description{color:var(--clr-fg);font-size:1em}.load-more-btn{background-color:var(--clr-bg-alt);border:2px solid var(--clr-primary);border-radius:8px;color:var(--clr-primary);cursor:pointer;display:inline-block;font-size:1em;margin-top:2em;padding:.8em 1.6em;text-transform:uppercase;transition:transform .16s ease,box-shadow .16s ease,background-color .18s ease,color .18s ease,border-color .18s ease;will-change:transform,box-shadow}.load-more-btn:hover{background-color:var(--clr-primary);border-color:color-mix(in srgb,var(--clr-primary) 85%,#fff 15%);box-shadow:0 10px 22px #00000024;color:var(--clr-bg);transform:translateY(-2px)}.load-more-btn:active{transform:translateY(-1px) scale(.99)}.load-more-btn:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--clr-primary) 35%,#0000);outline:none}@media (max-width:700px){.blog__item{align-items:center;flex-direction:column;text-align:center}.blog__image-container{margin-bottom:1em;margin-right:0;max-width:420px;width:100%}.blog__image{height:auto;width:100%}.blog__content{width:100%}}@media (prefers-reduced-motion:reduce){.blog__item,.blog__title:after,.load-more-btn{animation:none!important;box-shadow:none!important;opacity:1!important;transform:none!important;transition:none!important}}@keyframes blog-in{to{opacity:1;transform:translateY(0)}}.loader{align-items:center;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:9999}.spinner{animation:spin 1s linear infinite;border-top:6px solid var(--clr-bg-alt);border:6px solid var(--clr-bg-alt);border-radius:50%;border-top-color:var(--clr-primary);height:50px;width:50px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.scroll-top{background-color:initial;bottom:2em;position:fixed;right:4em}@media (max-width:900px){.scroll-top{display:none}}.footer{margin-top:4em;padding:3em 0;text-align:center}.footer__link{color:var(--clr-fg);font-size:.9rem;font-weight:600}@media (max-width:600px){.footer{margin-top:3em;padding:2em}}.app{background-color:var(--clr-bg);color:var(--clr-fg);font-family:Source Code Pro,monospace;line-height:1.5}#top{min-height:100vh!important}.light{--clr-bg:#fcfcfc;--clr-bg-alt:#fff;--clr-fg:#555;--clr-fg-alt:#444;--clr-primary:#2978b5;--shadow:#64646f33 0px 7px 29px 0px}.dark{--clr-bg:#23283e;--clr-bg-alt:#2a2f4c;--clr-fg:#bdbddd;--clr-fg-alt:#cdcdff;--clr-primary:#90a0d9;--shadow:#00000029 0px 10px 36px 0px,#0000000f 0px 0px 0px 1px}main{margin:0 auto;max-width:1100px;width:95%}.section{margin-top:5em}.section__title{margin-bottom:1em;text-align:center;text-transform:uppercase}.center{align-items:center;display:flex}.link{padding:0 0 .3em;position:relative}.link,.link:hover{color:var(--clr-primary)}.link:before{background-color:var(--clr-primary);bottom:0;content:"";display:inline;height:.2em;position:absolute;transition:width .2s ease-in;width:0}.link:focus:before,.link:hover:before{width:100%}.link--nav{font-weight:500;text-transform:lowercase}.link--icon,.link--nav{color:var(--clr-fg)}.btn{cursor:pointer;display:block;font-size:.9rem;font-weight:500;padding:.8em 1.4em;text-transform:lowercase;transition:transform .2s ease-in-out}.btn--outline{border:2px solid var(--clr-primary);color:var(--clr-primary);overflow:hidden;position:relative;z-index:1}.btn--outline:focus,.btn--outline:hover{color:var(--clr-bg)}.btn--outline:before{background-color:var(--clr-primary);bottom:0;content:"";left:0;position:absolute;right:100%;top:0;transition:right .2s ease-in-out;z-index:-1}.btn--outline:focus:before,.btn--outline:hover:before{right:0}.btn--plain{background-color:var(--clr-bg-alt);border:0;box-shadow:0 3px 3px 0 #00000026;text-transform:none}.btn--plain:hover{transform:translateY(-4px)}.btn--icon{padding:0}.btn--icon:focus,.btn--icon:hover{color:var(--clr-primary)}.btn--icon:active{transform:translateY(-5px)}@media (max-width:600px){.section{margin-top:4em}}*{background-color:inherit;border:0;box-shadow:none;box-sizing:border-box;color:inherit;font-family:inherit;font-size:inherit;margin:0;outline:0;padding:0}html{scroll-behavior:smooth}h1,h2,h3,h4{color:var(--clr-fg-alt);line-height:1.2}h1{font-size:4rem}h2{font-size:2rem}h3{font-size:1.5rem}h4{font-size:1.3rem}ul{list-style-type:none}a{text-decoration:none}button{cursor:pointer}@media (max-width:900px){h1{font-size:2.6rem}}
/*# sourceMappingURL=main.2c4251b1.css.map*/