.navigation{position:fixed;top:0;left:0;width:100%;z-index:2000;background-color:transparent;transition:all var(--transition-base);padding:var(--space-4) 0}.navigation.scrolled{background-color:#0a0a0af2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-md);padding:var(--space-3) 0}.nav-content{display:flex;align-items:center;justify-content:space-between;padding-left:60px}@media (max-width: 768px){.nav-content{padding-left:35px}}.nav-logo{font-family:var(--font-display);font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-text-primary);text-decoration:none;position:relative;z-index:2}.logo-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(var(--glow-primary))}.nav-links{display:flex;align-items:center;gap:var(--space-8);list-style:none}.nav-links li a{font-size:var(--font-size-base);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);text-decoration:none;position:relative;padding:var(--space-2) 0;transition:color var(--transition-base)}.nav-links li a:after{content:"";position:absolute;bottom:0;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width var(--transition-base)}.nav-links li a:hover{color:var(--color-primary)}.nav-links li a:hover:after{width:100%}.mobile-menu-toggle{display:none;flex-direction:column;gap:4px;background:none;border:none;cursor:pointer;padding:var(--space-2);z-index:2;-webkit-tap-highlight-color:transparent}.mobile-menu-toggle span{width:24px;height:2px;background-color:var(--color-text-primary);transition:all var(--transition-base);transform-origin:center}.mobile-menu-toggle.open span:nth-child(1){transform:translateY(8px) rotate(45deg)}.mobile-menu-toggle.open span:nth-child(2){opacity:0}.mobile-menu-toggle.open span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}@media (max-width: 768px){.mobile-menu-toggle{display:flex}.nav-links{position:fixed;top:0;right:0;height:100vh;width:70%;max-width:300px;flex-direction:column;align-items:flex-start;gap:var(--space-3);padding:var(--space-24) var(--space-8);background-color:var(--color-surface);transform:translate(100%);transition:transform var(--transition-base);box-shadow:var(--shadow-lg)}.nav-links.mobile-open{transform:translate(0)}.nav-links li{width:100%}.nav-links li a{display:block;font-size:var(--font-size-lg);padding:var(--space-2) 0}.nav-links li a:hover{transform:none}}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:var(--space-20) 0}.hero-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0;overflow:hidden}.gradient-orb{position:absolute;border-radius:50%;filter:blur(100px);opacity:.3;animation:float 20s ease-in-out infinite}.orb-1{width:500px;height:500px;background:var(--gradient-primary);top:-250px;right:-250px;animation-delay:0s}.orb-2{width:400px;height:400px;background:var(--gradient-accent);bottom:-200px;left:-200px;animation-delay:-10s}@keyframes float{0%,to{transform:translate(0) scale(1)}33%{transform:translate(50px,-50px) scale(1.1)}66%{transform:translate(-30px,30px) scale(.9)}}.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;max-width:var(--max-width-xl);margin:0 auto;padding:0 var(--container-padding)}.hero-text{max-width:600px}.hero-label{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-6);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:2px}.divider{flex:1;opacity:.3}.hero-title{font-size:var(--font-size-7xl);font-weight:var(--font-weight-bold);line-height:1.1;margin-bottom:var(--space-4);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.typing-text{display:inline-block}.cursor{display:inline-block;color:var(--color-primary);opacity:0;transition:opacity .1s}.cursor.visible{opacity:1}.hero-subtitle{font-size:var(--font-size-3xl);font-weight:var(--font-weight-semibold);color:var(--color-text-secondary);margin-bottom:var(--space-6);text-transform:uppercase;letter-spacing:2px;white-space:nowrap}.hero-description{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.8;margin-bottom:var(--space-8);max-width:540px}.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-6);margin-bottom:var(--space-10)}.stat-item{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:all var(--transition-base)}.stat-item:hover{border-color:var(--color-primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}.stat-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-md);color:var(--color-background)}.stat-icon svg{width:24px;height:24px}.stat-content{display:flex;flex-direction:column}.stat-value{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2}.stat-label{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px}.hero-cta{display:flex;gap:var(--space-4)}.btn{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);text-decoration:none}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 0 30px #00d4ff80}.btn-primary svg{width:20px;height:20px;transition:transform var(--transition-base)}.btn-primary:hover svg{transform:translate(4px)}.hero-visual{position:relative;height:600px;display:flex;align-items:center;justify-content:center}.visual-container{position:relative;width:100%;height:100%}.code-snippet{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);overflow:hidden;box-shadow:var(--shadow-lg);animation:codeFloat 6s ease-in-out infinite}@keyframes codeFloat{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(2deg)}}.code-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-elevated);border-bottom:1px solid var(--color-border)}.dot{width:12px;height:12px;border-radius:50%;background:var(--color-border-light)}.code-content{padding:var(--space-6);font-family:var(--font-mono);font-size:var(--font-size-sm);line-height:1.8}.code-content pre{margin:0;white-space:pre-wrap}.code-content .keyword{color:#ff79c6}.code-content .variable{color:#8be9fd}.code-content .property{color:#50fa7b}.code-content .string{color:#f1fa8c}.code-content .number{color:#bd93f9}.code-content .boolean{color:#f55}.floating-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.float-item{position:absolute;padding:var(--space-2) var(--space-4);background:var(--gradient-primary);color:var(--color-background);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:var(--radius-md);animation:floatAround 10s ease-in-out infinite;animation-delay:var(--delay);opacity:.8}.float-item:nth-child(1){top:10%;left:10%}.float-item:nth-child(2){top:20%;right:15%}.float-item:nth-child(3){bottom:30%;left:15%}.float-item:nth-child(4){bottom:20%;right:20%}.float-item:nth-child(5){top:60%;right:10%}@keyframes floatAround{0%,to{transform:translate(0)}25%{transform:translate(20px,-20px)}50%{transform:translate(-10px,10px)}75%{transform:translate(10px,20px)}}.scroll-indicator{position:absolute;bottom:var(--space-8);left:50%;transform:translate(-50%);z-index:1}.scroll-arrow{width:30px;height:50px;border:2px solid var(--color-primary);border-radius:20px;position:relative}.scroll-arrow:after{content:"";position:absolute;top:10px;left:50%;transform:translate(-50%);width:6px;height:6px;background:var(--color-primary);border-radius:50%;animation:scrollDown 2s infinite}@keyframes scrollDown{0%,to{top:10px;opacity:1}50%{top:25px;opacity:.5}}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;gap:var(--space-12)}.hero-visual{height:400px}.hero-title{font-size:var(--font-size-5xl)}}@media (max-width: 768px){.hero{padding:var(--space-16) 0}.hero-title{font-size:var(--font-size-5xl)}.hero-subtitle{font-size:var(--font-size-2xl)}.hero-description{font-size:var(--font-size-sm)}.hero-stats{grid-template-columns:1fr}.hero-visual{height:300px}.code-content{font-size:.7rem;padding:var(--space-4)}.float-item{font-size:.7rem;padding:var(--space-1) var(--space-2)}}@media (max-width: 480px){.hero-label{flex-wrap:wrap;gap:var(--space-2)}.divider{display:none}.hero-cta{flex-direction:column}.btn{width:100%;justify-content:center}}.about{background:var(--color-background);position:relative}.section-header{text-align:left;margin-bottom:var(--space-16)}.section-title{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);margin-bottom:var(--space-4);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.title-divider{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2);margin-top:var(--space-4)}.divider-line{width:60px;height:2px;background:var(--gradient-primary)}.divider-dot{width:8px;height:8px;background:var(--color-primary);border-radius:50%}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:start}.about-text{display:flex;flex-direction:column;gap:var(--space-6)}.text-card{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base);position:relative;overflow:hidden}.text-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:var(--gradient-primary);transform:scaleY(0);transform-origin:top;transition:transform var(--transition-base)}.text-card:hover:before{transform:scaleY(1)}.text-card:hover{border-color:var(--color-primary);transform:translate(8px);box-shadow:var(--shadow-md)}.text-card h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-3)}.text-card p{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.8;margin:0;max-width:38ch;text-wrap:balance}.about-experience{position:sticky;top:100px;padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.experience-header{margin-bottom:var(--space-8);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.experience-header h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary)}.experience-timeline{display:flex;flex-direction:column;gap:var(--space-8);margin-bottom:var(--space-8);padding-left:var(--space-6);border-left:2px solid var(--color-border)}.timeline-item{position:relative;padding-left:var(--space-6)}.timeline-item:before{content:"";position:absolute;left:calc(var(--space-6) * -1 - 6px);top:4px;width:12px;height:12px;background:var(--gradient-primary);border-radius:50%;border:2px solid var(--color-background);box-shadow:var(--glow-primary)}.timeline-year{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-primary);margin-bottom:var(--space-2)}.timeline-content h4{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.timeline-content p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.about-highlights{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4);padding-top:var(--space-6);border-top:1px solid var(--color-border)}.highlight-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-background);border-radius:var(--radius-lg);transition:all var(--transition-base)}.highlight-item:hover{transform:translateY(-4px);box-shadow:var(--shadow-sm)}.highlight-icon{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-md);color:var(--color-background)}.highlight-icon svg{width:20px;height:20px}.highlight-text{display:flex;flex-direction:column}.highlight-title{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);line-height:1.2}.highlight-desc{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}@media (max-width: 1024px){.about-content{grid-template-columns:1fr;gap:var(--space-10)}.about-experience{position:static}}@media (max-width: 768px){.section-title{font-size:var(--font-size-4xl)}.text-card{padding:var(--space-5)}.text-card h3{font-size:var(--font-size-lg)}.text-card p{font-size:var(--font-size-sm);max-width:30ch}.about-highlights{grid-template-columns:1fr}}.skills{background:var(--color-surface);position:relative;overflow:hidden}.skills:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent)}.header-label{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);font-family:var(--font-mono);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:2px}.header-label .divider{opacity:.3}.section-description{max-width:600px;margin:var(--space-4) 0 0;text-align:left;font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.8}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6);margin-bottom:var(--space-16)}.skill-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-base);position:relative;overflow:hidden}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}.skill-card:hover:before{transform:scaleX(1)}.skill-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-lg)}.skill-header{display:flex;align-items:center;gap:var(--space-4);margin-bottom:var(--space-5)}.skill-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-lg);color:var(--color-background);font-size:var(--font-size-2xl)}.skill-info{flex:1}.skill-name{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0;line-height:1.2}.skill-category{font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px}.skill-progress-container{display:flex;align-items:center;gap:var(--space-4)}.skill-percentage{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-primary);font-family:var(--font-mono);min-width:60px}.skill-progress-bar{flex:1;height:8px;background:var(--color-surface);border-radius:var(--radius-full);overflow:hidden;position:relative}.skill-progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);position:relative;overflow:hidden}.skill-progress-fill:after{content:"";position:absolute;top:0;left:0;bottom:0;right:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.skills-summary{max-width:900px;margin:0 auto}.summary-card{background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-8);text-align:left}.summary-card h3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-8)}.summary-items{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}.summary-item{display:flex;flex-direction:row;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);text-align:left}.summary-item svg{width:32px;height:32px;color:var(--color-primary);stroke-width:1.5;flex-shrink:0;margin-top:2px}.summary-item p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.8;max-width:28ch;margin:0;text-wrap:balance}@media (max-width: 768px){.section-title{font-size:var(--font-size-4xl)}.section-description{font-size:var(--font-size-sm)}.skills-grid{grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.skill-card{padding:var(--space-4)}.skill-header{gap:var(--space-3);margin-bottom:var(--space-3)}.skill-icon{width:36px;height:36px;font-size:var(--font-size-lg)}.skill-name{font-size:var(--font-size-base)}.skill-percentage{font-size:var(--font-size-lg);min-width:50px}.skill-progress-container{gap:var(--space-2)}.header-label{flex-wrap:wrap;gap:var(--space-2)}.header-label .divider{display:none}.summary-items{grid-template-columns:1fr;gap:var(--space-3)}.summary-item{padding:var(--space-2);gap:var(--space-2)}.summary-item svg{width:24px;height:24px}.summary-item p{font-size:var(--font-size-xs);max-width:25ch}.summary-card{padding:var(--space-5)}.summary-card h3{font-size:var(--font-size-xl);margin-bottom:var(--space-5)}}.projects-fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#0a0a0a;overflow:hidden;z-index:10}.projects-container{display:grid;grid-template-columns:1fr 1fr;width:100%;height:100%;gap:4rem;padding:0 6vw;align-items:center}.project-info-side{display:flex;align-items:center;height:100%;padding-right:2rem}.project-details{max-width:600px;color:#fff}.project-number{display:block;font-size:14px;font-weight:600;letter-spacing:.3em;color:#00d4ff;margin-bottom:1.5rem;text-transform:uppercase}.project-title{font-size:clamp(2.5rem,5vw,5rem);font-weight:700;line-height:1.1;margin-bottom:2rem;color:#fff;text-transform:uppercase;letter-spacing:-.02em}.project-description{font-size:1.1rem;line-height:1.7;color:#ffffffd9;margin-bottom:2.5rem}.project-tech{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:3rem}.tech-tag{padding:.6rem 1.2rem;background:#00d4ff26;border:1px solid rgba(0,212,255,.4);border-radius:25px;font-size:.85rem;color:#00d4ff;font-weight:500;transition:all .3s ease}.tech-tag:hover{background:#00d4ff40;border-color:#00d4ff99;transform:translateY(-2px)}.project-cta{display:inline-flex;align-items:center;gap:1rem;padding:1.2rem 2.5rem;background:#ffffff1a;border:2px solid rgba(255,255,255,.3);border-radius:50px;color:#fff;font-weight:600;font-size:1rem;text-decoration:none;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-cta:hover{background:#00d4ff33;border-color:#00d4ff;transform:translateY(-3px);box-shadow:0 10px 30px #00d4ff4d}.project-image-side{display:flex;align-items:center;justify-content:center;height:100%;position:relative;overflow:hidden}.project-screenshot{width:100%;height:auto;display:flex;align-items:center;justify-content:center;border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.1)}.screenshot-img{width:100%;height:auto;object-fit:contain;object-position:top center;border-radius:8px}.project-nav-dots{position:fixed;right:4vw;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:1.2rem;z-index:20}.nav-dot{width:14px;height:14px;border-radius:50%;background:#ffffff4d;border:none;cursor:pointer;transition:all .3s ease;padding:0}.nav-dot:hover{background:#00d4ff99;transform:scale(1.2)}.nav-dot.active{background:#00d4ff;transform:scale(1.4);box-shadow:0 0 15px #00d4ff99}.project-progress{position:fixed;bottom:4vh;left:6vw;display:flex;align-items:baseline;gap:.5rem;font-size:1.5rem;font-weight:700;color:#fff;z-index:20}.progress-current{font-size:3rem;color:#00d4ff}.progress-separator{color:#fff6}.progress-total{color:#fff9}@media (max-width: 1024px){.projects-container{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:2rem;padding:6vh 5vw}.project-info-side{padding-right:0;height:auto}.project-title{font-size:clamp(2rem,8vw,3rem);margin-bottom:1.5rem}.project-description{font-size:1rem;margin-bottom:2rem}.project-tech{margin-bottom:2rem}.project-screenshot{height:50vh}.project-nav-dots{right:3vw}.project-progress{left:5vw;bottom:3vh}.progress-current{font-size:2rem}.tech-tag{font-size:.75rem;padding:.5rem 1rem}}@media (max-width: 768px){.projects-container{padding:4vh 4vw}.project-title{font-size:clamp(1.8rem,10vw,2.5rem)}.project-description{font-size:.95rem}.project-screenshot{height:40vh}}.contact{background:var(--color-background);position:relative}.contact-content{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-12);align-items:start}.contact-info-section{display:flex;flex-direction:column;gap:var(--space-8)}.info-cards{display:flex;flex-direction:column;gap:var(--space-4)}.info-card{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-5);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base)}.info-card:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md)}.info-icon{flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-lg);color:var(--color-background)}.info-icon svg{width:24px;height:24px}.info-content{flex:1}.info-content h3{font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px;margin:0 0 var(--space-1) 0}.info-content p,.info-content a{font-size:var(--font-size-base);color:var(--color-text-primary);margin:0;text-decoration:none;transition:color var(--transition-base)}.info-content a:hover{color:var(--color-primary)}.social-section{padding:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.social-section h3{font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0}.social-links{display:flex;flex-direction:column;gap:var(--space-3)}.social-link{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);text-decoration:none;transition:all var(--transition-base)}.social-link:hover{border-color:var(--color-primary);transform:translate(4px)}.social-link svg{width:20px;height:20px;color:var(--color-primary)}.social-link span{font-size:var(--font-size-base);font-weight:var(--font-weight-medium)}.contact-form-section{position:sticky;top:100px}.contact-form{padding:var(--space-8);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.form-group{margin-bottom:var(--space-5);position:relative}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-text-secondary);margin-bottom:var(--space-2)}.form-group input,.form-group textarea{width:100%;padding:var(--space-4);background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--color-text-primary);transition:all var(--transition-base)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #00d4ff1a}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-tertiary)}.form-group textarea{resize:vertical;min-height:120px}.btn{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);font-family:var(--font-display);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border:none;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);text-decoration:none;margin-top:var(--space-4)}.btn-primary{background:var(--gradient-primary);color:var(--color-background);box-shadow:var(--glow-primary)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 0 30px #00d4ff80}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.btn svg{width:20px;height:20px}.spinner{width:20px;height:20px;border:2px solid var(--color-background);border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.submit-message{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);text-align:center}.submit-message.success{background:#50fa7b1a;border:1px solid #50fa7b;color:#50fa7b}.submit-message.error{background:#ff55551a;border:1px solid #ff5555;color:#f55}@media (max-width: 1024px){.contact-content{grid-template-columns:1fr;gap:var(--space-10)}.contact-form-section{position:static}}@media (max-width: 768px){.section-title{font-size:var(--font-size-4xl)}.section-description{font-size:var(--font-size-sm)}.form-row{grid-template-columns:1fr}.contact-form{padding:var(--space-6)}.social-section{padding:var(--space-5)}}.footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding:var(--space-16) 0 var(--space-6);position:relative;z-index:10}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--color-primary),transparent)}.footer-content{display:grid;grid-template-columns:1.5fr 2fr;gap:var(--space-12);padding-bottom:var(--space-12);border-bottom:1px solid var(--color-border)}.footer-brand{max-width:400px}.footer-logo{margin-bottom:var(--space-4)}.logo-text{font-family:var(--font-display);font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(var(--glow-primary))}.footer-tagline{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:var(--line-height-relaxed);margin:0}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8)}.footer-section h4{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0;text-transform:uppercase;letter-spacing:1px}.footer-section ul{list-style:none;padding:0;margin:0}.footer-section ul li{margin-bottom:var(--space-3)}.footer-section ul li a{font-size:var(--font-size-sm);color:var(--color-text-secondary);text-decoration:none;transition:color var(--transition-base);display:inline-block}.footer-section ul li a:hover{color:var(--color-primary);transform:translate(4px)}.contact-list li{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.8}.footer-bottom{display:flex;align-items:center;justify-content:space-between;padding-top:var(--space-6)}.copyright{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:0}.footer-social{display:flex;align-items:center;gap:var(--space-4)}.footer-social a{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);text-decoration:none;transition:all var(--transition-base)}.footer-social a:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-4px)}.footer-social svg{width:20px;height:20px}@media (max-width: 1024px){.footer-content{grid-template-columns:1fr;gap:var(--space-10)}.footer-links{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.footer{padding:var(--space-12) 0 var(--space-6)}.footer-links{grid-template-columns:1fr;gap:var(--space-6)}.footer-bottom{flex-direction:column;gap:var(--space-4);text-align:center}}.custom-cursor-dot{position:fixed;top:0;left:0;width:32px;height:32px;background-color:#fff;border-radius:50%;pointer-events:none;z-index:9999;mix-blend-mode:difference;transition:width .2s,height .2s,background-color .2s}.custom-cursor-dot.hover{transform:scale(2.5);background-color:transparent;border:1px solid white}@media (hover: hover) and (pointer: fine){body,a,button{cursor:none}}:root{--color-background: #0a0a0a;--color-surface: #1a1a1a;--color-surface-elevated: #222222;--color-primary: #00d4ff;--color-primary-dark: #0099cc;--color-primary-light: #33ddff;--color-accent: #ff6b6b;--color-accent-light: #ff8e8e;--color-text-primary: #ffffff;--color-text-secondary: #b0b0b0;--color-text-tertiary: #808080;--color-border: #333333;--color-border-light: #444444;--glow-primary: 0 0 20px rgba(0, 212, 255, .3);--glow-accent: 0 0 20px rgba(255, 107, 107, .3);--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 32px rgba(0, 0, 0, .5);--gradient-primary: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));--gradient-accent: linear-gradient(135deg, var(--color-accent), var(--color-accent-light));--gradient-overlay: linear-gradient(180deg, transparent, rgba(10, 10, 10, .8));--font-primary: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Space Grotesk", var(--font-primary);--font-mono: "JetBrains Mono", "Fira Code", monospace;--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;--font-size-7xl: 4.5rem;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.2;--line-height-normal: 1.5;--line-height-relaxed: 1.75;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--max-width-sm: 640px;--max-width-md: 768px;--max-width-lg: 1024px;--max-width-xl: 1280px;--max-width-2xl: 1536px;--container-padding: var(--space-4);--section-padding: var(--space-20);--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--transition-bounce: .5s cubic-bezier(.68, -.55, .265, 1.55);--z-base: 0;--z-dropdown: 1000;--z-sticky: 1100;--z-fixed: 1200;--z-modal: 1300;--z-popover: 1400;--z-tooltip: 1500}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-primary);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-normal);color:var(--color-text-primary);background-color:var(--color-background);overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-text-primary)}h1{font-size:var(--font-size-6xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{margin-bottom:var(--space-4);color:var(--color-text-secondary)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-base)}a:hover{color:var(--color-primary-light)}.container{width:100%;max-width:var(--max-width-xl);margin:0 auto;padding:0 var(--container-padding);padding-left:60px}.section{padding:var(--section-padding) 0}@media (max-width: 1024px){:root{--font-size-6xl: 3rem;--font-size-5xl: 2.5rem;--font-size-4xl: 2rem}}@media (max-width: 768px){:root{--font-size-6xl: 2.5rem;--font-size-5xl: 2rem;--font-size-4xl: 1.75rem;--section-padding: var(--space-12);--container-padding: var(--space-6)}.container{padding-left:35px;padding-right:var(--space-4)}}@media (max-width: 480px){:root{--font-size-6xl: 2rem;--font-size-5xl: 1.75rem;--font-size-4xl: 1.5rem}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-primary-dark);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}::selection{background-color:var(--color-primary);color:var(--color-background)}.app{position:relative;overflow-x:hidden}.global-ide-lines{position:absolute;left:0;top:0;bottom:0;display:flex;flex-direction:column;gap:1.5rem;padding:2rem .5rem 2rem .75rem;z-index:5;font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-tertiary);opacity:.4;pointer-events:none;-webkit-user-select:none;user-select:none;overflow:hidden;clip-path:inset(0 0 0 0)}.global-ide-lines .line-number{text-align:right;width:25px;position:relative}.global-ide-lines .line-number:before{content:"";position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:3px;height:3px;background:var(--color-primary);border-radius:50%;opacity:0;transition:opacity .3s}.global-ide-lines .line-number:nth-child(5n):before,.global-ide-lines .line-number:nth-child(10n):before{opacity:.6}main{padding-left:0}.background-layer{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:-1}.background-layer.layer-1{background:linear-gradient(180deg,#0a0a0af2,#0a0a0ab3)}.background-layer.layer-2{background:radial-gradient(circle at 80% 20%,rgba(0,212,255,.15) 0%,transparent 50%)}.background-layer.layer-3{background:radial-gradient(circle at 20% 80%,rgba(255,107,107,.15) 0%,transparent 50%)}.projects-overlay{position:fixed;top:0;right:0;width:100%;height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-background);z-index:1000;padding:var(--space-8);text-align:center}.projects-overlay h1{font-size:var(--font-size-6xl);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-4)}.projects-overlay p{font-size:var(--font-size-xl);color:var(--color-text-secondary)}@media (max-width: 768px){.global-ide-lines{font-size:.55rem;padding:1.5rem .2rem 1.5rem .3rem;gap:1.3rem;width:25px}.global-ide-lines .line-number{width:18px}main{padding-left:0}}
