@font-face{font-family:ibm plex serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-latin-400-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex serif;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-latin-ext-400-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-latin-400-italic.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex serif;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-serif-latin-ext-400-italic.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex serif;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-latin-500-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex serif;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-serif-latin-ext-500-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-400-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2)format('woff2');unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:ibm plex mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-ext-500-normal.woff2)format('woff2');unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper:oklch(0.975 0.003 250);--paper-input:oklch(0.995 0.002 250);--row-hover:oklch(0.945 0.006 250);--chip-more:oklch(0.958 0.003 250);--code-bg:oklch(0.93 0.012 250);--ink:oklch(0.22 0.012 255);--ink-2:oklch(0.40 0.012 255);--ink-3:oklch(0.45 0.012 255);--muted:oklch(0.53 0.012 255);--disabled:oklch(0.60 0.008 255);--placeholder:oklch(0.60 0.010 255);--accent:oklch(0.52 0.14 250);--rule-row:oklch(0.91 0.006 255);--rule-struct:oklch(0.90 0.006 255);--rule-strong:oklch(0.82 0.008 255);--rule-input:oklch(0.85 0.008 255);--scrim:oklch(0.22 0.012 255 / 0.3);--sheet-shadow:0 -10px 28px oklch(0.22 0.012 255 / 0.14);--serif:'IBM Plex Serif', Georgia, serif;--mono:'IBM Plex Mono', monospace}*,*::before,*::after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:17.5px;line-height:1.68}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}h1,h2,h3,p,figure{margin:0}:focus-visible{outline:1px solid var(--ink);outline-offset:2px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.eyebrow{font-family:var(--mono);font-size:10.5px;font-weight:400;line-height:1.4;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.is-current{color:var(--accent);font-weight:500}.site-header{display:flex;justify-content:space-between;align-items:center;padding:16px 44px;border-bottom:1px solid var(--rule-struct);font-family:var(--mono);font-size:12.5px;line-height:1.5}.site-header__brand{font-weight:500;color:var(--ink)}.site-header__nav{display:flex;gap:20px;color:var(--muted)}.site-header__menu{display:none;color:var(--muted)}.shell{display:grid;grid-template-columns:230px minmax(0,1fr)}.rail{border-right:1px solid var(--rule-struct);padding:36px 28px 60px 44px;display:flex;flex-direction:column;gap:26px}.rail__block{display:flex;flex-direction:column;gap:9px}.rail__block+.rail__block{border-top:1px solid var(--rule-struct);padding-top:22px}.rail__blurb{font-size:14px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}.sections{list-style:none;margin:0;padding:0}.sections--rail{display:flex;flex-direction:column;gap:7px;font-size:15px;line-height:1.4}.years{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;font-family:var(--mono);letter-spacing:.06em}.years--rail{gap:5px 12px;font-size:11.5px;line-height:1.5}.years__link.is-disabled{color:var(--disabled)}.newsletter{display:flex;flex-direction:column;gap:8px}.newsletter__input{width:100%;margin:0;border:1px solid var(--rule-input);border-radius:0;background:var(--paper-input);padding:9px 10px;font-family:var(--mono);font-size:11.5px;line-height:1.4;color:var(--ink)}.newsletter__input::placeholder{color:var(--placeholder);opacity:1}.newsletter__submit{align-self:flex-start;margin:0;padding:0;border:0;background:0 0;font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--accent);cursor:pointer}.newsletter__submit:hover{text-decoration:underline;text-underline-offset:3px}.main{min-width:0;padding:36px 44px 60px 34px;display:flex;flex-direction:column;gap:30px}.intro{max-width:36rem;display:flex;flex-direction:column;gap:12px}.intro__name{font-family:var(--mono);font-size:13px;font-weight:500;line-height:1.4;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.intro__lead{font-size:18px;line-height:1.6;text-wrap:pretty}.intro__lead a{color:var(--accent)}.intro__location{font-size:15px;line-height:1.6;color:var(--ink-3)}.intro__desc{font-size:17px;line-height:1.6;text-wrap:pretty}.archive-head{display:flex;justify-content:space-between;align-items:baseline;gap:20px}.archive-head__title{font-family:var(--mono);font-size:26px;font-weight:500;line-height:1.25;letter-spacing:-.01em;color:var(--accent)}.archive-head__rss{font-family:var(--mono);font-size:11.5px;letter-spacing:.06em;color:var(--muted);white-space:nowrap}.feed{display:flex;flex-direction:column;list-style:none;margin:0;padding:0}.feed__year{display:flex;flex-direction:column}.feed__year+.feed__year{margin-top:26px}.feed__divider{position:sticky;top:0;z-index:1;background:var(--paper);padding-bottom:12px;font-weight:500}.feed-row{display:grid;grid-template-columns:96px minmax(0,1fr)96px;gap:16px;align-items:baseline;padding:13px 0;border-top:1px solid var(--rule-row);color:var(--ink)}.feed--in-section .feed-row{grid-template-columns:96px minmax(0,1fr)}.feed--terms .feed-row{grid-template-columns:minmax(0,1fr)96px}.feed__year:last-of-type .feed-row:last-child,.feed--terms li:last-child .feed-row{border-bottom:1px solid var(--rule-row)}.feed-row:hover{text-decoration:none}@media(hover:hover){.feed-row:hover{background:var(--row-hover)}}.feed-row__date{font-family:var(--mono);font-size:12px;line-height:1.4;color:var(--muted)}.feed-row__title{font-size:17.5px;line-height:1.4;text-wrap:pretty}.feed-row__section{font-family:var(--mono);font-size:11px;line-height:1.4;letter-spacing:.04em;color:var(--muted);text-align:right}.pagination{display:flex;gap:14px;align-items:center;padding-top:16px;font-family:var(--mono);font-size:12px;line-height:1.5}.pagination a{color:var(--accent)}.pagination__more{letter-spacing:.06em}.pagination__next{margin-left:auto}.post{max-width:50rem;margin-inline:auto;padding:44px 44px 64px;display:flex;flex-direction:column;gap:28px}.post__header{display:flex;flex-direction:column;gap:28px}.post__meta{font-family:var(--mono);font-size:11px;line-height:1.5;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}.post__sep{margin:0 .8em}.post__title{font-size:34px;font-weight:500;line-height:1.22;letter-spacing:-.018em;text-wrap:pretty}.prose{font-size:17.5px;line-height:1.68;overflow-wrap:break-word}.prose>*{margin-top:0;margin-bottom:0}.prose>*+*{margin-top:20px}.prose p,.prose li,.prose h2,.prose h3,.prose h4{text-wrap:pretty}.prose a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.prose h2{font-size:22px;font-weight:500;line-height:1.3;letter-spacing:-.01em}.prose h3{font-size:19px;font-weight:500;line-height:1.35}.prose h4,.prose h5,.prose h6{font-size:17.5px;font-weight:500;line-height:1.4}.prose>*+:is(h2,h3,h4,h5,h6){margin-top:36px}.prose>:is(h2,h3,h4,h5,h6)+*{margin-top:12px}.prose ul,.prose ol{padding-left:1.4em}.prose li+li{margin-top:6px}.prose li>p{margin:0}.prose li>p+p{margin-top:12px}.prose blockquote{margin-left:0;margin-right:0;padding-left:20px;border-left:1px solid var(--rule-strong);color:var(--ink-2)}.prose blockquote>*{margin:0}.prose blockquote>*+*{margin-top:12px}.prose code{font-family:var(--mono);font-size:15.5px;background:var(--code-bg);padding:1px 5px}.prose pre{overflow-x:auto;padding:16px 20px;background:var(--code-bg);font-size:14px;line-height:1.55}.prose pre code{background:0 0;padding:0;font-size:inherit}.prose figure{display:flex;flex-direction:column;gap:9px}.prose img{display:block;max-width:100%;height:auto}.prose figcaption{font-family:var(--mono);font-size:11.5px;line-height:1.5;color:var(--muted)}.prose table{display:block;overflow-x:auto;width:100%;border-collapse:collapse;font-size:15px;line-height:1.5}.prose th,.prose td{text-align:left;vertical-align:top;padding:8px 16px 8px 0;border-bottom:1px solid var(--rule-row)}.prose th{font-family:var(--mono);font-size:11px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.prose hr{border:0;border-top:1px solid var(--rule-struct)}.prose #TableOfContents ul{list-style:none;padding-left:0}.prose #TableOfContents ul ul{padding-left:1.2em}.prose #TableOfContents li+li,.prose #TableOfContents ul ul{margin-top:4px}.post-cta{border-top:1px solid var(--rule-struct);padding-top:20px;display:flex;flex-direction:column;gap:12px}.post-cta p{font-size:15px;line-height:1.55;color:var(--ink-2);text-wrap:pretty}.post-cta p a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.post-cta .newsletter{max-width:20rem}.post-nav{border-top:1px solid var(--rule-struct);padding-top:20px;display:flex;flex-direction:column;gap:16px}.post-nav__eyebrow{letter-spacing:.12em}.post-nav__pair{display:flex;gap:32px;align-items:start}.post-nav__link{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px;color:var(--ink)}.post-nav__link--newer{align-items:flex-end;text-align:right}.post-nav__label{font-family:var(--mono);font-size:11px;line-height:1.4;color:var(--muted)}.post-nav__title{font-size:17.5px;line-height:1.38;text-wrap:pretty}.post-nav__back{align-self:flex-start;font-family:var(--mono);font-size:11.5px;line-height:1.5;letter-spacing:.06em;color:var(--accent)}.chips{display:none;border-bottom:1px solid var(--rule-struct);font-family:var(--mono);font-size:11.5px;line-height:1.5}.chips__list{flex:1;display:flex;gap:14px;list-style:none;margin:0;padding:0 0 0 20px;overflow-x:auto;white-space:nowrap;scrollbar-width:none}.chips__list::-webkit-scrollbar{display:none}.chips__list li:last-child{padding-right:20px}.chips__link{display:flex;align-items:center;min-height:44px;color:var(--muted)}.chips__link.is-current{color:var(--accent)}.chips__more{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border-left:1px solid var(--rule-struct);background:var(--chip-more);color:var(--muted)}.sheet{position:fixed;inset:auto 0 0 0;width:100%;max-width:none;max-height:85vh;margin:0;padding:0;border:0;border-top:1px solid var(--rule-strong);background:var(--paper);color:var(--ink);box-shadow:var(--sheet-shadow);overflow-y:auto}.sheet::backdrop{background:var(--scrim)}.sheet:focus{outline:none}.sheet[open]{animation:sheet-in 180ms ease-out}@keyframes sheet-in{from{transform:translateY(100%)}}@media(prefers-reduced-motion:reduce){.sheet[open]{animation:none}}.sheet__head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 20px}.sheet__close{flex:none;min-width:44px;min-height:44px;margin:0 -10px 0 0;padding:6px 10px;border:0;background:0 0;font-family:var(--mono);font-size:16px;color:var(--ink);cursor:pointer}.sections--sheet .sections__link{display:flex;justify-content:space-between;align-items:center;padding:13px 20px;border-top:1px solid var(--rule-row);font-size:16.5px;line-height:1.4}.sections__label{font-family:var(--mono);font-size:10.5px;font-weight:400;letter-spacing:.08em;color:var(--muted)}.sheet__block{border-top:1px solid var(--rule-strong);padding:15px 20px 20px;display:flex;flex-direction:column;gap:9px}.years--sheet{gap:0 14px;font-size:12px}.years--sheet .years__link{min-height:44px;display:flex;align-items:center}.sheet__eyebrow{border-top:1px solid var(--rule-strong);padding:15px 20px 11px}.sheet__nav{display:flex;flex-wrap:wrap;gap:0 20px;font-family:var(--mono);font-size:12px;color:var(--muted)}.sheet__nav a{min-height:44px;display:flex;align-items:center}.search{visibility:hidden;position:fixed;z-index:10;top:56px;right:44px;width:min(28rem,calc(100vw - 40px));border:1px solid var(--rule-strong);background:var(--paper)}.search__input{width:100%;margin:0;padding:12px 14px;border:0;border-bottom:1px solid var(--rule-struct);border-radius:0;background:var(--paper-input);font-family:var(--mono);font-size:13px;color:var(--ink);outline:none;-webkit-appearance:none;appearance:none}.search__input::placeholder{color:var(--placeholder);opacity:1}.search__results{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto}.search__results li+li{border-top:1px solid var(--rule-row)}.search__results a{display:block;padding:12px 14px;font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--muted)}.search__results a:hover,.search__results a:focus{background:var(--row-hover);outline:0;text-decoration:none}.search__results br{display:none}.search__results .title{display:block;margin-bottom:4px;font-family:var(--serif);font-size:16px;line-height:1.38;color:var(--ink)}.search-message{padding:12px 14px;font-family:var(--mono);font-size:11.5px;color:var(--muted)}@media(max-width:859px){.site-header{padding:14px 20px;font-size:12px}.site-header__brand,.site-header__menu{display:flex;align-items:center;min-height:44px;margin:-13px 0}.site-header__nav{display:none}.chips{display:flex}.shell{display:block}.rail{display:none}.main{padding:24px 20px 40px;gap:24px}.feed-row,.feed--in-section .feed-row{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"date section" "title title";gap:6px 12px}.feed--in-section .feed-row{grid-template-areas:"date date" "title title"}.feed--terms .feed-row{grid-template-columns:minmax(0,1fr)auto;grid-template-areas:none}.feed-row__date{grid-area:date;font-size:11px}.feed-row__section{grid-area:section;text-align:left}.feed--terms .feed-row__section{grid-area:auto;text-align:right}.feed-row__title{grid-area:title;font-size:17px;line-height:1.38}.feed--terms .feed-row__title{grid-area:auto}.pagination a,.post-nav__back,.newsletter__submit{display:flex;align-items:center;min-height:44px}.pagination{padding-top:4px}.post{padding:28px 20px 44px;gap:22px}.post__header{gap:16px}.post__title{font-size:27px}.post-nav{gap:12px}.post-nav__pair{flex-direction:column;gap:12px}.post-nav__link--newer{align-items:flex-start;text-align:left}.post-nav__link--older+.post-nav__link--newer{border-top:1px solid var(--rule-row);padding-top:12px}.search{top:52px;right:20px;left:20px;width:auto}}