:root{--bg: #fafaf7;--fg: #1a1a1a;--muted: #6a6a6a;--accent: #8b4513;--rule: #e4e4e0;--code-bg: #f0f0ec;--serif: ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, "Hoefler Text", Georgia, serif;--mono: ui-monospace, "SF Mono", Menlo, Monaco, Consolas, monospace;--bp-phone: 640px;--bp-tablet: 1024px;--w-prose: 72ch;--w-wide: min(96vw, 1800px);--w-dashboard: min(96vw, 2000px);--rail-toc: 14rem;--rail-aside: 16rem;--grid-gap: 1.25rem}@media(prefers-color-scheme:dark){:root{--bg: #14140f;--fg: #e8e6dd;--muted: #8a8a80;--accent: #c88a52;--rule: #2a2a24;--code-bg: #1e1e18}}html{background:var(--bg);color:var(--fg)}body{margin:0;font-family:var(--serif);font-size:17px;line-height:1.6;padding:2rem 1.5rem;margin-inline:auto}body[data-layout=prose]{max-width:var(--w-prose)}body[data-layout=wide]{max-width:var(--w-wide)}body[data-layout=dashboard]{max-width:var(--w-dashboard)}body[data-layout=dashboard] main{display:block}body[data-layout=dashboard] main>.main-content{display:block}body[data-layout=prose] main{display:block}body[data-layout=prose] .rail{display:none}@media(min-width:1024px){body[data-layout=prose][data-has-toc] main,body[data-layout=prose][data-has-aside] main{display:grid;grid-template-columns:minmax(0,1fr) var(--rail-toc) minmax(auto,var(--w-prose)) var(--rail-aside) minmax(0,1fr);gap:2rem;align-items:start}body[data-layout=prose][data-has-toc]:not([data-has-aside]) main{grid-template-columns:minmax(0,1fr) var(--rail-toc) minmax(auto,var(--w-prose)) minmax(0,1fr)}body[data-layout=prose]:not([data-has-toc])[data-has-aside] main{grid-template-columns:minmax(0,1fr) minmax(auto,var(--w-prose)) var(--rail-aside) minmax(0,1fr)}body[data-layout=prose][data-has-toc] .rail-toc{display:block;grid-column:2;position:sticky;top:2rem;max-height:calc(100vh - 4rem);overflow-y:auto}body[data-layout=prose][data-has-toc][data-has-aside] .main-content{grid-column:3}body[data-layout=prose][data-has-toc]:not([data-has-aside]) .main-content{grid-column:3}body[data-layout=prose]:not([data-has-toc])[data-has-aside] .main-content{grid-column:2}body[data-layout=prose][data-has-aside] .rail-aside{display:block;grid-column:-2;position:sticky;top:2rem}body[data-layout=prose]:not([data-has-toc]):not([data-has-aside]) main{display:block}body[data-layout=prose][data-has-toc],body[data-layout=prose][data-has-aside]{max-width:calc(var(--w-prose) + var(--rail-toc) + var(--rail-aside) + 6rem)}}header nav{display:flex;flex-wrap:wrap;gap:.75rem;align-items:baseline;padding-bottom:1rem;margin-bottom:2rem;border-bottom:1px solid var(--rule);font-family:var(--mono);font-size:.85rem}.brand{font-weight:600}.brand-mark{color:var(--accent);vertical-align:middle;margin-right:.4rem;transform:translateY(-1px)}.sep{color:var(--muted)}nav a{color:var(--muted);text-decoration:none}nav a:hover,nav a.brand{color:var(--fg)}main{min-height:60vh}h1,h2,h3{font-weight:600;line-height:1.2}h1{font-size:2rem;margin-top:0}h2{margin-top:2.5rem;border-bottom:1px solid var(--rule);padding-bottom:.25rem}h3{margin-top:2rem}a{color:var(--accent)}a:hover{text-decoration-thickness:2px}code{font-family:var(--mono);font-size:.9em;background:var(--code-bg);padding:.1em .3em;border-radius:3px}pre{background:var(--code-bg)!important;padding:1rem;border-radius:4px;overflow-x:auto;font-size:.85rem;line-height:1.5}pre code{background:none;padding:0}table{border-collapse:collapse;width:100%;margin:1.5rem 0;font-size:.92rem}th,td{border:1px solid var(--rule);padding:.4rem .6rem;text-align:left;vertical-align:top}th{background:var(--code-bg);font-weight:600}blockquote{border-left:3px solid var(--accent);margin-left:0;padding-left:1rem;color:var(--muted);font-style:italic}hr{border:none;border-top:1px solid var(--rule);margin:2rem 0}img,svg{max-width:100%;height:auto}footer{margin-top:4rem;padding-top:1rem;border-top:1px solid var(--rule);font-family:var(--mono);font-size:.8rem;color:var(--muted)}ul.index{list-style:none;padding:0}ul.index li{padding:.4rem 0;border-bottom:1px dashed var(--rule)}ul.index .date{font-family:var(--mono);font-size:.85rem;color:var(--muted);margin-right:.75rem}
