:root{--primary-color: #00d4ff;--secondary-color: #ff6b35;--accent-color: #7c3aed;--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-muted: #666666;--gradient-primary: linear-gradient(135deg, var(--primary-color), var(--accent-color));--gradient-secondary: linear-gradient(135deg, var(--secondary-color), var(--accent-color));--gradient-bg: linear-gradient(135deg, var(--bg-primary), var(--bg-secondary));--font-family: "Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--spacing-3xl: 4rem;--animation-speed-fast: .15s;--animation-speed-normal: .3s;--animation-speed-slow: .6s;--animation-speed-slower: 1s;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12), 0 1px 2px rgba(0, 0, 0, .24);--shadow-md: 0 4px 6px rgba(0, 0, 0, .1), 0 2px 4px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1), 0 4px 6px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .15), 0 10px 10px rgba(0, 0, 0, .04);--shadow-glow: 0 0 20px rgba(0, 212, 255, .3);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden;min-height:100vh;position:relative}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--gradient-primary);border-radius:var(--radius-lg)}::-webkit-scrollbar-thumb:hover{background:var(--primary-color)}#loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity var(--animation-speed-slow),visibility var(--animation-speed-slow)}#loading-screen.hidden{opacity:0;visibility:hidden}.loading-content{text-align:center;animation:fadeInUp .8s ease-out}.loader{width:60px;height:60px;border:3px solid transparent;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto var(--spacing-lg)}.loading-content h2{font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg);font-weight:300}.loading-bar{width:200px;height:4px;background:var(--bg-tertiary);border-radius:var(--radius-lg);overflow:hidden;margin:0 auto}.loading-progress{height:100%;background:var(--gradient-primary);border-radius:var(--radius-lg);animation:loadingProgress 3s ease-in-out infinite}#navbar{position:fixed;top:0;left:0;width:100%;background:rgba(10,10,10,.9);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);z-index:1000;transition:all var(--animation-speed-normal)}#navbar.scrolled{background:rgba(10,10,10,.95);box-shadow:var(--shadow-lg)}.nav-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg)}.logo{font-size:var(--font-size-2xl);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-menu{display:flex;list-style:none;gap:var(--spacing-xl)}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;transition:all var(--animation-speed-normal);position:relative}.nav-link:after{content:"";position:absolute;bottom:-5px;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width var(--animation-speed-normal)}.nav-link:hover,.nav-link.active{color:var(--primary-color)}.nav-link:hover:after,.nav-link.active:after{width:100%}.hamburger{display:none;flex-direction:column;cursor:pointer;gap:4px}.hamburger span{width:25px;height:3px;background:var(--text-primary);transition:all var(--animation-speed-normal)}#three-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1}#cursor{position:fixed;top:0;left:0;pointer-events:none;z-index:9999}.cursor-dot{width:12px;height:12px;background:var(--primary-color);border-radius:50%;position:absolute;transform:translate(-50%,-50%);z-index:2;box-shadow:0 0 15px #00d4ff99,0 0 25px #00d4ff4d}.cursor-dot:after{content:"";position:absolute;top:50%;left:50%;width:4px;height:4px;background:#ffffff;border-radius:50%;transform:translate(-50%,-50%);z-index:3;box-shadow:0 0 6px #ffffffe6}.cursor-outline{width:30px;height:30px;border:1px solid rgba(0,212,255,.3);border-radius:50%;position:absolute;transform:translate(-50%,-50%);transition:all .2s ease-out;background:rgba(0,212,255,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:flex;align-items:center;justify-content:center}.cursor-outline.expand{width:50px;height:50px;border-color:#7c3aed80;background:rgba(124,58,237,.08);backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px)}@keyframes cursorPulse{0%,to{transform:translate(-50%,-50%) scale(1);opacity:.8}50%{transform:translate(-50%,-50%) scale(1.02);opacity:.6}}@media (hover: none) and (pointer: coarse){#cursor{display:none}body{cursor:auto!important}}@media (max-width: 768px){.nav-container{padding:0 20px}.nav-menu{position:fixed;top:70px;right:-100%;width:70%;height:100vh;background:rgba(10,10,15,.95);backdrop-filter:blur(10px);flex-direction:column;padding-top:40px;transition:right .4s ease;z-index:100}.nav-menu.active{right:0}.nav-menu li{margin:15px 0}.hamburger{display:flex}.hamburger.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}#particles{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;pointer-events:none}.particle{position:absolute;width:4px;height:4px;background:var(--primary-color);border-radius:50%;opacity:.6;animation:particleFloat 6s linear infinite}@keyframes particleFloat{0%{transform:translateY(100vh) rotate(0);opacity:0}10%{opacity:.6}90%{opacity:.6}to{transform:translateY(-100px) rotate(360deg);opacity:0}}main{position:relative;z-index:1}.container{max-width:1200px;margin:0 auto;padding:0 var(--spacing-lg)}.hero-section{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;padding:var(--spacing-3xl) var(--spacing-lg)}.hero-content{animation:fadeInUp 1s ease-out .5s both}.hero-title{font-size:clamp(var(--font-size-4xl),8vw,var(--font-size-6xl));font-weight:700;line-height:1.2;margin-bottom:var(--spacing-lg)}.hero-title .line{display:block;overflow:hidden}.hero-title .line span{display:inline-block;animation:slideInUp .8s ease-out forwards;animation-delay:calc(var(--i) * .1s);transform:translateY(100%)}.hero-name{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-name span{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:var(--primary-color)}.hero-subtitle{font-size:var(--font-size-xl);color:var(--text-secondary);margin-bottom:var(--spacing-2xl);max-width:600px;animation:fadeInUp .8s ease-out .8s both}.hero-buttons{display:flex;gap:var(--spacing-lg);flex-wrap:wrap;justify-content:center;animation:fadeInUp .8s ease-out 1s both}.btn{padding:var(--spacing-lg) var(--spacing-2xl);border:none;border-radius:var(--radius-xl);font-size:var(--font-size-base);font-weight:600;cursor:pointer;transition:all var(--animation-speed-normal);text-decoration:none;display:inline-flex;align-items:center;gap:var(--spacing-sm);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--animation-speed-slow)}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:var(--text-primary);box-shadow:var(--shadow-glow)}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #00d4ff66}.btn-secondary{background:transparent;color:var(--text-primary);border:2px solid var(--primary-color)}.btn-secondary:hover{background:var(--primary-color);transform:translateY(-2px)}.scroll-indicator{position:absolute;bottom:var(--spacing-2xl);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);color:var(--text-muted);animation:fadeInUp .8s ease-out 1.2s both}.scroll-mouse{width:24px;height:40px;border:2px solid var(--text-muted);border-radius:12px;position:relative}.scroll-wheel{width:2px;height:8px;background:var(--text-muted);border-radius:1px;position:absolute;top:8px;left:50%;transform:translate(-50%);animation:scrollWheel 2s ease-in-out infinite}.section-title{font-size:var(--font-size-4xl);font-weight:700;text-align:center;margin-bottom:var(--spacing-3xl);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.about-section{padding:var(--spacing-3xl) 0;background:var(--bg-secondary);position:relative;overflow:hidden;min-height:100vh;display:flex;align-items:center}.about-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(0,212,255,.08) 0%,transparent 50%),radial-gradient(ellipse at 80% 20%,rgba(124,58,237,.08) 0%,transparent 50%),radial-gradient(ellipse at center,rgba(0,212,255,.03) 0%,transparent 70%);pointer-events:none}.about-section:after{content:"";position:absolute;top:50%;left:50%;width:600px;height:600px;background:conic-gradient(from 0deg,transparent,rgba(0,212,255,.1),transparent,rgba(124,58,237,.1),transparent);border-radius:50%;filter:blur(60px);transform:translate(-50%,-50%);animation:aboutBackgroundRotate 20s linear infinite;z-index:0}.about-content{display:grid;grid-template-columns:400px 1fr;gap:var(--spacing-4xl);align-items:center;position:relative;z-index:1;max-width:1200px;margin:0 auto}.about-left{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);position:sticky;top:50%;transform:translateY(-50%)}.about-right{display:flex;flex-direction:column;gap:var(--spacing-2xl);padding:var(--spacing-2xl)}.about-subtitle{font-size:var(--font-size-3xl);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--spacing-xl);position:relative;line-height:1.2}.about-subtitle:after{content:"";position:absolute;bottom:-10px;left:0;width:80px;height:4px;background:var(--gradient-primary);border-radius:var(--radius-sm);animation:subtitleGlow 2s ease-in-out infinite alternate}.about-text{background:rgba(255,255,255,.02);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-xl);padding:var(--spacing-2xl);position:relative;overflow:hidden}.about-text:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:2px;background:var(--gradient-primary);animation:aboutTextSlide 3s ease-in-out infinite}.about-text p{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.8;position:relative;z-index:1}.about-text p:last-child{margin-bottom:0}.about-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);width:100%;max-width:350px}.stat-item{text-align:center;padding:var(--spacing-lg) var(--spacing-md);background:rgba(255,255,255,.05);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(10px);transition:all var(--animation-speed-normal);position:relative;overflow:hidden;cursor:pointer;min-height:80px;display:flex;flex-direction:column;justify-content:center;align-items:center}.stat-item:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,212,255,.1),transparent);transition:left .6s ease}.stat-item:hover:before{left:100%}.stat-item:hover{transform:translateY(-6px) scale(1.05);background:rgba(0,212,255,.1);border-color:var(--primary-color);box-shadow:0 15px 30px #00d4ff4d}.stat-number{font-size:var(--font-size-2xl);font-weight:800;color:var(--primary-color);line-height:1;position:relative;z-index:1;margin-bottom:var(--spacing-xs)}.stat-label{font-size:var(--font-size-xs);color:var(--text-secondary);margin-top:var(--spacing-xs);font-weight:500;position:relative;z-index:1;word-wrap:break-word;hyphens:auto;line-height:1.2;max-width:100%}.skills-section{margin-top:var(--spacing-2xl);background:rgba(255,255,255,.02);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.05);border-radius:var(--radius-xl);padding:var(--spacing-2xl);position:relative;overflow:hidden}.skills-section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:conic-gradient(from 0deg,transparent,rgba(0,212,255,.03),transparent);animation:skillsRotate 15s linear infinite;z-index:0}.skills-title{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--spacing-xl);position:relative;z-index:1;text-align:center}.skills-title:after{content:"";position:absolute;bottom:-12px;left:50%;transform:translate(-50%);width:80px;height:4px;background:var(--gradient-primary);border-radius:var(--radius-sm);animation:skillsTitleGlow 2s ease-in-out infinite alternate}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-lg);position:relative;z-index:1}.skill-item{background:rgba(255,255,255,.05);padding:var(--spacing-xl);border-radius:var(--radius-xl);text-align:center;font-weight:600;font-size:var(--font-size-sm);transition:all var(--animation-speed-slow);cursor:pointer;border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(15px);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);min-height:100px;justify-content:center;position:relative;overflow:hidden;transform-style:preserve-3d}.skill-item:before{content:"";position:absolute;inset:0;background:var(--gradient-primary);opacity:0;transition:opacity var(--animation-speed-normal);z-index:-1}.skill-item:hover:before{opacity:.1}.skill-item:hover{transform:translateY(-8px) rotateY(5deg) scale(1.05);box-shadow:0 20px 40px #00d4ff4d,0 10px 20px #7c3aed33;border-color:var(--primary-color);background:rgba(0,212,255,.1)}.skill-icon{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-sm);transition:transform var(--animation-speed-normal);filter:drop-shadow(0 4px 8px rgba(0,212,255,.3))}.skill-item:hover .skill-icon{transform:scale(1.2) rotateY(360deg);filter:drop-shadow(0 6px 12px rgba(0,212,255,.5))}.skill-item span{font-weight:600;color:var(--text-primary);transition:color var(--animation-speed-normal)}.skill-item:hover span{color:var(--primary-color)}.about-visual{height:350px;background:rgba(255,255,255,.02);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);overflow:hidden;position:relative;backdrop-filter:blur(10px);margin-top:var(--spacing-xl)}.about-visual:before{content:"";position:absolute;top:50%;left:50%;width:250px;height:250px;background:conic-gradient(from 0deg,var(--primary-color),var(--secondary-color),var(--accent-color),var(--primary-color));border-radius:50%;filter:blur(40px);opacity:.4;transform:translate(-50%,-50%);animation:aboutVisualGlow 8s linear infinite}.about-visual:after{content:"";position:absolute;top:20%;left:20%;width:60%;height:60%;background:radial-gradient(circle,rgba(0,212,255,.1) 0%,rgba(124,58,237,.05) 50%,transparent 100%);border-radius:50%;animation:aboutVisualPulse 4s ease-in-out infinite}.about-gallery{height:280px;width:100%;max-width:350px;background:rgba(255,255,255,.02);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);overflow:hidden;position:relative;backdrop-filter:blur(10px);margin-bottom:var(--spacing-md)}.gallery-container{width:100%;height:100%;position:relative;display:flex;flex-direction:column}.gallery-slideshow{flex:1;position:relative;overflow:hidden}.gallery-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transition:opacity .6s ease-in-out;display:flex;align-items:center;justify-content:center}.gallery-slide.active{opacity:1}.gallery-slide img{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg);filter:brightness(.9) contrast(1.1);transition:all var(--animation-speed-normal)}.gallery-slide:hover img{filter:brightness(1) contrast(1.2);transform:scale(1.02)}.gallery-controls{position:absolute;bottom:15px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:var(--spacing-md);background:rgba(0,0,0,.5);backdrop-filter:blur(10px);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1)}.gallery-btn{background:transparent;border:none;color:var(--text-primary);font-size:var(--font-size-2xl);cursor:pointer;padding:var(--spacing-xs);border-radius:var(--radius-md);transition:all var(--animation-speed-normal);display:flex;align-items:center;justify-content:center;width:30px;height:30px}.gallery-btn:hover{background:var(--primary-color);color:var(--bg-primary);transform:scale(1.1)}.gallery-dots{display:flex;gap:var(--spacing-sm)}.gallery-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);cursor:pointer;transition:all var(--animation-speed-normal)}.gallery-dot.active{background:var(--primary-color);transform:scale(1.2)}.gallery-dot:hover{background:var(--text-primary);transform:scale(1.1)}.gallery-caption{position:absolute;top:15px;left:15px;right:15px;background:rgba(0,0,0,.6);backdrop-filter:blur(10px);padding:var(--spacing-md);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.1);opacity:0;transform:translateY(-10px);transition:all var(--animation-speed-normal)}.about-gallery:hover .gallery-caption{opacity:1;transform:translateY(0)}.gallery-caption h4{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-xs)}.gallery-caption p{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0}@keyframes aboutBackgroundRotate{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes subtitleGlow{0%{box-shadow:0 0 5px #00d4ff80}to{box-shadow:0 0 20px #00d4ffcc,0 0 30px #7c3aed4d}}@keyframes aboutTextSlide{0%,to{left:-100%}50%{left:100%}}@keyframes skillsRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes skillsTitleGlow{0%{box-shadow:0 0 5px #00d4ff80}to{box-shadow:0 0 15px #00d4ffcc,0 0 25px #7c3aed66}}@keyframes aboutVisualGlow{0%{filter:blur(40px) hue-rotate(0deg);opacity:.4}50%{filter:blur(30px) hue-rotate(180deg);opacity:.6}to{filter:blur(40px) hue-rotate(360deg);opacity:.4}}@keyframes aboutVisualPulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.6}}.publications-section{padding:var(--spacing-3xl) 0;background:transparent;perspective:1000px;overflow-x:hidden}.publications-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-2xl);transform-style:preserve-3d}.publication-card{background:rgba(26,26,26,.3);border-radius:var(--radius-2xl);padding:var(--spacing-xl);transition:all .6s cubic-bezier(.25,.46,.45,.94);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);transform:rotateY(-15deg) translateZ(-50px);opacity:.7;transform-style:preserve-3d;animation:floatIn3D .8s ease-out forwards;animation-play-state:paused;cursor:pointer}.publication-card.visible{animation-play-state:running;transform:rotateY(0) translateZ(0);opacity:1}.publication-card:nth-child(2n){transform:rotateY(15deg) translateZ(-50px)}.publication-card:nth-child(2n).visible{transform:rotateY(0) translateZ(0)}.publication-card:hover{transform:translateY(-12px) rotateY(5deg) translateZ(20px);box-shadow:0 25px 50px #00d4ff26,0 10px 20px #7c3aed1a;border-color:var(--primary-color);background:rgba(26,26,26,.5)}.publication-image{display:flex;align-items:center;justify-content:center;height:80px;margin-bottom:var(--spacing-lg)}.publication-icon{font-size:var(--font-size-4xl);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.publication-info h3{font-size:var(--font-size-xl);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--text-primary);line-height:1.4}.publication-venue{font-size:var(--font-size-sm);color:var(--primary-color);font-weight:600;margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:.5px}.publication-abstract{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--spacing-lg)}.publication-links{display:flex;gap:var(--spacing-md)}.publication-link{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--primary-color);border-radius:var(--radius-xl);color:var(--primary-color);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;background:rgba(255,255,255,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all var(--animation-speed-normal);display:inline-flex;align-items:center;gap:var(--spacing-sm);position:relative;overflow:hidden}.publication-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,212,255,.1),transparent);transition:left .6s ease}.publication-link:hover:before{left:100%}.publication-link:hover{background:var(--primary-color);color:var(--bg-primary);transform:translateY(-2px);box-shadow:0 10px 20px #00d4ff4d;border-color:var(--primary-color)}.projects-section{padding:var(--spacing-3xl) 0}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--spacing-2xl)}.project-card{background:var(--bg-secondary);border-radius:var(--radius-2xl);overflow:hidden;transition:all var(--animation-speed-normal);border:1px solid rgba(255,255,255,.1)}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--primary-color)}.project-image{height:200px;position:relative;overflow:hidden}.project-3d-preview{width:100%;height:100%;background:var(--gradient-bg)}.project-info{padding:var(--spacing-xl)}.project-info h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--text-primary)}.project-info p{color:var(--text-secondary);margin-bottom:var(--spacing-lg);line-height:1.6}.project-tech{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);flex-wrap:wrap}.project-tech span{background:var(--bg-tertiary);padding:var(--spacing-xs) var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm);color:var(--primary-color)}.project-links{display:flex;gap:var(--spacing-md)}.project-link{color:var(--primary-color);text-decoration:none;font-weight:600;padding:var(--spacing-sm) var(--spacing-lg);border:1px solid var(--primary-color);border-radius:var(--radius-xl);background:rgba(255,255,255,.05);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:all var(--animation-speed-normal);display:inline-flex;align-items:center;gap:var(--spacing-sm);position:relative;overflow:hidden;font-size:var(--font-size-sm)}.project-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,212,255,.1),transparent);transition:left .6s ease}.project-link:hover:before{left:100%}.project-link:hover{background:var(--primary-color);color:var(--bg-primary);transform:translateY(-2px);box-shadow:0 10px 20px #00d4ff4d;border-color:var(--primary-color)}.contact-section{padding:var(--spacing-3xl) 0;background:var(--bg-secondary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-3xl);align-items:center}.contact-info h3{font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);color:var(--text-primary)}.contact-info p{color:var(--text-secondary);margin-bottom:var(--spacing-2xl);line-height:1.8}.contact-methods{display:flex;flex-direction:column;gap:var(--spacing-lg)}.contact-method{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);background:var(--bg-tertiary);border-radius:var(--radius-lg);text-decoration:none;color:var(--text-primary);transition:all var(--animation-speed-normal);border:1px solid transparent}.contact-method:hover{background:var(--gradient-primary);transform:translate(8px);border-color:var(--primary-color)}.contact-icon{font-size:var(--font-size-xl)}.profile-image-container{display:flex;justify-content:center;margin-bottom:var(--spacing-2xl)}.profile-image-frame{position:relative;width:220px;height:220px;border-radius:50%;overflow:hidden;background:rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:2px solid rgba(255,255,255,.2);box-shadow:0 8px 32px #00d4ff4d,0 4px 16px #7c3aed33,inset 0 2px 4px #ffffff1a;transition:all var(--animation-speed-normal);animation:profileFloat 6s ease-in-out infinite}.profile-image-frame:hover{transform:scale(1.05) rotateY(5deg);box-shadow:0 12px 40px #00d4ff66,0 6px 20px #7c3aed4d,inset 0 2px 8px #ffffff26}.profile-image{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;transition:all var(--animation-speed-normal);filter:brightness(1.1) contrast(1.1) saturate(1.2);opacity:1}.profile-image.loaded{opacity:1}.profile-image-frame.loading{background:rgba(255,255,255,.05)}.profile-image-frame.loading:before{content:"";position:absolute;top:50%;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border:3px solid rgba(0,212,255,.3);border-top:3px solid var(--primary-color);border-radius:50%;animation:profileImageLoading 1s linear infinite}.profile-glow{position:absolute;inset:-10px;border-radius:50%;background:conic-gradient(from 0deg,var(--primary-color),var(--secondary-color),var(--accent-color),var(--primary-color));opacity:.6;filter:blur(20px);z-index:-1;animation:profileGlow 4s linear infinite}.profile-border{position:absolute;inset:-3px;border-radius:50%;background:linear-gradient(45deg,transparent,rgba(0,212,255,.5),transparent,rgba(124,58,237,.5),transparent);z-index:-1;animation:profileBorderRotate 8s linear infinite}@keyframes profileFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-10px) rotate(2deg)}}@keyframes profileGlow{0%{filter:blur(20px) hue-rotate(0deg)}to{filter:blur(20px) hue-rotate(360deg)}}@keyframes profileBorderRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes profileImageLoading{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes loadingProgress{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}@keyframes scrollWheel{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(8px)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-10px) rotate(120deg)}66%{transform:translateY(5px) rotate(240deg)}}@keyframes rippleEffect{0%{width:0;height:0;opacity:1}to{width:300px;height:300px;opacity:0}}@keyframes carousel3DEntry{0%{transform:rotateY(-45deg) translateZ(-100px) translate(-50px);opacity:0}to{transform:rotateY(0) translateZ(0) translate(0);opacity:1}}@keyframes floatIn3D{0%{transform:rotateY(15deg) translateZ(-80px) scale(.8);opacity:0}to{transform:rotateY(0) translateZ(0) scale(1);opacity:1}}
