@font-face{font-family:Geist;src:url(/fonts/geist/Geist-Regular.ttf)format("truetype");font-weight:400;font-display:swap}:root{--bg:#14170d;--panel:#1b1f12;--panel-2:#20251a;--ink:#f0f1e5;--muted:#a8af97;--line:#353c27;--accent:#dcff00;--in:#c5dc79;--out:#d2a28b;--info:#55c7ef;--warn:#ffb020;--chart-1:#83a01f;--chart-2:#00929f;--chart-3:#bd8630;--chart-4:#7761b0;--chart-5:#b55e43;--chart-6:#429d72;--radius-control:10px;--radius-panel:18px;--text-meta:12px;--text-body:14px;--text-prose:16px;--text-section:22px;--text-page:36px;--topbar:60px;--sidebar:264px;--toc:220px;--article:760px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-padding-top:calc(var(--topbar) + 16px)}body{background:var(--bg);color:var(--ink);font-family:Geist,Arial,sans-serif;font-weight:400;font-size:var(--text-body);font-synthesis:none;-webkit-font-smoothing:antialiased;margin:0;line-height:1.5}h1,h2,h3,h4,strong,b,button,input{font-family:inherit;font-weight:400}a{color:inherit}:is(a,button,input,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:4px}.skip-link{z-index:30;background:var(--accent);color:var(--bg);border-radius:var(--radius-control);padding:8px 12px;position:absolute;top:8px;left:-9999px}.skip-link:focus{left:16px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.topbar{z-index:20;height:var(--topbar);background:color-mix(in srgb,var(--bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:0 24px;display:flex;position:sticky;top:0}.brand{letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:8px;font-size:16px;text-decoration:none;display:flex}.brand img{display:block}.brand-docs{color:var(--muted);border-left:1px solid var(--line);padding-left:8px}.search-trigger{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);min-width:240px;height:36px;color:var(--muted);font-size:var(--text-body);cursor:pointer;align-items:center;gap:8px;margin-left:auto;padding:0 10px;display:flex}.search-trigger:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.search-trigger kbd{font-family:inherit;font-size:var(--text-meta);border:1px solid var(--line);border-radius:4px;margin-left:auto;padding:0 5px}.topbar-links{align-items:center;gap:16px;display:flex}.topbar-links a{color:var(--muted);text-decoration:none}.topbar-links a:hover{color:var(--ink)}.button,.topbar-links a.button{border:1px solid color-mix(in srgb,var(--accent) 35%,var(--line));border-radius:var(--radius-control);height:36px;color:var(--accent);background:linear-gradient(115deg,#dcff001a,#dcff0005);align-items:center;padding:0 14px;display:inline-flex}.button:hover,.topbar-links a.button:hover{color:var(--accent);background:linear-gradient(115deg,#dcff0029,#dcff000c)}.menu-button{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;margin-left:-12px;display:none}.frame{grid-template-columns:var(--sidebar) minmax(0,1fr) var(--toc);gap:48px;max-width:1440px;margin:0 auto;padding:0 24px;display:grid}.sidebar{top:var(--topbar);height:calc(100vh - var(--topbar));padding:32px 8px 48px 0;position:sticky;overflow-y:auto}.sidebar-nav section+section{margin-top:24px}.sidebar-nav h2{font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.sidebar-nav ul{border-left:1px solid var(--line);margin:0;padding:0;list-style:none}.sidebar-nav a{color:var(--muted);border-left:1px solid #0000;margin-left:-1px;padding:5px 12px;line-height:1.4;text-decoration:none;display:block}.sidebar-nav a:hover{color:var(--ink)}.sidebar-nav a[aria-current=page]{color:var(--accent);border-left-color:var(--accent)}.article{min-width:0;max-width:var(--article);padding:40px 0 80px}.eyebrow{font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--accent);margin:0 0 8px}.article h1{font-size:var(--text-page);letter-spacing:-.03em;margin:0;line-height:1.15}.lede{color:var(--muted);margin:12px 0 0;font-size:18px;line-height:1.55}.page-actions{flex-wrap:wrap;gap:8px;margin:20px 0 8px;display:flex}.page-actions :is(a,button){border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);height:32px;color:var(--muted);font-size:var(--text-meta);cursor:pointer;align-items:center;padding:0 12px;text-decoration:none;display:inline-flex}.page-actions :is(a,button):hover{color:var(--ink);border-color:color-mix(in srgb,var(--accent) 30%,var(--line))}.prose{font-size:var(--text-prose);line-height:1.7}.prose>:first-child{margin-top:32px}.prose p,.prose ul,.prose ol{margin:16px 0}.prose ul,.prose ol{padding-left:22px}.prose li{margin:6px 0}.prose li::marker{color:var(--muted)}.prose h2{font-size:var(--text-section);letter-spacing:-.02em;border-top:1px solid var(--line);margin:48px 0 12px;padding-top:24px;line-height:1.3}.prose h3{letter-spacing:-.01em;margin:32px 0 8px;font-size:18px;line-height:1.35}.prose h4{color:var(--muted);margin:24px 0 8px;font-size:16px}.heading-anchor{text-decoration:none}.heading-anchor:hover:after{content:" #";color:var(--muted)}.prose a:not(.heading-anchor){color:var(--accent);text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-decoration-color:color-mix(in srgb,var(--accent) 40%,transparent);text-underline-offset:3px}.prose a:not(.heading-anchor):hover{-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.prose strong{color:var(--ink);font-weight:400}.prose code{border:1px solid var(--line);background:var(--panel);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.86em}.code-block{border:1px solid var(--line);border-radius:var(--radius-control);background:var(--panel);margin:20px 0;padding:16px;font-size:13px;line-height:1.6;overflow-x:auto}.code-block code{font-size:inherit;background:0 0;border:0;padding:0}.prose blockquote{border:1px solid color-mix(in srgb,var(--info) 35%,var(--line));border-radius:var(--radius-control);background:color-mix(in srgb,var(--info) 6%,var(--bg));color:var(--ink);margin:24px 0;padding:12px 16px}.prose blockquote p{margin:4px 0}.prose hr{border:0;border-top:1px solid var(--line);margin:40px 0}.table-scroll{border:1px solid var(--line);border-radius:var(--radius-control);margin:20px 0;overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-body);line-height:1.5}.prose th{text-align:left;color:var(--muted);font-size:var(--text-meta);letter-spacing:.04em;text-transform:uppercase;background:var(--panel)}.prose :is(th,td){border-bottom:1px solid var(--line);vertical-align:top;padding:10px 14px}.prose tr:last-child td{border-bottom:0}.diagram{border:1px solid var(--line);border-radius:var(--radius-panel);background:radial-gradient(120% 140% at 0% 0%,color-mix(in srgb,var(--accent) 5%,var(--panel)),var(--panel) 60%);margin:28px 0;padding:20px}.diagram-scroll{overflow-x:auto}.diagram svg{width:100%;min-width:560px;height:auto;display:block}.diagram figcaption{font-size:var(--text-body);color:var(--muted);margin-top:12px;line-height:1.5}.pager{grid-template-columns:1fr 1fr;gap:16px;margin-top:64px;display:grid}.pager a{border:1px solid var(--line);border-radius:var(--radius-panel);flex-direction:column;gap:4px;padding:16px;font-size:16px;text-decoration:none;display:flex}.pager a:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.pager span{font-size:var(--text-meta);color:var(--muted)}.pager-next{text-align:right;grid-column:2}.toc{top:var(--topbar);height:calc(100vh - var(--topbar));padding:40px 0;position:sticky;overflow-y:auto}.toc h2{font-size:var(--text-meta);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 8px}.toc ul{margin:0;padding:0;list-style:none}.toc a{color:var(--muted);padding:4px 0;font-size:13px;line-height:1.4;text-decoration:none;display:block}.toc a:hover{color:var(--ink)}.toc-depth-3 a{padding-left:12px}.search-dialog{border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--panel);width:min(640px,100vw - 32px);max-height:min(560px,100vh - 96px);color:var(--ink);margin:72px auto auto;padding:0;overflow:hidden}.search-dialog::backdrop,.drawer::backdrop{background:#080a05b3}.search-dialog input{border:0;border-bottom:1px solid var(--line);width:100%;height:52px;color:var(--ink);background:0 0;outline:none;padding:0 18px;font-size:16px}.search-results{max-height:480px;margin:0;padding:8px;list-style:none;overflow-y:auto}.search-results a{border-radius:var(--radius-control);flex-direction:column;gap:2px;padding:10px 12px;text-decoration:none;display:flex}.search-results a[aria-current=true]{background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.search-title{font-size:15px}.search-section{font-size:var(--text-meta);color:var(--muted)}.search-empty{color:var(--muted);padding:12px}.drawer{border:0;border-right:1px solid var(--line);background:var(--bg);width:min(320px,86vw);height:100vh;max-height:100vh;color:var(--ink);margin:0;padding:56px 20px 32px}.drawer-close{width:44px;height:44px;color:var(--ink);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:flex;position:absolute;top:8px;right:8px}@media (max-width:1180px){.frame{grid-template-columns:var(--sidebar) minmax(0,1fr)}.toc{display:none}}@media (max-width:860px){:root{--topbar:56px}.topbar{gap:8px;padding:0 16px}.menu-button{display:flex}.frame{grid-template-columns:minmax(0,1fr);padding:0 16px}.sidebar{display:none}.search-trigger{justify-content:center;width:44px;min-width:0;height:44px;padding:0}.search-trigger span,.search-trigger kbd,.topbar-links a:not(.button){display:none}.article{padding-top:28px}.article h1{font-size:28px}.lede{font-size:16px}.pager{grid-template-columns:1fr}.pager-next{grid-column:1}}@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}.sidebar-group{margin-top:12px}.sidebar-group h3{font-size:var(--text-meta);color:var(--muted);letter-spacing:.02em;margin:0 0 4px;padding-left:12px}
