:root{--bg: #fff;--fg: #111;--muted: #666;--accent: #0066cc;--border: #e5e5e5;--max-width: 640px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--mono: "JetBrains Mono", "Fira Code", monospace}@media (prefers-color-scheme: dark){:root{--bg: #111;--fg: #eee;--muted: #888;--accent: #4d9fff;--border: #2a2a2a}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font);font-size:17px;line-height:1.65;color:var(--fg);background:var(--bg);padding:0 1rem}header{max-width:var(--max-width);margin:2rem auto}header nav{display:flex;gap:1.5rem;align-items:baseline}header nav a:first-child{font-weight:600;margin-right:auto}main{max-width:var(--max-width);margin:3rem auto}footer{max-width:var(--max-width);margin:4rem auto 2rem;color:var(--muted);font-size:.875rem}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.intro{margin-bottom:3rem}.intro p{color:var(--muted);font-size:1.1rem}.posts{display:flex;flex-direction:column;gap:.75rem}.posts article{display:flex;gap:1.5rem;align-items:baseline}.posts time{color:var(--muted);font-size:.875rem;white-space:nowrap;font-family:var(--mono)}.posts .all-posts{margin-top:.5rem;color:var(--muted);font-size:.875rem}h1{font-size:1.5rem;font-weight:600;margin-bottom:2rem}section.posts article+article{border-top:none}.post header{margin:0 0 2.5rem}.post header h1{font-size:1.75rem;margin-bottom:.25rem}.post header time{color:var(--muted);font-size:.875rem;font-family:var(--mono)}.post .content h2,.post .content h3,.post .content h4{margin:2rem 0 .75rem;font-weight:600}.post .content h2{font-size:1.25rem}.post .content h3{font-size:1.1rem}.post .content p{margin-bottom:1.25rem}.post .content ul,.post .content ol{margin:0 0 1.25rem 1.5rem}.post .content ul li+li,.post .content ol li+li{margin-top:.25rem}.post .content blockquote{border-left:3px solid var(--border);padding-left:1rem;color:var(--muted);margin:1.5rem 0}.post .content pre{background:var(--border);padding:1rem;border-radius:4px;overflow-x:auto;margin-bottom:1.25rem;font-family:var(--mono);font-size:.875rem}.post .content code{font-family:var(--mono);font-size:.875em;background:var(--border);padding:.1em .3em;border-radius:3px}.post .content pre code{background:none;padding:0}.post .content hr{border:none;border-top:1px solid var(--border);margin:2rem 0}.post .content img{max-width:100%;height:auto}