*,*::before,*::after{box-sizing:border-box}*{margin:0}body{min-height:100vh;line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}ul[class],ol[class]{list-style:none}h1,h2,h3,h4{text-wrap:balance}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important;scroll-behavior:auto !important}}@font-face{font-family:"IosevkaFtl";src:url("/fonts/IosevkaFTLNerdFont-Regular-subset.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"IosevkaFtl";src:url("/fonts/IosevkaFTLNerdFont-Bold-subset.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"PublicSans";src:url("/fonts/PublicSans-Regular.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"PublicSans";src:url("/fonts/PublicSans-Bold.woff2") format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"PublicSans";src:url("/fonts/PublicSans-Italic.woff2") format("woff2");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"PublicSans";src:url("/fonts/PublicSans-Black.woff2") format("woff2");font-weight:900;font-style:normal;font-display:swap}:root{--bg-color: #fff;--text-color: #1a1a2e;--text-muted: #4a5568;--code-bg: #f8f9fc;--border-color: #e2e6f0;--link-color: #3b5bdb;--link-hover: #2b4acb;--accent-color: #5175e0;--font-sans: "PublicSans", system-ui, -apple-system, sans-serif;--font-mono: "IosevkaFtl", ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;--content-width: min(1200px, 100%);--spacing-sm: 0.5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 3rem}@media (prefers-color-scheme: dark){:root{--bg-color: #0f0f1a;--text-color: #e8eaf0;--text-muted: #9ca3b8;--code-bg: #1a1b2e;--border-color: #2d3148;--link-color: #7b9cff;--link-hover: #a3bcff}}.site-nav{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);background-color:var(--bg-color);position:sticky;top:0;z-index:100}.site-nav-brand{display:flex;align-items:center;gap:var(--spacing-sm);font-weight:900;font-size:1.5rem;color:var(--text-color)}.site-nav-brand:hover{color:var(--text-color)}.site-nav-logo{width:2rem;height:2rem}.site-nav-links{display:flex;gap:var(--spacing-lg);flex:1;justify-content:center}.site-nav-links a{color:var(--text-muted);font-size:.95rem}.site-nav-links a:hover{color:var(--link-color)}.site-nav-github{color:var(--text-muted);display:flex;align-items:center}.site-nav-github:hover{color:var(--text-color)}.site-nav-search{position:relative;margin-right:var(--spacing-md)}.site-nav-search .pagefind-ui{--pagefind-ui-scale: 0.7;--pagefind-ui-primary: var(--accent-color);--pagefind-ui-text: var(--text-color);--pagefind-ui-background: var(--bg-color);--pagefind-ui-border: var(--border-color);--pagefind-ui-border-width: 1px;--pagefind-ui-border-radius: 4px;--pagefind-ui-font: var(--font-sans)}.site-nav-search .pagefind-ui__form{width:200px}.site-nav-search .pagefind-ui__drawer{position:absolute !important;right:0 !important;left:auto !important;top:100% !important;width:420px !important;max-width:calc(100vw - 2rem) !important;max-height:80vh !important;overflow-y:auto !important;background:var(--bg-color) !important;border:1px solid var(--border-color) !important;border-radius:8px !important;box-shadow:0 8px 32px rgba(0,0,0,.4) !important;margin-top:.5rem !important;z-index:1000 !important;padding:0 1.5rem !important}.site-nav-search .pagefind-ui__message{font-size:.8rem;padding:.5rem;color:var(--text-muted)}.site-nav-search .pagefind-ui__search-input{font-weight:400 !important}.site-nav-search .pagefind-ui__result{padding:.5rem !important;border-bottom:1px solid var(--border-color)}.site-nav-search .pagefind-ui__result:last-child{border-bottom:none}.site-nav-search .pagefind-ui__result-inner{display:flex;flex-direction:column;gap:.25rem}.site-nav-search .pagefind-ui__result-title{font-size:.9rem !important;font-weight:600}.site-nav-search .pagefind-ui__result-title .pagefind-ui__result-link{color:var(--text-color)}.site-nav-search .pagefind-ui__result-title .pagefind-ui__result-link:hover{color:var(--link-color)}.site-nav-search .pagefind-ui__result-excerpt{font-size:.8rem !important;line-height:1.4;color:var(--text-muted)}.site-nav-search .pagefind-ui__result-excerpt mark{background:var(--accent-color);color:#fff;padding:.1em .25em;border-radius:2px;font-weight:500}.site-nav-search .pagefind-ui__result-nested{margin-top:.25rem;margin-left:.75rem;padding-left:.75rem;font-size:.85rem}.site-nav-search .pagefind-ui__result-nested .pagefind-ui__result-link{color:var(--text-muted);font-weight:500}.site-nav-search .pagefind-ui__result-nested .pagefind-ui__result-link:hover{color:var(--link-color)}.site-nav-search .pagefind-ui__result-thumb{display:none !important}.site-nav-search .pagefind-ui__result-tag{display:none}html{font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-color);color:var(--text-color);line-height:1.6}.container{width:var(--content-width);margin:0 auto;padding:var(--spacing-lg)}h1,h2,h3,h4,h5,h6{scroll-margin-top:6rem}h1{font-size:2rem;font-weight:900;margin-bottom:var(--spacing-lg);line-height:1.2}@media (min-width: 768px){h1{font-size:2.5rem}}h2{font-size:1.75rem;font-weight:700;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}h2 a{color:inherit}h3{font-size:1.1rem;font-weight:600;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}h3 a{color:inherit}h4{font-family:var(--font-mono);font-size:.9rem;font-weight:400;margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}h4 a{color:inherit}p{margin-bottom:var(--spacing-md)}a{color:var(--link-color);text-decoration:none}a:hover{color:var(--link-hover)}ul,ol{margin-bottom:var(--spacing-md);padding-left:var(--spacing-lg)}li{margin-bottom:var(--spacing-sm)}code{font-family:var(--font-mono);background-color:var(--code-bg);padding:.1em .3em;border-radius:3px}pre{font-family:var(--font-mono);font-size:.85rem;line-height:1.4;background-color:var(--code-bg);padding:var(--spacing-md);border-radius:6px;overflow-x:auto;margin-bottom:var(--spacing-md)}pre code{background:none;padding:0}blockquote{border-left:4px solid var(--accent-color);margin:var(--spacing-md) 0;padding:var(--spacing-sm) var(--spacing-md);background-color:var(--code-bg)}blockquote p:last-child{margin-bottom:0}table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-md);font-size:.9rem}th,td{padding:.4rem .75rem;border:1px solid var(--border-color);text-align:left;vertical-align:top}th{background-color:rgba(0,0,0,0);font-weight:400;color:var(--text-muted);font-size:.9rem}td pre{background:rgba(0,0,0,0);margin:0;padding:.25rem 0}hr{border:none;border-top:1px solid var(--border-color);margin:var(--spacing-xl) 0}.page-layout{display:flex;gap:var(--spacing-xl);max-width:1200px;margin:0 auto}.toc{display:none;flex-shrink:0;width:16em;position:sticky;top:6.8rem;align-self:flex-start;max-height:calc(100vh - 6rem);overflow-y:auto}@media (min-width: 920px){.toc{display:block}}.toc h2{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--spacing-md) 0;padding:0;border:none;color:var(--text-muted);font-weight:700}.toc ul{list-style:none;padding:0;margin:0}.toc ul ul{padding-left:var(--spacing-md);margin-top:.25rem}.toc li{margin-bottom:.35rem}.toc a{font-size:.875rem;color:var(--text-color);display:block;padding:.15rem 0;opacity:.75;transition:opacity .15s ease}.toc a:hover{opacity:1;color:var(--link-color)}.content{max-width:var(--content-width);flex:1;min-width:0}.content>*:first-child{margin-top:0}.page-title{margin-bottom:var(--spacing-lg)}pre code .z-keyword{color:#d73a49}pre code .z-storage{color:#d73a49}pre code .z-entity.z-name.z-type,pre code .z-entity.z-name.z-struct,pre code .z-entity.z-name.z-enum,pre code .z-entity.z-name.z-trait,pre code .z-support.z-type{color:#6f42c1}pre code .z-entity.z-name.z-function,pre code .z-meta.z-function-call .z-variable.z-function{color:#6f42c1}pre code .z-string{color:#032f62}pre code .z-constant.z-numeric{color:#005cc5}pre code .z-comment{color:#6a737d;font-style:italic}pre code .z-variable{color:#24292e}pre code .z-variable.z-parameter{color:#e36209}pre code .z-variable.z-other.z-member{color:#005cc5}pre code .z-punctuation{color:#24292e}pre code .z-meta.z-annotation,pre code .z-variable.z-annotation{color:#22863a}pre code .z-keyword.z-operator{color:#d73a49}pre code .z-constant.z-language{color:#005cc5}pre code .z-storage.z-modifier.z-lifetime{color:#e36209}@media (prefers-color-scheme: dark){pre code .z-keyword{color:#ff7b72}pre code .z-storage{color:#ff7b72}pre code .z-entity.z-name.z-type,pre code .z-entity.z-name.z-struct,pre code .z-entity.z-name.z-enum,pre code .z-entity.z-name.z-trait,pre code .z-support.z-type{color:#d2a8ff}pre code .z-entity.z-name.z-function,pre code .z-meta.z-function-call .z-variable.z-function{color:#d2a8ff}pre code .z-string{color:#a5d6ff}pre code .z-constant.z-numeric{color:#79c0ff}pre code .z-comment{color:#8b949e;font-style:italic}pre code .z-variable{color:#c9d1d9}pre code .z-variable.z-parameter{color:#ffa657}pre code .z-variable.z-other.z-member{color:#79c0ff}pre code .z-punctuation{color:#c9d1d9}pre code .z-meta.z-annotation,pre code .z-variable.z-annotation{color:#7ee787}pre code .z-keyword.z-operator{color:#ff7b72}pre code .z-constant.z-language{color:#79c0ff}pre code .z-storage.z-modifier.z-lifetime{color:#ffa657}}pre.term{background-color:#1a1a1a;color:#e0e0e0;padding:var(--spacing-md);border-radius:6px;overflow-x:auto}pre.term .b{font-weight:bold}pre.term .l{opacity:.7}pre.term .fg-cyn{color:#56b6c2}pre.term .fg-mag{color:#c678dd}pre.term .fg-grn{color:#98c379}pre.term .fg-red{color:#e06c75}pre.term .fg-lred{color:#be5046}pre.term .fg-ansi1{color:#e06c75}pre.term .fg-ansi2{color:#98c379}pre.term .fg-ansi4{color:#61afef}.showcase-container .showcase .scenario{margin-bottom:var(--spacing-xl);padding-bottom:var(--spacing-lg);border-bottom:1px solid var(--border-color)}.showcase-container .showcase .scenario:last-child{border-bottom:none}.showcase-container .showcase h3{font-size:1.25rem;margin-top:0;margin-bottom:var(--spacing-sm)}.showcase-container .showcase .description{color:var(--text-muted);margin-bottom:var(--spacing-md)}.showcase-container .showcase h4{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-top:var(--spacing-md);margin-bottom:var(--spacing-sm)}.showcase-container .showcase pre{font-size:.95rem;padding:.75rem 1rem;margin-bottom:0}.showcase-container .showcase .input,.showcase-container .showcase .target-type,.showcase-container .showcase .success,.showcase-container .showcase .error{margin-bottom:var(--spacing-sm)}.showcase-container .showcase .success pre,.showcase-container .showcase .error pre{background-color:#1a1b26;color:#c0caf5;border-radius:6px}.format-nav{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-color);flex-wrap:wrap}.format-nav a{padding:.4rem .8rem;border-radius:4px;background-color:var(--code-bg);color:var(--text-color);font-size:.9rem;transition:background-color .15s ease}.format-nav a:hover{background-color:var(--border-color);color:var(--text-color)}.format-nav a.active{background-color:var(--accent-color);color:#fff}@media (max-width: 768px){.container{padding:var(--spacing-md)}h2{font-size:1.5rem}pre{font-size:.8rem}table{display:block;overflow-x:auto}}