:root{--primary: #7c3aed;--primary-light: #a78bfa;--bg-dark: #0f0f1a;--bg-card: rgba(255, 255, 255, .03);--text-primary: #f1f5f9;--text-secondary: #94a3b8;--text-muted: #64748b;--border-color: rgba(255, 255, 255, .08);--gradient: linear-gradient(135deg, #7c3aed 0%, #a78bfa 100%);font-family:Inter,system-ui,-apple-system,sans-serif;line-height:1.6;font-weight:400;color:var(--text-primary);background-color:var(--bg-dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{min-height:100vh;background:var(--bg-dark)}.app{min-height:100vh;position:relative}.hero-section{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:6rem 1.5rem 4rem;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 20%,rgba(124,58,237,.15) 0%,transparent 50%),radial-gradient(ellipse at 80% 80%,rgba(167,139,250,.1) 0%,transparent 50%);pointer-events:none}.hero-container{max-width:800px;width:100%;margin:0 auto;position:relative;z-index:1}.hero-content{text-align:center}.hero-greeting{display:block;font-size:1.125rem;color:var(--text-secondary);margin-bottom:.5rem;font-weight:400}.hero-name{font-size:clamp(2.5rem,8vw,4.5rem);font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.75rem;line-height:1.1;letter-spacing:-.02em}.hero-role{font-size:clamp(1.125rem,3vw,1.5rem);color:var(--text-secondary);font-weight:500;margin-bottom:1.5rem}.hero-description{font-size:1.0625rem;color:var(--text-muted);max-width:560px;margin:0 auto 2.5rem;line-height:1.7}.hero-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;margin-bottom:3rem}.btn-primary,.btn-secondary{padding:.875rem 1.75rem;border-radius:8px;font-weight:500;font-size:.9375rem;cursor:pointer;transition:all .2s ease;border:none;font-family:inherit}.btn-primary{background:var(--gradient);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px #7c3aed59}.btn-secondary{background:transparent;color:var(--text-primary);border:1px solid var(--border-color)}.btn-secondary:hover{background:var(--bg-card);border-color:var(--primary-light);color:var(--primary-light)}.hero-stats{display:flex;align-items:center;justify-content:center;gap:2rem;flex-wrap:wrap}.stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.stat-value{font-size:1.75rem;font-weight:700;color:var(--primary-light)}.stat-label{font-size:.8125rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.stat-divider{width:1px;height:40px;background:var(--border-color)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0f0f1acc;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color)}.nav-container{max-width:1200px;margin:0 auto;padding:0 1.5rem;height:64px;display:flex;align-items:center;justify-content:space-between}.nav-logo h2{font-size:1.25rem;font-weight:700;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;cursor:pointer;margin:0}.nav-menu{display:flex;list-style:none;gap:.5rem}.nav-link{padding:.5rem 1rem;color:var(--text-secondary);font-weight:500;font-size:.9375rem;border-radius:6px;cursor:pointer;transition:all .2s ease;background:none;border:none;font-family:inherit}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:var(--bg-card)}.nav-toggle{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:4px}.bar{width:24px;height:2px;background:var(--text-primary);border-radius:2px;transition:all .3s ease}.section{padding:6rem 1.5rem}.section-container{max-width:1200px;margin:0 auto}.section-title{font-size:clamp(2rem,5vw,2.5rem);font-weight:700;text-align:center;margin-bottom:1rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-subtitle{text-align:center;color:var(--text-secondary);font-size:1.0625rem;max-width:560px;margin:0 auto 3rem}.projects-section{padding:6rem 1.5rem;background:linear-gradient(180deg,var(--bg-dark) 0%,rgba(124,58,237,.03) 100%)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.project-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;transition:all .2s ease}.project-card:hover{border-color:#7c3aed4d;transform:translateY(-4px)}.project-header{margin-bottom:1rem}.project-meta{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.project-category{background:var(--gradient);color:#fff;padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:500}.project-period{color:var(--text-muted);font-size:.8125rem}.project-title{font-size:1.375rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.project-subtitle{color:var(--text-secondary);font-size:.9375rem}.project-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem;margin:1rem 0}.metric-card{background:#7c3aed1a;border-radius:8px;padding:.75rem;text-align:center}.metric-value{display:block;font-size:1.25rem;font-weight:700;color:var(--primary-light)}.metric-label{display:block;font-size:.6875rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.tech-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.tech-tag{background:var(--bg-card);border:1px solid var(--border-color);padding:.25rem .625rem;border-radius:4px;font-size:.75rem;color:var(--text-secondary)}.project-description{color:var(--text-muted);font-size:.9375rem;line-height:1.6;margin:1rem 0}.project-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:1.25rem}.details-button{background:var(--gradient);color:#fff;border:none;padding:.75rem 1rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:.9375rem}.details-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #7c3aed4d}.external-links{display:flex;gap:.75rem}.btn-github,.btn-demo{flex:1;padding:.625rem 1rem;border-radius:6px;font-weight:500;font-size:.875rem;cursor:pointer;transition:all .2s ease;text-decoration:none;text-align:center;border:none;font-family:inherit}.btn-github{background:#24292e;color:#fff}.btn-github:hover{background:#1a1e22}.btn-demo{background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary)}.btn-demo:hover{border-color:var(--primary-light);color:var(--primary-light)}.contact-section{padding:6rem 1.5rem}.contact-content{max-width:800px;margin:0 auto}.bio-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;padding:2.5rem;text-align:center}.bio-card h3{font-size:1.5rem;font-weight:600;margin-bottom:1rem;background:var(--gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bio-card p{color:var(--text-secondary);max-width:480px;margin:0 auto 2rem;line-height:1.7}.bio-highlights{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.highlight-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;background:#7c3aed0d;border:1px solid var(--border-color);border-radius:8px}.highlight-item svg{width:20px;height:20px;color:var(--primary-light)}.highlight-item span{color:var(--text-secondary);font-size:.9375rem}.bio-actions{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-top:2rem}.contact-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.5rem;text-align:center;transition:all .2s ease}.contact-card:hover{border-color:#7c3aed4d}.contact-card-icon{width:48px;height:48px;background:var(--gradient);border-radius:12px;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem}.contact-card-icon svg{width:24px;height:24px;color:#fff}.contact-card-title{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.contact-card-description{font-size:.8125rem;color:var(--text-muted);margin-bottom:.75rem}.contact-card-link{color:var(--primary-light);font-weight:500;font-size:.875rem;cursor:pointer;background:none;border:none;font-family:inherit}.contact-card-link:hover{text-decoration:underline}.modal-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1.5rem;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-dark);border:1px solid var(--border-color);border-radius:16px;max-width:900px;max-height:90vh;width:100%;overflow:hidden;display:flex;flex-direction:column}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;padding:1.5rem;border-bottom:1px solid var(--border-color)}.modal-title{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.modal-subtitle{color:var(--text-secondary)}.modal-close{width:40px;height:40px;border-radius:8px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal-close:hover{border-color:#ef4444;color:#ef4444}.modal-body{padding:1.5rem;overflow-y:auto;flex:1}.modal-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;padding:1.25rem;margin-bottom:1rem}.modal-section .section-title{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem;text-align:left;background:none;-webkit-text-fill-color:var(--text-primary)}.achievements-list,.technical-list{list-style:none}.achievements-list li,.technical-list li{padding:.5rem 0;color:var(--text-secondary);font-size:.9375rem;border-bottom:1px solid var(--border-color)}.achievements-list li:last-child,.technical-list li:last-child{border-bottom:none}.modal-footer{padding:1.25rem 1.5rem;border-top:1px solid var(--border-color);display:flex;gap:.75rem;justify-content:center}.modal-gallery{margin-bottom:1.5rem}.main-image-container{border-radius:12px;overflow:hidden;margin-bottom:.75rem;cursor:pointer;position:relative}.clickable-image{width:100%;height:280px;object-fit:cover;display:block;transition:transform .3s ease}.main-image-container:hover .clickable-image{transform:scale(1.02)}.gallery-thumbnails{display:flex;gap:.5rem;justify-content:center}.thumbnail{width:60px;height:45px;border-radius:6px;overflow:hidden;cursor:pointer;border:2px solid transparent;opacity:.6;transition:all .2s ease}.thumbnail.active{opacity:1;border-color:var(--primary)}.thumbnail img{width:100%;height:100%;object-fit:cover}.lightbox-overlay{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:3000}.lightbox-image{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px}.lightbox-close{position:absolute;top:1rem;right:1rem;width:48px;height:48px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;background:#ffffff1a;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center}.lightbox-prev{left:1rem}.lightbox-next{right:1rem}.glass-card{background:var(--bg-card);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:12px}@media (max-width: 768px){.nav-menu{position:fixed;top:64px;left:0;right:0;background:#0f0f1afa;flex-direction:column;padding:1rem;gap:.25rem;transform:translateY(-100%);opacity:0;pointer-events:none;transition:all .3s ease;border-bottom:1px solid var(--border-color)}.nav-menu.active{transform:translateY(0);opacity:1;pointer-events:auto}.nav-toggle{display:flex}.nav-toggle.active .bar:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.nav-toggle.active .bar:nth-child(2){opacity:0}.nav-toggle.active .bar:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero-section{padding:5rem 1rem 3rem;min-height:auto}.hero-name{font-size:clamp(2rem,10vw,3rem)}.hero-stats{gap:1.25rem}.stat-divider{height:32px}.stat-value{font-size:1.5rem}.projects-grid{grid-template-columns:1fr}.modal-content{max-height:95vh}.modal-header,.modal-body{padding:1rem}.contact-grid{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.hero-buttons{flex-direction:column;align-items:center}.btn-primary,.btn-secondary{width:100%;max-width:280px}.hero-stats{flex-direction:column;gap:1rem}.stat-divider{width:40px;height:1px}.contact-grid{grid-template-columns:1fr}.bio-card{padding:1.5rem}}.fade-in{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease}.fade-in.visible,.project-card.visible{opacity:1;transform:translateY(0)}.project-card{opacity:0;transform:translateY(30px);transition:opacity .4s ease,transform .4s ease}
