@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-400.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-500.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}:root{color-scheme:dark;--bench:#141416;--panel:#1b1b1e;--raised:#26262b;--sunken:#101012;--chrome:#1b1b1eb8;--scrim:#00000073;--ink:#f2f2f7;--muted:#9c9ca6;--rule:#ffffff17;--rule-strong:#ffffff29;--selected:#35353c;--selected-ink:#fff;--focus-ring:#0a84ff;--bar:#74747e;--compare:#ff9f0a;--write:#ff5a7a;--pivot:#8b88ff;--range:#756ba0;--found:#32d74b;--done:#3fa98a;--error:#ff6961;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--s7:48px;--r1:6px;--r2:10px;--r3:14px;--r-pill:999px;--shadow-1:0 1px 2px #0006;--shadow-2:0 8px 30px #00000073;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", system-ui, sans-serif;--font-data:ui-monospace, "SF Mono", "IBM Plex Mono", Menlo, monospace;--t1:11.5px;--t2:12.5px;--t3:13.5px;--t4:15px;--t5:17px;--t6:21px;--t7:27px;--prose-measure:68ch}:root[data-theme=light]{color-scheme:light;--bench:#f2f2f5;--panel:#fff;--raised:#fff;--sunken:#e8e8ec;--chrome:#ffffffc2;--scrim:#0003;--ink:#1d1d1f;--muted:#616166;--rule:#0000001c;--rule-strong:#0003;--selected:#1d1d1f;--selected-ink:#fff;--focus-ring:#06c;--bar:#76767f;--compare:#b26a00;--write:#c9184a;--pivot:#4b48c4;--range:#6e6699;--found:#1e7a38;--done:#2e7d63;--error:#c02a21;--shadow-1:0 1px 2px #00000014;--shadow-2:0 8px 30px #0000001f}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.ts-gutter-q7f{--ts-gutter-inline:0}:root{--nav-height:52px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bench);color:var(--ink);font-family:var(--font-ui);font-size:var(--t4);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;line-height:1.55}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;border-radius:var(--r1)}.skip{z-index:100;padding:var(--s2) var(--s4);background:var(--raised);color:var(--ink);border:1px solid var(--rule-strong);border-radius:var(--r1);position:absolute;top:0;left:-9999px}.skip:focus{left:var(--s4);top:var(--s2)}.nav{z-index:30;align-items:center;gap:var(--s4);height:var(--nav-height);padding:0 var(--s4);background:var(--chrome);-webkit-backdrop-filter:blur(20px)saturate(180%);border-bottom:1px solid var(--rule);display:flex;position:sticky;top:0}@supports not (backdrop-filter:blur(1px)){.nav{background:var(--panel)}}.nav-brand{font-size:var(--t3);letter-spacing:-.01em;color:var(--ink);font-weight:600;text-decoration:none}.wideNav{gap:var(--s1);margin-left:auto;display:flex}.wideNav a,.navMenu nav a{padding:var(--s1) var(--s3);border-radius:var(--r1);font-size:var(--t3);color:var(--muted);line-height:2;text-decoration:none}.wideNav a:hover,.navMenu nav a:hover{background:var(--raised);color:var(--ink)}.navMenu{display:none}.navMenu summary{width:44px;height:44px;color:var(--muted);cursor:pointer;justify-content:center;align-items:center;margin-left:auto;list-style:none;display:flex}.navMenu summary::-webkit-details-marker{display:none}.navMenu summary::marker{content:""}.navMenu[open] summary{color:var(--ink)}.navMenu nav{top:calc(var(--nav-height,52px) + var(--s1));right:var(--s3);z-index:31;min-width:180px;padding:var(--s2);background:var(--panel);border:1px solid var(--rule);border-radius:var(--r2);box-shadow:var(--shadow-2);flex-direction:column;gap:1px;display:flex;position:fixed}.navMenu nav a{line-height:1.6}@media (width<=460px){.nav{gap:var(--s2);padding:0 var(--s3)}.wideNav{display:none}.navMenu{display:block;position:relative}.nav-brand{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}}.theme{border-radius:var(--r1);width:32px;height:32px;color:var(--muted);font-size:var(--t4);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex}.theme:hover{background:var(--raised);border-color:var(--rule);color:var(--ink)}main{max-width:1120px;padding:var(--s6) var(--s4);margin:0 auto}main.bleed{max-width:none;padding:0}main.bleed>.prose,main.bleed>article{max-width:var(--prose-measure);padding:var(--s7) var(--s4);margin:0 auto}.prose{max-width:var(--prose-measure)}.prose h1{margin:0 0 var(--s3);font-size:var(--t7);letter-spacing:-.02em;text-wrap:balance;font-weight:600;line-height:1.15}.prose h2{margin:var(--s6) 0 var(--s3);font-size:var(--t6);letter-spacing:-.01em;text-wrap:balance;font-weight:600;line-height:1.25}.prose p,.prose li{font-size:var(--t4)}.prose strong{font-weight:600}.prose code{background:var(--raised);font-family:var(--font-data);font-size:var(--t3);border-radius:4px;padding:1px 5px}.prose a{color:var(--ink);text-decoration-color:var(--rule-strong);text-underline-offset:3px}.prose a:hover{text-decoration-color:currentColor}.foot{padding:var(--s6) var(--s4);border-top:1px solid var(--rule);color:var(--muted);font-size:var(--t3)}.foot p{max-width:var(--prose-measure);margin:0 auto var(--s1)}.foot a{color:var(--muted);text-underline-offset:3px}.foot a:hover{color:var(--ink)}
