:root{--hero-color:#f8f8f8;--bg-color:#000;--text-color:#f2f2f2;--accent-color:#a3a3a3;--secondary-color:#646464;--surface-color:#1e1e1e;--card-highlight:#2a2a2a;--check-color:#8a8a8a;--card-border:#ffffff0d;--transition:all .3s ease;--border-radius:12px}.light-mode{--hero-color:#000;--bg-color:#f8f8f8;--text-color:#000;--accent-color:#555;--secondary-color:#777;--surface-color:#fff;--card-highlight:#f0f0f0;--check-color:#666;--card-border:#0000000d}*{box-sizing:border-box;margin:0;padding:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,sans-serif}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-color);transition:var(--transition);letter-spacing:-.01em;flex-direction:column;min-height:100vh;font-weight:400;line-height:1.6;display:flex}*,:before,:after{transition-property:background-color,color,border-color,box-shadow,fill,stroke;transition-duration:.3s;transition-timing-function:ease}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 2rem}header{z-index:1000;opacity:0;width:100%;padding:2rem 0;position:fixed;top:0}.navbar{justify-content:space-between;align-items:center;display:flex}.logo{color:var(--hero-color);letter-spacing:-.02em;font-family:Inter,sans-serif;font-size:1.5rem;font-weight:700;text-decoration:none}.logo span{color:var(--hero-color);font-family:Inter,sans-serif}.theme-toggle{color:var(--hero-color);cursor:pointer;width:40px;height:40px;transition:var(--transition);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:1.2rem;display:flex}.theme-toggle:hover{background-color:#ffffff1a}.hero{justify-content:center;align-items:center;min-height:100vh;padding-top:2rem;display:flex;position:relative}.hero-content{max-width:1000px;margin:0 auto}.hero-title{font-optical-sizing:auto;color:var(--hero-color);opacity:0;font-family:Syne,sans-serif;font-size:100px;font-style:normal;font-weight:500;line-height:1.2;transition:opacity .3s}.hero-subtitle{color:var(--accent-color);z-index:2;opacity:0;margin-bottom:2rem;font-family:Inter,sans-serif;font-size:clamp(1rem,3vw,1.5rem);font-weight:400;position:relative;transform:none!important}.hero-word{opacity:0;font-family:Syne,sans-serif;font-weight:500;font-size:inherit;color:var(--hero-color);margin-right:5px;transition:opacity .6s,transform .6s;display:inline-block;transform:translateY(20px)}.social-links{opacity:0;justify-content:center;gap:1rem;margin-top:3rem;display:flex}.social-link{background-color:var(--surface-color);width:44px;height:44px;color:var(--text-color);transition:var(--transition);border:1px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;font-family:Inter,sans-serif;font-size:1.2rem;text-decoration:none;display:flex}.social-link:hover{background-color:var(--accent-color);color:var(--bg-color);border:1px solid #fff3;transform:translateY(-3px)}.light-mode .social-link{border:1px solid #0000001a}.light-mode .social-link:hover{border:1px solid #0003}.section{opacity:0;will-change:opacity, transform;padding:6rem 0;transition:opacity .8s,transform .8s;transform:translateY(30px)}.section.visible{opacity:1;transform:translateY(0)}.section-title{letter-spacing:-.03em;margin-bottom:3rem;font-family:Inter,sans-serif;font-size:2.5rem;font-weight:700;display:inline-block;position:relative}.section-title:after{content:"";background-color:var(--accent-color);width:60px;height:3px;position:absolute;bottom:-10px;left:0}.animate-on-scroll{opacity:0;transition:opacity .5s ease-out,transform .5s ease-out;transform:translateY(20px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.project-card:nth-child(2n).animate-on-scroll{transform:translate(20px)}.project-card:nth-child(2n).animate-on-scroll.visible{transform:translate(0)}.project-card:nth-child(odd).animate-on-scroll{transform:translate(-20px)}.project-card:nth-child(odd).animate-on-scroll.visible{transform:translate(0)}.about-content{grid-template-columns:1fr 2fr;align-items:center;gap:3rem;display:grid}.about-image{border-radius:var(--border-radius);object-fit:cover;width:100%;height:auto}.about-text p{letter-spacing:-.01em;opacity:.9;margin-bottom:1.5rem;font-family:Inter,sans-serif;font-size:1.1rem;line-height:1.7}.resume-container{flex-direction:column;align-items:flex-start;margin-top:2rem;display:flex}.resume-text{opacity:.9;margin-bottom:1rem;font-family:Inter,sans-serif;font-weight:500}.resume-btn{background-color:var(--accent-color);color:var(--bg-color);transition:var(--transition);border:1px solid var(--card-border);border-radius:30px;align-items:center;gap:.5rem;padding:.8rem 1.5rem;font-family:Inter,sans-serif;font-weight:600;text-decoration:none;display:inline-flex}.resume-btn:hover{background-color:var(--secondary-color);transform:translateY(-3px);box-shadow:0 4px 10px #00000026}.resume-btn i{font-size:1.1rem}.experience-item{border-left:2px solid var(--card-border);margin-bottom:4rem;padding-left:2rem;position:relative}.experience-item:before{content:"";background-color:var(--accent-color);border-radius:50%;width:10px;height:10px;position:absolute;top:8px;left:-6px}.experience-title{color:var(--text-color);letter-spacing:-.02em;margin-bottom:.5rem;font-family:Inter,sans-serif;font-size:1.3rem;font-weight:600}.experience-company{color:var(--accent-color);margin-bottom:.5rem;font-family:Inter,sans-serif;font-size:1.1rem;font-weight:500}.experience-date{opacity:.7;margin-bottom:1rem;font-family:Inter,sans-serif;font-size:.9rem;font-style:italic}.experience-description ul{list-style-type:none}.experience-description li{color:var(--text-color);opacity:.85;margin-bottom:.8rem;padding-left:1.5rem;font-family:Inter,sans-serif;line-height:1.5;position:relative}.experience-description li:before{content:"→";color:var(--check-color);position:absolute;left:0}.projects-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem;display:grid}.project-card{background-color:var(--surface-color);border-radius:var(--border-radius);transition:var(--transition);border:1px solid var(--card-border);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform, box-shadow;transform-origin:50%;-webkit-font-smoothing:subpixel-antialiased;transition:transform .6s cubic-bezier(.165,.84,.44,1),box-shadow .6s cubic-bezier(.165,.84,.44,1),opacity .5s;overflow:hidden;transform:translate(0,0);box-shadow:0 4px 10px #0000001a}.project-card:hover{background-color:var(--card-highlight);will-change:transform, box-shadow;transform:translateY(-10px);box-shadow:0 10px 20px #00000026}.project-card:before{content:"";z-index:1;pointer-events:none;opacity:0;background:linear-gradient(135deg,#fff0 0%,#ffffff08 100%);transition:opacity .4s ease-out;position:absolute;inset:0}.project-card:hover:before{opacity:1}.project-image{object-fit:cover;border-bottom:1px solid var(--card-border);background-color:var(--card-highlight);width:100%;height:200px}.project-content{z-index:2;padding:1.5rem;position:relative}.project-title{color:var(--text-color);letter-spacing:-.02em;margin-bottom:.8rem;font-family:Inter,sans-serif;font-size:1.3rem;font-weight:600}.project-tags{flex-wrap:wrap;gap:.5rem;margin-bottom:1.2rem;display:flex}.project-tag{color:var(--accent-color);border:1px solid var(--card-border);background-color:#8080801a;border-radius:20px;padding:.3rem .8rem;font-family:Inter,sans-serif;font-size:.75rem;font-weight:500}.project-description{color:var(--text-color);opacity:.85;margin-bottom:1.5rem;font-family:Inter,sans-serif;font-size:.95rem;line-height:1.6}.project-links{border-top:1px solid var(--card-border);gap:1.2rem;margin-top:.5rem;padding-top:1.2rem;display:flex}.project-link{color:var(--text-color);transition:var(--transition);opacity:.8;align-items:center;gap:.5rem;font-family:Inter,sans-serif;font-size:.85rem;font-weight:500;text-decoration:none;display:inline-flex}.project-link:hover{color:var(--accent-color);opacity:1}.section.visible .project-card:first-child{transition-delay:.1s}.section.visible .project-card:nth-child(2){transition-delay:.2s}.section.visible .project-card:nth-child(3){transition-delay:.3s}.section.visible .project-card:nth-child(4){transition-delay:.4s}.skills-container{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:2rem;display:grid}.skill-category{background-color:var(--surface-color);border-radius:var(--border-radius);border:1px solid var(--card-border);transition:var(--transition);transform-style:preserve-3d;backface-visibility:hidden;will-change:transform, box-shadow;transform-origin:50%;-webkit-font-smoothing:subpixel-antialiased;padding:1.5rem;transition:transform .6s cubic-bezier(.165,.84,.44,1),box-shadow .6s cubic-bezier(.165,.84,.44,1),opacity .5s;transform:translate(0,0);box-shadow:0 4px 10px #0000001a}.skill-category:hover{background-color:var(--card-highlight);transform:translateY(-5px);box-shadow:0 6px 15px #00000026}.skill-category:before{content:"";z-index:1;pointer-events:none;opacity:0;background:linear-gradient(135deg,#fff0 0%,#ffffff08 100%);transition:opacity .4s ease-out;position:absolute;inset:0}.skill-category:hover:before{opacity:1}.skill-category h3{color:var(--text-color);letter-spacing:-.01em;border-bottom:1px solid var(--card-border);z-index:2;align-items:center;gap:.7rem;margin-bottom:1.5rem;padding-bottom:.8rem;font-family:Inter,sans-serif;font-size:1.2rem;font-weight:600;display:flex;position:relative}.skill-category h3 i{color:var(--accent-color);font-size:1.1rem}.skill-list{z-index:2;margin-left:.3rem;list-style:none;position:relative}.skill-list li{color:var(--text-color);opacity:.85;align-items:center;gap:.7rem;margin-bottom:.9rem;font-family:Inter,sans-serif;font-size:.95rem;display:flex}.skill-list li i{color:var(--check-color);font-size:.9rem}.skill-list li:hover{opacity:1}.section.visible .skill-category:first-child{transition-delay:.1s}.section.visible .skill-category:nth-child(2){transition-delay:.2s}.section.visible .skill-category:nth-child(3){transition-delay:.3s}.section.visible .skill-category:nth-child(4){transition-delay:.4s}.interests{background-color:var(--bg-color);min-height:auto;margin-top:0;margin-bottom:0;padding:6rem 0 4rem;position:relative;overflow:hidden}#orbital-canvas{z-index:1;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.interests .container{z-index:2;position:relative;overflow:visible}.interests-container{text-align:center;width:100%;margin:1.5rem 0}.interests-intro{color:var(--text-color);max-width:800px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-family:Inter,sans-serif;font-size:1.1rem;transition:color .2s}.interests-icons{height:150px!important;margin:1rem auto 2rem!important}.interest-item{z-index:10;margin:0 25px;transition:transform .3s;display:inline-block;position:relative}.interest-item.hovered{z-index:9000}.interest-icon{background-color:var(--surface-color);cursor:pointer;border:2px solid var(--card-border);border-radius:50%;justify-content:center;align-items:center;width:4rem;height:4rem;font-family:Inter,sans-serif;transition:all .3s;display:flex;box-shadow:0 4px 10px #0003}.interest-icon i{color:var(--accent-color);font-size:1.7rem;transition:color .2s}.interest-tooltip{background-color:var(--surface-color);width:250px;color:var(--text-color);border-radius:var(--border-radius);opacity:0;visibility:hidden;z-index:9999;pointer-events:none;border:1px solid var(--card-border);padding:1.5rem;font-family:Inter,sans-serif;transition:all .3s;position:absolute;bottom:calc(100% + 25px);left:50%;transform:translate(-50%)scale(.8);box-shadow:0 4px 15px #00000026}.interest-tooltip:after{content:"";background-color:var(--surface-color);border-right:1px solid var(--card-border);border-bottom:1px solid var(--card-border);width:16px;height:16px;position:absolute;bottom:-8px;left:50%;transform:translate(-50%)rotate(45deg)}.interest-tooltip h4{color:var(--accent-color);text-align:center;margin-bottom:.5rem;font-family:Inter,sans-serif;font-size:1rem;font-weight:600;transition:color .2s}.interest-tooltip p{color:var(--text-color);text-align:center;margin:0;font-family:Inter,sans-serif;font-size:.9rem;line-height:1.5;transition:color .2s}.interest-item:hover .interest-icon{border:2px solid var(--accent-color);transition:transform .3s,border-color .2s,background-color .2s;transform:translateY(-5px);box-shadow:0 0 15px #00000080}.interest-item:hover .interest-icon i{color:var(--text-color)}.interest-item:hover .interest-tooltip{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}.interests .section-title{letter-spacing:-.03em;color:var(--text-color);font-family:Inter,sans-serif;font-weight:700;transition:color .2s}.interests *{transition:background-color .2s,color .2s,border-color .2s,box-shadow .3s}.light-mode .interest-tooltip{box-shadow:0 4px 20px #0000001a}.light-mode .interest-tooltip h4{color:var(--accent-color)}.contact-content{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.contact-text{font-family:Inter,sans-serif;font-size:1.1rem}.contact-form .form-group{margin-bottom:1.5rem}.contact-form .form-control{background-color:var(--surface-color);border-radius:var(--border-radius);width:100%;color:var(--text-color);transition:var(--transition);border:none;margin-bottom:1rem;padding:.8rem 1rem;font-family:Inter,sans-serif}.contact-form .form-control:focus{outline:2px solid var(--accent-color)}.contact-form textarea.form-control{resize:vertical;min-height:150px}.contact-form .submit-btn{background-color:var(--accent-color);color:var(--bg-color);border-radius:var(--border-radius);cursor:pointer;transition:var(--transition);border:none;margin-top:1rem;padding:.8rem 2rem;font-family:Inter,sans-serif;font-weight:600}.contact-form .submit-btn:hover{background-color:var(--secondary-color);transform:translateY(-3px)}footer{text-align:center;margin-top:auto;padding:3rem 0}.footer-text{opacity:.7;font-family:Inter,sans-serif;font-size:.9rem}.menu-btn{color:var(--text-color);cursor:pointer;background:0 0;border:none;font-family:Inter,sans-serif;font-size:1.5rem;display:none}.menu{background-color:var(--bg-color);z-index:2000;opacity:0;visibility:hidden;width:100%;height:100%;transition:var(--transition);flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex;position:fixed;top:0;left:0}.menu.active{opacity:1;visibility:visible}.menu-close{color:var(--text-color);cursor:pointer;background:0 0;border:none;font-family:Inter,sans-serif;font-size:1.5rem;position:absolute;top:2rem;right:2rem}.menu-links{text-align:center;flex-direction:column;gap:1.5rem;display:flex}.menu-link{color:var(--text-color);transition:var(--transition);letter-spacing:-.03em;font-family:Inter,sans-serif;font-size:2rem;font-weight:600;text-decoration:none;display:inline-block;position:relative}.menu-link:after{content:"";background-color:var(--accent-color);width:0;height:3px;transition:var(--transition);position:absolute;bottom:-5px;left:0}.menu-link:hover{color:var(--accent-color)}.menu-link:hover:after{width:100%}.side-dock{z-index:900;opacity:1;opacity:0;background:0 0;flex-direction:column;gap:10px;padding:0;transition:opacity .5s,transform .5s;display:flex;position:fixed;top:50%;right:15px;transform:translateY(-50%)}.dock-item{cursor:pointer;transform-origin:50%;will-change:transform;background-color:#00000026;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;margin:3px 0;transition:all .3s cubic-bezier(.175,.885,.32,1.275);display:flex;position:relative}.dock-item:hover,.dock-item-hover{background-color:var(--accent-color)}.dock-item.active{background-color:var(--accent-color);border-color:var(--accent-color)}.dock-item.active i{color:var(--bg-color)!important}.dock-icon{justify-content:center;align-items:center;width:100%;height:100%;transition:all .3s;display:flex}.dock-icon i{color:var(--text-color);opacity:.7;font-size:.75rem;transition:all .3s}.dock-item:hover i,.dock-item-hover i{color:var(--hero-color)}.dock-label{color:#fff;white-space:nowrap;opacity:0;pointer-events:none;letter-spacing:.01em;background-color:#0009;border:none;border-radius:4px;padding:4px 10px;font-family:Inter,sans-serif;font-size:12px;font-weight:400;transition:all .3s;position:absolute;top:50%;right:calc(100% + 12px);transform:translateY(-50%)translate(10px);box-shadow:0 2px 8px #0000001a}.dock-label:after{content:"";background-color:#0009;border:none;width:8px;height:8px;position:absolute;top:50%;right:-4px;transform:translateY(-50%)rotate(45deg)}.dock-item:hover .dock-label,.dock-item-hover .dock-label{opacity:1;pointer-events:none;transform:translateY(-50%)translate(0)}.side-dock.hidden{opacity:0;pointer-events:none;visibility:hidden;transform:translateY(-50%)translate(50px)}.side-dock.fade-out{opacity:0;pointer-events:none;transform:translateY(-50%)translate(30px)}.side-dock.fade-in{opacity:1;pointer-events:auto;transform:translateY(-50%)translate(0)}.light-mode .dock-label{color:#333;background-color:#ffffffe6;box-shadow:0 2px 8px #00000014}.light-mode .dock-label:after{background-color:#ffffffe6}.light-mode .dock-item{background-color:#00000014}@media (width<=768px){.side-dock{padding:0;right:8px}.dock-item{width:24px;height:24px}.dock-icon i{font-size:.65rem}.dock-label{padding:3px 8px;font-size:11px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes highlight-pulse{0%{background-color:#0000}20%{background-color:#8080801a}to{background-color:#0000}}.section-highlight{animation:.8s ease-out highlight-pulse}.fade-element{opacity:0;will-change:opacity, transform;transition:opacity .6s .1s,transform .6s .1s;transform:translateY(20px)}.fade-element.visible{opacity:1;transform:translateY(0)}#scroll-top-btn{background-color:var(--surface-color);width:45px;height:45px;color:var(--text-color);border:1px solid var(--card-border);cursor:pointer;opacity:0;visibility:hidden;z-index:999;border-radius:50%;justify-content:center;align-items:center;transition:all .3s;display:flex;position:fixed;bottom:30px;right:30px;transform:translateY(15px);box-shadow:0 4px 10px #0000001a}#scroll-top-btn.visible{opacity:1;visibility:visible;transform:translateY(0)}#scroll-top-btn:hover{background-color:var(--accent-color);color:var(--bg-color);transform:translateY(-3px);box-shadow:0 6px 15px #00000026}#scroll-top-btn i{font-size:1rem}.light-mode #scroll-top-btn{box-shadow:0 4px 10px #00000014}.light-mode #scroll-top-btn:hover{box-shadow:0 6px 15px #0000001f}@media (width<=768px){.about-content,.contact-content,.projects-grid{grid-template-columns:1fr}.menu-btn{display:block}.side-navigation{gap:12px;right:15px}.side-nav-item{width:9px;height:9px}.interests-icons{height:150px;margin-bottom:4rem}.interest-icon{width:3.5rem;height:3.5rem}.interest-icon i{font-size:1.4rem}.interest-tooltip{width:220px;padding:1rem;bottom:calc(100% + 20px)}.interests{padding-bottom:4rem}.greeting-text{font-size:3rem}#scroll-top-btn{width:40px;height:40px;bottom:20px;right:20px}}:root{--white:#fff;--black:#000;--transparent:transparent;--blue-300:#93c5fd;--blue-400:#60a5fa;--blue-500:#3b82f6;--indigo-300:#a5b4fc;--violet-200:#ddd6fe}@keyframes aurora{0%{background-position:50%,50%}to{background-position:350%,350%}}.aurora-background{pointer-events:none;opacity:0;will-change:transform;z-index:1;transition:opacity 1.5s;position:absolute;inset:-10px;overflow:hidden}.aurora-background.show{opacity:.5}.aurora-effect{--white-gradient:repeating-linear-gradient(100deg, var(--white) 0%, var(--white) 7%, var(--transparent) 10%, var(--transparent) 12%, var(--white) 16%);--dark-gradient:repeating-linear-gradient(100deg, var(--black) 0%, var(--black) 7%, var(--transparent) 10%, var(--transparent) 12%, var(--black) 16%);--aurora:repeating-linear-gradient(100deg, var(--blue-500) 10%, var(--indigo-300) 15%, var(--blue-300) 20%, var(--violet-200) 25%, var(--blue-400) 30%);background-image:var(--white-gradient), var(--aurora);filter:blur(10px);background-position:50%,50%;background-size:300%,200%;animation:60s linear infinite aurora;position:absolute;inset:0}body:not(.light-mode) .aurora-effect{background-image:var(--dark-gradient), var(--aurora);filter:blur(10px)invert(0)}body.light-mode .aurora-effect{background-image:var(--white-gradient), var(--aurora);filter:blur(10px)invert()}.aurora-effect:after{content:"";background-image:var(--white-gradient), var(--aurora);mix-blend-mode:difference;background-size:200%,100%;background-attachment:fixed;animation:60s linear infinite aurora;position:absolute;inset:0}body:not(.light-mode) .aurora-effect:after{background-image:var(--dark-gradient), var(--aurora)}body.light-mode .aurora-effect:after{background-image:var(--white-gradient), var(--aurora)}.aurora-effect.with-radial-gradient{-webkit-mask-image:radial-gradient(at 100% 0,#000 10%,#0000 70%);mask-image:radial-gradient(at 100% 0,#000 10%,#0000 70%)}.aurora-content{z-index:2;text-align:center;position:relative}
