@import"https://fonts.googleapis.com/css2?family=Press+Start+2P&display=swap";.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0a0acc;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.1);transition:all .3s ease;pointer-events:all}.navbar.scrolled{background:#0a0a0af2;box-shadow:0 4px 20px #00000080}.nav-container{max-width:1200px;margin:0 auto;padding:1rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{font-size:1.5rem;font-weight:700;cursor:pointer;color:#4a6fa5;-webkit-background-clip:text;background-clip:text;transition:transform .3s ease}.nav-logo:hover{transform:scale(1.1)}.nav-links{display:flex;gap:2rem;align-items:center}.nav-links button{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer;padding:.5rem 1rem;border-radius:8px;transition:all .3s ease;position:relative}.nav-links button:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:#4a6fa5;transition:all .3s ease;transform:translate(-50%)}.nav-links button:hover:after{width:80%}.nav-links button:hover{color:#a8a8ff}.mobile-menu-btn{display:none;background:none;border:none;cursor:pointer;padding:.5rem}.hamburger{display:block;width:25px;height:3px;background:#fff;position:relative;transition:all .3s ease}.hamburger:before,.hamburger:after{content:"";position:absolute;width:25px;height:3px;background:#fff;transition:all .3s ease}.hamburger:before{top:-8px}.hamburger:after{bottom:-8px}.hamburger.active{background:transparent}.hamburger.active:before{transform:rotate(45deg);top:0}.hamburger.active:after{transform:rotate(-45deg);bottom:0}@media (max-width: 768px){.mobile-menu-btn{display:block}.nav-links{position:absolute;top:100%;left:0;right:0;background:#0a0a0afa;flex-direction:column;padding:2rem;border-top:1px solid rgba(255,255,255,.1);transform:translateY(-100%);opacity:0;pointer-events:none;transition:all .3s ease}.nav-links.mobile-open{transform:translateY(0);opacity:1;pointer-events:all}.nav-links button{width:100%;text-align:left;padding:1rem}}.footer{padding:3rem 2rem;background:#0a0a0a;border-top:1px solid rgba(255,255,255,.1);position:relative;z-index:1}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-content p{color:#8892b0;font-size:.9rem}.footer-links{display:flex;gap:2rem}.footer-links a{color:#ccd6f6;text-decoration:none;font-size:.9rem;transition:color .3s ease}.footer-links a:hover{color:#4a6fa5}@media (max-width: 768px){.footer{padding:2rem 1rem}.footer-content{flex-direction:column;text-align:center}.footer-links{flex-wrap:wrap;justify-content:center}}.floating-spheres{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none}.scroll-artifacts{position:fixed;top:0;left:0;right:0;height:100vh;pointer-events:none;z-index:1;overflow:hidden}.left-artifacts,.right-artifacts{position:absolute;top:0;height:100%;width:30%}.left-artifacts{left:0;background:linear-gradient(to right,rgba(102,126,234,.1),transparent)}.right-artifacts{right:0;background:linear-gradient(to left,rgba(102,126,234,.1),transparent)}.triangle-artifact{position:absolute;width:0;height:0;opacity:calc(var(--scroll-intensity, 0) * .8);animation:floatOut calc(var(--scroll-intensity, 0) * 2s + 1s) ease-out infinite;animation-delay:var(--delay);top:var(--position, 0%)}.left-artifacts .triangle-artifact{border-top:15px solid transparent;border-bottom:15px solid transparent;border-right:25px solid rgba(102,126,234,.8);left:-35px}.right-artifacts .triangle-artifact{border-top:15px solid transparent;border-bottom:15px solid transparent;border-left:25px solid rgba(102,126,234,.8);right:-35px}@keyframes floatOut{0%{opacity:calc(var(--scroll-intensity, 0) * .8);transform:translate(0) scale(.8)}40%{opacity:calc(var(--scroll-intensity, 0) * .6)}to{opacity:0;transform:translate(var(--translate-x, 250px)) scale(1.3)}}.left-artifacts .triangle-artifact{--translate-x: -250px}.right-artifacts .triangle-artifact{--translate-x: 250px}.splash-screen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease-out}.splash-greeting{font-family:"Press Start 2P",monospace;font-size:clamp(2rem,5vw,4rem);color:#4a6fa5;text-align:center;text-shadow:0 0 10px rgba(74,111,165,.7),0 0 20px rgba(74,111,165,.5),0 0 30px rgba(74,111,165,.3);line-height:1.2}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:2rem;z-index:1}.hero-background{position:absolute;inset:0;overflow:hidden;display:none}.hero-content{position:relative;z-index:1;text-align:center;max-width:800px;animation:fadeInUp 1s ease-out;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%}.hero-name{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;font-family:"Press Start 2P",monospace;margin:0 0 2rem;display:inline-block;white-space:nowrap;line-height:1.4;letter-spacing:.05em;opacity:0;animation:fadeInUp 1s ease-out .7s forwards;text-align:center}.hero-title{margin:0 auto 1.5rem}.name-char{display:inline-block;color:#4a6fa5;cursor:default;-webkit-user-select:none;user-select:none;transform-origin:center bottom;text-shadow:0 0 5px rgba(74,111,165,.4),0 0 15px rgba(74,111,165,.2),0 4px 8px rgba(0,0,0,.3),0 0 20px rgba(74,111,165,.15);filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));transition:all .3s ease}.name-char.animated{animation:letterHop .8s cubic-bezier(.34,1.56,.64,1) forwards;color:#6b8cb8;text-shadow:0 0 15px rgba(107,140,184,.6),0 0 30px rgba(107,140,184,.4),0 0 50px rgba(107,140,184,.25),0 6px 12px rgba(0,0,0,.4);filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}.name-char:hover{color:#6b8cb8;text-shadow:0 0 15px rgba(107,140,184,.6),0 0 30px rgba(107,140,184,.4),0 0 50px rgba(107,140,184,.25),0 6px 12px rgba(0,0,0,.4);filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}@keyframes letterHop{0%{transform:translateY(0)}50%{transform:translateY(-30px)}to{transform:translateY(0)}}.hero-greeting{font-size:1.5rem;font-weight:600;margin:0 auto 1rem;min-height:2rem;text-align:center;color:#ccd6f6;font-family:"Press Start 2P",monospace}.hero-roles{font-size:1.8rem;font-weight:600;margin:0 auto 2rem;min-height:2.5rem;text-align:center;color:#ccd6f6;font-family:"Press Start 2P",monospace;opacity:0;animation:fadeInUp 1s ease-out 1.1s forwards}.role-prefix{color:#ccd6f6}.role-typing{color:#4a6fa5;font-weight:700}.role-cursor{color:#4a6fa5;font-weight:700;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-title{font-size:1.5rem;color:#ccd6f6;margin:0;opacity:0;animation:fadeInUp 1s ease-out .9s forwards}.hero-description{font-size:1.3rem;color:#8892b0;margin:2rem 0;line-height:1.8;opacity:0;animation:fadeInUp 1s ease-out 1.1s forwards;font-weight:400}.hero-description .desc-text{color:#8892b0}.hero-description .desc-accent{color:#4a6fa5;font-weight:600;position:relative;display:inline-block;text-shadow:0 0 10px rgba(74,111,165,.3),0 0 20px rgba(74,111,165,.15);transition:all .3s ease}.hero-description .desc-accent:hover{color:#6b8cb8;text-shadow:0 0 15px rgba(107,140,184,.5),0 0 30px rgba(107,140,184,.3);transform:translateY(-2px)}.hero-buttons{display:flex;gap:1.5rem;justify-content:center;margin-top:2rem;opacity:0;animation:fadeInUp 1s ease-out 1.3s forwards}.btn-primary,.btn-secondary{padding:1.2rem 2.5rem;font-size:clamp(.7rem,1.2vw,.9rem);font-weight:600;border:none;border-radius:12px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);position:relative;overflow:hidden;font-family:"Press Start 2P",monospace;letter-spacing:.05em;text-transform:uppercase}.btn-primary{background:linear-gradient(135deg,#4a6fa5,#6b8cb8);color:#fff;box-shadow:0 4px 15px #4a6fa566,0 0 20px #4a6fa533,inset 0 1px #fff3;border:2px solid rgba(255,255,255,.1)}.btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn-primary:hover:before{left:100%}.btn-primary:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 30px #4a6fa599,0 0 40px #4a6fa566,inset 0 1px #ffffff4d;background:linear-gradient(135deg,#6b8cb8,#4a6fa5)}.btn-primary:active{transform:translateY(-2px) scale(1.01);box-shadow:0 4px 20px #4a6fa580,0 0 30px #4a6fa54d}.btn-secondary{background:#0a0a0a99;color:#ccd6f6;border:2px solid rgba(74,111,165,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 15px #4a6fa533,inset 0 1px #ffffff1a}.btn-secondary:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#4a6fa54d;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease}.btn-secondary:hover:before{width:300px;height:300px}.btn-secondary:hover{background:#4a6fa51a;border-color:#4a6fa5cc;color:#ccd6f6;transform:translateY(-4px) scale(1.02);box-shadow:0 8px 30px #4a6fa566,0 0 40px #4a6fa533,inset 0 1px #fff3}.btn-secondary:active{transform:translateY(-2px) scale(1.01);box-shadow:0 4px 20px #4a6fa54d,0 0 30px #4a6fa526}.btn-primary span,.btn-secondary span{position:relative;z-index:1}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:.5rem}.mouse{width:26px;height:40px;border:2px solid #8892b0;border-radius:15px;position:relative}.wheel{width:4px;height:8px;background:#8892b0;border-radius:2px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scroll 1.5s ease-in-out infinite}@keyframes scroll{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(10px)}}@media (max-width: 768px){.hero-name-container{padding:2rem 2.5rem}.hero-name{font-size:clamp(2rem,10vw,4rem)}.hero-title{font-size:1.2rem}.hero-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;max-width:300px}}.image-carousel{position:relative;width:300px;height:400px;margin:2rem auto;border-radius:12px;overflow:hidden;box-shadow:0 8px 32px #0000004d,0 4px 16px #0003}.image-container{position:relative;width:100%;height:100%}.carousel-image{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;background-repeat:no-repeat;opacity:0;transform:scale(1.1);transition:all 1.2s cubic-bezier(.25,.46,.45,.94)}.carousel-image.active{opacity:1;transform:scale(1)}.image-caption{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:1.5rem 1rem 1rem;font-size:.9rem;font-weight:500;opacity:0;transform:translateY(20px);transition:all .3s ease;pointer-events:none}.image-carousel:hover .image-caption{opacity:1;transform:translateY(0)}@media (max-width: 768px){.image-carousel{width:250px;height:320px;margin:1rem auto}}@media (max-width: 480px){.image-carousel{width:200px;height:280px}}.about{padding:8rem 2rem;background:linear-gradient(180deg,#0a0a0a,#1a1a2e);position:relative;z-index:1;overflow:hidden}.triangles-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.floating-triangle{position:absolute;left:var(--left, 50%);top:var(--top, 50%);width:0;height:0;border-left:calc(var(--size, 30px) / 2) solid transparent;border-right:calc(var(--size, 30px) / 2) solid transparent;border-bottom:var(--size, 30px) solid rgba(74,111,165,.4);animation:floatAndFade var(--duration, 5s) ease-in-out infinite;animation-delay:var(--delay, 0s);transform-origin:center;transition:opacity .3s ease;pointer-events:auto}.floating-triangle:hover{opacity:0}@keyframes floatAndFade{0%,to{opacity:0;transform:translateY(20px) rotate(0)}50%{opacity:1;transform:translateY(-20px) rotate(180deg)}}.container{max-width:1200px;margin:0 auto}.section-title{font-size:clamp(2.5rem,5vw,3.5rem);text-align:center;margin-bottom:4rem;color:#4a6fa5;opacity:0;transform:translateY(30px);transition:all .6s ease;font-family:"Press Start 2P",monospace;font-size:clamp(2rem,4vw,3rem);line-height:1.6;letter-spacing:.02em;position:relative;z-index:1}.about.visible .section-title{opacity:1;transform:translateY(0)}.about-content{display:grid;grid-template-columns:1fr 300px;gap:4rem;align-items:start}.about-text{font-size:1.2rem;line-height:1.8;color:#ccd6f6;position:relative;z-index:1}.about-text p{margin-bottom:1.5rem;opacity:0;transform:translate(-30px);transition:all .6s ease}.about.visible .about-text p{opacity:1;transform:translate(0)}.about.visible .about-text p:nth-child(1){transition-delay:.1s}.about.visible .about-text p:nth-child(2){transition-delay:.2s}.about-highlights{display:flex;flex-wrap:wrap;gap:2rem;margin-top:2rem;position:relative;z-index:1}.highlight{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#4a6fa51a;border:1px solid rgba(74,111,165,.3);border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease;opacity:0;transform:translateY(20px)}.about.visible .highlight{opacity:1;transform:translateY(0)}.about.visible .highlight:nth-child(1){transition-delay:.3s}.about.visible .highlight:nth-child(2){transition-delay:.4s}.about.visible .highlight:nth-child(3){transition-delay:.5s}.about.visible .highlight:nth-child(4){transition-delay:.6s}.about.visible .highlight:nth-child(5){transition-delay:.7s}.highlight:hover{transform:translateY(-5px);background:#4a6fa533;box-shadow:0 10px 30px #4a6fa533}.highlight-icon{font-size:1.5rem}.experience-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;margin-top:3rem}.experience-card{background:#4a6fa51a;border:1px solid rgba(74,111,165,.3);border-radius:16px;padding:2rem;display:flex;gap:1.5rem;transition:all .3s ease;opacity:0;transform:translateY(30px)}.about.visible .experience-card{opacity:1;transform:translateY(0)}.about.visible .experience-card:nth-child(1){transition-delay:.2s}.about.visible .experience-card:nth-child(2){transition-delay:.3s}.experience-card:hover{transform:translateY(-5px);background:#4a6fa533;border-color:#4a6fa580;box-shadow:0 10px 30px #4a6fa533}.experience-logo{flex-shrink:0;width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#4a6fa51a;border-radius:12px;padding:.5rem;border:1px solid rgba(74,111,165,.2)}.experience-logo img{width:100%;height:100%;object-fit:contain;border-radius:8px}.experience-content{flex:1}.experience-content h3{color:#ccd6f6;font-size:1.3rem;font-weight:600;margin-bottom:.5rem;font-family:"Press Start 2P",monospace;font-size:1rem;line-height:1.4}.experience-content p{color:#8892b0;margin-bottom:.5rem;font-size:.9rem}.experience-description{color:#a8b2d1!important;font-size:.85rem!important;line-height:1.5;margin-bottom:1rem!important}.experience-link{color:#4a6fa5;text-decoration:none;font-weight:500;font-size:.9rem;transition:color .3s ease}.experience-link:hover{color:#6b8cb8}.experience-link-button{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(135deg,#4a6fa5,#6b8cb8);color:#fff!important;border:2px solid rgba(255,255,255,.1);border-radius:12px;font-weight:600;font-size:.9rem;margin-top:1rem;transition:all .4s cubic-bezier(.175,.885,.32,1.275);box-shadow:0 4px 15px #4a6fa566,0 0 20px #4a6fa533;position:relative;overflow:hidden}.experience-link-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.experience-link-button:hover:before{left:100%}.experience-link-button:hover{transform:translateY(-3px) scale(1.02);color:#fff!important;box-shadow:0 8px 30px #4a6fa599,0 0 40px #4a6fa566;background:linear-gradient(135deg,#6b8cb8,#4a6fa5)}@media (max-width: 768px){.about{padding:4rem 1rem}.about-content{grid-template-columns:1fr;gap:2rem}.about-text{font-size:1rem}.about-highlights{flex-direction:column}.highlight{width:100%;justify-content:center}.experience-cards{grid-template-columns:1fr;gap:1.5rem}.experience-card{padding:1.5rem;flex-direction:column;text-align:center}.experience-logo{align-self:center}}.projects{padding:8rem 2rem;background:#0a0a0a;position:relative;z-index:1;overflow:hidden}.circles-container{position:absolute;inset:0;pointer-events:none;z-index:0}.floating-circle{position:absolute;left:var(--left);top:var(--top);width:var(--size);height:var(--size);background:transparent;border:2px solid rgba(74,111,165,.4);border-radius:50%;animation:floatAndFade var(--duration) ease-in-out infinite;animation-delay:var(--delay);pointer-events:auto}.floating-circle:hover{opacity:0}@keyframes floatAndFade{0%,to{opacity:0;transform:translateY(20px) scale(.8)}50%{opacity:1;transform:translateY(-20px) scale(1.2)}}.projects .section-title{text-align:center;margin-bottom:1rem;font-family:"Press Start 2P",monospace;font-size:clamp(2rem,4vw,3rem);line-height:1.6;letter-spacing:.02em}.projects-header{text-align:center;margin-bottom:4rem;position:relative;z-index:1}.projects-subtitle{font-family:"Press Start 2P",monospace;font-size:clamp(1.5rem,3vw,2rem);color:#4a6fa5;font-weight:400;letter-spacing:.02em;margin:0;line-height:1.6}.projects-content{position:relative;z-index:1}.project-category{margin-bottom:4rem;position:relative;z-index:1}.category-title{font-family:"Press Start 2P",monospace;font-size:clamp(1.5rem,3vw,2rem);color:#4a6fa5;text-align:center;margin-bottom:3rem;opacity:0;transform:translateY(30px);transition:all .6s ease;position:relative;z-index:10;text-shadow:0 2px 10px rgba(0,0,0,.8),0 0 20px rgba(0,0,0,.6)}.projects.visible .category-title{opacity:1;transform:translateY(0)}.projects-list{display:grid;grid-template-columns:repeat(2,1fr);gap:3rem;position:relative;z-index:1}.category-divider{height:2px;background:linear-gradient(90deg,transparent,#4A6FA5,transparent);margin:4rem auto;max-width:400px;opacity:.6}.project-card-wrapper{position:relative;perspective:2000px;opacity:0;transform:translateY(50px);transition:all .6s ease;padding:0 2rem}.projects.visible .project-card-wrapper{opacity:1;transform:translateY(0)}.projects.visible .project-card-wrapper:nth-child(1){transition-delay:.1s}.projects.visible .project-card-wrapper:nth-child(2){transition-delay:.2s}.projects.visible .project-card-wrapper:nth-child(3){transition-delay:.3s}.projects.visible .project-card-wrapper:nth-child(4){transition-delay:.4s}.project-card{position:relative;min-height:250px;background:#0000004d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:2rem;display:flex;flex-direction:column;justify-content:space-between;z-index:5;transition:all .4s cubic-bezier(.23,1,.32,1);overflow:visible}.project-card-wrapper:hover .project-card{transform:translateY(-8px);box-shadow:0 30px 60px #00000080;border-color:var(--accent-color);background:#000000bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.card-images{position:absolute;top:50%;left:0;right:0;height:400px;transform:translateY(-50%);pointer-events:none;z-index:1;overflow:visible;opacity:.4;transition:opacity .4s ease}.project-card-wrapper:hover .card-images{opacity:.6;z-index:1}.card-image{position:absolute;top:0;width:350px;height:100%;background-size:cover;background-position:center;border-radius:16px;opacity:.2;transition:all .8s cubic-bezier(.23,1,.32,1);box-shadow:0 8px 32px #0006;left:calc(50% - 175px)}.card-image:nth-child(1){transform:translateY(-50%) scale(1);z-index:3}.left-column .card-image:nth-child(2){transform:translate(-200px,-50%) scale(.85) rotate(-5deg);z-index:2}.left-column .card-image:nth-child(3){transform:translate(-350px,-50%) scale(.75) rotate(-8deg);z-index:1}.right-column .card-image:nth-child(2){transform:translate(200px,-50%) scale(.85) rotate(5deg);z-index:2}.right-column .card-image:nth-child(3){transform:translate(350px,-50%) scale(.75) rotate(8deg);z-index:1}.left-column:hover .card-image:nth-child(1){transform:translate(-50px,-50%) scale(.95);opacity:.5}.left-column:hover .card-image:nth-child(2){transform:translate(-300px,-50%) scale(.9) rotate(-8deg);opacity:.4}.left-column:hover .card-image:nth-child(3){transform:translate(-500px,-50%) scale(.85) rotate(-10deg);opacity:.35}.right-column:hover .card-image:nth-child(1){transform:translate(50px,-50%) scale(.95);opacity:.5}.right-column:hover .card-image:nth-child(2){transform:translate(300px,-50%) scale(.9) rotate(8deg);opacity:.4}.right-column:hover .card-image:nth-child(3){transform:translate(500px,-50%) scale(.85) rotate(10deg);opacity:.35}.project-number{font-size:6rem;font-weight:700;background:linear-gradient(135deg,var(--accent-color) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;opacity:.2;position:absolute;top:-1.5rem;right:2rem;line-height:1}.project-header-content{margin-bottom:2rem}.project-title{font-size:2.5rem;margin:0 0 1rem;color:#ccd6f6;position:relative;font-weight:600;z-index:10;text-shadow:0 2px 8px rgba(0,0,0,.8);font-family:"Press Start 2P",monospace;font-size:clamp(1.2rem,2.5vw,1.8rem);line-height:1.6;letter-spacing:.02em}.project-description{color:#8892b0;line-height:1.8;font-size:1.1rem;margin:0;max-width:90%;position:relative;z-index:10;text-shadow:0 1px 4px rgba(0,0,0,.8)}.project-footer{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:10;flex-wrap:wrap;gap:1.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.5rem;flex:1}.tech-tag{padding:.5rem 1.2rem;background:#667eea26;border:1px solid rgba(102,126,234,.3);border-radius:25px;font-size:.9rem;color:#a8a8ff;transition:all .3s ease}.project-card:hover .tech-tag{background:#4a6fa540;border-color:#4a6fa580}.project-link{color:#4a6fa5;text-decoration:none;font-weight:700;font-size:1.1rem;transition:all .3s ease;display:inline-block;white-space:nowrap}.project-link:hover{color:#6b8cb8;transform:translate(5px)}@media (max-width: 768px){.projects{padding:4rem 1rem}.projects-list{gap:3rem}.project-card-wrapper{padding:0}.project-card{padding:2rem;min-height:250px}.project-number{font-size:4rem;right:1rem;top:-1rem}.project-title{font-size:1.75rem}.project-description{font-size:1rem;max-width:100%}.project-footer{flex-direction:column;align-items:flex-start}.card-images,.card-image{display:none}}@media (min-width: 769px) and (max-width: 1200px){.card-image{width:250px;left:calc(50% - 125px)}.card-image:nth-child(2){transform:translate(-350px,-50%) scale(.85) rotate(-5deg)}.card-image:nth-child(3){transform:translate(-650px,-50%) scale(.75) rotate(-8deg)}.project-card-wrapper:hover .card-image:nth-child(2){transform:translate(-550px,-50%) scale(.9) rotate(-8deg)}.project-card-wrapper:hover .card-image:nth-child(3){transform:translate(-900px,-50%) scale(.85) rotate(-10deg)}}.contact{padding:8rem 2rem;background:linear-gradient(180deg,#1a1a2e,#0a0a0a);position:relative;z-index:1;overflow:hidden}.squares-container{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0}.floating-square{position:absolute;left:var(--left, 50%);top:var(--top, 50%);width:var(--size, 20px);height:var(--size, 20px);background:#667eea4d;border:1px solid rgba(102,126,234,.5);animation:floatAndRotate var(--duration, 6s) ease-in-out infinite;animation-delay:var(--delay, 0s);transform-origin:center;transition:opacity .3s ease;pointer-events:auto}.floating-square:hover{opacity:0}@keyframes floatAndRotate{0%,to{opacity:0;transform:translateY(20px) rotate(0) scale(.8)}50%{opacity:1;transform:translateY(-20px) rotate(180deg) scale(1.2)}}.contact .section-title{text-align:center;font-family:"Press Start 2P",monospace;font-size:clamp(2rem,4vw,3rem);line-height:1.6;letter-spacing:.02em;color:#4a6fa5;opacity:0;transform:translateY(30px);transition:all .6s ease}.contact.visible .section-title{opacity:1;transform:translateY(0)}.contact-subtitle{text-align:center;font-size:1.2rem;color:#8892b0;max-width:600px;margin:2rem auto 4rem;line-height:1.6;opacity:0;transform:translateY(30px);transition:all .6s ease}.contact.visible .contact-subtitle{opacity:1;transform:translateY(0)}.contact-content{max-width:900px;margin:0 auto}.contact-buttons{display:flex;flex-direction:column;gap:1.5rem;align-items:center}.contact-button{display:flex;align-items:center;justify-content:center;width:100%;max-width:500px;padding:1.5rem 2rem;background:#0a0a0a99;border:2px solid rgba(74,111,165,.3);border-radius:16px;text-decoration:none;transition:all .4s cubic-bezier(.175,.885,.32,1.275);opacity:0;transform:translateY(20px);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;overflow:hidden}.contact-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(74,111,165,.2),transparent);transition:left .6s ease}.contact-button:hover:before{left:100%}.contact.visible .contact-button{opacity:1;transform:translateY(0)}.contact.visible .contact-button:nth-child(1){transition-delay:.1s}.contact.visible .contact-button:nth-child(2){transition-delay:.2s}.contact.visible .contact-button:nth-child(3){transition-delay:.3s}.contact-button:hover{transform:translateY(-5px);border-color:#4a6fa5cc;box-shadow:0 10px 30px #4a6fa54d,0 0 40px #4a6fa51a}.contact-button-email:hover,.contact-button-github:hover,.contact-button-linkedin:hover{background:#4a6fa526}.contact-button-text{display:flex;flex-direction:column;gap:.3rem;align-items:center;text-align:center}.contact-button-label{font-family:"Press Start 2P",monospace;font-size:clamp(.7rem,1.2vw,.9rem);color:#4a6fa5;letter-spacing:.05em;text-transform:uppercase}.contact-button-value{font-size:1.1rem;color:#ccd6f6;font-weight:500}@media (max-width: 768px){.contact{padding:4rem 1rem}.contact-button{padding:1.25rem 1.5rem}.contact-button-value{font-size:1rem}}.project-detail{min-height:100vh;background:#0a0a0a;color:#fff;position:relative}.project-header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0a0af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:1.5rem 2rem;border-bottom:1px solid rgba(255,255,255,.1)}.back-button{color:#ccd6f6;text-decoration:none;font-weight:600;transition:all .3s ease;display:inline-block}.back-button:hover{color:#667eea;transform:translate(-5px)}.project-hero{padding:8rem 2rem 4rem;max-width:1200px;margin:0 auto}.project-meta{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.project-category,.project-year,.project-status{padding:.5rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.project-category{background:#667eea33;color:#a8a8ff;border:1px solid rgba(102,126,234,.3)}.project-year{background:#ffffff1a;color:#8892b0;border:1px solid rgba(255,255,255,.1)}.project-status{background:#4caffe33;color:#4facfe;border:1px solid rgba(76,175,254,.3)}.project-title-detail{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;margin:0 0 1rem;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-family:"Press Start 2P",monospace;font-size:clamp(2rem,5vw,3.5rem);line-height:1.6;letter-spacing:.02em}.project-role{font-size:1.3rem;color:#8892b0;margin:0}.project-gallery{max-width:1400px;margin:0 auto;padding:0 2rem 4rem;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.gallery-item{border-radius:16px;overflow:hidden;box-shadow:0 10px 40px #0000004d;transition:all .3s ease}.gallery-item:hover{transform:translateY(-5px);box-shadow:0 20px 60px #667eea4d}.gallery-item img{width:100%;height:auto;display:block}.project-content-wrapper{background:linear-gradient(180deg,#0a0a0a,#1a1a2e);padding:4rem 2rem}.project-details{max-width:900px;margin:0 auto}.project-description-section,.project-tech-section,.project-links-section,.project-section{margin-bottom:4rem}.project-description-section h2,.project-tech-section h2,.project-links-section h2,.project-section h2{font-size:2rem;margin-bottom:1.5rem;color:#ccd6f6}.project-section-code pre{background:#0000004d;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:1.5rem;overflow-x:auto;font-family:Courier New,monospace;font-size:.9rem;line-height:1.6;color:#ccd6f6}.project-section-code code{font-family:Courier New,monospace}.project-section-image img,.section-image img{width:100%;border-radius:8px;box-shadow:0 10px 40px #0000004d}.project-section-video video,.section-video video{width:100%;border-radius:8px;box-shadow:0 10px 40px #0000004d}.section-content{font-size:1.1rem;line-height:2;color:#8892b0}.project-error{max-width:900px;margin:8rem auto;padding:4rem 2rem;text-align:center}.project-error h1{font-size:3rem;margin-bottom:1rem;color:#ccd6f6}.project-error p{font-size:1.2rem;color:#8892b0;margin-bottom:2rem}.project-full-description{font-size:1.1rem;line-height:2;color:#8892b0;margin:0}.tech-list{display:flex;flex-wrap:wrap;gap:1rem}.tech-badge{padding:.6rem 1.5rem;background:#667eea26;border:1px solid rgba(102,126,234,.3);border-radius:25px;font-size:1rem;color:#a8a8ff;transition:all .3s ease}.tech-badge:hover{background:#667eea40;border-color:#667eea80;transform:translateY(-2px)}.project-links{display:flex;gap:1.5rem;flex-wrap:wrap}.link-button{padding:1rem 2.5rem;border-radius:12px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s ease;border:none;cursor:pointer;display:inline-block}.link-button.primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.link-button.primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #667eea66}.link-button.secondary{background:transparent;color:#ccd6f6;border:2px solid rgba(255,255,255,.2)}.link-button.secondary:hover{background:#ffffff1a;border-color:#fff6;transform:translateY(-2px)}.project-navigation{padding:4rem 2rem;text-align:center;background:#0a0a0a}.back-home-button{display:inline-block;padding:1rem 2rem;background:#667eea1a;border:1px solid rgba(102,126,234,.3);border-radius:12px;color:#ccd6f6;text-decoration:none;font-weight:600;transition:all .3s ease}.back-home-button:hover{background:#667eea33;border-color:#667eea80;transform:translateY(-2px)}@media (max-width: 768px){.project-hero{padding:6rem 1rem 2rem}.project-title-detail{font-size:2rem}.project-role{font-size:1rem}.project-gallery{grid-template-columns:1fr;padding:0 1rem 2rem}.project-content-wrapper{padding:2rem 1rem}.project-description-section,.project-tech-section,.project-links-section{margin-bottom:3rem}.project-description-section h2,.project-tech-section h2,.project-links-section h2{font-size:1.5rem}.project-full-description{font-size:1rem;line-height:1.8}.project-links{flex-direction:column}.link-button{width:100%;text-align:center}}.coursework{padding:8rem 2rem;background:linear-gradient(180deg,#1a1a2e,#0a0a0a);position:relative;z-index:1}.coursework .section-title{text-align:center;font-family:"Press Start 2P",monospace;font-size:clamp(2rem,4vw,3rem);line-height:1.6;letter-spacing:.02em;color:#4a6fa5;margin-bottom:2rem;opacity:0;transform:translateY(30px);transition:all .6s ease}.coursework.visible .section-title{opacity:1;transform:translateY(0)}.coursework-intro{text-align:center;color:#8892b0;font-size:1.1rem;max-width:700px;margin:0 auto 4rem;opacity:0;transform:translateY(20px);transition:all .6s ease}.coursework.visible .coursework-intro{opacity:1;transform:translateY(0);transition-delay:.1s}.semesters-container{max-width:1400px;margin:0 auto}.academic-year-group{margin-bottom:5rem;opacity:0;transform:translateY(30px);transition:all .6s ease}.coursework.visible .academic-year-group{opacity:1;transform:translateY(0)}.coursework.visible .academic-year-group:nth-child(1){transition-delay:.2s}.coursework.visible .academic-year-group:nth-child(2){transition-delay:.3s}.academic-year-title{font-family:"Press Start 2P",monospace;font-size:clamp(1.5rem,3vw,2rem);color:#ccd6f6;margin-bottom:3rem;padding-bottom:1.5rem;border-bottom:3px solid rgba(74,111,165,.4);text-align:center}.year-semesters{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}.semester-column{display:flex;flex-direction:column}.semester-title{font-family:"Press Start 2P",monospace;font-size:clamp(1rem,1.5vw,1.2rem);color:#8892b0;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:2px solid rgba(74,111,165,.2)}.courses-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.course-card{background:#0a0a0a99;border:2px solid var(--dept-color-border, rgba(74, 111, 165, .3));border-radius:12px;padding:1.5rem;transition:all .3s ease;position:relative;overflow:hidden}.course-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--dept-color, #4A6FA5);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.course-card:hover{transform:translateY(-5px);border-color:var(--dept-color, #4A6FA5);background:#0a0a0acc;box-shadow:0 10px 30px var(--dept-color-light, rgba(74, 111, 165, .2))}.course-card:hover:before{transform:scaleX(1)}.course-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:1rem}.course-code{font-family:"Press Start 2P",monospace;font-size:.9rem;color:var(--dept-color, #4A6FA5);font-weight:700}.course-number{font-size:.85rem;color:#8892b0;font-weight:500}.course-title{font-size:1.1rem;color:#ccd6f6;margin:0 0 1.5rem;line-height:1.4;font-weight:500}.course-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.course-grade{display:flex;align-items:center}.grade-badge{padding:.4rem .8rem;border-radius:6px;font-weight:600;font-size:.9rem;background:#8892b033;color:#8892b0;border:1px solid rgba(136,146,176,.3)}.grade-badge.grade-a{background:#4a6fa54d;color:#4a6fa5;border-color:#4a6fa580}.grade-badge.grade-in-progress{background:#c9a96133;color:#c9a961;border-color:#c9a96166;font-style:italic}.course-credit{font-size:.85rem;color:#8892b0}@media (max-width: 768px){.coursework{padding:4rem 1rem}.year-semesters{grid-template-columns:1fr;gap:2rem}.course-card{padding:1.25rem}.semester-title{font-size:.9rem}.academic-year-title{font-size:1.2rem}}@media (min-width: 769px) and (max-width: 1024px){.year-semesters{gap:2rem}}.coursework-page{padding-top:80px}.coursework-page .back-button{position:fixed;top:20px;left:20px;z-index:1000;color:#ccd6f6;text-decoration:none;padding:.75rem 1.5rem;background:#0a0a0af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:8px;border:1px solid rgba(74,111,165,.3);transition:all .3s ease;font-weight:600;font-family:inherit}.coursework-page .back-button:hover{color:#667eea;border-color:#4a6fa580;background:#0a0a0afa;transform:translate(-5px)}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a;color:#fff;overflow-x:hidden}#root{min-height:100vh}.app{min-height:100vh;position:relative}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#4a6fa5,#6b8cb8);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#6b8cb8,#4a6fa5)}::selection{background:#4a6fa54d}button:focus,a:focus{outline:2px solid rgba(74,111,165,.5);outline-offset:2px}
