@import url(https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Permanent+Marker&display=swap);:root{--main-bg-color:#1a1a1a;--main-text-color:#d3d3d3;--params-bg-color:#d3d3d3;--highlight-color:#2e8b57;--highlight-hover-color:#21653e;--title-font-family:"Permanent Marker",cursive;--text-font-family:"Montserrat",sans-serif;--font-weight:400}.light{--main-bg-color:#f3f3f3;--main-text-color:#1a1a1a;--params-bg-color:#2a2a2a;--highlight-color:#2e8b57;--font-weight:500}*{box-sizing:border-box!important;margin:0;padding:0}body{font-family:var(--text-font-family);width:100%}body,body.light{background-color:var(--main-bg-color);color:var(--main-text-color);font-weight:var(--font-weight)}body::-webkit-scrollbar{display:none}.main--container{display:flex;flex-direction:column;height:100vh}.main--container>*{padding-inline:8vh}.layout--main{background-color:var(--main-bg-color);display:flex;flex:1 1;flex-direction:column}.highlight-text{color:var(--highlight-color);font-weight:600}@keyframes fadeInScale{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.staged-fadein-scale{animation:fadeInScale .9s forwards;opacity:0}.staged-appear{animation:fadeInUp .7s forwards;opacity:0}.staged-fadein-scale.delay-1{animation-delay:.2s}.staged-appear.delay-2{animation-delay:1.2s}.staged-appear.delay-3{animation-delay:1.7s}.staged-appear.delay-4{animation-delay:2.3s}.invisible{opacity:0!important;pointer-events:none}.toggle-switch{align-self:flex-end;cursor:pointer;height:22px;margin:auto;position:relative;width:45px}.toggle-switch input{height:0;opacity:0;width:0}.slider{background-color:#2e8b57;bottom:0;left:0;position:absolute;right:0;top:0;transition:.4s}.slider,.slider.round{border-radius:34px}.slider.round:before{background-color:#fff;border-radius:50%;bottom:2.59px;content:"";height:16.82px;left:2.59px;position:absolute;transition:.4s;width:16.82px}input:checked+.slider{background-color:#2e8b57}input:checked+.slider:before{transform:translateX(22px)}@media (max-width:1100px){.main--container>*{padding-inline:5vh}}@media (max-width:480px){:root{--mobile-padding-inline:4vh}.main--container>*{padding-inline:var(--mobile-padding-inline)}}.header--page{align-items:center;display:flex;flex-direction:row;height:15vh;justify-content:space-between;margin-bottom:3vh;z-index:10}.header--logo{width:70px}.header--page>div>nav{align-items:center;display:flex;flex-direction:row;gap:5vh;justify-content:space-between}.header--link{border:1px solid #0000;border-radius:999px;color:var(--main-text-color);display:inline-block;font-size:1.125rem;font-weight:500;padding:.25rem .75rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease-out}.header--link:hover{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:linear-gradient(135deg,#ffffff1f,#ffffff08);border:1px solid #ffffff2e;box-shadow:0 4px 12px #0000000d;transform:scale(1.03)}.header--link.selected{backdrop-filter:blur(16px) saturate(200%);-webkit-backdrop-filter:blur(16px) saturate(200%);background:linear-gradient(135deg,#ffffff29,#ffffff0f);border:1px solid #ffffff40;border-radius:999px;box-shadow:0 8px 24px #00000014,inset 0 1px 1px #fff3;color:var(--highlight-color)}.light .header--link:hover{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);background:linear-gradient(135deg,#ffffff40,#ffffff0d);border:1px solid #0000000f;border-radius:999px;box-shadow:0 4px 14px #00000005;transform:scale(1.03)}.light .header--link.selected{backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);background:linear-gradient(135deg,#ffffff38,#ffffff14);border:1px solid #00000014;border-radius:999px;box-shadow:0 8px 24px #0000000a,inset 0 1px 1px #ffffffd9;color:var(--highlight-color)}.header--page>div>nav>div{align-items:center;display:flex;flex-direction:row;gap:2vw;justify-content:center}.gear-icon>img,.header--contact>img{transition:transform .3s ease;width:2rem}.header--contact{align-items:center;display:inline-flex;position:relative}.header--contact-tooltip{background-color:var(--main-text-color);border-radius:6px;bottom:-2.6rem;box-shadow:0 6px 12px #0000001f;color:var(--main-bg-color);font-size:.8rem;left:50%;opacity:0;padding:.35rem .6rem;pointer-events:none;position:absolute;transform:translateX(-50%) translateY(6px);transition:opacity .18s ease,transform .18s ease;white-space:nowrap;z-index:1100}.header--contact-tooltip:after{border-bottom:6px solid var(--main-text-color);border-left:6px solid #0000;border-right:6px solid #0000;content:"";height:0;left:50%;position:absolute;top:-6px;transform:translateX(-50%);width:0}.header--contact:hover .header--contact-tooltip{opacity:1;pointer-events:auto;transform:translateX(-50%) translateY(0)}.gear-icon{background-color:initial;border:none;cursor:pointer;margin:auto}.header--params{align-items:stretch;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 12px 32px #00000040,inset 0 1px 0 #ffffff1a;display:flex;flex-direction:column;gap:.5rem;max-width:320px;min-width:220px;padding:.75rem;position:absolute;right:1rem;top:12vh;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;width:auto}.light .header--params{backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);background:linear-gradient(135deg,#fff3,#ffffff0d);border:1px solid #00000012;box-shadow:0 12px 32px #00000008,inset 0 1px 1px #ffffffd9}.header--params-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:.35rem .5rem}.header--params-title{color:var(--main-text-color);font-size:.95rem;font-weight:800}.header--params-close{background:#0000;border:none;border-radius:6px;color:var(--main-text-color);cursor:pointer;font-size:1.1rem;line-height:1;padding:.15rem .35rem;transition:background-color .2s ease}.header--params-close:hover{background-color:#ffffff14}.light .header--params-close:hover{background-color:#0000000d}.header--params-content{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.param-row{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.param-label{color:var(--main-text-color);font-size:.9rem;font-weight:600}.param-controls{align-items:center;display:flex;gap:.5rem}.language-btn{background:#0000;border:1px solid #ffffff0f;border-radius:6px;color:var(--main-text-color);cursor:pointer;font-weight:700;padding:.25rem .5rem}.language-btn.active-language{background:var(--highlight-color);border-color:#0000;color:var(--main-bg-color)}@media (max-width:1100px){.header--page{height:15vh}.header--logo{width:60px}.header--page>nav{gap:3vh}.header--page>nav>div{gap:1.5vh}}@media (max-width:1250px){.header--params{position:absolute;right:2vw;top:12vh;width:20vw}}@media (max-width:480px){.header--page{background-color:var(--main-bg-color);height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;margin-bottom:0;padding-top:3vh;position:-webkit-sticky;position:sticky;top:0;z-index:1000}.header--logo{width:50px}.header--link{font-size:1.1rem}.switch-container{align-items:center;display:flex;gap:10px}.switch{display:inline-block;height:20px;position:relative;width:41.7px}.switch input{height:0;opacity:0;width:0}.moon-icon,.sun-icon{color:var(--highlight-color);cursor:pointer;font-size:1.3rem}.navbar--container{background-color:var(--highlight-color);border-radius:10px;bottom:8%;left:var(--mobile-padding-inline);opacity:.95;padding:1.8vh 0;position:fixed;right:var(--mobile-padding-inline);z-index:1000}.navbar--list{justify-content:space-around;list-style:none}.navbar--link,.navbar--list{align-items:center;display:flex}.navbar--link{cursor:pointer;justify-content:center}.selected .navbar--icon{color:var(--main-text-color)}.navbar--icon{color:var(--main-bg-color);font-size:1.4rem}.navbar--params{align-items:stretch;backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);background:linear-gradient(135deg,#191919e0,#0f0f0feb);border:1px solid #ffffff1f;border-radius:16px;bottom:9vh;box-shadow:0 12px 32px #00000040,inset 0 1px 0 #ffffff1a;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;position:absolute;right:1rem;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;width:min(78vw,320px);z-index:1100}.light .navbar--params{backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);background:linear-gradient(135deg,#fffffff0,#f5f5f5f5);border:1px solid #0000001a;box-shadow:0 12px 32px #0000000f,inset 0 1px 1px #ffffffd9}.navbar--params-header{align-items:center;display:flex;gap:.5rem;justify-content:space-between;padding:.35rem .5rem}.navbar--params-title{color:var(--main-text-color);font-size:.95rem;font-weight:800}.navbar--params-close{background:#0000;border:none;border-radius:6px;color:var(--main-text-color);cursor:pointer;font-size:1.1rem;line-height:1;padding:.15rem .35rem;transition:background-color .2s ease}.navbar--params-close:hover{background-color:#ffffff14}.light .navbar--params-close:hover{background-color:#0000000d}.navbar--params-content{display:flex;flex-direction:column;gap:.5rem;padding:.5rem}.navbar--params-section{display:flex;flex-direction:column;gap:.45rem}.navbar--params-links{display:flex;flex-direction:column;gap:.4rem}.navbar--params-link{align-items:center;background-color:#ffffff0a;border:1px solid #ffffff0f;border-radius:8px;color:var(--main-text-color);display:flex;gap:.7rem;padding:.55rem .6rem;text-decoration:none;transition:transform .18s ease,background-color .18s ease}.light .navbar--params-link{background-color:#00000005;border:1px solid #0000000a}.navbar--params-link:hover{background-color:#ffffff14;cursor:pointer;transform:translateY(-1px)}.light .navbar--params-link:hover{background-color:#0000000d}.navbar--params-link>img{flex:0 0 auto;width:1.4rem}.navbar--params-link>img.email{padding:.12rem}.navbar--params-text{font-size:.9rem;font-weight:500}}.home--page{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:3vh;margin:0 auto;width:50%}.home--page>h1{color:var(--highlight-color);font-family:var(--title-font-family);font-size:6rem;font-weight:600;margin-top:12vh}.home--page h3{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:linear-gradient(135deg,#ffffff1f,#ffffff08);border:1px solid #ffffff2e;border-radius:999px;box-shadow:0 4px 12px #0000000d;color:var(--main-text-color);cursor:pointer;display:inline-block;font-size:.7rem;font-weight:600;margin-right:auto;padding:.3rem .75rem;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease-out,color .3s ease}.light .home--page h3{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);background:linear-gradient(135deg,#ffffff40,#ffffff0d);border:1px solid #0000000f;box-shadow:0 4px 14px #00000005}.home--page h3:hover{color:var(--highlight-color);transform:scale(1.03)}.home--page>p{color:var(--main-text-color);font-size:1rem;font-weight:var(--font-weight);line-height:1.6;text-align:justify}.home--links{align-items:center;display:flex;flex-direction:row;gap:2vh;margin-top:1vh}.home--link{backdrop-filter:blur(0);-webkit-backdrop-filter:blur(0);background:#0000;border:1px solid #0000;border-radius:999px;color:var(--main-text-color);display:inline-block;font-size:1.1rem;padding:.6rem .75rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease-out,color .3s ease}.home--link:hover{backdrop-filter:blur(12px) saturate(180%);-webkit-backdrop-filter:blur(12px) saturate(180%);background:linear-gradient(135deg,#ffffff1f,#ffffff08);border-color:#ffffff2e;box-shadow:0 4px 12px #0000000d;color:var(--highlight-color);text-decoration:none;transform:scale(1.03)}.light .home--link:hover{backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);background:linear-gradient(135deg,#ffffff40,#ffffff0d);border-color:#0000000f;border-radius:999px;box-shadow:0 4px 14px #00000005;transform:scale(1.03)}@media (max-width:1100px){.home--page>p{max-width:100%}}@media (max-width:1250px){.home--page{width:90%}}@media (max-width:480px){.home--page{gap:5vh;margin:0 auto;width:90%}.home--page>h1{font-size:4rem;margin-top:8vh}.home--page>p{font-size:1rem;line-height:1.6;margin-bottom:5vh;max-width:100%;text-align:left}.home--links{flex-direction:column;gap:1.5vh;width:100%}.home--link{padding:.75rem 0;text-align:center;width:100%}}.works--page{display:flex;flex:1 1;flex-direction:row;gap:2vw;justify-content:space-between;width:100%}.project--navigation{display:flex;flex-direction:column;margin-top:6vh;max-height:80vh;position:relative}.project--selected-languages{display:flex;flex-direction:row;flex-wrap:wrap;gap:.4vw;margin:.5vh 0;padding-left:.8vw}.project--selected-language{align-items:center;border:.5px solid var(--main-text-color);border-radius:5px;box-shadow:0 0 5px #ffffff80;display:flex;flex-direction:row;font-size:.6rem;font-weight:500;gap:.25vw;justify-content:center;padding:.1vh .25vw}.project--selected-language,.project--selected-language-button{background-color:var(--main-text-color);color:var(--main-bg-color)}.project--selected-language-button{border:none}.project--selected-language:hover{background-color:var(--main-text-color);color:var(--main-bg-color);cursor:pointer}.project--navigation-button{align-self:center;background-color:var(--highlight-color);border:none;border-radius:100%;bottom:40px;color:var(--main-bg-color);font-size:1rem;font-weight:900;height:25px;left:50%;position:absolute;transform:translateX(-50%);transition:.2s ease;width:25px;z-index:1000}.project--navigation-button:hover{cursor:pointer}.project--navigation-button .project--navigation-icon{fill:currentColor;display:inline-block;height:.9em;vertical-align:middle;width:.9em}.project--thumbnails{-ms-overflow-style:none;display:flex;flex-direction:column;gap:3vh;overflow-y:auto;scrollbar-width:none}.project--thumbnail{-webkit-tap-highlight-color:transparent;align-items:flex-start;border:1px solid #0000;border-radius:12px;display:flex;flex-direction:row;gap:2vh;justify-content:flex-start;outline:none;padding:.8vw;text-decoration:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease-out;width:25vw}.project--thumbnail:hover{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);background:linear-gradient(135deg,#ffffff14,#ffffff05);border:1px solid #ffffff1a;box-shadow:0 8px 20px #0000001f;cursor:pointer}.project--thumbnail.active{backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);background-color:#ffffff1f;border:1px solid #ffffff2e;box-shadow:inset 0 0 0 1px #ffffff14,0 10px 25px #00000038}.project--thumbnail.active:hover{background-color:#ffffff24;border-color:#ffffff38;box-shadow:inset 0 0 0 1px #ffffff1a,0 12px 28px #00000042}.project--thumbnail-image{border-radius:6px;width:13vw}.project--thumbnail-right{display:flex;flex-direction:column;height:100%;justify-content:space-between}.project--thumbnail-title{align-items:center;color:var(--main-text-color);display:flex;flex-direction:row;font-size:1rem;font-weight:600;gap:.5vw}.project--thumbnail-icon{fill:var(--main-text-color);transition:fill .3s ease}.project--thumbnails-languages{display:flex;flex-direction:row;gap:.4vw;margin-top:.5vh;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.project--thumbnail-language{border:.5px solid var(--main-text-color);border-radius:5px;color:var(--main-text-color);font-size:.6rem;font-weight:500;padding:.1vh .25vw}.project--thumbnail-language:hover{background-color:var(--main-text-color);color:var(--main-bg-color);cursor:pointer}.project--title{color:var(--highlight-color);font-family:var(--title-font-family);font-size:3rem;text-align:center}.project--images{grid-gap:clamp(1rem,1.5vw,1.5rem);align-items:start;display:grid;gap:clamp(1rem,1.5vw,1.5rem);grid-template-columns:repeat(3,minmax(0,1fr));justify-content:center;overflow:visible}.project--image-grid-item{min-width:0;width:100%}.project--image-shell{aspect-ratio:16/9;background-color:initial;border:1px solid #ffffff14;border-radius:12px;box-shadow:0 8px 18px #00000024;overflow:hidden;position:relative;transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease;width:100%}.project--image-placeholder{animation:imagePlaceholderPulse 1.4s ease-in-out infinite;backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);background-color:#ffffff14;border-radius:inherit;inset:0;position:absolute}@keyframes imagePlaceholderPulse{0%,to{opacity:.55}50%{opacity:.95}}.fullscreen-image,.project--image{border-radius:inherit;height:100%;object-fit:contain;transition:opacity .2s ease,transform .3s ease,box-shadow .3s ease;width:100%}.fullscreen-image.project--image-loading,.project--image-loading{opacity:0}.fullscreen-image.project--image-loaded,.project--image-loaded{opacity:1}.project--image:hover{cursor:pointer;transform:none}.project--image-shell:hover{border-color:#ffffff24;box-shadow:0 14px 28px #0000002e;transform:scale(1.015)}.project--info{align-items:flex-start;color:var(--main-text-color);display:flex;justify-content:space-between;margin:3vh 0 auto 1vh;padding:0 4vh 0 3vh;position:relative}.project--text{display:flex;flex-direction:column;gap:3vh;line-height:1.6;text-align:left;width:60%}.project--description-link{color:var(--main-text-color);font-weight:700;text-decoration:none}.project--description-link:hover{color:var(--highlight-color)}.project--links{backdrop-filter:blur(16px) saturate(180%);-webkit-backdrop-filter:blur(16px) saturate(180%);background:linear-gradient(135deg,#ffffff0f,#ffffff05);border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 12px 32px #00000040,inset 0 1px 0 #ffffff1a;display:flex;flex-direction:column;gap:.85rem;padding:1.2rem;width:35%}.project--link{align-items:center;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);background:linear-gradient(135deg,#ffffff0d,#ffffff03);border:1px solid #ffffff0f;border-radius:10px;color:var(--main-text-color);display:flex;font-weight:700;gap:.75rem;justify-content:space-between;letter-spacing:.01em;margin:0;padding:.8rem .9rem;text-decoration:none;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .15s ease-out}.project--link:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff08);border-color:#ffffff26;box-shadow:0 6px 16px #00000026,inset 0 1px 0 #ffffff1a;text-decoration:none;transform:scale(1.02)}.light .project--thumbnail:hover{backdrop-filter:blur(24px) saturate(150%);-webkit-backdrop-filter:blur(24px) saturate(150%);background:linear-gradient(135deg,#ffffff40,#ffffff0d);border:1px solid #0000000f;box-shadow:0 6px 18px #00000008}.light .project--thumbnail:active,.light .project--thumbnail:focus{box-shadow:none;outline:none}.light .project--thumbnail.active{backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);background:linear-gradient(135deg,#ffffff40,#ffffff0d);border:1px solid #00000014;box-shadow:0 8px 24px #0000000a,inset 0 1px 1px #ffffffd9}.light .project--thumbnail.active:hover{background:linear-gradient(135deg,#ffffff4d,#ffffff1a);border-color:#0000001f;box-shadow:0 10px 28px #0000000f,inset 0 1px 1px #ffffffe6}.light .project--links{backdrop-filter:blur(24px) saturate(160%);-webkit-backdrop-filter:blur(24px) saturate(160%);background:linear-gradient(135deg,#fff3,#ffffff0d);border:1px solid #00000012;box-shadow:0 12px 32px #00000008,inset 0 1px 1px #ffffffd9}.light .project--link{backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);background:linear-gradient(135deg,#ffffff59,#ffffff14);border:1px solid #0000000d}.light .project--link:hover{background:linear-gradient(135deg,#ffffff8c,#ffffff26);border-color:#00000017;box-shadow:0 6px 14px #00000008,inset 0 1px 1px #fff9;transform:translateY(-2px)}.project--useful-links{align-items:center;color:var(--highlight-color);display:flex;font-size:1.15rem;gap:.5rem;margin-bottom:.15rem}.project--github-link{margin-right:10vw;transition:.2s ease;width:100px}.project--github-link:hover{cursor:pointer;transform:scale(1.1) rotate(1turn)}.fullscreen-nav{align-items:center;backdrop-filter:blur(10px) saturate(160%);-webkit-backdrop-filter:blur(10px) saturate(160%);background-color:#ffffff14;border:1px solid #ffffff24;border-radius:999px;color:var(--main-text-color);cursor:pointer;display:flex;font-size:1.8rem;height:3rem;justify-content:center;line-height:1;margin:0 .5rem;transition:transform .18s ease,background-color .18s ease,border-color .18s ease;width:3rem;z-index:1001}.fullscreen-nav:hover{background-color:#ffffff1f;border-color:#ffffff38;transform:scale(1.05)}.fullscreen-nav:active{transform:scale(.98)}.fullscreen-nav-next,.fullscreen-nav-prev{align-self:center}.fullscreen-modal{align-items:center;background-color:#000c;cursor:pointer;height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:1000}.dots,.fullscreen-modal{display:flex;justify-content:center}.dots{margin:2vh 0 0}.dots--container{display:flex;flex-direction:row;margin:0 8px}.dot{background-color:#ffffff80;border-radius:50%;cursor:pointer;height:8px;margin:0 5px;width:8px}.dot.active{background-color:#fff}.dots>button{align-items:center;background-color:initial;border:none;border-radius:100%;color:var(--main-text-color);display:flex;height:10px;justify-content:center;margin-top:.1vh;transition:transform .3s ease;width:10px}.dots>button:hover{transform:scale(2) translateY(.08vh)}.project--pagination{display:flex;flex-direction:row;gap:2vh;justify-content:center;list-style:none;margin-bottom:3vh}.project--pagination-item-container{align-items:center;background-color:#2a2a2a;border-radius:5px;display:flex;height:30px;justify-content:center;width:30px}.project--pagination-item{color:#fff;cursor:pointer;font-size:18px;font-weight:500;text-decoration:none;transition:transform .3s ease}.project--container>button:hover{box-shadow:0 0 10px 0 var(--highlight-color);transform:scale(1.05)}.research--page{align-items:center;flex:1 1;flex-direction:column}@media (max-width:1100px){.works--page>div>ul{border-right:1px solid #d3d3d3;display:flex;flex-direction:column;font-size:15px;gap:3vh;list-style:none;padding-right:10vh}.project--navigation{margin-right:3vw}.project--thumbnail{width:100%}.project--container{gap:2vh;margin-bottom:3vh}.project--top{flex-direction:column;font-size:15px;gap:3vh;text-align:center}.project--container>h2{padding:1vh 0}.project--top>img{align-self:center;width:100%}.project--top>img.rapizza{width:100%}.project--top>div>p{font-size:13px}.project--nav{width:100%}.project--nav>button{flex:1 1;font-size:14px;padding:2vh 20vh}.project-intro--container>h1{text-align:center}.project-intro--container>p{font-size:16px;text-align:justify}.container{margin-top:10vh}.project--title{font-size:2.5rem}.project--images{gap:1rem;grid-template-columns:1fr;padding:2vh 0 0}.project--info{flex-direction:column;gap:2vh;margin:0;padding:0 1vw}.project--links,.project--text{width:100%}.project--links{margin-bottom:3vh;max-width:none}}@media (max-width:1250px){.project--images{gap:.9rem;grid-template-columns:repeat(3,minmax(0,1fr));padding:1.5vh 0 2vh}.project--images,.project--info{margin:0 auto;width:min(100%,860px)}.project--info{flex-direction:column;gap:2vh;padding:0}.project--links,.project--text{width:100%}}@media (max-width:480px){.container{margin-top:0}.project-page{gap:3vh;margin:2vh 0 20vh}.project--images,.project-page{display:flex;flex-direction:column}.project--images{align-items:center;justify-content:center;padding:3vh}.project--image{height:100%;width:100%}.project--info{flex-direction:column;gap:2vh;margin:0;padding:0 1vw}.project--menu{background-color:initial;border:none;color:var(--main-text-color);font-family:var(--text-font-family);font-size:1rem;font-weight:700}.project--menu:hover{cursor:pointer;text-decoration:underline}.project--menu-title{color:var(--main-text-color)}.project--text{font-size:.9rem;gap:2vh;line-height:1.4;width:100%}.project--links{width:100%}.project--nav{align-items:center;display:flex;justify-content:space-between;padding:0 1vw}.project--thumbnails{background-color:var(--main-bg-color);padding:2vh}.project--thumbnail{width:100%}.project--thumbnail-image{border-radius:6px;height:10vh;width:30vw}.project--thumbnail-title{color:var(--main-text-color);font-size:.9rem}.project--thumbnail-language{font-size:.6rem;margin-right:.5vw;padding:.1vh .25vw}}.about--page{display:flex;justify-content:center;padding:6vh 0}.about--container{display:flex;flex-direction:column;gap:5vh;width:90%}.about--header{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between}.about--header>h1{color:var(--highlight-color);font-family:var(--title-font-family);font-size:clamp(2.5rem,5vw,4rem);font-weight:900;margin:0}.about--cv-btn{align-items:center;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);background:linear-gradient(135deg,#ffffff0d,#ffffff03);border:1px solid #fff3;border-radius:12px;box-shadow:0 4px 12px #0000001a;color:var(--main-text-color);display:inline-flex;font-family:var(--text-font-family);font-size:1rem;font-weight:700;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:scale(1) translateZ(0),transform .15s ease-out,background .2s ease,border-color .2s ease,box-shadow .2s ease,color .2s ease}.about--cv-btn:hover{background:linear-gradient(135deg,#ffffff1f,#ffffff08);border-color:#ffffff26;box-shadow:0 6px 16px #00000026,inset 0 1px 0 #ffffff1a;color:var(--highlight-color);transform:scale(1.05) translateZ(0)}.light .about--cv-btn{background:linear-gradient(135deg,#ffffff59,#ffffff14);border:1px solid #0000000d}.light .about--cv-btn:hover{background:linear-gradient(135deg,#ffffff8c,#ffffff26);border-color:#00000017;box-shadow:0 6px 14px #00000008,inset 0 1px 1px #fff9}.about--timeline{display:flex;flex-direction:column}.about--timeline-item{display:flex;flex-direction:row;gap:4vw}.about--timeline-track{align-items:center;display:flex;flex-direction:column;flex-shrink:0;position:relative;width:2rem}.about--timeline-node{backdrop-filter:blur(12px) saturate(160%);-webkit-backdrop-filter:blur(12px) saturate(160%);background:linear-gradient(135deg,#ffffff26,#2e8b5740);border:1.5px solid #ffffff40;border-radius:50%;box-shadow:0 4px 12px #0003,inset 0 0 0 3px var(--main-bg-color),0 0 0 2px var(--highlight-color);flex-shrink:0;height:20px;margin-top:.15rem;position:relative;transition:transform .25s cubic-bezier(.175,.885,.32,1.275),box-shadow .25s ease,border-color .25s ease;width:20px;z-index:2}.about--timeline-node--current{background:linear-gradient(135deg,#fff3,#2e8b5766);box-shadow:0 4px 12px #0003,inset 0 0 0 3px var(--main-bg-color),0 0 0 2px var(--highlight-color),0 0 14px #2e8b5799;height:22px;width:22px}.about--timeline-item:hover .about--timeline-node{border-color:#ffffff73;box-shadow:0 6px 16px #00000040,inset 0 0 0 2px var(--main-bg-color),0 0 0 3px var(--highlight-color),0 0 20px #2e8b57cc;transform:scale(1.25)}.light .about--timeline-node{backdrop-filter:blur(16px) saturate(140%);-webkit-backdrop-filter:blur(16px) saturate(140%);background:linear-gradient(135deg,#fff9,#2e8b5733);border:1.5px solid #ffffffa6;box-shadow:0 3px 8px #0000000d,inset 0 0 0 3px var(--main-bg-color),0 0 0 2px var(--highlight-color)}.light .about--timeline-node--current{box-shadow:0 3px 8px #0000000d,inset 0 0 0 3px var(--main-bg-color),0 0 0 2px var(--highlight-color),0 0 10px #2e8b5759}.light .about--timeline-item:hover .about--timeline-node{border-color:#fffffff2;box-shadow:0 5px 12px #00000014,inset 0 0 0 2px var(--main-bg-color),0 0 0 3px var(--highlight-color),0 0 16px #2e8b5780}.about--timeline-line{backdrop-filter:blur(16px) saturate(120%);-webkit-backdrop-filter:blur(16px) saturate(120%);background:linear-gradient(180deg,#ffffff12,#ffffff03);border:1px solid #ffffff1a;border-radius:999px;box-shadow:0 4px 12px #00000026,inset 0 1px 1px #ffffff0d;flex:1 1;margin:.5rem 0;min-height:3rem;transition:border-color .25s ease,background .25s ease,box-shadow .25s ease;width:8px;z-index:1}.about--timeline-item:hover .about--timeline-line{background:linear-gradient(180deg,#ffffff1f,#2e8b5726);border-color:#ffffff2e;box-shadow:0 6px 16px #0003,0 0 8px #2e8b5726}.light .about--timeline-line{backdrop-filter:blur(24px) saturate(130%);-webkit-backdrop-filter:blur(24px) saturate(130%);background:linear-gradient(180deg,#ffffff8c,#ffffff26);border:1px solid #0000000d;box-shadow:0 2px 6px #00000005,inset 0 1px 1px #fff6}.light .about--timeline-item:hover .about--timeline-line{background:linear-gradient(180deg,#ffffffbf,#2e8b571f);border-color:#00000017;box-shadow:0 4px 10px #0000000a,0 0 6px #2e8b571a}.about--timeline-content{display:flex;flex-direction:column;gap:.6rem;padding-bottom:4.5rem}.about--section-label{align-items:center;color:var(--highlight-color);display:inline-flex;font-family:var(--text-font-family);font-size:.68rem;font-weight:700;gap:.55rem;letter-spacing:.16em;text-transform:uppercase}.about--section-label:before{background-color:var(--highlight-color);content:"";display:inline-block;flex-shrink:0;height:1.5px;width:1.4rem}.about--paragraph{color:var(--main-text-color);font-family:var(--text-font-family);font-size:1rem;font-weight:var(--font-weight);line-height:1.6;text-align:left}.about--paragraph .highlight-text{color:var(--main-text-color);font-weight:700}.about--text-link{border-bottom:1px solid #2e8b5759;color:var(--highlight-color);font-weight:600;text-decoration:none;transition:border-color .2s ease,opacity .2s ease}.about--text-link:hover{border-color:var(--highlight-color);opacity:.85}@media (max-width:1100px){.about--timeline-content{padding-bottom:3rem}}@media (max-width:1250px){.about--page{align-items:center;justify-content:center}}@media (max-width:480px){.about--page{margin-bottom:20vh;margin-top:2vh}.about--timeline-item{gap:1rem}.about--timeline-track{width:1.5rem}.about--timeline-node{height:16px;width:16px}.about--timeline-node--current{height:18px;width:18px}.about--timeline-line{width:6px}.about--timeline-content{padding-bottom:3rem}.about--paragraph{font-size:.95rem;line-height:1.65}}.research--page{display:flex;justify-content:center;padding:5vh 0}.research--container{display:flex;flex-direction:column;gap:4vh;max-width:1400px;width:90%}.research--title{color:var(--highlight-color);font-family:var(--title-font-family);font-size:clamp(2.5rem,5vw,4rem);font-weight:900;margin:0}.research--grid{grid-gap:2.5rem;align-items:start;display:grid;gap:2.5rem;grid-template-columns:1.35fr 1fr}.research--right-stack{display:flex;flex-direction:column;gap:2rem}.research--panel{border-radius:16px;transition:border-color .25s ease,box-shadow .25s ease}.research--panel-heading{color:var(--highlight-color);font-family:var(--text-font-family);font-size:.75rem;font-weight:800;letter-spacing:.16em;margin-bottom:1.5rem;margin-top:0;text-transform:uppercase}.research--ter-panel{background:linear-gradient(145deg,#ffffff05,#00000026);border:1px solid #ffffff0a;box-shadow:0 10px 30px #0000001a;display:flex;flex-direction:column;gap:1.5rem;padding:2.5rem}.research--institution{color:var(--main-text-color);font-family:var(--text-font-family);font-size:.8rem;opacity:.5}.research--ter-content{display:flex;flex-direction:column;gap:1rem}.research--ter-title{color:var(--highlight-color);font-family:var(--title-font-family);font-size:1.75rem;margin:0}.research--ter-subtitle{font-size:1.15rem;font-weight:700;line-height:1.4;margin:0 0 .5rem}.research--ter-subtitle,.research--text{color:var(--main-text-color);font-family:var(--text-font-family)}.research--text{font-size:.95rem;line-height:1.6;margin:0}.research--actions{margin-top:auto;padding-top:1rem}.research--github-btn{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background:linear-gradient(135deg,#ffffff0f,#ffffff03);border:1px solid #ffffff14;border-radius:10px;box-shadow:0 4px 12px #0000001a;color:#fff;display:inline-flex;font-family:var(--text-font-family);font-size:.85rem;font-weight:700;gap:.65rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s cubic-bezier(.25,.8,.25,1)}.research--github-btn:hover{background:linear-gradient(135deg,#ffffff1a,#ffffff08);border-color:#ffffff2e;box-shadow:0 6px 16px #00000026;transform:translateY(-2px)}.research--github-btn:active{transform:translateY(0)}.research--interests-panel{background:#ffffff03;border:1px solid #ffffff08;padding:1.5rem}.research--pills-container{display:flex;flex-wrap:wrap;gap:.65rem}.research--pill{align-items:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:linear-gradient(135deg,#ffffff0a,hsla(0,0%,100%,.005));border:1px solid #ffffff0d;border-radius:100px;display:inline-flex;gap:.55rem;padding:.5rem 1rem;transition:all .2s ease}.research--pill:hover{background:#ffffff0f;border-color:#2e8b574d;transform:scale(1.03)}.research--pill-dot{background-color:var(--highlight-color);border-radius:50%;height:5px;width:5px}.research--pill-label{color:var(--main-text-color);font-family:var(--text-font-family);font-size:.85rem;font-weight:600}.research--literature-panel{background:#ffffff03;border:1px solid #ffffff05;padding:1.5rem}.research--deck{display:flex;flex-direction:column;gap:.75rem}.research--deck-card{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);background:linear-gradient(135deg,#ffffff08,#0000);border:1px solid #ffffff0a;border-radius:10px;display:flex;overflow:hidden;transition:all .25s cubic-bezier(.25,.8,.25,1)}.research--card-border-line{background:var(--highlight-color);opacity:.15;transition:opacity .25s ease;width:3px}.research--card-inner{display:flex;flex:1 1;flex-direction:column;gap:.4rem;padding:1rem 1.25rem}.research--paper-title{color:var(--main-text-color);font-family:var(--text-font-family);font-size:.9rem;font-weight:700;line-height:1.4;margin:0}.research--paper-meta{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-top:.2rem}.research--paper-authors{color:var(--main-text-color);font-family:var(--text-font-family);font-size:.78rem;opacity:.5}.research--paper-venue{background:#2e8b570d;border:1px solid #2e8b571a;border-radius:4px;color:var(--highlight-color);font-family:var(--text-font-family);font-size:.7rem;font-weight:700;padding:.15rem .45rem}.research--deck:hover .research--deck-card:not(:hover){filter:blur(.5px);opacity:.4;transform:scale(.99)}.research--deck-card:hover{background:linear-gradient(135deg,#ffffff0d,hsla(0,0%,100%,.005));border-color:#ffffff1f;transform:translateX(4px)}.research--deck-card:hover .research--card-border-line{opacity:1}.light .research--ter-panel{background:linear-gradient(145deg,#fff,#fff6);border-color:#0000000a;box-shadow:0 10px 30px #00000005}.light .research--github-btn{background:linear-gradient(135deg,#ffffffe6,#fff6);border-color:#0000000f;box-shadow:0 2px 8px #00000005;color:var(--main-text-color)}.light .research--github-btn:hover{background:#fff;border-color:#0000001f;box-shadow:0 4px 12px #0000000a;color:var(--highlight-color)}.light .research--interests-panel{background:#00000003;border-color:#00000008}.light .research--pill{background:linear-gradient(135deg,#fffc,#ffffff4d);border-color:#0000000a}.light .research--pill:hover{background:#fff;border-color:#2e8b5740}.light .research--literature-panel{background:#fff6;border-color:#00000005}.light .research--deck-card{background:linear-gradient(135deg,#fffc,#fff6);border-color:#0000000a}.light .research--deck-card:hover{background:#fff;border-color:#00000014}.light .research--paper-venue{background:#2e8b570a;border-color:#2e8b571f}@media (max-width:1024px){.research--grid{gap:2rem;grid-template-columns:1fr}}@media (max-width:480px){.research--container{width:88%}.research--ter-panel{padding:1.5rem}.research--ter-title{font-size:1.45rem}.research--github-btn{justify-content:center;width:100%}.research--literature-panel{margin-bottom:10vh}}
/*# sourceMappingURL=main.bb2e2c81.css.map*/