@import "https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700;800&display=swap";:root{--primary-color:#238636;--secondary-color:#2ea043;--text-color:#c9d1d9;--background-color:#0d1117;--heading-color:#fff;--section-padding:3rem 2rem;--border-color:#30363d;--max-width:1200px;--card-background:#161b22}[data-theme=light]{--primary-color:#238636;--secondary-color:#2ea043;--text-color:#24292f;--background-color:#fff;--heading-color:#24292f;--border-color:#d0d7de;--card-background:#f6f8fa}*{box-sizing:border-box;margin:0;padding:0}body{color:var(--text-color);background:var(--background-color);padding-top:48px;font-family:Poppins,sans-serif;line-height:1.5}@media (min-width:992px){body{padding-top:0;padding-left:17rem}}h1,h2,h3,h4,h5,h6{color:var(--heading-color);font-family:Poppins,sans-serif;font-weight:700}h1,h2{text-transform:uppercase}h1{white-space:nowrap;margin-bottom:1.5rem;font-size:4rem;line-height:1.2}h2{margin-bottom:2rem;font-size:2.5rem}h3{margin-bottom:1rem;font-size:1.75rem}.subheading{color:var(--text-color);margin-bottom:1.5rem;font-family:Poppins,sans-serif;font-size:1.15rem;font-weight:500}.app{width:100%;margin:0;padding:0}#sideNav{text-align:center;background:var(--card-background);border-right:1px solid var(--border-color);z-index:1000;flex-direction:column;width:17rem;height:100vh;display:flex;position:fixed;top:0;left:0}#sideNav .navbar-brand{background:0 0;border:none;justify-content:center;padding:1rem;display:flex}#sideNav .navbar-brand:hover,#sideNav .navbar-brand:focus,#sideNav .navbar-brand:active{box-shadow:none;background:0 0;border:none;outline:none}#sideNav .navbar-brand .img-profile{border:.2rem solid var(--border-color);border-radius:50%;width:160px;height:160px;transition:transform .3s,box-shadow .3s}#sideNav .navbar-brand .img-profile:hover{transform:scale(1.05);box-shadow:0 0 20px #0000004d}#sideNav .navbar-collapse{flex-direction:column;height:100%;display:flex}#sideNav .navbar-nav{flex-direction:column;width:100%;margin:2rem 0;padding:0;display:flex}#sideNav .nav-item{width:100%;display:block}#sideNav .nav-link{color:var(--text-color);letter-spacing:.5px;text-transform:uppercase;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:.75rem 1.5rem;font-family:Poppins,sans-serif;font-size:.95rem;font-weight:500;text-decoration:none;transition:all .3s;display:block}#sideNav .nav-link:hover{color:var(--primary-color);background-color:#2386361a}#sideNav .nav-link.active{color:var(--primary-color);background-color:#2386361a;font-weight:600}.sidebar-social-links{border-top:1px solid var(--border-color);justify-content:center;gap:1.25rem;margin-top:auto;padding:1.5rem;display:flex}.sidebar-social-links a{color:var(--text-color);opacity:.8;font-size:1.25rem;transition:all .3s}.sidebar-social-links a:hover{color:var(--primary-color);opacity:1;transform:translateY(-3px)}@media (max-width:991.98px){#sideNav{border-bottom:1px solid var(--border-color);z-index:1000;background:var(--card-background);border-right:none;width:100%;height:auto;padding:.5rem 1rem;position:fixed}#sideNav .navbar-brand{margin:0;padding:0}#sideNav .navbar-brand .img-profile{border-width:.15rem;width:40px;height:40px}#sideNav .navbar-toggler{border:1px solid var(--border-color);background-color:#0000;border-radius:.25rem;padding:.5rem;font-size:1.25rem;line-height:1;transition:all .3s;display:block}#sideNav .navbar-toggler:hover{border-color:var(--primary-color)}#sideNav .navbar-collapse{background:var(--card-background);border:1px solid var(--border-color);border-radius:.5rem;width:100%;margin-top:.5rem;padding:1rem;display:none}#sideNav .navbar-collapse.show{display:block}#sideNav .navbar-nav{flex-direction:column;width:100%;margin:0}#sideNav .nav-item{width:100%}#sideNav .nav-link{text-align:left;border-radius:.25rem;padding:.75rem 1rem}#sideNav .nav-link:hover{background-color:#2386361a}.sidebar-social-links{justify-content:flex-start;margin-top:1rem;padding:1rem 0 0}}.navbar-toggler{border-color:var(--border-color)}.navbar-toggler-icon{vertical-align:middle;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(201, 209, 217, 0.75)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");background-position:50%;background-repeat:no-repeat;background-size:100%;width:1.5em;height:1.5em;display:inline-block}[data-theme=light] .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0, 0, 0, 0.55)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.nav-link{transition:color .2s;color:var(--text-color)!important}.nav-link:hover,.nav-link:focus{color:var(--primary-color)!important}.nav-link.active{font-weight:600;color:var(--primary-color)!important}section.resume-section{min-height:100vh;max-width:var(--max-width);border-bottom:1px solid var(--border-color);opacity:0;align-items:center;margin:0 auto;padding:6rem 3rem;transition:opacity .5s,transform .5s;display:flex;transform:translateY(20px)}.resume-section .my-auto{width:100%;max-width:900px;margin:0 auto}.resume-section h2{text-align:left;margin-bottom:3rem;position:relative}.resume-section h2:after{content:"";background:var(--primary-color);width:50px;height:3px;position:absolute;bottom:-1rem;left:0}.resume-section.visible{opacity:1;transform:translateY(0)}.resume-section .resume-item{margin-bottom:3rem;transition:transform .3s,box-shadow .3s}.resume-section .resume-item:hover{transform:translateY(-5px);box-shadow:0 5px 15px #0000001a}.resume-section h3 a{color:var(--heading-color);text-decoration:none;transition:color .3s}.resume-section h3 a:hover{color:var(--primary-color)}.experience-item{border-bottom:1px solid var(--border-color);flex-direction:column;gap:1.5rem;margin-bottom:3rem;padding-bottom:3rem;display:flex}@media (min-width:768px){.experience-item{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:2rem}}.experience-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.experience-item .company-logo{object-fit:contain;object-position:center;border:1px solid var(--border-color);box-sizing:border-box;background:#fff;border-radius:8px;width:150px;max-width:150px;height:150px;max-height:150px;padding:10px;transition:transform .3s;display:block}.experience-item .company-logo[src$=\.svg]{border:1px solid var(--border-color);background:#fff}.experience-item .company-logo{image-rendering:auto;image-rendering:crisp-edges;image-rendering:-webkit-optimize-contrast}.experience-item .company-logo:hover{transform:scale(1.05)}@media (max-width:768px){.experience-item .company-logo{width:100px;max-width:100px;height:100px;max-height:100px;margin:0 auto}}.experience-item .resume-content{flex:1}.experience-item .resume-logo{flex-shrink:0;justify-content:center;align-items:flex-start;display:flex}@media (min-width:768px){.experience-item .resume-logo{justify-content:flex-end;align-items:flex-start;margin-left:2rem}}@media (max-width:767px){.experience-item .resume-logo{justify-content:center;margin-top:1rem}}.experience-item h3{margin-bottom:.5rem}.company-period{color:var(--primary-color);opacity:.8;margin-bottom:.75rem;font-family:Poppins,sans-serif;font-size:1.2rem;font-weight:400}.experience-item .location-text{color:var(--text-color);opacity:.9;font-size:.95rem}.experience-item .location-text i{color:var(--primary-color);font-size:.9rem}@media (max-width:768px){.experience-item .d-flex.justify-content-between{flex-direction:column;align-items:flex-start;gap:.5rem}.experience-item .location-text{margin-left:0}.company-period{font-size:1rem}}.skills-list{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:1.5rem;max-width:1100px;margin:0 auto;padding:0;list-style:none;display:grid}.skill-item{text-align:center;background:0 0;border-radius:8px;flex-direction:column;align-items:center;width:100px;padding:1rem;transition:transform .3s;display:flex}.skill-item:hover{transform:translateY(-5px)}.skill-item span{color:var(--text-color);margin-top:.5rem;font-size:.9rem}.skill-svg-icon{justify-content:center;align-items:center;width:3rem;height:3rem;display:flex}@media (max-width:768px){.skills-list{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:1rem}.skill-item{width:85px}.skill-item i,.skill-svg-icon{width:2.5rem;height:2.5rem;font-size:2.5rem}.skill-item span{font-size:.8rem}}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2rem;max-width:1100px;margin-top:2rem;margin-left:auto;margin-right:auto;display:grid}.skill-category{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:1.5rem;transition:transform .3s}.skill-category:hover{transform:translateY(-5px)}.skill-category h3{color:var(--primary-color);margin-bottom:1rem;font-size:1.25rem}@media (max-width:768px){.skills-list{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}.skill-item i{font-size:2rem}.skill-item span{font-size:.8rem}}.project{background:var(--card-background);border:1px solid var(--border-color);border-radius:6px;flex-direction:column;gap:.75rem;margin-bottom:1rem;padding:1rem;transition:border-color .3s;display:flex;position:relative}.project:hover{border-color:var(--primary-color);box-shadow:none;transform:none}.project-header{align-items:flex-start;gap:.5rem;display:flex}.project h3{margin:0;font-size:1rem;font-weight:600}.project h3 a{color:var(--heading-color);text-decoration:none}.project h3 a:hover{color:var(--primary-color)}.project-description{color:var(--text-color);margin:0;font-size:.875rem;line-height:1.5}.project-meta{color:var(--text-color);align-items:center;gap:1rem;margin-top:auto;font-size:.75rem;display:flex}.project-tech{flex-wrap:wrap;gap:.5rem;margin:0;display:flex}.tech-tag{color:var(--text-color);background:0 0;border:none;align-items:center;gap:.25rem;padding:.25rem 0;font-size:.75rem;display:inline-flex}.tech-tag:before{content:"";background-color:var(--primary-color);border-radius:50%;width:.75rem;height:.75rem;display:inline-block}.projects-grid{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;display:grid}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.project{padding:1rem}.project-header{flex-direction:row}.project-period{font-size:.875rem}.tech-tag{font-size:.75rem}}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1100px;margin-top:2rem;margin-left:auto;margin-right:auto;display:grid}.contact-info{flex-direction:column;gap:1rem;display:flex}.contact-info i{width:25px;color:var(--primary-color)}.social-links{gap:1.25rem;margin-top:.75rem;display:flex}.social-links a{color:var(--text-color);margin-right:1rem;transition:color .2s}.social-links a:hover{color:var(--primary-color)}.social-icons a{transition:transform .3s}.social-icons a:hover{transform:translateY(-3px)}.contact-section{max-width:800px;margin:0 auto}.contact-form{max-width:600px;margin-top:2rem}.form-group{margin-bottom:1.25rem}.form-group label{margin-bottom:.5rem;font-weight:600;display:block}.form-group input,.form-group textarea{background:var(--card-background);width:100%;color:var(--text-color);border:1px solid var(--border-color);border-radius:4px;padding:.6rem;font-family:inherit;font-size:.95rem}.form-group input:focus,.form-group textarea:focus{border-color:var(--primary-color);background:var(--card-background);color:var(--text-color);outline:none}.form-control:focus{border-color:var(--primary-color);box-shadow:0 0 0 .2rem #bd5d3840}.submit-btn{background:var(--primary-color);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:background-color .3s}.submit-btn:hover{background:var(--secondary-color)}.contact-item{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.contact-item i{color:var(--primary-color);font-size:1.25rem}.contact-item a{color:var(--text-color);text-decoration:none;transition:color .3s}.contact-item a:hover{color:var(--primary-color)}.text-primary{white-space:nowrap;display:inline-block;color:var(--primary-color)!important}@media (max-width:991.98px){body{padding-top:40px;padding-left:0}#sideNav{background:var(--card-background);width:100%;height:auto;padding:1rem;position:static}#sideNav .navbar-brand{margin:0}#sideNav .navbar-nav{flex-direction:row;justify-content:center;gap:.75rem;padding:1rem 0}section.resume-section{min-height:auto;padding:4rem 2rem}.resume-section .my-auto{padding:0 1rem}.experience-item{flex-direction:column;gap:1rem}h1{font-size:3rem}h2{font-size:2rem}}@media (max-width:768px){section.resume-section{padding:3rem 1.5rem}.skills-grid,.projects-grid{grid-template-columns:1fr;gap:1.5rem}.resume-section h2{margin-bottom:2rem;font-size:2rem}h1{font-size:4rem;line-height:3.5rem}h2{font-size:2.5rem}.skills-list li{font-size:1rem}.projects-grid{grid-template-columns:1fr;gap:1.25rem}.project{margin-bottom:1.5rem;padding:1.25rem}.contact-form{padding:0 1rem}}@media (max-width:480px){.tech-tag{font-size:.75rem}.project-links{flex-direction:column}}html{scroll-behavior:smooth}.education-logo{object-fit:contain;border:1px solid var(--border-color);background:#fff;border-radius:8px;width:100px;height:100px;margin-right:1.5rem;padding:8px;transition:transform .3s}.navbar-collapse{flex-grow:0!important}.skills-container{flex-direction:column;gap:2rem;display:flex}.skill-category{background:#ffffff0d;border-radius:8px;padding:1.5rem}.category-title{color:#bd5d38;margin-bottom:1rem;font-size:1.25rem}.skill-icons{flex-wrap:wrap;gap:1.5rem;display:flex}.skill-item{flex-direction:column;align-items:center;gap:.5rem;width:100px;display:flex}.skill-item i{justify-content:center;align-items:center;width:3rem;height:3rem;font-size:3rem;display:flex}.skill-svg-icon{width:3rem;height:3rem}.skill-name{text-align:center;word-wrap:break-word;font-size:.875rem}@media (max-width:768px){.skill-item{width:85px}.skill-item i,.skill-svg-icon{width:2.5rem;height:2.5rem;font-size:2.5rem}.skill-name{font-size:.8rem}}.vscode-sagemaker-colored{vertical-align:middle;background-image:url("data:image/svg+xml;utf8,<svg width=\"80\" height=\"80\" viewBox=\"0 0 80 80\" xmlns=\"http://www.w3.org/2000/svg\"><defs><linearGradient id=\"grad\" x1=\"0%\" y1=\"100%\" x2=\"100%\" y2=\"0%\"><stop offset=\"0%\" style=\"stop-color:%23055F4E\"/><stop offset=\"100%\" style=\"stop-color:%2356C0A7\"/></linearGradient></defs><g fill=\"none\" fill-rule=\"evenodd\"><rect fill=\"url(%23grad)\" width=\"80\" height=\"80\"/><path d=\"M54.034 26.034c0 .56-.456 1.016-1.017 1.016-.559 0-1.015-.456-1.015-1.016 0-.56.456-1.016 1.015-1.016.56 0 1.017.456 1.017 1.016zm-6.032 9.966c0-.55.448-1 1-1 .552 0 1 .45 1 1 0 .552-.448 1-1 1-.552 0-1-.448-1-1zm0 19c0-.55.448-1 1-1 .552 0 1 .45 1 1 0 .552-.448 1-1 1-.552 0-1-.448-1-1zm10-13c0 .552-.448 1-1 1-.552 0-1-.448-1-1 0-.55.448-1 1-1 .552 0 1 .45 1 1zm6.998 3.272l-5.037-2.89c.016-.126.039-.251.039-.382 0-1.654-1.346-3-3-3-1.655 0-3 1.346-3 3 0 1.654 1.345 3 3 3 .799 0 1.521-.319 2.059-.829l4.825 2.768-4.331 2.166c-.339.17-.553.516-.553.895v8.441l-12.019 7.396-5.98-3.417v-6.42h5.183c.414 1.161 1.514 2 2.816 2 1.654 0 3-1.346 3-3s-1.346-3-3-3c-1.302 0-2.402.838-2.816 2H41.003V40c0-.351-.185-.677-.486-.858l-5.001-3-.029 1.715 4.516 2.709v2.941l-6.001 4.616v-4.123c0-.304-.138-.592-.375-.781L28.002 39.52v-4.984l5.554-3.703c.279-.186.446-.498.446-.832V24h-2v5.466l-4.989 3.324-5.011-3.327v-7.889L27.002 18.66v8.341h2V17.492l4.003-2.335 5.996 3.459.001 12.385c0 .359.192.69.504.868l6.536 3.735c-.018.131-.04.261-.04.397 0 1.654 1.345 3 3 3 1.654 0 3-1.346 3-3s-1.346-3-3-3c-.794 0-1.512.315-2.049.82l-5.951-3.4-.001-11.802 5.963-3.441L58.002 22.536v2.465h-2.151c-.422-1.157-1.533-1.983-2.834-1.983-1.663 0-3.015 1.353-3.015 3.016 0 1.663 1.352 3.016 3.015 3.016 1.326 0 2.454-.859 2.858-2.049h2.127v3c0 .359.192.69.504.868L65 34.58v10.692zM33.02 65.837l-3.153-1.94 5.716-4.083-1.162-1.628-6.403 4.573-7.016-4.318v-7.875l4.514-2.709-1.029-1.715-4.529 2.718L15.002 46.382v-5.765l5.448-2.723-.894-1.789-4.554 2.276v-3.801l5.961-3.406 5.039 3.345v4.961l-5.553 3.687 1.106 1.666 5.403-3.588 4.044 3.235v5.182l-4.61 3.545 1.219 1.585L39.003 46.03v16.389l-5.983 3.418zM66.496 33.132L60.002 29.42v-7.42c0-.335-.167-.647-.446-.832l-12-8c-.316-.21-.724-.224-1.054-.034l-6.498 3.75-6.502-3.75c-.312-.182-.695-.182-1.004-.018l-12 7c-.308.179-.496.508-.496.864v8.42l-6.496 3.712c-.312.177-.504.51-.504.868v.417c-.001.021-.002.041-.002.062v10.884c0 .02.001.04.002.059v1.578c0 .379.214.725.553.894l5.447 2.724v8.382c0 .347.179.669.475.851l13 8c.161.099.343.149.525.149.171 0 .342-.044.496-.132l6.505-3.716 6.503 3.716c.315.181.707.174 1.02-.017l13-8c.296-.182.476-.504.476-.851v-8.382l5.445-2.724c.339-.169.553-.515.553-.894V34c0-.359-.193-.69-.504-.868z\" fill=\"%23FFF\"/></g></svg>");background-repeat:no-repeat;background-size:contain;width:2.5rem;height:2.5rem;margin-bottom:.5rem;display:inline-block}.skill-svg-icon{justify-content:center;align-items:center;width:3rem;height:3rem;margin-bottom:.5rem;display:flex}.skill-svg-icon svg{width:100%;height:100%}.publications-section{border-top:1px solid var(--border-color);margin-top:3rem;padding-top:2rem}.publication-item{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;margin-bottom:2rem;padding:1.5rem;transition:transform .3s}.publication-item:hover{transform:translateY(-5px)}.publication-item h4{margin-bottom:.75rem;font-size:1.25rem}.publication-item p{margin-bottom:.5rem;font-size:.95rem}.education-item{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;margin-bottom:3rem;padding:1.5rem;transition:transform .3s}.education-item:hover{transform:translateY(-5px)}.education-logo{object-fit:contain;border:1px solid var(--border-color);background:#fff;border-radius:8px;margin-right:1.5rem;padding:8px;transition:transform .3s}.education-details{flex:1;width:100%}.education-details .subheading{margin-bottom:0;font-size:1.1rem}.education-details .text-primary{white-space:nowrap;font-size:1.1rem}.education-details{flex:1}.major-subjects{color:var(--text-color);line-height:1.6}.publication-title{color:inherit;text-decoration:none;transition:color .3s}.publication-title:hover{color:var(--primary-color)}.contact-section{width:100%;max-width:1200px;margin:0 auto}.contact-container{grid-template-columns:1fr 1fr;align-items:flex-start;gap:2rem;display:grid}.contact-info-wrapper{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;padding:2rem}.map-wrapper{background:var(--card-background);border:1px solid var(--border-color);border-radius:8px;height:100%;padding:1rem}.location-map{object-fit:cover;border-radius:4px;width:100%;height:425px}@media (max-width:768px){.contact-container{grid-template-columns:1fr;gap:1.5rem}.contact-info-wrapper,.map-wrapper{padding:1.5rem}.location-map{height:300px}}.theme-switch{background:var(--card-background);border:1px solid var(--border-color);cursor:pointer;z-index:1000;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;transition:transform .3s,box-shadow .3s;display:flex;position:fixed;bottom:2rem;right:2rem}.theme-switch:hover{transform:translateY(-3px);box-shadow:0 4px 12px #00000026}.theme-switch svg{width:32px;height:32px}@media (max-width:768px){h1{white-space:normal;font-size:2.5rem;line-height:1.2}h2{font-size:2rem}h3{font-size:1.5rem}.subheading{font-size:1rem}}@media (max-width:991.98px){section.resume-section{padding:3rem 1rem}.resume-section .my-auto{padding:0 .5rem}#sideNav{padding:.5rem}#sideNav .navbar-brand .img-profile{width:40px;height:40px}#sideNav .navbar-nav{flex-wrap:wrap;justify-content:center;gap:.5rem}#sideNav .nav-link{padding:.5rem .75rem;font-size:.9rem}}@media (max-width:1200px){.projects-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}@media (max-width:480px){.projects-grid,.skills-grid,.contact-container{grid-template-columns:1fr}.education-item{flex-direction:column}.education-logo{margin-bottom:1rem;margin-right:0}.resume-section{padding:2rem 1rem}.project,.skill-category,.contact-info-wrapper,.map-wrapper{padding:1rem}.form-group input,.form-group textarea{padding:.5rem}}.experience-item .company-logo[src*=placeholder]{background:var(--card-background);color:var(--text-color);text-align:center;justify-content:center;align-items:center;font-size:.8rem;font-weight:500;display:flex}.experience-item .company-logo:not([src]),.experience-item .company-logo[src=""]{background:var(--card-background);border:2px dashed var(--border-color)}
