:root{--bg-color:#030303;--text-primary:#fff;--text-secondary:#a0a0a0;--accent-cyan:#00f2ff;--accent-purple:#bd00ff;--accent-pink:#f05;--glass-bg:#ffffff08;--glass-border:#ffffff14;--glass-highlight:#ffffff26;--font-main:"Inter",sans-serif;--font-heading:"Outfit",sans-serif;--max-width:1200px;--nav-height:80px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-main);line-height:1.6;position:relative;overflow-x:hidden}#neural-network-bg{z-index:-2;background:var(--bg-color);width:100%;height:100%;position:fixed;top:0;left:0}@keyframes glitch-anim{0%{transform:translate(0)}20%{transform:translate(-2px,2px)}40%{transform:translate(-2px,-2px)}60%{transform:translate(2px,2px)}80%{transform:translate(2px,-2px)}to{transform:translate(0)}}@keyframes bgShift{0%{transform:scale(1)}to{transform:scale(1.1)}}html{scroll-behavior:smooth}h1,h2,h3{font-family:var(--font-heading);font-weight:700;line-height:1.2}a{color:inherit;text-decoration:none;transition:all .3s}ul{list-style:none}.glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:16px;box-shadow:0 8px 32px #0000004d}.section{max-width:var(--max-width);margin:0 auto;padding:100px 20px}.section-header{text-align:center;margin-bottom:60px}.section-header h2{background:linear-gradient(90deg,#fff,var(--accent-cyan));-webkit-text-fill-color:transparent;-webkit-background-clip:text;font-size:2.5rem;display:inline-block;position:relative}.section-header h2:after{content:"";background:var(--accent-purple);border-radius:2px;width:60px;height:3px;margin:10px auto 0;display:block}.navbar{width:auto;height:var(--nav-height);z-index:1000;border-radius:50px;justify-content:space-between;align-items:center;padding:0 20px;display:flex;position:fixed;top:20px;right:20px}.logo{font-family:var(--font-heading);color:var(--accent-cyan);font-size:1.8rem;font-weight:700}.nav-links{gap:20px;display:flex}.nav-links a{opacity:.7;font-size:.95rem;font-weight:500}.nav-links a:hover{opacity:1;color:var(--accent-cyan)}.hamburger{cursor:pointer;font-size:1.5rem;display:none}.hero{text-align:center;min-height:100vh;padding:0 20px;padding-top:var(--nav-height);justify-content:center;align-items:center;display:flex}.greeting{color:var(--accent-purple);letter-spacing:1px;margin-bottom:10px;font-size:1.2rem;font-weight:600}.hero h1{letter-spacing:-2px;text-shadow:0 0 50px #ffffff1a;margin-bottom:15px;font-size:5rem}.hero .title{color:var(--text-secondary);margin-bottom:30px;font-size:2rem;font-weight:300}.hero .description{max-width:600px;color:var(--text-secondary);margin:0 auto 40px;font-size:1.1rem}.cta-buttons{margin-bottom:40px}.btn{border-radius:50px;margin:0 10px;padding:12px 30px;font-size:1rem;font-weight:600;display:inline-block}.btn.primary{background:cubic-bezier(var(--accent-cyan),var(--accent-purple));background:linear-gradient(135deg,var(--accent-purple),var(--accent-pink));color:#fff;box-shadow:0 10px 30px #bd00ff4d}.btn.primary:hover{transform:translateY(-2px);box-shadow:0 15px 40px #bd00ff66}.btn.secondary{border:1px solid var(--glass-border);color:var(--text-primary);background:0 0}.btn.secondary:hover{background:var(--glass-bg);border-color:var(--text-primary)}.socials a{color:var(--text-secondary);margin:0 15px;font-size:1.5rem}.socials a:hover{color:var(--accent-cyan);transform:scale(1.1)}.timeline-container{max-width:800px;margin:0 auto;padding:20px 0;position:relative}.timeline-container:before{content:"";background:var(--glass-border);width:2px;position:absolute;top:0;bottom:0;left:20px}.timeline-block{margin-bottom:40px;padding-left:60px;position:relative}.timeline-block .marker{background:var(--bg-color);border:3px solid var(--accent-cyan);z-index:10;border-radius:50%;width:20px;height:20px;position:absolute;top:24px;left:11px}.timeline-content{padding:30px;transition:transform .3s;position:relative}.timeline-content:hover{border-color:var(--glass-highlight);transform:translate(10px)}.timeline-content h3{color:var(--text-primary);margin-bottom:5px}.timeline-content .date,.timeline-content .utils{color:var(--accent-cyan);margin-bottom:10px;margin-right:15px;font-size:.9rem;display:inline-block}.timeline-content p{color:var(--text-secondary);margin-bottom:10px}.timeline-content ul{color:var(--text-secondary);margin-left:20px;list-style-type:disc}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;display:grid}.skill-category{padding:30px}.skill-category h3{text-align:center;color:var(--text-primary);margin-bottom:20px;font-size:1.3rem}.skill-category .tags{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.skill-category .tags span{color:var(--text-secondary);background:#ffffff0d;border:1px solid #0000;border-radius:20px;padding:8px 16px;font-size:.9rem;transition:all .3s}.skill-category .tags span:hover{color:var(--accent-cyan);border-color:var(--accent-cyan);background:#00f2ff1a}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:40px;display:grid}.project-card{flex-direction:column;justify-content:space-between;padding:30px;transition:transform .3s,box-shadow .3s;display:flex;position:relative;overflow:hidden}.project-card:hover{border-color:var(--glass-highlight);transform:translateY(-10px);box-shadow:0 15px 40px #0006}.project-card h3{margin-bottom:10px;font-size:1.5rem}.project-card .date,.project-card .tag{color:var(--accent-purple);text-transform:uppercase;letter-spacing:1px;margin-bottom:15px;font-size:.85rem;display:inline-block}.project-card p{color:var(--text-secondary);margin-bottom:25px;font-size:1rem}.tech-stack{flex-wrap:wrap;gap:10px;margin-bottom:25px;display:flex}.tech-stack span{color:var(--accent-cyan);font-family:monospace;font-size:.8rem}.project-card .link{color:var(--text-primary);align-items:center;gap:10px;font-weight:600;display:flex}.project-card .link:hover{color:var(--accent-pink);gap:15px}.featured-research{border:1px solid var(--accent-purple);background:linear-gradient(to bottom right,#bd00ff0d,#0000)}.contact-section{text-align:center;padding-bottom:50px}.contact-box{padding:50px 80px;display:inline-block}.contact-box h2{margin-bottom:20px;font-size:2.5rem}.contact-links{flex-wrap:wrap;justify-content:center;gap:30px;margin:40px 0;display:flex}.contact-btn{color:var(--text-secondary);border:1px solid var(--glass-border);background:#ffffff08;border-radius:12px;flex-direction:column;align-items:center;gap:10px;width:120px;padding:20px;font-size:1rem;transition:all .3s;display:flex}.contact-btn i{color:var(--accent-cyan);margin:0;font-size:2rem;transition:transform .3s}.contact-btn:hover{border-color:var(--accent-purple);color:var(--text-primary);background:#ffffff14;transform:translateY(-5px)}.contact-btn:hover i{color:var(--accent-pink);transform:scale(1.1)}.contact-info-text{color:var(--text-secondary);margin-top:30px;font-size:1.1rem}.contact-info-text p{margin:5px 0}footer{text-align:center;color:var(--text-secondary);border-top:1px solid var(--glass-border);padding:40px;font-size:.9rem}footer i{color:var(--accent-pink)}@media (max-width:900px){.hero h1{font-size:3.5rem}}@media (max-width:768px){.navbar{background:#030303e6;border-radius:0;width:100%;padding:0 20px;top:0}.nav-links{top:var(--nav-height);background:var(--bg-color);border-bottom:1px solid var(--glass-border);flex-direction:column;width:100%;padding:20px 0;display:none;position:absolute;left:0}.nav-links.active{align-items:center;display:flex}.hamburger{display:block}.hero h1{font-size:2.8rem}.hero{padding-top:0}.section{padding:80px 20px}.timeline-container:before{left:10px}.timeline-block{padding-left:40px}.timeline-block .marker{left:1px}}.hidden{opacity:0;transition:all .8s cubic-bezier(.5,0,0,1);transform:translateY(30px)}.visible{opacity:1;transform:translateY(0)}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.floating{animation:4s ease-in-out infinite float}.skill-category .tags span{opacity:0;transition:all .5s;transform:translateY(20px)}.skill-category.visible .tags span{opacity:1;transform:translateY(0)}.skill-category.visible .tags span:first-child{transition-delay:.1s}.skill-category.visible .tags span:nth-child(2){transition-delay:.2s}.skill-category.visible .tags span:nth-child(3){transition-delay:.3s}.skill-category.visible .tags span:nth-child(4){transition-delay:.4s}.skill-category.visible .tags span:nth-child(5){transition-delay:.5s}.skill-category.visible .tags span:nth-child(6){transition-delay:.6s}.skill-category.visible .tags span:nth-child(7){transition-delay:.7s}.skill-category.visible .tags span:nth-child(8){transition-delay:.8s}.skill-category.visible .tags span:nth-child(9){transition-delay:.9s}.skill-category.visible .tags span:nth-child(10){transition-delay:1s}.btn{transition:transform .2s cubic-bezier(.25,.46,.45,.94)}@media (max-width:768px){.nav-links{z-index:-1;transition:transform .3s ease-in-out;display:flex;transform:translateY(-150%)}.nav-links.active{transform:translateY(0)}}.blink{color:var(--accent-cyan);font-weight:700;animation:1s infinite blink-anim}@keyframes blink-anim{0%,to{opacity:1}50%{opacity:0}}body,a,button,.cursor-pointer{cursor:none}.cursor-dot{background-color:var(--accent-cyan);z-index:9999;pointer-events:none;border-radius:50%;width:5px;height:5px;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-outline{border:1px solid var(--accent-cyan);z-index:9998;pointer-events:none;border-radius:50%;width:30px;height:30px;transition:width .2s,height .2s;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}a:hover~.cursor-outline,button:hover~.cursor-outline{background:#00f2ff1a;width:50px;height:50px}.glitch-hover{display:inline-block;position:relative}.glitch-hover:hover{color:var(--accent-cyan);animation:.3s cubic-bezier(.25,.46,.45,.94) infinite both glitch-anim}.glitch-hover:hover:before,.glitch-hover:hover:after{content:attr(data-text);opacity:.8;display:block;position:absolute;top:0;left:0}.glitch-hover:hover:before{color:var(--accent-purple);z-index:-1;clip-path:polygon(0 0,100% 0,100% 45%,0 45%);animation:.3s cubic-bezier(.25,.46,.45,.94) infinite both glitch-anim;transform:translate(-2px,-2px)}.glitch-hover:hover:after{color:var(--accent-pink);z-index:-2;clip-path:polygon(0 80%,100% 20%,100% 100%,0 100%);animation:.3s cubic-bezier(.25,.46,.45,.94) infinite reverse both glitch-anim;transform:translate(2px,2px)}
