:root{--uk-paper:#fff;--uk-raised:#f4f4f5;--uk-hover:#ececee;--uk-ink:#111113;--uk-mute:#52525b;--uk-faint:#a1a1aa;--uk-rule:#e4e4e7;--uk-mark:#234e73;--uk-wash:#e7eef4;--uk-mark-1:#d64a78;--uk-mark-2:#e39b2f;--uk-mark-3:#2a93b6;--uk-mark-4:#6b5bd2;--uk-radius:3px;--uk-control:32px;--uk-font:"IBM Plex Sans", ui-sans-serif, system-ui, sans-serif;--rail:220px;--read:40rem;--nav:52px;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--uk-paper);color:var(--uk-ink);font-family:var(--uk-font);-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;font-size:15px;line-height:1.45}a{color:inherit;text-decoration:none}a:hover{text-underline-offset:2px;text-decoration:underline}:focus-visible{outline:2px solid var(--uk-mark);outline-offset:2px}.site-nav{height:var(--nav);border-bottom:1px solid var(--uk-rule);background:var(--uk-paper);z-index:20;justify-content:space-between;align-items:center;padding:0 24px;display:flex;position:sticky;top:0}.wordmark{letter-spacing:-.03em;align-items:center;gap:8px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.wordmark:hover{text-decoration:none}.mark{flex:none;display:block}.site-nav-links{align-items:center;gap:16px;font-size:13px;display:flex}.site-nav-links a:hover{color:var(--uk-mute);text-decoration:none}.site-nav-links a.is-current{color:var(--uk-ink);font-weight:500}.btn{height:var(--uk-control);border-radius:var(--uk-radius);color:var(--uk-ink);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0 12px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn:hover{text-decoration:none}.btn-primary{background:var(--uk-ink);border-color:var(--uk-ink);color:var(--uk-paper)}.btn-primary:hover{background:color-mix(in srgb, var(--uk-ink) 88%, var(--uk-paper));color:var(--uk-paper)}.frame{grid-template-columns:var(--rail) minmax(0, var(--read));justify-content:start;column-gap:48px;padding:32px 24px 96px;display:grid}.rail{top:calc(var(--nav) + 28px);max-height:calc(100vh - var(--nav) - 48px);align-self:start;position:sticky;overflow:auto}.rail-kicker{letter-spacing:-.02em;margin:0 0 20px;font-size:13px;font-weight:600}.rail-kicker a{text-decoration:none}.rail-kicker a:hover{color:var(--uk-mute);text-decoration:none}.rail-year{color:var(--uk-faint);margin:18px 0 6px;font-size:12px;font-weight:500}.rail-year:first-of-type{margin-top:0}.rail-item{color:var(--uk-mute);border-left:2px solid #0000;margin-left:-10px;padding:5px 10px;font-size:13px;line-height:1.35;text-decoration:none;display:block}.rail-item:hover{color:var(--uk-ink);text-decoration:none}.rail-item.is-active{border-left-color:var(--uk-mark);background:var(--uk-wash);color:var(--uk-ink)}.rail-date{color:var(--uk-faint);font-size:11px;display:block}.rail-title{display:block}.rail-rss{color:var(--uk-mute);margin-top:24px;font-size:12px;display:inline-block}.feed{min-width:0}.entry{border-bottom:1px solid var(--uk-rule);scroll-margin-top:calc(var(--nav) + 24px);padding:56px 0 64px}.entry:first-child{padding-top:4px}.entry:last-child{border-bottom:0}.entry-head{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.entry-date{color:var(--uk-mute);font-size:13px}.entry-copy{color:var(--uk-faint);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px}.entry-copy:hover,.entry-copy.is-copied{color:var(--uk-ink)}.entry-title{letter-spacing:-.035em;margin:10px 0 0;font-size:clamp(28px,4.2vw,36px);font-weight:600;line-height:1.15}.entry-title a{text-decoration:none}.entry-title a:hover{text-underline-offset:4px;text-decoration:underline}.prose{max-width:38em;margin-top:22px;font-size:16px;line-height:1.62}.prose>:first-child{margin-top:0}.prose p,.prose ul,.prose ol,.prose blockquote{margin:0 0 1em}.prose h2{letter-spacing:-.03em;margin:2em 0 .55em;font-size:20px;font-weight:600;line-height:1.25}.prose h3{letter-spacing:-.02em;margin:1.6em 0 .45em;font-size:16px;font-weight:600}.prose a{text-underline-offset:2px;text-decoration:underline}.prose ul,.prose ol{padding-left:1.2em}.prose li+li{margin-top:.35em}.prose code{font-family:IBM Plex Mono,ui-monospace,monospace;font-size:.88em}.prose pre{border:1px solid var(--uk-rule);background:var(--uk-raised);padding:14px 16px;font-size:13px;line-height:1.5;overflow:auto}.prose pre code{font-size:inherit}.prose img{border:1px solid var(--uk-rule);max-width:100%;height:auto;margin:1.4em 0;display:block}.prose blockquote{border-left:2px solid var(--uk-rule);color:var(--uk-mute);padding-left:14px}.prose hr{border:0;border-top:1px solid var(--uk-rule);margin:2em 0}.changes{max-width:40rem;margin-top:36px}.changes+.changes{margin-top:28px}.changes-title{letter-spacing:0;margin:0 0 8px;font-size:13px;font-weight:600}.change{border-top:1px solid var(--uk-rule);grid-template-columns:11rem minmax(0,1fr);gap:16px;padding:11px 0;font-size:14px;line-height:1.45;display:grid}.change-area{color:var(--uk-mute);font-weight:500}.change-text{min-width:0}.empty{color:var(--uk-mute);font-size:15px}.missing{max-width:28rem;margin:0 auto;padding:64px 24px}.missing h1{letter-spacing:-.03em;margin:0;font-size:28px;font-weight:600}.missing p{color:var(--uk-mute);margin:12px 0 0}.missing a{text-underline-offset:2px;text-decoration:underline}@media (width<=840px){.frame{grid-template-columns:minmax(0,1fr);padding-top:24px}.rail{display:none}.entry{padding:40px 0 48px}.change{grid-template-columns:minmax(0,1fr);gap:4px}}@media (width<=520px){.site-nav{padding:0 16px}.frame{padding-left:16px;padding-right:16px}.site-nav-links .hide-narrow{display:none}}
