.navbar{background-color:#fff;box-shadow:-2px 0 10px #0000001a;height:100vh;position:fixed;right:0;top:0;width:100px;z-index:1000}.nav-container{height:100%;padding:2rem 0}.nav-container,.nav-item{align-items:center;display:flex;flex-direction:column}.nav-item{color:#777;padding:1rem 0;transition:color .2s;width:100%}.nav-item:hover{color:#1e88e5}.nav-item.active{color:#1e88e5;position:relative}.nav-item.active:after{background-color:#1e88e5;content:"";height:24px;position:absolute;right:0;top:50%;transform:translateY(-50%);width:3px}.nav-icon{font-size:1.5rem;margin-bottom:.5rem}.nav-title{font-size:.7rem;font-weight:500}.user-icon:before{content:"👤"}.resume-icon:before{content:"📄"}.publications-icon:before{content:"📚"}.projects-icon:before{content:"💼"}.awards-icon:before{content:"🏆"}.volunteers-icon:before{content:"👥"}@media (max-width:768px){.navbar{bottom:0;height:60px;top:auto;width:100%}.nav-container{flex-direction:row;justify-content:space-around;padding:0}.nav-item{padding:.5rem 0}.nav-item.active:after{height:3px;right:auto;top:0;transform:none;width:24px}}.about-me{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:2rem}.section-title{font-size:2.2rem;font-weight:700;margin-bottom:.5rem}.section-underline{background-color:#1e88e5;height:3px;margin-bottom:1.5rem;width:140px}.about-content p{color:#444;line-height:1.6;margin-bottom:1.2rem}.about-content a{color:#1e88e5;font-weight:500}.about-content a:hover{text-decoration:underline}.interests{margin-top:1rem}.interests .section-title{font-size:2.2rem;font-weight:700;margin-bottom:1.5rem}.interests-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.interest-card{align-items:center;border-radius:10px;display:flex;gap:1rem;padding:1.5rem;transition:transform .2s}.interest-card:hover{transform:translateY(-5px)}.interest-icon{align-items:center;border-radius:8px;display:flex;font-size:1.5rem;height:40px;justify-content:center;width:40px}.data-icon:before{content:"💻"}.llm-icon:before{content:"🤖"}.interest-title{font-size:1.1rem;font-weight:600}.social-links{gap:1rem;margin-top:.5rem}.social-button,.social-links{display:flex;justify-content:center}.social-button{align-items:center;background-color:#fff;border-radius:50%;box-shadow:0 2px 8px #0000001a;height:40px;transition:transform .2s;width:40px}.social-button:hover{transform:translateY(-3px)}.social-icon{background-position:50%;background-repeat:no-repeat;background-size:contain;height:20px;width:20px}.github-icon{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/></svg>')}.linkedin-icon{background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z"/></svg>')}.contact-info{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;padding:1.5rem}.contact-item{align-items:center;border-bottom:1px solid #eee;display:flex;padding:.8rem 0}.contact-item:last-child{border-bottom:none}.contact-icon{align-items:center;background-color:#f5f5f5;border-radius:50%;display:flex;font-size:1.2rem;height:36px;justify-content:center;margin-right:1rem;width:36px}.email-icon:before{content:"✉️"}.phone-icon:before{content:"📞"}.location-icon:before{content:"📍"}.gender-icon:before{content:"⚧️"}.contact-details{flex:1 1}.contact-type{color:#777;font-size:.8rem;margin-bottom:.2rem}.contact-value{font-weight:500}.home{width:100%}.home .sidebar{gap:1.5rem}.home .content,.home .sidebar{display:flex;flex-direction:column}.home .content{gap:2rem}.profile-card{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;overflow:hidden;padding-bottom:1.5rem;padding-top:10px;text-align:center}.profile-image{height:350px;overflow:hidden;width:100%}.profile-image img{height:100%;object-fit:cover;width:100%}.profile-info{padding:1.5rem}.profile-name{font-size:1.8rem;font-weight:700;margin-bottom:.3rem}.profile-vietnamese{color:#666;font-size:.9rem;margin-bottom:1rem}.profile-title{background-color:#f5f5f5;border-radius:20px;display:inline-block;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.resume-page{padding:2rem 0}.resume-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:2rem}.resume-actions{margin-top:1rem}.download-btn{background-color:#1e88e5;border-radius:5px;color:#fff;display:inline-block;font-weight:500;padding:.7rem 1.5rem;transition:background-color .2s}.download-btn:hover{background-color:#1565c0}.resume-section{background-color:#fff;border-radius:10px;box-shadow:0 2px 10px #0000001a;margin-bottom:2rem;padding:2rem}.resume-section-title{border-bottom:2px solid #eee;color:#333;font-size:1.6rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:.5rem}.resume-item{margin-bottom:2rem}.resume-item:last-child{margin-bottom:0}.resume-item-header{align-items:center;display:flex;flex-wrap:wrap;justify-content:space-between;margin-bottom:.5rem}.resume-item-title{color:#333;font-size:1.2rem;font-weight:600;margin:0}.resume-item-period{color:#1e88e5;font-size:.9rem;font-weight:500}.resume-item-subtitle{color:#555;font-weight:500;margin-bottom:1rem}.resume-item-description,.resume-item-list{color:#666;line-height:1.6}.resume-item-list{list-style-type:disc;padding-left:1.5rem}.resume-item-list li{margin-bottom:.5rem}.skills-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.skill-group-title{color:#333;font-size:1.1rem;margin-bottom:1rem}.skills-list{display:flex;flex-wrap:wrap;gap:.5rem}.skill-item{background-color:#f0f4f8;border-radius:20px;color:#1e88e5;font-size:.9rem;padding:.5rem 1rem}@media (max-width:768px){.resume-item-header{align-items:flex-start;flex-direction:column}.resume-item-period{margin-top:.3rem}}.projects-page{padding:2rem 0}.projects-header{margin-bottom:2rem}.projects-description{color:#555;line-height:1.6;margin-top:1rem}.projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:1fr}.project-card{background-color:#fff;border-radius:10px;box-shadow:0 4px 12px #0000001a;overflow:hidden;transition:transform .3s}.project-card:hover{transform:translateY(-5px)}.project-image{height:200px;overflow:hidden;width:100%}.project-image img{height:100%;object-fit:cover;width:100%}.project-content{height:300px;padding:1.5rem}.project-title{color:#333;font-size:1.4rem;font-weight:600;margin-bottom:.5rem}.project-timeline{color:#666;font-size:.9rem;margin-bottom:1rem}.project-description{color:#555;line-height:1.6;margin-bottom:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag{background-color:#f0f4f8;border-radius:15px;color:#1e88e5;font-size:.8rem;font-weight:500;padding:.3rem .8rem}@media (min-width:768px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1200px){.projects-grid{grid-template-columns:repeat(3,1fr)}}*{box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:0;padding:0}.app{background-color:#f5f5f5;display:flex;min-height:100vh}.main-content{flex:1 1;margin-right:50px}a{color:inherit;text-decoration:none}.container{display:flex;gap:2rem;margin:0 auto;max-width:1200px;padding:2rem;width:100%}.content{flex:3 1}.sidebar{flex:1 1}@media (max-width:768px){.main-content{margin-bottom:60px;margin-right:0}.container{flex-direction:column;padding:1rem}}
/*# sourceMappingURL=main.df5f8d88.css.map*/