*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{overflow-x:hidden}.App{width:100%;min-height:100vh;position:relative;color:#e0e6ed;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.section{min-height:100vh;padding:3rem 2rem;display:flex;align-items:center;justify-content:center;position:relative;z-index:10}@media (max-width: 768px){.section{padding:4rem 1rem}}.background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;background:radial-gradient(ellipse at bottom,#1b2735,#090a0f);overflow:hidden}.aurora{position:absolute;width:100%;height:100%;top:0;left:0;z-index:2;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(16,185,129,.25) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 30% 20%,rgba(52,211,153,.15) 0%,transparent 50%),radial-gradient(ellipse 70% 45% at 70% 10%,rgba(139,92,246,.18) 0%,transparent 55%),radial-gradient(ellipse 50% 35% at 45% 30%,rgba(96,165,250,.12) 0%,transparent 50%);animation:aurora-dance 30s ease-in-out infinite;opacity:.7;filter:blur(30px)}@keyframes aurora-dance{0%,to{transform:translateY(0) scaleX(1) scaleY(1);opacity:.7}33%{transform:translateY(-5%) scaleX(1.1) scaleY(.95);opacity:.8}66%{transform:translateY(3%) scaleX(.95) scaleY(1.05);opacity:.65}}.stars{position:absolute;width:100%;height:100%;top:0;left:0;z-index:1}.stars:before{content:"";position:absolute;width:100%;height:100%;background-image:radial-gradient(circle,rgba(255,255,255,.6) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.5) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.7) 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.5) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.6) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.7) 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.5) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.8) 1.5px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.5) .5px,transparent 1px);background-size:200px 200px,300px 250px,180px 280px,240px 220px,320px 300px,260px 180px,350px 260px,220px 320px,290px 240px;background-position:0% 0%,40% 20%,80% 10%,20% 40%,60% 30%,90% 50%,30% 60%,70% 15%,10% 80%;animation:stars-twinkle-1 3s ease-in-out infinite;opacity:.5}.stars:after{content:"";position:absolute;width:100%;height:100%;background-image:radial-gradient(circle,rgba(255,255,255,.6) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.5) 1px,transparent 1.5px),radial-gradient(circle,rgba(255,255,255,.6) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.4) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.7) 1.5px,transparent 2px),radial-gradient(circle,rgba(255,255,255,.5) .5px,transparent 1px),radial-gradient(circle,rgba(255,255,255,.6) .5px,transparent 1px);background-size:250px 300px,200px 200px,330px 280px,270px 230px,190px 260px,310px 210px,280px 290px;background-position:50% 10%,15% 30%,75% 40%,35% 55%,85% 25%,25% 75%,95% 60%;animation:stars-twinkle-2 4s ease-in-out infinite 1.5s;opacity:.45}@keyframes stars-twinkle-1{0%,to{opacity:.5}50%{opacity:.25}}@keyframes stars-twinkle-2{0%,to{opacity:.45}50%{opacity:.2}}.mountains{position:fixed;bottom:0;left:0;width:100%;height:20%;z-index:100;background:linear-gradient(to top,#090A0F 0%,transparent 100%);pointer-events:none}.mountains:before{content:"";position:absolute;bottom:0;left:0;width:100%;height:100%;background:polygon(0% 100%,0% 60%,8% 50%,15% 55%,25% 40%,35% 45%,45% 35%,55% 45%,65% 30%,75% 40%,85% 35%,95% 45%,100% 40%,100% 100%);clip-path:polygon(0% 100%,0% 60%,8% 50%,15% 55%,25% 40%,35% 45%,45% 35%,55% 45%,65% 30%,75% 40%,85% 35%,95% 45%,100% 40%,100% 100%);background:linear-gradient(to bottom,#0a1420,#060a12);opacity:1}.mountains:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:70%;background:polygon(0% 100%,0% 80%,12% 70%,20% 75%,30% 60%,42% 65%,50% 55%,58% 60%,68% 50%,78% 55%,88% 60%,100% 55%,100% 100%);clip-path:polygon(0% 100%,0% 80%,12% 70%,20% 75%,30% 60%,42% 65%,50% 55%,58% 60%,68% 50%,78% 55%,88% 60%,100% 55%,100% 100%);background:linear-gradient(to bottom,#0d1825,#08101a);opacity:1}@media (max-width: 768px){.mountains{height:18%}}.tent-nav{position:fixed;bottom:0;left:0;width:100%;height:20%;z-index:150;pointer-events:none}.tent-nav .tent-bio{bottom:8%;left:18%}.tent-nav .tent-publications{bottom:5%;left:56%}.tent-nav .tent-projects{bottom:3%;left:88%}@media (max-width: 1024px){.tent-nav .tent-bio{bottom:6%;left:32%}.tent-nav .tent-publications{bottom:4%;left:61%}.tent-nav .tent-projects{bottom:2%;left:79%}}@media (max-width: 768px){.tent-nav{height:20%;width:100%;bottom:0;right:auto;left:0}.tent-nav .tent-bio{bottom:4%;left:15%}.tent-nav .tent-publications{bottom:3%;left:50%;transform:translate(-50%)}.tent-nav .tent-projects{bottom:2%;left:85%}.tent-nav .tent-publications:hover{transform:translate(-50%)}}@keyframes lantern-flicker{0%,to{filter:drop-shadow(0 0 20px rgba(255,140,50,.6)) drop-shadow(0 0 40px rgba(255,180,80,.4)) drop-shadow(0 0 60px rgba(255,200,100,.3))}50%{filter:drop-shadow(0 0 19px rgba(255,140,50,.58)) drop-shadow(0 0 38px rgba(255,180,80,.38)) drop-shadow(0 0 58px rgba(255,200,100,.28))}}@keyframes lantern-flicker-hover{0%,to{filter:drop-shadow(0 0 25px rgba(255,140,50,.8)) drop-shadow(0 0 50px rgba(255,180,80,.6)) drop-shadow(0 0 80px rgba(255,200,100,.5))}25%{filter:drop-shadow(0 0 22px rgba(255,140,50,.75)) drop-shadow(0 0 45px rgba(255,180,80,.55)) drop-shadow(0 0 75px rgba(255,200,100,.45))}50%{filter:drop-shadow(0 0 28px rgba(255,140,50,.85)) drop-shadow(0 0 55px rgba(255,180,80,.65)) drop-shadow(0 0 85px rgba(255,200,100,.55))}75%{filter:drop-shadow(0 0 24px rgba(255,140,50,.78)) drop-shadow(0 0 48px rgba(255,180,80,.58)) drop-shadow(0 0 78px rgba(255,200,100,.48))}}.tent-button{position:absolute;pointer-events:auto;background:transparent;border:none;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:0;transition:transform .3s ease;padding-top:20px;padding-bottom:20px}.tent-button .lantern-handle{position:relative;width:3px;height:15px;background:linear-gradient(180deg,#8c6446cc,#b4825a99);border-radius:2px;box-shadow:0 2px 4px #0006;z-index:1}.tent-button .lantern-body{position:relative;width:45px;height:58px;margin-top:0;background:radial-gradient(ellipse at center,rgba(255,200,120,.15) 0%,rgba(255,160,80,.08) 40%,rgba(240,140,60,.05) 70%,transparent 100%),linear-gradient(180deg,#ffdcb44d,#ffb47840,#ffa0644d);background-image:linear-gradient(90deg,transparent 0%,transparent 24%,rgba(200,120,60,.2) 25%,rgba(200,120,60,.2) 26%,transparent 27%,transparent 48%,rgba(200,120,60,.25) 49%,rgba(200,120,60,.25) 51%,transparent 52%,transparent 73%,rgba(200,120,60,.2) 74%,rgba(200,120,60,.2) 75%,transparent 76%),linear-gradient(180deg,transparent 0%,transparent 32%,rgba(200,120,60,.15) 33%,rgba(200,120,60,.15) 34%,transparent 35%,transparent 65%,rgba(200,120,60,.15) 66%,rgba(200,120,60,.15) 67%,transparent 68%),radial-gradient(ellipse at center,rgba(255,200,120,.15) 0%,rgba(255,160,80,.08) 40%,rgba(240,140,60,.05) 70%,transparent 100%),linear-gradient(180deg,#ffdcb44d,#ffb47840,#ffa0644d);border-radius:8px 8px 12px 12px;border:1px solid rgba(255,180,100,.3);border-top:2px solid rgba(180,120,60,.4);border-bottom:2px solid rgba(180,120,60,.4);filter:drop-shadow(0 0 20px rgba(255,140,50,.6)) drop-shadow(0 0 40px rgba(255,180,80,.4)) drop-shadow(0 0 60px rgba(255,200,100,.3));animation:lantern-flicker 4s ease-in-out infinite;box-shadow:inset 0 -8px 12px #ff8c3c33,inset 0 8px 12px #ffdc9626,0 2px 8px #0000004d}.tent-button .lantern-body:before{content:"";position:absolute;top:-4px;left:50%;transform:translate(-50%);width:52px;height:5px;background:linear-gradient(180deg,#a06e46b3,#8c643ccc,#785a3299);border-radius:2px;border:1px solid rgba(100,70,40,.4);box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #c896644d}.tent-button .lantern-body:after{content:"";position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:50px;height:5px;background:linear-gradient(180deg,#8c643cb3,#785a32cc,#64462899);border-radius:2px;border:1px solid rgba(100,70,40,.4);box-shadow:0 2px 4px #0000004d,inset 0 1px 2px #c8966433}.tent-button .lantern-tassel{position:relative;width:12px;height:12px;margin-top:0;display:flex;justify-content:center}.tent-button .lantern-tassel:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:2px;height:10px;background:linear-gradient(180deg,#c88c50b3,#b4783c66);box-shadow:-4px 0 #c88c5099,-2px 0 #c88c5099,2px 0 #c88c5099,4px 0 #c88c5099}.tent-button:after{content:attr(data-label);color:#e0e6ed;font-size:.85rem;font-weight:500;text-shadow:0 2px 8px rgba(0,0,0,.8);white-space:nowrap;letter-spacing:.5px;position:relative;margin-top:15px}.tent-button.tent-bio .lantern-body{animation-delay:0s}.tent-button.tent-publications .lantern-body{animation-delay:1s}.tent-button.tent-projects .lantern-body{animation-delay:2s}.tent-button:hover .lantern-body{animation:lantern-flicker-hover 1.5s ease-in-out infinite}@media (max-width: 1024px){.tent-button .lantern-body{width:38px;height:48px;filter:drop-shadow(0 0 18px rgba(255,140,50,.6)) drop-shadow(0 0 35px rgba(255,180,80,.4)) drop-shadow(0 0 50px rgba(255,200,100,.3))}.tent-button .lantern-body:before{width:44px;height:4px}.tent-button .lantern-body:after{width:42px;height:4px}.tent-button .lantern-handle{height:12px}.tent-button:after{font-size:.8rem}}@media (max-width: 768px){.tent-button .lantern-body{width:32px;height:40px;filter:drop-shadow(0 0 12px rgba(255,140,50,.5)) drop-shadow(0 0 25px rgba(255,180,80,.3))}.tent-button .lantern-body:before{width:38px;height:4px}.tent-button .lantern-body:after{width:36px;height:4px}.tent-button .lantern-handle{height:10px}.tent-button .lantern-tassel{height:8px}.tent-button .lantern-tassel:before{height:8px}.tent-button:after{font-size:.7rem}}@media (max-width: 480px){.tent-button .lantern-body{width:28px;height:35px}.tent-button .lantern-body:before{width:34px;height:3px}.tent-button .lantern-body:after{width:32px;height:3px}.tent-button .lantern-handle{height:8px}.tent-button .lantern-tassel{height:6px}.tent-button .lantern-tassel:before{height:6px}.tent-button:after{font-size:.65rem}}.bio-section{position:fixed;top:0;left:0;width:100%;height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;transition:opacity .3s ease-out;pointer-events:none;z-index:5}.bio-section *{pointer-events:auto}@media (max-width: 768px){.bio-section{padding:4rem 1rem 2rem;align-items:flex-start}}@media (max-width: 480px){.bio-section{padding:3rem 1rem 1.5rem;align-items:flex-start}}@keyframes aurora-shift{0%{background-position:0% 50%}25%{background-position:50% 75%}50%{background-position:100% 50%}75%{background-position:50% 25%}to{background-position:0% 50%}}@keyframes shimmer-glow{0%,to{filter:drop-shadow(0 0 8px rgba(16,185,129,.4)) drop-shadow(0 0 15px rgba(139,92,246,.3)) drop-shadow(0 0 25px rgba(96,165,250,.2))}25%{filter:drop-shadow(0 0 12px rgba(139,92,246,.5)) drop-shadow(0 0 20px rgba(96,165,250,.4)) drop-shadow(0 0 30px rgba(16,185,129,.3))}50%{filter:drop-shadow(0 0 10px rgba(96,165,250,.5)) drop-shadow(0 0 18px rgba(16,185,129,.4)) drop-shadow(0 0 28px rgba(139,92,246,.3))}75%{filter:drop-shadow(0 0 11px rgba(16,185,129,.5)) drop-shadow(0 0 19px rgba(139,92,246,.4)) drop-shadow(0 0 29px rgba(96,165,250,.3))}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}.bio-card{max-width:800px;text-align:center;background:none;border:none;box-shadow:none}.bio-card h1{font-size:3.5rem;margin-bottom:.5rem;background:linear-gradient(45deg,#10b981,#60a5fa,#8b5cf6,#34d399,#a78bfa,#10b981);background-size:300% 300%;animation:aurora-shift 18s ease infinite,shimmer-glow 8s ease-in-out infinite;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700;position:relative}.bio-card h1:before{content:"";position:absolute;top:-5px;left:10%;width:4px;height:4px;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,transparent 70%);border-radius:50%;animation:sparkle 3s ease-in-out infinite;pointer-events:none;box-shadow:0 0 8px #fffc,0 0 12px #10b98199}.bio-card h1:after{content:"";position:absolute;bottom:10px;right:15%;width:3px;height:3px;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,transparent 70%);border-radius:50%;animation:sparkle 4s ease-in-out infinite 1.5s;pointer-events:none;box-shadow:0 0 6px #fffc,0 0 10px #8b5cf699}.bio-card .tagline{font-size:1.3rem;margin-bottom:2rem;font-weight:300;background:linear-gradient(45deg,#34d399,#8b5cf6,#60a5fa,#10b981,#a78bfa,#34d399);background-size:300% 300%;animation:aurora-shift 20s ease infinite,shimmer-glow 10s ease-in-out infinite 2s;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.bio-card .tagline:before{content:"";position:absolute;top:0;left:20%;width:3px;height:3px;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,transparent 70%);border-radius:50%;animation:sparkle 5s ease-in-out infinite .5s;pointer-events:none;box-shadow:0 0 6px #fffc,0 0 10px #60a5fa99}.bio-content{margin:2rem 0;line-height:1.8}.bio-content p{margin-bottom:1rem;color:#c5d0e0}.social-buttons{display:flex;gap:1.5rem;justify-content:center;align-items:center;margin-top:2.5rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.1)}@media (max-width: 768px){.bio-card h1{font-size:2.5rem}.bio-card h1:before{width:3px;height:3px}.bio-card h1:after{width:2.5px;height:2.5px}.bio-card .tagline{font-size:1.1rem}.bio-card .tagline:before{width:2.5px;height:2.5px}}@media (max-width: 480px){.bio-card h1{font-size:2rem}.bio-card h1:before,.bio-card h1:after,.bio-card .tagline:before{width:2px;height:2px}.bio-card .tagline{font-size:1rem}.bio-content{font-size:.95rem}}.social-button{display:inline-flex;align-items:center;justify-content:center;width:50px;height:50px;border-radius:50%;background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);text-decoration:none;transition:all .3s ease;position:relative;overflow:visible}.social-icon{font-size:24px;color:#fffc;transition:all .3s ease;filter:drop-shadow(0 0 8px rgba(255,255,255,.3));animation:twinkle 3s ease-in-out infinite}@keyframes twinkle{0%,to{opacity:.8;filter:drop-shadow(0 0 8px rgba(255,255,255,.3)) drop-shadow(0 0 12px rgba(255,255,255,.2))}50%{opacity:1;filter:drop-shadow(0 0 12px rgba(255,255,255,.6)) drop-shadow(0 0 20px rgba(255,255,255,.4)) drop-shadow(0 0 30px rgba(255,255,255,.2))}}.social-button:hover{background:#ffffff1a;border-color:#ffffff4d;transform:translateY(-3px);box-shadow:0 0 20px #ffffff4d,0 0 40px #ffffff26}.social-button:hover .social-icon{color:#fff;filter:drop-shadow(0 0 15px rgba(255,255,255,.8)) drop-shadow(0 0 25px rgba(255,255,255,.5)) drop-shadow(0 0 35px rgba(255,255,255,.3));animation:twinkle-hover 1.5s ease-in-out infinite}@keyframes twinkle-hover{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.95}}.social-button:active{transform:translateY(-1px)}.publications-section{margin-top:100vh;padding-left:5%}.publications-card{max-width:1000px;margin-right:auto}.publications-card h2{font-size:2.5rem;margin-bottom:2rem;background:linear-gradient(135deg,#8b5cf6,#0cf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}@media (max-width: 1024px){.publications-section{padding-left:2rem;padding-right:2rem}.publications-card{margin:0 auto}}.glass-card{background:#ffffff08;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:20px;border:1px solid rgba(255,255,255,.08);padding:3rem;box-shadow:0 8px 32px #00000080,0 0 40px #ffffff05,inset 0 1px #ffffff1a,inset 0 -1px #ffffff08;position:relative}.glass-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:20px;background:radial-gradient(circle at 50% 0%,rgba(255,255,255,.04) 0%,transparent 50%);pointer-events:none}@media (max-width: 768px){.glass-card{padding:2rem}}@media (max-width: 480px){.glass-card{padding:1.5rem}}.publication-item{margin-bottom:2.5rem;padding:1.5rem;background:#ffffff0d;border-radius:12px;border-left:3px solid rgba(139,92,246,.4)}.publication-item h3{font-size:1.3rem;margin-bottom:.5rem;color:#e0e6ed;line-height:1.4}.publication-item .authors{color:#8b9cb6;font-size:.95rem;margin-bottom:.3rem;font-style:italic}.publication-item .venue{color:#0f8;font-weight:600;font-size:.95rem;margin-bottom:.8rem}.publication-item .abstract{color:#c5d0e0;line-height:1.7;font-size:.95rem}.publication-item .expand-toggle{background:none;border:none;color:#8b5cf6;font-weight:600;cursor:pointer;padding:0;margin-left:.25rem;font-size:.9rem;transition:all .2s ease;text-decoration:underline}.publication-item .expand-toggle:hover{color:#a78bfa;text-decoration:none}.publication-item .publication-link{display:inline-block;margin-top:1rem;padding:.5rem 1.2rem;background:#8b5cf633;border:1px solid rgba(139,92,246,.4);border-radius:8px;color:#8b5cf6;text-decoration:none;font-weight:600;font-size:.9rem;transition:all .3s ease}.publication-item .publication-link:hover{background:#8b5cf64d;border-color:#8b5cf699;transform:translateY(-2px);box-shadow:0 4px 12px #8b5cf64d}@media (max-width: 768px){.publication-item h3{font-size:1.15rem}.publication-item .authors,.publication-item .venue,.publication-item .abstract{font-size:.85rem}.publication-item .expand-toggle{font-size:.8rem}.publication-item .publication-link{font-size:.85rem}}@media (max-width: 480px){.publication-item h3{font-size:1.05rem}.publication-item .authors,.publication-item .venue,.publication-item .abstract{font-size:.8rem}.publication-item .expand-toggle{font-size:.75rem}.publication-item .publication-link{font-size:.8rem;padding:.4rem 1rem}}.projects-section{padding-right:5%;padding-bottom:25vh}.projects-card{max-width:1100px;margin-left:auto}.projects-card h2{font-size:2.5rem;margin-bottom:2rem;background:linear-gradient(135deg,#3b82f6,#0f8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}@media (max-width: 1024px){.projects-section{padding-left:2rem;padding-right:2rem}.projects-card{margin:0 auto}}@media (max-width: 768px){.projects-grid{grid-template-columns:1fr}.projects-section{padding-bottom:25vh}}.project-item{background:#ffffff0f;padding:1.8rem;border-radius:15px;border:1px solid rgba(255,255,255,.08)}.project-item h3{font-size:1.4rem;margin-bottom:1rem;color:#0f8}.project-item .description{color:#c5d0e0;line-height:1.6;margin-bottom:1rem;font-size:.95rem}.project-item .tech-stack{color:#8b9cb6;font-size:.85rem;margin-bottom:1rem;font-weight:500}.project-item .project-links{display:flex;gap:1rem;margin-top:1rem}.project-item .project-links a{color:#3b82f6;text-decoration:none;font-size:.9rem;padding:.4rem 1rem;border:1px solid rgba(59,130,246,.3);border-radius:20px;transition:opacity .3s ease}.project-item .project-links a:hover{opacity:.7}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6;font-weight:400;color-scheme:dark;color:#e0e6ed;background-color:#090a0f;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}#root{width:100%;margin:0;padding:0}
