:root,:root[data-theme=dark]{color-scheme:dark;--bg:#01081e;--surface:#061330;--surface-2:#0a1a3e;--ink:#eef2f8;--muted:#a6b2c6;--line:#1a2848;--line-strong:#2b3c62;--accent-ink:#3fe3b0;--link:#8cc8ff;--focus:#12d6d6;--nav-bg:#01081edb;--shadow-1:none;--shadow-2:0 30px 60px -30px #000000b3;--scrim:#01081ee0;--slot-a:#45d94e;--slot-b:#1fe0a8;--slot-c:#12d6d6;--logo-dark:block;--logo-light:none}:root[data-theme=light]{color-scheme:light;--bg:#f5f1e8;--surface:#fbf8f2;--surface-2:#ece5d7;--ink:#0c1530;--muted:#4b5468;--line:#e2d9c8;--line-strong:#c8bca6;--accent-ink:#07705a;--link:#0b5aa6;--focus:#0a7f8a;--nav-bg:#f5f1e8e0;--shadow-1:0 1px 2px #0c15300d, 0 10px 30px -12px #0c15301f;--shadow-2:0 40px 70px -35px #0c153059;--scrim:#f5f1e8e6;--slot-a:#12893a;--slot-b:#08806a;--slot-c:#0a7c8a;--logo-dark:none;--logo-light:block}:root{--navy:#01081e;--green:#45d94e;--teal:#1fe0a8;--cyan:#12d6d6;--blue:#2e9bff;--blue-ink:#0261bf;--glass:#02060f;--on-photo:#f4efe6;--grad:linear-gradient(100deg, #1fe0a8, #45d94e);--on-grad:#01081e;--paper:var(--surface);--paper-ink:var(--ink);--paper-muted:var(--muted);--paper-line:var(--line);--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--fs-xs:12px;--fs-sm:14px;--fs-base:17px;--fs-md:19px;--fs-lg:22px;--fs-xl:clamp(24px, 2.2vw, 28px);--fs-2xl:clamp(30px, 3.4vw, 46px);--fs-display:clamp(40px, 5.4vw, 72px);--display:var(--fs-display);--h2:var(--fs-2xl);--lede-size:var(--fs-md);--body-size:var(--fs-base);--body-leading:1.6;--small-size:var(--fs-sm);--fine-size:var(--fs-xs);--s-1:4px;--s-2:8px;--s-3:12px;--s-4:16px;--s-5:24px;--s-6:32px;--s-7:48px;--s-8:64px;--s-9:96px;--s-10:128px;--wrap:1200px;--wrap-pad:clamp(20px, 4vw, 40px);--wrap-pad-sm:20px;--nav-h:68px;--section:clamp(80px, 9vw, 128px);--head-gap:clamp(32px, 4vw, 56px);--r-sm:8px;--r-md:14px;--r-lg:20px;--r-pill:9999px;--radius:var(--r-sm);--dur:.16s;--ash:var(--muted);--hero-0:var(--surface);--hero-1:var(--surface);--hero-2:var(--bg);--amber:var(--blue);--bubble-hi:var(--cyan);--mark-ink:var(--ink);--mark-accent:var(--teal);--nav-veil:var(--nav-bg);--frost:var(--ink);--ring-ok:var(--green);--ring-alert:var(--ink);--tile-alert:var(--ink);--graphite-sub:var(--muted);--tag-size:12px;--kicker-tracking:.14em;--mark-size:18px;--btn-size:15px;--radius-btn:var(--r-pill)}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-mono-400-normal-latin-ext-f1050dc5.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/ibm-plex-mono-400-normal-latin-c36f509c.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/ibm-plex-mono-500-normal-latin-ext-77f03e26.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/ibm-plex-mono-500-normal-latin-a76f53ca.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:600;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-mono-600-normal-latin-ext-1b6b18fd.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:600;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-mono-600-normal-latin-ad4580d8.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-400-500-600-normal-latin-ext-ae1d854f.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 Sans;font-style:normal;font-weight:400;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-400-500-600-normal-latin-056e4e24.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-400-500-600-normal-latin-ext-ae1d854f.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 Sans;font-style:normal;font-weight:500;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-400-500-600-normal-latin-056e4e24.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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-400-500-600-normal-latin-ext-ae1d854f.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 Sans;font-style:normal;font-weight:600;font-stretch:100%;font-display:swap;src:url(/fonts/ibm-plex/ibm-plex-sans-400-500-600-normal-latin-056e4e24.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,:root[data-theme=dark],:root[data-theme=light]{--sl-color-white:var(--ink);--sl-color-gray-1:var(--ink);--sl-color-gray-2:var(--muted);--sl-color-gray-3:var(--muted);--sl-color-gray-4:var(--line-strong);--sl-color-gray-5:var(--line);--sl-color-gray-6:var(--surface);--sl-color-black:var(--bg);--sl-color-text:var(--ink);--sl-color-text-accent:var(--accent-ink);--sl-color-bg:var(--bg);--sl-color-bg-nav:var(--nav-bg);--sl-color-bg-sidebar:var(--surface);--sl-color-bg-inline-code:var(--surface-2);--sl-color-hairline:var(--line);--sl-color-hairline-light:var(--line);--sl-color-hairline-shade:var(--line);--sl-color-accent:var(--accent-ink);--sl-color-accent-high:var(--accent-ink);--sl-font:var(--font-sans);--sl-font-mono:var(--font-mono);--sl-shadow-sm:none;--sl-shadow-md:none;--sl-shadow-lg:none;--sl-nav-height:68px;--sl-content-width:64rem}html{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--body-leading)}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--body-leading);-webkit-font-smoothing:antialiased;margin:0}:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.shell{background:var(--bg);min-height:100vh;color:var(--ink)}.top{z-index:5;min-height:var(--nav-h);background:var(--nav-bg);border-bottom:1px solid var(--line);backdrop-filter:blur(10px);align-items:center;gap:12px;padding:0 20px;display:flex;position:sticky;top:0}.top-slot{flex:1;min-width:0}.bar{align-items:center;gap:16px;min-height:44px;display:flex}.mark{color:var(--ink);letter-spacing:-.01em;text-transform:lowercase;align-items:center;gap:10px;font-size:18px;font-weight:600;text-decoration:none;display:inline-flex}.mark svg{width:26px;height:26px}.mark .ring{fill:none;stroke:var(--mark-ink);stroke-width:2px}.mark .dot{fill:var(--mark-accent)}.section{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;font-size:12px}.ext,.theme,.menu{color:var(--ink);font:inherit;border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;background:0 0;min-height:36px;margin-left:auto;padding:0 14px;font-size:14px;text-decoration:none}.bar .ext{margin-left:auto}.menu{margin-left:0;display:none}.cols{align-items:stretch;display:flex}.nav{border-right:1px solid var(--line);background:var(--surface);flex:none;width:240px;padding:28px 20px 48px}.nav .group+.group{margin-top:28px}.nav .kicker{color:var(--muted);font-family:var(--font-mono);letter-spacing:.14em;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:500}.nav ul{margin:0;padding:0;list-style:none}.nav a{color:var(--ink);padding:8px 0;line-height:1.35;text-decoration:none;display:block}.nav a:hover,.nav a[aria-current=page]{color:var(--accent-ink)}.content{flex:1;min-width:0}main{max-width:1040px}.content-panel{border:0;padding:8px 24px 0}.content-panel+.content-panel{border-top:0;padding-top:0}.content-panel:first-child{padding-top:28px}.sl-container{max-width:none}h1{max-width:22ch;color:var(--ink);letter-spacing:-.032em;margin:0 0 12px;font-size:clamp(28px,4vw,40px);font-weight:500;line-height:1.12}.page-meta{color:var(--muted);font-family:var(--font-mono);letter-spacing:.04em;margin:0 0 28px;font-size:12px;line-height:1.5}.page-meta [data-field]{color:var(--ink)}.sl-markdown-content,.sl-markdown-content p,.sl-markdown-content li{color:var(--ink);font-size:var(--fs-base);line-height:var(--body-leading)}.sl-markdown-content p,.sl-markdown-content ul,.sl-markdown-content ol,.sl-markdown-content table,.sl-markdown-content pre{margin:0 0 16px}.sl-markdown-content h2,.sl-markdown-content h3{color:var(--ink);letter-spacing:-.032em;margin:32px 0 12px;font-weight:500;line-height:1.2}.sl-markdown-content h2{font-size:clamp(22px,2vw,28px)}.sl-markdown-content h3{font-size:20px}.sl-markdown-content a{color:var(--link);text-underline-offset:.18em}.sl-markdown-content a:hover{color:var(--accent-ink)}.sl-markdown-content ul,.sl-markdown-content ol{padding-left:1.2em}.sl-markdown-content table{border-collapse:collapse;width:100%;max-width:100%;display:table}.sl-markdown-content th,.sl-markdown-content td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;overflow-wrap:break-word;padding:10px 12px}.sl-markdown-content th{color:var(--muted);font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:500}.sl-markdown-content code{font-family:var(--font-mono);font-size:.92em}.sl-heading-wrapper{margin:0}.sl-anchor-link{display:none}.foot{border-top:1px solid var(--line);color:var(--muted);gap:20px;margin-top:48px;padding:24px 0 32px;font-size:14px;display:flex}.foot a{color:var(--muted);text-decoration:none}.foot a:hover{color:var(--accent-ink)}.make-flow{margin:0 0 28px;container-type:inline-size}.make-flow .make-wide,.make-flow .make-narrow{height:auto;overflow:visible}.make-flow .make-wide{width:100%;max-width:1024px;display:block}.make-flow .make-narrow{width:min(100%,420px);display:none}.make-flow .make-narrow .step{font-size:16px}.make-flow .make-narrow .who{font-size:13px}@container (width<=960px){.make-flow .make-wide{display:none}.make-flow .make-narrow{display:block}}.make-flow .box{fill:var(--surface);stroke:var(--line-strong);stroke-width:1px}.make-flow .rail{stroke:var(--line-strong);stroke-width:1.5px}.make-flow .step{fill:var(--ink);font-family:var(--font-sans);font-size:14px;font-weight:500}.make-flow .who,.make-flow .num{fill:var(--muted);font-family:var(--font-mono);font-size:12px}.make-flow .num{fill:var(--accent-ink)}.make-dot{fill:var(--teal)}@media (prefers-reduced-motion:reduce){.make-dot{display:none}}@media (width<=720px){.sl-markdown-content table,.sl-markdown-content table thead,.sl-markdown-content table tbody{width:100%;display:block}.sl-markdown-content table tr{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:baseline;column-gap:.4em;padding:14px 0 16px;display:flex}.sl-markdown-content table th,.sl-markdown-content table td{text-align:left;border:0;width:auto;padding:0;display:block}.sl-markdown-content table thead tr{padding:0 0 10px}.sl-markdown-content table thead th{display:inline}.sl-markdown-content table thead th:not(:last-child):after{content:" · ";letter-spacing:0}.sl-markdown-content table tbody td:first-child{color:var(--ink);font-size:var(--fs-base);letter-spacing:0;font-weight:400;line-height:var(--body-leading);flex:1 0 100%}.sl-markdown-content table tbody td:not(:first-child){color:var(--ink);font-size:var(--fs-base);letter-spacing:0;font-weight:400;line-height:var(--body-leading);flex:1 0 100%;margin-top:8px}.sl-markdown-content table:not(:has(thead th:nth-child(3))) tbody td:nth-child(2){color:var(--muted);font-family:var(--font-mono);margin-top:6px;font-size:13px;line-height:1.4}.sl-markdown-content table:has(thead th:nth-child(3)) tbody td:first-child{letter-spacing:-.02em;font-size:18px;font-weight:500;line-height:1.3}.sl-markdown-content table tbody td:empty{display:none}.sl-markdown-content table:has(thead th:nth-child(3)):not(:has(thead th:nth-child(4))) thead,.sl-markdown-content table:has(thead th:nth-child(5)) thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sl-markdown-content table:has(thead th:nth-child(3)):not(:has(thead th:nth-child(4))) tbody td:not(:first-child)[data-label]:before,.sl-markdown-content table:has(thead th:nth-child(5)) tbody td:not(:first-child)[data-label]:before{content:attr(data-label);color:var(--muted);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;margin-right:.5em;font-size:12px}.sl-markdown-content table:has(thead th:nth-child(4)):not(:has(thead th:nth-child(5))) thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.sl-markdown-content table:has(thead th:nth-child(4)):not(:has(thead th:nth-child(5))) tbody td:first-child,.sl-markdown-content table:has(thead th:nth-child(4)):not(:has(thead th:nth-child(5))) tbody td:nth-child(2){letter-spacing:-.02em;flex:0 auto;margin-top:0;font-size:18px;font-weight:500;line-height:1.3}.sl-markdown-content table:has(thead th:nth-child(4)):not(:has(thead th:nth-child(5))) tbody td:nth-child(3){color:var(--muted);font-family:var(--font-mono);margin-top:6px;font-size:13px;line-height:1.4}.sl-markdown-content table:has(thead th:nth-child(4)):not(:has(thead th:nth-child(5))) tbody td:nth-child(3):before{content:"Who";color:var(--muted);letter-spacing:.12em;text-transform:uppercase;margin-right:.5em;font-size:12px}.sl-markdown-content table:has(thead th:nth-child(4)):not(:has(thead th:nth-child(5))) tbody td:nth-child(4){margin-top:6px}}@media (width<=800px){.ext{display:none}.bar .theme{margin-left:auto}.menu{align-items:center;display:inline-flex}.nav{border-right:0;width:auto;display:none}.shell.nav-open .nav{border-bottom:1px solid var(--line);display:block}.cols{display:block}.content-panel{padding-left:20px;padding-right:20px}h1{max-width:none}}.plain{background:var(--bg);min-height:100vh;color:var(--ink)}.plain main{max-width:640px;padding:48px 20px 64px}.plain h1{max-width:none}.plain p{margin:0 0 16px}.plain a{color:var(--link)}
