:root{--bg:#101010;--bg-alt:#1a1a1a;--text:#ececec;--text-muted:#9c9c9c;--border:#2b2b2b;--accent:#6ea8fe;color-scheme:dark}:root[data-theme=light]{--bg:#fff;--bg-alt:#f6f6f6;--text:#1a1a1a;--text-muted:#6b6b6b;--border:#e4e4e4;--accent:#2563eb;color-scheme:light}:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--container:46rem;--space:1rem}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.6;transition:background-color .2s,color .2s}a{color:var(--accent);text-decoration:none;transition:opacity .15s}a:hover{opacity:.75}.container{max-width:var(--container);margin:0 auto;padding:0 1.25rem}.site-header{border-bottom:1px solid var(--border);background:var(--bg)}.nav{max-width:var(--container);justify-content:space-between;align-items:center;margin:0 auto;padding:1.1rem 1.25rem;display:flex}.nav-name{color:var(--text);font-size:1rem;font-weight:600}.nav-links{gap:1.5rem;list-style:none;display:flex}.nav-links a{color:var(--text-muted);font-size:.9375rem}.nav-links a:hover{color:var(--text)}.theme-toggle{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;padding:.35rem .55rem;font-size:.9375rem;line-height:1;transition:border-color .15s,color .15s}.theme-toggle:hover{border-color:var(--text-muted);color:var(--text)}.nav-actions{align-items:center;gap:.5rem;display:flex}.section{padding:4.5rem 0}.section-alt{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.section-title{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin-bottom:1.75rem;font-size:.8125rem}.hero{text-align:center;padding:6rem 0 4.5rem}.hero-avatar{object-fit:cover;border-radius:50%;width:96px;height:96px;margin-bottom:1.5rem}.hero h1{letter-spacing:-.02em;margin-bottom:.5rem;font-size:2.5rem;font-weight:700}.hero-role{font-family:var(--font-mono);color:var(--accent);margin-bottom:1.25rem;font-size:.9375rem}.hero-tagline{color:var(--text-muted);max-width:34rem;margin:0 auto 2rem;font-size:1.125rem}.hero-actions{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.btn{border:1px solid var(--border);color:var(--text);border-radius:6px;padding:.6rem 1.4rem;font-size:.9375rem;transition:background .15s,opacity .15s;display:inline-block}.btn:hover{opacity:1;background:var(--bg-alt)}.btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent);opacity:.85}.about-text{color:var(--text);max-width:40rem}.about-text p{margin-bottom:1rem}.skills-grid{grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:2rem;display:grid}.skill-group h3{margin-bottom:.75rem;font-size:.9375rem;font-weight:600}.skill-group ul{list-style:none}.skill-group li{color:var(--text-muted);border-bottom:1px dashed var(--border);align-items:center;gap:.6rem;padding:.3rem 0;font-size:.9375rem;transition:color .15s;display:flex}.skill-group li:hover{color:var(--text)}.skill-group li:hover .skill-icon{color:var(--accent)}.skill-icon{flex-shrink:0;width:1.15rem;height:1.15rem;transition:color .15s}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(17rem,1fr));gap:1.25rem;display:grid}.project-card{border:1px solid var(--border);border-radius:8px;flex-direction:column;gap:.75rem;padding:1.5rem;transition:border-color .15s,box-shadow .15s;display:flex}.project-card:hover{border-color:var(--text-muted)}.project-card h3{font-size:1.0625rem;font-weight:600}.project-card p{color:var(--text-muted);flex-grow:1;font-size:.9375rem}.project-tech{flex-wrap:wrap;gap:.4rem;display:flex}.project-tech span{font-family:var(--font-mono);color:var(--text-muted);background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.project-links{gap:1rem;font-size:.875rem;display:flex}.timeline{flex-direction:column;gap:1.5rem;display:flex}.timeline-item h3{font-size:1rem;font-weight:600}.timeline-item .meta{font-family:var(--font-mono);color:var(--text-muted);margin:.25rem 0 .5rem;font-size:.8125rem}.timeline-item p{color:var(--text-muted);max-width:38rem;font-size:.9375rem}.about-facts{flex-wrap:wrap;gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none;display:flex}.about-facts li{border:1px solid var(--border);color:var(--text-muted);border-radius:999px;padding:.35rem .75rem;font-size:.8125rem}.timeline-bullets{color:var(--text);margin:.25rem 0 0;padding-left:1.25rem}.timeline-bullets li{margin-bottom:.4rem;line-height:1.6}.contact p{color:var(--text-muted);max-width:34rem;margin-bottom:1.5rem;margin-left:auto;margin-right:auto}.contact .visitor-count{color:var(--text-muted);margin-top:2.5rem;margin-bottom:0;font-size:.8125rem}.menu-toggle{border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;flex-direction:column;justify-content:center;gap:5px;padding:.45rem .5rem;transition:border-color .15s;display:none}.menu-toggle:hover{border-color:var(--text-muted)}.menu-bar{background:var(--text-muted);border-radius:2px;width:18px;height:2px;transition:transform .25s,opacity .25s;display:block}.menu-toggle.is-open .menu-bar:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle.is-open .menu-bar:nth-child(2){opacity:0}.menu-toggle.is-open .menu-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width>=641px){.site-header{z-index:998;-webkit-backdrop-filter:blur(8px);position:sticky;top:0}}@media (width<=640px){.hero h1{font-size:2rem}.hero{padding:4rem 0 3rem}.section{padding:3.25rem 0}.site-header{z-index:1001;position:relative}.menu-toggle{z-index:1002;display:flex;position:relative}.nav-links{background:var(--bg);border-left:1px solid var(--border);z-index:1000;flex-direction:column;gap:0;width:min(280px,75vw);height:100dvh;padding:5rem 1.5rem 2rem;transition:transform .3s;position:fixed;top:0;right:0;overflow-y:auto;transform:translate(100%);box-shadow:-4px 0 24px #0000004d}.nav-links.is-open{transform:translate(0)}.nav-links a{border-bottom:1px solid var(--border);padding:.75rem 0;font-size:1.125rem;display:block}.nav-overlay{z-index:999;background:#00000080;display:none;position:fixed;inset:0}.nav-overlay.is-open{display:block}}
