:root{--bg: #f6f7f2;--surface: #ffffff;--text: #131514;--muted: #4a4f4d;--line: #d8dbd7;--accent: #006a52;--accent-soft: #d9efe8;--terminal: #102019;--max-content: 760px;--radius: 10px;--space-1: .5rem;--space-2: .75rem;--space-3: 1rem;--space-4: 1.5rem;--space-5: 2rem;--space-6: 3rem}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:IBM Plex Sans,Avenir Next,Segoe UI,sans-serif;line-height:1.65;min-height:100vh}a{color:var(--accent);text-underline-offset:3px}img{display:block;max-width:100%;height:auto}.site-shell{margin:0 auto;max-width:980px;padding:var(--space-4)}.site-shell--wide{max-width:1120px}.site-header{align-items:center;display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-5);padding:var(--space-3) 0}.brand{color:var(--terminal);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:700;letter-spacing:.02em;text-decoration:none}.nav{display:flex;gap:var(--space-3)}.nav a{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.92rem;text-decoration:none;text-transform:lowercase}.nav a:before{content:"/"}.nav a:hover,.nav a:focus-visible{color:var(--text)}main{margin:0 auto;max-width:var(--max-content)}main.wide{max-width:1040px}.terminal-command,.post-path{color:var(--accent);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.9rem}.terminal-command{margin:0 0 var(--space-2)}.post-path{display:inline-block;margin-bottom:var(--space-1);text-decoration:none}.post-path:hover,.post-path:focus-visible{text-decoration:underline}.page-title{font-family:Fraunces,Georgia,serif;font-size:clamp(1rem,4.5vw,1.8rem);line-height:1.12;margin:0 0 var(--space-3)}.lead{color:var(--muted);margin:0 0 var(--space-4)}.post-list{display:grid;gap:var(--space-3);list-style:none;margin:0;padding:0}.post-item{border-top:1px solid var(--line);padding-top:var(--space-3)}.post-item h2,.post-item h3{margin:0 0 var(--space-1)}.post-meta{color:var(--muted);font-size:.92rem;margin:0}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:var(--space-2) 0 0;padding:0}.tag-pill{background:var(--accent-soft);border-radius:999px;color:#004a3b;display:inline-block;font-size:.85rem;padding:.2rem .65rem;text-decoration:none}.post-layout--series{align-items:start;display:grid;gap:var(--space-5);grid-template-columns:minmax(10rem,12rem) minmax(0,var(--max-content));justify-content:center}.series-nav{position:sticky;top:var(--space-4)}.series-heading{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem;font-weight:700;margin:0 0 var(--space-2);text-transform:uppercase}.series-list{list-style:none;margin:0;padding:0}.series-item{border-top:1px solid var(--line)}.series-item.current{border-top-color:var(--accent)}.series-item a{color:var(--muted);display:block;padding:var(--space-3) 0;text-decoration:none}.series-item a:hover,.series-item a:focus-visible,.series-item.current a{color:var(--accent)}.series-part{display:block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.75rem;margin-bottom:.2rem;text-transform:uppercase}.series-post-title{display:block;font-weight:500;line-height:1.35}.prose h1,.prose h2,.prose h3{font-family:Fraunces,Georgia,serif;line-height:1.2}.prose pre{overflow-x:auto;padding:var(--space-3);border-radius:10px;background:#f2f5f4}.prose .mermaid-block{margin:var(--space-4) 0;overflow-x:auto;padding:var(--space-2)}.prose .mermaid-block svg{display:block;height:auto;max-width:100%;margin:0 auto}.prose .mermaid-error{background:#fff5f3;border:1px solid #efb8ac;border-radius:10px;color:#8c2f20;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}.site-footer{color:var(--muted);font-size:.9rem;margin-top:var(--space-6);padding-bottom:var(--space-5)}@media(max-width:900px){.post-layout--series{display:block}.series-nav{margin-bottom:var(--space-5);position:static}}@media(max-width:640px){.site-shell{padding:var(--space-3)}.site-header{align-items:flex-start;flex-direction:column;margin-bottom:var(--space-4)}.post-item{padding-top:var(--space-3)}}
