@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Outfit:wght@300;400;500;600&family=JetBrains+Mono:wght@400;500&family=Source+Serif+4:opsz,wght@8..60,400&display=swap";:root{--bg: #fafaf7;--bg-elev: #f3f2ec;--bg-deep: #efeee7;--rule: #e5e5e0;--rule-soft: #ededea;--ink: #111111;--ink-soft: #3a3a3a;--ink-faint: #6f6f6f;--ink-mute: #a3a3a3;--purple: #7F3EFF;--violet: #A252FA;--magenta: #FA82EC;--coral: #F28A71;--orange: #FF7C24;--dawn-violet: #7f3eff;--dawn-pink: #fa82ec;--dawn-orange: #ff7c24;--brand: #5b3fb8;--brand-deep: #432b95;--accent: var(--brand);--accent-deep: var(--brand-deep);--purple-deep: var(--brand);--code-bg: #f3f2ec;--code-edge: #e5e5e0;--sans-display: "Outfit", "Inter", system-ui, -apple-system, sans-serif;--sans-body: "Inter", system-ui, -apple-system, sans-serif;--serif: "Newsreader", "Source Serif 4", "Source Serif Pro", "EB Garamond", Georgia, "Times New Roman", serif;--mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--measure: 40rem;--measure-wide: 58rem;--gutter: clamp(1.25rem, 3vw, 2.5rem);color-scheme:light}html[data-theme=dark]{--bg: #0c0820;--bg-elev: #14102b;--bg-deep: #06041a;--rule: #261f48;--rule-soft: #1c1638;--ink: #f1eef9;--ink-soft: #c9c4dd;--ink-faint: #8e88a8;--ink-mute: #5a5478;--purple: #a779ff;--violet: #C28FFA;--magenta: #FF9EE8;--orange: #FF9A52;--brand: #c2a8ff;--brand-deep: #a779ff;--accent: var(--brand);--accent-deep: var(--brand-deep);--purple-deep: var(--brand-deep);--code-bg: #14102b;--code-edge: #261f48;color-scheme:dark}*{box-sizing:border-box}html{font-size:17px}body{margin:0;font-family:var(--sans-body);font-feature-settings:"kern","liga","ss01","cv11";background:var(--bg);color:var(--ink);line-height:1.6;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}.with-glow:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 720px 380px at 88% -10%,rgba(127,62,255,.1),transparent 65%),radial-gradient(ellipse 560px 320px at 5% 0%,rgba(255,124,36,.08),transparent 70%);z-index:0}html[data-theme=dark] .with-glow:before{background:radial-gradient(ellipse 720px 380px at 88% -10%,rgba(127,62,255,.28),transparent 65%),radial-gradient(ellipse 560px 320px at 5% 0%,rgba(255,124,36,.16),transparent 70%)}.with-glow>*{position:relative;z-index:1}main,header,footer,nav{position:relative}.masthead{border-bottom:1px solid var(--rule);position:sticky;top:0;z-index:10;backdrop-filter:blur(8px);background:color-mix(in srgb,var(--bg) 88%,transparent)}.masthead-inner{max-width:76rem;margin:0 auto;padding:.95rem var(--gutter);display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{font-family:var(--sans-display);font-weight:500;font-size:1.05rem;letter-spacing:-.005em;text-decoration:none;color:var(--ink);display:inline-flex;align-items:center;gap:.7rem}.brand .brand-mark{display:inline-block;width:1.05rem;height:1.05rem;border-radius:50%;background:radial-gradient(circle at 30% 30%,var(--magenta),var(--purple) 55%,var(--purple-deep));box-shadow:0 0 0 1px #7f3eff40,0 6px 16px -6px #7f3eff80;flex-shrink:0}.brand .brand-mono{font-family:var(--mono);font-size:.92em;letter-spacing:-.01em}.brand .brand-sub{color:var(--ink-faint);font-weight:400;font-size:.86em;margin-left:.1rem}.brand .brand-dash{color:var(--ink-mute);margin:0 .2rem;font-weight:300}.nav-links{display:flex;gap:1.6rem;align-items:center;font-size:.92rem;font-family:var(--sans-display)}.nav-links a{color:var(--ink-soft);text-decoration:none;padding:4px 0;border-bottom:1px solid transparent;transition:color .12s ease,border-color .12s ease;letter-spacing:0;font-weight:400}.nav-links a:hover{color:var(--accent)}.nav-links a[aria-current=page]{color:var(--ink);border-bottom-color:var(--accent)}.theme-toggle{display:inline-flex;align-items:stretch;border:1px solid var(--rule);border-radius:999px;padding:2px;background:var(--bg-elev);margin-left:.4rem}.theme-toggle button{appearance:none;background:transparent;border:0;width:28px;height:24px;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-faint);cursor:pointer;border-radius:999px;padding:0;transition:background .12s ease,color .12s ease}.theme-toggle button:hover{color:var(--ink)}.theme-toggle button[aria-pressed=true]{background:var(--accent);color:#fff}html[data-theme=dark] .theme-toggle button[aria-pressed=true]{background:var(--accent);color:var(--bg)}.theme-toggle button svg{width:14px;height:14px;display:block}.theme-toggle button{font-size:0}h1,h2,h3,h4{font-family:var(--sans-display);color:var(--ink);letter-spacing:-.018em;line-height:1.18;font-weight:500}h1{font-size:clamp(2.6rem,4.5vw,3.6rem);margin:.3em 0 .2em;font-weight:400;letter-spacing:-.028em}h2{font-size:1.55rem;margin:2.4em 0 .5em;font-weight:500;letter-spacing:-.018em}h2 .sec-num{font-family:var(--mono);font-size:.65em;color:var(--accent);margin-right:.7rem;letter-spacing:0;font-weight:500;vertical-align:.18em}h3{font-size:1.08rem;margin:1.8em 0 .4em;font-weight:500;color:var(--ink);letter-spacing:-.005em}p{margin:0 0 1.05em;color:var(--ink-soft)}p strong{color:var(--ink);font-weight:500}p.lede{font-size:1.18rem;color:var(--ink-soft);margin-bottom:1.6em;line-height:1.55;letter-spacing:-.005em;font-weight:400}a{color:var(--accent);text-decoration:none;border-bottom:1px solid rgba(127,62,255,.28);transition:border-color .12s ease,color .12s ease,background .12s ease}a>code{background:color-mix(in srgb,var(--accent) 9%,var(--bg-elev));border-color:color-mix(in srgb,var(--accent) 28%,var(--rule));color:var(--accent);transition:background .12s ease,border-color .12s ease,color .12s ease}a>code:before{content:"↗";font-size:.78em;margin-right:.2em;opacity:.62;font-family:var(--sans-body)}a:hover>code{background:color-mix(in srgb,var(--accent) 18%,var(--bg-elev));border-color:var(--accent);color:var(--accent-deep)}html[data-theme=dark] a>code{background:color-mix(in srgb,var(--accent) 16%,var(--bg-elev));border-color:color-mix(in srgb,var(--accent) 50%,var(--rule));color:var(--accent)}html[data-theme=dark] a:hover>code{background:color-mix(in srgb,var(--accent) 28%,var(--bg-elev));border-color:var(--accent);color:var(--accent)}a:has(>code:only-child){border-bottom:0}a:hover{border-bottom-color:var(--accent);color:var(--accent-deep)}em,i{font-style:italic}hr.rule{border:0;height:1px;background:var(--rule);margin:2.5rem 0}hr.ornament{border:0;margin:3rem auto;text-align:center;height:6px;width:56px;background:linear-gradient(90deg,transparent,var(--purple),var(--orange),transparent);opacity:.5;border-radius:999px}code,kbd,samp{font-family:var(--mono);font-size:.88em}p code,li code,td code,h3 code{background:var(--code-bg);padding:.06em .4em;border-radius:3px;border:1px solid var(--code-edge);color:var(--ink);font-size:.86em}pre{font-family:var(--mono);font-size:.84rem;background:var(--bg-elev);border:1px solid var(--rule);border-left:3px solid var(--accent);padding:1rem 1.15rem;margin:1.2em 0;overflow-x:auto;line-height:1.55;border-radius:4px;color:var(--ink);position:relative}.copy-btn{position:absolute;top:.45rem;right:.5rem;display:inline-flex;align-items:center;gap:.32rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-faint);background:var(--bg);border:1px solid var(--rule);border-radius:4px;padding:3px 7px 3px 6px;cursor:pointer;opacity:0;transition:opacity .12s ease,color .12s ease,border-color .12s ease,background .12s ease}pre:hover .copy-btn,.copy-btn:focus-visible{opacity:1}.copy-btn:hover{color:var(--accent);border-color:var(--accent)}.copy-btn[data-state=copied]{opacity:1;color:var(--accent);border-color:var(--accent);background:color-mix(in srgb,var(--accent) 10%,var(--bg))}.copy-btn svg{width:11px;height:11px;flex-shrink:0}@media(hover:none){.copy-btn{opacity:1}}pre code{background:none;border:0;padding:0;font-size:1em;color:var(--ink)}:root{--syntax-keyword: var(--brand);--syntax-string: #8c4a18;--syntax-number: #6a3aa5;--syntax-comment: var(--ink-faint);--syntax-ink: var(--ink);--syntax-soft: var(--ink-soft)}html[data-theme=dark]{--syntax-keyword: var(--brand);--syntax-string: #ffa56b;--syntax-number: #c8a8ff;--syntax-comment: var(--ink-faint);--syntax-ink: var(--ink);--syntax-soft: var(--ink-soft)}.hljs{color:var(--syntax-ink);background:transparent}.hljs-keyword,.hljs-meta,.hljs-meta-keyword,.hljs-section,.hljs-tag,.hljs-selector-tag{color:var(--syntax-keyword);font-weight:500}.hljs-string,.hljs-regexp,.hljs-symbol,.hljs-quote{color:var(--syntax-string)}.hljs-number,.hljs-literal,.hljs-bullet,.hljs-link{color:var(--syntax-number)}.hljs-comment,.hljs-doctag{color:var(--syntax-comment);font-style:italic}.hljs-title,.hljs-title.function_,.hljs-title.class_,.hljs-function .hljs-title,.hljs-type,.hljs-built_in{color:var(--syntax-ink)}.hljs-attr,.hljs-attribute,.hljs-property,.hljs-variable,.hljs-params,.hljs-operator,.hljs-punctuation{color:var(--syntax-soft)}.hljs-addition{background:color-mix(in srgb,var(--syntax-keyword) 8%,transparent);color:var(--ink)}.hljs-deletion{background:color-mix(in srgb,var(--syntax-string) 10%,transparent);color:var(--ink);text-decoration:line-through}figure.example{margin:1.2em 0 1.6em}figure.example .example-caption{display:flex;align-items:center;gap:.7rem;font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);padding:.35rem .7rem;background:var(--bg-deep);border:1px solid var(--rule);border-bottom:0;border-radius:4px 4px 0 0;letter-spacing:0}figure.example .example-file code{background:transparent;border:0;padding:0;color:var(--ink-soft);font-size:inherit}figure.example .example-tested{margin-left:auto;font-size:.66rem;letter-spacing:.06em;text-transform:uppercase;color:var(--accent);border:1px solid currentColor;border-radius:999px;padding:1px 8px 2px;background:color-mix(in srgb,var(--accent) 8%,transparent)}figure.example pre{margin:0;border-radius:0 0 4px 4px;border-top:0}blockquote{margin:1.4em 0;padding:.1em 1.2em;border-left:2px solid var(--rule);color:var(--ink-soft);font-style:italic}ul,ol{color:var(--ink-soft);padding-left:1.4rem}li{margin:.25em 0}.shell{max-width:var(--measure-wide);margin:0 auto;padding:4rem var(--gutter) 6rem}.shell.narrow{max-width:var(--measure)}.page-shell{max-width:78rem;margin:0 auto;padding:2.4rem var(--gutter) 2rem;display:grid;grid-template-columns:14rem minmax(0,1fr);gap:2.4rem;align-items:start}.page-toc{position:sticky;top:4.5rem;max-height:calc(100vh - 5.5rem);overflow-y:auto;font-size:.85rem;padding-right:.6rem;border-right:1px solid var(--rule)}.page-toc-label{font-family:var(--sans-display);font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--ink-faint);font-weight:500;margin:.2em 0 .8em}.page-toc ol{list-style:none;padding:0;margin:0;counter-reset:toc}.page-toc li{margin:0;counter-increment:toc}.page-toc a{display:block;color:var(--ink-soft);border:0;padding:.32em .6em .32em .9em;border-left:2px solid transparent;font-size:.86rem;line-height:1.35;text-decoration:none;transition:color .12s ease,border-color .12s ease}.page-toc a:hover{color:var(--ink)}.page-toc a[aria-current=true]{color:var(--accent);border-left-color:var(--accent);font-weight:500}.page-toc-content{min-width:0}.page-toc-content>.shell{padding-top:1rem;padding-bottom:4rem}.page-toc-content>.shell.narrow{margin-left:0}@media(max-width:900px){.page-shell{grid-template-columns:1fr;gap:1.2rem;padding-top:1.4rem}.page-toc{position:static;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--rule);padding:0 0 1rem}.page-toc ol{columns:2;column-gap:1.4rem}.page-toc li{break-inside:avoid}}@media(max-width:540px){.page-toc ol{columns:1}}.page-shell--3col{max-width:86rem;grid-template-columns:14rem minmax(0,1fr) 13rem;gap:2.2rem}.page-sections{position:sticky;top:4.5rem;max-height:calc(100vh - 5.5rem);overflow-y:auto;font-size:.88rem;padding-right:.6rem;border-right:1px solid var(--rule)}.page-sections ol{list-style:none;padding:0;margin:0;counter-reset:sec}.page-sections li{margin:0;counter-increment:sec}.page-sections a{display:block;color:var(--ink-soft);border:0;padding:.4em .6em .4em .9em;border-left:2px solid transparent;font-size:.92rem;line-height:1.35;text-decoration:none;transition:color .12s ease,border-color .12s ease}.page-sections a:hover{color:var(--ink)}.page-sections a[aria-current=page]{color:var(--accent);border-left-color:var(--accent);font-weight:500}.page-toc--right{border-right:0;border-left:1px solid var(--rule);padding-right:0;padding-left:.6rem}.page-toc--empty{visibility:hidden}@media(max-width:1100px){.page-shell--3col{grid-template-columns:13rem minmax(0,1fr)}.page-toc--right{display:none}}@media(max-width:900px){.page-shell--3col{grid-template-columns:1fr}.page-sections{position:static;max-height:none;overflow:visible;border-right:0;border-bottom:1px solid var(--rule);padding:0 0 1rem}.page-sections ol{display:flex;flex-wrap:wrap;gap:.4rem 1rem}.page-sections a{padding:.2em 0;border-left:0}.page-sections a[aria-current=page]{border-left:0}}.titleblock{margin-bottom:2.6rem;padding-bottom:1.5rem;border-bottom:1px solid var(--rule)}.titleblock .eyebrow{font-family:var(--mono);font-size:.72rem;color:var(--accent);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.9rem}.titleblock .byline{color:var(--ink-soft);font-size:1.1rem;line-height:1.5;margin-top:.6rem}.titleblock .meta{display:flex;flex-wrap:wrap;gap:1.4rem 2rem;margin-top:1.4rem;font-family:var(--mono);font-size:.76rem;color:var(--ink-faint);letter-spacing:0}.titleblock .meta strong{color:var(--ink);font-weight:500;font-family:var(--sans-display)}.titleblock .meta a{border-bottom-color:transparent}.titleblock .meta a:hover{border-bottom-color:var(--accent)}.abstract{display:grid;grid-template-columns:8rem 1fr;gap:2.4rem;margin:2.2rem 0}.abstract .label{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;padding-top:.35rem}.abstract .body{font-size:1rem}.abstract .body p{color:var(--ink-soft)}.triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;margin:2.8rem 0;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:2.2rem 0}.triptych .panel h3{margin:0 0 .4em;font-size:1rem;font-weight:500;color:var(--ink);letter-spacing:-.005em}.triptych .panel .num{font-family:var(--mono);font-size:.7rem;color:var(--accent);display:block;margin-bottom:.6rem;letter-spacing:.06em}.triptych .panel p{font-size:.93rem;color:var(--ink-soft);margin:0;line-height:1.55}@media(max-width:720px){.triptych{grid-template-columns:1fr;gap:1.4rem;padding:1.4rem 0}}.api-shell{max-width:80rem;margin:0 auto;padding:2.8rem var(--gutter) 6rem;display:grid;grid-template-columns:16rem 1fr;gap:3.2rem;align-items:start}@media(max-width:980px){.api-shell{grid-template-columns:1fr;gap:2rem}.api-toc{position:static!important;max-height:none!important;border-right:0!important}}.api-toc{position:sticky;top:4.5rem;max-height:calc(100vh - 5.5rem);overflow-y:auto;font-size:.85rem;padding-right:.6rem;border-right:1px solid var(--rule)}.api-toc h4{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin:1.5em 0 .6em;font-weight:400}.api-toc h4:first-child{margin-top:.4em}.api-toc ul{list-style:none;padding:0;margin:0 0 1.2em}.api-toc li{margin:.18em 0}.api-toc a{color:var(--ink-soft);border:0;display:block;padding:1px 0;font-family:var(--mono);font-size:.74rem;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.api-toc a:hover{color:var(--accent)}.api-toc .toc-group{font-family:var(--sans-display);font-size:.78rem;color:var(--ink);font-weight:500;margin:.7em 0 .2em;display:block;letter-spacing:-.005em}.api-toc .toc-filter{width:100%;font-family:var(--sans-body);font-size:.9rem;background:var(--bg-elev);border:1px solid var(--rule);border-radius:5px;padding:.5rem .7rem;color:var(--ink);outline:none;margin-bottom:1.4rem;transition:border-color .12s ease,box-shadow .12s ease}.api-toc .toc-filter:focus{border-color:var(--accent);box-shadow:0 0 0 3px #7f3eff26}.api-toc .toc-filter::placeholder{color:var(--ink-mute)}.api-toc .toc-crate{margin:0 0 1.2em}.api-toc .toc-kind{list-style:none;padding:0;margin:.35em 0 .6em}.api-toc .toc-kind-label{display:flex;align-items:center;gap:.4em;font-family:var(--sans-display);font-size:.68rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:500;margin:.45em 0 .18em}.api-toc .kind-dot{display:inline-block;width:7px;height:7px;border-radius:2px;background:var(--ink-mute);flex-shrink:0}.api-toc .kind-dot--module{background:#6b6580;border-radius:50%}.api-toc .kind-dot--struct{background:#7f3eff}.api-toc .kind-dot--enum{background:#ff7c24}.api-toc .kind-dot--trait{background:#a252fa;transform:rotate(45deg)}.api-toc .kind-dot--function,.api-toc .kind-dot--method{background:#fa82ec;border-radius:50%}.api-toc .kind-dot--macro{background:#ffb072;border-radius:2px}.api-toc .kind-dot--type_alias{background:var(--ink-mute);border-radius:1px}.api-toc .kind-dot--other{background:var(--ink-mute)}.api-toc .toc-kind{border-left:1px solid var(--rule-soft);padding-left:.55em;margin-left:.1em}.api-toc .toc-kind--struct{border-left-color:color-mix(in srgb,#7f3eff 22%,var(--rule-soft))}.api-toc .toc-kind--enum{border-left-color:color-mix(in srgb,#ff7c24 22%,var(--rule-soft))}.api-toc .toc-kind--trait{border-left-color:color-mix(in srgb,#a252fa 22%,var(--rule-soft))}.api-toc .toc-kind--function{border-left-color:color-mix(in srgb,#fa82ec 22%,var(--rule-soft))}.api-toc .toc-kind--macro{border-left-color:color-mix(in srgb,#ffb072 22%,var(--rule-soft))}.api-toc .toc-kind>li:first-child{margin-top:0}.api-section{margin:0 0 4rem}.api-section>h2{margin-top:0;padding-bottom:.6rem;border-bottom:1px solid var(--ink);font-size:1.4rem;font-weight:500;display:flex;align-items:center;gap:.7rem;flex-wrap:wrap}.api-section>h2 .api-section-title{color:var(--ink);font-weight:500}.api-section>h2 code{font-family:var(--mono);font-size:.85em;color:var(--accent);background:none;border:0;padding:0}.api-section .crate-blurb{font-style:normal;color:var(--ink-faint);margin-top:.5rem;font-size:.96rem}.api-section--python>h2{border-bottom-color:var(--purple)}.api-section--rust>h2{border-bottom-color:var(--orange)}.api-section--rust>h2 code{color:var(--orange)}.lang-chip{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px 4px;border-radius:999px;border:1px solid currentColor;font-weight:500;vertical-align:.05em}.lang-chip .dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 8px currentColor}.lang-chip--python{color:var(--purple);background:color-mix(in srgb,var(--purple) 8%,transparent)}.lang-chip--rust{color:var(--orange);background:color-mix(in srgb,var(--orange) 8%,transparent)}.lang-toggle{display:grid;grid-template-columns:1fr 1fr 1fr;gap:4px;margin:0 0 1.5rem;padding:3px;border:1px solid var(--rule);border-radius:6px;background:var(--bg-deep)}.lang-toggle button{appearance:none;background:transparent;border:0;font-family:var(--sans-display);font-size:.78rem;font-weight:500;letter-spacing:0;color:var(--ink-faint);cursor:pointer;padding:5px 6px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;gap:.35rem;transition:background .12s ease,color .12s ease}.lang-toggle button .dot{width:6px;height:6px;border-radius:50%;background:currentColor;display:inline-block;opacity:.7}.lang-toggle button:hover{color:var(--ink)}.lang-toggle button[aria-pressed=true]{background:var(--bg-elev);color:var(--ink);box-shadow:0 1px 2px #0f0c240a,0 0 0 1px var(--rule)}.lang-toggle button.lang-toggle--python[aria-pressed=true]{color:var(--purple);box-shadow:0 1px 2px #0f0c240a,0 0 0 1px color-mix(in srgb,var(--purple) 38%,var(--rule))}.lang-toggle button.lang-toggle--rust[aria-pressed=true]{color:var(--orange);box-shadow:0 1px 2px #0f0c240a,0 0 0 1px color-mix(in srgb,var(--orange) 40%,var(--rule))}.shell.home{max-width:64rem;padding-top:4rem;padding-bottom:5rem}.shell.home.with-glow:before{content:none}.hero-wrap.with-glow:before{content:none}.hero-wrap{position:relative;overflow:hidden;border-bottom:1px solid var(--rule)}.atom-cloud{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}.hero{position:relative;z-index:1;max-width:64rem;margin:0 auto;padding:5rem var(--gutter) 5rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3.6rem;align-items:start}.hero-text .eyebrow{font-family:var(--mono);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 1.4rem}.hero-text h1{font-family:var(--sans-display);font-size:4.2rem;font-weight:300;letter-spacing:-.02em;line-height:1;margin:0 0 1.4rem;color:var(--ink)}.hero-text .byline{font-size:1.15rem;line-height:1.55;color:var(--ink-soft);margin:0 0 2.2rem;max-width:32rem}.hero-text .byline a{border-bottom:1px solid color-mix(in srgb,var(--accent) 35%,transparent)}.hero-text .byline a:hover{color:var(--accent);border-bottom-color:var(--accent)}.hero-text .meta{display:flex;flex-wrap:wrap;gap:1rem 1.8rem;font-size:.84rem;color:var(--ink-faint);margin-bottom:2.4rem;padding-top:1.2rem;border-top:1px solid var(--rule-soft)}.hero-text .meta strong{color:var(--ink-soft);font-family:var(--sans-display);font-weight:500;margin-right:.4rem;text-transform:uppercase;font-size:.66rem;letter-spacing:.1em}.hero-text .meta a{border-bottom:0;color:var(--ink-soft)}.hero-text .meta a:hover{color:var(--accent)}.hero-cta{display:flex;flex-wrap:wrap;gap:1.4rem 2.2rem;align-items:center}.btn{display:inline-flex;align-items:center;font-family:var(--sans-display);font-size:.92rem;font-weight:500;letter-spacing:0;padding:0 0 2px;border:0;background:transparent;color:var(--ink-soft);text-decoration:none;border-bottom:1px solid var(--rule);transition:color .12s ease,border-color .12s ease}.btn:hover{color:var(--ink);border-bottom-color:var(--ink)}.btn--primary{color:var(--accent);border-bottom-color:var(--accent)}.btn--primary:hover{color:var(--accent-deep);border-bottom-color:var(--accent-deep)}.btn:after{content:"→";margin-left:.35em;transition:transform .16s ease}.btn:hover:after{transform:translate(2px)}.hero-code{margin:0;padding:1rem 1.1rem;border:1px solid var(--rule);border-radius:6px;background:color-mix(in srgb,var(--bg) 78%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:none;overflow:hidden}.hero-code figcaption{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:0 0 .55rem;border-bottom:1px solid var(--rule-soft);background:transparent}.hero-code-title{font-family:var(--mono);font-weight:400;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.hero-code-tabs{display:flex;flex-wrap:wrap;gap:.35rem 1.2rem;align-items:baseline;min-width:0}.hero-code-tab{background:transparent;border:0;padding:0 0 .15rem;margin:0;font-family:var(--mono);font-weight:400;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);cursor:pointer;border-bottom:1px solid transparent;transition:color .12s ease,border-color .12s ease}.hero-code-tab:hover{color:var(--ink-soft)}.hero-code-tab:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:1px}.hero-code-tab[aria-selected=true]{color:var(--ink);border-bottom-color:var(--accent)}@media(max-width:480px){.hero-code-tabs{gap:.3rem .9rem}.hero-code-tab{font-size:.68rem;letter-spacing:.06em}}.hero-code-file{font-family:var(--mono);font-size:.7rem;color:var(--ink-mute)}.hero-code-file code{background:none;border:0;padding:0;font-size:inherit;color:inherit}.hero-code pre{margin:0;padding:.6rem 0 0;border:0;border-radius:0;background:transparent;font-size:.84rem;line-height:1.6}.hero-code-note{margin:.85rem 0 0;padding:0;border-top:0;background:transparent;color:var(--ink-faint);font-size:.92rem;font-style:italic;font-family:var(--serif);line-height:1.55}@media(max-width:920px){.hero{grid-template-columns:1fr;gap:2.4rem;padding:3.4rem var(--gutter)}.hero-text h1{font-size:3.2rem}}.shell.home .triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:2.6rem;margin:4rem 0 5rem;border:0;padding:0}.shell.home .triptych .panel h3{font-family:var(--sans-display);font-size:.98rem;font-weight:500;margin:0 0 .5rem;letter-spacing:0}.shell.home .triptych .panel p{font-size:.93rem;color:var(--ink-soft);line-height:1.55;margin:0}.shell.home .triptych .panel .num{font-family:var(--mono);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.6rem;display:block}.install-tabs{margin:0;border:0;border-radius:0;background:transparent;overflow:visible}.section-h{font-family:var(--sans-display);font-size:1.5rem;font-weight:500;letter-spacing:-.01em;margin:0 0 1.6rem;color:var(--ink)}.section-h-num{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);margin-right:.8rem;font-weight:400}.install-tablist{display:flex;gap:2rem;margin:0 0 1.6rem;padding:0;border-bottom:1px solid var(--rule);background:transparent}.install-tab{flex:0 0 auto;display:inline-flex;flex-direction:column;align-items:flex-start;gap:.1rem;padding:.5rem 0;background:transparent;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;color:var(--ink-faint);cursor:pointer;text-align:left;font-family:var(--sans-body);transition:color .12s ease,border-color .12s ease}.install-tab:hover{color:var(--ink);background:transparent}.install-tab[aria-selected=true]{color:var(--ink);background:transparent;border-bottom-color:var(--accent)}.install-tab--python[aria-selected=true],.install-tab--rust[aria-selected=true],.install-tab--agents[aria-selected=true]{border-bottom-color:var(--accent)}.install-tab-label{font-family:var(--sans-display);font-weight:500;font-size:.95rem;letter-spacing:0}.install-tab-sub{font-size:.78rem;color:var(--ink-mute)}.install-tab[aria-selected=true] .install-tab-sub{color:var(--ink-faint)}.install-pane{padding:0}.install-pane>p{margin:0 0 .9rem;color:var(--ink-soft);font-size:.95rem;line-height:1.55}.install-pane pre{margin:0 0 .9rem;background:var(--bg-elev);border:1px solid var(--rule-soft);border-radius:4px}.install-pane-note{font-size:.85rem!important;color:var(--ink-faint)!important;margin-top:-.3rem!important}.install-pane-link{display:inline-block;font-family:var(--sans-display);font-weight:500;font-size:.88rem;color:var(--accent);text-decoration:none;margin-top:.3rem}.install-pane-link:hover{color:var(--accent-deep)}@media(max-width:640px){.install-tablist{flex-direction:column;gap:.4rem}.install-tab{border-bottom:0;padding-left:0}.install-tab[aria-selected=true]{border-left:2px solid var(--accent);padding-left:.6rem}}.home-foot{text-align:center;color:var(--ink-faint);font-style:italic;font-family:var(--serif);margin:3.6rem 0 0;padding-top:2rem;border-top:1px solid var(--rule)}.home-foot a{color:var(--ink-soft);border-bottom:1px solid var(--rule)}.home-foot a:hover{color:var(--accent);border-bottom-color:var(--accent)}.shell a>code{color:inherit}.agent-callout{margin:1.5rem 0 2rem;padding:1.1rem 1.3rem;border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:4px;background:var(--bg-deep)}.agent-callout-label{font-family:var(--sans-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.55rem;font-weight:600}.agent-callout p{margin:.4rem 0;color:var(--ink-soft);font-size:.95rem;line-height:1.55}.agent-callout ol{margin:.4rem 0 .6rem 1.2rem;color:var(--ink-soft);font-size:.95rem}.agent-callout li{margin:.2rem 0}.toc-inline{margin:1rem 0 2.4rem;padding:.9rem 1.1rem;border:1px solid var(--rule);border-radius:4px;background:var(--bg-deep)}.toc-inline ol{margin:0;padding-left:1.2rem;columns:2;column-gap:1.8rem;font-size:.92rem}.toc-inline li{margin:.18em 0;break-inside:avoid}.toc-inline a{color:var(--ink-soft)}.lookup{display:grid;grid-template-columns:minmax(240px,1fr) 2fr;gap:.5rem 1.4rem;margin:.6rem 0 1.4rem}.lookup dt{font-family:var(--sans-display);font-size:.95rem;color:var(--ink);font-weight:500}.lookup dt code{font-family:var(--mono);font-size:.88em;background:none;border:0;padding:0;color:var(--accent)}.lookup dd{margin:0;color:var(--ink-soft);font-size:.92rem;line-height:1.5}.lookup dd code{font-family:var(--mono);font-size:.88em}@media(max-width:720px){.toc-inline ol{columns:1}.lookup{grid-template-columns:1fr;gap:.1rem 0}.lookup dd{margin-bottom:.6rem}}.install-shell{margin:1rem 0 2rem}.install-toggle{grid-template-columns:1fr 1fr;max-width:320px}.install-toggle--3{grid-template-columns:1fr 1fr 1fr;max-width:420px}.lang-toggle button.lang-toggle--agents[aria-pressed=true]{color:var(--ink);box-shadow:0 1px 2px #0f0c240a,0 0 0 1px color-mix(in srgb,var(--ink) 38%,var(--rule))}.install-pane{margin-top:.6rem}.install-pane h4{font-family:var(--sans-display);font-size:.95rem;font-weight:500;color:var(--ink);margin:1.6rem 0 .5rem;letter-spacing:.01em}.crate-list{margin:.4rem 0 .8rem;padding:0;display:grid;gap:.6rem}.crate-list dt{font-family:var(--mono);font-size:.92rem;color:var(--ink);display:flex;align-items:center;gap:.55rem}.crate-list dt code{background:none;border:0;padding:0;color:var(--accent)}.crate-list dd{margin:.15rem 0 0;padding-left:0;color:var(--ink-soft);font-size:.95rem;line-height:1.55}.crate-tag{font-family:var(--sans-display);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-faint);border:1px solid var(--rule);border-radius:3px;padding:1px 6px;font-weight:500}.crate-pick{margin:.4rem 0 1rem;padding-left:1.2rem;color:var(--ink-soft)}.crate-pick li{margin:.35rem 0;line-height:1.55}.crate-pick strong{color:var(--ink);font-weight:500}.api-section--python .api-item{border-left-color:color-mix(in srgb,var(--purple) 14%,var(--rule))}.api-section--python .api-item:hover{border-left-color:var(--purple);box-shadow:0 1px 3px #0f0c240a,0 8px 24px -16px #7f3eff40}.api-section--rust .api-item{border-left-color:color-mix(in srgb,var(--orange) 14%,var(--rule))}.api-section--rust .api-item:hover{border-left-color:var(--orange);box-shadow:0 1px 3px #0f0c240a,0 8px 24px -16px #ff7c244d}.api-search-status{margin:0 0 1.4rem;padding:.6rem .9rem;background:var(--bg-elev);border:1px solid var(--rule);border-radius:5px;font-size:.88rem;color:var(--ink-soft);font-family:var(--mono)}.api-search-status[hidden]{display:none}.api-item{margin:0 0 .9rem;padding:.95rem 1.1rem 1rem;background:var(--bg-elev);border:1px solid var(--rule);border-radius:5px;border-left:3px solid var(--rule);transition:border-left-color .15s ease,box-shadow .15s ease,transform .15s ease;cursor:pointer}.api-item:has(details:not([open])){cursor:pointer}.api-item:has(details[open]){cursor:default}.api-item:has(details[open]) .row1,.api-item:has(details[open]) .signature,.api-item:has(details[open]) .summary{cursor:pointer}.api-item.no-toggle{cursor:default}.api-item:hover{border-left-color:var(--accent);box-shadow:0 1px 3px #0f0c240a,0 8px 24px -16px #7f3eff33}.api-item:target{border-left-color:var(--accent);background:linear-gradient(180deg,rgba(127,62,255,.05),var(--bg-elev) 30%)}.api-item .row1{display:flex;align-items:baseline;gap:.7rem;flex-wrap:wrap}.api-item .name{font-family:var(--mono);font-size:.96rem;font-weight:500;color:var(--ink)}.api-item .name a{color:inherit;border:0}.api-item .name a:hover{color:var(--accent)}.api-item .path{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);margin-left:auto}.api-item .signature{margin-top:.4rem;font-family:var(--mono);font-size:.8rem;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word}.api-item .summary{margin:.6rem 0 0;color:var(--ink-soft);font-size:.95rem;line-height:1.55}.api-item details{margin-top:.6rem;font-size:.92rem}.api-item details summary{cursor:pointer;font-family:var(--mono);font-size:.7rem;color:var(--ink-faint);letter-spacing:.06em;text-transform:uppercase;list-style:none;user-select:none}.api-item details summary::-webkit-details-marker{display:none}.api-item details summary:before{content:"▸ ";color:var(--ink-mute)}.api-item details[open] summary:before{content:"▾ ";color:var(--accent)}.api-item details summary:hover{color:var(--accent)}.api-item details .docstring{margin-top:.7rem;padding-top:.8rem;font-family:var(--sans-body);font-size:.93rem;line-height:1.6;color:var(--ink);border-top:1px dashed var(--rule)}.doc-prose{font-size:.93rem;line-height:1.6}.doc-prose p{margin:0 0 .85em;color:var(--ink)}.doc-prose p:last-child{margin-bottom:0}.doc-prose strong{color:var(--ink);font-weight:600}.doc-prose em{font-style:italic;color:var(--ink-soft)}.doc-prose ul,.doc-prose ol{margin:0 0 .85em;padding-left:1.4rem;color:var(--ink)}.doc-prose li{margin:.18em 0}.doc-prose li>p{margin:0}.doc-prose code{background:var(--code-bg);border:1px solid var(--code-edge);padding:.05em .32em;border-radius:3px;font-size:.86em;color:var(--ink)}.doc-prose pre{margin:.8em 0;font-size:.8rem;padding:.8rem 1rem;border-radius:4px;background:var(--bg-elev);border:1px solid var(--rule);border-left:3px solid var(--accent)}.doc-prose pre code{background:none;border:0;padding:0;font-size:1em}.doc-prose blockquote{margin:.8em 0;padding:.1em 1rem;border-left:2px solid var(--rule);color:var(--ink-soft)}.doc-prose h1,.doc-prose h2,.doc-prose h3,.doc-prose h4,.doc-prose h5{font-size:.95rem;font-weight:500;margin:1.1em 0 .3em;color:var(--ink);font-family:var(--sans-display)}.doc-prose table{border-collapse:collapse;margin:.8em 0;font-size:.86rem}.doc-prose th,.doc-prose td{border:1px solid var(--rule);padding:.3rem .7rem;text-align:left}.doc-prose th{background:var(--bg-deep);font-weight:500}.doc-prose a{color:var(--accent);border-bottom:1px solid color-mix(in srgb,var(--accent) 30%,transparent)}.doc-prose a:hover{border-bottom-color:var(--accent)}.doc-section{margin:.9em 0 1em}.doc-section h5{font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .6em;font-weight:400}.param-list,.return-list{margin:0;padding-left:0;display:grid;grid-template-columns:minmax(8rem,max-content) 1fr;gap:.45rem 1.2rem;align-items:baseline}.param-list dt,.return-list dt{margin:0;display:inline-flex;align-items:baseline;gap:.45rem;flex-wrap:wrap;font-family:var(--mono)}.param-list dd,.return-list dd{margin:0;color:var(--ink-soft)}.param-list dd>p:first-child,.return-list dd>p:first-child{margin-top:0}.param-list dd>p:last-child,.return-list dd>p:last-child{margin-bottom:0}.param-name{background:transparent;border:0;padding:0;font-size:.86rem;font-weight:500;color:var(--ink)}.param-type{background:var(--code-bg);border:1px solid var(--code-edge);padding:.04em .4em;border-radius:3px;font-size:.75rem;color:var(--accent)}.param-default{font-family:var(--mono);font-size:.74rem;color:var(--ink-faint)}.param-default code{background:var(--code-bg);border:1px solid var(--code-edge);padding:.04em .32em;border-radius:3px;font-size:1em}.param-optional{font-style:italic;color:var(--ink-mute)}.doc-admonition{margin:.9em 0;padding:.7rem 1rem;border-left:3px solid var(--orange);background:color-mix(in srgb,var(--orange) 6%,var(--bg-elev));font-size:.93rem;border-radius:0 3px 3px 0}@media(max-width:600px){.param-list,.return-list{grid-template-columns:1fr;gap:.2rem 0}.param-list dd,.return-list dd{padding-left:.8rem;margin-bottom:.4rem}}.kind{display:inline-block;font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;text-transform:lowercase;padding:2px 8px 3px;border:1px solid currentColor;border-radius:999px;vertical-align:.1em;background:transparent}.kind-struct,.kind-class{color:#5a26c4;background:#7f3eff12;border-color:#7f3eff52}.kind-enum{color:#b05a14;background:#ff7c2414;border-color:#ff7c2457}.kind-trait{color:#8b3aa8;background:#a252fa14;border-color:#a252fa52}.kind-function,.kind-method{color:#bb3a92;background:#fa82ec14;border-color:#fa82ec5c}.kind-type_alias,.kind-attribute,.kind-module{color:var(--ink-soft);background:var(--bg-deep);border-color:var(--rule)}.kind-macro{color:#a35d18;background:#ff7c2412;border-color:#ff7c244d}html[data-theme=dark] .kind-struct,html[data-theme=dark] .kind-class{color:#c9b3ff;background:#7f3eff2e;border-color:#a57aff8c}html[data-theme=dark] .kind-enum{color:#ffc28a;background:#ff7c242e;border-color:#ff96508c}html[data-theme=dark] .kind-trait{color:#dcb6ff;background:#a252fa2e;border-color:#be82ff8c}html[data-theme=dark] .kind-function,html[data-theme=dark] .kind-method{color:#ffb8ee;background:#fa82ec2e;border-color:#ffa0e68c}html[data-theme=dark] .kind-macro{color:#fc9;background:#ff7c2429;border-color:#ff965080}html[data-theme=dark] .kind-type_alias,html[data-theme=dark] .kind-attribute,html[data-theme=dark] .kind-module{color:var(--ink);background:var(--bg-elev);border-color:var(--rule)}.qs-hero{margin:0;padding:3rem var(--gutter) 2.4rem;border-bottom:1px solid var(--rule);position:relative;overflow:hidden;--qs-accent: var(--purple);--qs-accent-soft: rgba(127, 62, 255, .12);--qs-accent-faint: rgba(127, 62, 255, .06)}.qs-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 780px 320px at 92% -30%,var(--qs-accent-soft),transparent 70%),radial-gradient(ellipse 600px 260px at -5% 0%,var(--qs-accent-faint),transparent 75%);z-index:0}.qs-hero>*{position:relative;z-index:1}.qs-hero--python{--qs-accent: var(--purple);--qs-accent-soft: rgba(127, 62, 255, .14);--qs-accent-faint: rgba(127, 62, 255, .07)}.qs-hero--rust{--qs-accent: var(--orange);--qs-accent-soft: rgba(255, 124, 36, .16);--qs-accent-faint: rgba(255, 124, 36, .07)}.qs-hero-inner{max-width:var(--measure-wide);margin:0 auto}.qs-hero .chip{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--qs-accent);background:var(--qs-accent-soft);border:1px solid color-mix(in srgb,var(--qs-accent) 40%,transparent);padding:4px 10px 5px;border-radius:999px}.qs-hero .chip .chip-dot{width:7px;height:7px;border-radius:50%;background:var(--qs-accent);box-shadow:0 0 12px var(--qs-accent)}.qs-hero h1{font-size:clamp(2.2rem,4vw,2.9rem);margin:1rem 0 .3em;font-weight:400;letter-spacing:-.025em}.qs-hero h1 .lang{color:var(--qs-accent);font-family:var(--mono);font-size:.85em;margin-right:.55rem;letter-spacing:-.01em;font-weight:500}.qs-hero .audience{font-size:1.08rem;color:var(--ink-soft);max-width:38rem;margin:0;line-height:1.55}.qs-hero .audience strong{color:var(--ink);font-weight:500}.qs-page.qs-page--rust{--accent: var(--orange);--accent-deep: #b85a14}.qs-page pre{border-left-color:var(--accent)}.qs-crosslink{margin:4rem 0 0;padding:1.3rem 1.4rem;border:1px solid var(--rule);border-radius:6px;background:var(--bg-elev);display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;font-size:.95rem}.qs-crosslink .label{font-family:var(--mono);font-size:.7rem;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-faint);display:block;margin-bottom:.2rem}.qs-crosslink a{border:0;font-family:var(--sans-display);font-weight:500;font-size:1.05rem}.qs-crosslink a:after{content:" →";color:var(--ink-faint);transition:color .12s ease,transform .12s ease;display:inline-block}.qs-crosslink a:hover:after{color:var(--accent);transform:translate(2px)}.qs-chooser{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem;margin:2.4rem 0 0}@media(max-width:820px){.qs-chooser{grid-template-columns:1fr}}.qs-card{display:flex;flex-direction:column;text-decoration:none;border:1px solid var(--rule);border-radius:8px;padding:1.6rem 1.7rem 1.5rem;background:var(--bg-elev);position:relative;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;--card-accent: var(--purple);--card-accent-soft: rgba(127, 62, 255, .12);color:var(--ink)}.qs-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--card-accent),color-mix(in srgb,var(--card-accent) 40%,transparent))}.qs-card:after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 380px 220px at 100% -30%,var(--card-accent-soft),transparent 65%);z-index:0}.qs-card>*{position:relative;z-index:1}.qs-card:hover{transform:translateY(-2px);border-color:color-mix(in srgb,var(--card-accent) 40%,var(--rule));box-shadow:0 4px 14px -8px color-mix(in srgb,var(--card-accent) 45%,transparent),0 1px 3px #0f0c240d}.qs-card--python{--card-accent: var(--purple);--card-accent-soft: rgba(127, 62, 255, .12)}.qs-card--rust{--card-accent: var(--orange);--card-accent-soft: rgba(255, 124, 36, .14)}.qs-card .qs-chip{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.7rem;letter-spacing:.08em;text-transform:uppercase;color:var(--card-accent);margin-bottom:.7rem}.qs-card .qs-chip .chip-dot{width:7px;height:7px;border-radius:50%;background:var(--card-accent);box-shadow:0 0 10px var(--card-accent)}.qs-card h3{margin:0 0 .45em;font-size:1.5rem;font-weight:500;letter-spacing:-.018em;color:var(--ink)}.qs-card .audience-tag{display:inline-block;font-family:var(--mono);font-size:.72rem;color:var(--ink-soft);border:1px solid var(--rule);padding:2px 8px 3px;border-radius:4px;margin-bottom:.9rem}.qs-card p{margin:0 0 1em;color:var(--ink-soft);font-size:.96rem;line-height:1.55}.qs-card .qs-bullets{list-style:none;padding:0;margin:0 0 1.1em;font-size:.92rem;color:var(--ink-soft)}.qs-card .qs-bullets li{padding-left:1.2rem;position:relative;margin:.3em 0}.qs-card .qs-bullets li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:1px;background:var(--card-accent)}.qs-card .qs-cta{margin-top:auto;font-family:var(--sans-display);font-weight:500;font-size:.95rem;color:var(--card-accent)}.qs-card .qs-cta:after{content:" →";display:inline-block;transition:transform .15s ease}.qs-card:hover .qs-cta:after{transform:translate(3px)}.tut-toc{border:1px solid var(--rule);background:var(--bg-elev);border-radius:6px;padding:1.1rem 1.4rem;margin:2rem 0 2.6rem}.tut-toc h4{font-family:var(--mono);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint);margin:0 0 .6em;font-weight:400}.tut-toc ol{margin:0;padding-left:1.4rem;font-size:.96rem;color:var(--ink);list-style:decimal}.tut-toc ol li{margin:.2em 0}.tut-toc ol li::marker{color:var(--accent);font-family:var(--mono);font-size:.85em}.tut-toc a{border:0;color:var(--ink)}.tut-toc a:hover{color:var(--accent)}.dev-cmd-table{width:100%;border-collapse:collapse;margin:1rem 0 1.6rem;font-size:.92rem}.dev-cmd-table thead th{text-align:left;font-family:var(--sans-display);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-faint);font-weight:500;padding:.4rem .7rem .4rem 0;border-bottom:1px solid var(--rule)}.dev-cmd-table tbody td{vertical-align:top;padding:.55rem .7rem .55rem 0;border-bottom:1px solid var(--rule-soft);color:var(--ink-soft);line-height:1.5}.dev-cmd-table tbody tr:last-child td{border-bottom:0}.dev-cmd-table td:first-child{white-space:nowrap;color:var(--ink)}.dev-cmd-table code{font-family:var(--mono);background:none;border:0;padding:0;font-size:.85em}@media(max-width:720px){.dev-cmd-table,.dev-cmd-table thead,.dev-cmd-table tbody,.dev-cmd-table tr,.dev-cmd-table th,.dev-cmd-table td{display:block}.dev-cmd-table thead{display:none}.dev-cmd-table tbody tr{padding:.6rem 0;border-bottom:1px solid var(--rule-soft)}.dev-cmd-table tbody td{border-bottom:0;padding:.15rem 0}.dev-cmd-table td:first-child{margin-bottom:.2rem}}.tutorial section{margin:3rem 0}.tutorial section:first-of-type{margin-top:1.6rem}.tutorial h2{font-family:var(--sans-display);font-size:1.45rem;font-weight:500;letter-spacing:-.005em;margin:0 0 1rem}.tutorial p{margin:.7rem 0;color:var(--ink-soft);line-height:1.65}.tutorial ul,.tutorial ol{color:var(--ink-soft);margin:.7rem 0 .7rem 1.4rem}.tutorial pre{margin:.9rem 0;background:var(--bg-elev);border:1px solid var(--rule-soft);border-radius:4px;padding:.9rem 1.05rem;font-size:.84rem}.callout{margin:1rem 0;padding:.85rem 1.1rem;border:1px solid var(--rule);border-left:3px solid var(--accent);border-radius:4px;background:var(--bg-elev);font-size:.95rem;color:var(--ink-soft);line-height:1.55}.tutorials-list{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:1.6rem}.tutorials-list>li{padding-top:1.4rem;border-top:1px solid var(--rule-soft)}.tutorials-list>li:first-child{border-top:0;padding-top:0}.tutorials-title{display:block;font-family:var(--sans-display);font-size:1.25rem;font-weight:500;letter-spacing:-.005em;color:var(--ink);text-decoration:none;margin-bottom:.4rem}.tutorials-title:hover{color:var(--accent)}.tutorials-list>li p{font-size:.95rem;color:var(--ink-soft);margin:0}.examples-list{list-style:none;padding:0;margin:1.6rem 0 0;display:grid;gap:1.6rem}.examples-list>li{padding-top:1.4rem;border-top:1px solid var(--rule-soft)}.examples-list>li:first-child{border-top:0;padding-top:0}.examples-title{display:block;font-family:var(--sans-display);font-size:1.25rem;font-weight:500;letter-spacing:-.005em;color:var(--ink);text-decoration:none;margin-bottom:.45rem}.examples-title:hover{color:var(--accent)}.examples-meta{display:flex;align-items:center;flex-wrap:wrap;gap:.55rem .7rem;font-size:.85rem;color:var(--ink-faint);margin:0}.examples-source-label{font-family:var(--sans-display);font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint)}.examples-source{font-family:var(--mono);font-size:.85rem;color:var(--ink-soft);border-bottom:1px solid var(--rule);padding-bottom:1px}.examples-source:hover{color:var(--accent);border-bottom-color:var(--accent)}.examples-lang{font-family:var(--mono);font-size:.7rem;letter-spacing:.04em;text-transform:lowercase;color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 38%,var(--rule));border-radius:3px;padding:.1rem .45rem;line-height:1.3}.notebook{max-width:50rem}.notebook-body{margin-top:2rem}.notebook-body .jp-Cell{margin:1.4rem 0;padding:0;border:0}.notebook-body .jp-Cell+.jp-Cell{border-top:1px solid var(--rule-soft);padding-top:1.4rem}.notebook-body .jp-MarkdownCell .jp-RenderedHTMLCommon{font-size:1rem;line-height:1.6;color:var(--ink)}.notebook-body .jp-MarkdownCell h1{font-family:var(--sans-display);font-size:1.65rem;font-weight:500;letter-spacing:-.01em;margin:.6rem 0 1rem}.notebook-body .jp-MarkdownCell h2{font-family:var(--sans-display);font-size:1.3rem;font-weight:500;margin:1.4rem 0 .8rem}.notebook-body .jp-MarkdownCell h3{font-size:1.05rem;font-weight:500;margin:1rem 0 .5rem}.notebook-body .jp-MarkdownCell .anchor-link{display:none}.notebook-body .jp-MarkdownCell p{margin:.6rem 0;color:var(--ink-soft)}.notebook-body .jp-MarkdownCell code{background:var(--bg-elev);border:1px solid var(--rule-soft);border-radius:3px;padding:1px 5px}.notebook-body .jp-MarkdownCell ul,.notebook-body .jp-MarkdownCell ol{color:var(--ink-soft);margin:.6rem 0 .6rem 1.4rem}.notebook-body .jp-CodeCell .jp-InputArea{margin:.4rem 0}.notebook-body .jp-CodeCell .jp-InputArea-editor,.notebook-body .jp-CodeCell>.jp-Cell-inputWrapper>.jp-InputArea{position:relative}.notebook-body[data-language=python] .jp-CodeCell .jp-InputArea:after{content:"python"}.notebook-body[data-language=rust] .jp-CodeCell .jp-InputArea:after{content:"rust"}.notebook-body[data-language=julia] .jp-CodeCell .jp-InputArea:after{content:"julia"}.notebook-body[data-language] .jp-CodeCell .jp-InputArea:after{position:absolute;top:.5rem;right:.7rem;font-family:var(--mono);font-size:.66rem;letter-spacing:.04em;color:var(--ink-faint);background:var(--bg);border:1px solid var(--rule-soft);border-radius:2px;padding:.05rem .4rem;pointer-events:none;z-index:1}.notebook-body .jp-CodeCell .highlight,.notebook-body .jp-CodeCell pre{background:var(--bg-elev);border:1px solid var(--rule-soft);border-radius:4px;padding:.85rem 1rem;font-size:.84rem;line-height:1.55;overflow-x:auto}.notebook-body .jp-CodeCell pre{margin:0;border:0;padding:0;background:transparent}.notebook-body .highlight .k,.notebook-body .highlight .kn,.notebook-body .highlight .kc,.notebook-body .highlight .o{color:var(--syntax-keyword);font-weight:500}.notebook-body .highlight .s,.notebook-body .highlight .s1,.notebook-body .highlight .s2,.notebook-body .highlight .sa{color:var(--syntax-string)}.notebook-body .highlight .mi,.notebook-body .highlight .mf,.notebook-body .highlight .m{color:var(--syntax-number)}.notebook-body .highlight .c,.notebook-body .highlight .c1,.notebook-body .highlight .cm{color:var(--syntax-comment);font-style:italic}.notebook-body .highlight .nn,.notebook-body .highlight .nc,.notebook-body .highlight .nb,.notebook-body .highlight .nf{color:var(--syntax-ink)}.notebook-body .highlight .n,.notebook-body .highlight .p,.notebook-body .highlight .w{color:var(--syntax-soft)}.notebook-body .jp-OutputArea{margin:.4rem 0 0;padding-left:0}.notebook-body .jp-OutputArea-output{padding:.5rem 0}.notebook-body .jp-OutputArea pre{background:transparent;border:0;padding:0;margin:0;font-size:.84rem;line-height:1.55;color:var(--ink-soft);white-space:pre-wrap;word-break:break-word}.notebook-body .jp-OutputArea img{display:block;max-width:100%;height:auto;margin:.6rem auto;background:#fff;border:1px solid var(--rule-soft);border-radius:3px}html[data-theme=dark] .notebook-body .jp-OutputArea img{filter:brightness(.95)}.notebook-body .jp-Collapser,.notebook-body .jp-InputPrompt,.notebook-body .jp-OutputPrompt{display:none!important}.foot{margin-top:5rem;padding:1.6rem var(--gutter) 2.2rem;border-top:1px solid var(--rule);color:var(--ink-faint);font-size:.82rem}.foot-inner{max-width:76rem;margin:0 auto;display:flex;justify-content:space-between;gap:2rem;flex-wrap:wrap}.foot a{color:var(--ink-soft);border:0}.foot a:hover{color:var(--accent)}html{scroll-behavior:smooth;scroll-padding-top:4.5rem}.section-pager{display:none;grid-template-columns:1fr 1fr;gap:1.2rem;margin:3.6rem 0 0;padding-top:1.4rem;border-top:1px solid var(--rule)}@media(max-width:900px){.section-pager{display:grid}}.section-pager-link{display:inline-flex;flex-direction:column;gap:.2rem;padding:.6rem 0;border:0;background:transparent;color:var(--ink-soft);text-decoration:none;transition:color .12s ease;min-height:1px}.section-pager-link.section-pager-empty{visibility:hidden}.section-pager-prev{text-align:left}.section-pager-next{text-align:right;align-items:flex-end}.section-pager-dir{font-family:var(--mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-faint);transition:color .12s ease,transform .16s ease}.section-pager-label{font-family:var(--sans-display);font-size:1rem;font-weight:500;letter-spacing:-.005em;color:var(--ink)}.section-pager-link:hover,.section-pager-link:hover .section-pager-dir,.section-pager-link:hover .section-pager-label{color:var(--accent)}.section-pager-prev:hover .section-pager-dir{transform:translate(-2px)}.section-pager-next:hover .section-pager-dir{transform:translate(2px)}@media(max-width:540px){.section-pager{grid-template-columns:1fr;gap:.6rem}.section-pager-next{text-align:left;align-items:flex-start}.section-pager-link{padding:.4rem 0}}.back-to-top{position:fixed;right:1.4rem;bottom:1.4rem;z-index:20;width:40px;height:40px;display:none;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg) 90%,transparent);color:var(--ink-soft);border:1px solid var(--rule);border-radius:999px;cursor:pointer;padding:0;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 4px 14px -8px #0f0c2440;transition:opacity .18s ease,transform .18s ease,color .12s ease,border-color .12s ease,background .12s ease;opacity:1}@media(max-width:900px){.back-to-top{display:inline-flex}.back-to-top[hidden]{display:inline-flex;pointer-events:none;opacity:0;transform:translateY(6px)}}.back-to-top:hover{color:var(--accent);border-color:var(--accent)}.back-to-top:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.back-to-top svg{width:18px;height:18px;display:block}@media(max-width:720px){.back-to-top{right:.9rem;bottom:.9rem;width:38px;height:38px}}details.side-nav{display:block}details.side-nav>summary{display:block;list-style:none;cursor:default;pointer-events:none}details.side-nav>summary::-webkit-details-marker{display:none}details.side-nav>summary::marker{content:""}.api-toc.side-nav>.api-toc-summary{font-family:var(--mono);font-size:.72rem;color:var(--ink-faint);letter-spacing:.08em;text-transform:uppercase;margin:.2em 0 1rem;list-style:none;cursor:default;pointer-events:none}.api-toc.side-nav>.api-toc-summary::-webkit-details-marker{display:none}.api-toc.side-nav>.api-toc-summary::marker{content:""}@media(max-width:980px){.api-toc.side-nav>.api-toc-summary{pointer-events:auto;cursor:pointer}}@media(max-width:900px){details.side-nav>summary{cursor:pointer;pointer-events:auto}details.side-nav>summary:after{content:"▾";float:right;color:var(--ink-faint);font-size:.85em;margin-left:.4em;transition:transform .16s ease}details.side-nav[open]>summary:after{transform:rotate(180deg)}details.side-nav>summary:hover{color:var(--ink)}details.side-nav>summary{padding:.55rem 0;margin:0}details.side-nav:not([open]){padding-bottom:.4rem!important}details.page-toc--right.side-nav{display:none}}.nav-toggle{display:none;appearance:none;background:transparent;border:1px solid var(--rule);border-radius:6px;width:38px;height:34px;align-items:center;justify-content:center;cursor:pointer;color:var(--ink);padding:0;transition:border-color .12s ease,background .12s ease}.nav-toggle:hover{border-color:var(--accent);color:var(--accent)}.nav-toggle-bars,.nav-toggle-bars:before,.nav-toggle-bars:after{display:block;width:18px;height:1.5px;background:currentColor;border-radius:1px;transition:transform .18s ease,opacity .12s ease}.nav-toggle-bars{position:relative}.nav-toggle-bars:before,.nav-toggle-bars:after{content:"";position:absolute;left:0}.nav-toggle-bars:before{top:-6px}.nav-toggle-bars:after{top:6px}.nav-toggle[aria-expanded=true] .nav-toggle-bars{background:transparent}.nav-toggle[aria-expanded=true] .nav-toggle-bars:before{transform:translateY(6px) rotate(45deg)}.nav-toggle[aria-expanded=true] .nav-toggle-bars:after{transform:translateY(-6px) rotate(-45deg)}@media(max-width:720px){.masthead-inner{padding:.7rem var(--gutter);gap:.8rem}.brand .brand-sub{display:none}.nav-toggle{display:inline-flex}.nav-links{position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;background:var(--bg);border-bottom:1px solid var(--rule);padding:.4rem var(--gutter) .9rem;font-size:1rem;max-height:0;overflow:hidden;visibility:hidden;transition:max-height .22s ease,padding .22s ease,visibility 0s linear .22s}.nav-links[data-open]{max-height:calc(100vh - 4rem);overflow-y:auto;visibility:visible;transition:max-height .22s ease,padding .22s ease,visibility 0s}.nav-links a{padding:.65rem 0;border-bottom:1px solid var(--rule-soft)}.nav-links a:last-of-type{border-bottom:0}.nav-links a[aria-current=page]{color:var(--accent);border-bottom-color:var(--rule-soft)}.nav-links .theme-toggle{margin:.6rem 0 0;align-self:flex-start}}@media(max-width:720px){html{font-size:16px}h1{font-size:clamp(2rem,7.5vw,2.6rem)}h2{font-size:1.32rem;margin:2em 0 .5em}h3{font-size:1.02rem;margin:1.5em 0 .4em}p.lede{font-size:1.06rem}.shell{padding:2.4rem var(--gutter) 3.4rem}.titleblock{margin-bottom:1.8rem;padding-bottom:1.1rem}.titleblock .meta{gap:.6rem 1.4rem;margin-top:1rem}.titleblock .byline{font-size:1rem}pre{padding:.85rem .9rem;font-size:.8rem;margin-left:calc(-1 * var(--gutter) * .4);margin-right:calc(-1 * var(--gutter) * .4);border-left-width:2px;border-radius:3px}figure.example pre{margin-left:0;margin-right:0}.copy-btn{font-size:.62rem;padding:2px 6px}}@media(max-width:480px){h1{font-size:clamp(1.8rem,8.5vw,2.3rem);letter-spacing:-.02em}.titleblock .meta{font-size:.72rem}}@media(max-width:720px){.hero{padding:2.6rem var(--gutter) 2.8rem;gap:2rem}.hero-text h1{font-size:clamp(2.4rem,11vw,3rem);margin-bottom:1rem}.hero-text .byline{font-size:1.02rem;margin-bottom:1.6rem}.hero-text .meta{gap:.6rem 1.4rem;padding-top:.9rem;margin-bottom:1.6rem}.hero-cta{gap:.9rem 1.6rem}.hero-code{padding:.8rem .85rem}.hero-code pre{font-size:.78rem}.hero-code figcaption{flex-wrap:wrap;gap:.3rem .8rem}.atom-cloud{opacity:.55}.shell.home{padding-top:2.4rem;padding-bottom:3rem}.shell.home .triptych{gap:1.6rem;margin:2.4rem 0 2.8rem}}@media(max-width:720px){.qs-hero{padding:2rem var(--gutter) 1.8rem}.qs-hero h1{font-size:clamp(1.8rem,7vw,2.4rem)}.qs-hero .audience{font-size:.98rem}.qs-crosslink{padding:1rem 1.1rem}.api-shell{padding:2rem var(--gutter) 4rem}.api-item{padding:.8rem .9rem .85rem}.api-item .path{margin-left:0;width:100%}}@media(max-width:540px){.foot-inner{flex-direction:column;gap:.4rem}.foot{padding:1.2rem var(--gutter) 1.6rem;font-size:.78rem}}@media(max-width:720px){.theme-toggle{padding:3px}.theme-toggle button{width:34px;height:30px}.theme-toggle button svg{width:16px;height:16px}}@media print{.masthead,.foot,.api-toc{display:none}body{background:#fff}}
