:root{color-scheme:light;--bg: #fcfcfc;--surface: #fff;--text: #1b1b1b;--body: #2f2f2f;--secondary: #6b6b6b;--tertiary: #b5b5b5;--muted: #9b9b9b;--subtle: rgba(0, 0, 0, .05);--element-line: rgba(0, 0, 0, .18);--line: #f0f0f0;--highlight: #f2edfe;--code-bg: #f7f7f7;--serif: "STIX Two Text", Georgia, "Times New Roman", serif;--mono: Menlo, Monaco, "Courier New", monospace;--measure: 720px;--radius: 0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:360px;background:var(--bg);color:var(--text);font-family:var(--serif);font-size:17px;line-height:1.5;letter-spacing:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}a{color:inherit;text-decoration-color:var(--tertiary);text-decoration-thickness:1px;text-underline-offset:2px;transition:text-decoration-color .15s ease,opacity .2s ease}a:hover{background:var(--highlight);text-decoration-color:transparent}h1,h2,h3,p{margin-top:0}mark{background:var(--highlight);color:inherit;box-shadow:inset 0 -1px #0000000f;padding:0 .12em}.page{width:min(var(--measure),calc(100% - 64px));margin:0 auto;padding:4rem 0}.topline{display:flex;align-items:baseline;justify-content:space-between;gap:24px;margin-bottom:3rem}.name{margin:0;color:var(--text);font-size:24px;font-weight:500;line-height:24px;letter-spacing:-.02em;text-wrap:balance}.nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;margin-top:0;color:var(--secondary);font-size:16px;line-height:24px}.nav a,.title-link,.clean-link{text-decoration:none}.social-link{display:inline-flex;align-items:center;justify-content:center;width:18px;height:24px;color:inherit}.social-link svg{width:15px;height:15px;fill:currentColor}.intro{max-width:var(--measure);margin-bottom:4rem;color:var(--text);font-size:17px;line-height:1.5}.intro p{margin:20px 0}.section,.post-feed{margin-top:48px}.feed-list{border-top:0}.feed-post{border-bottom:1px solid var(--subtle);padding:28px 0}.feed-header{margin-bottom:12px}.feed-title{margin:4px 0 0;color:var(--text);font-size:20px;font-weight:500;line-height:28px;letter-spacing:-.025em;text-wrap:balance}.feed-title a{text-decoration:none}.feed-body{max-width:100%}.feed-body p:last-child{margin-bottom:0}.section-title{margin:0;border-bottom:1px solid var(--line);color:var(--secondary);font-size:20px;font-weight:500;line-height:28px;letter-spacing:-.025em;padding-bottom:8px;text-wrap:balance}.simple-list{border-top:0}.row{display:grid;grid-template-columns:56px minmax(0,1fr) auto;gap:16px;align-items:center;border-bottom:1px solid var(--subtle);padding:14px 0}.row.expanded{grid-template-columns:56px minmax(0,1fr);align-items:start}.row-main{min-width:0}.row-title{display:flex;min-width:0;align-items:center;gap:8px;color:var(--text);font-size:17px;font-weight:500;line-height:1.5}.row-title a{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-decoration:none}.row-description{max-width:560px;margin:0;color:var(--secondary);font-size:17px;line-height:1.5}.year,.date,.row-meta,.meta{color:var(--secondary);font-variant-numeric:tabular-nums}.date{justify-self:end;width:48px;text-align:right}.quiet{color:var(--secondary);opacity:.6}.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.tag,.badge{display:inline-flex;align-items:center;box-shadow:0 0 0 1px var(--subtle);color:var(--secondary);font-family:var(--mono);font-size:10px;line-height:18px;padding:0 6px;text-decoration:none;text-transform:lowercase}.badge{background:var(--highlight);text-transform:uppercase}.note-item{border-bottom:1px solid var(--subtle);padding:14px 0}.note-item time{display:block;color:var(--tertiary);font-size:16px;line-height:24px}.external:after{content:" ->";color:var(--tertiary)}.prose{max-width:var(--measure);color:var(--body);font-size:17px;line-height:1.5}.prose-header{margin-bottom:24px}.prose-kicker{color:var(--tertiary);font-size:16px;line-height:24px}.prose h1{margin:0 0 4px;color:var(--text);font-size:24px;font-weight:500;line-height:24px;letter-spacing:-.02em;text-wrap:balance}.prose h2,.prose h3{margin:48px 0 8px;color:var(--text);font-size:20px;font-weight:500;line-height:28px;letter-spacing:-.025em;text-wrap:balance}.prose p,.prose li{color:var(--body)}.prose p,.prose ul,.prose ol{margin:20px 0}.prose ul,.prose ol{padding-left:24px}.prose blockquote{margin:24px 0;border-left:2px solid var(--element-line);color:var(--body);font-size:17px;font-style:normal;line-height:1.5;padding-left:16px}.prose code{background:var(--code-bg);font-family:var(--mono);font-size:13px;padding:2px 4px}.prose pre{overflow:auto;border:1px solid var(--element-line);border-radius:var(--radius);background:var(--surface);color:var(--body);font-family:var(--mono);font-size:14px;line-height:1.5;margin:24px 0;padding:1rem}.prose pre code{background:transparent;color:inherit;padding:0}.prose table{width:100%;border-collapse:collapse;display:block;margin:20px 0;max-width:fit-content;overflow-x:auto;white-space:nowrap;font-size:17px}.prose th,.prose td{border-bottom:1px solid var(--element-line);padding:8px;text-align:left;vertical-align:top}.prose th{color:var(--secondary);font-size:12px;font-weight:500;text-transform:uppercase}.callout{border:1px solid var(--element-line);border-radius:var(--radius);background:var(--surface);margin:20px 0;padding:1rem}.figure-placeholder{display:grid;min-height:324px;place-items:center;border:1px solid var(--element-line);border-radius:var(--radius);background:var(--surface);color:var(--muted);font-family:var(--mono);font-size:14px}.prose figcaption{margin-top:8px;color:var(--muted);font-size:14px;line-height:1.5;text-align:center}.footer{margin-top:64px;padding-top:24px;border-top:1px solid var(--subtle);color:var(--muted);font-size:16px;line-height:1.5}@media(max-width:760px){.page{width:min(100% - 32px,var(--measure));padding:4rem 0}.row{grid-template-columns:48px minmax(0,1fr) auto;gap:12px}.row.expanded{grid-template-columns:1fr;gap:8px}.row-title{gap:8px}.topline{align-items:flex-start}}
