:root{color-scheme:light dark;--paper:light-dark(#fdfdfc,#121213);--paper-sunk:light-dark(#f2f0e9,#1d1d1c);--ink:light-dark(#292824,#deddd8);--link:light-dark(#080808,#fff);--muted:light-dark(#6f6c65,#9d9b96);--line:light-dark(#e5e2db,#303030);--line-strong:light-dark(#d5d2ca,#45433e);--font-sans:-apple-system, BlinkMacSystemFont, "Inter Variable", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--weight-link:450;--weight-strong:600;--column:27rem}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{background:var(--paper);-webkit-text-size-adjust:100%}body{max-width:calc(var(--column) + 48px);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0 auto;padding:72px 24px 60px;font-size:14px;line-height:1.7}@media (width<=560px){body{padding:36px 22px 40px}}h1,h2,h3,p,ul,ol,figure{margin:0}a{color:var(--link);font-weight:var(--weight-link);text-decoration:none;text-decoration-color:var(--line-strong);text-underline-offset:3px}:where(a:hover){text-decoration-line:underline}:focus-visible{outline:2px solid var(--muted);outline-offset:2px;border-radius:2px}::selection{background:var(--line-strong)}.heading{font-size:14px;font-weight:var(--weight-strong);margin:0 0 10px;line-height:1.5}main>section+section{margin-top:32px}.muted{color:var(--muted)}@media print{:root,:root[data-theme]{color-scheme:light}html{background:0 0}body{max-width:none;padding:0}.site-nav,.post-nav{display:none}}.prose a{text-decoration-line:underline}.prose a:hover{text-decoration-color:currentColor}.prose p{margin-bottom:20px}.prose>:last-child{margin-bottom:0}.prose h2,.prose h3{font-size:14px;font-weight:var(--weight-strong);margin:32px 0 10px}.prose h3{margin-top:24px;font-weight:500}.prose h2+h3{margin-top:12px}.prose a{overflow-wrap:anywhere}.prose strong{font-weight:var(--weight-strong)}.prose ul,.prose ol{margin-bottom:20px;padding-left:20px}.prose li{margin-bottom:7px}.prose li::marker{color:var(--muted)}.prose blockquote{border-left:2px solid var(--line-strong);color:var(--muted);margin:0 0 20px;padding-left:16px}.prose hr{border:0;border-top:1px solid var(--line);margin:32px 0}.prose code{background:var(--paper-sunk);font-family:var(--font-mono);border-radius:3px;padding:1px 4px;font-size:12.5px}.prose pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--paper-sunk);border-radius:4px;margin:0 0 20px;padding:14px 16px;line-height:1.6;overflow-x:auto}.prose pre code{background:0 0;padding:0}.prose img,.prose figure{max-width:100%;height:auto;margin:28px 0;display:block}.prose table{border-collapse:collapse;max-width:100%;margin:0 0 20px;font-size:13px;line-height:1.5;display:block;overflow-x:auto}.prose th,.prose td{border:1px solid var(--line);text-align:left;vertical-align:top;padding:8px 10px}.prose th{background:var(--paper-sunk);font-weight:var(--weight-strong)}.prose td:first-child{font-weight:500}.diagram{margin:28px 0}.diagram svg{width:100%;height:auto;font-family:var(--font-mono);display:block}.diagram .group{fill:none;stroke:var(--line-strong);stroke-dasharray:3 3}.diagram .group-label{fill:var(--muted);letter-spacing:.08em;font-size:9.5px}.diagram .card{fill:var(--paper-sunk);stroke:var(--line-strong)}.diagram .card--plain{fill:var(--paper)}.diagram .icon{fill:none;stroke:var(--ink);stroke-width:1.4px;stroke-linecap:round;stroke-linejoin:round}.diagram .label{fill:var(--ink);letter-spacing:.06em;font-size:10.5px;font-weight:500}.diagram .sub{fill:var(--muted);letter-spacing:.04em;font-size:9.5px}.diagram .edge{fill:none;stroke:var(--line-strong);stroke-width:1px}.diagram .edge-dot,.diagram .arrow{fill:var(--line-strong)}.diagram .edge-label-bg{fill:var(--paper)}.diagram figcaption{color:var(--muted);margin-top:10px;font-size:12px}.site-head[data-astro-cid-nen7h5rs]{justify-content:space-between;align-items:center;gap:20px;margin-bottom:46px;display:flex}@media (width<=560px){.site-head[data-astro-cid-nen7h5rs]{margin-bottom:34px}}.site-head__name[data-astro-cid-nen7h5rs]{letter-spacing:-.2px;font-size:14px;font-weight:500;line-height:1.4}.site-head__name[data-astro-cid-nen7h5rs],.site-head__name[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]{color:var(--ink);font-weight:500}.site-head__name[data-astro-cid-nen7h5rs]:hover,.site-head__name[data-astro-cid-nen7h5rs] a[data-astro-cid-nen7h5rs]:hover{text-decoration:none}.site-nav[data-astro-cid-nen7h5rs]{align-items:center;gap:20px;font-size:12px;line-height:1.7;display:flex}.site-nav[data-astro-cid-nen7h5rs]>[data-astro-cid-nen7h5rs]{position:relative}.site-nav[data-astro-cid-nen7h5rs]>[data-astro-cid-nen7h5rs]:before{content:"";width:max(100%,44px);height:max(100%,44px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-nav__github[data-astro-cid-nen7h5rs]{width:24px;height:24px;color:var(--ink);justify-content:center;align-items:center;padding:0;display:flex}.site-nav__github[data-astro-cid-nen7h5rs] svg[data-astro-cid-nen7h5rs]{display:block}.site-nav__github[data-astro-cid-nen7h5rs]:hover{text-decoration:none}.site-nav__theme[data-astro-cid-nen7h5rs]{width:24px;height:24px;color:var(--muted);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:flex}.site-nav__theme[data-astro-cid-nen7h5rs]:hover{color:var(--ink)}.site-nav__sun[data-astro-cid-nen7h5rs]{display:none}.site-nav__theme[data-astro-cid-nen7h5rs][aria-pressed=true] .site-nav__sun[data-astro-cid-nen7h5rs]{display:block}.site-nav__theme[data-astro-cid-nen7h5rs][aria-pressed=true] .site-nav__moon[data-astro-cid-nen7h5rs]{display:none}
