@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}:root{--color-bg:#0a0a0a;--color-bg-secondary:#111111;--color-text:#e4e4e7;--color-text-muted:#a1a1aa;--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-accent:#22d3ee;--color-border:#27272a;--font-sans:-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen, Ubuntu, sans-serif;--font-mono:'SF Mono', 'Fira Code', 'Fira Mono', Menlo, monospace;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:5rem;--border-radius:8px;--transition:200ms ease;--max-width:1100px}*,::after,::before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background-color:var(--color-bg);line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{text-decoration:none;transition:text-decoration var(--transition)}a:hover{color:var(--color-primary-hover);text-decoration:underline}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-md)}.header{position:fixed;top:0;left:0;right:0;z-index:100;background-color:rgba(10,10,10,.8);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.nav{display:flex;justify-content:space-between;align-items:center;height:70px}.nav-logo{font-size:1.25rem;font-weight:700;color:var(--color-text);text-decoration:none;letter-spacing:-.5px}.nav-logo:hover,a{color:var(--color-primary)}.nav-links{display:flex;gap:var(--spacing-lg);list-style:none}.nav-links a,.skills-list li{color:var(--color-text-muted);font-size:.95rem}.nav-links a{text-decoration:none;transition:color var(--transition)}.feature-list li strong,.nav-links a:hover,body{color:var(--color-text)}.nav-toggle{display:none;flex-direction:column;gap:5px;background:0 0;border:0;cursor:pointer;padding:var(--spacing-xs)}.nav-toggle span{width:24px;height:2px;background-color:var(--color-text);transition:var(--transition)}.hero{min-height:100vh;display:flex;align-items:center;padding:var(--spacing-2xl)0}.hero-title,.skills h3{margin-bottom:var(--spacing-sm)}.hero-title{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;line-height:1.1;letter-spacing:-2px}.highlight,.project-links a:hover,.skills-list li::before,a:hover .project-title{color:var(--color-primary)}.hero-subtitle{font-size:clamp(1.25rem,3vw,1.75rem);color:var(--color-text-muted);margin-bottom:var(--spacing-md);font-weight:400}.about-text p,.hero-description{font-size:1.1rem;color:var(--color-text-muted)}.hero-description{max-width:540px;margin-bottom:var(--spacing-lg)}.hero-cta{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.75rem;font-size:1rem;font-weight:500;text-decoration:none;border-radius:var(--border-radius);transition:all var(--transition);cursor:pointer;border:0}.btn-primary{background-color:var(--color-primary);color:#fff}.btn-primary:hover{background-color:var(--color-text);transform:translateY(-2px)}.btn-secondary{background-color:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-text-muted);transform:translateY(-2px)}section{padding:var(--spacing-2xl)0}.section-title{font-size:clamp(1.75rem,4vw,2.5rem);font-weight:700;margin-bottom:var(--spacing-xl);letter-spacing:-1px}.section-title::before{content:"";display:inline-block;width:40px;height:3px;background:var(--color-primary);margin-right:var(--spacing-sm);vertical-align:middle}.about{background-color:var(--color-bg-secondary)}.about-text p{margin-bottom:var(--spacing-md);max-width:var(--max-width)}.skills{margin-top:var(--spacing-lg)}.skills h3{font-size:1.1rem;color:var(--color-text)}.skills-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-xs);list-style:none;max-width:var(--max-width)}.skills-list li{padding:var(--spacing-xs)0}.skills-list li::before{content:"▹";margin-right:var(--spacing-xs)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--spacing-md)}.project-card{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius);padding:var(--spacing-lg);transition:all var(--transition)}.contact-link:hover,.project-card:hover{transform:translateY(-5px);border-color:var(--color-primary)}.project-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.project-icon{width:40px;height:40px;color:var(--color-primary)}.project-links a,.project-title{transition:color var(--transition)}.project-links a{text-decoration:none;color:var(--color-text-muted)}.project-links a path,.project-title path{fill:var(--color-text-muted);transition:fill var(--transition)}.project-links a:hover path,a:hover .project-title path{fill:var(--color-primary)}.project-links a svg{width:20px;height:20px}.project-title{display:flex;justify-content:center;align-items:center;height:40px;font-size:1.25rem;font-weight:600;color:var(--color-text)}.project-title span{display:inline-block;vertical-align:middle;line-height:normal;margin:0 0 0 .5rem}.project-title path{fill:var(--color-text)}.project-description{font-size:.95rem;color:var(--color-text-muted);margin-bottom:var(--spacing-md);line-height:1.7;text-align:justify}.project-tech{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);list-style:none}.project-tech li{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted);background-color:var(--color-bg);padding:.25rem .75rem;border-radius:4px}.contact{text-align:center;background-color:var(--color-bg-secondary)}.contact .section-title::before{display:none}.contact-text{font-size:1.1rem;color:var(--color-text-muted);max-width:var(--max-width);margin:0 auto var(--spacing-lg)}.contact-links{display:flex;justify-content:center;gap:var(--spacing-lg);flex-wrap:wrap}.contact-link,.footer p{color:var(--color-text-muted)}.contact-link{display:flex;align-items:center;gap:var(--spacing-xs);text-decoration:none;font-size:1rem;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius);transition:all var(--transition)}.contact-link:hover{color:var(--color-primary);transform:translateY(-2px)}.footer{padding:var(--spacing-lg)0;border-top:1px solid var(--color-border);text-align:center}.footer p{font-size:.9rem}@media (max-width:768px){.nav-links{position:fixed;top:70px;left:0;right:0;background-color:var(--color-bg);flex-direction:column;align-items:center;padding:var(--spacing-lg);gap:var(--spacing-md);border-bottom:1px solid var(--color-border);transform:translateY(-100%);opacity:0;visibility:hidden;transition:all var(--transition)}.nav-links.active{transform:translateY(0);opacity:1;visibility:visible}.nav-toggle{display:flex}.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active span:nth-child(2){opacity:0}.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{padding-top:100px}.hero-cta{flex-direction:column}.btn{width:100%;text-align:center}.projects-grid{grid-template-columns:1fr}.contact-links{flex-direction:column;align-items:center}}.hero-cta,.hero-description,.hero-subtitle,.hero-title{animation:fadeInUp .6s ease forwards}.hero-subtitle{animation-delay:.1s}.hero-description{animation-delay:.2s}.hero-cta{animation-delay:.3s}.reveal{opacity:0;transform:translateY(30px);transition:all .6s ease}.reveal.visible{opacity:1;transform:translateY(0)}.project-page{padding-top:calc(70px + var(--spacing-xl));padding-bottom:var(--spacing-2xl);min-height:100vh}.back-link{display:inline-flex;align-items:center;gap:var(--spacing-xs);color:var(--color-text-muted);text-decoration:none;font-size:.95rem;margin-bottom:var(--spacing-lg);transition:color var(--transition)}.back-link:hover{color:var(--color-primary);text-decoration:none}.project-page-header{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-xl);border-bottom:1px solid var(--color-border)}.project-page-title{font-size:clamp(2rem,5vw,3rem);font-weight:700;letter-spacing:-1px;margin-bottom:var(--spacing-xs);color:var(--color-text)}.project-page-subtitle{font-size:1.25rem;color:var(--color-text-muted);margin-bottom:var(--spacing-lg)}.project-page-links{display:flex;gap:var(--spacing-sm);flex-wrap:wrap}.project-page-links .btn{display:inline-flex;align-items:center;gap:var(--spacing-xs)}.project-page-section{margin-bottom:var(--spacing-xl)}.project-page-section h2{font-size:1.5rem;font-weight:600;margin-bottom:var(--spacing-md);color:var(--color-text)}.feature-list li,.project-page-section p{color:var(--color-text-muted);font-size:1.05rem}.project-page-section p{line-height:1.8;margin-bottom:var(--spacing-sm)}.feature-list{list-style:none;max-width:750px}.feature-list li{padding:var(--spacing-sm)0;line-height:1.7;border-bottom:1px solid var(--color-border)}.feature-list li:last-child{border-bottom:none}.code-block,.tech-stack li{background-color:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--border-radius)}.code-block{padding:var(--spacing-md);margin:var(--spacing-sm)0 var(--spacing-md);overflow-x:auto}.code-block code,.code-block pre{font-family:var(--font-mono);font-size:.9rem;color:var(--color-accent);background:0 0;margin:0;padding:0}.code-block pre{white-space:pre}.tech-stack{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);list-style:none}.tech-stack li{font-family:var(--font-mono);font-size:.9rem;color:var(--color-text-muted);padding:.5rem 1rem}@media (max-width:768px){.project-page-links{flex-direction:column}.project-page-links .btn{width:100%;justify-content:center}}.project-image{width:100%;max-width:800px;height:auto;border-radius:var(--border-radius);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition)}.project-image:hover{border-color:var(--color-primary);transform:scale(1.01)}.lightbox{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.9);z-index:1000;justify-content:center;align-items:center;padding:var(--spacing-md);cursor:pointer}.lightbox.active{display:flex}.lightbox-content{position:relative;max-width:95vw;max-height:95vh}.lightbox-image{max-width:100%;max-height:90vh;object-fit:contain;border-radius:var(--border-radius)}.lightbox-close{position:absolute;top:-40px;right:0;background:0 0;border:0;color:var(--color-text);font-size:2rem;cursor:pointer;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:color var(--transition)}.lightbox-close:hover{color:var(--color-primary)}