:root{color-scheme:light dark;--bg: #f8f6f1;--fg: #2a2a2a;--muted: #7a7770;--accent: #2a2a2a;--rule: #e6e2d8;--code-bg: #efece4;--max-width: 64rem;--max-width-wide: none;--font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace}@media(prefers-color-scheme:dark){:root{--bg: #14130f;--fg: #d6d3cc;--muted: #8a8780;--accent: #d6d3cc;--rule: #2a2924;--code-bg: #1f1e1a}}*{box-sizing:border-box}html,body{margin:0;padding:0}html{font-size:200%}body{background:var(--bg);color:var(--fg);font-family:var(--font-serif);font-size:1.1875rem;line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.layout{display:grid;grid-template-columns:16rem 1fr;gap:0;min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;padding:4rem 2rem;border-right:1px solid var(--rule);display:flex;flex-direction:column;gap:.5rem;overflow-y:auto}.sidebar a.logo{font-family:var(--font-serif);font-size:1.5rem;font-weight:600;letter-spacing:-.02em;color:var(--accent);text-decoration:none}.sidebar .tagline{display:block;font-style:italic;font-size:.95rem;color:var(--muted);margin-top:.25rem;margin-bottom:1.5rem}.sidebar .site-nav{display:flex;flex-direction:column;gap:.5rem;font-family:var(--font-sans);font-size:.95rem}.sidebar .site-nav a{color:var(--muted);text-decoration:none}.sidebar .site-nav a:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.page{max-width:var(--max-width);margin:0 auto;padding:4rem 2rem 6rem;min-width:0}.page.wide{max-width:var(--max-width-wide)}@media(max-width:768px){.layout{grid-template-columns:1fr}.sidebar{position:static;height:auto;border-right:none;border-bottom:1px solid var(--rule);padding:2rem 1.5rem}.sidebar .site-nav{flex-direction:row;flex-wrap:wrap;gap:.75rem}.page{padding:2rem 1.5rem 4rem}}footer.site{margin-top:6rem;padding-top:2rem;border-top:1px solid var(--rule);color:var(--muted);font-family:var(--font-sans);font-size:.8rem}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;letter-spacing:-.015em;line-height:1.25;margin:2em 0 .6em}h1{font-size:2.5rem;letter-spacing:-.025em;margin-top:0}h2{font-size:1.65rem}h3{font-size:1.3rem}p{margin:0 0 1.1em}a{color:var(--fg);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}a:hover{color:var(--muted)}blockquote{margin:1.5em 0;padding-left:1.2em;border-left:2px solid var(--rule);color:var(--muted);font-style:italic}code{font-family:var(--font-mono);font-size:.9em;background:var(--code-bg);padding:.15em .35em;border-radius:3px}pre{background:var(--code-bg);padding:1rem 1.25rem;border-radius:4px;overflow-x:auto;font-size:.875rem;line-height:1.5;margin:1.5em 0}pre code{background:transparent;padding:0;font-size:inherit}hr{border:0;border-top:1px solid var(--rule);margin:3em 0}ul,ol{padding-left:1.4em}li{margin:.3em 0}.entry-list{list-style:none;padding:0;margin:0}.entry-list li{margin:0 0 2rem;padding:0}.entry-list .marker{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:.25rem}.entry-list .title{font-size:1.25rem;font-weight:600;display:block;text-decoration:none;color:var(--accent);margin-bottom:.25rem}.entry-list .title:hover{color:var(--muted)}.entry-list .summary{color:var(--muted);font-size:.95rem;margin:0}article.entry header.entry-header{margin-bottom:3rem}article.entry .marker{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.05em;color:var(--muted);text-transform:uppercase;display:block;margin-bottom:1rem}article.entry .meta{color:var(--muted);font-family:var(--font-sans);font-size:.85rem;margin-top:.5rem}article.entry .back{display:inline-block;margin-top:3rem;color:var(--muted);font-family:var(--font-sans);font-size:.85rem}.intro{font-size:1.25rem;color:var(--fg);margin-bottom:3rem}.intro p{margin-bottom:1em}.coming-soon{font-family:var(--font-mono);font-size:.85rem;color:var(--muted);padding:1.5rem;border:1px dashed var(--rule);border-radius:4px;margin-top:3rem}
