:root{--page-gutter:24px;--text-max-width:900px;--table-max-width:1400px}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--page-bg);color:var(--page-fg)}main{max-width:var(--text-max-width);margin:0 auto;padding:32px var(--page-gutter) 240px}h1{font-size:24px;margin:0 0 8px}h2{font-size:18px;margin:32px 0 8px}p{line-height:1.5}a,a:visited{color:var(--link)}nav.site{display:flex;gap:16px;align-items:center;padding:12px var(--page-gutter);border-bottom:1px solid var(--rule);background:var(--page-bg);position:-webkit-sticky;position:sticky;top:0;z-index:10;overflow-x:auto;flex-wrap:nowrap;white-space:nowrap}nav.site>*{flex-shrink:0}nav.site a{color:var(--page-fg);text-decoration:none;font-size:14px}nav.site a[aria-current=page]{font-weight:600}nav.site .spacer{flex:1 1}pre{background:var(--code-bg);color:var(--code-fg);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;line-height:1.5;padding:16px;border-radius:8px;overflow:auto;margin:16px 0;-moz-tab-size:2;tab-size:2}pre,pre code{white-space:pre}pre code{display:block;outline:none}pre code[contenteditable]{caret-color:var(--code-fg);min-height:1.5em}pre code a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}label.toggle{display:inline-flex;gap:8px;align-items:center;font-size:13px;cursor:pointer}.theme-switcher{display:inline-flex;gap:4px;border:1px solid var(--rule);border-radius:6px;padding:2px}.theme-switcher button{font:inherit;font-size:12px;padding:2px 8px;border:0;border-radius:4px;background:transparent;color:var(--page-fg);cursor:pointer;opacity:.55}.theme-switcher button:hover{opacity:.85}.theme-dark .theme-switcher button[data-theme=theme-dark],.theme-dracula .theme-switcher button[data-theme=theme-dracula],.theme-light .theme-switcher button[data-theme=theme-light]{background:var(--rule);opacity:1;font-weight:600}.mui-code [data-hl],.region-highlight{display:inline-block;width:100%;background:color-mix(in srgb,currentColor 10%,transparent)}.mui-code .frame{display:block}.mui-code .frame[data-lined]{white-space:normal}.mui-code .frame[data-lined] .line{display:block;white-space:pre}.anchor-link,.anchor-link:visited{color:inherit;text-decoration:none}.anchor-link:hover{text-decoration:underline;-webkit-text-decoration-style:dotted;text-decoration-style:dotted;text-underline-offset:3px}:target{scroll-margin-top:64px}.table-scroll{overflow-x:auto;width:min(100vw - 2 * var(--page-gutter),var(--table-max-width));margin-left:calc(50% - min(50vw - var(--page-gutter), var(--table-max-width) / 2));box-sizing:border-box}table{border-collapse:collapse;width:100%;font-size:.9rem}.table-scroll table{min-width:720px}table td,table th{padding:.4rem .6rem;text-align:left;border-bottom:1px solid var(--rule);vertical-align:top}table thead th{border-bottom:2px solid var(--rule);font-weight:600}.yn-cell{text-align:center}.num{text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.num-scale{background:color-mix(in oklab,color-mix(in oklab,#cf222e calc(var(--t) * 100%),#1f883d) 22%,transparent)}.yn{display:inline-block;width:1.25rem;height:1.25rem;line-height:1.25rem;text-align:center;border-radius:50%;font-weight:700;font-size:.85rem;color:#fff}.yn-yes{background:#1f883d}.yn-no{background:#cf222e}table tbody tr:first-child th{background:color-mix(in srgb,currentColor 6%,transparent);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;padding-top:.6rem}table tbody tr:hover td:not(.num-scale),table tbody tr:hover th:not([scope=colgroup]){background:color-mix(in srgb,currentColor 4%,transparent)}table tbody tr:hover td.num-scale{box-shadow:inset 0 0 0 999px color-mix(in srgb,currentColor 8%,transparent)}.theme-light,:root{color-scheme:light;--page-bg:#ffffff;--page-fg:#1f2328;--rule:#d0d7de;--code-bg:#f6f8fa;--code-fg:#1f2328;--link:#0969da;--lzh-kw:#cf222e;--lzh-this:#0550ae;--lzh-str:#0a3069;--lzh-num:#0550ae;--lzh-bool:#0550ae;--lzh-nul:#0550ae;--lzh-cmt:#59636e;--lzh-fn:#6639ba;--lzh-re:#0a3069;--lzh-esc:#116329}.theme-dark{color-scheme:dark;--page-bg:#0d1117;--page-fg:#f0f6fc;--rule:#30363d;--code-bg:#161b22;--code-fg:#f0f6fc;--link:#58a6ff;--lzh-kw:#ff7b72;--lzh-this:#79c0ff;--lzh-str:#a5d6ff;--lzh-num:#79c0ff;--lzh-bool:#79c0ff;--lzh-nul:#79c0ff;--lzh-cmt:#9198a1;--lzh-fn:#d2a8ff;--lzh-re:#a5d6ff;--lzh-esc:#7ee787}.theme-dracula{color-scheme:dark;--page-bg:#282a36;--page-fg:#f8f8f2;--rule:#44475a;--code-bg:#21222c;--code-fg:#f8f8f2;--link:#8be9fd;--lzh-kw:#ff79c6;--lzh-this:#bd93f9;--lzh-str:#f1fa8c;--lzh-num:#bd93f9;--lzh-bool:#bd93f9;--lzh-nul:#bd93f9;--lzh-cmt:#6272a4;--lzh-fn:#50fa7b;--lzh-re:#f1fa8c;--lzh-esc:#ffb86c}::highlight(lzh-kw){color:var(--lzh-kw)}::highlight(lzh-this){color:var(--lzh-this)}::highlight(lzh-const){color:var(--lzh-this)}::highlight(lzh-str){color:var(--lzh-str)}::highlight(lzh-re){color:var(--lzh-re)}::highlight(lzh-esc){color:var(--lzh-esc)}::highlight(lzh-num){color:var(--lzh-num)}::highlight(lzh-bool){color:var(--lzh-bool)}::highlight(lzh-nul){color:var(--lzh-nul)}::highlight(lzh-cmt){color:var(--lzh-cmt)}::highlight(lzh-fn){color:var(--lzh-fn)}::highlight(lzh-tag),::highlight(lzh-tag-builtin){color:var(--lzh-esc)}::highlight(lzh-attr){color:var(--lzh-this)}::highlight(lzh-prop){color:var(--lzh-this)}::highlight(lzh-cls),::highlight(lzh-def),::highlight(lzh-type){color:var(--lzh-fn)}::highlight(lzh-var){color:var(--lzh-this)}.lzh-root .lzh-kw{color:var(--lzh-kw)}.lzh-root .lzh-const,.lzh-root .lzh-this{color:var(--lzh-this)}.lzh-root .lzh-str{color:var(--lzh-str)}.lzh-root .lzh-re{color:var(--lzh-re)}.lzh-root .lzh-esc{color:var(--lzh-esc)}.lzh-root .lzh-num{color:var(--lzh-num)}.lzh-root .lzh-bool{color:var(--lzh-bool)}.lzh-root .lzh-nul{color:var(--lzh-nul)}.lzh-root .lzh-cmt{color:var(--lzh-cmt)}.lzh-root .lzh-fn{color:var(--lzh-fn)}.lzh-root .lzh-tag,.lzh-root .lzh-tag-builtin{color:var(--lzh-esc)}.lzh-root .lzh-attr,.lzh-root .lzh-prop{color:var(--lzh-this)}.lzh-root .lzh-cls,.lzh-root .lzh-def,.lzh-root .lzh-type{color:var(--lzh-fn)}.lzh-root .lzh-var{color:var(--lzh-this)}