@font-face{font-family:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-latin-wght-normal.woff2)format("woff2-variations");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:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-latin-wght-italic.woff2)format("woff2-variations");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:"Source Serif 4";font-style:normal;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-latin-ext-wght-normal.woff2)format("woff2-variations");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:"Source Serif 4";font-style:italic;font-weight:200 900;font-display:swap;src:url(/fonts/source-serif-4-latin-ext-wght-italic.woff2)format("woff2-variations");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:Source Serif Fallback Charter;font-style:normal;font-weight:100 900;src:local(Charter-Roman),local(Charter),local(CharterBT-Roman),local(Bitstream Charter),local(BitstreamCharter-Roman);size-adjust:108%;ascent-override:96.3%;descent-override:31.5%}@font-face{font-family:Source Serif Fallback Georgia;font-style:normal;font-weight:100 900;src:local(Georgia);size-adjust:107.4%;ascent-override:96.8%;descent-override:31.7%}@font-face{font-family:Source Serif Fallback Times;font-style:normal;font-weight:100 900;src:local(TimesNewRomanPSMT),local(Times New Roman),local(LiberationSerif),local(Liberation Serif),local(Tinos-Regular),local(Tinos),local(NotoSerif),local(Noto Serif),local(DejaVuSerif),local(DejaVu Serif);size-adjust:117.6%;ascent-override:88.4%;descent-override:28.9%}@font-face{font-family:Source Serif Fallback Charter;font-style:italic;font-weight:100 900;src:local(Charter-Italic),local(Charter Italic),local(BitstreamCharter-Italic);size-adjust:103.1%;ascent-override:100.9%;descent-override:33%}@font-face{font-family:Source Serif Fallback Georgia;font-style:italic;font-weight:100 900;src:local(Georgia-Italic),local(Georgia Italic);size-adjust:96.4%;ascent-override:107.9%;descent-override:35.3%}@font-face{font-family:Source Serif Fallback Times;font-style:italic;font-weight:100 900;src:local(TimesNewRomanPS-ItalicMT),local(Times New Roman Italic),local(LiberationSerif-Italic),local(Tinos-Italic),local(NotoSerif-Italic),local(DejaVuSerif-Italic);size-adjust:108%;ascent-override:96.3%;descent-override:31.5%}:root{color-scheme:light dark;--paper:light-dark(#fdfcfa,#141413);--ink:light-dark(#1c1b19,#e7e5df);--ink-muted:light-dark(#5c5a55,#a5a29a);--rule:light-dark(#e4e2dc,#2e2d2a);--surface:light-dark(#f4f2ed,#1d1d1b);--accent:light-dark(#2d5f80,#8fb8d4);--accent-strong:light-dark(#1f4460,#b0cfe4);--selection:light-dark(#dbe6ee,#24333d);--font-prose:"Source Serif 4", "Source Serif Fallback Charter", "Source Serif Fallback Georgia", "Source Serif Fallback Times", Charter, "Iowan Old Style", "Sitka Text", Cambria, Georgia, serif;--font-ui:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--measure:39rem;--gutter:1.5rem}@media (width<=25rem){:root{--gutter:1.25rem}}:root[data-theme=light]{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-prose);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;flex-direction:column;min-height:100vh;margin:0;font-size:1.0625rem;line-height:1.7;display:flex}@media (width>=40rem){body{font-size:1.125rem}}::selection{background:var(--selection)}a{color:var(--accent);text-underline-offset:.15em;text-decoration:underline .06em;text-decoration-color:color-mix(in srgb, var(--accent) 40%, transparent)}a:hover{color:var(--accent-strong);text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}img,svg,video{max-width:100%;height:auto}hr{border:0;border-top:1px solid var(--rule);margin:3rem 0}.wrap{width:100%;max-width:calc(var(--measure) + var(--gutter) * 2);padding-inline:var(--gutter);margin-inline:auto}main{flex:1 0 auto;padding-block:3rem 5rem}.skip-link{background:var(--paper);color:var(--ink);z-index:10;padding:.6rem 1rem;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.site-header{border-bottom:1px solid var(--rule);font-family:var(--font-ui)}.site-header .wrap{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;padding-block:1.4rem;display:flex}.site-name{letter-spacing:.01em;color:var(--ink);font-size:1rem;font-weight:600;text-decoration:none}.site-name:hover{color:var(--ink);text-underline-offset:.2em;text-decoration:underline}.site-nav{flex-wrap:wrap;gap:.4rem 1.25rem;font-size:.9375rem;display:flex}.site-nav a{color:var(--ink-muted);text-decoration:none}.site-nav a:hover,.site-nav a[aria-current]{color:var(--ink)}.site-nav a[aria-current]{text-underline-offset:.25em;text-decoration:underline;text-decoration-color:var(--ink-muted);text-decoration-thickness:1px}.header-end{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1.25rem;display:flex}.theme-toggle{width:44px;height:44px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-radius:2px;justify-content:center;align-items:center;margin-block:-12px;margin-inline-end:-14px;padding:0;display:none}.has-js .theme-toggle{display:inline-flex}.theme-toggle:hover{color:var(--ink)}.theme-toggle svg{display:none}:root:not([data-theme]) .icon-system,:root[data-theme=light] .icon-light,:root[data-theme=dark] .icon-dark{display:block}.site-footer{border-top:1px solid var(--rule);font-family:var(--font-ui);color:var(--ink-muted);font-size:.875rem}.site-footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:.5rem 1.5rem;padding-block:1.75rem;display:flex}.site-footer ul{flex-wrap:wrap;gap:.4rem 1.25rem;margin:0;padding:0;list-style:none;display:flex}.site-footer a{color:var(--ink-muted);text-decoration:none}.site-footer a:hover{color:var(--ink);text-decoration:underline}h1,h2,h3,h4{font-family:var(--font-prose);letter-spacing:-.005em;text-wrap:balance;overflow-wrap:break-word;margin:0;font-weight:600;line-height:1.25}.page-title{margin-bottom:.5rem;font-size:1.75rem}.page-intro{color:var(--ink-muted);max-width:34rem;margin:0 0 3rem}.page-prose{max-width:34rem}.label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 1.25rem;font-size:.75rem;font-weight:600}.meta{font-family:var(--font-ui);color:var(--ink-muted);font-size:.8125rem}.meta>*+:before{content:"·";margin:0 .5em}.note-list{flex-direction:column;gap:2.25rem;margin:0;padding:0;list-style:none;display:flex}.note-list>li>a{color:var(--ink);text-wrap:balance;font-size:1.3125rem;font-weight:600;line-height:1.3;text-decoration:none;display:block}@media (width>=40rem){.note-list>li.is-lead>a{font-size:1.5rem}.note-list>li.is-lead{margin-bottom:.75rem}}.note-list>li>a:hover{text-underline-offset:.18em;text-decoration:underline;text-decoration-color:var(--accent)}.note-list .note-description{color:var(--ink-muted);margin:.4rem 0 .55rem}.note-list .meta{margin:0}.hidden-flag{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-muted);border:1px solid var(--rule);vertical-align:.12em;border-radius:2px;margin-left:.5rem;padding:.05rem .35rem;font-size:.75rem;font-weight:600}.note-header{margin-bottom:2.5rem}.note-header h1{margin-bottom:.6rem;font-size:1.875rem}@media (width>=40rem){.note-header h1{font-size:2.125rem}}.note-header .description{color:var(--ink-muted);margin:0 0 .85rem}.prose>*+*{margin-top:1.25rem}.prose h2{margin-top:3rem;margin-bottom:0;font-size:1.4375rem}.prose h3{margin-top:2.25rem;margin-bottom:0;font-size:1.1875rem}.prose h2+*,.prose h3+*{margin-top:.6rem}.prose ul,.prose ol{padding-left:1.35em}.prose li+li{margin-top:.35em}.prose blockquote{border-left:2px solid var(--rule);color:var(--ink-muted);margin:1.6em 0;padding-left:1.15em;font-style:italic}.prose blockquote p{margin:0}.prose blockquote p+p{margin-top:.8em}.prose :is(h2,h3)[id]{scroll-margin-top:2rem}.prose figure{margin:2em 0}.prose figcaption{font-family:var(--font-ui);color:var(--ink-muted);text-align:left;margin-top:.6rem;font-size:.8125rem}.prose img{border:1px solid var(--rule);border-radius:2px;display:block}.prose .figure-cutout img{border:0;border-radius:0}.prose table{border-collapse:collapse;width:100%;font-family:var(--font-ui);margin:1.8em 0;font-size:.875rem}.prose th,.prose td{text-align:left;border-bottom:1px solid var(--rule);vertical-align:top;padding:.5rem .75rem .5rem 0}.prose th{font-weight:600}.table-wrap{overscroll-behavior-x:contain;max-width:100%;margin:1.8rem 0;overflow-x:auto}.table-wrap>table{min-width:min-content;margin:0}.table-wrap:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.prose{overflow-wrap:break-word}code,kbd,samp{font-family:var(--font-mono)}:not(pre)>code,kbd,samp{font-size:.875em}:not(pre)>code{background:var(--surface);word-break:break-word;border-radius:2px;padding:.12em .32em}.table-wrap :is(code,kbd,samp){word-break:normal;overflow-wrap:normal}pre{overscroll-behavior-x:contain;border:1px solid var(--rule);font-family:var(--font-mono);tab-size:2;border-radius:3px;padding:.9rem 1.05rem;font-size:.875rem;line-height:1.6;overflow-x:auto}pre code{font-family:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.prose pre{margin:1.7em 0}.astro-code,.astro-code span{color:light-dark(var(--shiki-light),var(--shiki-dark))}pre.astro-code{background-color:var(--surface)}.callout{border-left:2px solid var(--rule);margin:1.8em 0;padding:.9rem 0 .9rem 1.1rem}.callout>.callout-label{font-family:var(--font-ui);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);margin:0 0 .4rem;font-size:.75rem;font-weight:600}.callout>:last-child{margin-bottom:0}.callout p{margin:0}.callout p+p{margin-top:.7em}.callout-update{border-left-color:var(--accent)}.endmatter{border-top:1px solid var(--rule);font-family:var(--font-ui);margin-top:3.5rem;padding-top:1.75rem;font-size:.9375rem}.endmatter+.endmatter{margin-top:2rem;padding-top:1.75rem}.endmatter ul{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.lede{max-width:34rem;margin:0 0 3.5rem}.lede h1{letter-spacing:-.015em;margin-bottom:.9rem;font-size:clamp(1.75rem,1.1rem + 3.2vw,2.375rem)}.lede p{margin:0 0 .6rem}.lede p:last-child{margin-bottom:0}.lede-sub{color:var(--ink-muted)}.section{margin-top:3.5rem}.section:first-of-type{margin-top:0}.section-more{font-family:var(--font-ui);margin-top:1.75rem;font-size:.875rem}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) body{background-image:url(/grain.png)}}:root[data-theme=dark] body{background-image:url(/grain.png)}@media (forced-colors:active){body{background-image:none!important}}@media print{:root,:root[data-theme=light],:root[data-theme=dark]{color-scheme:light}body{color:#000;font-size:11pt;line-height:1.5;background:#fff!important}.site-header,.site-footer,.skip-link,.theme-toggle{display:none!important}main{padding:0}.wrap{max-width:none;padding:0}a{color:#000;text-decoration:underline}h1,h2,h3{break-after:avoid;page-break-after:avoid}.prose p,.prose li,blockquote,figure,.callout{orphans:3;widows:3}figure{break-inside:avoid;page-break-inside:avoid}pre{white-space:pre-wrap;word-break:break-word;border-color:#999;overflow:visible}.table-wrap{overflow:visible}.prose th,.prose td{border-bottom-color:#999}.astro-code,.astro-code span{color:#000!important;background:0 0!important}pre.astro-code{background:0 0!important}}
