@font-face{font-family:"Nebula Sans";font-style:normal;font-display:swap;font-weight:300;src:url("https://cdn.jsdelivr.net/fontsource/fonts/nebula-sans@5.3.0/latin-300-normal.woff2") format("woff2")}@font-face{font-family:"Nebula Sans";font-style:normal;font-display:swap;font-weight:500;src:url("https://cdn.jsdelivr.net/fontsource/fonts/nebula-sans@5.3.0/latin-500-normal.woff2") format("woff2")}@font-face{font-family:"Nebula Sans";font-style:normal;font-display:swap;font-weight:600;src:url("https://cdn.jsdelivr.net/fontsource/fonts/nebula-sans@5.3.0/latin-600-normal.woff2") format("woff2")}@font-face{font-family:"Nebula Sans";font-style:normal;font-display:swap;font-weight:700;src:url("https://cdn.jsdelivr.net/fontsource/fonts/nebula-sans@5.3.0/latin-700-normal.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:400;src:url("https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-mono@5.3.0/latin-400-normal.woff2") format("woff2")}@font-face{font-family:"IBM Plex Mono";font-style:normal;font-display:swap;font-weight:500;src:url("https://cdn.jsdelivr.net/fontsource/fonts/ibm-plex-mono@5.3.0/latin-500-normal.woff2") format("woff2")}:root{--ink: #17211b;--muted: #617066;--paper: #f4f5ef;--surface: #ffffff;--line: #d7ded6;--accent: #c54b31;--accent-dark: #913521;--code: #202a25;--max-width: 960px}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Nebula Sans", sans-serif;font-weight:300;line-height:1.65}a{color:var(--accent-dark);text-underline-offset:0.18em}a:hover{color:var(--accent)}.shell{width:min(var(--max-width), calc(100% - 2rem));margin:0 auto}.site-header{border-bottom:1px solid var(--line);background:rgba(255,255,255,0.72)}.header-inner,.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4.5rem}.site-title{color:var(--ink);font-weight:700;text-decoration:none;letter-spacing:0.01em}nav{display:flex;gap:1.25rem;font-size:0.95rem}main{min-height:calc(100vh - 9rem);padding:5rem 0 6rem}.intro{max-width:700px;padding-bottom:4rem}.eyebrow,.post-meta{color:var(--muted);font-family:"IBM Plex Mono", monospace;font-size:0.8rem;letter-spacing:0.06em;text-transform:uppercase}h1,h2,h3{line-height:1.15}h1{max-width:780px;margin:0.7rem 0 1.25rem;font-size:clamp(2.5rem, 7vw, 5rem);font-weight:700;letter-spacing:-0.04em}h2{font-size:1.65rem;font-weight:600}h3{margin:0.35rem 0;font-size:1.4rem;font-weight:500}.lede{max-width:630px;color:var(--muted);font-size:1.15rem}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;border-bottom:2px solid var(--ink)}.post-preview{max-width:720px;padding:1.6rem 0;border-bottom:1px solid var(--line)}.post-preview p:last-child{margin-bottom:0;color:var(--muted)}.post{max-width:760px}.post-header{padding-bottom:2rem;border-bottom:1px solid var(--line)}.post-header h1{font-size:clamp(2.4rem, 6vw, 4.2rem)}.post-content{padding-top:2.5rem}.post-content h2{margin-top:2.5rem}.post-content pre{overflow-x:auto;padding:1.25rem;color:#edf3ed;background:var(--code);border-left:4px solid var(--accent);font:0.9rem/1.65 "IBM Plex Mono", monospace}.post-content code{font-family:"IBM Plex Mono", monospace;font-size:0.9em}.post-content :not(pre)>code{padding:0.15rem 0.3rem;background:#e4e9e1}.site-footer{border-top:1px solid var(--line);color:var(--muted);font-size:0.85rem}@media (max-width: 600px){main{padding-top:3rem}.header-inner,.footer-inner{align-items:flex-start;flex-direction:column;justify-content:center;padding:1rem 0}.footer-inner{align-items:flex-start}.section-heading{align-items:flex-start;flex-direction:column;gap:0.25rem;padding-bottom:0.75rem}}
