:root{--bg: #fdfdfc;--fg: #1c1c1a;--muted: #6b6b66;--accent: #0a7d5f;--border: #e4e4e0;--banner-bg: #fff7e0;--banner-border: #eadfb8}@media(prefers-color-scheme:dark){:root{--bg: #16161a;--fg: #eaeae6;--muted: #9a9a94;--accent: #4cc9a4;--border: #2c2c32;--banner-bg: #26221a;--banner-border: #453d28}}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.6}main{max-width:42rem;margin:0 auto;padding:3rem 1.25rem 4rem}h1{font-size:2rem;margin:0 0 .25rem}h2{font-size:1.1rem;margin:2.5rem 0 .75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.subtitle{color:var(--muted);margin:0 0 1.5rem}.banner{background:var(--banner-bg);border:1px solid var(--banner-border);border-radius:8px;padding:.6rem 1rem;font-size:.95rem;margin-bottom:2rem}.projects{list-style:none;padding:0;margin:0;display:grid;gap:.9rem}.projects li{border:1px solid var(--border);border-radius:8px;padding:.8rem 1rem}.projects .name{font-weight:600}.projects .desc{color:var(--muted);font-size:.95rem;margin:.15rem 0 0}.links{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:.5rem 1.5rem}
