:root{--bg: #0a0d14;--surface: #10151f;--surface-2: #171d2a;--surface-3: #1f2736;--line: #222b3b;--line-strong: #56637f;--fg: #eef2f8;--muted: #a3adc2;--faint: #7d889f;--accent: #4f8eff;--accent-hover: #76a6ff;--accent-fg: #0a0d14;--accent-soft: #142443;--accent-ink: #9cc0ff;--band: #0d1424;--band-fg: #eef2f8;--band-muted: #a3adc2;--band-line: #243352;--band-accent: #4f8eff;--ok: #5ed397;--ok-soft: #12332a;--warn: #e7bc66;--warn-soft: #3a2d12;--warn-line: #7a5f2a;--danger: #f09090;--danger-soft: #3d1c1c;--focus: #9cc0ff;--selection: #1f3a66;--display: "Archivo", "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Menlo, Consolas, monospace;--fs-0: .8125rem;--fs-1: .9375rem;--fs-2: 1.0625rem;--fs-3: 1.1875rem;--fs-4: 1.3125rem;--fs-5: clamp(1.875rem, 1.4rem + 1.6vw, 2.75rem);--fs-6: clamp(2.375rem, 1.6rem + 2.8vw, 3.75rem);--fs-7: clamp(2.625rem, 1.5rem + 3.9vw, 4.5rem);--lh-body: 1.6;--lh-tight: 1.1;--measure: 66ch;--s-1: .25rem;--s-2: .5rem;--s-3: .75rem;--s-4: 1rem;--s-5: 1.5rem;--s-6: 2rem;--s-7: 3rem;--s-8: 4rem;--s-9: 6rem;--r-1: 4px;--r-2: 8px;--r-3: 14px;--shadow-1: 0 1px 0 rgb(255 255 255 / .04) inset, 0 24px 60px -24px rgb(0 0 0 / .7);--t-fast: .16s;--t-draw: .9s;--ease: cubic-bezier(.2, .7, .2, 1);--page: 72rem;--header-h: 4rem;color-scheme:dark}:root[data-theme=light]{--bg: #f5f7fb;--surface: #ffffff;--surface-2: #eaeef6;--surface-3: #dfe5f0;--line: #d6dce8;--line-strong: #6f7b94;--fg: #0e1526;--muted: #4f5b74;--faint: #67738c;--accent: #1f4fb0;--accent-hover: #183f8f;--accent-fg: #ffffff;--accent-soft: #e4ecfa;--accent-ink: #17408f;--band: #0e1526;--band-fg: #f2f5fa;--band-muted: #b9c3d6;--band-line: #2b3650;--band-accent: #76a6ff;--ok: #1b7a4a;--ok-soft: #ddf1e4;--warn: #7a4f00;--warn-soft: #fbf0d9;--warn-line: #e0c27e;--danger: #a32d2d;--danger-soft: #fae3e3;--focus: #1f4fb0;--selection: #d6e2f7;--shadow-1: 0 1px 2px rgb(14 21 38 / .06), 0 24px 60px -28px rgb(14 21 38 / .25);color-scheme:light}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/archivo-latin-wght-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:italic;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-400-italic.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-500-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/ibm-plex-sans-latin-600-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-400-normal.woff2) format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/ibm-plex-mono-latin-500-normal.woff2) format("woff2")}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}[id]{scroll-margin-top:calc(var(--header-h) + var(--s-4))}body{margin:0;background:var(--bg);color:var(--fg);font-family:var(--font);font-size:var(--fs-2);line-height:var(--lh-body);font-feature-settings:"kern" 1;-webkit-font-smoothing:antialiased}::selection{background:var(--selection)}a{color:var(--accent);text-decoration-thickness:1px;text-underline-offset:.18em}a:hover{color:var(--accent-hover)}h1,h2,h3,h4{line-height:var(--lh-tight);text-wrap:balance;margin:0 0 var(--s-3);font-weight:600;letter-spacing:-.012em}h1,h2{font-family:var(--display);font-weight:650;letter-spacing:-.03em}h1{font-size:var(--fs-6)}h2{font-size:var(--fs-5)}h3{font-size:var(--fs-4);line-height:1.25;letter-spacing:-.01em}h4{font-size:var(--fs-2);line-height:1.35;letter-spacing:0}p,ul,ol,dl{margin:0 0 var(--s-4)}li{margin-bottom:var(--s-2)}img,svg{max-width:100%}code,kbd,.mono{font-family:var(--mono);font-size:.92em}code{overflow-wrap:anywhere}strong{font-weight:600}small,.small{font-size:var(--fs-1)}.muted{color:var(--muted)}.lede{font-size:var(--fs-3);line-height:1.55;max-width:var(--measure);color:var(--muted)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}.container{max-width:var(--page);margin:0 auto;padding-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px))}@media(min-width:760px){.container{padding-inline:var(--s-6)}}.prose{max-width:var(--measure)}.prose h2{margin-top:var(--s-7)}.prose h3{margin-top:var(--s-6)}.section{padding-block:var(--s-7);border-top:1px solid var(--line)}.section>.container>h2:first-child,.section-head h2{margin-bottom:var(--s-2)}.section-head{max-width:44rem;margin-bottom:var(--s-7)}.section-head h1{margin-bottom:var(--s-4)}.section-head p{font-size:var(--fs-3);line-height:1.5;color:var(--muted);margin:0;max-width:var(--measure);text-wrap:pretty}.chapter{padding-block:var(--s-9)}.chapter.deep{background:var(--surface);border-block:1px solid var(--line)}.chapter-head{max-width:46rem;margin-bottom:var(--s-7)}.chapter-head h2{margin-bottom:var(--s-4);max-width:24ch}.chapter-head>p:last-child{font-size:var(--fs-3);line-height:1.55;color:var(--muted);margin:0;max-width:var(--measure);text-wrap:pretty}.kicker{display:block;font-size:var(--fs-1);font-weight:500;color:var(--accent-ink);margin:0 0 var(--s-3)}.artefact{display:inline-flex;align-items:center;gap:.4em;font-family:var(--mono);font-size:var(--fs-0);color:var(--muted);white-space:nowrap}.artefact:before{content:"";width:.7em;height:.85em;flex:none;border:1.5px solid currentColor;border-radius:1px;clip-path:polygon(0 0,70% 0,100% 30%,100% 100%,0 100%)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.75rem;padding:.6rem 1.2rem;border-radius:var(--r-2);border:1px solid var(--line-strong);background:var(--surface);color:var(--fg);font:inherit;font-weight:500;line-height:1.2;text-decoration:none;cursor:pointer;transition:background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease),box-shadow var(--t-fast) var(--ease)}.btn:hover{background:var(--surface-3);border-color:var(--accent);color:var(--fg)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600;box-shadow:0 0 color-mix(in srgb,var(--accent) 35%,transparent)}.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:var(--accent-fg);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 22%,transparent)}.btn.quiet{background:transparent;border-color:var(--line-strong);color:var(--fg)}.btn.quiet:hover{background:var(--surface-2);border-color:var(--accent);color:var(--fg)}.btn.small{min-height:2.25rem;padding:.35rem .85rem;font-size:var(--fs-1);border-radius:var(--r-1)}.btn[disabled],.btn:disabled{opacity:.55;cursor:not-allowed}.actions{display:flex;flex-wrap:wrap;gap:var(--s-3);align-items:center}.chip,.state{display:inline-flex;align-items:center;gap:.35em;padding:.1rem .55rem;border:1px solid var(--line-strong);border-radius:999px;font-size:var(--fs-0);font-weight:500;line-height:1.5;color:var(--fg);background:var(--surface);white-space:nowrap}.state.succeeded,.state.done,.chip.ok{color:var(--ok);border-color:color-mix(in srgb,var(--ok) 55%,transparent);background:var(--ok-soft)}.state.blocked,.state.failed_final,.chip.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 55%,transparent);background:var(--danger-soft)}.state.running,.state.waiting_approval,.state.held,.chip.warn,.tag{color:var(--warn);border-color:var(--warn-line);background:var(--warn-soft)}.tag{display:inline-block;padding:.02rem .45rem;border:1px solid var(--warn-line);border-radius:999px;font-size:var(--fs-0);font-weight:500;white-space:nowrap}.notice{border:1px solid var(--line);border-left:3px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface);padding:var(--s-3) var(--s-4);margin:var(--s-4) 0}.notice.warn,.status{border-color:var(--warn-line);border-left-color:var(--warn);background:var(--warn-soft)}.notice.ok{border-left-color:var(--ok);background:var(--ok-soft)}.notice.danger{border-left-color:var(--danger);background:var(--danger-soft)}.notice>:last-child{margin-bottom:0}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-2);padding:var(--s-4) var(--s-5)}.card>:last-child{margin-bottom:0}.table-wrap{overflow-x:auto;margin:var(--s-3) 0 var(--s-5);-webkit-overflow-scrolling:touch}table{width:100%;border-collapse:collapse;font-size:var(--fs-1);font-variant-numeric:tabular-nums}th,td{text-align:left;vertical-align:top;padding:.6rem .75rem .6rem 0;border-bottom:1px solid var(--line)}th{font-weight:500}thead th,table>tr:first-child>th,tbody:first-child>tr:first-child>th{font-size:var(--fs-0);color:var(--muted);border-bottom:1px solid var(--line-strong);padding-top:0}td code{font-size:.88em}caption{text-align:left;caption-side:top;padding:0 0 var(--s-2);font-size:var(--fs-1);color:var(--muted)}table.kv td:first-child,table.kv th:first-child{width:12rem;min-width:8rem;color:var(--muted);font-weight:400;padding-right:var(--s-4)}table.kv td:last-child,ul.jtree li{overflow-wrap:anywhere}table.kv table.kv{margin:0}table.kv table.kv td{border-bottom-color:var(--surface-2);padding-block:.35rem}table.kv tr:last-child>td{border-bottom:0}@media(max-width:560px){table.kv,table.kv tbody,table.kv tr,table.kv td{display:block;width:100%}table.kv td:first-child{width:auto;border-bottom:0;padding:var(--s-3) 0 0;font-size:var(--fs-0)}table.kv td:last-child{padding-top:.15rem}}.defs{display:grid;grid-template-columns:minmax(9rem,14rem) 1fr;gap:var(--s-2) var(--s-4);margin:0 0 var(--s-5)}.defs dt{color:var(--muted);font-size:var(--fs-1)}.defs dd{margin:0;overflow-wrap:anywhere}@media(max-width:560px){.defs{grid-template-columns:1fr;gap:0 0}.defs dt{margin-top:var(--s-3);font-size:var(--fs-0)}}.field{display:grid;gap:var(--s-1);align-content:start;margin:0 0 var(--s-4);font-weight:500}.field>span:first-child,.field>label:first-child{font-size:var(--fs-1)}.help{display:block;font-weight:400;font-size:var(--fs-0);color:var(--muted)}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{font:inherit;font-weight:400;width:100%;min-height:2.75rem;padding:.55rem .75rem;border:1px solid var(--line-strong);border-radius:var(--r-2);background:var(--surface);color:var(--fg);transition:border-color var(--t-fast) var(--ease)}textarea{min-height:5.5rem;resize:vertical}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--accent)}input[type=checkbox],input[type=radio]{width:1.1rem;height:1.1rem;margin:.2rem 0 0;accent-color:var(--accent);flex:none}.opt{display:flex;gap:var(--s-2);align-items:flex-start;font-weight:400;margin:0 0 var(--s-2)}fieldset{border:0;border-top:1px solid var(--line);padding:var(--s-5) 0 var(--s-2);margin:0 0 var(--s-4);min-width:0}legend{font-weight:600;font-size:var(--fs-4);letter-spacing:-.01em;padding:0 var(--s-3) 0 0}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;margin:0}details.q{border-top:1px solid var(--line);padding:var(--s-3) 0}details.q:last-of-type{border-bottom:1px solid var(--line)}details.q summary{cursor:pointer;font-weight:500;font-size:var(--fs-3);letter-spacing:-.005em;list-style:none;display:flex;gap:var(--s-4);align-items:baseline;padding:var(--s-2) 0}details.q summary::-webkit-details-marker{display:none}details.q summary:before{content:"+";font-family:var(--mono);color:var(--accent);width:1em;flex:none;transition:transform var(--t-fast) var(--ease)}details.q[open] summary:before{content:"−"}details.q>p{margin:var(--s-2) 0 var(--s-3) calc(1em + var(--s-4));max-width:var(--measure);color:var(--muted);text-wrap:pretty}.skip{position:absolute;left:-9999px}.skip:focus{left:var(--s-4);top:var(--s-4);z-index:30;background:var(--surface);border:1px solid var(--line-strong);padding:.5rem .75rem;border-radius:var(--r-1)}blockquote{margin:0 0 var(--s-4);padding:var(--s-4) var(--s-5);border-left:3px solid var(--accent);background:var(--surface);border-radius:0 var(--r-2) var(--r-2) 0}blockquote p:last-child{margin:0}@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.site-header[data-astro-cid-ctg3m53h]{border-bottom:1px solid var(--line);background:var(--bg)}@media(min-width:900px){.site-header[data-astro-cid-ctg3m53h]{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 78%,transparent);-webkit-backdrop-filter:saturate(140%) blur(14px);backdrop-filter:saturate(140%) blur(14px)}}.bar[data-astro-cid-ctg3m53h]{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand cta" "nav nav";align-items:center;column-gap:var(--s-4);padding-block:var(--s-3) 0}.brand[data-astro-cid-ctg3m53h]{grid-area:brand;display:inline-flex;align-items:center;gap:var(--s-3);color:var(--fg);text-decoration:none;min-width:0}.mark[data-astro-cid-ctg3m53h]{display:grid;place-items:center;width:2rem;height:2rem;flex:none;border-radius:8px;background:var(--accent);color:var(--accent-fg)}.brand-text[data-astro-cid-ctg3m53h]{display:flex;flex-direction:column;line-height:1.1;min-width:0}.brand-name[data-astro-cid-ctg3m53h]{font-family:var(--display);font-weight:650;font-size:1.125rem;letter-spacing:-.02em;white-space:nowrap}.brand-by[data-astro-cid-ctg3m53h]{font-size:var(--fs-0);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:.15rem}.tools[data-astro-cid-ctg3m53h]{grid-area:cta;justify-self:end;display:inline-flex;align-items:center;gap:var(--s-3);min-width:0}.theme-toggle[data-astro-cid-ctg3m53h]{display:inline-grid;place-items:center;width:2.25rem;height:2.25rem;flex:none;padding:0;border:1px solid var(--line);border-radius:var(--r-1);background:transparent;color:var(--muted);cursor:pointer;transition:border-color var(--t-fast) var(--ease),background-color var(--t-fast) var(--ease),color var(--t-fast) var(--ease)}.theme-toggle[data-astro-cid-ctg3m53h]:hover{border-color:var(--line-strong);background:var(--surface-2);color:var(--fg)}.theme-toggle[data-astro-cid-ctg3m53h]:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.theme-toggle[data-astro-cid-ctg3m53h] .sun[data-astro-cid-ctg3m53h]{display:none}[data-theme=light] .theme-toggle[data-astro-cid-ctg3m53h] .sun[data-astro-cid-ctg3m53h]{display:block}[data-theme=light] .theme-toggle[data-astro-cid-ctg3m53h] .moon[data-astro-cid-ctg3m53h]{display:none}.who[data-astro-cid-ctg3m53h]{font-size:var(--fs-1);color:var(--muted);display:inline-flex;gap:var(--s-3);align-items:center;min-width:0}.who-email[data-astro-cid-ctg3m53h]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:14rem}@media(max-width:559px){.bar[data-astro-cid-ctg3m53h]{column-gap:var(--s-2)}.who-email[data-astro-cid-ctg3m53h]{max-width:6rem}.brand[data-astro-cid-ctg3m53h]{overflow:hidden}.brand-name[data-astro-cid-ctg3m53h]{overflow:hidden;text-overflow:ellipsis}}nav[data-astro-cid-ctg3m53h]{grid-area:nav;overflow-x:auto;scrollbar-width:none;margin-inline:calc(-1*max(16px,env(safe-area-inset-left,0px)));padding-inline:max(16px,env(safe-area-inset-left,0px))}nav[data-astro-cid-ctg3m53h]::-webkit-scrollbar{display:none}nav[data-astro-cid-ctg3m53h].more{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 56px),transparent)}nav[data-astro-cid-ctg3m53h] ul[data-astro-cid-ctg3m53h]{display:flex;gap:var(--s-5);list-style:none;margin:0;padding:0}nav[data-astro-cid-ctg3m53h] li[data-astro-cid-ctg3m53h]{margin:0}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h]{display:inline-block;padding:var(--s-3) 0 calc(var(--s-3) - 2px);border-bottom:2px solid transparent;color:var(--muted);text-decoration:none;font-size:var(--fs-1);font-weight:500;white-space:nowrap;transition:color var(--t-fast) var(--ease),border-color var(--t-fast) var(--ease)}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h]:hover{color:var(--fg);border-bottom-color:var(--line-strong)}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h][aria-current=page]{color:var(--fg);border-bottom-color:var(--accent)}@media(min-width:900px){.bar[data-astro-cid-ctg3m53h]{grid-template-columns:auto 1fr auto;grid-template-areas:"brand nav cta";column-gap:var(--s-7);padding-block:0;min-height:var(--header-h)}nav[data-astro-cid-ctg3m53h]{margin-inline:0;padding-inline:0;justify-self:center}nav[data-astro-cid-ctg3m53h] a[data-astro-cid-ctg3m53h]{padding-block:calc((var(--header-h) - 1.5rem - 1px) / 2) calc((var(--header-h) - 1.5rem - 1px) / 2 - 2px);line-height:1.5rem}}.site-footer[data-astro-cid-gcn2mc3v]{border-top:1px solid var(--line);margin-top:var(--s-9);padding-block:var(--s-8) var(--s-6);font-size:var(--fs-1);background:var(--surface)}.foot-primary[data-astro-cid-gcn2mc3v]{display:grid;gap:var(--s-7) var(--s-8);grid-template-columns:minmax(0,1fr)}@media(min-width:760px){.foot-primary[data-astro-cid-gcn2mc3v]{grid-template-columns:minmax(0,1.2fr) minmax(0,2fr)}}.foot-brand[data-astro-cid-gcn2mc3v]{max-width:40ch;display:grid;gap:var(--s-4);align-content:start}.foot-brand[data-astro-cid-gcn2mc3v] p[data-astro-cid-gcn2mc3v]{margin:0;text-wrap:pretty}.brand[data-astro-cid-gcn2mc3v]{display:inline-flex;align-items:center;gap:var(--s-3);color:var(--fg);text-decoration:none;width:fit-content}.mark[data-astro-cid-gcn2mc3v]{display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:7px;background:var(--accent);color:var(--accent-fg)}.brand-name[data-astro-cid-gcn2mc3v]{font-family:var(--display);font-weight:650;font-size:1.125rem;letter-spacing:-.02em}.foot-groups[data-astro-cid-gcn2mc3v]{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:var(--s-6) var(--s-6)}.foot-group[data-astro-cid-gcn2mc3v] h2[data-astro-cid-gcn2mc3v]{font-family:var(--font);font-size:var(--fs-1);font-weight:600;letter-spacing:0;color:var(--fg);margin:0 0 var(--s-3)}.foot-group[data-astro-cid-gcn2mc3v] ul[data-astro-cid-gcn2mc3v]{list-style:none;margin:0;padding:0;display:grid;gap:var(--s-1)}.foot-group[data-astro-cid-gcn2mc3v] li[data-astro-cid-gcn2mc3v]{margin:0}.foot-group[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{display:inline-flex;align-items:center;min-height:2rem;color:var(--muted);text-decoration:none;transition:color var(--t-fast) var(--ease)}.foot-group[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:.18em}.foot-meta[data-astro-cid-gcn2mc3v]{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--s-2) var(--s-5);margin-top:var(--s-7);padding-top:var(--s-5);border-top:1px solid var(--line);font-size:var(--fs-0);color:var(--muted)}.foot-meta[data-astro-cid-gcn2mc3v] p[data-astro-cid-gcn2mc3v]{margin:0}.foot-meta[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]{color:var(--muted);text-decoration:none}.foot-meta[data-astro-cid-gcn2mc3v] a[data-astro-cid-gcn2mc3v]:hover{color:var(--accent-ink);text-decoration:underline;text-underline-offset:.18em}
