:root{--bg: #0a0c10;--bg-alt: #0f1318;--border: #1e2530;--text: #e2e8f0;--dim: #64748b;--accent: #22c55e;--accent-dim: rgba(34, 197, 94, .12);--card-bg: #111722;--radius: 10px;font-family:Inter,system-ui,-apple-system,sans-serif;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--bg);color:var(--text);min-height:100%;scroll-behavior:smooth}a{color:inherit;text-decoration:none}.mono{font-family:JetBrains Mono,Fira Code,Courier New,monospace}.accent{color:var(--accent)}.dim{color:var(--dim)}.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;padding:0 2rem;height:56px;background:#0a0c10d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.nav-brand{font-family:JetBrains Mono,monospace;font-size:.9rem;color:var(--text);letter-spacing:.02em}.nav-links{display:flex;gap:2rem;list-style:none}.nav-links a{font-size:.85rem;color:var(--dim);transition:color .15s}.nav-links a:hover{color:var(--text)}.hero{max-width:720px;margin:0 auto;padding:6rem 2rem 5rem}.hero .mono{font-size:.85rem;margin-bottom:1.25rem}h1{font-size:clamp(2.4rem,5vw,3.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1;margin-bottom:.5rem}.hero-role{font-size:1.1rem;color:var(--dim);margin-bottom:1.25rem}.hero-bio{font-size:1rem;color:#94a3b8;line-height:1.7;max-width:560px;margin-bottom:2rem}.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;padding:.65rem 1.4rem;border-radius:var(--radius);font-size:.875rem;font-weight:500;cursor:pointer;transition:opacity .15s,background .15s}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{opacity:.88}.btn-ghost{border:1px solid var(--border);color:var(--text)}.btn-ghost:hover{background:var(--border)}.section{padding:5rem 2rem;border-top:1px solid var(--border)}.section-alt{background:var(--bg-alt)}.section-eyebrow{font-family:JetBrains Mono,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);margin-bottom:.6rem}.section>h2{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;margin-bottom:.5rem;max-width:720px;margin-left:auto;margin-right:auto}.section-sub{color:var(--dim);font-size:.9rem;margin-bottom:2.5rem;max-width:720px;margin-left:auto;margin-right:auto}.section-eyebrow,.section>h2,.section-sub{max-width:1000px;margin-left:auto;margin-right:auto;display:block}.skill-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem;max-width:1000px;margin:2.5rem auto 0}.skill-group{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem}.skill-category{font-family:JetBrains Mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--dim);margin-bottom:.75rem}.skill-tags{display:flex;flex-wrap:wrap;gap:.4rem}.skill-tag{font-size:.78rem;padding:.25rem .65rem;border-radius:999px;background:var(--accent-dim);color:var(--accent);border:1px solid rgba(34,197,94,.2)}.project-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.25rem;max-width:1000px;margin:0 auto}.project-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;display:flex;flex-direction:column;gap:.75rem;transition:border-color .2s}.project-card:hover{border-color:#22c55e4d}.tag{display:inline-block;font-family:JetBrains Mono,monospace;font-size:.7rem;text-transform:uppercase;letter-spacing:.08em;color:var(--accent);background:var(--accent-dim);border:1px solid rgba(34,197,94,.2);border-radius:4px;padding:.2rem .5rem;width:fit-content}.project-card h3{font-size:1rem;font-weight:600;color:var(--text)}.project-card p{font-size:.875rem;color:#94a3b8;line-height:1.6}.project-card ul{margin:0;padding-left:1.1rem;display:flex;flex-direction:column;gap:.3rem}.project-card li{font-size:.8rem;color:var(--dim)}.contact-row{display:flex;flex-wrap:wrap;gap:1rem;max-width:1000px;margin:2rem auto 0}.contact-link{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px solid var(--border);border-radius:var(--radius);font-size:.875rem;color:var(--text);background:var(--card-bg);transition:border-color .2s,color .2s}.contact-link:hover{border-color:#22c55e66;color:var(--accent)}.footer{padding:2rem;text-align:center;border-top:1px solid var(--border);font-size:.8rem;color:var(--dim)}.shell{min-height:100vh}@media (max-width: 640px){.hero{padding:4rem 1.25rem 3.5rem}.section{padding:3.5rem 1.25rem}.nav{padding:0 1.25rem}.nav-links{gap:1.25rem}}
