@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--bg: #f7f7f5;--panel: #ffffff;--panel-raised: #f0efed;--panel-rgb: 255, 255, 255;--text: #0d0d0d;--muted: #64748b;--primary: #1a56db;--primary-strong:#1e429f;--primary-rgb: 26, 86, 219;--secondary: #059669;--accent: #1a56db;--accent-rgb: 26, 86, 219;--outline: rgba(0, 0, 0, .09);--outline-strong:rgba(0, 0, 0, .16);--shadow: 0 1px 3px rgba(0,0,0,.04), 0 6px 20px rgba(0,0,0,.06);--shadow-hover: 0 2px 6px rgba(0,0,0,.06), 0 12px 32px rgba(0,0,0,.09);--radius-lg: 12px;--radius-md: 8px;--font-main: "Inter", system-ui, -apple-system, sans-serif;--font-display: "Inter", system-ui, sans-serif}body.dark-theme{--bg: #0c0c0c;--panel: #161616;--panel-raised: #1e1e1e;--panel-rgb: 22, 22, 22;--text: #f2f2f0;--muted: #94a3b8;--primary: #4f8ef7;--primary-strong:#7aabfa;--primary-rgb: 79, 142, 247;--secondary: #34d399;--accent: #4f8ef7;--accent-rgb: 79, 142, 247;--outline: rgba(255,255,255,.08);--outline-strong:rgba(255,255,255,.16);--shadow: 0 1px 3px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.25);--shadow-hover: 0 2px 6px rgba(0,0,0,.4), 0 12px 32px rgba(0,0,0,.35)}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-main);background:var(--bg);color:var(--text);line-height:1.65;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;transition:background .25s ease,color .25s ease}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.container{width:min(1140px,92%);margin:0 auto}section{padding:5.5rem 0}.section{padding:5rem 0}header{position:fixed;top:0;width:100%;z-index:999;background:var(--bg);border-bottom:1px solid var(--outline);transition:background .25s ease,border-color .25s ease}.nav{display:flex;align-items:center;justify-content:space-between;height:68px}.logo{font-size:1.2rem;font-weight:800;letter-spacing:-.04em;color:var(--text)}.logo span{color:var(--primary)}.nav-links{display:flex;align-items:center;gap:.2rem;list-style:none}.nav-links a{color:var(--muted);font-weight:500;font-size:.925rem;padding:.4rem .7rem;border-radius:6px;transition:color .15s ease,background .15s ease}.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--outline)}.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:none;border:1px solid var(--outline);border-radius:8px;padding:.6rem;cursor:pointer}.mobile-menu-btn span{width:20px;height:1.5px;background:var(--text);transition:all .25s ease}.theme-toggle{background:none;border:1px solid var(--outline);border-radius:6px;padding:.4rem .7rem;color:var(--muted);font-weight:500;font-size:.85rem;cursor:pointer;font-family:var(--font-main);transition:color .15s ease,background .15s ease,border-color .15s ease}.theme-toggle:hover{color:var(--text);border-color:var(--outline-strong);background:var(--outline)}.glass-panel{background:var(--bg);border-bottom:1px solid var(--outline);position:fixed;inset:0 0 auto;z-index:999;transition:background .25s ease}.nav-container{width:min(1140px,92%);margin:0 auto;display:flex;align-items:center;justify-content:space-between;height:68px}.section-header{display:inline-flex;align-items:center;gap:.5rem;margin-bottom:.75rem;color:var(--primary);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:.78rem}.section-header:before{content:"";display:block;width:16px;height:2px;background:var(--primary);border-radius:2px}.section-title{font-size:clamp(1.75rem,2.6vw,2.4rem);font-weight:800;letter-spacing:-.03em;line-height:1.15;margin-bottom:.85rem}.section-subtitle{color:var(--muted);max-width:660px;margin-bottom:2.5rem;font-size:1rem;line-height:1.65}.hero{padding:8.5rem 0 5.5rem;position:relative}.hero:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(var(--primary-rgb),.07) 1px,transparent 1px);background-size:28px 28px;pointer-events:none}body.dark-theme .hero:before{background-image:radial-gradient(circle,rgba(255,255,255,.035) 1px,transparent 1px)}.hero-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2.5rem;align-items:center;position:relative}.hero-copy h1{font-size:clamp(2.1rem,3.6vw,3.1rem);font-weight:800;letter-spacing:-.04em;line-height:1.1;margin-bottom:1.1rem}.hero-copy h1 .accent{color:var(--primary)}.eyebrow{color:var(--primary);text-transform:uppercase;font-weight:600;letter-spacing:.07em;font-size:.78rem;margin-bottom:.8rem}.hero-copy>p{color:var(--muted);max-width:560px;margin-bottom:2rem;font-size:1.05rem}.btn-row{display:flex;gap:.75rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.72rem 1.2rem;border-radius:var(--radius-md);border:1px solid transparent;font-weight:600;font-size:.925rem;cursor:pointer;font-family:var(--font-main);transition:transform .15s ease,box-shadow .15s ease,background .15s ease,border-color .15s ease,color .15s ease}.btn-primary{background:var(--primary);color:#fff;border-color:var(--primary)}.btn-primary:hover{background:var(--primary-strong);border-color:var(--primary-strong);transform:translateY(-1px);box-shadow:0 4px 14px rgba(var(--primary-rgb),.35)}.btn-ghost{background:transparent;color:var(--text);border-color:var(--outline-strong)}.btn-ghost:hover{background:var(--outline);transform:translateY(-1px)}.btn-secondary{background:var(--panel-raised);border:1px solid var(--outline-strong);color:var(--text);display:inline-flex;align-items:center;justify-content:center;padding:.7rem 1.2rem;border-radius:var(--radius-md);font-weight:600;font-size:.925rem;cursor:pointer;font-family:var(--font-main);transition:background .15s ease,border-color .15s ease}.btn-secondary:hover{background:var(--outline);border-color:var(--outline-strong)}.hero-card{background:var(--panel);border:1px solid var(--outline);border-radius:var(--radius-lg);padding:1.75rem;box-shadow:var(--shadow);display:grid;gap:1.25rem}.hero-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.45rem .85rem;border-radius:999px;background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.18);color:var(--primary);font-weight:600;font-size:.875rem;width:fit-content}.hero-card>p{color:var(--muted);font-size:.95rem}.hero-highlight{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:.75rem}.hero-highlight .stat{background:var(--panel-raised);border:1px solid var(--outline);border-radius:var(--radius-md);padding:.85rem 1rem}.hero-highlight .label{color:var(--muted);font-size:.73rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:.3rem}.hero-highlight .value{font-weight:700;font-size:.9rem;letter-spacing:-.01em}#about,#resume{background:var(--panel);border-top:1px solid var(--outline);border-bottom:1px solid var(--outline)}.about-list{list-style:none;display:grid;gap:.5rem;margin-top:.75rem}.about-list li{color:var(--muted);font-size:.925rem;padding-left:1rem;position:relative}.about-list li:before{content:"→";position:absolute;left:0;color:var(--primary);font-size:.75rem;top:.1rem}.split-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.25rem}.card{background:var(--panel);border:1px solid var(--outline);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.85rem;transition:box-shadow .2s ease,border-color .2s ease,transform .2s ease}.card:hover{box-shadow:var(--shadow-hover);border-color:var(--outline-strong);transform:translateY(-2px)}.card h3{font-size:1.15rem;font-weight:700;letter-spacing:-.02em}.card p{color:var(--muted);font-size:.95rem;line-height:1.6}.glass{background:var(--panel);border:1px solid var(--outline);border-radius:var(--radius-lg);box-shadow:var(--shadow)}.skills{display:flex;flex-wrap:wrap;gap:.45rem}.skill-chip{padding:.4rem .8rem;border-radius:6px;border:1px solid var(--outline-strong);background:var(--panel-raised);font-weight:500;font-size:.85rem;color:var(--text)}.project-list{display:grid;gap:1.5rem}.project-item{background:var(--panel);border:1px solid var(--outline);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:1rem;transition:box-shadow .2s ease,border-color .2s ease}.project-item:hover{box-shadow:var(--shadow-hover);border-color:var(--outline-strong)}.project-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.project-category{padding:.25rem .65rem;border-radius:999px;background:rgba(var(--primary-rgb),.08);border:1px solid rgba(var(--primary-rgb),.2);font-size:.75rem;font-weight:700;color:var(--primary);text-transform:uppercase;letter-spacing:.05em}.project-tag{padding:.25rem .65rem;border-radius:999px;background:var(--panel-raised);border:1px solid var(--outline-strong);font-size:.75rem;font-weight:600;color:var(--muted)}.project-item h3{font-size:1.3rem;font-weight:800;letter-spacing:-.03em;line-height:1.2}.project-item .desc{color:var(--muted);line-height:1.65;font-size:.975rem}.project-note{font-size:.85rem;color:var(--muted);font-style:italic}.tech-list{display:flex;flex-wrap:wrap;gap:.4rem}.tech-list span{padding:.3rem .7rem;border-radius:999px;background:rgba(var(--primary-rgb),.07);border:1px solid rgba(var(--primary-rgb),.18);color:var(--primary);font-weight:600;font-size:.8rem}.col-title{font-size:1.1rem;font-weight:700;letter-spacing:-.02em;margin-bottom:1.25rem;padding-bottom:.75rem;border-bottom:2px solid var(--outline-strong)}.timeline{border-left:2px solid var(--outline-strong);padding-left:1.5rem;margin-left:.25rem;display:grid;gap:0}.timeline-item{position:relative;padding-bottom:1.75rem}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:-1.675rem;top:.35rem;width:8px;height:8px;border-radius:50%;background:var(--primary);border:2px solid var(--bg);outline:2px solid var(--primary)}body.dark-theme .timeline-item:before{border-color:var(--bg)}.date{color:var(--primary);font-weight:600;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.3rem}.timeline-item h4{font-weight:700;font-size:.975rem;letter-spacing:-.01em;margin-bottom:.2rem}.org{color:var(--muted);font-size:.875rem;margin-bottom:.5rem}.timeline-desc{color:var(--muted);font-size:.875rem;line-height:1.6;margin-top:.35rem}.timeline-item ul{margin-top:.5rem;padding-left:1.1rem;color:var(--muted);font-size:.875rem;display:grid;gap:.35rem;list-style:disc}.inline-link{color:var(--primary);font-weight:500;text-decoration:underline;text-underline-offset:2px}.inline-link:hover{opacity:.8}.contact-card{background:var(--panel);border:1px solid var(--outline);border-radius:var(--radius-lg);padding:3.5rem 2.5rem;box-shadow:var(--shadow);text-align:center;display:flex;flex-direction:column;align-items:center;gap:.75rem}.contact-card .section-header{justify-content:center}.contact-card .section-title{margin-bottom:0}.contact-card>p{color:var(--muted);max-width:560px;font-size:1rem;margin-bottom:.5rem}.contact-links{display:flex;justify-content:center;gap:.75rem;flex-wrap:wrap;margin-top:.75rem}.contact-links a{padding:.55rem 1rem;border-radius:var(--radius-md);border:1px solid var(--outline-strong);color:var(--muted);font-size:.9rem;font-weight:500;transition:color .15s ease,border-color .15s ease,background .15s ease}.contact-links a:hover{color:var(--text);border-color:var(--primary);background:rgba(var(--primary-rgb),.06)}footer{padding:2rem 0 2.5rem;border-top:1px solid var(--outline);margin-top:2rem;text-align:center;color:var(--muted);font-size:.875rem}.footer{border-top:1px solid var(--outline);padding:2rem 0;text-align:center;color:var(--muted);font-size:.875rem;margin-top:2rem}.greeting{display:inline-block;letter-spacing:.07em;text-transform:uppercase;color:var(--primary);font-weight:600;font-size:.78rem}.gradient-text{font-weight:800;letter-spacing:-.04em;color:var(--text)}.hero-description{color:var(--muted);font-size:1rem;line-height:1.7}.tech-stack{display:flex;flex-wrap:wrap;gap:.5rem}.tech-stack-tag{background:rgba(var(--primary-rgb),.07);border:1px solid rgba(var(--primary-rgb),.18);color:var(--primary);padding:.4rem .85rem;border-radius:999px;font-weight:600;font-size:.875rem}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem}.project-card{background:var(--panel);border:1px solid var(--outline);border-radius:var(--radius-lg);padding:1.5rem;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:.75rem;height:100%;transition:box-shadow .2s ease,border-color .2s ease}.project-card:hover{box-shadow:var(--shadow-hover);border-color:var(--outline-strong)}.project-card h3{font-size:1rem;font-weight:700;letter-spacing:-.01em}.project-card p{color:var(--muted);font-size:.9rem;line-height:1.6}.project-card ul{color:var(--muted);padding-left:1.2rem;display:grid;gap:.35rem;font-size:.875rem;list-style:disc}.project-card .btn{width:100%;justify-content:center}.project-info{display:flex;flex-direction:column;gap:.5rem;height:100%}.accent-blue{border-left:3px solid var(--primary);padding-left:1.25rem}.accent-green{border-left:3px solid var(--secondary);padding-left:1.25rem}.accent-amber{border-left:3px solid #d97706;padding-left:1.25rem}.fade-in{opacity:0;transform:translateY(14px);transition:opacity .5s ease,transform .5s ease}.fade-in.visible{opacity:1;transform:translateY(0)}@media(max-width:860px){.nav-links{position:fixed;inset:68px 1rem auto;background:var(--panel);border:1px solid var(--outline);border-radius:var(--radius-lg);padding:1rem;flex-direction:column;gap:.2rem;box-shadow:var(--shadow-hover);display:none}.nav-links.active{display:flex}.nav-links a{padding:.6rem .75rem}.mobile-menu-btn{display:flex}.hero{padding-top:7.5rem}.project-item{padding:1.5rem}.contact-card{padding:2.5rem 1.5rem}}@media(max-width:768px){.nav-container{height:auto;padding:1rem 0}.glass-panel{position:sticky}}
