@font-face{font-family:Geist;src:url(/fonts/geist.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;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:Geist;src:url(/fonts/geist-ext.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,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:Geist;src:url(/fonts/geist-italic.woff2)format("woff2");font-weight:100 900;font-style:italic;font-display:swap}@font-face{font-family:Geist Mono;src:url(/fonts/geist-mono.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;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:Geist Mono;src:url(/fonts/geist-mono-ext.woff2)format("woff2");font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,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}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fafafa;--surface:#f3f3f4;--surface-strong:#e8e8ea;--ink:#0f1012;--ink-soft:#5a5d64;--line:#e5e5e7;--line-strong:#cdced2;--accent:#2f5bff;--accent-press:#2449dc;--on-accent:#fff;--accent-ink:#2449dc;--accent-tint:#e7ecff;--live:#15774a;--rejected:#bf352b;--rejected-tint:#fdeeec;--diagram-plate:#fff;--diagram-dim:none;--shadow-drawer:0 12px 40px #0a0a0c29;--log-paper:#111214;--log-ink:#ededee;--log-soft:#a9abb2;--log-line:#2a2b30;--log-rejected:#ff8f85;--log-live:#5bd19a;--log-waiting:#9db4ff;--code-text:var(--ink);--code-comment:#6c7180;--code-string:#15714a;--code-keyword:#7a3b8f;--code-function:#2449dc;--code-constant:#93500a;--code-parameter:#3b4250;--font-sans:"Geist", -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-display:var(--font-sans);--font-body:var(--font-sans);--font-ui:var(--font-sans);--font-mono:"Geist Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-sm:.875rem;--text-base:1rem;--text-reading:1.0625rem;--text-lead:clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);--text-md:1.25rem;--text-lg:1.5rem;--text-xl:2rem;--text-title:clamp(2rem, 1.7rem + 1.3vw, 2.75rem);--text-2xl:clamp(2.125rem, 1.65rem + 2.1vw, 3.375rem);--text-hero:clamp(2.5rem, 1.7rem + 3.7vw, 4.75rem);--leading-reading:1.68;--leading-tight:1.08;--leading-ui:1.45;--tracking-hero:-.042em;--tracking-heading:-.032em;--tracking-small-heading:-.016em;--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;--s-10:8rem;--section-gap:clamp(4.5rem, 3rem + 6vw, 8rem);--measure:66ch;--page-max:72rem;--gutter:1rem;--sidebar-width:18.5rem;--topbar-height:3.5rem;--radius-block:.625rem;--radius-button:.5rem;--radius-small:.25rem;--fast:.12s;--normal:.18s;--ease:cubic-bezier(.2, 0, 0, 1)}@media (width>=40rem){:root{--gutter:1.5rem;--text-reading:1.125rem}}@media (width>=64rem){:root{--gutter:2rem}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0b0b0c;--surface:#141416;--surface-strong:#1f2023;--ink:#ededee;--ink-soft:#a3a5ac;--line:#232428;--line-strong:#3b3c42;--accent-press:#2449dc;--accent-ink:#9db4ff;--accent-tint:#1b2444;--live:#5bd19a;--rejected:#ff8f85;--rejected-tint:#2b1715;--diagram-plate:#e0e0dd;--diagram-dim:brightness(.88);--shadow-drawer:0 12px 40px #0009;--code-comment:#8d93a1;--code-string:#7fd1a8;--code-keyword:#d6a8e6;--code-function:#9db4ff;--code-constant:#f0b478;--code-parameter:#c2c7d1}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0b0b0c;--surface:#141416;--surface-strong:#1f2023;--ink:#ededee;--ink-soft:#a3a5ac;--line:#232428;--line-strong:#3b3c42;--accent-press:#2449dc;--accent-ink:#9db4ff;--accent-tint:#1b2444;--live:#5bd19a;--rejected:#ff8f85;--rejected-tint:#2b1715;--diagram-plate:#e0e0dd;--diagram-dim:brightness(.88);--shadow-drawer:0 12px 40px #0009;--code-comment:#8d93a1;--code-string:#7fd1a8;--code-keyword:#d6a8e6;--code-function:#9db4ff;--code-constant:#f0b478;--code-parameter:#c2c7d1}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:calc(var(--topbar-height) + var(--s-4));background:var(--paper)}body{background:var(--paper);min-height:100dvh;color:var(--ink);font-family:var(--font-ui);font-size:var(--text-base);line-height:var(--leading-ui);-webkit-font-smoothing:antialiased;overflow-wrap:break-word;margin:0}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;line-height:var(--leading-tight);letter-spacing:var(--tracking-heading);text-wrap:balance;margin:0}h3,h4{letter-spacing:var(--tracking-small-heading);line-height:1.25}p,ul,ol,dl,figure,blockquote,pre{margin:0}img,svg{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit;text-decoration-line:underline;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:.2em;transition:text-decoration-color var(--fast) var(--ease);text-decoration-thickness:1px}a:hover{text-decoration-color:currentColor}:focus-visible{outline:2px solid var(--accent-ink);outline-offset:2px;border-radius:var(--radius-small)}:focus:not(:focus-visible){outline:none}::selection{background:var(--accent);color:var(--on-accent)}.nowrap{white-space:nowrap}[hidden]{display:none!important}#main:focus{outline:none}.btn:focus-visible{border-radius:var(--radius-button)}.site-name{min-height:2.75rem;font-family:var(--font-display);font-size:var(--text-base);letter-spacing:-.02em;white-space:nowrap;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.site-name:hover{color:var(--ink-soft)}.skip-link{z-index:100;top:var(--s-2);left:var(--s-2);padding:var(--s-3) var(--s-4);background:var(--ink);color:var(--paper);border-radius:var(--radius-button);text-decoration:none;position:absolute;transform:translateY(-200%)}.skip-link:focus{transform:none}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;position:absolute!important}.btn{justify-content:center;align-items:center;gap:var(--s-2);min-height:2.875rem;padding:var(--s-2) 1.25rem;border:1px solid var(--line-strong);border-radius:var(--radius-button);color:var(--ink);font-family:var(--font-ui);letter-spacing:-.006em;text-align:center;cursor:pointer;transition:background-color var(--fast) var(--ease), border-color var(--fast) var(--ease);background:0 0;font-size:.9375rem;font-weight:550;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover{background:var(--surface);border-color:var(--ink-soft)}.btn:active{background:var(--surface-strong)}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.btn-primary:hover,.btn-primary:active{background:var(--accent-press);border-color:var(--accent-press)}.btn-closed,.btn-closed:hover,.btn-closed:active{background:var(--surface);border-color:var(--line);color:var(--ink-soft);cursor:default}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body:has(>.site-header){flex-direction:column;display:flex}body:has(>.site-header)>main{flex:1;width:100%}.site-header{justify-content:space-between;align-items:center;gap:0 var(--s-4);width:100%;max-width:var(--page-max);min-height:4rem;padding-inline:var(--gutter) calc(var(--gutter) - var(--s-2));flex-wrap:wrap;margin-inline:auto;display:flex}.site-nav{gap:var(--s-1);display:flex}.site-nav a{min-height:2.75rem;padding-inline:var(--s-2);border-radius:var(--radius-small);color:var(--ink-soft);font-size:var(--text-sm);transition:color var(--fast) var(--ease);align-items:center;font-weight:500;text-decoration:none;display:inline-flex}.site-nav a:hover{color:var(--ink)}.site-footer{justify-content:space-between;align-items:center;gap:var(--s-3) var(--s-6);width:100%;max-width:var(--page-max);margin-inline:auto;margin-top:var(--section-gap);padding:var(--s-5) calc(var(--gutter) - var(--s-2)) var(--s-6) var(--gutter);border-top:1px solid var(--line);color:var(--ink-soft);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.footer-nav{gap:0 var(--s-5);flex-wrap:wrap;display:flex}.footer-nav a{min-width:2.75rem;min-height:2.75rem;transition:color var(--fast) var(--ease);align-items:center;text-decoration:none;display:inline-flex}.footer-nav a:hover{color:var(--ink)}.footer-end{align-items:center;gap:var(--s-1) var(--s-4);flex-wrap:wrap;display:flex}@media (width<=39.99rem){.footer-end .theme-toggle{margin-left:calc(var(--s-2) * -1)}}.page{width:100%;max-width:var(--page-max);padding:clamp(var(--s-6), 1rem + 5vw, var(--s-9)) var(--gutter) 0;margin-inline:auto}.doc{max-width:35rem;margin-inline:auto}.doc h1{font-size:var(--text-title)}.doc h2{margin-top:var(--s-7);font-size:var(--text-md);letter-spacing:var(--tracking-small-heading);line-height:1.25}.doc p:not(.draft-mark,.notice,.field-hint),.doc ul{margin-top:var(--s-4);font-size:var(--text-reading);line-height:var(--leading-reading);text-wrap:pretty}.doc ul{padding-left:var(--s-5)}.doc li+li{margin-top:var(--s-2)}.doc li::marker{color:var(--ink-soft)}.doc .btn{margin-top:var(--s-2)}.draft-mark{margin-top:var(--s-5);padding:var(--s-3) var(--s-4);border:1px dashed var(--line-strong);border-radius:var(--radius-small);color:var(--ink-soft);font-size:var(--text-sm);line-height:1.5}.todo{padding-inline:var(--s-1);border:1px dashed var(--line-strong);border-radius:var(--radius-small);color:var(--ink-soft);font-size:var(--text-sm);-webkit-box-decoration-break:clone;box-decoration-break:clone}.unlock-lead{color:var(--ink-soft)}.notice{margin-top:var(--s-5);padding:var(--s-3) var(--s-4);border-left:2px solid var(--rejected);border-radius:var(--radius-small);background:var(--rejected-tint);line-height:1.5}.notice[data-calm]{border-left-color:var(--line-strong);background:var(--surface)}.unlock-form{gap:var(--s-2);margin-top:var(--s-6);display:grid}.unlock-form label{font-size:var(--text-sm);font-weight:550}.unlock-form input[type=text]{width:100%;min-height:3rem;padding:var(--s-2) var(--s-3);border:1px solid var(--line-strong);border-radius:var(--radius-button);background:var(--paper);font-family:var(--font-mono);transition:border-color var(--fast) var(--ease);font-size:1rem}.unlock-form input[type=text]:hover{border-color:var(--ink-soft)}.unlock-form input[aria-invalid=true]{border-color:var(--rejected);box-shadow:inset 0 0 0 1px var(--rejected)}.field-hint{color:var(--ink-soft);font-size:var(--text-sm);overflow-wrap:anywhere}.unlock-form .btn{margin-top:var(--s-3);justify-self:start}.unlock-form .btn[aria-disabled=true]{cursor:progress;opacity:.75}.unlock-help{margin-top:var(--s-8);padding-top:var(--s-5);border-top:1px solid var(--line)}.doc .unlock-help h2{margin-top:0}@media (width<=39.99rem){.unlock-form .btn{justify-self:stretch}}.theme-toggle[data-astro-cid-l6lhmie6]{align-items:center;gap:var(--s-2);min-width:4.75rem;min-height:2.75rem;padding:0 var(--s-2);border-radius:var(--radius-button);color:var(--ink-soft);font-family:var(--font-ui);font-size:var(--text-sm);cursor:pointer;transition:color var(--fast) var(--ease), background-color var(--fast) var(--ease);background:0 0;border:0;font-weight:600;line-height:1;display:inline-flex}.theme-toggle[data-astro-cid-l6lhmie6]:hover{background:var(--surface);color:var(--ink)}.theme-toggle[data-astro-cid-l6lhmie6]:not([data-ready]){visibility:hidden}.icon[data-astro-cid-l6lhmie6]{flex:none;width:1.125rem;height:1.125rem;display:none}.theme-toggle[data-astro-cid-l6lhmie6][data-mode=auto] .icon-auto[data-astro-cid-l6lhmie6],.theme-toggle[data-astro-cid-l6lhmie6][data-mode=light] .icon-light[data-astro-cid-l6lhmie6],.theme-toggle[data-astro-cid-l6lhmie6][data-mode=dark] .icon-dark[data-astro-cid-l6lhmie6]{display:block}
