:root{--is-dark: 0;--primary: #007aff;--primary-dark: #0051d5;--secondary: #5856d6;--accent: #32d74b;--warning: #ff9500;--error: #ff453a;--surface-primary: #f2f2f7;--surface-secondary: #ffffff;--surface-tertiary: rgba(118, 118, 128, .12);--surface-quaternary: rgba(116, 116, 128, .08);--text-primary: #000000;--text-secondary: rgba(60, 60, 67, .6);--text-tertiary: rgba(60, 60, 67, .3);--text-on-color: #ffffff;--font-system: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Inter", system-ui, sans-serif;--font-mono: "SF Mono", "Monaco", "Inconsolata", "Fira Code", monospace;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-2xl: 24px;--radius-3xl: 32px;--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .1), 0 1px 2px rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px rgba(0, 0, 0, .05), 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, .1), 0 10px 10px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .25);--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--ease-swift: cubic-bezier(.55, .055, .675, .19);--ease-smooth: cubic-bezier(.25, .46, .45, .94);--blur-sm: 8px;--blur-md: 16px;--blur-lg: 24px;--blur-xl: 32px}[data-theme=dark]{--is-dark: 1;--surface-primary: #1c1c1e;--surface-secondary: #2c2c2e;--surface-tertiary: rgba(118, 118, 128, .24);--surface-quaternary: rgba(116, 116, 128, .16);--text-primary: #ffffff;--text-secondary: rgba(235, 235, 245, .6);--text-tertiary: rgba(235, 235, 245, .3);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4), 0 4px 6px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5), 0 10px 10px rgba(0, 0, 0, .2);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .6)}@media (prefers-color-scheme: dark){:root:not([data-theme]){--is-dark: 1;--surface-primary: #1c1c1e;--surface-secondary: #2c2c2e;--surface-tertiary: rgba(118, 118, 128, .24);--surface-quaternary: rgba(116, 116, 128, .16);--text-primary: #ffffff;--text-secondary: rgba(235, 235, 245, .6);--text-tertiary: rgba(235, 235, 245, .3);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4), 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .4), 0 4px 6px rgba(0, 0, 0, .2);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .5), 0 10px 10px rgba(0, 0, 0, .2);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .6)}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-system);background:var(--surface-primary);color:var(--text-primary);overflow-x:hidden;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth;position:relative;transition:background-color .4s var(--ease-default),color .4s var(--ease-default)}body.menu-open{overflow:hidden}@keyframes gradientShift{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(15px,-20px) rotate(1deg)}50%{transform:translate(-10px,15px) rotate(-1deg)}75%{transform:translate(8px,-10px) rotate(.5deg)}}@keyframes heroFadeIn{0%{opacity:0;transform:translateY(40px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes titleGlow{0%{filter:brightness(1)}to{filter:brightness(1.1) saturate(1.2)}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes buttonFloat{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:.3}50%{transform:scale(1.1);opacity:.5}}@keyframes trailFade{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}@keyframes particleFade{0%{opacity:.8;transform:translate(0) scale(1)}to{opacity:0;transform:translate(var(--tx),var(--ty)) scale(0)}}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(100vh) rotate(720deg)}}@keyframes copySuccess{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(360deg)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0)}to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes ripple{to{transform:scale(2);opacity:0}}@keyframes themeParticle{0%{opacity:1;transform:scale(0) rotate(0)}50%{opacity:.8;transform:scale(1) rotate(180deg) translate(var(--tx, 30px),var(--ty, 30px))}to{opacity:0;transform:scale(0) rotate(360deg) translate(var(--tx, 50px),var(--ty, 50px))}}.bg-container{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-10;overflow:hidden}.gradient-bg{position:absolute;width:120%;height:120%;left:-10%;top:-10%;background:linear-gradient(135deg,var(--surface-primary) 0%,var(--surface-secondary) 25%,var(--surface-tertiary) 50%,var(--surface-secondary) 75%,var(--surface-primary) 100%);animation:gradientShift 20s ease infinite;transition:all .4s var(--ease-default)}.floating-orbs{position:absolute;width:100%;height:100%;pointer-events:none}.orb{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(0,122,255,calc(.08 + var(--is-dark) * .07)),transparent);filter:blur(1px);transition:all .3s var(--ease-default);will-change:transform}.orb:nth-child(1){width:400px;height:400px;top:10%;left:10%}.orb:nth-child(2){width:300px;height:300px;top:60%;right:15%}.orb:nth-child(3){width:250px;height:250px;bottom:20%;left:20%}.orb:nth-child(4){width:200px;height:200px;top:40%;right:40%}.interactive-bg{position:absolute;width:100%;height:100%;pointer-events:none}.liquid-blob{position:absolute;border-radius:50%;background:radial-gradient(circle,rgba(0,122,255,calc(.06 + var(--is-dark) * .08)),rgba(88,86,214,calc(.04 + var(--is-dark) * .06)),transparent);filter:blur(2px);transition:all .8s var(--ease-smooth);will-change:transform}.liquid-blob:nth-child(1){width:500px;height:500px;top:-10%;left:-10%}.liquid-blob:nth-child(2){width:350px;height:350px;bottom:-5%;right:-5%}.liquid-blob:nth-child(3){width:280px;height:280px;top:50%;left:50%;transform:translate(-50%,-50%)}.mouse-trail{position:fixed;width:4px;height:4px;background:#007aff99;border-radius:50%;pointer-events:none;z-index:100;animation:trailFade 1s ease-out forwards}.cursor-particle{position:fixed;width:8px;height:8px;background:var(--primary);border-radius:50%;pointer-events:none;z-index:9999;opacity:0;animation:particleFade .8s ease-out forwards}.scroll-indicator{position:fixed;top:0;left:0;width:100%;height:3px;background:#007aff1a;z-index:1002;transition:opacity .3s var(--ease-default);pointer-events:none}.scroll-progress{height:100%;background:linear-gradient(90deg,var(--primary),var(--secondary));width:0;transition:width .1s ease-out;border-radius:0 2px 2px 0}.theme-transition{position:fixed;top:0;left:0;width:100%;height:100%;background:radial-gradient(circle at var(--mouse-x, 50%) var(--mouse-y, 50%),var(--surface-secondary) 0%,transparent 50%);z-index:10000;pointer-events:none;opacity:0;transform:scale(0);transition:all .6s var(--ease-default)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;padding:var(--space-4) var(--space-6);background:#f2f2f7cc;backdrop-filter:blur(var(--blur-xl)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(180%);border-bottom:.5px solid rgba(0,0,0,.06);transition:all .4s var(--ease-default);transform:translateY(0)}[data-theme=dark] .navbar{background:#1c1c1ed9;border-bottom:.5px solid rgba(255,255,255,.08)}.navbar.hidden{transform:translateY(-100%)}.navbar.scrolled{background:#f2f2f7f2;backdrop-filter:blur(var(--blur-xl)) saturate(200%);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(200%);border-bottom:.5px solid rgba(0,0,0,.1);box-shadow:var(--shadow-lg);padding:var(--space-3) var(--space-6)}[data-theme=dark] .navbar.scrolled{background:#1c1c1ef2;border-bottom:.5px solid rgba(255,255,255,.12)}.nav-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.logo-container{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;transition:all .3s var(--ease-default)}.logo-container:hover{transform:scale(1.05)}.logo-image{width:40px;height:40px;border-radius:var(--radius-sm);filter:brightness(1.1);transition:all .3s var(--ease-default)}.logo-text{font-size:22px;font-weight:700;color:var(--text-primary);letter-spacing:-.02em}.nav-links-desktop{display:none;gap:var(--space-2);list-style:none}.nav-links-desktop a{padding:var(--space-2) var(--space-4);color:var(--text-primary);text-decoration:none;font-weight:500;font-size:16px;border-radius:var(--radius-md);transition:all .3s var(--ease-default);position:relative;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm))}.nav-links-desktop a:hover{background:#007aff1a;color:var(--primary);transform:translateY(-2px)}.nav-links-desktop a.active{background:#007aff26;color:var(--primary);font-weight:600}.nav-controls{display:flex;align-items:center;gap:var(--space-2)}.theme-toggle{width:44px;height:44px;border:none;background:var(--surface-tertiary);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-default);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));font-size:18px;position:relative;overflow:hidden}.theme-toggle:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--primary);transform:scale(0);transition:transform .3s var(--ease-bounce);border-radius:inherit}.theme-toggle:hover{background:var(--surface-quaternary);transform:scale(1.05);box-shadow:var(--shadow-md)}.theme-toggle:hover:before{transform:scale(1)}.theme-toggle:hover i{color:var(--text-on-color);transform:scale(1.1)}.theme-toggle i{position:relative;z-index:2;transition:all .3s var(--ease-default)}.theme-toggle:active{transform:scale(.95)}.menu-button{position:relative;width:44px;height:44px;border:none;background:var(--surface-tertiary);border-radius:var(--radius-md);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease-default);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm))}.menu-button:hover{background:var(--surface-quaternary);transform:scale(1.05)}.menu-button:active{transform:scale(.95);transition:transform .1s var(--ease-default)}.hamburger{width:20px;height:16px;position:relative}.hamburger span{position:absolute;width:100%;height:2px;background:var(--text-primary);border-radius:1px;transition:all .3s var(--ease-default);left:0}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:7px}.hamburger span:nth-child(3){bottom:0}.menu-button.active .hamburger span:nth-child(1){transform:rotate(45deg);top:7px}.menu-button.active .hamburger span:nth-child(2){opacity:0;transform:translate(20px)}.menu-button.active .hamburger span:nth-child(3){transform:rotate(-45deg);bottom:7px}.mobile-nav{position:fixed;top:0;right:0;width:100vw;height:100vh;background:var(--surface-secondary);backdrop-filter:blur(var(--blur-xl)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-xl)) saturate(180%);transform:translate(100%);transition:transform .5s var(--ease-smooth);z-index:999;display:flex;flex-direction:column;box-shadow:var(--shadow-2xl)}.mobile-nav.active{transform:translate(0)}.mobile-nav-header{padding:var(--space-4) var(--space-6);background:var(--surface-primary);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border-bottom:.5px solid var(--surface-tertiary);display:flex;align-items:center;justify-content:space-between;min-height:80px}.mobile-nav-close{width:36px;height:36px;border:none;background:var(--surface-tertiary);border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-default);color:var(--text-primary)}.mobile-nav-close:hover{background:var(--surface-quaternary);transform:scale(1.1) rotate(90deg)}.mobile-nav-content{flex:1;display:flex;flex-direction:column;justify-content:center;padding:var(--space-8) var(--space-6)}.mobile-nav-links{list-style:none;text-align:center}.mobile-nav-links li{margin-bottom:var(--space-6)}.mobile-nav-links a{display:block;padding:var(--space-5) var(--space-6);color:var(--text-primary);text-decoration:none;font-weight:600;font-size:24px;border-radius:var(--radius-2xl);transition:all .4s var(--ease-default);background:transparent;position:relative;overflow:hidden}.mobile-nav-links a:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--primary),var(--secondary));transform:scaleX(0);transition:transform .3s var(--ease-default);border-radius:inherit}.mobile-nav-links a span{position:relative;z-index:2}.mobile-nav-links a:hover:before,.mobile-nav-links a:active:before{transform:scaleX(1)}.mobile-nav-links a:hover,.mobile-nav-links a:active{color:var(--text-on-color);transform:scale(1.05)}@media (max-width: 767px){.navbar{padding:var(--space-4) var(--space-5)}.logo-image{width:32px;height:32px}.logo-text{font-size:18px}.theme-toggle{width:40px;height:40px}}@media (max-width: 480px){.navbar{padding:var(--space-3) var(--space-4)}}.menu-button:focus,.mobile-nav-close:focus,.nav-links-desktop a:focus,.mobile-nav-links a:focus,.theme-toggle:focus{outline:2px solid var(--primary);outline-offset:2px}.hero{min-height:100vh;display:flex;align-items:center;justify-content:center;text-align:center;position:relative;padding:var(--space-20) var(--space-6)}.hero-content{max-width:800px;animation:heroFadeIn 1.2s var(--ease-smooth) .3s both}.hero-title{font-size:clamp(48px,8vw,80px);font-weight:800;line-height:1.1;letter-spacing:-.04em;margin-bottom:var(--space-6);background:linear-gradient(135deg,var(--primary),var(--secondary),var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative;animation:titleGlow 3s ease-in-out infinite alternate;min-height:1.2em}.hero-subtitle{font-size:clamp(18px,3vw,24px);color:var(--text-secondary);margin-bottom:var(--space-10);font-weight:400;line-height:1.5;max-width:600px;margin-left:auto;margin-right:auto;animation:slideUp .8s var(--ease-default) .6s both}.btn-primary{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);background:var(--primary);color:var(--text-on-color);text-decoration:none;border-radius:var(--radius-2xl);font-weight:600;font-size:17px;transition:all .3s var(--ease-default);border:none;cursor:pointer;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;animation:buttonFloat .8s var(--ease-default) .9s both}.btn-primary:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-100%);transition:transform .6s var(--ease-default)}.btn-primary:hover{background:var(--primary-dark);transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-2xl)}.btn-primary:hover:before{transform:translate(100%)}.btn-primary:active{transform:translateY(-2px) scale(1.02);transition:transform .1s var(--ease-default)}.btn-primary:focus{outline:2px solid var(--primary);outline-offset:2px}.touch-device .btn-primary:hover{transform:none}.touch-device .btn-primary:active{transform:scale(.95);transition:transform .1s var(--ease-default)}.floating-elements{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:1}.floating-logo{position:absolute;opacity:.15;transition:all .3s var(--ease-default);filter:blur(.5px);will-change:transform}.floating-logo img{width:60px;height:60px;border-radius:var(--radius-md);filter:brightness(1.3)}.floating-logo:nth-child(1){top:15%;left:8%}.floating-logo:nth-child(2){top:65%;right:12%}.floating-logo:nth-child(3){bottom:20%;left:15%}.confetti{position:fixed;width:10px;height:10px;background:var(--primary);pointer-events:none;z-index:10000;animation:confettiFall 3s ease-out forwards}@media (max-width: 768px){.hero{padding:var(--space-16) var(--space-5);min-height:90vh}.hero-title{font-size:clamp(36px,10vw,64px)}.hero-subtitle{font-size:clamp(16px,4vw,20px);margin-bottom:var(--space-8)}.btn-primary{width:100%;justify-content:center;padding:var(--space-5) var(--space-6)}}@media (max-width: 480px){.hero{padding:var(--space-12) var(--space-4)}}.tech-quote-banner{position:relative;max-width:1200px;width:100%;margin:0 auto;background:var(--surface-secondary);backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));border-radius:var(--radius-xl);padding:var(--space-6) var(--space-8);box-shadow:var(--shadow-lg);display:flex;align-items:center;gap:var(--space-4);border:1px solid rgba(0,122,255,.2)}.quote-content{flex:1;display:flex;flex-direction:column;gap:var(--space-2)}.quote-icon{color:var(--primary);font-size:16px;opacity:.6}.quote-text{color:var(--text-primary);font-size:14px;font-style:italic;line-height:1.6;margin:0}.quote-author{color:var(--text-secondary);font-size:12px;font-weight:600}.quote-refresh{background:var(--primary);color:#fff;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s var(--ease-default);flex-shrink:0}.quote-refresh:hover{transform:rotate(180deg) scale(1.1);box-shadow:var(--shadow-md)}.quote-refresh:active{transform:rotate(180deg) scale(.95)}@media (max-width: 768px){.tech-quote-banner{padding:var(--space-5);flex-wrap:wrap}.quote-text{font-size:13px}.quote-refresh{width:32px;height:32px;align-self:center}}.skills{padding:var(--space-24) var(--space-6);max-width:1200px;margin:0 auto}.section-title{text-align:center;font-size:clamp(36px,6vw,56px);font-weight:800;margin-bottom:var(--space-16);background:linear-gradient(135deg,var(--primary),var(--secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.03em;line-height:1.2}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-8);margin-top:var(--space-12)}.skill-card{background:var(--surface-secondary);backdrop-filter:blur(var(--blur-lg)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);padding:var(--space-8);border-radius:var(--radius-2xl);border:.5px solid var(--surface-tertiary);position:relative;overflow:hidden;cursor:pointer;box-shadow:var(--shadow-sm);transform-style:preserve-3d;perspective:1000px;opacity:0;transform:translateY(40px) scale(.95);transition:all .6s var(--ease-default)}.skill-card:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#007aff0d,#5856d608);opacity:0;transition:opacity .3s var(--ease-default)}.skill-card:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(115deg,transparent 0%,rgba(255,255,255,.1) 50%,transparent 100%);transform:translate(-100%);transition:transform .6s var(--ease-default)}.skill-card:hover:after{transform:translate(100%)}.skill-card:hover{box-shadow:var(--shadow-2xl);border-color:#007aff4d}.skill-card:hover:before{opacity:1}.skill-icon{width:64px;height:64px;margin-bottom:var(--space-6);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#007aff1a,#5856d614);border-radius:var(--radius-xl);transition:all .4s var(--ease-bounce);position:relative;overflow:hidden;box-shadow:var(--shadow-sm)}.skill-icon:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.15),transparent);transform:translate(-100%);transition:transform .6s var(--ease-default)}.skill-card:hover .skill-icon:after{transform:translate(100%)}.skill-icon i,.skill-icon svg{font-size:28px;transition:all .3s var(--ease-default);position:relative;z-index:2}.skill-card:hover .skill-icon{transform:scale(1.15) rotate(8deg);box-shadow:var(--shadow-xl)}.skill-title{font-size:20px;font-weight:700;margin-bottom:var(--space-3);color:var(--text-primary);letter-spacing:-.01em;transition:all .3s var(--ease-default)}.skill-description{color:var(--text-secondary);font-size:15px;line-height:1.6;font-weight:400}.tech-stack{margin-top:var(--space-16);text-align:center}.tech-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:var(--space-6);max-width:600px;margin:var(--space-8) auto 0}.tech-item{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-5);background:var(--surface-secondary);border-radius:var(--radius-lg);transition:all .4s var(--ease-default);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));border:.5px solid var(--surface-tertiary);cursor:pointer;position:relative;overflow:hidden}.tech-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#007aff0d,#5856d608);opacity:0;transition:opacity .3s var(--ease-default)}.tech-item:hover{transform:translateY(-8px) scale(1.1);box-shadow:var(--shadow-lg);border-color:#007aff33}.tech-item:hover:before{opacity:1}.tech-icon{font-size:32px;transition:all .3s var(--ease-bounce);position:relative;z-index:2}.tech-item:hover .tech-icon{transform:scale(1.2) rotate(15deg)}.tech-name{font-size:13px;font-weight:500;color:var(--text-secondary);position:relative;z-index:2;transition:all .3s var(--ease-default)}.tech-item:hover .tech-name{color:var(--text-primary);font-weight:600}.touch-device .skill-card:hover,.touch-device .tech-item:hover{transform:none}@media (max-width: 767px){.skills{padding:var(--space-16) var(--space-5)}.skills-grid{grid-template-columns:1fr;gap:var(--space-6)}.skill-card{padding:var(--space-6)}.tech-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}}@media (max-width: 480px){.skills{padding:var(--space-12) var(--space-4)}.tech-grid{grid-template-columns:repeat(2,1fr)}.section-title{font-size:clamp(28px,8vw,44px);margin-bottom:var(--space-12)}.skills-grid{grid-template-columns:1fr;gap:var(--space-5)}}.about{padding:var(--space-24) var(--space-6);max-width:1200px;margin:0 auto}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center}.about-description{color:var(--text-secondary);font-size:18px;line-height:1.7;margin-bottom:var(--space-8)}.timeline{position:relative;padding:var(--space-8) 0}.timeline:before{content:"";position:absolute;left:var(--space-5);top:0;bottom:0;width:2px;background:linear-gradient(to bottom,var(--primary),var(--secondary));border-radius:1px}.timeline-item{position:relative;margin-bottom:var(--space-6);padding-left:var(--space-12);opacity:0;transform:translate(-30px);transition:all .6s var(--ease-default)}.timeline-item:before{content:"";position:absolute;left:var(--space-4);top:var(--space-2);width:12px;height:12px;background:var(--primary);border-radius:50%;box-shadow:0 0 0 4px #007aff33;transition:all .3s var(--ease-default)}.timeline-item:hover:before{transform:scale(1.2);box-shadow:0 0 0 6px #007aff4d}.timeline-content{background:var(--surface-secondary);padding:var(--space-5);border-radius:var(--radius-lg);backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));border:.5px solid var(--surface-tertiary);transition:all .3s var(--ease-default);box-shadow:var(--shadow-xs)}.timeline-content:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.timeline-year{color:var(--primary);font-weight:600;font-size:14px;margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.timeline-description{color:var(--text-primary);font-size:15px;line-height:1.5}.profile-card{background:var(--surface-secondary);backdrop-filter:blur(var(--blur-lg)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);border-radius:var(--radius-3xl);padding:var(--space-10);border:.5px solid var(--surface-tertiary);text-align:center;transition:all .4s var(--ease-default);box-shadow:var(--shadow-md);animation:slideInRight .8s var(--ease-default);position:relative;overflow:hidden}.profile-card:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(0,122,255,.05),transparent 70%);opacity:0;transition:opacity .4s var(--ease-default);animation:rotate 20s linear infinite}.profile-card:hover:before{opacity:1}.profile-card:hover{transform:translateY(-8px) scale(1.02);box-shadow:var(--shadow-2xl)}.profile-image{width:120px;height:120px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--secondary));margin:0 auto var(--space-6);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);position:relative;overflow:hidden;z-index:2;transition:all .3s var(--ease-default)}.profile-image:hover{transform:scale(1.1) rotate(5deg);box-shadow:var(--shadow-xl)}.profile-image img{width:210px;height:210px;object-fit:contain;filter:brightness(1.2);transition:all .3s var(--ease-default)}.profile-name{font-size:24px;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2);position:relative;z-index:2}.profile-role{color:var(--text-secondary);font-size:16px;margin-bottom:var(--space-6);position:relative;z-index:2}.social-links{display:flex;justify-content:center;gap:var(--space-4);position:relative;z-index:2}.social-link{width:44px;height:44px;background:var(--surface-tertiary);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);text-decoration:none;transition:all .3s var(--ease-default);backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));position:relative;overflow:hidden}.social-link:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary);transform:scale(0);transition:transform .3s var(--ease-bounce);border-radius:inherit}.social-link i{position:relative;z-index:2;transition:all .3s var(--ease-default)}.social-link:hover:before{transform:scale(1)}.social-link:hover{color:var(--text-on-color);transform:translateY(-3px) scale(1.1);box-shadow:var(--shadow-lg)}.publications{padding:var(--space-24) var(--space-6);max-width:1000px;margin:0 auto}.publications-list{display:flex;flex-direction:column;gap:var(--space-6);position:relative}.publication-card{background:var(--surface-secondary);backdrop-filter:blur(var(--blur-lg)) saturate(180%);-webkit-backdrop-filter:blur(var(--blur-lg)) saturate(180%);border-radius:var(--radius-2xl);padding:var(--space-8);border:.5px solid var(--surface-tertiary);transition:all .4s var(--ease-default);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:var(--space-3);position:relative;overflow:hidden}.publication-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:#007aff4d}.publication-card:before{content:"";position:absolute;top:0;left:0;width:4px;height:100%;background:linear-gradient(to bottom,var(--primary),var(--secondary));opacity:0;transition:opacity .3s var(--ease-default)}.publication-card:hover:before{opacity:1}.publication-title{font-size:20px;font-weight:700;color:var(--text-primary);line-height:1.4}.publication-authors{color:var(--text-secondary);font-size:15px}.publication-venue{font-style:auto;color:var(--text-secondary);font-size:14px;margin-top:var(--space-1);display:flex;gap:var(--space-3);align-items:center}.publication-venue span.venue-name{font-style:italic}.publication-footer{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--surface-tertiary)}.publication-metrics{display:flex;align-items:center;gap:var(--space-4);color:var(--text-tertiary);font-size:14px;font-weight:500}.publication-link{display:inline-flex;align-items:center;gap:var(--space-2);color:var(--primary);font-size:14px;font-weight:600;text-decoration:none;transition:all .2s var(--ease-default)}.publication-link:hover{color:var(--primary-dark);gap:var(--space-3)}.github-activity{padding:var(--space-24) var(--space-6);background:var(--surface-primary);position:relative}.github-content{max-width:1000px;margin:0 auto}.github-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);margin-bottom:var(--space-10)}.stat-card{background:var(--surface-secondary);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:var(--shadow-md);transition:all .3s var(--ease-default);display:flex;align-items:center;justify-content:center;overflow:hidden}.stat-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.stat-card img{width:100%;height:auto;display:block}.contribution-graph{margin:var(--space-10) 0;padding:var(--space-6);background:var(--surface-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.github-streak{display:flex;justify-content:center;margin:var(--space-10) 0;padding:var(--space-4);background:var(--surface-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.github-streak img{max-width:100%;height:auto}.commits-feed{margin:var(--space-10) 0;padding:var(--space-6);background:var(--surface-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.commits-list{display:flex;flex-direction:column;gap:var(--space-3)}.commit-item{padding:var(--space-4);background:var(--surface-primary);border-radius:var(--radius-md);border-left:3px solid var(--primary);transition:all .3s var(--ease-default);cursor:pointer}.commit-item:hover{transform:translate(4px);box-shadow:var(--shadow-sm);background:var(--surface-tertiary)}.commit-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.commit-repo{font-weight:600;color:var(--primary);font-size:14px}.commit-time{font-size:12px;color:var(--text-secondary);margin-left:auto}.commit-message{color:var(--text-primary);font-size:14px;line-height:1.5;margin-bottom:var(--space-2)}.commit-meta{display:flex;align-items:center;gap:var(--space-4);font-size:12px;color:var(--text-secondary)}.commit-sha{font-family:var(--font-mono);background:var(--surface-quaternary);padding:2px 6px;border-radius:var(--radius-xs)}[data-theme=dark] .stat-card img,[data-theme=dark] .github-streak img{filter:brightness(.9) contrast(1.1)}@media (max-width: 768px){.github-stats{grid-template-columns:1fr}.contribution-graph img{width:100%;overflow-x:auto}}.contact{padding:var(--space-24) var(--space-6);text-align:center;background:linear-gradient(135deg,#007aff08,#5856d605,#32d74b03);position:relative;overflow:hidden}.contact:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 50% 50%,rgba(0,122,255,.08),transparent 70%);opacity:.5;animation:pulse 4s ease-in-out infinite}.contact-content{max-width:600px;margin:0 auto;position:relative;z-index:2}.email-container{display:inline-flex;align-items:center;gap:var(--space-3);margin-top:var(--space-8)}.contact-email{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-5) var(--space-8);background:var(--primary);color:var(--text-on-color);text-decoration:none;border-radius:var(--radius-2xl);font-weight:600;font-size:18px;font-family:var(--font-mono);transition:all .3s var(--ease-default);box-shadow:var(--shadow-lg);position:relative;overflow:hidden}.contact-email:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,transparent,rgba(255,255,255,.15),transparent);transform:translate(-100%);transition:transform .6s var(--ease-default)}.contact-email:hover{background:var(--primary-dark);transform:translateY(-4px) scale(1.05);box-shadow:var(--shadow-2xl)}.contact-email:hover:before{transform:translate(100%)}.contact-email:active{transform:translateY(-2px) scale(1.02)}.copy-email-btn{width:56px;height:56px;background:var(--surface-secondary);border:2px solid var(--primary);color:var(--primary);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s var(--ease-default);font-size:18px;box-shadow:var(--shadow-md)}.copy-email-btn:hover{background:var(--primary);color:#fff;transform:scale(1.1) rotate(15deg);box-shadow:var(--shadow-lg)}.copy-email-btn:active{transform:scale(.95) rotate(0)}.toast{position:fixed;bottom:var(--space-8);right:var(--space-8);background:var(--surface-secondary);color:var(--text-primary);padding:var(--space-4) var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);display:flex;align-items:center;gap:var(--space-3);z-index:10001;transform:translate(400px);transition:transform .3s var(--ease-default);border-left:4px solid var(--primary)}.toast-icon{color:var(--primary);font-size:20px}.toast-message{font-weight:500}.loading-spinner{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border:3px solid var(--surface-tertiary);border-top:3px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite;z-index:10001;opacity:0;transition:opacity .3s var(--ease-default)}.loading-commits{text-align:center;padding:var(--space-8)}.contact-email:focus{outline:2px solid var(--primary);outline-offset:2px}.touch-device .contact-email:active{transform:scale(.95);transition:transform .1s var(--ease-default)}@media (max-width: 768px){.email-container{flex-direction:column;width:100%}.contact-email{width:100%;justify-content:center;font-size:16px;padding:var(--space-4) var(--space-6)}}@media (max-width: 767px){.btn-primary,.contact-email{width:100%;justify-content:center;padding:var(--space-5) var(--space-6)}.contact{padding:var(--space-16) var(--space-5)}}@media (max-width: 480px){.skills,.about,.contact{padding:var(--space-12) var(--space-4)}}.hero-content{animation:heroFadeIn 1.2s var(--ease-smooth) .3s both}.hero-title{animation:titleGlow 3s ease-in-out infinite alternate}.typing-cursor{animation:blink 1s step-end infinite;color:var(--primary);margin-left:2px}.hero-subtitle{animation:slideUp .8s var(--ease-default) .6s both}.btn-primary{animation:buttonFloat .8s var(--ease-default) .9s both}.fade-in{opacity:0;transform:translateY(30px);transition:all .8s var(--ease-default)}.fade-in.visible{opacity:1;transform:translateY(0)}.skill-card{opacity:0;transform:translateY(40px) scale(.95);transition:all .6s var(--ease-default)}.skill-card.animate-in{opacity:1;transform:translateY(0) scale(1)}.timeline-item{opacity:0;transform:translate(-30px);transition:all .6s var(--ease-default)}.timeline-item.visible{opacity:1;transform:translate(0)}.about-text{animation:slideInLeft .8s var(--ease-default)}.profile-card{animation:slideInRight .8s var(--ease-default)}.profile-card:before{opacity:0;transition:opacity .4s var(--ease-default);animation:rotate 20s linear infinite}.copy-email-btn.copied{background:var(--accent);border-color:var(--accent);color:#fff;animation:copySuccess .6s var(--ease-bounce)}.toast{transform:translate(400px);transition:transform .3s var(--ease-default)}.toast.show{transform:translate(0)}.loading-spinner{animation:spin 1s linear infinite;opacity:0;transition:opacity .3s var(--ease-default)}.loading-spinner.visible{opacity:1}.theme-transition{opacity:0;transform:scale(0);transition:all .6s var(--ease-default)}.theme-transition.active{opacity:1;transform:scale(3)}.mouse-trail{animation:trailFade 1s ease-out forwards}.cursor-particle{opacity:0;animation:particleFade .8s ease-out forwards}.confetti{animation:confettiFall 3s ease-out forwards}.floating-logo{transition:all .3s var(--ease-default)}.contact:before{animation:pulse 4s ease-in-out infinite}@media (max-width: 768px){.github-stats{grid-template-columns:1fr}.contribution-graph img{width:100%;overflow-x:auto}.tech-quote-banner{padding:var(--space-5) var(--space-5);flex-direction:row;flex-wrap:wrap}.quote-text{font-size:13px}.quote-refresh{width:32px;height:32px;align-self:center}.email-container{flex-direction:column;width:100%}.contact-email{width:100%;justify-content:center;font-size:16px;padding:var(--space-4) var(--space-6)}}@media (max-width: 767px){.navbar{padding:var(--space-4) var(--space-5)}.logo-image{width:32px;height:32px}.logo-text{font-size:18px}.hero{padding:var(--space-16) var(--space-5);min-height:90vh}.hero-title{font-size:clamp(36px,10vw,64px)}.hero-subtitle{font-size:clamp(16px,4vw,20px);margin-bottom:var(--space-8)}.btn-primary,.contact-email{width:100%;justify-content:center;padding:var(--space-5) var(--space-6)}.skills{padding:var(--space-16) var(--space-5)}.skills-grid{grid-template-columns:1fr;gap:var(--space-6)}.skill-card{padding:var(--space-6)}.about{padding:var(--space-16) var(--space-5)}.about-grid{grid-template-columns:1fr;gap:var(--space-12)}.profile-card{order:-1;padding:var(--space-8)}.tech-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.contact{padding:var(--space-16) var(--space-5)}.timeline:before{left:var(--space-3)}.timeline-item{padding-left:var(--space-8)}.timeline-item:before{left:calc(var(--space-3) - 6px)}.mobile-nav{width:100vw}.theme-toggle{width:40px;height:40px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.menu-button:focus,.mobile-nav-close:focus,.nav-links-desktop a:focus,.mobile-nav-links a:focus,.btn-primary:focus,.contact-email:focus,.social-link:focus,.theme-toggle:focus{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-contrast: high){:root{--primary: #0066cc;--text-secondary: rgba(60, 60, 67, .8);--surface-tertiary: rgba(118, 118, 128, .2)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.touch-device .skill-card:hover,.touch-device .tech-item:hover,.touch-device .btn-primary:hover{transform:none}.touch-device .skill-card:active,.touch-device .tech-item:active{transform:scale(.98);transition:transform .1s var(--ease-default)}.touch-device .btn-primary:active,.touch-device .contact-email:active{transform:scale(.95);transition:transform .1s var(--ease-default)}@media (min-width: 768px){.nav-links-desktop{display:flex}.menu-button{display:none}}@media (max-width: 767px){.navbar{padding:var(--space-4) var(--space-5)}.logo-image{width:32px;height:32px}.logo-text{font-size:18px}.hero{padding:var(--space-16) var(--space-5);min-height:90vh}.hero-title{font-size:clamp(36px,10vw,64px)}.hero-subtitle{font-size:clamp(16px,4vw,20px);margin-bottom:var(--space-8)}.btn-primary,.contact-email{width:100%;justify-content:center;padding:var(--space-5) var(--space-6)}.skills{padding:var(--space-16) var(--space-5)}.skills-grid{grid-template-columns:1fr;gap:var(--space-6)}.skill-card{padding:var(--space-6)}.about{padding:var(--space-16) var(--space-5)}.about-grid{grid-template-columns:1fr;gap:var(--space-12)}.profile-card{order:-1;padding:var(--space-8)}.tech-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-4)}.contact{padding:var(--space-16) var(--space-5)}.timeline:before{left:var(--space-3)}.timeline-item{padding-left:var(--space-8)}.timeline-item:before{left:calc(var(--space-3) - 6px)}.mobile-nav{width:100vw}.theme-toggle{width:40px;height:40px}.github-stats{grid-template-columns:1fr}.contribution-graph img{width:100%;overflow-x:auto}.tech-quote-banner{padding:var(--space-5);flex-direction:row;flex-wrap:wrap}.quote-text{font-size:13px}.quote-refresh{width:32px;height:32px;align-self:center}.email-container{flex-direction:column;width:100%}.contact-email{width:100%;justify-content:center;font-size:16px;padding:var(--space-4) var(--space-6)}}@media (max-width: 480px){.navbar{padding:var(--space-3) var(--space-4)}.hero,.skills,.about,.contact{padding:var(--space-12) var(--space-4)}.tech-grid{grid-template-columns:repeat(2,1fr)}.section-title{font-size:clamp(28px,8vw,44px);margin-bottom:var(--space-12)}.skills-grid{grid-template-columns:1fr;gap:var(--space-5)}}
