@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";html,body,#root{height:100%;width:100%;overflow:hidden}*{box-sizing:border-box;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#0a192f;color:#8892b0;line-height:1.6}a{color:inherit;text-decoration:none}.portfolio{display:flex;height:100vh;overflow:hidden;background-color:#0a192f;color:#8892b0}.cursor{animation:blink 1s step-start infinite}@keyframes blink{50%{opacity:0}to{opacity:0}}.resume-button{position:relative;overflow:hidden}.wavy-light{position:absolute;top:0;left:-100%;width:50%;height:100%;background-color:#fff3;transform:skew(-25deg);animation:wavyLight 2s infinite;pointer-events:none}@keyframes wavyLight{0%{left:-100%}50%,to{left:200%}}.sidebar{width:420px;flex-shrink:0;padding:2rem 2rem 2rem 3rem;display:flex;flex-direction:column;height:100vh;position:fixed}.header{margin-bottom:4rem;margin-top:.5rem}.header h1{font-size:2.5rem;font-weight:700;color:#e6f1ff;margin-bottom:.5rem}.header h2{font-size:1.25rem;font-weight:500;margin-bottom:1rem}.header p{color:#8892b0}.header .location{display:flex;align-items:center;gap:8px;margin-top:10px;color:var(--text-secondary);font-size:14px}.header .location svg{min-width:16px}.resume-button{position:absolute;top:2rem;right:2rem;background-color:transparent;color:#64ffda;border:1px solid #64ffda;border-radius:4px;padding:.75rem 1.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.resume-button:hover{background-color:#64ffda1a}.nav{margin-bottom:auto}.nav ul{list-style:none}.nav li{margin-bottom:1.5rem;position:relative}.nav button{background:none;border:none;cursor:pointer;display:flex;align-items:center;gap:1rem;color:#8892b0;font-size:.875rem;letter-spacing:1px;transition:color .3s}.nav button:hover,.nav button.active{color:#e6f1ff}.nav-line{height:1px;background-color:#4a5568;width:2rem;transition:width .3s,background-color .3s}.nav li.active .nav-line{width:4rem;background-color:#e6f1ff}.social-links{display:flex;gap:1.5rem;padding-top:2rem}.social-icon{color:#8892b0;transition:color .3s}.social-icon:hover{color:#e6f1ff}.content{margin-left:420px;width:calc(100% - 420px);height:100vh;overflow-y:auto;padding:2rem 4rem}.section{padding:4rem 0}.section:first-child{padding-top:0}.section-header{display:flex;align-items:center;margin-bottom:2rem}.section-title{font-size:1.75rem;font-weight:600;color:#e6f1ff;margin-right:1rem}.section-line{flex-grow:1;height:1px;background-color:#1e2d4a}.tags-container{display:flex;flex-wrap:wrap;gap:.5rem}.tag{background-color:#172a45;color:#64ffda;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem}.about-section{max-width:850px;margin-top:1.5rem}.about-paragraph{margin-bottom:1.5rem;font-size:1.125rem;color:#8892b0}.education-section{max-width:850px;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.education-section.animate-in{opacity:1;transform:translateY(0)}.education-timeline{position:relative;margin-left:1.5rem}.education-timeline:before{content:"";position:absolute;left:-1.5rem;top:0;bottom:0;width:2px;background-color:#1e2d4a}.education-item{position:relative;padding-bottom:3rem;opacity:0;transform:translate(-10px);transition:opacity .4s ease,transform .4s ease;transition-delay:calc(.1s * var(--data-index, 0))}.education-item.animate-in{opacity:1;transform:translate(0)}.education-item:last-child{padding-bottom:0}.education-item:before{content:"";position:absolute;left:-2.05rem;top:1.54rem;width:1rem;height:1rem;border-radius:50%;background-color:#64ffda;border:2px solid #0a192f}.education-timeline:before{content:"";position:absolute;left:-1.5rem;top:0;bottom:0;width:2px;background-color:#1e2d4a;transform:scaleY(0);transform-origin:top;transition:transform 1s ease}.education-section.animate-in .education-timeline:before{transform:scaleY(1)}.education-item:before{content:"";position:absolute;left:-2.05rem;top:1.54rem;width:1rem;height:1rem;border-radius:50%;background-color:#64ffda;border:2px solid #0a192f;transform:scale(0);transition:transform .3s ease;transition-delay:calc(.3s + (.1s * var(--data-index, 0)))}.education-item.animate-in:before{transform:scale(1)}.education-item-link{display:block;text-decoration:none;color:inherit;padding:1.5rem;margin:-1.5rem;border-radius:30px;transition:background-color .2s ease}.education-item-link:hover{background-color:#64ffda0d}.education-item-link:hover .education-institution{color:#64ffda}.education-period{color:#64ffda;font-size:.875rem;margin-bottom:.5rem}.education-degree{font-size:1.25rem;font-weight:600;color:#e6f1ff;margin-bottom:.5rem}.education-institution-container{align-items:center;margin-bottom:1rem}.education-institution{font-size:1rem;color:#8892b0;margin-bottom:1rem}.education-institution:hover{color:#64ffda}.education-institution .external-link{margin-left:.5rem;opacity:0;transform:translate(-5px);transition:opacity .3s,transform .3s}.education-institution:hover .external-link{opacity:1;transform:translate(0)}.education-gpa{font-size:.875rem;background-color:#64ffda1a;margin-left:.5rem;color:#64ffda;padding:.25rem .75rem;border-radius:9999px;font-weight:500;letter-spacing:.5px;display:inline-flex;align-items:center}.education-description{margin-bottom:1rem;color:#8892b0}.experience-section{max-width:850px;opacity:0;transform:translateY(30px);transition:opacity .6s ease,transform .6s ease}.experience-section.animate-in{opacity:1;transform:translateY(0)}.experience-sub-section{gap:4rem;display:flex;flex-direction:column;position:relative}.job-card{padding-top:1rem;padding-bottom:1rem;opacity:0;transform:translateY(20px) scale(.95);transition:opacity .5s ease,transform .5s ease;transition-delay:calc(.15s * var(--job-index, 0));position:relative;overflow:hidden}.job-card-container{margin-left:1.2rem}.job-card:before{content:"";position:absolute;top:0;left:0;width:3px;height:0;background:linear-gradient(to bottom,#64ffda,#64ffda33);transition:height .8s cubic-bezier(.22,1,.36,1);transition-delay:calc(.3s + (.2s * var(--job-index, 0)))}.job-card.animate-in{opacity:1;transform:translateY(0) scale(1)}.job-card.animate-in:before{height:100%}.job-card.animate-in:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at top left,rgba(100,255,218,.08),transparent 60%);opacity:0;animation:glowPulse 3s ease-in-out infinite;animation-delay:calc(.5s + (.2s * var(--job-index, 0)));pointer-events:none}@keyframes glowPulse{0%{opacity:0}50%{opacity:1}to{opacity:0}}.job-period{color:#64ffda;margin-bottom:.5rem;font-size:.875rem;transform:translate(-20px);opacity:0;transition:transform .5s ease,opacity .5s ease;transition-delay:calc(.3s + (.2s * var(--job-index, 0)))}.job-card.animate-in .job-period{transform:translate(0);opacity:1}.job-title-link{margin-bottom:.5rem;display:inline-block;position:relative}.job-title{font-size:1.25rem;font-weight:600;color:#e6f1ff;display:flex;align-items:center;transform:translateY(10px);opacity:0;transition:transform .5s ease,opacity .5s ease;transition-delay:calc(.4s + (.2s * var(--job-index, 0)))}.job-card.animate-in .job-title{transform:translateY(0);opacity:1}.job-description{margin-bottom:1rem;color:#8892b0;transform:translateY(15px);opacity:0;transition:transform .5s ease,opacity .5s ease;transition-delay:calc(.5s + (.2s * var(--job-index, 0)))}.job-card.animate-in .job-description{transform:translateY(0);opacity:1}.projects-section{max-width:850px;opacity:0;transform:translateY(30px);transition:opacity .6s ease-out,transform .8s ease-out}.projects-section.animate-in{opacity:1;transform:translateY(0)}.projects-sub-section{gap:4rem;display:flex;flex-direction:column}.project-card{display:flex;gap:2rem;opacity:0;transform:translate(-50px);transition:all .7s cubic-bezier(.22,1,.36,1)}.project-card:nth-child(2n){transform:translate(50px)}.projects-section.animate-in .project-card{opacity:1;transform:translate(0);transition-delay:calc(.1s * var(--project-index, 0))}.project-image{margin-top:.4rem;width:280px;flex-shrink:0;overflow:hidden;border-radius:.375rem;transform:scale(.95);transition:transform .6s cubic-bezier(.22,1,.36,1)}.projects-section.animate-in .project-image{transform:scale(1)}.project-image img{width:100%;border-radius:.375rem;max-height:210px;transition:transform .6s ease-out}.project-card:hover .project-image img{transform:scale(1.05)}.project-info{flex-grow:1}.project-title-link{display:inline-block;margin-bottom:.5rem}.project-title{font-size:1.25rem;font-weight:600;color:#e6f1ff;display:flex;align-items:center}.external-link{margin-left:.5rem;transform:translate(0);transition:transform .3s;display:inline-block}.project-title-link:hover .external-link,.job-title-link:hover .external-link{transform:translate(.25rem)}.project-description{margin-bottom:1rem;color:#8892b0}.project-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.875rem;color:#8892b0}.view-more-button{background-color:transparent;color:#64ffda;border:1px solid #64ffda;border-radius:4px;padding:.75rem 1.5rem;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem;margin:1rem auto 0;cursor:pointer;transition:background-color .3s,transform .2s;opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease,background-color .3s}.projects-section.animate-in .view-more-button{opacity:1;transform:translateY(0);transition-delay:.6s}.view-more-button:hover{background-color:#64ffda1a;transform:translateY(-2px)}.view-more-button:active{transform:translateY(0)}.contact-section{max-width:850px}.contact-content{display:flex;gap:4rem}.contact-info,.contact-info-container,.contact-form-container{flex:1}.contact-subtitle{font-size:1.5rem;font-weight:600;color:#e6f1ff;margin-top:1rem;margin-bottom:1rem}.contact-text{margin-top:1rem;margin-bottom:2rem;color:#8892b0}.contact-details{display:flex;flex-direction:column;gap:1.5rem}.contact-item{display:flex;align-items:flex-start;gap:1rem}.contact-icon{color:#64ffda;background-color:#64ffda1a;padding:.75rem;border-radius:50%;display:flex;align-items:center;justify-content:center}.contact-item-content{display:flex;flex-direction:column}.contact-item-label{font-size:.875rem;color:#8892b0;margin-bottom:.25rem}.contact-item-value{font-size:1rem;color:#e6f1ff;transition:color .3s}a.contact-item-value:hover{color:#64ffda}.contact-form{background-color:#112240;padding:2rem;border-radius:.5rem;box-shadow:0 10px 30px -15px #020c1bb3;transition:transform .3s,box-shadow .3s}.contact-form:hover{transform:translateY(-5px);box-shadow:0 20px 30px -15px #020c1bb3}.form-group{margin-bottom:1.5rem}.form-input,.form-textarea{width:100%;background-color:#0a192f;border:1px solid #1e2d4a;border-radius:4px;padding:1rem;color:#e6f1ff;font-family:inherit;font-size:1rem;transition:border-color .3s,box-shadow .3s}.form-input:focus,.form-textarea:focus{outline:none;border-color:#64ffda;box-shadow:0 0 0 2px #64ffda33}.form-input::placeholder,.form-textarea::placeholder{color:#4a5568}.form-textarea{resize:vertical;min-height:120px}.submit-button{background-color:transparent;color:#64ffda;border:1px solid #64ffda;border-radius:4px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.75rem;justify-content:center;width:100%}.submit-button:hover{background-color:#64ffda1a;transform:translateY(-2px)}.submit-button:active{transform:translateY(0)}.form-input.error,.form-textarea.error{border-color:#e53e3e}.form-message{margin-top:1rem;padding:.75rem;border-radius:4px;font-size:.875rem}.form-message.success{background-color:#48bb781a;color:#48bb78;border:1px solid rgba(72,187,120,.2)}.form-message.error{background-color:#e53e3e1a;color:#e53e3e;border:1px solid rgba(229,62,62,.2)}@media (max-width: 1024px){.contact-content{flex-direction:column;gap:3rem}.contact-info,.contact-form-container{width:100%}}.form-input,.form-textarea{transition:transform .2s,border-color .3s,box-shadow .3s}.form-input:focus,.form-textarea:focus{transform:translateY(-2px)}.form-label{display:block;margin-bottom:.5rem;color:#64ffda;font-size:.875rem}@keyframes pulse{0%{box-shadow:0 0 #64ffda66}70%{box-shadow:0 0 0 10px #64ffda00}to{box-shadow:0 0 #64ffda00}}.submit-button:hover{animation:pulse 1.5s infinite}@media (max-width: 1250px){.content{margin-left:300px;width:calc(100% - 300px)}.sidebar{width:300px}}@media (max-width: 968px){.portfolio{flex-direction:column;height:auto;min-height:100vh}.sidebar{display:none}.mobile-social-panel{position:fixed;top:56px;left:0;right:0;background-color:#112240;z-index:998;padding:1rem;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(0);animation:slideDown .3s ease-out}.mobile-social-panel .social-links{display:flex;justify-content:center;gap:1.5rem;flex-wrap:wrap}.mobile-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background-color:#0a192f;position:fixed;width:100%;top:0;z-index:1000;box-shadow:0 2px 10px #0000004d}.mobile-header-left,.mobile-header-right{flex:1;display:flex;align-items:center}.mobile-header-right{justify-content:flex-end}.social-toggle{background:none;border:none;color:#64ffda;padding:.5rem;margin-left:1rem}.social-toggle svg{transition:transform .3s ease}.social-toggle:hover svg{transform:scale(1.1)}.mobile-header h1{font-size:1.3rem;color:#e6f1ff;margin:0}.menu-toggle{background:none;border:none;color:#64ffda;padding:.5rem}.mobile-nav{position:fixed;top:56px;left:0;right:0;background-color:#0a192f;z-index:997;padding:1rem}.mobile-nav ul{list-style:none;margin:0;padding:0}.mobile-nav li{margin-bottom:.5rem}.mobile-nav button{width:100%;padding:1rem;text-align:left;background:#112240;border:none;color:#8892b0;border-radius:4px;transition:all .3s ease}.mobile-nav button.active{color:#64ffda;background-color:#1a2f4f}.content{margin-left:0;width:100%;margin-top:40px;padding:2rem}.resume-button{top:1rem;right:4rem;padding:.5rem 1rem;font-size:.75rem;z-index:1001}.section{padding-top:5.5rem}.project-card{flex-direction:column;gap:1rem}.project-image{width:50%}.education-timeline:before{left:-.5rem}.education-item:before{left:-.95rem}.contact-content{flex-direction:column;gap:2rem}.job-card-container{margin-left:1.5rem}.education-item-link{padding:1rem;margin:-.5rem}}@media (max-width: 612px){.resume-button{top:6rem;right:2rem;z-index:0}}@media (max-width: 480px){.header h1{font-size:2rem}.section-title{font-size:1.5rem}.project-image img{max-height:180px}.tags-container{gap:.25rem}.tag{font-size:.65rem;padding:.2rem .6rem}.contact-form{padding:1rem}.education-period,.job-period{font-size:.75rem}.education-degree,.job-title{font-size:1.1rem}.education-description,.job-description,.project-description{font-size:.9rem}.project-image{width:60%}}.mobile-nav{animation:slideDown .3s ease-out}@keyframes slideDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 968px){.education-timeline{margin-left:.5rem}.education-timeline:before{left:-.5rem}.education-item:before{left:-.95rem;top:1.2rem;width:.75rem;height:.75rem}}
