:root{--color-bg-primary:#0d1117;--color-bg-surface:#1a1f2e;--color-bg-surface-hover:#252d3d;--color-accent-cyan:#00d9ff;--color-accent-cyan-hover:#00b8d4;--color-accent-amber:orange;--color-accent-purple:#6f42c1;--color-accent-danger:#dc3545;--color-accent-success:#28a745;--color-text-primary:#fff;--color-text-secondary:#a8a8a8;--color-text-tertiary:#6c757d;--color-border:#495057;--color-bg-light:#e9ecef;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--font-code:"JetBrains Mono","Fira Code",monospace;--spacing-xs:8px;--spacing-sm:16px;--spacing-md:24px;--spacing-lg:32px;--spacing-xl:48px;--spacing-2xl:64px;--spacing-3xl:80px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-full:20px;--shadow-sm:0 2px 8px #0000001a;--shadow-md:0 4px 12px #00000026;--shadow-lg:0 8px 24px #00d9ff33;--shadow-glow:0 0 20px #00d9ff66;--transition-fast:.15s ease;--transition-normal:.2s ease;--transition-slow:.3s ease}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--color-bg-primary);color:var(--color-text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;-webkit-text-size-adjust:100%;line-height:1.6;position:relative;overflow-x:hidden}.section{position:relative}.section:before{content:"";opacity:0;background:linear-gradient(90deg,#0000,#00d9ff4d,#0000);height:1px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.section:hover:before{opacity:1}h1,h2,h3,h4,h5,h6{letter-spacing:-.5px;color:var(--color-text-primary);font-weight:700;line-height:1.3}h1{font-size:64px}h2{font-size:48px}h3{font-size:32px}h4{font-size:24px}p{color:var(--color-text-secondary);font-size:16px;line-height:1.6}a{color:var(--color-accent-cyan);transition:var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-cyan-hover)}.btn{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm)var(--spacing-lg);border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);font-size:16px;font-weight:600;font-family:var(--font-primary);border:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:hover:before{width:300px;height:300px}.btn-primary{background-color:var(--color-accent-cyan);color:var(--color-bg-primary);font-weight:600;box-shadow:0 4px 15px #00d9ff4d}.btn-primary:hover{background-color:var(--color-accent-cyan-hover);box-shadow:var(--shadow-glow),0 6px 20px #00d9ff66;transform:translateY(-2px)}.btn-primary:active{transform:scale(.98)translateY(0)}.btn-primary:focus-visible{outline:3px solid var(--color-accent-cyan);outline-offset:3px;box-shadow:0 4px 15px #00d9ff4d,0 0 0 3px #00d9ff4d}.btn-secondary{border:2px solid var(--color-accent-cyan);color:var(--color-accent-cyan);background-color:#0000;position:relative}.btn-secondary:after{content:"";z-index:-1;background:#00d9ff1a;width:100%;height:100%;transition:left .3s;position:absolute;top:0;left:-100%}.btn-secondary:hover:after{left:0}.btn-secondary:hover{background-color:#00d9ff1a;transform:translateY(-2px);box-shadow:0 0 20px #00d9ff66,inset 0 0 20px #00d9ff1a}.btn-secondary:focus-visible{outline:3px solid var(--color-accent-cyan);outline-offset:3px;box-shadow:0 0 20px #00d9ff66,0 0 0 3px #00d9ff4d}.btn-tertiary{color:var(--color-accent-cyan);padding:var(--spacing-xs)0;background-color:#0000;border:none}.btn-tertiary:hover{color:var(--color-accent-amber);text-decoration:underline;text-decoration-thickness:2px}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg);transition:all var(--transition-normal);position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.card:before{content:"";background:linear-gradient(90deg,#0000,#00d9ff14,#0000);width:100%;height:100%;transition:left .6s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:-100%}.card:hover:before{left:100%}.card:hover{border-color:#00d9ff80;transform:translateY(-6px);box-shadow:0 8px 24px #0003,0 0 40px #00d9ff26,inset 0 1px #ffffff0d}.card:focus-within{outline:2px solid var(--color-accent-cyan);outline-offset:2px}.input{background-color:var(--color-bg-surface);border:1px solid var(--color-border);width:100%;padding:14px var(--spacing-md);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:16px;font-family:var(--font-primary);transition:all var(--transition-normal);line-height:1.5}.input:hover{background-color:var(--color-bg-surface-hover);border-color:#00d9ff80}.input:focus{border:2px solid var(--color-accent-cyan);background-color:var(--color-bg-surface-hover);outline:none;box-shadow:0 0 0 4px #00d9ff1a,0 0 20px #00d9ff33}.input:focus-visible{outline:2px solid var(--color-accent-cyan);outline-offset:2px}.input::placeholder{color:var(--color-text-tertiary);opacity:.7}.input:disabled{opacity:.5;cursor:not-allowed;background-color:var(--color-bg-surface)}.badge{border-radius:var(--radius-full);background-color:var(--color-bg-surface-hover);border:1px solid var(--color-border);color:var(--color-text-secondary);transition:var(--transition-fast);align-items:center;padding:6px 12px;font-size:12px;font-weight:600;display:inline-flex}.badge:hover{background-color:var(--color-accent-cyan);color:var(--color-bg-primary);border-color:var(--color-accent-cyan)}.container{max-width:1200px;padding:0 var(--spacing-xl);margin:0 auto}.section{padding:var(--spacing-3xl)0;position:relative;overflow:hidden}.section:after{content:"";background:radial-gradient(circle at var(--section-x,20%)var(--section-y,30%),#00d9ff0d 0%,transparent 50%),radial-gradient(circle at var(--section-x-2,80%)var(--section-y-2,70%),#6f42c10d 0%,transparent 50%);z-index:0;pointer-events:none;opacity:0;transition:opacity .6s;position:absolute;inset:0}.section:hover:after{opacity:1}.section>.container{z-index:1;position:relative}.section-title{margin-bottom:var(--spacing-xl);letter-spacing:-1px;font-size:clamp(32px,5vw,48px);line-height:1.2;display:inline-block;position:relative}.section-title:after{content:"";background:linear-gradient(90deg,var(--color-accent-cyan),var(--color-accent-purple),var(--color-accent-amber));border-radius:2px;width:80px;height:4px;animation:.8s ease-out forwards expandLine;position:absolute;bottom:-12px;left:0;box-shadow:0 2px 8px #00d9ff66}@keyframes expandLine{0%{opacity:0;width:0}to{opacity:1;width:80px}}.section-underline{width:100%;height:1px;margin-top:var(--spacing-md);background:linear-gradient(90deg,#0000,#00d9ff33,#6f42c133,#00d9ff33,#0000);animation:1s ease-out forwards fadeIn;display:block}html{scroll-behavior:smooth;scroll-padding-top:80px}:focus-visible{outline:2px solid var(--color-accent-cyan);outline-offset:2px;border-radius:var(--radius-sm)}.skip-to-main{background:var(--color-accent-cyan);color:var(--color-bg-primary);padding:var(--spacing-sm)var(--spacing-md);z-index:10000;border-radius:0 0 var(--radius-md)0;font-weight:600;text-decoration:none;position:absolute;top:-100px;left:0}.skip-to-main:focus{top:0}@media (max-width:768px){h1{font-size:clamp(32px,8vw,40px)}h2{font-size:clamp(28px,6vw,32px)}h3{font-size:clamp(22px,5vw,24px)}h4{font-size:clamp(18px,4vw,20px)}p{font-size:15px;line-height:1.7}.container{padding:0 var(--spacing-md)}.section{padding:var(--spacing-2xl)0}.section-title{margin-bottom:var(--spacing-lg)}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.mt-sm{margin-top:var(--spacing-sm)}.mt-md{margin-top:var(--spacing-md)}.mt-lg{margin-top:var(--spacing-lg)}.mb-sm{margin-bottom:var(--spacing-sm)}.mb-md{margin-bottom:var(--spacing-md)}.mb-lg{margin-bottom:var(--spacing-lg)}.loading{opacity:.6;pointer-events:none;position:relative}.loading:after{content:"";border:2px solid var(--color-accent-cyan);border-top-color:#0000;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%}@keyframes spin{to{transform:rotate(360deg)}}a,button,input,textarea,select{transition:all var(--transition-fast)}a:not(.btn):focus-visible{outline:2px solid var(--color-accent-cyan);outline-offset:2px;border-radius:var(--radius-sm)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@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 blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes glow{0%,to{box-shadow:0 0 20px #00d9ff4d,0 0 40px #00d9ff1a}50%{box-shadow:0 0 30px #00d9ff80,0 0 60px #00d9ff33}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes gradientShift{0%,to{background-position:0%}50%{background-position:100%}}@keyframes float{0%,to{transform:translate(0)scale(1)}25%{transform:translate(50px,-50px)scale(1.1)}50%{transform:translate(-30px,30px)scale(.9)}75%{transform:translate(30px,50px)scale(1.05)}}@keyframes pulse{0%,to{box-shadow:0 0 0 4px var(--color-bg-primary),0 0 20px #ffa50080}50%{box-shadow:0 0 0 4px var(--color-bg-primary),0 0 30px #ffa500cc}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes slideUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}@keyframes wave{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes sparkle{0%,to{opacity:0;transform:scale(0)}50%{opacity:1;transform:scale(1)}}@keyframes morph{0%,to{border-radius:60% 40% 30% 70%/60% 30% 70% 40%}50%{border-radius:30% 60% 70% 40%/50% 60% 30%}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}@keyframes zoomIn{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}@keyframes rotateIn{0%{opacity:0;transform:rotate(-180deg)scale(.5)}to{opacity:1;transform:rotate(0)scale(1)}}.fade-in-up{animation:.6s ease-out forwards fadeInUp}.fade-in{animation:.6s ease-out forwards fadeIn}.slide-in-left{animation:.6s ease-out forwards slideInLeft}.slide-in-right{animation:.6s ease-out forwards slideInRight}.glow{animation:2s ease-in-out infinite glow}.shimmer{background:linear-gradient(90deg,#0000,#ffffff1a,#0000) 0 0/200% 100%;animation:2s infinite shimmer}.float{animation:6s ease-in-out infinite float}.pulse{animation:2s ease-in-out infinite pulse}.bounce{animation:1s ease-in-out infinite bounce}.wave{animation:2s ease-in-out infinite wave}.project-card{opacity:0;animation:.6s ease-out forwards fadeInUp}.project-card:first-child{animation-delay:0s}.project-card:nth-child(2){animation-delay:.1s}.project-card:nth-child(3){animation-delay:.2s}.project-card:nth-child(4){animation-delay:.3s}.project-card:nth-child(5){animation-delay:.4s}.project-card:nth-child(6){animation-delay:.5s}.code-cursor{animation:1s infinite blink}.hover-glow:hover{animation:1s ease-in-out infinite glow}.hover-lift{transition:transform .3s,box-shadow .3s}.hover-lift:hover{transform:translateY(-5px);box-shadow:0 10px 30px #00d9ff4d}.hover-scale{transition:transform .3s}.hover-scale:hover{transform:scale(1.05)}.scroll-reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(50px)}.scroll-reveal.revealed{opacity:1;transform:translateY(0)}@media (max-width:480px){.container{padding:0 var(--spacing-md)}}@media (min-width:481px) and (max-width:1023px){.container{padding:0 var(--spacing-lg)}}@media (min-width:1024px){.container{padding:0 var(--spacing-xl)}}@media (min-width:1400px){.container{max-width:1400px}}.navbar{z-index:1000;-webkit-backdrop-filter:blur(20px);transition:all var(--transition-normal);padding:var(--spacing-sm)0;background-color:#0d1117cc;border-bottom:1px solid #4950574d;position:fixed;top:0;left:0;right:0}.navbar-scrolled{background-color:#0d1117f2;border-bottom-color:#00d9ff33;box-shadow:0 4px 20px #0000004d,0 0 1px #00d9ff1a}.nav-container{max-width:1200px;padding:0 var(--spacing-xl);justify-content:space-between;align-items:center;margin:0 auto;display:flex}.nav-logo{color:var(--color-text-primary);transition:var(--transition-fast);font-size:24px;font-weight:700}.nav-logo:hover{color:var(--color-accent-cyan)}.nav-links{gap:var(--spacing-lg);align-items:center;display:flex}.nav-links a{color:var(--color-text-secondary);padding:var(--spacing-xs)var(--spacing-sm);transition:all var(--transition-fast);border-radius:var(--radius-sm);font-size:15px;font-weight:500;position:relative}.nav-links a:hover{color:var(--color-accent-cyan);background-color:#00d9ff1a}.nav-links a.active{color:var(--color-accent-cyan);background-color:#00d9ff26}.nav-links a:after{content:"";background:linear-gradient(90deg,var(--color-accent-cyan),var(--color-accent-purple));width:0;height:2px;transition:width var(--transition-normal);border-radius:2px;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-links a:hover:after,.nav-links a.active:after{width:calc(100% - 16px)}.nav-links a:focus{outline:2px solid var(--color-accent-cyan);outline-offset:2px}.nav-actions{align-items:center;gap:var(--spacing-sm);display:flex}.nav-resume{display:none}@media (min-width:1024px){.nav-resume{display:inline-flex}}.nav-menu-toggle{color:var(--color-text-primary);cursor:pointer;padding:var(--spacing-xs);background:0 0;border:none;display:none}.mobile-menu{-webkit-backdrop-filter:blur(20px);padding:var(--spacing-md);gap:var(--spacing-xs);opacity:0;max-height:0;transition:all var(--transition-normal);pointer-events:none;background-color:#0d1117fa;border-top:1px solid #4950574d;flex-direction:column;position:fixed;top:70px;left:0;right:0;overflow:hidden;transform:translateY(-10px);box-shadow:0 8px 32px #0006}.mobile-menu.mobile-menu-open{opacity:1;pointer-events:all;max-height:500px;transform:translateY(0)}.mobile-menu a{color:var(--color-text-secondary);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-sm);transition:all var(--transition-fast);font-weight:500;position:relative}.mobile-menu a:hover,.mobile-menu a.active{color:var(--color-accent-cyan);padding-left:var(--spacing-lg);background-color:#00d9ff1a}.mobile-menu a.active:before{content:"";left:var(--spacing-sm);background-color:var(--color-accent-cyan);border-radius:50%;width:4px;height:4px;position:absolute;top:50%;transform:translateY(-50%)}.mobile-menu-divider{background:linear-gradient(90deg,transparent,var(--color-border),transparent);height:1px;margin:var(--spacing-sm)0}@media (max-width:1023px){.nav-links{display:none}.nav-menu-toggle{display:block}.nav-container{padding:0 var(--spacing-md)}}@media (max-width:768px){.navbar{padding:var(--spacing-xs)0}.nav-logo{font-size:20px}.mobile-menu{top:60px}}.code-snippet{background-color:var(--color-bg-surface);border:2px solid var(--color-accent-cyan);border-radius:var(--radius-lg);width:100%;max-width:420px;transition:all var(--transition-normal);padding:24px;font-family:JetBrains Mono,Fira Code,monospace;font-size:13px;line-height:1.6;position:relative;overflow:hidden;box-shadow:0 4px 16px #0003}.code-snippet:hover{border-color:var(--color-accent-purple);transform:translateY(-2px);box-shadow:0 6px 20px #0000004d}.code-snippet:before{content:"";background:linear-gradient(90deg,var(--color-accent-cyan),var(--color-accent-purple),var(--color-accent-amber));border-radius:var(--radius-lg)var(--radius-lg)0 0;height:3px;position:absolute;top:0;left:0;right:0}.code-content{white-space:pre;word-wrap:normal;color:var(--color-text-secondary);z-index:1;font-variant-ligatures:none;tab-size:4;letter-spacing:0;margin:0;padding:0;font-family:JetBrains Mono,Fira Code,monospace;display:block;position:relative;overflow:auto hidden}.code-content code{white-space:pre;font-family:inherit;display:block}.code-keyword{color:var(--color-accent-cyan);font-weight:600}.code-string{color:var(--color-accent-amber);font-weight:500}.code-function{color:var(--color-accent-purple);font-weight:500}.code-comment{color:var(--color-text-tertiary);opacity:.8;font-style:italic}.code-cursor{color:var(--color-accent-cyan);animation:1s infinite blink}@media (max-width:768px){.code-snippet{padding:16px;font-size:12px}}.hero{min-height:100vh;padding:var(--spacing-2xl)var(--spacing-xl);background:var(--color-bg-primary);align-items:center;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:radial-gradient(circle at 20% 30%,#00d9ff26 0%,transparent 50%),radial-gradient(circle at 80% 70%,#6f42c126 0%,transparent 50%),radial-gradient(circle at 50% 50%,#ffa5001a 0%,transparent 50%),linear-gradient(135deg,var(--color-bg-primary)0%,var(--color-bg-surface)100%);z-index:0;position:absolute;inset:0}.hero:after{content:"";z-index:0;pointer-events:none;background-image:repeating-linear-gradient(0deg,#0000,#0000 2px,#00d9ff08 2px 4px),repeating-linear-gradient(90deg,#0000,#0000 2px,#6f42c108 2px 4px);background-size:50px 50px;animation:20s linear infinite gridMove;position:absolute;inset:0}@keyframes gridMove{0%{transform:translate(0)}to{transform:translate(50px,50px)}}.hero-shapes{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.hero-shape{opacity:.1;border:2px solid;animation:20s ease-in-out infinite floatShape;position:absolute}.hero-shape-1{border-color:var(--color-accent-cyan);filter:blur(1px);border-radius:30% 70% 70% 30%/30% 30% 70% 70%;width:200px;height:200px;animation-delay:0s;top:10%;right:10%}.hero-shape-2{border-color:var(--color-accent-purple);filter:blur(1px);border-radius:50%;width:150px;height:150px;animation-delay:-5s;top:60%;right:20%}.hero-shape-3{border-color:var(--color-accent-amber);filter:blur(1px);border-radius:20px;width:100px;height:100px;animation-delay:-10s;top:30%;right:5%;transform:rotate(45deg)}.hero-shape-4{border-color:var(--color-accent-cyan);filter:blur(1px);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;width:120px;height:120px;animation-delay:-15s;bottom:20%;left:5%}.hero-shape-5{border-color:var(--color-accent-purple);filter:blur(1px);border-radius:50%;width:80px;height:80px;animation-delay:-7s;top:80%;left:15%}@keyframes floatShape{0%,to{transform:translate(0)rotate(0)scale(1)}25%{transform:translate(40px,-40px)rotate(90deg)scale(1.1)}50%{transform:translate(-30px,30px)rotate(180deg)scale(.9)}75%{transform:translate(30px,40px)rotate(270deg)scale(1.05)}}.hero-tech-pattern{z-index:0;opacity:.05;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='100' height='100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h100v100H0z' fill='none'/%3E%3Cpath d='M20 20h20v20H20z' fill='%2300d9ff'/%3E%3Cpath d='M60 60h20v20H60z' fill='%236f42c1'/%3E%3Cpath d='M40 40h20v20H40z' fill='%23ffa500'/%3E%3C/svg%3E");background-size:200px 200px;animation:30s linear infinite patternMove;position:absolute;inset:0}@keyframes patternMove{0%{transform:translate(0)}to{transform:translate(300px,300px)}}.hero-container{gap:var(--spacing-2xl);z-index:1;grid-template-columns:60% 40%;align-items:center;width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.hero-content{gap:var(--spacing-md);flex-direction:column;display:flex}.hero-title{color:var(--color-text-primary);letter-spacing:-.5px;margin-bottom:var(--spacing-sm);font-size:64px;font-weight:700;line-height:1.2}.hero-highlight{color:var(--color-accent-cyan);text-shadow:0 0 20px #00d9ff80}.hero-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:18px}.hero-buttons{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.hero-social{gap:var(--spacing-md);align-items:center;display:flex}.hero-social a{color:var(--color-text-tertiary);transition:var(--transition-fast)}.hero-social a:hover{color:var(--color-accent-cyan);transform:scale(1.15)rotate(5deg)}.hero-visual{z-index:1;justify-content:center;align-items:center;display:flex;position:relative}.hero-particles{z-index:0;pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.hero-particle{background:var(--color-accent-cyan);opacity:.6;width:4px;height:4px;box-shadow:0 0 10px var(--color-accent-cyan);border-radius:50%;animation:15s ease-in-out infinite particleFloat;position:absolute}.hero-particle:first-child{animation-delay:0s;top:20%;left:15%}.hero-particle:nth-child(2){background:var(--color-accent-purple);box-shadow:0 0 10px var(--color-accent-purple);animation-delay:-2s;top:40%;left:25%}.hero-particle:nth-child(3){background:var(--color-accent-amber);box-shadow:0 0 10px var(--color-accent-amber);animation-delay:-4s;top:60%;left:35%}.hero-particle:nth-child(4){animation-delay:-6s;top:30%;right:20%}.hero-particle:nth-child(5){background:var(--color-accent-purple);box-shadow:0 0 10px var(--color-accent-purple);animation-delay:-8s;top:70%;right:15%}.hero-particle:nth-child(6){background:var(--color-accent-amber);box-shadow:0 0 10px var(--color-accent-amber);animation-delay:-10s;top:50%;right:30%}@keyframes particleFloat{0%,to{opacity:.6;transform:translate(0)scale(1)}50%{opacity:1;transform:translate(30px,-30px)scale(1.5)}}@media (max-width:1023px){.hero-container{gap:var(--spacing-lg);grid-template-columns:65% 35%}.hero-title{font-size:48px}}@media (max-width:768px){.hero{min-height:auto;padding:var(--spacing-3xl)var(--spacing-md)var(--spacing-2xl)}.hero-container{gap:var(--spacing-xl);grid-template-columns:1fr}.hero-title{font-size:40px}.hero-subtitle{font-size:16px}.hero-buttons{flex-direction:column}.hero-buttons .btn{justify-content:center;width:100%}.hero-visual{width:80%;margin:0 auto}}.about{background-color:var(--color-bg-primary)}.section-title{margin-bottom:var(--spacing-lg);font-size:48px;display:inline-block;position:relative}.section-underline{background-color:var(--color-accent-cyan);width:80px;height:4px;margin-top:var(--spacing-xs);display:block}.about-content{gap:var(--spacing-xl);grid-template-columns:40% 60%;align-items:start;display:grid}.about-image{justify-content:center;align-items:center;display:flex;position:relative}.about-image-wrapper{border-radius:var(--radius-lg);width:300px;height:300px;transition:all var(--transition-normal);position:relative;overflow:hidden;box-shadow:0 8px 32px #0000004d}.about-image-wrapper:before{content:"";background:linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-purple),var(--color-accent-amber));border-radius:var(--radius-lg);z-index:-1;opacity:0;transition:opacity var(--transition-normal);position:absolute;inset:-2px}.about-image-wrapper:hover:before{opacity:1}.about-image-wrapper:hover{transform:scale(1.05)translateY(-5px);box-shadow:0 12px 40px #00d9ff4d,0 0 60px #6f42c133}.about-profile-image{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform var(--transition-normal);display:block}.about-image-wrapper:hover .about-profile-image{transform:scale(1.1)}.about-image-overlay{opacity:0;transition:opacity var(--transition-normal);pointer-events:none;background:linear-gradient(135deg,#00d9ff1a 0%,#6f42c11a 50%,#ffa5001a 100%);position:absolute;inset:0}.about-image-wrapper:hover .about-image-overlay{opacity:1}.about-image-border{border:3px solid var(--color-accent-cyan);border-radius:var(--radius-lg);opacity:.5;transition:opacity var(--transition-normal);pointer-events:none;position:absolute;inset:0}.about-image-wrapper:hover .about-image-border{opacity:1;border-color:var(--color-accent-purple);box-shadow:inset 0 0 20px #00d9ff4d,0 0 30px #6f42c166}.about-text{gap:var(--spacing-lg);flex-direction:column;display:flex}.about-bio p{margin-bottom:var(--spacing-md);color:var(--color-text-secondary);font-size:16px;line-height:1.8}.about-stats{gap:var(--spacing-md);grid-template-columns:repeat(2,1fr);display:grid}.stat-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;padding:20px}.stat-number{color:var(--color-accent-cyan);margin-bottom:var(--spacing-xs);font-size:32px;font-weight:700}.stat-label{color:var(--color-text-secondary);font-size:14px}.about-tech h4{color:var(--color-text-tertiary);margin-bottom:var(--spacing-sm);font-size:14px}.tech-pill{background-color:var(--color-bg-surface-hover);border:1px solid var(--color-accent-purple);color:var(--color-accent-cyan);padding:var(--spacing-xs)var(--spacing-sm);border-radius:var(--radius-full);transition:var(--transition-fast);cursor:default;font-size:13px;font-weight:600}.tech-pill:hover{background-color:var(--color-accent-cyan);color:var(--color-bg-primary);border-color:var(--color-accent-cyan)}@media (max-width:1023px){.about-content{gap:var(--spacing-lg);grid-template-columns:35% 65%}.about-image-wrapper{width:250px;height:250px}}@media (max-width:768px){.section-title{font-size:32px}.about-content{gap:var(--spacing-lg);grid-template-columns:1fr}.about-image{justify-content:center}.about-image-wrapper{width:250px;height:250px}.about-stats{grid-template-columns:1fr}}@media (max-width:480px){.about-image-wrapper{width:200px;height:200px}}.skills{background:linear-gradient(135deg,var(--color-bg-primary)0%,var(--color-bg-surface)100%)}.skills-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:18px}.skills-filters{gap:var(--spacing-sm);margin-bottom:var(--spacing-xl);flex-wrap:wrap;display:flex}.skills-grid{gap:var(--spacing-xl);grid-template-columns:repeat(3,1fr);display:grid}.skill-category{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-lg)}.category-title{margin-bottom:var(--spacing-md);color:var(--color-text-primary);font-size:20px}.skills-list{gap:var(--spacing-md);flex-direction:column;display:flex}.skill-card{gap:var(--spacing-xs);flex-direction:column;display:flex}.skill-header{justify-content:space-between;align-items:center;display:flex}.skill-name{color:var(--color-text-primary);font-size:16px;font-weight:700}.skill-badge{background-color:#0000;border-radius:12px;padding:4px 8px;font-size:12px;font-weight:600}.skill-bar-container{background-color:var(--color-bg-surface-hover);border-radius:2px;width:100%;height:4px;overflow:hidden}.skill-bar{height:100%;transition:var(--transition-normal);border-radius:2px}.skill-card:hover .skill-bar{box-shadow:0 0 8px}@media (max-width:1023px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.skills-grid{grid-template-columns:1fr}.skills-filters{justify-content:center}}.projects{background-color:var(--color-bg-primary)}.projects-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:18px}.projects-filters{margin-bottom:var(--spacing-lg)}.search-container{align-items:center;gap:var(--spacing-sm);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-sm)var(--spacing-md);max-width:600px;display:flex}.search-container svg{color:var(--color-text-tertiary)}.search-input{color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:16px}.search-input::placeholder{color:var(--color-text-tertiary)}.filter-buttons{gap:var(--spacing-md);margin-bottom:var(--spacing-lg);flex-flow:column wrap;display:flex}.tier-filters,.category-filters{align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.filter-label{color:var(--color-text-secondary);margin-right:var(--spacing-xs);font-size:14px;font-weight:600}.filter-btn{padding:var(--spacing-xs)var(--spacing-md);border:2px solid var(--color-accent-cyan);color:var(--color-accent-cyan);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-fast);background-color:#0000;font-size:14px;font-weight:600}.filter-btn:hover{background-color:#00d9ff1a}.filter-btn.active{background-color:var(--color-accent-cyan);color:var(--color-bg-primary)}.clear-filters{margin-left:auto}.results-count{color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg);font-size:14px}.tier-section{margin-bottom:var(--spacing-2xl)}.tier-title{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:32px}.tier-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.projects-grid{gap:var(--spacing-lg);display:grid}.tier1-grid{grid-template-columns:repeat(2,1fr)}.tier2-grid{grid-template-columns:repeat(3,1fr)}.tier3-grid{grid-template-columns:repeat(4,1fr)}.project-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);transition:var(--transition-normal);gap:var(--spacing-sm);flex-direction:column;display:flex}.project-card:hover{border-color:var(--color-accent-cyan);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.tier1-card{min-height:500px;padding:28px}.tier2-card{min-height:380px}.tier3-card{min-height:280px;padding:20px}.card-header{margin-bottom:var(--spacing-sm);justify-content:space-between;align-items:flex-start;display:flex}.featured-badge{color:var(--color-accent-amber);font-size:12px;font-weight:700}.category-tags{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.category-tag{background-color:var(--color-bg-surface-hover);border:1px solid var(--color-accent-purple);color:var(--color-accent-cyan);border-radius:16px;padding:6px 12px;font-size:11px;font-weight:600}.difficulty-badge{background-color:var(--color-bg-surface-hover);border:1px solid var(--color-border);color:var(--color-text-secondary);border-radius:16px;padding:6px 12px;font-size:11px;font-weight:600}.project-title{color:var(--color-text-primary);margin:var(--spacing-xs)0;font-size:24px;font-weight:700}.card-divider{background-color:var(--color-border);height:1px;margin:var(--spacing-sm)0}.project-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:16px;line-height:1.6}.achievements{margin:var(--spacing-sm)0}.achievements strong{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:14px;display:block}.achievements ul{margin:0;padding:0;list-style:none}.achievements li{color:var(--color-text-secondary);margin:6px 0;font-size:14px}.tech-stack{margin:var(--spacing-sm)0}.tech-stack strong{color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs);font-size:12px;display:block}.tech-pills{gap:var(--spacing-xs);flex-wrap:wrap;display:flex}.tech-pill{background-color:var(--color-bg-surface-hover);border:1px solid var(--color-accent-cyan);color:var(--color-accent-cyan);transition:var(--transition-fast);border-radius:16px;padding:6px 12px;font-size:12px;font-weight:600}.tech-pill:hover{background-color:var(--color-accent-cyan);color:var(--color-bg-primary)}.project-status{margin:var(--spacing-sm)0}.status-badge{color:#fff;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:600;display:inline-block}.project-actions{gap:var(--spacing-sm);flex-wrap:wrap;margin-top:auto;display:flex}.project-actions .btn{flex:1;justify-content:center;min-width:120px}.no-results{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-secondary)}@media (max-width:1023px){.tier1-grid{grid-template-columns:1fr}.tier2-grid{grid-template-columns:repeat(2,1fr)}.tier3-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:768px){.tier2-grid,.tier3-grid{grid-template-columns:1fr}.filter-buttons{flex-direction:column}.clear-filters{width:100%;margin-left:0}}.experience{background:linear-gradient(135deg,var(--color-bg-primary)0%,var(--color-bg-surface)100%);position:relative;overflow:hidden}.timeline{padding:var(--spacing-xl)0;max-width:1200px;margin:0 auto;position:relative}.timeline:before{content:"";background:linear-gradient(180deg,var(--color-accent-purple)0%,var(--color-accent-cyan)50%,var(--color-accent-amber)100%);width:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 10px #6f42c14d}.timeline-item{margin-bottom:var(--spacing-2xl);opacity:0;align-items:center;transition:opacity .6s,transform .6s;display:flex;position:relative;transform:translateY(30px)}.timeline-item.visible{opacity:1;transform:translateY(0)}.timeline-item.left{flex-direction:row;padding-right:calc(50% + 30px);animation:.6s ease-out forwards slideInLeft}.timeline-item.right{flex-direction:row-reverse;padding-left:calc(50% + 30px);animation:.6s ease-out forwards slideInRight}.timeline-item.visible.left{animation:.6s ease-out forwards slideInLeft}.timeline-item.visible.right{animation:.6s ease-out forwards slideInRight}.timeline-dot{background:var(--color-bg-surface);border:3px solid var(--color-accent-cyan);z-index:2;width:50px;height:50px;transition:all var(--transition-normal);box-shadow:0 0 0 4px var(--color-bg-primary),0 4px 12px #00d9ff4d;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;left:50%;transform:translate(-50%)}.timeline-dot.current{border-color:var(--color-accent-amber);box-shadow:0 0 0 4px var(--color-bg-primary),0 0 20px #ffa50080;animation:2s infinite pulse}.timeline-icon{font-size:20px;line-height:1}.timeline-item:hover .timeline-dot{border-color:var(--color-accent-amber);box-shadow:0 0 0 4px var(--color-bg-primary),0 0 25px #ffa50099;transform:translate(-50%)scale(1.15)}.timeline-item.work .timeline-dot{border-color:var(--color-accent-cyan)}.timeline-item.education .timeline-dot{border-color:var(--color-accent-purple)}.timeline-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-md);min-width:400px;transition:all var(--transition-normal);box-shadow:var(--shadow-md);position:relative}.timeline-item:hover .timeline-card{border-color:var(--color-accent-purple);transform:translateY(-4px);box-shadow:0 8px 30px #6f42c140,0 0 0 1px #6f42c11a}.timeline-item.work .timeline-card{border-left:3px solid var(--color-accent-cyan)}.timeline-item.education .timeline-card{border-left:3px solid var(--color-accent-purple)}.timeline-badge{top:var(--spacing-sm);right:var(--spacing-sm);background:linear-gradient(135deg,var(--color-accent-amber),#ff8c00);color:var(--color-bg-primary);text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 12px;font-size:11px;font-weight:700;position:absolute;box-shadow:0 2px 8px #ffa5004d}.timeline-header{margin-bottom:var(--spacing-xs);justify-content:space-between;align-items:flex-start;gap:var(--spacing-sm);display:flex}.timeline-title-wrapper{flex:1}.timeline-title{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:22px;font-weight:700;line-height:1.3}.timeline-mentor{color:var(--color-text-tertiary);margin-top:4px;font-size:12px;font-weight:500;display:block}.timeline-date{color:var(--color-accent-cyan);white-space:nowrap;background:#00d9ff1a;border-radius:6px;padding:4px 10px;font-size:13px;font-weight:600}.timeline-company{color:var(--color-accent-cyan);margin-bottom:var(--spacing-xs);font-size:17px;font-weight:600}.timeline-item.education .timeline-company{color:var(--color-accent-purple)}.timeline-location{color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs);align-items:center;gap:6px;font-size:13px;display:flex}.timeline-status{color:var(--color-accent-amber);margin-bottom:var(--spacing-sm);background:#ffa5001a;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-block}.timeline-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-sm);font-size:15px;line-height:1.7}.timeline-section{margin:var(--spacing-sm)0}.section-toggle{width:100%;padding:var(--spacing-xs)0;cursor:pointer;transition:var(--transition-fast);text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;display:flex}.section-toggle:hover{opacity:.8}.section-label{color:var(--color-text-primary);margin-bottom:var(--spacing-xs);font-size:14px;font-weight:600;display:block}.toggle-icon{color:var(--color-accent-cyan);transition:transform var(--transition-fast);font-size:12px}.section-toggle[aria-expanded=true] .toggle-icon{transform:rotate(90deg)}.timeline-responsibilities,.timeline-coursework-list{margin:var(--spacing-sm)0 0 0;padding:0;list-style:none;animation:.3s ease-out fadeInUp}.timeline-responsibilities li,.timeline-coursework-list li{color:var(--color-text-secondary);margin:var(--spacing-xs)0;padding-left:var(--spacing-md);font-size:14px;line-height:1.6;position:relative}.timeline-responsibilities li:before{content:"▸";color:var(--color-accent-cyan);font-weight:700;position:absolute;left:0}.timeline-coursework-list li:before{content:"📚";position:absolute;left:0}.timeline-achievements{margin:var(--spacing-sm)0;padding:var(--spacing-sm);border-radius:var(--radius-md);border-left:3px solid var(--color-accent-amber);background:#ffa5000d}.achievements-list{margin:var(--spacing-xs)0 0 0;padding:0;list-style:none}.achievements-list li{color:var(--color-text-secondary);margin:var(--spacing-xs)0;padding-left:var(--spacing-md);align-items:flex-start;gap:8px;font-size:14px;line-height:1.6;display:flex;position:relative}.achievement-icon{flex-shrink:0;font-size:16px}.timeline-skills-section{margin:var(--spacing-sm)0}.timeline-skills{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}.timeline-skills .skill-badge{transition:all var(--transition-fast);cursor:default;border:1px solid #0000;border-radius:16px;padding:6px 12px;font-size:12px;font-weight:600}.skill-frontend{border-color:var(--color-accent-cyan);color:var(--color-accent-cyan);background:#00d9ff26}.skill-backend{border-color:var(--color-accent-purple);color:var(--color-accent-purple);background:#6f42c126}.skill-ai{border-color:var(--color-accent-amber);color:var(--color-accent-amber);background:#ffa50026}.skill-tools{border-color:var(--color-accent-success);color:var(--color-accent-success);background:#28a74526}.skill-other{background-color:var(--color-bg-surface-hover);border-color:var(--color-border);color:var(--color-text-secondary)}.timeline-skills .skill-badge:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.timeline-projects{margin:var(--spacing-sm)0;padding-top:var(--spacing-sm);border-top:1px solid var(--color-border)}.projects-tags{gap:var(--spacing-xs);margin-top:var(--spacing-xs);flex-wrap:wrap;display:flex}.project-link{border:1px solid var(--color-accent-purple);color:var(--color-accent-purple);transition:all var(--transition-fast);background:#6f42c11a;border-radius:16px;padding:6px 12px;font-size:12px;font-weight:600;text-decoration:none;display:inline-block}.project-link:hover{background:#6f42c133;transform:translateY(-2px);box-shadow:0 4px 8px #6f42c14d}@media (max-width:1023px){.timeline:before{left:25px}.timeline-item{flex-direction:row!important;padding-left:70px!important;padding-right:0!important}.timeline-dot{width:40px;height:40px;left:25px}.timeline-icon{font-size:18px}.timeline-card{width:100%;min-width:auto}}@media (max-width:768px){.timeline{padding:var(--spacing-lg)0}.timeline:before{left:15px}.timeline-item{margin-bottom:var(--spacing-lg);padding-left:50px!important}.timeline-dot{width:30px;height:30px;left:15px}.timeline-icon{font-size:14px}.timeline-card{padding:var(--spacing-sm);min-width:auto}.timeline-header{gap:var(--spacing-xs);flex-direction:column;align-items:flex-start}.timeline-date{align-self:flex-start}.timeline-title{font-size:18px}.timeline-company{font-size:15px}.timeline-description{font-size:14px}.timeline-badge{top:var(--spacing-xs);right:var(--spacing-xs);padding:3px 8px;font-size:10px}.timeline-skills .skill-badge{padding:5px 10px;font-size:11px}}@media (max-width:480px){.timeline-item.left,.timeline-item.right{animation:.6s ease-out forwards fadeInUp}.timeline-card{border-left-width:2px}}.contact{background:linear-gradient(135deg,var(--color-bg-primary)0%,var(--color-bg-surface)100%);min-height:600px}.contact-content{max-width:600px;margin:0 auto}.contact-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);text-align:center;font-size:18px}.contact-form{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);margin-bottom:var(--spacing-xl);transition:all var(--transition-normal);box-shadow:0 4px 16px #0000001a}.contact-form:hover{border-color:#00d9ff4d;box-shadow:0 8px 24px #00000026}.form-message{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);border-radius:var(--radius-sm);margin-bottom:var(--spacing-md);font-size:14px;display:flex}.form-message.success{background-color:var(--color-accent-success);color:#fff}.form-message.error{background-color:var(--color-accent-danger);color:#fff}.form-group{margin-bottom:var(--spacing-md)}.form-group label{color:var(--color-text-tertiary);margin-bottom:var(--spacing-xs);font-size:12px;font-weight:600;display:block}.form-group textarea{resize:vertical;min-height:150px;font-family:var(--font-primary)}.char-count{color:var(--color-text-tertiary);text-align:right;margin-top:var(--spacing-xs);font-size:12px}.error-text{color:var(--color-accent-danger);margin-top:var(--spacing-xs);font-size:12px;display:block}.btn-submit{width:100%;height:48px;margin-top:var(--spacing-sm);justify-content:center;font-size:16px;font-weight:700}.btn-submit:disabled{opacity:.8;cursor:not-allowed}.contact-alternative{text-align:center;padding:var(--spacing-xl)0}.contact-alternative p{color:var(--color-text-tertiary);margin-bottom:var(--spacing-md);text-transform:uppercase;letter-spacing:1px;font-size:14px}.contact-links{gap:var(--spacing-md);flex-direction:column;align-items:center;display:flex}.contact-links a{align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);transition:var(--transition-fast);font-size:16px;display:flex}.contact-links a:hover{color:var(--color-accent-cyan);text-decoration:underline}@media (max-width:768px){.contact-form{padding:var(--spacing-md)}}.footer{background:linear-gradient(180deg,var(--color-bg-primary)0%,var(--color-bg-surface)100%);border-top:2px solid var(--color-border);padding:var(--spacing-3xl)0 var(--spacing-lg);margin-top:var(--spacing-3xl);position:relative}.footer:before{content:"";background:linear-gradient(90deg,transparent,var(--color-accent-cyan),transparent);height:1px;position:absolute;top:0;left:0;right:0}.footer-content{gap:var(--spacing-xl);margin-bottom:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.footer-section{gap:var(--spacing-md);flex-direction:column;display:flex}.footer-title{color:var(--color-text-primary);margin:0 0 var(--spacing-sm)0;background:linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:20px;font-weight:700}.footer-subtitle{color:var(--color-text-primary);margin:0 0 var(--spacing-sm)0;font-size:16px;font-weight:600}.footer-description{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.6}.footer-location{color:var(--color-text-tertiary);margin:var(--spacing-xs)0 0 0;font-size:13px}.footer-links-section{min-width:150px}.footer-links{gap:var(--spacing-sm);flex-direction:column;display:flex}.footer-links a{color:var(--color-text-secondary);transition:all var(--transition-fast);padding:var(--spacing-xs)0;width:fit-content;font-size:14px;text-decoration:none;position:relative}.footer-links a:before{content:"";background:var(--color-accent-cyan);width:0;height:2px;transition:width var(--transition-normal);position:absolute;bottom:0;left:0}.footer-links a:hover{color:var(--color-accent-cyan);transform:translate(4px)}.footer-links a:hover:before{width:100%}.footer-resume-btn{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal);width:fit-content;font-size:14px;font-weight:600;display:flex}.footer-resume-btn:hover{background-color:var(--color-accent-cyan);color:var(--color-bg-primary);border-color:var(--color-accent-cyan);transform:translateY(-2px);box-shadow:0 4px 12px #00d9ff4d}.footer-social{gap:var(--spacing-sm);flex-direction:column;display:flex}.footer-social a{align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);padding:var(--spacing-xs)0;width:fit-content;font-size:14px;text-decoration:none;display:flex}.footer-social a:hover{color:var(--color-accent-cyan);transform:translate(4px)}.footer-social a span{display:inline-block}.footer-bottom{border-top:1px solid var(--color-border);padding-top:var(--spacing-lg);justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.footer-copyright{flex:1;min-width:250px}.footer-copyright p{color:var(--color-text-tertiary);margin:0;font-size:13px;line-height:1.6}.footer-tech{color:var(--color-accent-cyan);font-weight:600}.footer-meta{text-align:right;flex:1;min-width:250px}.footer-stats{color:var(--color-text-tertiary);margin:0;font-size:12px;font-weight:500}@media (max-width:968px){.footer-content{gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.footer{padding:var(--spacing-xl)0 var(--spacing-lg)}.footer-content{gap:var(--spacing-lg);text-align:center;grid-template-columns:1fr}.footer-section,.footer-links{align-items:center}.footer-links a{width:auto}.footer-social{align-items:center}.footer-social a{width:auto}.footer-bottom{text-align:center;gap:var(--spacing-sm);flex-direction:column}.footer-meta{text-align:center}.footer-stats{font-size:11px}}.background-container{z-index:-1;background:var(--color-bg-primary);width:100%;height:100%;min-height:100vh;position:fixed;top:0;left:0;overflow:hidden}.gradient-orb{filter:blur(80px);opacity:.3;pointer-events:none;border-radius:50%;animation:20s ease-in-out infinite float;position:absolute}.orb-1{background:radial-gradient(circle,var(--color-accent-cyan)0%,transparent 70%);width:600px;height:600px;animation-delay:0s;top:-200px;left:-200px}.orb-2{background:radial-gradient(circle,var(--color-accent-purple)0%,transparent 70%);width:500px;height:500px;animation-delay:-7s;bottom:-150px;right:-150px}.orb-3{background:radial-gradient(circle,var(--color-accent-amber)0%,transparent 70%);width:400px;height:400px;animation-delay:-14s;top:50%;left:50%;transform:translate(-50%,-50%)}.orb-4{background:radial-gradient(circle,var(--color-accent-cyan)0%,transparent 70%);width:350px;height:350px;animation-delay:-10s;top:70%;left:20%}.orb-5{background:radial-gradient(circle,var(--color-accent-purple)0%,transparent 70%);width:300px;height:300px;animation-delay:-5s;top:20%;right:30%}.grid-overlay{pointer-events:none;background-image:linear-gradient(#00d9ff08 1px,#0000 1px),linear-gradient(90deg,#00d9ff08 1px,#0000 1px);background-size:50px 50px;width:100%;height:100%;animation:20s linear infinite gridMove;position:absolute;top:0;left:0}.floating-shapes{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden}.floating-shape{opacity:.08;filter:blur(1px);border:2px solid;animation:25s ease-in-out infinite floatShape;position:absolute}.shape-1{border-color:var(--color-accent-cyan);border-radius:30% 70% 70% 30%/30% 30% 70% 70%;width:180px;height:180px;animation-delay:0s;top:15%;left:10%}.shape-2{border-color:var(--color-accent-purple);border-radius:50%;width:120px;height:120px;animation-delay:-3s;top:25%;right:15%}.shape-3{border-color:var(--color-accent-amber);border-radius:20px;width:100px;height:100px;animation-delay:-6s;top:45%;left:5%;transform:rotate(45deg)}.shape-4{border-color:var(--color-accent-cyan);border-radius:60% 40% 30% 70%/60% 30% 70% 40%;width:150px;height:150px;animation-delay:-9s;bottom:25%;right:10%}.shape-5{border-color:var(--color-accent-purple);border-radius:50%;width:90px;height:90px;animation-delay:-12s;top:60%;left:20%}.shape-6{border-color:var(--color-accent-amber);border-radius:40% 60% 60% 40%/40% 40% 60% 60%;width:140px;height:140px;animation-delay:-15s;top:75%;right:25%}.shape-7{border-color:var(--color-accent-cyan);border-radius:30px;width:110px;height:110px;animation-delay:-18s;top:35%;right:5%;transform:rotate(30deg)}.shape-8{border-color:var(--color-accent-purple);border-radius:50%/60% 60% 40% 40%;width:130px;height:130px;animation-delay:-21s;bottom:15%;left:15%}.particles-canvas{pointer-events:none;width:100%;height:100%;position:absolute;top:0;left:0}.noise-overlay{opacity:.03;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 400 400' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E");width:100%;height:100%;animation:.2s steps(8,end) infinite noise;position:absolute;top:0;left:0}.tech-pattern{opacity:.04;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg width='200' height='200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h200v200H0z' fill='none'/%3E%3Cpath d='M20 20h40v40H20z' fill='%2300d9ff'/%3E%3Cpath d='M80 80h40v40H80z' fill='%236f42c1'/%3E%3Cpath d='M140 140h40v40h-40z' fill='%23ffa500'/%3E%3Cpath d='M20 140h40v40H20z' fill='%2300d9ff'/%3E%3Cpath d='M140 20h40v40h-40z' fill='%236f42c1'/%3E%3C/svg%3E");background-size:300px 300px;width:100%;height:100%;animation:40s linear infinite patternMove;position:absolute;top:0;left:0}@keyframes noise{0%,to{transform:translate(0)}10%{transform:translate(-5%,-5%)}20%{transform:translate(-10%,5%)}30%{transform:translate(5%,-10%)}40%{transform:translate(-5%,15%)}50%{transform:translate(-10%,5%)}60%{transform:translate(15%)}70%{transform:translateY(10%)}80%{transform:translate(-15%)}90%{transform:translate(10%,5%)}}@media (max-width:768px){.orb-1,.orb-2,.orb-3,.orb-4,.orb-5{filter:blur(60px)}.orb-1{width:400px;height:400px}.orb-2{width:350px;height:350px}.orb-3{width:300px;height:300px}.orb-4,.orb-5{width:250px;height:250px}.grid-overlay{background-size:30px 30px}.floating-shape{opacity:.05}.shape-1,.shape-2,.shape-3,.shape-4,.shape-5,.shape-6,.shape-7,.shape-8{width:80px;height:80px}}.project-detail-page{min-height:100vh;padding-top:80px}.project-article{padding:var(--spacing-3xl)0}.project-header{margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border)}.project-meta{gap:var(--spacing-sm);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.project-tier{padding:var(--spacing-xs)var(--spacing-sm);background:linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-purple));color:#fff;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.project-status{padding:var(--spacing-xs)var(--spacing-sm);color:#fff;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.project-title{color:var(--color-text-primary);margin:var(--spacing-md)0;font-size:clamp(32px,5vw,48px);font-weight:700;line-height:1.2}.project-subtitle{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:20px;line-height:1.6}.project-actions-header{gap:var(--spacing-md);flex-wrap:wrap;display:flex}.project-content{max-width:900px;margin:0 auto}.project-section{margin-bottom:var(--spacing-3xl);padding:var(--spacing-xl);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.project-section h2{align-items:center;gap:var(--spacing-sm);color:var(--color-text-primary);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--color-border);font-size:24px;font-weight:600;display:flex}.problem-statement{color:var(--color-text-secondary);font-size:16px;line-height:1.8}.tech-details{gap:var(--spacing-lg);flex-direction:column;display:flex}.tech-stack-detailed h3,.architecture-info h3,.trade-offs h3{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:18px;font-weight:600}.tech-pills{gap:var(--spacing-sm);margin-top:var(--spacing-sm);flex-wrap:wrap;display:flex}.tech-pill{padding:var(--spacing-xs)var(--spacing-md);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:14px;font-weight:500}.architecture-info p,.trade-offs ul{color:var(--color-text-secondary);font-size:15px;line-height:1.8}.trade-offs ul{padding:0;list-style:none}.trade-offs li{padding:var(--spacing-sm)0;padding-left:var(--spacing-lg);position:relative}.trade-offs li:before{content:"→";color:var(--color-accent-cyan);font-weight:700;position:absolute;left:0}.achievements-grid{gap:var(--spacing-md);margin-top:var(--spacing-md);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.achievement-card{padding:var(--spacing-lg);background:linear-gradient(135deg,var(--color-bg-primary),var(--color-bg-surface));border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center}.achievement-metric{color:var(--color-accent-cyan);margin-bottom:var(--spacing-xs);font-size:32px;font-weight:700}.achievement-description{color:var(--color-text-secondary);font-size:14px}.long-description{color:var(--color-text-secondary);font-size:16px;line-height:1.8}.skills-list,.improvements-list{gap:var(--spacing-sm);padding:0;list-style:none;display:grid}.skills-list li,.improvements-list li{padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-primary);border-left:3px solid var(--color-accent-cyan);border-radius:var(--radius-sm);color:var(--color-text-secondary);font-size:15px}.timeline-info{gap:var(--spacing-sm);flex-direction:column;display:flex}.timeline-info p{color:var(--color-text-secondary);font-size:15px}.project-not-found{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex}.project-not-found h1{margin-bottom:var(--spacing-md);font-size:48px}.project-not-found p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:18px}@media (max-width:768px){.project-detail-page{padding-top:60px}.project-title{font-size:28px}.project-subtitle{font-size:18px}.project-section{padding:var(--spacing-md)}.achievements-grid{grid-template-columns:1fr}}.blog-page{min-height:100vh;padding-top:100px;padding-bottom:var(--spacing-3xl)}.blog-header{text-align:center;margin-bottom:var(--spacing-3xl);max-width:800px;margin-left:auto;margin-right:auto}.blog-title{color:var(--color-text-primary);margin-bottom:var(--spacing-md);background:linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-purple));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(36px,6vw,48px);font-weight:700}.blog-subtitle{color:var(--color-text-secondary);font-size:18px;line-height:1.6}.blog-grid{gap:var(--spacing-xl);margin-top:var(--spacing-3xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}.blog-card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--spacing-xl);transition:all var(--transition-normal);flex-direction:column;display:flex}.blog-card:hover{border-color:var(--color-accent-cyan);transform:translateY(-4px);box-shadow:0 8px 24px #0003}.blog-card-header{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.blog-category{padding:var(--spacing-xs)var(--spacing-sm);background:linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-purple));color:#fff;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.blog-meta{gap:var(--spacing-md);color:var(--color-text-tertiary);font-size:13px;display:flex}.blog-date,.blog-read-time{align-items:center;gap:var(--spacing-xs);display:flex}.blog-card-title{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-size:24px;font-weight:600;line-height:1.3}.blog-card-title a{color:inherit;transition:color var(--transition-fast);text-decoration:none}.blog-card-title a:hover{color:var(--color-accent-cyan)}.blog-excerpt{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);flex-grow:1;font-size:15px;line-height:1.7}.blog-tags{gap:var(--spacing-xs);margin-bottom:var(--spacing-md);flex-wrap:wrap;display:flex}.blog-tag{padding:4px var(--spacing-sm);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-tertiary);font-size:12px}.blog-read-more{align-items:center;gap:var(--spacing-xs);color:var(--color-accent-cyan);transition:all var(--transition-fast);width:fit-content;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.blog-read-more:hover{gap:var(--spacing-sm);color:var(--color-accent-purple)}@media (max-width:768px){.blog-page{padding-top:80px}.blog-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.blog-card{padding:var(--spacing-md)}}.blog-post-page{min-height:100vh;padding-top:80px}.blog-post-article{padding:var(--spacing-3xl)0}.back-link{align-items:center;gap:var(--spacing-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);transition:all var(--transition-fast);font-size:14px;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--color-accent-cyan);transform:translate(-4px)}.blog-post-header{margin-bottom:var(--spacing-3xl);padding-bottom:var(--spacing-xl);border-bottom:2px solid var(--color-border)}.blog-post-meta{margin-bottom:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.blog-post-category{padding:var(--spacing-xs)var(--spacing-sm);background:linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-purple));color:#fff;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:600}.blog-post-dates{gap:var(--spacing-md);color:var(--color-text-tertiary);font-size:14px;display:flex}.blog-post-date,.blog-post-read-time{align-items:center;gap:var(--spacing-xs);display:flex}.blog-post-title{color:var(--color-text-primary);margin:var(--spacing-md)0;font-size:clamp(32px,5vw,42px);font-weight:700;line-height:1.2}.blog-post-excerpt{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);font-size:20px;line-height:1.6}.blog-post-tags{gap:var(--spacing-sm);flex-wrap:wrap;display:flex}.blog-post-tag{padding:var(--spacing-xs)var(--spacing-md);background-color:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:13px}.blog-post-content{max-width:900px;color:var(--color-text-secondary);margin:0 auto;font-size:16px;line-height:1.8}.blog-post-featured-image{margin:var(--spacing-xl)0;text-align:center}.blog-post-featured-image img{border-radius:var(--radius-lg);border:2px solid var(--color-border);max-width:100%;height:auto;box-shadow:0 8px 24px #00000026}.blog-content-h2{color:var(--color-text-primary);margin-top:var(--spacing-2xl);margin-bottom:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:1px solid var(--color-border);font-size:28px;font-weight:600}.blog-content-h3{color:var(--color-text-primary);margin-top:var(--spacing-xl);margin-bottom:var(--spacing-sm);font-size:22px;font-weight:600}.blog-content-p{margin-bottom:var(--spacing-md);line-height:1.8}.blog-content-strong{color:var(--color-text-primary);margin-bottom:var(--spacing-md);font-weight:600}.blog-content-code{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-accent-cyan);padding:2px 6px;font-family:JetBrains Mono,monospace;font-size:14px}.blog-content-h4{color:var(--color-text-primary);margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm);font-size:18px;font-weight:600}.blog-content-image{margin:var(--spacing-xl)0;text-align:center}.blog-content-image img{border-radius:var(--radius-md);border:1px solid var(--color-border);max-width:100%;height:auto;box-shadow:0 4px 16px #0000001a}.blog-content-image figcaption{margin-top:var(--spacing-sm);color:var(--color-text-tertiary);font-size:14px;font-style:italic}.blog-content-code-block{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--spacing-md);margin:var(--spacing-lg)0;overflow-x:auto}.blog-content-code-block code{color:var(--color-text-secondary);white-space:pre;font-family:JetBrains Mono,Fira Code,monospace;font-size:14px;line-height:1.6;display:block}.blog-content-li{margin-bottom:var(--spacing-xs);padding-left:var(--spacing-md);list-style:none;position:relative}.blog-content-li:before{content:"•";color:var(--color-accent-cyan);font-weight:700;position:absolute;left:0}.blog-content-li-numbered{padding-left:var(--spacing-lg);list-style:decimal}.blog-content-li-numbered:before{display:none}.blog-post-footer{margin-top:var(--spacing-3xl);padding-top:var(--spacing-xl);border-top:2px solid var(--color-border);justify-content:space-between;align-items:center;gap:var(--spacing-md);flex-wrap:wrap;display:flex}.blog-post-author{color:var(--color-text-secondary);font-size:15px}.blog-post-share{align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm)var(--spacing-md);background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-normal);font-size:14px;font-weight:600;display:flex}.blog-post-share:hover{background-color:var(--color-accent-cyan);color:var(--color-bg-primary);border-color:var(--color-accent-cyan)}.blog-post-not-found{text-align:center;justify-content:center;align-items:center;min-height:100vh;padding-top:80px;display:flex}.blog-post-not-found h1{margin-bottom:var(--spacing-md);font-size:48px}.blog-post-not-found p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);font-size:18px}@media (max-width:768px){.blog-post-page{padding-top:60px}.blog-post-title{font-size:28px}.blog-post-excerpt{font-size:18px}.blog-post-content{font-size:15px}.blog-content-h2{font-size:24px}.blog-content-h3{font-size:20px}}.App{background-color:var(--color-bg-primary);min-height:100vh;position:relative;overflow-x:hidden}main{z-index:1;padding-top:80px;position:relative}html{scroll-behavior:smooth}section{transition:opacity .3s;position:relative}@media (prefers-reduced-motion:no-preference){section{will-change:transform}}
