:root{--bg:#f5f2f0;--bg-alt:#ebe7e3;--surface-green:#18231d;--surface-green-muted:#203128;--surface-text:#e8e4de;--surface-muted:#e8e4dead;--surface-border:#e8e4de29;--text:#1a1917;--text-muted:#6f6c66;--accent:#bf3a1a;--border:#c8c4be;--code-bg:#22272e;--ok:#3a9e5a;--warn:#c58a1b;--nav-height:64px;--font-mono:"IBM Plex Mono", ui-monospace, monospace;--font-body:"IBM Plex Sans", system-ui, sans-serif;--space-xs:.5rem;--space-s:1rem;--space-m:2rem;--space-l:4rem;--space-xl:7rem;--max-width:1100px;--prose-width:70ch}@media (prefers-color-scheme:dark){:root{--bg:#121513;--bg-alt:#1a1e1b;--text:#e8e4de;--text-muted:#9a968f;--accent:#e0603d;--border:#2e3430}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{background:var(--bg);color:var(--text);font-family:var(--font-body);-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;font-size:1rem;line-height:1.65;display:flex}main{flex:1}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}.container{max-width:var(--max-width);padding:0 var(--space-m);margin:0 auto}.section{padding:var(--space-l) 0;border-top:1px solid var(--border)}.section:first-of-type{border-top:none}@media (width<=640px){.container{padding:0 var(--space-s)}.section{padding:var(--space-m) 0}}.label{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:var(--space-m);font-size:.72rem;display:block}h1,h2,h3{font-family:var(--font-mono);letter-spacing:0;font-weight:400}h1{font-size:clamp(2.1rem,6vw,3.5rem);line-height:1.15}h2{font-size:clamp(1.5rem,4vw,2rem);line-height:1.2}h3{letter-spacing:.02em;font-size:1rem;font-weight:500}p{max-width:60ch}p+p{margin-top:var(--space-s)}.muted{color:var(--text-muted)}nav.site-nav{z-index:100;background:var(--bg);border-bottom:1px solid var(--border);height:var(--nav-height);position:sticky;top:0}.nav-inner{justify-content:space-between;align-items:center;gap:var(--space-s);height:100%;display:flex}.nav-logo{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:.85rem;font-weight:500}.nav-logo span{color:var(--accent)}.nav-links{gap:var(--space-m);list-style:none;display:flex}.nav-links a{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.75rem;transition:color .15s}.nav-links a:hover,.nav-links a.active{color:var(--text)}.nav-links a.active{border-bottom:1px solid var(--accent)}@media (width<=520px){.nav-links{gap:.9rem}.nav-links a{letter-spacing:.05em;font-size:.68rem}}.cta{align-items:center;gap:var(--space-xs);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--text);cursor:pointer;color:var(--text);background:0 0;padding:.75rem 1.25rem;font-size:.8rem;transition:background .15s,color .15s;display:inline-flex}.cta:hover{background:var(--text);color:var(--bg)}.cta.accent{border-color:var(--accent);background:var(--accent);color:#fff}.cta.accent:hover{color:var(--accent);background:0 0}.arrow-link{font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);font-size:.8rem}.arrow-link:hover{text-underline-offset:4px;text-decoration:underline}.status{font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:.4rem;font-size:.7rem;display:inline-flex}.status:before{content:"";background:var(--text-muted);border-radius:50%;width:7px;height:7px}.status.active:before{background:var(--ok)}.status.paused:before{background:var(--warn)}.status.idea:before{border:1px solid var(--text-muted);background:0 0}.status.done:before{background:var(--text)}.tags{flex-wrap:wrap;gap:.4rem;list-style:none;display:flex}.tag{font-family:var(--font-mono);letter-spacing:.04em;border:1px solid var(--border);color:var(--text-muted);padding:.15rem .5rem;font-size:.7rem;transition:border-color .15s,color .15s}a.tag:hover,.tag.active{border-color:var(--accent);color:var(--accent)}.grid{gap:var(--space-m);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));display:grid}@media (width<=400px){.grid{grid-template-columns:1fr}}.card{gap:var(--space-xs);flex-direction:column;display:flex}.card-media{aspect-ratio:16/10;background:var(--surface-green);margin-bottom:var(--space-xs);overflow:hidden}.card-media img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.card:hover .card-media img{transform:scale(1.03)}.card-media.empty{font-family:var(--font-mono);color:var(--surface-muted);letter-spacing:.1em;justify-content:center;align-items:center;font-size:.8rem;display:flex}.card h3{font-size:1.05rem}.card:hover h3{color:var(--accent)}.card p{color:var(--text-muted);font-size:.95rem}.card-meta{justify-content:space-between;align-items:center;gap:var(--space-xs);display:flex}.band{background:var(--surface-green);color:var(--surface-text);padding:var(--space-l) 0}.band .label,.band p{color:var(--surface-muted)}.band .cta{border-color:var(--surface-text);color:var(--surface-text)}.band .cta:hover{background:var(--surface-text);color:var(--surface-green)}.band-inner{justify-content:space-between;align-items:flex-end;gap:var(--space-m);flex-wrap:wrap;display:flex}.prose{max-width:var(--prose-width);font-size:1.05rem}.prose>*+*{margin-top:1.1em}.prose p{max-width:none}.prose h2{margin-top:2.2em;font-size:1.5rem}.prose h3{margin-top:1.8em;font-size:1.1rem}.prose a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:.3em}.prose img{border:1px solid var(--border);margin:1.5em 0}.prose blockquote{border-left:2px solid var(--accent);padding-left:var(--space-s);color:var(--text-muted)}.prose code{font-family:var(--font-mono);background:var(--bg-alt);padding:.1em .35em;font-size:.88em}.prose pre{padding:var(--space-s);font-size:.85rem;line-height:1.5;overflow-x:auto}.prose pre code{font-size:inherit;background:0 0;padding:0}.prose table{border-collapse:collapse;width:100%;font-size:.95rem;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--border);text-align:left;padding:.4em .7em}.prose th{font-family:var(--font-mono);font-size:.85rem;font-weight:500}.prose hr{border:none;border-top:1px solid var(--border);margin:2em 0}.form{gap:var(--space-s);max-width:560px;display:grid}.form label{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);gap:.35rem;font-size:.75rem;display:grid}.form input,.form textarea,.form select{font:inherit;font-family:var(--font-body);text-transform:none;letter-spacing:0;color:var(--text);border:1px solid var(--border);background:0 0;padding:.7rem .8rem}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--accent);outline:none}.form textarea{resize:vertical;min-height:160px}.hidden{display:none}footer.site-footer{border-top:1px solid var(--border);padding:var(--space-m) 0;font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);font-size:.72rem}.footer-inner{justify-content:space-between;gap:var(--space-s);flex-wrap:wrap;display:flex}.footer-links{gap:var(--space-m);flex-wrap:wrap;display:flex}.footer-links a:hover{color:var(--text)}.period{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-muted);font-size:.7rem}.band h2{margin-bottom:var(--space-xs)}
