@font-face{font-family:Agustina Regular;font-style:normal;font-weight:400;src:local("Agustina Regular"),url(../../static/media/Agustina.21f233e1.woff) format("woff")}@font-face{font-family:Montserrat;src:local("Montserrat"),url(../../static/media/Montserrat-Regular.ee653992.ttf) format("woff")}@font-face{font-family:Google Sans Bold;src:local("Google Sans Bold"),url(../../static/media/GoogleSans-Bold.4457817a.ttf) format("woff")}@font-face{font-family:Google Sans Bold Italic;src:local("Google Sans Bold Italic"),url(../../static/media/GoogleSans-BoldItalic.90773b61.ttf) format("woff")}@font-face{font-family:Google Sans Italic;src:local("Google Sans Italic"),url(../../static/media/GoogleSans-Italic.0ecddcde.ttf) format("woff")}@font-face{font-family:Google Sans Medium;src:local("Google Sans Medium"),url(../../static/media/GoogleSans-Medium.8d57e401.ttf) format("woff")}@font-face{font-family:Google Sans Medium Italic;src:local("Google Sans Medium Italic"),url(../../static/media/GoogleSans-MediumItalic.8fd37379.ttf) format("woff")}@font-face{font-family:Google Sans Regular;src:local("Google Sans Regular"),url(../../static/media/GoogleSans-Regular.b5c77a6a.ttf) format("woff")}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body,html{scroll-behavior:smooth;overflow-x:hidden;padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);-webkit-tap-highlight-color:transparent}body{font:1rem/1.6 Google Sans Regular,Montserrat,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--section-spacing:clamp(3rem,6vw,5rem);--card-radius:12px;--card-shadow:0 4px 6px -1px rgba(0,0,0,0.06),0 2px 4px -2px rgba(0,0,0,0.04);--card-shadow-hover:0 20px 25px -5px rgba(0,0,0,0.08),0 8px 10px -6px rgba(0,0,0,0.04);--transition-smooth:0.25s cubic-bezier(0.4,0,0.2,1);--text-xs:0.7rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--heading-sm:clamp(1.05rem,2vw,1.15rem);--heading-md:clamp(1.2rem,2.2vw,1.5rem);--heading-lg:clamp(2rem,4vw,2.5rem);--heading-xl:clamp(2.25rem,5vw,3rem)}@media (max-width:1380px){body,html{font-size:16px;line-height:normal}}@media (hover:none) and (pointer:coarse){[role=button],a,button{touch-action:manipulation}}img,video{max-width:100%;height:auto}#root{overflow-x:hidden;min-width:0}:root{--scrollbar-color:#fff}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-color) transparent}.skip-link{position:absolute;left:-9999px;z-index:9999;padding:.75rem 1.25rem;background:var(--scrollbar-color);color:#1a1a1a;font-family:Google Sans Medium,sans-serif;font-size:var(--text-sm);text-decoration:none;border-radius:var(--card-radius);transition:left .2s ease}.skip-link:focus{left:1rem;top:1rem;outline:2px solid currentColor;outline-offset:2px}[role=button]:focus-visible,a:focus-visible,button:focus-visible{outline:2px solid var(--scrollbar-color);outline-offset:2px}@media (prefers-reduced-motion:reduce){.skip-link:focus{transition:none}}.section-divider{height:1px;margin:0 auto;max-width:1200px;padding:0 5%;background:linear-gradient(90deg,transparent,var(--card-border,rgba(0,0,0,.08)),transparent);border:none}.App{text-align:center}.App-logo{height:40vmin}.App-header{background-color:#282c34;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:calc(10px + 2vmin);color:#fff}.App-link{color:#09d3ac}.heading{color:#000}.subTitle{color:#868e96}@keyframes fade_down{0%{opacity:.01;transform:translateY(-20px);transition:opacity .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1)}to{opacity:1;transform:translateY(0);transition:opacity .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1)}}@keyframes fade_up{0%{opacity:.01;transform:translateY(20px);transition:opacity .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1)}to{opacity:1;transform:translateY(0);transition:opacity .3s cubic-bezier(.645,.045,.355,1),transform .3s cubic-bezier(.645,.045,.355,1)}}.header{position:-webkit-sticky;position:sticky;top:0;z-index:100;display:block;max-width:1200px;width:90%;margin:0 auto;padding:1rem 0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-width:1px;border-bottom-style:solid;transition:box-shadow var(--transition-smooth,.25s ease)}.header ul{margin:0;padding:0;list-style:none;overflow:hidden}.header li a{display:block;padding:.6rem 1rem;text-decoration:none;font-size:.95rem;font-weight:500;border-radius:8px;position:relative;transition:background-color var(--transition-smooth,.25s ease),color var(--transition-smooth,.25s ease)}.header li a:after{content:"";position:absolute;bottom:4px;left:50%;width:0;height:2px;background:currentColor;border-radius:1px;transition:width .25s ease,left .25s ease}.header li a.active:after,.header li a:hover:after{width:60%;left:20%}.header li a.active{font-weight:700;opacity:1}.header .logo{display:block;float:left;font-size:1.35rem;text-decoration:none;margin-top:.25rem;line-height:1.4;letter-spacing:-.02em}.header .logo-name{font-family:Agustina Regular,Google Sans Medium,sans-serif;font-weight:600;padding:0 .35rem}.menu{font-family:Google Sans Regular,sans-serif}.header .menu{clear:both;max-height:0;transition:max-height .3s ease-out}.header .menu-icon{cursor:pointer;display:inline-block;float:right;padding:1.25rem 1rem;position:relative;-webkit-user-select:none;user-select:none}.header .menu-icon .navicon,.header .menu-icon .navicon:after,.header .menu-icon .navicon:before{background:currentColor;display:block;height:2px;position:relative;transition:transform .2s ease-out,background .2s ease-out;width:20px;border-radius:1px}.header .menu-icon .navicon:after,.header .menu-icon .navicon:before{content:"";position:absolute;left:0;width:100%}.header .menu-icon .navicon:before{top:6px}.header .menu-icon .navicon:after{top:-6px}.header .menu-btn{display:none}.header .menu-btn:checked~.menu{max-height:400px}.header .menu-btn:checked~.menu-icon .navicon{background:transparent}.header .menu-btn:checked~.menu-icon .navicon:before{transform:rotate(-45deg);top:0}.header .menu-btn:checked~.menu-icon .navicon:after{transform:rotate(45deg);top:0}@media (min-width:69em){.header li{float:left}.header{display:flex;align-items:center;justify-content:space-between}.header .menu{max-height:none}.header .menu-icon{display:none}}.header-right{display:flex;align-items:center;grid-gap:1rem;gap:1rem}.header-utilities{display:flex;align-items:center;grid-gap:.75rem;gap:.75rem}.language-switch{display:inline-flex;border-radius:999px;padding:2px;background-color:rgba(148,163,184,.18)}.lang-pill{border:none;background:transparent;color:inherit;font-size:.7rem;font-family:Google Sans Medium,sans-serif;padding:4px 8px;border-radius:999px;cursor:pointer;opacity:.7}.lang-pill-active{background-color:rgba(15,23,42,.08);opacity:1}@media (max-width:768px){.header{padding-top:max(1rem,env(safe-area-inset-top))}.header-right{margin-top:.5rem;justify-content:space-between;flex-wrap:wrap;grid-gap:.75rem;gap:.75rem}.language-switch{margin-right:.5rem}.header-utilities{flex-wrap:wrap}}@media (max-width:480px){.header{padding:.75rem 0}.header .logo{font-size:1.15rem}.lang-pill{padding:6px 10px;font-size:.65rem;min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}}.toggle-switch-compact .react-switch-checkbox{height:0;width:0;visibility:hidden}.toggle-switch-compact .react-switch-label{display:flex;align-items:center;justify-content:space-between;cursor:pointer;width:60px;height:30px;background:grey;border-radius:80px;position:relative;transition:background-color .2s}.toggle-switch-compact .react-switch-label .react-switch-button{content:"";position:absolute;top:2px;left:2px;width:26px;height:26px;border-radius:26px;transition:.2s;background:#fff;box-shadow:0 0 2px 0 rgba(10,10,10,.29)}.toggle-switch-compact .react-switch-checkbox:checked+.react-switch-label .react-switch-button{left:calc(100% - 2px);transform:translateX(-100%)}.toggle-switch-compact .react-switch-label:active .react-switch-button{width:40px}@media screen and (max-width:768px){.toggle-switch-compact .react-switch-label{width:50px;min-height:44px;height:28px;padding:8px 0;display:flex;align-items:center;justify-content:center}.toggle-switch-compact .react-switch-label .react-switch-button{width:22px;height:22px}}.theme-toggle-button{font-size:17px;position:relative;display:inline-block;width:7em;cursor:pointer}.theme-toggle-input{opacity:0;width:0;height:0}.theme-toggle-svg #button,.theme-toggle-svg #cloud,.theme-toggle-svg #container,.theme-toggle-svg #moon,.theme-toggle-svg #patches,.theme-toggle-svg #stars,.theme-toggle-svg #sun{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.25s}.theme-toggle-input:checked+.theme-toggle-svg #container{fill:#2b4360}.theme-toggle-input:checked+.theme-toggle-svg #button{transform:translate(28px,2.333px)}.theme-toggle-svg #sun{opacity:1}.theme-toggle-input:checked+.theme-toggle-svg #sun,.theme-toggle-svg #moon{opacity:0}.theme-toggle-input:checked+.theme-toggle-svg #moon,.theme-toggle-svg #cloud{opacity:1}.theme-toggle-input:checked+.theme-toggle-svg #cloud,.theme-toggle-svg #stars{opacity:0}.theme-toggle-input:checked+.theme-toggle-svg #stars{opacity:1}.greet-main{position:relative;width:100%;max-width:1200px;margin:0 auto;padding:var(--section-spacing,4rem) 5%}.greet-main-bg{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:0 0 2rem 0}.greet-main>.availability-banner,.greet-main>.greeting-main{position:relative;z-index:1}.availability-banner{display:inline-flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.5rem 1.25rem;border-radius:999px;border:1px solid;font-size:.85rem;font-family:Google Sans Medium,sans-serif;font-weight:500;margin-bottom:1.5rem;letter-spacing:.01em}.availability-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0;animation:pulse-dot 2s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.greeting-main{display:flex;align-items:center;grid-gap:3rem;gap:3rem}.greeting-main>*{flex:1 1;margin-bottom:0}.greeting-text{margin-top:0;font-size:clamp(2.25rem,5vw,3.5rem);line-height:1.15;font-family:Google Sans Bold,sans-serif;letter-spacing:-.03em;font-weight:700}.greeting-nickname{font-size:1.25rem;line-height:1.4;font-family:Google Sans Bold Italic,sans-serif;margin-top:.5rem;opacity:.85}.greeting-text-p{margin-right:0;margin-top:1.25rem;font-family:Google Sans Medium,sans-serif;font-size:1.125rem;line-height:1.7;font-weight:400;padding:0;text-align:left;max-width:42ch}.greeting-highlights{list-style:none;padding:0;margin:1.25rem 0 .5rem;display:flex;flex-direction:column;grid-gap:.4rem;gap:.4rem}.greeting-highlights li{font-family:Google Sans Regular,sans-serif;font-size:.95rem;line-height:1.5;padding-left:1.2em;position:relative}.greeting-highlights li:before{content:"▸";position:absolute;left:0;opacity:.6}.greeting-image-div>*{max-width:100%;height:auto;animation:float 6s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (prefers-reduced-motion:reduce){.availability-dot{animation:none;opacity:1}.greeting-image-div>*{animation:none}}.button-greeting-div{display:flex;grid-gap:1rem;gap:1rem;margin-top:1.75rem;flex-wrap:wrap}@media (max-width:768px){.greet-main{padding-top:2rem}.button-greeting-div{justify-content:center}.greeting-text{font-size:2rem}.greeting-nickname,.greeting-text,.greeting-text-p{text-align:center}.greeting-text-p{font-size:1rem;margin-right:0;max-width:none}.greeting-highlights{align-items:center}.greeting-highlights li{text-align:left}.greeting-main{display:block;text-align:center}.portfolio-repo-btn-div{width:100%;display:flex;justify-content:center}}.social-media-div{font-size:2em}.icon-button i{color:#fff}.icon-button{margin-bottom:10px}.icon-button i{border-radius:2.6rem;cursor:pointer;display:inline-block;font-size:1.3rem;height:2.6rem;line-height:2.6rem;position:relative;text-align:center;-webkit-user-select:none;user-select:none;width:2.6rem;margin:0 5px 10px}@media (max-width:768px){.social-media-div{text-align:center}}.technology-banner{width:100%;padding:.75rem 0;margin-bottom:1.25rem}.technology-banner-inner{display:flex;flex-wrap:wrap;grid-gap:.5rem;gap:.5rem;align-items:center;justify-content:flex-start}.technology-pill{display:inline-flex;align-items:center;grid-gap:.4rem;gap:.4rem;padding:.35rem .75rem;border-radius:999px;border:1px solid;font-family:Google Sans Medium,sans-serif;font-size:.875rem;font-weight:500;transition:opacity .2s ease}.technology-pill:hover{opacity:.9}.technology-pill-icon{font-size:1.1rem;line-height:1;display:inline-flex;align-items:center;justify-content:center}.technology-pill-label{white-space:nowrap}@media (max-width:768px){.technology-banner-inner{justify-content:center}}.main-button{font-weight:500;line-height:1.3;width:-webkit-max-content;width:max-content;padding:.75rem 1.5rem;margin-right:0;border-radius:8px;text-align:center;text-decoration:none;font-family:Google Sans Medium,sans-serif;display:inline-block;margin-top:1rem;font-size:1rem;cursor:pointer;letter-spacing:.02em;transition:transform var(--transition-smooth,.25s ease),box-shadow var(--transition-smooth)}.main-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.15)}.project-button{display:flex;justify-content:center;margin-top:2rem}@media (max-width:768px){.main-button{font-size:15px;padding:12px 18px;margin-right:0}}@media (max-width:320px){.main-button{font-size:12px}}.achievements-section{max-width:1200px;margin:0 auto;padding:0 5% var(--section-spacing,4rem)}.achievements-title{font-family:Google Sans Bold,sans-serif;font-size:var(--heading-lg);font-weight:700;letter-spacing:-.03em;margin:0 0 .35rem;line-height:1.2}.achievements-subtitle{font-family:Google Sans Regular,sans-serif;font-size:var(--text-lg);margin:0 0 2.25rem;line-height:1.5;max-width:42ch}.achievements-layout{display:grid;grid-gap:1.75rem;gap:1.75rem}.achievement-card{border-radius:var(--card-radius,12px);padding:1.75rem 2rem;border:1px solid;transition:transform .25s ease,box-shadow .25s ease}.achievement-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.1)}.achievement-card-hero{position:relative;padding-top:2.25rem}.achievement-card-badge{position:absolute;top:1rem;right:1.25rem;font-family:Google Sans Bold,sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.04em;padding:.35rem .65rem;border-radius:6px;line-height:1}.achievement-svg-icon{display:block;margin-bottom:1rem}.achievement-card-headline{font-family:Google Sans Bold,sans-serif;font-size:var(--heading-sm);font-weight:600;margin:0 0 .35rem;line-height:1.35}.achievement-card-headline-hero{font-size:var(--heading-md)}.achievement-card-subline{font-family:Google Sans Medium,sans-serif;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;display:block;margin-bottom:.85rem;opacity:.85}.achievement-card-body{font-family:Google Sans Regular,sans-serif;font-size:var(--text-base);line-height:1.6;margin:0}.achievement-languages-inline{display:flex;flex-wrap:wrap;grid-gap:.5rem;gap:.5rem;margin-top:1rem}.achievement-lang-mini-card{font-family:Google Sans Medium,sans-serif;font-size:.7rem;padding:.35rem .6rem;border-radius:8px;border:1px solid;display:inline-flex;align-items:center;grid-gap:.35rem;gap:.35rem;transition:transform .2s ease}.achievement-lang-mini-card:hover{transform:scale(1.05)}.achievement-metric-strip{display:flex;flex-wrap:wrap;grid-gap:.5rem;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--card-border)}.achievement-metric-tag{font-family:Google Sans Medium,sans-serif;font-size:.7rem;padding:.3rem .6rem;border-radius:6px;letter-spacing:.02em}@media (min-width:769px){.achievements-supporting{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.75rem;gap:1.75rem}}@media (max-width:768px){.achievements-subtitle{margin-bottom:1.75rem}.achievements-supporting{display:flex;flex-direction:column;grid-gap:1.25rem;gap:1.25rem}.achievement-card{padding:1.5rem 1.25rem}.achievement-card-hero{padding-top:2rem}.achievement-card-badge{top:.85rem;right:1rem}}@media (prefers-reduced-motion:reduce){.achievement-card{transition:none}.achievement-card:hover,.achievement-lang-mini-card:hover{transform:none}}.at-a-glance{max-width:1200px;margin:0 auto;padding:0 5% 1.5rem}.at-a-glance-inner{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:.75rem;gap:.75rem}.at-a-glance-item{display:inline-flex;align-items:center;grid-gap:.5rem;gap:.5rem;padding:.5rem 1rem;border-radius:var(--card-radius,12px);border:1px solid;font-family:Google Sans Medium,sans-serif;font-size:var(--text-sm,.875rem);line-height:1.3}.at-a-glance-icon{display:flex;align-items:center;flex-shrink:0}.at-a-glance-label{white-space:nowrap}@media (max-width:768px){.at-a-glance-inner{grid-gap:.5rem;gap:.5rem}.at-a-glance-item{padding:.4rem .75rem;font-size:var(--text-xs,.7rem)}.at-a-glance-label{white-space:normal}}.main{width:100%;max-width:1200px;margin:0 auto;padding:var(--section-spacing,4rem) 5%}.skills-header{font-size:var(--heading-lg);line-height:1.2;font-family:Google Sans Regular,sans-serif;text-align:center;margin-bottom:.5rem;letter-spacing:-.02em}.skills-text{font-size:1.125rem;line-height:1.6}.skills-main-div{display:flex;overflow:hidden;align-items:flex-start;grid-gap:2rem;gap:2rem;margin-bottom:3rem;padding:2rem;border-radius:var(--card-radius,12px);box-shadow:var(--card-shadow);transition:box-shadow var(--transition-smooth),transform var(--transition-smooth)}.skills-main-div:hover{box-shadow:var(--card-shadow-hover)}.skills-main-div>*{flex:1 1;margin-bottom:0}.skills-text-div{margin-left:0;font-family:Google Sans Regular,sans-serif}.skills-image-div>*{max-width:100%;height:auto;margin-top:0}.skills-heading{font-size:clamp(1.5rem,2.5vw,1.75rem);font-weight:600;font-family:Google Sans Medium,sans-serif;line-height:1.3;margin-bottom:1rem;letter-spacing:-.02em}@media (max-width:768px){.skills-heading{font-size:1.35rem;text-align:center}.skills-header{font-size:1.75rem}.skills-main-div{flex-direction:column;padding:1.5rem;grid-gap:1.5rem;gap:1.5rem}.skills-text-div{margin:0;order:1}.skills-text,.skills-text-subtitle{font-size:1rem;text-align:center}.skills-image-div{order:2}}.software-skill-inline{display:inline-block;margin-right:20px;margin-bottom:20px;font-family:Google Sans Regular}.software-skill-inline>i{color:#868e96}.software-skill-inline>i:hover{color:#645beb}.skill-image{height:48px}.footer-div{margin-top:3rem;padding:2rem 5%;border-top-width:1px;border-top-style:solid}.footer-content{max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center;grid-gap:1.25rem;gap:1.25rem}.footer-nav{display:flex;flex-wrap:wrap;justify-content:center;grid-gap:.5rem 1.5rem;gap:.5rem 1.5rem}.footer-nav-link{font-family:Google Sans Regular,sans-serif;font-size:.9rem;text-decoration:none;transition:opacity .2s ease}.footer-nav-link:hover{opacity:.7;text-decoration:underline}.footer-social{display:flex;grid-gap:1rem;gap:1rem}.footer-social-icon{font-size:1.15rem;transition:opacity .2s ease,transform .2s ease}.footer-social-icon:hover{opacity:.7;transform:translateY(-2px)}.footer-bottom-row{display:flex;align-items:center;grid-gap:1.5rem;gap:1.5rem;flex-wrap:wrap;justify-content:center}.footer-text{text-align:center;font-weight:500;font-family:Google Sans Regular,sans-serif;font-size:.85rem;margin:0}@media (max-width:480px){.footer-div{padding-bottom:max(2rem,env(safe-area-inset-bottom))}.footer-nav{grid-gap:.4rem 1rem;gap:.4rem 1rem}.footer-nav-link{font-size:.8rem}}#topButton{visibility:hidden;position:fixed;bottom:1.2rem;right:1.5rem;cursor:pointer;padding:15px;outline:none;border-radius:2rem;font-size:1.5rem}.logo_wrapper{height:100vh;width:100vw;align-items:center;justify-content:center}.screen{height:100%}.screen,body{display:flex;align-items:center;justify-content:center}body{padding:0;margin:0}.screen{overflow:hidden;border-radius:100%;animation:grow 5.5s forwards}@keyframes grow{0%{transform:scale(0)}10%{transform:scale(1);border-radius:0;height:100%;width:100%}90%{transform:scale(1);border-radius:0;height:100%;width:100%}to{transform:scale(0);transform-origin:50% 50%;border-radius:100%}}#logo{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.raw_logo{height:305;width:440}.signature1{animation:dash 1s linear .5s forwards}.signature1,.signature2{stroke-dasharray:800;stroke-dashoffset:800}.signature2{animation:dash 1s linear .7s forwards}.signature3{animation:dash 1s linear .9s forwards}.signature3,.signature4{stroke-dasharray:800;stroke-dashoffset:800}.signature4{animation:dash 1s linear 1.1s forwards}.signature5{animation:dash 1s linear 1.3s forwards}.signature5,.signature6{stroke-dasharray:800;stroke-dashoffset:800}.signature6{animation:dash 1s linear 1.5s forwards}.signature7{animation:dash 1s linear 1.7s forwards}.signature7,.signature8{stroke-dasharray:800;stroke-dashoffset:800}.signature8{animation:dash 1s linear 1.9s forwards}.signature9{animation:dash 1s linear 2.1s forwards}.signature9,.signature10{stroke-dasharray:800;stroke-dashoffset:800}.signature10{animation:dash 1s linear 2.3s forwards}.signature11{animation:dash 1s linear 2.5s forwards}.signature11,.signature12{stroke-dasharray:800;stroke-dashoffset:800}.signature12{animation:dash 1s linear 2.7s forwards}.signature13{animation:dash 1s linear 2.9s forwards}.signature13,.signature14{stroke-dasharray:800;stroke-dashoffset:800}.signature14{animation:dash 1s linear 3.1s forwards}.signature15{animation:dash 1s linear 3.3s forwards}.signature,.signature15{stroke-dasharray:800;stroke-dashoffset:800}.signature{animation:dash 6s linear .5s forwards}.letter{opacity:0;animation:fadein 2s linear 2.5s forwards}@keyframes fadein{0%{opacity:0}to{opacity:1}}.myHexagon{stroke-dasharray:800;stroke-dashoffset:800;animation:dash 4s linear .5s forwards}@keyframes dash{0%{stroke-dashoffset:800}to{stroke-dashoffset:0}}#educations{margin-top:0}.educations-header-div{margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid rgba(0,0,0,.08)}.educations-header{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:600;font-family:Google Sans Medium,sans-serif;line-height:1.2;text-align:center;margin:0 0 .25rem;letter-spacing:-.02em}.educations-body-div{display:flex;flex-direction:column;grid-gap:2rem;gap:2rem;margin-top:1rem}@media (max-width:1380px){.educations-header{font-size:clamp(1.5rem,2.5vw,2rem)}}@media (max-width:768px){.educations-header{font-size:1.5rem}.educations-body-div{grid-gap:1.5rem;gap:1.5rem}}.degree-card{display:flex;width:100%;grid-gap:1.5rem;gap:1.5rem;align-items:flex-start;padding:1.5rem;border-radius:var(--card-radius,12px);box-shadow:var(--card-shadow,0 4px 6px -1px rgba(0,0,0,.06));background:var(--card-bg);border:1px solid var(--card-border);transition:box-shadow .25s ease,transform .25s ease}.degree-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover,0 20px 25px -5px rgba(0,0,0,.08))}.card-img{flex-shrink:0;width:100px;height:100px;border-radius:var(--card-radius,12px);padding:.75rem;display:flex;align-items:center;justify-content:center;background:hsla(0,0%,100%,.9);border:1px solid var(--card-border);overflow:hidden}.card-img img{width:100%;height:100%;object-fit:contain}.card-body{flex:1 1;min-width:0}.body-header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;grid-gap:.75rem;gap:.75rem;padding:0 0 1rem;margin-bottom:1rem;border-bottom:1px solid var(--card-border)}.body-header-title{flex:1 1;min-width:0}.card-title{font-family:Google Sans Medium,sans-serif;font-size:clamp(1.125rem,2vw,1.35rem);font-weight:600;line-height:1.3;margin:0 0 .25rem;letter-spacing:-.01em}.card-subtitle{font-family:Google Sans Regular,sans-serif;font-size:clamp(.95rem,1.5vw,1.05rem);font-weight:500;line-height:1.4;margin:0;opacity:.9}.body-header-duration{flex-shrink:0}.duration{font-family:Google Sans Medium,sans-serif;font-size:.875rem;font-weight:500;padding:.35rem .65rem;border-radius:6px;background:var(--card-border);white-space:nowrap}.body-content{padding:0}.content-list{font-family:Google Sans Regular,sans-serif;font-size:.95rem;line-height:1.65;margin:0 0 .5rem;padding:0}.content-list:last-of-type{margin-bottom:1rem}.visit-btn{display:inline-block;padding:.5rem 1rem;border-radius:8px;font-weight:500;font-size:.9rem;transition:opacity .2s ease;text-decoration:none}.visit-btn:hover{opacity:.9}.btn{margin:0;padding:0;font-family:Google Sans Medium,sans-serif}@media (max-width:768px){.degree-card{padding:1.25rem}.body-header,.degree-card{flex-direction:column;align-items:center;text-align:center}.body-header-duration{width:100%}.duration{margin:0 auto}.content-list{text-align:left}.visit-btn{display:block;width:100%;text-align:center}.card-img{width:80px;height:80px}}.certs-header{font-size:40px;line-height:1.1;font-family:Google Sans Regular;text-align:center}.certs-body-div{display:flex;justify-content:space-between;flex-wrap:wrap}@media (max-width:1380px){.certs-header{font-size:35px}}@media (max-width:768px){.certs-body-div{flex-direction:column}.certs-header{font-size:30px}}.cert-card{width:30%;display:inline-block;justify-content:center;align-items:center;text-align:center;border:1px solid var(--card-border,#d9dbdf);border-radius:var(--card-radius,5px);box-shadow:var(--card-shadow);margin-bottom:30px;flex:0 0 30%;transition:transform var(--transition-smooth),box-shadow var(--transition-smooth)}.cert-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}.cert-header{margin:0;border-radius:5px 5px 0 0}.logo_img{margin:3px;width:auto;height:100px}.cert-body{margin:0}.cert-body-title{font-size:20px}.cert-body-subtitle,.cert-body-title{font-family:Google Sans Regular;margin:10px}.cert-body-subtitle{font-size:18px;color:grey}.content{position:relative;width:100%;margin:auto;overflow:hidden}.content .content-overlay{background:rgba(0,0,0,.7);position:absolute;height:99%;width:100%;left:0;top:0;bottom:0;right:0;opacity:0;transition:all .4s ease-in-out 0s}.content:hover .content-overlay{opacity:1}.content-details{position:absolute;text-align:center;padding-left:1em;padding-right:1em;width:100%;top:50%;left:50%;opacity:0;transform:translate(-50%,-50%);transition:all .3s ease-in-out 0s}.content:hover .content-details{top:50%;left:50%;opacity:1}.content-details h3{color:#fff;font-weight:500;font-family:Google Sans Regular;letter-spacing:.15em;margin-bottom:.5em;text-transform:uppercase}.fadeIn-top{top:20%}@media (max-width:768px){.cert-card{width:100%}}.dev-icons{padding-left:0;list-style:none;font-size:3rem;margin-bottom:0;margin-top:0;text-align:center}.competitive-sites-inline{display:inline-block;margin-right:20px;margin-bottom:20px;font-family:Google Sans Regular}.competitive-sites-inline>i{color:#868e96}.competitive-sites-inline>i:hover{color:#645beb}.education-map-wrapper{width:100%;margin:0;padding:0}.education-map-container{width:100%;border-radius:var(--card-radius,12px);overflow:hidden;box-shadow:var(--card-shadow,0 4px 14px rgba(0,0,0,.1));border:1px solid var(--card-border)}.education-map-svg{width:100%;height:360px;overflow:visible}.education-map-line-wrap{filter:drop-shadow(0 1px 3px rgba(0,0,0,.08))}.education-map-line-track{opacity:.35}.education-map-line{opacity:.95;stroke-dasharray:10 6;animation:education-map-dash 2.5s linear infinite;transition:opacity .2s ease}.education-map-line-wrap:hover .education-map-line{opacity:1}@keyframes education-map-dash{to{stroke-dashoffset:-16}}@media (prefers-reduced-motion:reduce){.education-map-line{animation:none;stroke-dasharray:none}}.education-map-pin{transition:r .2s ease}.education-map-pin:hover{filter:brightness(1.2)}.education-map-pin-group{transition:transform .15s ease}.education-map-pin-group:hover{transform:scale(1.08)}.education-map-tooltip rect{filter:drop-shadow(0 2px 8px rgba(0,0,0,.15))}.education-map-legend{padding:.85rem 1rem;font-size:.875rem;line-height:1.5;font-family:Google Sans Regular,sans-serif;text-align:center;border-top:1px solid var(--card-border)}.education-map-legend-label{font-family:Google Sans Medium,sans-serif;font-weight:600}@media (max-width:768px){.education-map-svg{height:280px}}.languages-block{margin-top:2.5rem;padding:2rem 0}.languages-block-compact{margin-top:1.5rem;padding:1.5rem 0}.languages-block-title{font-size:clamp(1.5rem,3vw,2rem);font-weight:600;font-family:Google Sans Medium,sans-serif;text-align:center;margin:0 0 1.5rem;letter-spacing:-.02em}.languages-block-compact .languages-block-title{font-size:clamp(1.25rem,2.5vw,1.5rem);margin-bottom:1.25rem}.languages-block-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:1.25rem 2rem;gap:1.25rem 2rem;max-width:800px;margin:0 auto}.languages-block-compact .languages-block-grid{max-width:700px;grid-gap:1rem 1.5rem;gap:1rem 1.5rem}.languages-block-item{display:flex;flex-direction:column;grid-gap:.4rem;gap:.4rem}.languages-block-header{display:flex;justify-content:space-between;align-items:baseline}.languages-block-name{font-family:Google Sans Medium,sans-serif;font-size:.95rem;font-weight:600}.languages-block-level{font-family:Google Sans Regular,sans-serif;font-size:.8rem}.languages-block-bar-bg{height:6px;border-radius:3px;overflow:hidden}.languages-block-bar-fill{height:100%;border-radius:3px;transition:width .8s ease}@media (max-width:768px){.languages-block-grid{grid-template-columns:repeat(2,1fr);grid-gap:1rem 1.5rem;gap:1rem 1.5rem}}@media (max-width:480px){.languages-block-grid{grid-template-columns:1fr}}.education-main{width:100%}.basic-education{max-width:1200px;margin:0 auto;padding:var(--section-spacing,4rem) 5%}.heading-div{display:flex;margin-bottom:2rem}.heading-div>*{flex:1 1}.heading-map-div{align-items:center;min-width:280px}.heading-map-div,.heading-text-div{display:flex;justify-content:center}.heading-text-div{text-align:left;flex-direction:column}.heading-map-div>*{width:100%;max-width:100%}.heading-text{font-size:var(--heading-lg);font-weight:600;font-family:Google Sans Medium,sans-serif;line-height:1.2;text-align:center;margin-top:0;margin-bottom:.5rem;letter-spacing:-.02em}.heading-sub-text{font-size:1.25rem;font-family:Google Sans Regular,sans-serif;text-align:center;opacity:.9}.education-intro{font-size:1.125rem;line-height:1.7;font-weight:400;margin:0 auto 2rem;padding:0;text-align:center;max-width:60ch}.education-languages-wrap{visibility:visible;display:block;margin-bottom:2rem}@media (max-width:768px){.heading-text{font-size:1.75rem}.heading-sub-text{font-size:1rem}.heading-div{flex-direction:column}.heading-text-div{text-align:center}.heading-map-div{order:-1;min-width:auto}}.experience-diagram{width:100%;padding:1.5rem;margin:1.5rem 0;border-radius:var(--card-radius,12px);border:1px solid var(--card-border)}.experience-diagram-inner{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;grid-gap:.5rem .75rem;gap:.5rem .75rem;max-width:700px;margin:0 auto}.experience-diagram-box{padding:.75rem 1.25rem;border-radius:var(--card-radius,12px);border:1px solid;text-align:center;flex-shrink:0;min-width:100px}.experience-diagram-label{font-family:Google Sans Medium,sans-serif;font-size:.95rem;font-weight:600;line-height:1.3}.experience-diagram-sub{font-family:Google Sans Regular,sans-serif;font-size:.8rem;margin-top:.25rem;opacity:.9}.experience-diagram-arrow{font-size:1.25rem;font-weight:600;opacity:.7;flex-shrink:0}.experience-diagram-architecture .experience-diagram-inner,.experience-diagram-workflow .experience-diagram-inner{flex-direction:row}@media (max-width:768px){.experience-diagram-inner{flex-direction:column!important}.experience-diagram-arrow{transform:rotate(90deg)}}.experience-section{width:100%;padding:var(--section-spacing,4rem) 5%;margin-bottom:0;border-bottom:1px solid var(--card-border)}.experience-section:first-of-type{padding-top:1rem}.experience-section:last-of-type{border-bottom:none}.experience-section-inner{max-width:1200px;margin:0 auto}.experience-section-title{font-family:Google Sans Medium,sans-serif;font-size:clamp(1.5rem,3vw,2.25rem);font-weight:600;line-height:1.2;margin:0 0 1rem;letter-spacing:-.02em}.experience-section-meta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;grid-gap:.75rem;gap:.75rem;margin-bottom:1.5rem}.experience-section-meta-left{flex:1 1;min-width:0}.experience-section-company{font-family:Google Sans Medium,sans-serif;font-size:1.1rem;font-weight:500;text-decoration:none;transition:opacity .2s ease}.experience-section-company:hover{opacity:.8}.experience-section-company:focus{outline:none;text-decoration:underline}.experience-section-meta-right{display:flex;flex-direction:column;align-items:flex-end;grid-gap:.25rem;gap:.25rem}.experience-section-duration,.experience-section-location{font-family:Google Sans Regular,sans-serif;font-size:.95rem}.experience-section-content-row{display:flex;flex-direction:row;align-items:flex-start;grid-gap:2rem;gap:2rem}.experience-section-logo-wrap{flex-shrink:0}.experience-section-logo{width:100px;height:100px;border-radius:var(--card-radius,12px);object-fit:contain;padding:.5rem;background:hsla(0,0%,100%,.5);border:1px solid var(--card-border)}.experience-section-main{flex:1 1;min-width:0}.experience-section-description{margin-top:1.5rem;margin-left:0}.experience-section-bullet{font-family:Google Sans Regular,sans-serif;font-size:.95rem;line-height:1.65;margin:0 0 .75rem}.experience-section-bullet:last-child{margin-bottom:0}@media (max-width:768px){.experience-section{padding:2rem 5%}.experience-section-meta{flex-direction:column}.experience-section-meta-right{align-items:flex-start}.experience-section-content-row{flex-direction:column;align-items:center;text-align:center}.experience-section-main{width:100%}.experience-section-description{text-align:left}}.experience-main{width:100%}.basic-experience{max-width:1200px;margin:0 auto;padding:var(--section-spacing,4rem) 5%;padding-bottom:.5rem}.experience-heading-div{display:flex;margin-bottom:1rem}.experience-heading-div>*{flex:1 1}.experience-heading-img-div{display:flex;align-items:center;justify-content:center}.experience-heading-text-div{text-align:center}.experience-heading-img-div>*{max-width:100%;height:auto}.experience-heading-text{font-size:var(--heading-lg);font-weight:600;font-family:Google Sans Medium,sans-serif;line-height:1.2;text-align:center;margin-top:0;margin-bottom:.5rem;letter-spacing:-.02em}.experience-heading-sub-text{font-size:1.25rem;font-family:Google Sans Regular,sans-serif;text-align:center;opacity:.9}.experience-header-detail-text{font-size:1.125rem;line-height:1.7;font-weight:400;margin:0 auto 1rem;padding:0;text-align:center;max-width:65ch;white-space:pre-line}@media (max-width:768px){.experience-heading-text{font-size:1.75rem}.experience-heading-sub-text{font-size:1rem}.experience-heading-div{flex-direction:column}.experience-header-detail-text{font-size:1rem;text-align:center}}.contact-main{width:100%}.basic-contact{max-width:1200px;margin:0 auto;padding:var(--section-spacing,4rem) 5%}.contact-hero{display:flex;flex-direction:column;align-items:center;text-align:center;max-width:600px;margin:0 auto var(--section-spacing,4rem)}.contact-hero-title{font-size:var(--heading-lg);font-weight:600;font-family:Google Sans Medium,sans-serif;line-height:1.2;margin:0 0 1.5rem;letter-spacing:-.02em}.contact-hero-image-wrap{margin-bottom:1.5rem}.contact-hero-image{width:100%;max-width:200px;height:auto;aspect-ratio:1;object-fit:cover;border-radius:50%;border:3px solid}.contact-hero-avatar,.contact-hero-image{box-shadow:var(--card-shadow,0 4px 14px rgba(0,0,0,.1))}.contact-hero-avatar{width:120px;height:120px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Google Sans Bold,sans-serif;font-size:2.5rem;font-weight:700;letter-spacing:.05em}.contact-hero-desc{font-size:1.125rem;line-height:1.7;margin:0 0 1.25rem;font-family:Google Sans Medium,sans-serif}.contact-hero-social{margin-bottom:1.5rem}.contact-hero-cta{display:flex;justify-content:center}.contact-cards{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:1.5rem;gap:1.5rem;min-width:0}@media (max-width:768px){.contact-cards{grid-template-columns:1fr}}.contact-card{padding:1.5rem;border-radius:var(--card-radius,12px);box-shadow:var(--card-shadow,0 4px 14px rgba(0,0,0,.1));transition:transform .2s ease,box-shadow .2s ease;display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0}.contact-card:hover{transform:translateY(-4px);box-shadow:var(--card-shadow-hover)}.contact-card-visual{display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.contact-card-visual>*{max-width:100%;height:auto;border-radius:var(--card-radius,12px)}.contact-card-title{font-size:clamp(1.25rem,2.5vw,1.5rem);font-weight:600;margin:0 0 .5rem;font-family:Google Sans Medium,sans-serif}.contact-card-subtitle{font-size:1rem;font-weight:600;margin:1rem 0 .25rem}.contact-card-text{font-size:1rem;line-height:1.6;margin:0;font-family:Google Sans Medium,sans-serif}.contact-card-cta{margin-top:1rem;display:flex;justify-content:center}@media (max-width:768px){.contact-hero-desc{font-size:1rem}.contact-card-cta{width:100%}.contact-card-cta a,.contact-card-cta button{width:100%;justify-content:center}}.dev-icons-languages{padding-left:0;list-style:none;font-size:2rem;margin-bottom:0;margin-top:0;text-align:right}.software-skill-inline-languages{display:inline-block;margin-right:20px;margin-bottom:0;font-family:Google Sans Regular}@media (max-width:768px){.software-skill-inline-languages{margin-right:10px;margin-bottom:0}}.repo-card-div{padding:1.75rem;border-radius:var(--card-radius,12px);box-shadow:var(--card-shadow);cursor:pointer;flex:1 1 320px;min-width:0;transition:box-shadow var(--transition-smooth),transform var(--transition-smooth);border:1px solid var(--card-border)}.repo-card-div:hover{box-shadow:var(--card-shadow-hover);transform:translateY(-4px)}.repo-card-div[data-no-link=true]{cursor:default}.repo-card-div[data-no-link=true]:hover{transform:none}.repo-name-div{display:flex;align-items:center;grid-gap:.5rem;gap:.5rem;margin-bottom:.75rem}.repo-svg{flex-shrink:0;opacity:.7}.repo-name{font-family:Google Sans Medium,sans-serif;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.3;margin:0;overflow:hidden;text-overflow:ellipsis}.repo-description{font-size:.9375rem;line-height:1.6;margin:0 0 1rem;text-align:left;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;transition:-webkit-line-clamp .3s ease}.repo-card-div:hover .repo-description{-webkit-line-clamp:8}.repo-details{display:flex;flex-wrap:wrap;align-items:center;grid-gap:.75rem 1rem;gap:.75rem 1rem}.repo-creation-date{margin:0;font-size:.8125rem;font-weight:500;opacity:.85}.repo-languages{display:flex;flex-wrap:wrap;grid-gap:.35rem;gap:.35rem}.repo-card-div .project-languages-div{margin:0}@media (max-width:1200px){.repo-card-div{flex:1 1 45%}}@media (max-width:768px){.repo-card-div{flex:1 1 100%;padding:1.25rem}.repo-name{font-size:1.125rem}.repo-description{font-size:.875rem;-webkit-line-clamp:2}.repo-details{flex-direction:column;align-items:flex-start}}.thesis-chart-wrapper{width:100%}.thesis-chart-supertitle{font-family:Google Sans Medium,sans-serif;font-size:1.1rem;font-weight:600;text-align:center;margin:0 0 1.25rem;letter-spacing:-.01em}.thesis-chart-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:1.5rem;gap:1.5rem}.thesis-chart-cell{width:100%;min-width:0}@media (max-width:768px){.thesis-chart-grid{grid-template-columns:1fr;grid-gap:1rem;gap:1rem}}.thesis-stats-table-wrapper{width:100%}.thesis-stats-table-scroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.thesis-stats-table{width:100%;border-collapse:collapse;font-family:Google Sans Regular,sans-serif;font-size:.95rem;text-align:left;min-width:520px}.thesis-stats-table th{font-family:Google Sans Medium,sans-serif;font-weight:700;font-size:.95rem;padding:.75rem 1rem;border-bottom:2px solid;white-space:nowrap}.thesis-stats-table td{padding:.65rem 1rem;border-bottom:1px solid;white-space:nowrap}.thesis-stats-table tbody tr{transition:background-color .15s ease}.projects-main{width:100%;text-align:center}.basic-projects{max-width:1200px;margin:0 auto;padding:var(--section-spacing,4rem) 5%}.projects-heading-div{display:flex;margin-bottom:2rem}.projects-heading-div>*{flex:1 1}.projects-heading-img-div{display:flex;align-items:center;justify-content:center}.projects-heading-text-div{text-align:center}.projects-heading-img-div>*{max-width:100%;height:auto}.projects-heading-text{font-size:var(--heading-lg);font-weight:600;font-family:Google Sans Medium,sans-serif;line-height:1.2;text-align:center;margin-top:0;margin-bottom:.5rem;letter-spacing:-.02em}.projects-heading-sub-text{font-size:1.25rem;font-family:Google Sans Regular,sans-serif;text-align:center;opacity:.9}.projects-header-detail-text{font-size:1.125rem;line-height:1.7;margin:0 auto;max-width:55ch;font-family:Google Sans Medium,sans-serif}.repo-cards-div-main{display:flex;flex-direction:row;flex-wrap:wrap;grid-gap:1.5rem;gap:1.5rem;margin:2rem 0 0;justify-content:center}@media (max-width:768px){.projects-heading-text{font-size:1.75rem}.projects-heading-sub-text{font-size:1rem}.projects-heading-div{flex-direction:column}.projects-header-detail-text{font-size:1rem;text-align:center}.repo-cards-div-main{margin-top:1.5rem}}.thesis-project-section{margin:2rem auto 0;max-width:1100px;padding:0 5%}.thesis-hero{text-align:center;margin-bottom:2.5rem}.thesis-title{font-size:clamp(1.65rem,3vw,2.25rem);font-weight:600;font-family:Google Sans Medium,sans-serif;line-height:1.25;margin:0 0 1rem;letter-spacing:-.4px}.thesis-recognition-badge{display:inline-flex;flex-direction:column;align-items:center;padding:12px 28px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06)}.thesis-badge-main{font-size:16px;font-weight:600;margin-bottom:4px;letter-spacing:.5px}.thesis-badge-subtitle{font-size:13px;font-weight:400;opacity:.8}.thesis-aim{font-size:1rem;line-height:1.7;max-width:60ch;margin:1.25rem auto 0;text-align:center}.thesis-subsection{margin-bottom:2.5rem}.thesis-subsection-title{font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;font-family:Google Sans Medium,sans-serif;margin-bottom:1.25rem;text-align:left;letter-spacing:-.2px}.thesis-findings-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:16px;gap:16px}.thesis-finding-card{display:flex;flex-direction:column;padding:18px 16px;border-radius:8px;border:1px solid rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.05);transition:transform .2s ease,box-shadow .2s ease}.thesis-finding-card:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.08)}.thesis-finding-num{font-family:Google Sans Medium,sans-serif;font-size:1.5rem;font-weight:700;opacity:.18;line-height:1;margin-bottom:10px}.thesis-finding-card p{font-size:.875rem;line-height:1.55;margin:0;text-align:left}.thesis-formula{display:block;font-family:Times New Roman,Cambria Math,Georgia,serif;font-size:1.25rem;font-style:italic;letter-spacing:.04em;margin:8px 0 6px;text-align:left}.thesis-formula var{font-style:italic;font-weight:400}.thesis-formula sup{font-size:.7em;vertical-align:super}.thesis-formula-meta{font-size:.78rem;font-family:Google Sans Regular,sans-serif;line-height:1.4;margin:0;opacity:.75;text-align:left}.thesis-formula-meta var{font-family:Times New Roman,Cambria Math,Georgia,serif;font-style:italic}.thesis-results-container{display:flex;flex-direction:column;grid-gap:28px;gap:28px;margin-top:1.25rem}.thesis-result-card{padding:24px;border-radius:10px;border:1px solid rgba(0,0,0,.06);box-shadow:0 1px 4px rgba(0,0,0,.04)}.thesis-result-title{font-size:clamp(1.05rem,2vw,1.3rem);font-weight:600;margin:0 0 .5rem;font-family:Google Sans Medium,sans-serif;line-height:1.3}.thesis-result-description{font-size:.925rem;line-height:1.65;margin:0 auto 1.25rem;max-width:72ch;text-align:left}.thesis-result-image{width:100%;display:flex;justify-content:center;overflow:hidden}.thesis-img{width:100%;max-width:900px;height:auto;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.06);object-fit:cover}.thesis-footer{display:grid;grid-template-columns:1fr 1fr;grid-gap:2rem;gap:2rem;margin-top:2rem;padding-top:1.5rem;border-top:1px solid rgba(0,0,0,.06)}.thesis-footer-heading{font-family:Google Sans Medium,sans-serif;font-size:.95rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:0 0 .5rem}.thesis-footer-left p,.thesis-footer-right p{font-size:.875rem;line-height:1.65;margin:0}.projects-tabs-bar{display:flex;justify-content:center;grid-gap:0;gap:0;max-width:480px;margin:0 auto 2rem;border-radius:999px;overflow:hidden;border:2px solid}.projects-tab{flex:1 1;padding:.75rem 1.5rem;font-family:Google Sans Medium,sans-serif;font-size:1rem;font-weight:600;letter-spacing:.02em;border:none;cursor:pointer;transition:background-color .25s ease,color .25s ease;outline:none;white-space:nowrap}.projects-tab:first-child{border-radius:999px 0 0 999px}.projects-tab:last-child{border-radius:0 999px 999px 0}.projects-tab:hover:not(.projects-tab-active){opacity:.85}.projects-tab-active{cursor:default}.other-projects-section{width:100%;margin-top:0;padding-top:1rem;padding-bottom:48px}.other-projects-inner{max-width:1200px;margin-left:auto;margin-right:auto;padding-left:5%;padding-right:5%}.other-projects-section .repo-cards-div-main{margin-left:0;margin-right:0;margin-top:0}@media (max-width:1024px){.thesis-findings-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.thesis-project-section{margin:1.5rem 3%}.thesis-recognition-badge{padding:10px 20px}.thesis-findings-grid{grid-template-columns:1fr;grid-gap:12px;gap:12px}.thesis-result-card{padding:16px}.thesis-footer{grid-template-columns:1fr;grid-gap:1.25rem;gap:1.25rem}.other-projects-section{padding-top:1rem;padding-bottom:32px}.projects-tabs-bar{max-width:320px}.projects-tab{font-size:.875rem;padding:.625rem 1rem}}.error-main{width:100vw}.error-main>.error-class{width:90%;margin:auto 5%;text-align:center;display:block}.error-main>.error-class>.error-404{font-size:7em;overflow:hidden;padding-top:10px 0;margin:10px 0}.error-main>.error-class p{font-size:1.4em;margin-top:0}@media screen and (min-width:1364px){.error-main>.error-class>.error-404{height:175px;padding-top:60px}}.resume-main{width:100vw;min-height:100vh;margin:0;padding:0;overflow-x:hidden}.resume-view{max-width:1200px;margin:0 auto;padding:0 5% 40px}.resume-page{display:block;width:100%;margin-bottom:0}.resume-page .react-pdf__Document{display:flex;justify-content:center;width:100%;margin:0;line-height:0}.resume-page .react-pdf__Page{max-width:100%;display:block;margin:0;line-height:0}.resume-page .react-pdf__Page__canvas{max-width:100%!important;height:auto!important;width:100%!important;display:block;margin:0}.resume-page .react-pdf__Page__annotations,.resume-page .react-pdf__Page__textContent{display:none}.resume-terminal-wrapper{padding:2rem 0 1rem;display:flex;flex-direction:column;justify-content:center;align-items:center;grid-gap:1.5rem;gap:1.5rem}.resume-open-cv-btn{display:inline-flex;align-items:center;justify-content:center;padding:.9rem 2.25rem;font-size:1.1rem;font-weight:600;font-family:Google Sans Medium,sans-serif;text-decoration:none;border:2px solid;border-radius:12px;min-width:200px;max-width:320px;width:100%;transition:opacity .2s ease,transform .15s ease;box-shadow:0 4px 14px rgba(0,0,0,.12)}.resume-open-cv-btn:hover{opacity:.92;transform:translateY(-2px);box-shadow:0 6px 20px rgba(0,0,0,.15)}.resume-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 20px;min-height:400px;grid-gap:1rem;gap:1rem}.resume-placeholder h2{font-family:Google Sans Medium,sans-serif;font-size:1.5rem;margin:.5rem 0 0}.resume-placeholder p{font-size:1.05rem;line-height:1.6;max-width:420px;margin:0}.download-btn{display:flex;justify-content:center;align-items:center;margin-bottom:30px}@media screen and (max-width:768px){.resume-view{padding:0 2% 30px}}@media screen and (min-width:769px){.resume-view{max-width:1400px;padding:0 3% 50px}}.resume-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:400px}.resume-loading p{margin-top:20px;font-size:16px;color:#666}.page-loading{display:flex;justify-content:center;align-items:center;min-height:400px}.loading-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top-color:#3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.resume-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;min-height:400px;text-align:center}.resume-error .error-icon{color:#e74c3c;margin-bottom:20px}.resume-error p{font-size:18px;color:#666;margin-bottom:24px;max-width:400px}.retry-btn{padding:10px 24px;font-size:16px;font-weight:500;border:2px solid #e74c3c;background-color:#fff;color:#e74c3c;border-radius:8px;cursor:pointer;transition:all .3s ease;outline:none}.retry-btn:hover{background-color:#e74c3c;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(231,76,60,.3)}.pagination-controls{display:flex;justify-content:center;align-items:center;grid-gap:20px;gap:20px;margin-top:30px;margin-bottom:30px;padding:20px}.pagination-btn{padding:10px 24px;font-size:16px;font-weight:500;border:2px solid #3498db;background-color:#fff;color:#3498db;border-radius:8px;cursor:pointer;transition:all .3s ease;outline:none}.pagination-btn:hover:not(:disabled){background-color:#3498db;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(52,152,219,.3)}.pagination-btn:disabled{opacity:.4;cursor:not-allowed;border-color:#ccc;color:#ccc}.page-info{font-size:16px;font-weight:500;color:#333;min-width:120px;text-align:center}@media screen and (max-width:768px){.pagination-controls{flex-direction:column;grid-gap:12px;gap:12px}.pagination-btn{width:100%;max-width:200px}.page-info{order:-1;margin-bottom:8px}.loading-spinner{width:40px;height:40px}.resume-error,.resume-loading{min-height:300px;padding:40px 20px}}.resume-terminal-card{padding:.75rem;overflow:hidden;border:1px solid;border-radius:20px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);min-width:280px;max-width:420px;margin:0 auto}.resume-terminal-wrap{display:flex;flex-direction:column;grid-gap:0;gap:0;position:relative;z-index:10;border:1px solid;border-radius:12px;overflow:hidden}.resume-terminal{display:flex;flex-direction:column;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.resume-terminal-head{justify-content:space-between;min-height:44px;padding-inline:12px;padding-block:8px;border-top-left-radius:11px;border-top-right-radius:11px}.resume-terminal-head,.resume-terminal-title{display:flex;align-items:center;overflow:hidden;grid-gap:8px;gap:8px}.resume-terminal-title{height:2.5rem;margin:0;-webkit-user-select:none;user-select:none;font-weight:600;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.resume-terminal-title-icon{height:18px;width:18px;flex-shrink:0}.resume-terminal-open-btn{display:inline-flex;align-items:center;justify-content:center;grid-gap:6px;gap:6px;padding:.4rem .75rem;border:1px solid;border-radius:8px;cursor:pointer;font-family:inherit;font-size:.8rem;font-weight:500;transition:opacity .2s ease,transform .15s ease}.resume-terminal-open-btn:hover{opacity:.95;transform:translateY(-1px)}.resume-terminal-open-btn svg{width:16px;height:16px;flex-shrink:0}.resume-terminal-open-label{white-space:nowrap}.resume-terminal-body{display:flex;flex-direction:column;position:relative;border-bottom-right-radius:14px;border-bottom-left-radius:14px;overflow-x:auto;padding:1rem 1.25rem;line-height:1.6;white-space:nowrap}.resume-terminal-pre{display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;margin:0;font-size:15px;white-space:pre;overflow:hidden;box-sizing:border-box}.resume-terminal-prompt{flex-shrink:0;opacity:.7}.resume-terminal-cmd{position:relative;display:inline-block;height:1.4em;overflow:hidden;white-space:nowrap;width:18ch}.resume-terminal-cmd:before{content:attr(data-cmd);display:block;overflow:hidden;white-space:nowrap;width:0;animation:resume-terminal-type 6s steps(18) infinite}@keyframes resume-terminal-type{0%,to{width:0}12%,88%{width:18ch}25%,75%{width:18ch}}.resume-terminal-cursor{display:inline-block;height:1.1em;width:0;margin-left:2px;border-right:.15em solid;vertical-align:text-bottom;animation:resume-terminal-blink .8s step-end infinite}@keyframes resume-terminal-blink{50%{border-color:transparent}}@media (max-width:480px){.resume-terminal-card{min-width:0;width:100%}.resume-terminal-open-label{display:none}.resume-terminal-open-btn{padding:.5rem}.resume-terminal-cmd:before{animation-duration:5s}}.scroll-progress{position:fixed;top:0;left:0;right:0;height:3px;z-index:9998;background:transparent;pointer-events:none}.scroll-progress-bar{height:100%;transition:width .1s ease-out}@media (prefers-reduced-motion:reduce){.scroll-progress-bar{transition:none}}
/*# sourceMappingURL=main.a3ba2399.chunk.css.map */