@import url(https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}body,html{height:100vh}.about-container{background-color:var(--background);color:var(--text);display:flex;gap:var(--l);height:calc(100vh - var(--s) - var(--xxs)*2);margin:0 auto;max-width:1200px;padding:var(--s) var(--l)}.about-sidebar{flex-shrink:0;min-width:280px;width:280px}.profile-image{border-radius:50%;height:120px;margin-bottom:var(--xs);object-fit:cover;width:120px}.name{color:var(--text);font-family:serif;font-size:var(--l);font-weight:700;margin:0 0 var(--xxs) 0}.interests{margin:0 0 var(--xs) 0;opacity:.9}.interests,.title{color:var(--text);font-size:var(--xs);font-weight:400}.title{margin:0 0 var(--xxxs) 0;opacity:.8}.affiliation,.location{color:var(--text);font-size:var(--xs);font-weight:400;margin:0 0 var(--xxxs) 0;opacity:.8}.contact-links{margin-top:var(--s)}.contact-text{color:var(--text);font-size:var(--xs);line-height:1.5;margin:0 0 var(--s) 0}.social-links{display:flex;flex-direction:column;gap:var(--xxs)}.social-link{color:var(--text);cursor:pointer;font-size:var(--xs);text-decoration:none;transition:color var(--transition-speed) ease-in-out}.social-link:hover{color:var(--link)}.about-main{flex:1 1;padding-left:var(--s);position:relative}.about-section,.work-section{margin-bottom:var(--s)}.about-section h2{color:var(--text);font-size:var(--s);font-weight:600;margin:0 0 var(--s) 0}.work-section h2{color:var(--text);font-size:var(--xsxs);font-weight:600;margin:0 0 var(--xs) 0}.about-description{color:var(--text);font-size:var(--xs);line-height:1.6;margin:0}.work-item{margin-bottom:var(--xs)}.work-item:last-child{margin-bottom:0}.update-text{color:var(--text);font-size:var(--xs);font-weight:400;line-height:1.5;margin:0}.experience-list{list-style:none;margin:0;padding:0}.experience-item{color:var(--text);font-size:var(--xs);font-weight:400;line-height:1.5;margin:0 0 var(--xs) 0;padding-left:var(--s);position:relative}.experience-item:before{color:var(--text);content:"•";left:var(--xxs);opacity:.6;position:absolute}.experience-item:last-child{margin-bottom:0}.link{color:var(--link);text-decoration:none}.link:hover{text-decoration:underline}.link:visited{color:var(--link)}.separator{background-color:var(--border);height:1px;margin:var(--s) 0 var(--xs) 0;width:100%}.footer{align-items:center;display:flex;justify-content:space-between;margin-top:var(--s)}.copyright{color:var(--text);font-size:var(--xs);font-style:italic;opacity:.6}@media (max-width:768px){.about-container{flex-direction:column;gap:var(--s);height:auto;min-height:calc(100vh - var(--s) - var(--xxs)*2);padding:var(--s)}.about-sidebar{min-width:100%;text-align:center;width:100%}.profile-image{height:100px;width:100px}.about-main{display:flex;flex:1 1;flex-direction:column;padding-left:0}.social-links{align-items:center;flex-direction:row;flex-wrap:wrap;gap:var(--s);justify-content:center}.footer{align-items:center;flex-direction:column;gap:var(--xs);margin-top:var(--s)}}:root{--background:#f5f5f5;--text:#1a1a1a;--link:#2563eb;--xxxs:clamp(0.1rem,0.1vw,0.2rem);--xxs:clamp(0.5rem,0.5vw,1rem);--xs:clamp(0.75rem,1vw,1.25rem);--xsxs:clamp(0.85rem,1.35vw,1.35rem);--xss:clamp(1rem,1.5vw,1.5rem);--s:clamp(1.25rem,2vw,2rem);--sm:clamp(1.5rem,3vw,2.5rem);--m:clamp(2rem,4vw,3rem);--ml:clamp(2.5rem,5vw,3.5rem);--l:clamp(3rem,6vw,4rem);--xl:clamp(4rem,8vw,5rem);--xxl:clamp(10rem,20vw,12rem);--transition-speed:0.12s}.dark-mode{--background:#1a1a1a;--text:#f5f5f5;--link:#4a9eff;--border:#ffffff1a}.light-mode{--background:#f5f5f5;--text:#1a1a1a;--link:#2563eb;--border:#0000001a}body{font-family:Noto Sans,sans-serif}.background,.dark-mode-icon,.header,.light-mode-icon,.profile-image,body{transition:background-color .12s ease-in-out,color .12s ease-in-out,fill .12s ease-in-out;transition:background-color var(--transition-speed) ease-in-out,color var(--transition-speed) ease-in-out,fill var(--transition-speed) ease-in-out}.header{align-items:center;background-color:var(--background);display:flex;flex-shrink:0;height:var(--s);justify-content:space-between;margin-bottom:none;padding:var(--xxs);text-align:center}.header,.left{color:var(--text)}.left{font-weight:700;margin-left:var(--s)}.name{cursor:pointer;font-size:var(--s)}.coursework-name{cursor:pointer;font-size:var(--xs)}.coursework-name-active{font-weight:700}.coursework-name-inactive{font-weight:400}.right{display:flex;gap:var(--s)}.projects-name{cursor:pointer;font-size:var(--xs)}.projects-name-active{font-weight:700}.projects-name-inactive{font-weight:400}.dark-mode-icon{fill:var(--text);cursor:pointer;height:var(--xs);margin-right:var(--s);width:var(--xs)}.dark-mode-icon:hover{fill:var(--link)}.light-mode-icon{cursor:pointer;height:var(--xs);margin-right:var(--s);width:var(--xs)}.light-mode-icon:hover{fill:var(--link)}.spotify-container{display:inline-block;min-height:var(--xs);min-width:var(--xs);position:relative}.spotify-link{align-items:center;background:none;border:none;color:var(--text);cursor:pointer;display:inline-flex;font-size:var(--xs);justify-content:center;margin:0;padding:0;text-decoration:none;transition:color var(--transition-speed) ease-in-out}.spotify-link:hover{color:var(--link)}.music-icon{color:var(--text);display:block;flex-shrink:0;height:var(--xs);transition:color var(--transition-speed) ease-in-out;width:var(--xs)}.spotify-link:hover .music-icon{color:var(--link)}.spotify-popup{animation:fadeIn .2s ease-in-out;background-color:var(--background);border:1px solid var(--border);border-radius:8px;box-shadow:0 4px 12px #0000001a;margin-top:var(--xxs);min-width:280px;padding:var(--s);position:absolute;right:0;top:100%;z-index:1000}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInMobile{0%{opacity:0;transform:translate(-50%,-50%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}.now-playing-header{align-items:center;display:flex;gap:var(--xxs);margin-bottom:var(--xs)}.now-playing-text,.playing-indicator{font-size:var(--xs)}.now-playing-text{color:var(--text);font-weight:600}.album-art{border-radius:4px;height:80px;object-fit:cover;width:80px}.album-art,.song-info{margin-bottom:var(--xs)}.song-title{font-weight:600;line-height:1.3}.song-artist,.song-title{color:var(--text);font-size:var(--xs);margin-bottom:var(--xxxs)}.song-artist{opacity:.8}.song-album{color:var(--text);font-size:var(--xs);font-style:italic;opacity:.6}.progress-container{margin-top:var(--xs)}.progress-bar{background-color:var(--border);border-radius:2px;height:4px;margin-bottom:var(--xxxs);overflow:hidden;width:100%}.progress-fill{background-color:var(--link);border-radius:2px;height:100%;transition:width .3s ease}.progress-time{color:var(--text);font-size:var(--xs);opacity:.7;text-align:center}.listen-on-spotify{border:1px solid var(--link);border-radius:4px;color:var(--link);display:inline-block;font-size:var(--xs);padding:var(--xxxs) var(--xs);text-decoration:none;transition:all var(--transition-speed) ease-in-out}.listen-on-spotify:hover{background-color:var(--link);color:var(--background)}.not-playing{padding:var(--xs);text-align:center}.not-playing-text{color:var(--text);font-size:var(--xs);font-style:italic;opacity:.6}@media (max-width:768px){.spotify-popup{animation:fadeInMobile .2s ease-in-out;left:50%;margin-top:0;max-width:90vw;position:fixed;right:auto;top:50%;transform:translate(-50%,-50%);z-index:1001}.listen-on-spotify{display:block;text-align:center}.listen-on-spotify,.not-playing .listen-on-spotify{margin-top:var(--xs)}.spotify-link{-webkit-tap-highlight-color:rgba(0,0,0,.1);tap-highlight-color:#0000001a}}@media (prefers-color-scheme:dark){.spotify-popup{box-shadow:0 4px 12px #0000004d}}.coursework{align-items:center;background-color:var(--background);box-shadow:inset 0 0 var(--xs) var(--border);color:var(--text);display:flex;flex-direction:column;flex-grow:1;height:calc(100dvh - var(--s) - var(--xxs)*2);justify-content:center;overflow-y:auto;width:100vw}.coursework,body,html{scroll-behavior:smooth}body,html{overflow:hidden}.projects-container{background-color:var(--background);box-sizing:border-box;color:var(--text);height:calc(100vh - var(--s) - var(--xxs)*2);overflow-y:auto;padding:var(--xs) var(--l) var(--l) var(--l)}.projects-content{margin:0 auto;max-width:1200px;padding-bottom:var(--s)}.projects-title{color:var(--text);font-family:serif;font-size:var(--s);font-weight:700;margin:0 0 var(--s) 0;text-align:center}.project-grid{grid-gap:var(--s);display:grid;gap:var(--s);grid-template-columns:1fr}.project-card{background-color:var(--background);border:1px solid var(--border);border-radius:12px;margin:0 auto;max-width:800px;padding:var(--xs);transition:all var(--transition-speed) ease-in-out}.project-card:hover{border-color:var(--link);box-shadow:0 4px 12px #0000001a}.project-video{border-radius:8px;margin:0 auto var(--s) auto;max-width:400px;overflow:hidden}.demo-video{border-radius:8px;display:block;height:auto;max-height:300px;object-fit:cover;width:100%}.project-info{padding:0 var(--xs)}.project-title{color:var(--text);font-size:var(--xsxs);font-weight:600;margin:0 0 var(--xs) 0}.project-description{color:var(--text);font-size:var(--xs);line-height:1.5;margin:0 0 var(--s) 0;opacity:.8}.project-links{display:flex;gap:var(--xs)}.project-link{background-color:initial;border:1px solid var(--text);border-radius:6px;color:var(--text);display:inline-block;font-size:var(--xs);font-weight:500;opacity:.7;padding:var(--xxs) var(--s);text-decoration:none;transition:all var(--transition-speed) ease-in-out}.project-link:hover{background-color:var(--text);color:var(--background);opacity:1}.project-content-horizontal{align-items:flex-start;display:flex;gap:var(--xs)}.project-image,.project-video{flex-shrink:0;max-width:500px}.project-info-horizontal{display:flex;flex:1.2 1;flex-direction:column;justify-content:flex-start;padding:0}.demo-video,.project-img{border-radius:8px;display:block;height:auto;max-height:400px;object-fit:cover;width:100%}@media (max-width:768px){.projects-container{padding:var(--s)}.project-card{padding:var(--xs)}.project-info{padding:0}.project-content-horizontal{flex-direction:column;text-align:center}.project-video{margin-bottom:var(--xs);max-width:100%}}@media (min-width:1024px){.project-grid{grid-template-columns:1fr;margin:0 auto;max-width:1000px}}.not-found{align-items:center;background-color:var(--background);box-shadow:inset 0 0 var(--xs) var(--border);color:var(--text);display:flex;flex-direction:column;flex-grow:1;height:100dvh;justify-content:center;overflow-y:auto;scroll-behavior:smooth;width:100vw}.not-found-title{font-size:var(--sm)}.not-found-text,.not-found-title{padding:var(--xxs);text-align:center}.not-found-text{font-size:var(--xs)}.head-home{border:1px solid var(--text);border-radius:5px;font-size:var(--xss);margin:var(--s);padding:5px;text-align:center}.head-home:hover{border:1px solid var(--link);border-radius:5px;color:var(--link);cursor:pointer}body,html{height:100%;margin:0;overflow-x:hidden;padding:0}.resume,body,html{background-color:var(--background)}.resume{align-items:center;box-shadow:inset 0 0 var(--xs) #ffffff1a;color:var(--text);display:flex;flex-direction:column;flex-grow:1;height:calc(100dvh - var(--s) - var(--xxs)*2);justify-content:center;overflow-y:auto;scroll-behavior:smooth;width:100vw}.resume-title{font-size:var(--s);padding:var(--xxs);text-align:center}.resume-iframe{height:90%;width:60%}
/*# sourceMappingURL=main.34599be1.css.map*/