:root{--primary-hue: 70;--primary-glow: 100;--neon-primary: hsl(var(--primary-hue), 85%, 65%);--neon-secondary: hsl(calc(var(--primary-hue) + 40), 90%, 60%);--neon-primary-glow: hsla(var(--primary-hue), 85%, 65%, calc(var(--primary-glow) * .003));--neon-secondary-glow: hsla(calc(var(--primary-hue) + 40), 90%, 60%, calc(var(--primary-glow) * .003));--bg-dark: #070913;--bg-surface: rgba(15, 20, 35, .45);--bg-surface-hover: rgba(20, 27, 48, .6);--border-color: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .18);--text-main: #f8fafc;--text-secondary: #94a3b8;--text-muted: #64748b;--font-heading: "Space Grotesk", "Inter", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif;--transition-smooth: all .4s cubic-bezier(.16, 1, .3, 1);--transition-bounce: all .5s cubic-bezier(.34, 1.56, .64, 1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-dark);color:var(--text-main);font-family:var(--font-body);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:8px}::-webkit-scrollbar-thumb:hover{background:var(--neon-primary)}.bg-glow-container{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:-2;overflow:hidden;pointer-events:none}.glow-orb{position:absolute;border-radius:50%;filter:blur(160px);opacity:.1;mix-blend-mode:screen;will-change:transform}.orb-1{width:45vw;height:45vw;background:radial-gradient(circle,var(--neon-primary) 0%,transparent 70%);top:-10vw;left:-10vw;animation:float-glow-1 25s infinite alternate ease-in-out}.orb-2{width:50vw;height:50vw;background:radial-gradient(circle,var(--neon-secondary) 0%,transparent 70%);bottom:-15vw;right:-10vw;animation:float-glow-2 30s infinite alternate ease-in-out}.orb-3{width:35vw;height:35vw;background:radial-gradient(circle,var(--neon-primary) 0%,transparent 75%);top:30vh;left:50%;transform:translate(-50%);animation:float-glow-3 28s infinite alternate ease-in-out}@keyframes float-glow-1{0%{transform:translate(0) scale(1)}to{transform:translate(10vw,8vh) scale(1.15)}}@keyframes float-glow-2{0%{transform:translate(0) scale(1.1)}to{transform:translate(-12vw,-10vh) scale(.9)}}@keyframes float-glow-3{0%{transform:translate(-50%) scale(.9)}to{transform:translate(calc(-50% + 5vw),15vh) scale(1.2)}}.mouse-glow-container{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;overflow:hidden}.mouse-glow{position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,hsla(var(--primary-hue),85%,60%,.12) 0%,transparent 65%);filter:blur(20px);will-change:transform}@media (hover: none){.mouse-glow-container{display:none}}.glass-card{background:var(--bg-surface);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 8px 32px #0000005e;transition:var(--transition-smooth)}.glass-card:hover{border-color:var(--border-hover);background:var(--bg-surface-hover);box-shadow:0 12px 40px #00000073}.navbar{position:fixed;top:0;left:0;width:100%;padding:1.25rem 4rem;display:flex;justify-content:space-between;align-items:center;z-index:100;background:#070913a6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);transition:var(--transition-smooth)}.logo{display:flex;align-items:center;font-family:var(--font-heading);font-weight:700;font-size:1.25rem;letter-spacing:1.5px}.logo-bracket{color:var(--neon-primary);text-shadow:0 0 10px var(--neon-primary-glow)}.logo-text{background:linear-gradient(135deg,var(--text-main) 60%,var(--neon-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin:0 .25rem}.nav-links{display:flex;gap:2.5rem}.nav-link{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:.95rem;transition:var(--transition-smooth);position:relative;padding:.5rem 0}.nav-link:hover,.nav-link.active{color:var(--text-main)}.nav-link:after{content:"";position:absolute;bottom:0;left:0;width:0%;height:2px;background:linear-gradient(90deg,var(--neon-primary),var(--neon-secondary));transition:var(--transition-smooth)}.nav-link:hover:after,.nav-link.active:after{width:100%}.nav-actions .github-btn{color:var(--text-secondary);display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--border-color);background:#ffffff08;transition:var(--transition-smooth);cursor:pointer;text-decoration:none}.nav-actions .github-btn:hover{color:var(--text-main);border-color:var(--neon-primary);box-shadow:0 0 15px var(--neon-primary-glow);transform:translateY(-2px)}.container{max-width:1200px;margin:0 auto;padding:0 3rem}.section{padding:7rem 0 3rem}.section-header{margin-bottom:4rem;text-align:center}.back-link{display:inline-flex;align-items:center;gap:.5rem;margin:0 0 1.5rem 3rem;padding:.5rem 1.2rem;border-radius:100px;background:#ffffff08;border:1px solid var(--border-color);color:var(--text-secondary);text-decoration:none;font-size:.85rem;font-weight:500;transition:var(--transition-smooth)}.back-link:hover{color:var(--text-main);border-color:var(--neon-primary);box-shadow:0 0 15px var(--neon-primary-glow);transform:translate(-3px)}.section-title{font-family:var(--font-heading);font-size:2.5rem;font-weight:700;letter-spacing:-.5px;margin-bottom:1rem;position:relative;display:inline-block}.section-title:after{content:"";position:absolute;width:50px;height:4px;background:var(--neon-primary);bottom:-10px;left:50%;transform:translate(-50%);border-radius:2px;box-shadow:0 0 10px var(--neon-primary)}.section-desc{color:var(--text-secondary);font-size:1.1rem;max-width:600px;margin:.5rem auto 0}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:space-between;padding-top:8rem;gap:4rem}.hero-content{flex:1.2;max-width:650px}.badge-container{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1rem;border-radius:100px;background:#ffffff08;border:1px solid var(--border-color);margin-bottom:2rem;box-shadow:0 4px 10px #0000001a}.pulse-dot{width:8px;height:8px;background-color:#10b981;border-radius:50%;position:relative}.pulse-dot:after{content:"";position:absolute;width:100%;height:100%;background-color:#10b981;border-radius:50%;top:0;left:0;animation:pulse 1.8s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.8}to{transform:scale(3);opacity:0}}.badge-text{font-size:.8rem;font-weight:600;color:var(--text-main);letter-spacing:.5px;text-transform:uppercase}.hero-title{font-family:var(--font-heading);font-size:3.8rem;font-weight:700;line-height:1.15;margin-bottom:1.5rem;letter-spacing:-1.5px}.gradient-text{background:linear-gradient(135deg,var(--neon-primary),var(--neon-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px hsla(var(--primary-hue),85%,65%,.25);position:relative}.gradient-text:before,.gradient-text:after{content:attr(data-text);position:absolute;top:0;right:0;bottom:0;left:0;background:inherit;-webkit-background-clip:text;background-clip:text}.gradient-text:before{color:#ff0040;-webkit-text-fill-color:#ff0040;animation:glitch-1 3.5s infinite steps(1,end)}.gradient-text:after{color:#00fff0;-webkit-text-fill-color:#00fff0;animation:glitch-2 3.5s infinite steps(1,end)}@keyframes glitch-1{0%,92%,to{opacity:0;transform:none}93%{opacity:.8;transform:translate(-2px,1px) skew(-8deg)}95%{opacity:.6;transform:translate(2px,-1px)}97%{opacity:.8;transform:translate(-1px)}}@keyframes glitch-2{0%,92%,to{opacity:0;transform:none}93%{opacity:.7;transform:translate(2px,-1px) skew(8deg)}95%{opacity:.5;transform:translate(-2px,1px)}97%{opacity:.7;transform:translate(1px)}}@media (prefers-reduced-motion: reduce){.gradient-text:before,.gradient-text:after{animation:none;opacity:0}}.typewriter-cursor{display:inline-block;width:3px;height:.9em;background:var(--neon-primary);margin-left:4px;vertical-align:middle;animation:blink .8s steps(2) infinite;transition:opacity .4s ease}.typewriter-cursor.is-hidden{opacity:0}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}.glitch-reveal{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s ease}.glitch-reveal.is-visible{opacity:1;transform:translateY(0)}.hero-subtitle{opacity:0;transform:translateY(12px);transition:opacity .6s ease .2s,transform .6s ease .2s}.hero-subtitle.is-visible{opacity:1;transform:translateY(0)}.hero-subtitle{font-size:1.2rem;color:var(--text-secondary);line-height:1.7;margin-bottom:2.5rem}.hero-buttons{display:flex;gap:1.5rem}.btn{display:inline-flex;align-items:center;gap:.8rem;padding:.9rem 2rem;border-radius:12px;font-size:1rem;font-weight:600;text-decoration:none;transition:var(--transition-bounce);cursor:pointer}.btn-primary{background:linear-gradient(135deg,var(--neon-primary),var(--neon-secondary));color:#fff;border:none;box-shadow:0 4px 20px var(--neon-primary-glow)}.btn-primary:hover{transform:translateY(-3px);box-shadow:0 8px 30px var(--neon-primary-glow)}.btn-secondary{background:#ffffff08;color:var(--text-main);border:1px solid var(--border-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.btn-secondary:hover{background:#ffffff14;border-color:var(--neon-primary);transform:translateY(-3px);box-shadow:0 0 15px var(--neon-primary-glow)}.hero-visual{flex:.8;display:flex;align-items:center;justify-content:center;perspective:1000px}#webgl-container{width:100%;height:450px;position:relative;cursor:none;z-index:10}.hub-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem}.hub-card{position:relative;border-radius:24px;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border-color);box-shadow:0 8px 32px #00000059;transition:border-color .4s ease,box-shadow .4s ease;transform-style:preserve-3d;transform:perspective(1000px)}.card-glow{position:absolute;width:300px;height:300px;background:radial-gradient(circle,var(--neon-primary-glow) 0%,transparent 70%);border-radius:50%;top:-150px;left:-150px;pointer-events:none;opacity:0;transition:opacity .5s ease}.hub-card:hover{border-color:var(--neon-primary);box-shadow:0 12px 40px var(--neon-primary-glow)}.hub-card:hover .card-glow{opacity:1}.card-content{padding:3rem;height:100%;display:flex;flex-direction:column;z-index:2;position:relative;transform:translateZ(30px)}.card-content--link,.project-card--link{color:inherit;text-decoration:none;cursor:pointer}.card-header-icon{width:60px;height:60px;border-radius:16px;background:#ffffff08;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--neon-primary);margin-bottom:2rem;transition:var(--transition-smooth)}.hub-card:hover .card-header-icon{color:#fff;background:var(--neon-primary);border-color:var(--neon-primary);box-shadow:0 0 20px var(--neon-primary-glow)}.card-title{font-family:var(--font-heading);font-size:1.8rem;font-weight:700;margin-bottom:1rem}.card-desc{color:var(--text-secondary);font-size:1.05rem;line-height:1.6;margin-bottom:2.5rem}.blog-preview-list{display:flex;flex-direction:column;gap:1.2rem;margin-bottom:3rem}.preview-item{background:#ffffff05;border:1px solid var(--border-color);border-radius:12px;padding:1rem 1.25rem;transition:var(--transition-smooth);cursor:pointer}.preview-item:hover{background:#ffffff0f;border-color:#fff3;transform:translate(4px)}.preview-tag{font-size:.75rem;font-weight:600;color:var(--neon-secondary);display:block;margin-bottom:.35rem;text-transform:uppercase;letter-spacing:.5px}.preview-title{font-size:.95rem;color:var(--text-main);font-weight:500}.project-tags{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:4rem}.project-tags .tag{font-size:.85rem;font-weight:500;color:var(--text-secondary);background:#ffffff08;border:1px solid var(--border-color);padding:.4rem 1rem;border-radius:100px;transition:var(--transition-smooth)}.project-tags .tag:hover{border-color:var(--neon-secondary);color:var(--text-main);box-shadow:0 0 10px var(--neon-secondary-glow)}.card-action-btn{margin-top:auto;display:inline-flex;align-items:center;gap:.6rem;color:var(--text-main);font-weight:600;text-decoration:none;align-self:flex-start;padding:.5rem 0;transition:var(--transition-smooth);position:relative}.card-action-btn i{transition:transform .3s ease}.card-action-btn:hover{color:var(--neon-primary)}.card-action-btn:hover i{transform:translate(3px,-3px)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem}.project-card{position:relative;border-radius:20px;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border-color);padding:2rem;transition:var(--transition-smooth);display:flex;flex-direction:column}.project-card:hover{border-color:var(--neon-primary);transform:translateY(-4px);box-shadow:0 12px 40px var(--neon-primary-glow)}.project-card__icon{width:48px;height:48px;border-radius:12px;background:#ffffff08;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--neon-primary);margin-bottom:1.5rem;transition:var(--transition-smooth)}.project-card:hover .project-card__icon{background:var(--neon-primary);color:#fff;border-color:var(--neon-primary)}.project-card__name{font-family:var(--font-heading);font-size:1.3rem;font-weight:700;margin-bottom:.75rem}.project-card__desc{color:var(--text-secondary);font-size:.95rem;line-height:1.6;margin-bottom:1.5rem;flex:1}.project-card__highlights{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-card__highlight{font-size:.75rem;font-weight:600;color:var(--neon-secondary);background:#ffffff08;border:1px solid var(--border-color);padding:.3rem .8rem;border-radius:100px}.project-card__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.project-card__tag{font-size:.75rem;color:var(--text-muted);background:#ffffff05;padding:.25rem .7rem;border-radius:6px}.project-card__links{display:flex;gap:1.2rem;margin-top:auto;flex-wrap:wrap}.project-card__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--neon-primary);font-weight:600;font-size:.9rem;text-decoration:none;transition:var(--transition-smooth)}.project-card__link:hover{gap:.8rem;color:var(--neon-secondary)}.project-card__link--repo{color:var(--text-secondary)}.project-card__link--repo:hover{color:var(--neon-secondary)}.resume-grid{display:grid;grid-template-columns:1fr 2fr;gap:2.5rem}.resume-sidebar{display:flex;flex-direction:column;gap:2rem}.resume-card{padding:2rem}.resume-card__title{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;margin-bottom:1.5rem;color:var(--text-main)}.resume-card__title:after{content:"";display:block;width:30px;height:3px;background:var(--neon-primary);margin-top:.5rem;border-radius:2px}.resume-profile{text-align:center}.resume-profile__avatar{width:120px;height:120px;border-radius:50%;margin:0 auto 1rem;object-fit:cover;display:block;border:2px solid var(--neon-primary);box-shadow:0 0 20px var(--neon-primary-glow)}.resume-profile__name{font-family:var(--font-heading);font-size:1.4rem;font-weight:700;margin-bottom:.25rem}.resume-profile__title{font-size:.9rem;color:var(--neon-secondary);margin-bottom:1rem}.resume-profile__summary{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.skills-list{display:flex;flex-direction:column;gap:1.2rem}.skill-category__name{font-size:.8rem;font-weight:600;color:var(--neon-primary);margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.skill-items{display:flex;flex-wrap:wrap;gap:.5rem}.skill-item{font-size:.8rem;font-weight:500;color:var(--text-secondary);background:#ffffff08;border:1px solid var(--border-color);padding:.35rem .8rem;border-radius:8px;transition:var(--transition-smooth)}.skill-item:hover{border-color:var(--neon-primary);color:var(--text-main);box-shadow:0 0 8px var(--neon-primary-glow)}.resume-timeline{display:flex;flex-direction:column;gap:0}.timeline-item{position:relative;padding-left:2rem;padding-bottom:2.5rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:7px;top:8px;bottom:0;width:2px;background:linear-gradient(180deg,var(--neon-primary),transparent)}.timeline-item:last-child:before{display:none}.timeline-item:after{content:"";position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:var(--bg-dark);border:3px solid var(--neon-primary);box-shadow:0 0 10px var(--neon-primary-glow)}.timeline-header{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.timeline-role{font-family:var(--font-heading);font-size:1.1rem;font-weight:700;color:var(--text-main)}.timeline-company{font-size:.9rem;color:var(--neon-secondary);font-weight:600}.timeline-period{font-size:.8rem;color:var(--text-muted);font-family:var(--font-heading)}.timeline-desc{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:.75rem}.timeline-achievements{list-style:none;display:flex;flex-direction:column;gap:.4rem}.timeline-achievements li{font-size:.85rem;color:var(--text-secondary);padding-left:1.2rem;position:relative}.timeline-achievements li:before{content:"▸";position:absolute;left:0;color:var(--neon-primary)}.education-item{padding-left:2rem;position:relative}.education-item:before{content:"";position:absolute;left:5px;top:6px;width:12px;height:12px;border-radius:50%;background:var(--neon-secondary);box-shadow:0 0 8px var(--neon-secondary-glow)}.education-degree{font-family:var(--font-heading);font-size:1rem;font-weight:700;margin-bottom:.25rem}.education-school{font-size:.9rem;color:var(--neon-secondary);margin-bottom:.25rem}.education-period{font-size:.8rem;color:var(--text-muted);font-family:var(--font-heading);margin-bottom:.5rem}.education-desc{font-size:.85rem;color:var(--text-secondary);line-height:1.6}.awards-list{display:flex;flex-direction:column;gap:1rem}.award-item{display:flex;align-items:flex-start;gap:.75rem}.award-icon{color:var(--neon-primary);font-size:1rem;line-height:1.4;flex-shrink:0;text-shadow:0 0 8px var(--neon-primary-glow)}.award-content{flex:1}.award-name{font-size:.88rem;color:var(--text-main);line-height:1.5;font-weight:500}.award-period{font-size:.78rem;color:var(--text-muted);font-family:var(--font-heading);margin-top:.15rem}.lab-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2.5rem}.lab-widget{padding:2.5rem;display:flex;flex-direction:column}.widget-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.widget-tag{font-family:var(--font-heading);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:var(--neon-primary)}.widget-status{display:inline-flex;align-items:center;gap:.5rem;font-size:.8rem;font-weight:500;color:var(--text-secondary)}.status-dot{width:6px;height:6px;border-radius:50%}.status-dot.green{background-color:#10b981;box-shadow:0 0 8px #10b981}.status-dot.purple{background-color:#a855f7;box-shadow:0 0 8px #a855f7}.music-player-body{display:flex;flex-direction:column;align-items:center;text-align:center}.vinyl-container{position:relative;width:130px;height:130px;margin-bottom:1.5rem}.vinyl-disc{width:100%;height:100%;background:radial-gradient(circle,#334155,#0f172a 70%,#020617);border-radius:50%;border:3px solid #1e293b;box-shadow:0 8px 25px #0006;display:flex;align-items:center;justify-content:center;transition:transform .6s cubic-bezier(.16,1,.3,1)}.vinyl-disc.playing{animation:rotate-vinyl 6s linear infinite}.vinyl-center{width:40px;height:40px;background:linear-gradient(135deg,var(--neon-primary),var(--neon-secondary));border-radius:50%;border:4px solid var(--bg-dark)}@keyframes rotate-vinyl{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.track-info .track-title{font-size:1.25rem;font-weight:600;margin-bottom:.25rem}.track-info .track-artist{font-size:.9rem;color:var(--text-secondary);margin-bottom:1.5rem}.audio-visualizer{display:flex;align-items:flex-end;gap:3px;height:40px;margin-bottom:2rem}.audio-visualizer .bar{width:3px;height:4px;background-color:var(--neon-primary);border-radius:10px;transition:height .15s ease,background-color .4s ease}.progress-container{width:100%;display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.time-elapsed,.time-total{font-size:.8rem;font-family:var(--font-heading);color:var(--text-muted)}.progress-bar-wrap{flex:1;height:4px;background-color:#ffffff0d;border-radius:10px;position:relative;cursor:pointer}.progress-bar{position:absolute;top:0;left:0;height:100%;width:0%;background:linear-gradient(90deg,var(--neon-primary),var(--neon-secondary));border-radius:10px;box-shadow:0 0 10px var(--neon-primary-glow);transition:width .1s linear}.player-controls{display:flex;align-items:center;gap:1.5rem}.ctrl-btn{background:transparent;border:none;color:var(--text-secondary);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:var(--transition-smooth)}.ctrl-btn:hover{color:var(--text-main);background:#ffffff08}.ctrl-btn.play-btn{background:var(--neon-primary);color:#fff;box-shadow:0 4px 15px var(--neon-primary-glow)}.ctrl-btn.play-btn:hover{transform:scale(1.08);box-shadow:0 6px 20px var(--neon-primary-glow);background:var(--neon-secondary)}.controller-body{display:flex;flex-direction:column}.ctrl-title{font-size:1.25rem;font-weight:600;margin-bottom:.5rem}.ctrl-desc{color:var(--text-secondary);font-size:.95rem;margin-bottom:2.5rem}.control-group{margin-bottom:2rem}.control-group label{display:block;font-size:.9rem;font-weight:500;margin-bottom:.8rem;color:var(--text-secondary)}.control-group label span{font-family:var(--font-heading);color:var(--text-main);font-weight:600}.neon-slider{-webkit-appearance:none;width:100%;height:6px;border-radius:10px;background:#ffffff0f;outline:none}.neon-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--neon-primary);box-shadow:0 0 10px var(--neon-primary);cursor:pointer;transition:transform .1s ease}.neon-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.theme-presets{display:flex;gap:1rem;margin-top:1.5rem}.preset-btn{width:32px;height:32px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:var(--transition-bounce)}.preset-btn:hover{transform:scale(1.15)}.preset-btn.active{border-color:#fff;box-shadow:0 0 15px #fff6}.terminal-container{border-radius:20px;overflow:hidden;background:#080a14cc;border:1px solid var(--border-color);box-shadow:0 20px 50px #00000080;display:flex;flex-direction:column;height:450px}.terminal-header{background:#ffffff05;border-bottom:1px solid var(--border-color);padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.terminal-actions{display:flex;gap:.5rem}.action-dot{width:12px;height:12px;border-radius:50%}.action-dot.red{background-color:#ef4444}.action-dot.yellow{background-color:#f59e0b}.action-dot.green{background-color:#10b981}.terminal-title{font-family:Space Grotesk,monospace;font-size:.85rem;color:var(--text-secondary)}.terminal-info-badge{font-size:.75rem;font-weight:600;color:var(--neon-primary);background:var(--neon-primary-glow);padding:.25rem .75rem;border-radius:4px;border:1px solid hsla(var(--primary-hue),85%,65%,.3);font-family:var(--font-heading);letter-spacing:.5px}.terminal-body{flex:1;padding:1.5rem;overflow-y:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:.9rem;line-height:1.6;display:flex;flex-direction:column;gap:.5rem}.terminal-line{color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.terminal-line.user-cmd{color:var(--text-main);display:flex;gap:.5rem}.terminal-line.system-msg{color:var(--neon-secondary)}.terminal-line.success-msg{color:#10b981}.terminal-line.ascii-art{line-height:1.25;color:var(--neon-primary);font-size:.8rem}.cmd-highlight{color:var(--neon-primary);font-weight:600}.terminal-input-line{display:flex;align-items:center;gap:.6rem;position:relative}.terminal-prompt{color:var(--neon-primary);font-weight:700}.terminal-input-wrapper{position:relative;display:flex;align-items:center;flex:1;font-family:inherit;font-size:inherit}.terminal-visible-text{color:var(--text-main);white-space:pre;font-family:inherit;line-height:1}.terminal-cursor{display:inline-block;width:8px;height:16px;background-color:var(--neon-primary);box-shadow:0 0 8px var(--neon-primary);animation:flash 1s steps(2,start) infinite;pointer-events:none;margin-left:2px}@keyframes flash{to{visibility:hidden}}.footer{border-top:1px solid var(--border-color);padding:2.5rem 0;text-align:center;color:var(--text-muted);font-size:.9rem;margin-top:0}.footer-icp{margin-top:.8rem;font-size:.8rem}.footer-icp a{color:var(--text-muted);text-decoration:none;transition:color .3s ease}.footer-icp a:hover{color:var(--neon-primary);text-decoration:underline}.contact-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:8rem 3rem 4rem;position:relative;overflow:hidden}.contact-inner{width:100%;max-width:1200px;margin:0 auto;display:flex;flex-direction:column;align-items:center}.contact-header{text-align:center;margin-bottom:3.5rem}.contact-badge{display:inline-flex;align-items:center;gap:.6rem;padding:.5rem 1.2rem;border-radius:100px;background:#ffffff08;border:1px solid var(--border-color);margin-bottom:1.8rem;font-size:.8rem;font-weight:600;letter-spacing:1.5px;color:var(--text-main);box-shadow:0 4px 10px #0000001a}.contact-title{font-family:var(--font-heading);font-size:3.2rem;font-weight:700;line-height:1.2;margin-bottom:1.2rem;letter-spacing:-1px}.contact-subtitle{font-size:1.15rem;color:var(--text-secondary);max-width:560px;margin:0 auto;line-height:1.7}.contact-quick-info{display:flex;gap:1.5rem;margin-bottom:3rem;flex-wrap:wrap;justify-content:center}.quick-info-item{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.5rem;border-radius:14px;background:var(--bg-surface);border:1px solid var(--border-color);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:var(--transition-smooth)}.quick-info-item:hover{border-color:var(--neon-primary);box-shadow:0 0 15px var(--neon-primary-glow);transform:translateY(-2px)}.quick-info-icon{width:36px;height:36px;border-radius:10px;background:#ffffff08;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--neon-primary)}.quick-info-text{display:flex;flex-direction:column}.quick-info-label{font-size:.7rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.quick-info-value{font-size:.9rem;color:var(--text-main);font-weight:500}.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;width:100%;margin-bottom:3rem}.contact-cards--compact{grid-template-columns:repeat(2,1fr);max-width:600px;margin:0 auto 3rem}.contact-card--span{grid-column:1 / -1}.contact-card--span .contact-card__value{font-size:1.1rem}.contact-card{position:relative;display:flex;align-items:center;gap:1rem;padding:1.5rem;border-radius:18px;background:var(--bg-surface);border:1px solid var(--border-color);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-decoration:none;transition:var(--transition-smooth);overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--card-color, var(--neon-primary));transform:scaleX(0);transform-origin:left;transition:transform .4s cubic-bezier(.16,1,.3,1)}.contact-card:hover{border-color:var(--card-color, var(--neon-primary));transform:translateY(-4px);box-shadow:0 12px 30px #0006}.contact-card:hover:before{transform:scaleX(1)}.contact-card__icon{width:48px;height:48px;border-radius:12px;background:#ffffff08;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--card-color, var(--neon-primary));transition:var(--transition-smooth);flex-shrink:0}.contact-card:hover .contact-card__icon{background:var(--card-color, var(--neon-primary));color:#fff;box-shadow:0 0 15px var(--card-color, var(--neon-primary))}.contact-card__body{display:flex;flex-direction:column;flex:1;min-width:0}.contact-card__label{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.2rem}.contact-card__value{font-size:.95rem;color:var(--text-main);font-weight:600;word-break:break-all}.contact-card__arrow{color:var(--text-muted);transition:var(--transition-smooth);transform:rotate(45deg);flex-shrink:0}.contact-card:hover .contact-card__arrow{color:var(--card-color, var(--neon-primary));transform:rotate(45deg) translate(2px,-2px)}.contact-form{width:100%;padding:2.5rem;border-radius:20px;display:flex;flex-direction:column;gap:1.5rem}.contact-form__header{margin-bottom:.5rem}.contact-form__header h3{font-family:var(--font-heading);font-size:1.5rem;font-weight:700;margin-bottom:.4rem}.contact-form__header p{color:var(--text-secondary);font-size:.95rem}.contact-form__grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-size:.85rem;font-weight:500;color:var(--text-secondary)}.form-group input,.form-group textarea{background:#ffffff05;border:1px solid var(--border-color);border-radius:12px;padding:.85rem 1.1rem;color:var(--text-main);font-family:var(--font-body);font-size:.95rem;transition:var(--transition-smooth);resize:vertical}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-muted)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--neon-primary);box-shadow:0 0 0 3px var(--neon-primary-glow);background:#ffffff0a}.contact-form__submit{align-self:flex-start;display:inline-flex;align-items:center;gap:.7rem;padding:.9rem 2rem;border-radius:12px;border:none;cursor:pointer;background:linear-gradient(135deg,var(--neon-primary),var(--neon-secondary));color:#fff;font-size:1rem;font-weight:600;font-family:var(--font-body);box-shadow:0 4px 20px var(--neon-primary-glow);transition:var(--transition-bounce)}.contact-form__submit:hover{transform:translateY(-3px);box-shadow:0 8px 30px var(--neon-primary-glow)}.contact-form__submit.sent{background:linear-gradient(135deg,#10b981,#059669)}.back-to-top{margin-top:3rem;display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.5rem;border-radius:100px;background:#ffffff08;border:1px solid var(--border-color);color:var(--text-secondary);text-decoration:none;font-size:.9rem;font-weight:500;transition:var(--transition-smooth)}.back-to-top:hover{color:var(--text-main);border-color:var(--neon-primary);box-shadow:0 0 15px var(--neon-primary-glow);transform:translateY(-2px)}.back-to-top svg{transition:transform .3s ease}.back-to-top:hover svg{transform:translateY(-3px)}@media (max-width: 1024px){.hero-section{flex-direction:column-reverse;padding-top:8rem;gap:3rem;text-align:center}.hero-content{max-width:100%;display:flex;flex-direction:column;align-items:center}.hero-title{font-size:3rem}.hero-buttons{justify-content:center}.hub-grid,.lab-grid,.resume-grid{grid-template-columns:1fr}.contact-cards{grid-template-columns:repeat(2,1fr)}.contact-form__grid{grid-template-columns:1fr}.contact-title{font-size:2.5rem}}@media (max-width: 768px){.navbar{padding:1.25rem 2rem}.nav-links{display:none}.hero-title{font-size:2.5rem}.section-title{font-size:2rem}.hub-card .card-content{padding:2rem}.projects-grid,.contact-cards{grid-template-columns:1fr}.contact-section{padding:6rem 1.5rem 3rem}.contact-title{font-size:2rem}.contact-quick-info{flex-direction:column;align-items:stretch}}body.custom-cursor-enabled,body.custom-cursor-enabled a,body.custom-cursor-enabled button,body.custom-cursor-enabled input,body.custom-cursor-enabled select,body.custom-cursor-enabled textarea,body.custom-cursor-enabled .tilt-card,body.custom-cursor-enabled .preview-item,body.custom-cursor-enabled .preset-btn,body.custom-cursor-enabled .progress-bar-wrap,body.custom-cursor-enabled .contact-card,body.custom-cursor-enabled .quick-info-item,body.custom-cursor-enabled .back-to-top,body.custom-cursor-enabled #webgl-container,body.custom-cursor-enabled #webgl-container canvas{cursor:none!important}.custom-cursor{position:fixed;top:0;left:0;width:20px;height:20px;pointer-events:none;z-index:99999;will-change:transform;display:none}body.custom-cursor-enabled .custom-cursor{display:block}.cursor-dot{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:8px;height:8px;background-color:var(--neon-primary);border-radius:50%;box-shadow:0 0 10px var(--neon-primary),0 0 20px var(--neon-primary-glow);transition:width .3s cubic-bezier(.16,1,.3,1),height .3s cubic-bezier(.16,1,.3,1),background-color .3s ease,box-shadow .3s ease}.cursor-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) scale(.4);width:30px;height:30px;border:1px solid var(--neon-primary);border-radius:50%;opacity:0;transition:transform .4s cubic-bezier(.16,1,.3,1),opacity .4s cubic-bezier(.16,1,.3,1),border-color .3s ease;pointer-events:none}.ch-line{position:absolute;background-color:var(--neon-primary);transition:background-color .3s ease}.ch-h{top:50%;left:-6px;width:42px;height:1px;transform:translateY(-50%)}.ch-v{left:50%;top:-6px;height:42px;width:1px;transform:translate(-50%)}.custom-cursor.hovering .cursor-dot{width:4px;height:4px;background-color:var(--neon-secondary);box-shadow:0 0 8px var(--neon-secondary)}.custom-cursor.hovering .cursor-crosshair{opacity:1;transform:translate(-50%,-50%) scale(1);border-color:var(--neon-secondary)}.custom-cursor.hovering .ch-line{background-color:var(--neon-secondary)}.custom-cursor.grabbing .cursor-dot{width:5px;height:5px;background-color:var(--neon-secondary);box-shadow:0 0 10px var(--neon-secondary);transform:translate(-50%,-50%) scale(.7)}.cursor-trail-particle{position:fixed;top:0;left:0;width:5px;height:5px;background-color:var(--neon-secondary);border-radius:50%;pointer-events:none;z-index:99998;will-change:transform,opacity;box-shadow:0 0 8px var(--neon-secondary),0 0 16px var(--neon-secondary-glow)}
