@import"https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap";:root{--navy-900: #0e3a6a;--navy-800: #15467b;--navy-700: #245a91;--ink-900: #1e2631;--ink-700: #49596c;--gray-100: #eef0f4;--gray-300: #cfd6df;--card-bg: #ffffff;--surface-muted: #f8fafc;--radius-lg: 16px;--radius-md: 12px;--radius-sm: 10px;--shadow-soft: 0 10px 26px rgba(24, 33, 46, .12);--hero-text: #f3f8ff;--hero-lead: #d3e3f7;--hero-tab: #d7e7fa;--hero-tab-hover: #ffffff;--hero-border: rgba(255, 255, 255, .2);--tab-active-text: var(--navy-700);--tab-active-hover: var(--navy-900);--card-border: rgba(16, 55, 92, .17);--card-heading: #1b486f;--hero-card-title: #163655;--hero-card-text: #3e5267;--cta-primary-border: #154f82;--cta-primary-bg: #1b5b8f;--cta-primary-bg-hover: #184f80;--cta-primary-text: #f6fbff;--cta-secondary-border: rgba(21, 79, 128, .28);--cta-secondary-border-hover: rgba(21, 79, 128, .5);--cta-secondary-bg: #ffffff;--cta-secondary-bg-hover: #f6fbff;--cta-secondary-text: #174a76;--install-label: #1a4f7d;--panel-soft-border: rgba(23, 74, 118, .38);--panel-soft-border-hover: rgba(23, 74, 118, .52);--panel-soft-bg: #eaf3fe;--panel-soft-bg-hover: #dfecfb;--panel-soft-shadow: inset 0 0 0 1px rgba(23, 74, 118, .12);--panel-soft-text: #103a60;--code-border: rgba(26, 76, 122, .18);--code-bg: #f5f9fd;--code-text: #1c456e;--flow-border: rgba(16, 55, 92, .24);--flow-connector: #2f5f8f;--flow-node-stroke: rgba(23, 74, 118, .45);--flow-node-main: #e6f0fd;--flow-node-pathway: #deedfd;--flow-node-output: #e9edf8;--flow-node-adv: #edf4ea;--flow-node-adv-stroke: rgba(64, 112, 64, .42);--flow-label-main: #153f64;--flow-label-sub: #355a76;--flow-label-adv-title: #224a2d;--flow-label-adv: #2f5039;--citation-head: #1a4369;--citation-text: #34495e;--citation-link: #1a4e7d;--citation-link-hover: #133f66;--input-placeholder: rgba(73, 89, 108, .75);--focus-outline: rgba(36, 90, 145, .2);--meta-chip-text: #374a62;--pre-bg: var(--card-bg);--pre-code: #2a3f57;--inline-code-color: #1f3e63;--inline-code-bg: #eaf1f9;--inline-code-border: #d7e3f2;--body-text: #2e3f54;--output-table-text: #2a3f57;--output-head-bg: #f4f7fb;--empty-bg: #fafbfd;--mobile-label: #1f3e63;--stage-count: var(--navy-800);--theme-switch-bg: rgba(244, 249, 255, .96);--theme-switch-bg-hover: #ffffff;--theme-switch-border: rgba(23, 74, 118, .38);--plotly-modebar-bg: rgba(245, 249, 253, .88);--plotly-modebar-icon: #245a91;--plotly-modebar-icon-hover: #163655;color-scheme:light}[data-theme=dark]{--navy-900: #06142a;--navy-800: #0b2243;--navy-700: #2e6ea8;--ink-900: #f2f7ff;--ink-700: #b8c9de;--gray-100: #040912;--gray-300: #1f3654;--card-bg: #070d18;--surface-muted: #0f1f37;--shadow-soft: 0 14px 34px rgba(0, 0, 0, .34);--hero-lead: #b8cbe3;--hero-tab: #bdd3ea;--hero-border: rgba(122, 157, 195, .35);--tab-active-text: #9ec7ef;--tab-active-hover: #cbe6ff;--card-border: rgba(107, 145, 188, .34);--card-heading: #d8e9fb;--hero-card-title: var(--ink-900);--hero-card-text: var(--ink-700);--cta-primary-border: #3b6f9f;--cta-primary-bg: #1f4f80;--cta-primary-bg-hover: #1a446d;--cta-secondary-border: rgba(108, 150, 194, .44);--cta-secondary-border-hover: rgba(140, 182, 223, .6);--cta-secondary-bg: #102137;--cta-secondary-bg-hover: #142b46;--cta-secondary-text: #d8e9fb;--install-label: #93bbe2;--panel-soft-border: rgba(106, 145, 186, .42);--panel-soft-border-hover: rgba(140, 182, 223, .6);--panel-soft-bg: #0f223b;--panel-soft-bg-hover: #16314f;--panel-soft-shadow: inset 0 0 0 1px rgba(106, 145, 186, .22);--panel-soft-text: #e5f2ff;--code-border: rgba(106, 145, 186, .35);--code-bg: #0f223b;--code-text: #d7e9fc;--flow-border: rgba(107, 145, 188, .42);--flow-connector: #5f96cb;--flow-node-stroke: rgba(116, 157, 201, .55);--flow-node-main: #112846;--flow-node-pathway: #153358;--flow-node-output: #1a2f4a;--flow-node-adv: #112f2a;--flow-node-adv-stroke: rgba(113, 173, 128, .55);--flow-label-main: #ebf4ff;--flow-label-sub: #c2d8ef;--flow-label-adv-title: #def8de;--flow-label-adv: #c3e7c9;--citation-head: #cfe4fa;--citation-text: var(--ink-700);--citation-link: #9ac7ee;--citation-link-hover: #dff0ff;--input-placeholder: rgba(184, 201, 222, .78);--meta-chip-text: #cadcf2;--pre-bg: #0d1d34;--pre-code: #d3e6fb;--inline-code-color: #e0efff;--inline-code-bg: #143054;--inline-code-border: #32618f;--body-text: var(--ink-700);--output-table-text: #d1e4f9;--output-head-bg: #122845;--empty-bg: #0d1a2f;--mobile-label: #cde5ff;--stage-count: #9fc7ee;--theme-switch-bg: rgba(244, 249, 255, .96);--theme-switch-bg-hover: #ffffff;--theme-switch-border: rgba(106, 145, 186, .42);--plotly-modebar-bg: rgba(7, 15, 28, .72);--plotly-modebar-icon: #d3e6fb;--plotly-modebar-icon-hover: #ffffff;color-scheme:dark}*{box-sizing:border-box;min-width:0}html,body,#root{min-height:100%}body{margin:0;font-family:Manrope,sans-serif;color:var(--ink-900);background:var(--gray-100)}.page{width:100%;overflow-x:clip}.pageContent{width:min(1760px,100%);margin:0 auto;padding:1.1rem;position:relative;isolation:isolate}.tabPanel{width:100%}.tabPanel.isActive{display:block;animation:tabReveal .28s cubic-bezier(.22,1,.36,1)}.tabPanel.isInactive{display:none}@keyframes tabReveal{0%{opacity:0;transform:translateY(10px);filter:saturate(.96)}to{opacity:1;transform:translateY(0);filter:saturate(1)}}:is(.vignetteCard,.railSearch,.stageCard,.detailPanel){border:1px solid var(--gray-300);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-soft)}:where(.stageCard,.contentItem){font:inherit;color:inherit}.hero{background:linear-gradient(180deg,var(--navy-900),var(--navy-800));color:var(--hero-text);padding:2.4rem 1rem 0;border-bottom:1px solid var(--hero-border)}.heroInner{width:min(1600px,100%);margin:0 auto;text-align:center;position:relative}.heroMini{margin:0;letter-spacing:.09em;font-size:.78rem;font-weight:700;opacity:.9}.hero h1{margin:.3rem 0 0;font-size:clamp(3.1rem,11vw,9rem);line-height:.95;font-weight:600}.heroQuote{margin:1rem 0 0;font-size:clamp(1rem,2.2vw,1.85rem);font-weight:600;opacity:.95}.heroLead{margin:.9rem auto 0;max-width:72ch;color:var(--hero-lead);line-height:1.45}.heroLead a{color:inherit;font-weight:700;text-decoration:none}.heroLead a:hover{color:var(--hero-tab-hover)}.topTabs{display:flex;justify-content:center;margin:1rem 0 -1px}.topTabList{display:inline-flex;align-items:flex-end;gap:.15rem}.topTab{text-decoration:none;color:var(--hero-tab);padding:.48rem .85rem;border-radius:var(--radius-sm) var(--radius-sm) 0 0;border:1px solid transparent;border-bottom:none;font-weight:700;line-height:1}.topTab:hover{color:var(--hero-tab-hover)}.topTabActive{color:var(--tab-active-text);background:var(--gray-100);border-color:var(--gray-100)}.topTabActive:hover{color:var(--tab-active-hover)}.themeSwitch{position:absolute;left:50%;top:.22rem;transform:translate(-305px);display:inline-flex;align-items:center;justify-content:center;width:auto;height:auto;border:none;border-radius:0;background:transparent;padding:.08rem;cursor:pointer;transition:opacity .18s ease,transform .18s ease}.themeSwitch:hover{opacity:.9}.themeIcon{width:2.72rem;height:2.72rem;display:block;filter:drop-shadow(0 2px 4px rgba(0,0,0,.18))}.themeIconMoon{transform:translateY(.01rem)}.homeTab{display:grid;gap:.95rem}.homeCard{border:1px solid var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);box-shadow:var(--shadow-soft);padding:.9rem}.homeHeroCard h2{margin:0;font-size:clamp(1.55rem,3.2vw,2.25rem);line-height:1.14;color:var(--hero-card-title)}.homeHeroCard p{margin:.58rem 0 0;max-width:78ch;color:var(--hero-card-text);line-height:1.5}.homeCtaRow{margin-top:1rem;display:flex;flex-wrap:wrap;gap:.55rem}.homePrimaryCta,.homeSecondaryCta{display:inline-flex;align-items:center;justify-content:center;border-radius:10px;padding:.56rem .95rem;font-weight:700;text-decoration:none;border:1px solid transparent;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.homePrimaryCta{border-color:var(--cta-primary-border);background:var(--cta-primary-bg);color:var(--cta-primary-text)}.homePrimaryCta:hover{background:var(--cta-primary-bg-hover)}.homeSecondaryCta{border-color:var(--cta-secondary-border);background:var(--cta-secondary-bg);color:var(--cta-secondary-text)}.homeSecondaryCta:hover{border-color:var(--cta-secondary-border-hover);background:var(--cta-secondary-bg-hover)}.homeCard h3{margin:0;font-size:1rem;color:var(--card-heading)}.homeSubtle{margin:.42rem 0 0;color:var(--ink-700);font-size:.9rem}.homeInstallHighlightLabel{margin:.62rem 0 0;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--install-label)}.homeInstallHighlight,.homeInstallGithubButton{margin-top:.3rem;width:clamp(11.5rem,55%,15.25rem);max-width:100%;border:1px solid var(--panel-soft-border);border-radius:10px;background:var(--panel-soft-bg);box-shadow:var(--panel-soft-shadow);padding:.62rem .66rem}.homeInstallHighlight{margin-bottom:0;overflow-x:auto}.homeInstallHighlight code{display:block;text-align:center;font-family:Space Mono,monospace;font-size:.96rem;font-weight:700;color:var(--panel-soft-text);white-space:pre}.homeInstallGithubButton{display:inline-flex;align-items:center;justify-content:center;gap:.46rem;color:var(--panel-soft-text);font-weight:800;text-decoration:none;transition:transform .18s ease,border-color .18s ease,background-color .18s ease}.homeInstallGithubIcon{width:1rem;height:1rem;fill:currentColor;flex:0 0 auto}.homeInstallGithubButton:hover{transform:translateY(-1px);border-color:var(--panel-soft-border-hover);background:var(--panel-soft-bg-hover)}.homeCodeBlock{margin:.42rem 0 0;border:1px solid var(--code-border);border-radius:8px;background:var(--code-bg);padding:.54rem .58rem;overflow-x:auto}.homeCodeBlock code{font-family:Space Mono,monospace;font-size:.76rem;line-height:1.5;color:var(--code-text);white-space:pre}.homeFeatureList{margin:.55rem 0 0;padding-left:1.15rem;display:grid;gap:.4rem;color:var(--ink-700)}.homeFeatureList li{line-height:1.43}.homeFeatureList strong{color:var(--ink-900)}.homeFlowCard{border-color:var(--flow-border);padding-top:1rem}.homeFlowCard h3{margin:0;line-height:1.34}.homeFlowFigure{margin:0;max-width:760px;overflow-x:auto}.homeFlowSvg{display:block;width:100%;min-width:540px;height:auto}.flowConnector{fill:none;stroke:var(--flow-connector);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.flowConnectorDashed{stroke-dasharray:7 7}.flowArrowHead{fill:var(--flow-connector)}.flowNode .flowShape{stroke:var(--flow-node-stroke);stroke-width:1.5}.flowNodeLoad .flowShape,.flowNodePrep .flowShape,.flowNodeStats .flowShape,.flowNodeDr .flowShape,.flowNodeReport .flowShape{fill:var(--flow-node-main)}.flowNodePathway .flowShape{fill:var(--flow-node-pathway)}.flowNodeOutput .flowShape{fill:var(--flow-node-output)}.flowNodeAdv .flowShape{fill:var(--flow-node-adv);stroke:var(--flow-node-adv-stroke)}.flowLabelMain{fill:var(--flow-label-main);font-size:17px;font-weight:800;letter-spacing:.01em}.flowLabelSub{fill:var(--flow-label-sub);font-size:13px;font-family:Space Mono,monospace}.flowLabelAdvTitle{fill:var(--flow-label-adv-title);font-size:17px}.flowLabelAdv{fill:var(--flow-label-adv);font-size:14px;font-weight:600}.homeExampleCode code{font-size:.74rem}.homeExampleCard h3+.homeSubtle{margin-top:.38rem}.homeExampleCard .homeCodeBlock{margin-top:.5rem}.homeExampleCard .homeInstallGithubButton+h3{margin-top:.95rem}.homeCitationCard{border-color:var(--flow-border)}.homeCitationLead{margin:.48rem 0 0;color:var(--citation-head);font-weight:700}.homeCitationText{margin:.45rem 0 0;color:var(--citation-text);line-height:1.47}.homeCitationBibLabel{margin:.72rem 0 0;color:var(--citation-head);font-weight:700}.homeCitationCode{margin:.4rem 0 0;border:1px solid var(--code-border);border-radius:8px;background:var(--code-bg);padding:.58rem .62rem;overflow-x:auto}.homeCitationCode code{font-family:Space Mono,monospace;font-size:.73rem;line-height:1.48;color:var(--code-text);white-space:pre}.homeCitationLink{margin-top:.62rem;display:inline-flex;color:var(--citation-link);font-weight:700;text-decoration:none}.homeCitationLink:hover{color:var(--citation-link-hover)}.vignetteCard{padding:.8rem;min-height:calc(100vh - 90px)}.vignetteEmbedHeader{display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.7rem}.vignetteEmbedHeader h2{margin:0}.vignetteEmbedHeader a{color:var(--citation-link);font-size:.9rem;font-weight:700;text-decoration:none}.vignetteEmbedHeader a:hover{color:var(--citation-link-hover)}.vignetteEmbed{width:100%;min-height:calc(100vh - 160px);border:1px solid var(--gray-300);border-radius:var(--radius-md);background:var(--card-bg)}.workspace{display:grid;grid-template-columns:clamp(245px,30vw,400px) minmax(0,1fr);gap:1rem;align-items:start}.stageRail{display:grid;gap:.75rem;align-content:start}.railSearch{padding:.75rem;display:grid;gap:.35rem}.railSearch label{font-size:.82rem;font-weight:700;color:var(--navy-700)}.railSearch input{width:100%;border:1px solid var(--gray-300);background:var(--card-bg);border-radius:var(--radius-sm);padding:.63rem .72rem;font:inherit;color:var(--ink-900)}.railSearch input::placeholder{color:var(--input-placeholder)}.railSearch input:focus{outline:2px solid var(--focus-outline);border-color:var(--navy-700)}.railSearch span{font-size:.82rem;color:var(--ink-700)}.stageCard{overflow:hidden}.stageCard:hover{border-color:var(--navy-700)}.stageCardHead{width:100%;border:0;background:transparent;text-align:left;padding:.82rem;cursor:pointer;display:grid;gap:.35rem;font:inherit;color:inherit}.stageCardActive{border-color:var(--navy-700);box-shadow:inset 3px 0 0 var(--navy-700)}.stageCardBody{display:grid;grid-template-rows:0fr;transition:grid-template-rows .36s cubic-bezier(.22,1,.36,1)}.stageCardExpanded .stageCardBody{grid-template-rows:1fr}.stageCardBodyInner{overflow:hidden;opacity:0;transform:translateY(-6px);transition:opacity .26s ease,transform .36s cubic-bezier(.22,1,.36,1)}.stageCardExpanded .stageCardBodyInner{opacity:1;transform:translateY(0)}.stageFunctionList{display:grid;gap:.55rem;padding:.72rem .62rem .68rem;position:relative}.stageFunctionList:before{content:"";position:absolute;top:0;left:.62rem;right:.62rem;border-top:1px solid var(--gray-300)}.stageFunctionItem{padding:.52rem .55rem}.stageNoFunctions{margin:0;color:var(--ink-700);padding:.72rem;font-size:.88rem;position:relative}.stageNoFunctions:before{content:"";position:absolute;top:0;left:.62rem;right:.62rem;border-top:1px solid var(--gray-300)}.stageTitle{font-weight:800;font-size:.98rem;line-height:1.25;overflow-wrap:anywhere}.stageDesc{color:var(--ink-700);font-size:.86rem;line-height:1.32;overflow-wrap:anywhere}.stageCount{font-size:.8rem;color:var(--stage-count);font-weight:700}.detailPanel{overflow:hidden;transition:height .36s cubic-bezier(.22,1,.36,1);will-change:height}.detailPanelContent{padding:.88rem;min-height:1px}.contentItem{border:none;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer;display:grid;gap:.2rem;padding:.6rem .65rem}.contentItem:hover{background:var(--surface-muted);outline:1px solid var(--gray-300)}.contentItemActive{background:var(--surface-muted);box-shadow:inset 3px 0 0 var(--navy-700)}.contentMain{display:grid;grid-template-columns:2.1rem 1fr;align-items:start;gap:.3rem}.contentOrder{color:var(--navy-700);font-size:.78rem;font-weight:800;font-family:Space Mono,monospace;line-height:1.15;padding-top:.05rem}.contentName{font-size:.95rem;font-weight:700;line-height:1.28;overflow-wrap:anywhere}.contentMeta{margin:0;color:var(--ink-700);font-size:.84rem;line-height:1.35;overflow-wrap:anywhere}.metaRow{display:flex;flex-wrap:wrap;gap:.35rem}.metaRow span{border:1px solid var(--gray-300);border-radius:999px;background:var(--surface-muted);padding:.16rem .52rem;font-size:.74rem;color:var(--meta-chip-text)}.detailPanel h2{margin:.7rem 0 .5rem;line-height:1.25;overflow-wrap:anywhere}.detailPanel pre{margin:0;border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--pre-bg);padding:.68rem;overflow-x:auto}.detailPanel pre code{font-family:Space Mono,monospace;font-size:.8rem;color:var(--pre-code);white-space:pre-wrap;overflow-wrap:anywhere}.inlineCode{font-family:Space Mono,monospace;font-size:.88em;color:var(--inline-code-color);background:var(--inline-code-bg);border:1px solid var(--inline-code-border);border-radius:6px;padding:.05rem .32rem;white-space:normal}.docSection{margin-top:.85rem}.docSection h3{margin:0 0 .35rem;font-size:1rem}.description,.docParagraph{margin:0;color:var(--body-text);font-size:1rem;line-height:1.5;white-space:pre-line;overflow-wrap:anywhere}.docParagraph+.docParagraph{margin-top:.45rem}.exampleOutputTitle{margin:.6rem 0 .35rem;font-size:1rem;font-weight:700}.plotOutputCard{border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--card-bg);padding:.25rem;overflow:hidden}.plotOutputCanvas{width:100%}.plotOutputCard .modebar{background:var(--plotly-modebar-bg)!important}.plotOutputCard .modebar-btn svg path{fill:var(--plotly-modebar-icon)!important}.plotOutputCard .modebar-btn:hover svg path,.plotOutputCard .modebar-btn.active svg path{fill:var(--plotly-modebar-icon-hover)!important}.plotOutputPlaceholder{margin:0;padding:.75rem;color:var(--ink-700);font-size:.88rem}.outputTableWrap{border:1px solid var(--gray-300);border-radius:var(--radius-sm);background:var(--card-bg);overflow-x:auto}.outputTableWrapWithPrefix{margin-top:.35rem}.outputPrefix{margin:0 0 .4rem}.outputTable{width:100%;border-collapse:collapse;font-family:Space Mono,monospace;font-size:.78rem;color:var(--output-table-text);min-width:44rem}.outputTable th,.outputTable td{padding:.42rem .56rem;border-bottom:1px solid var(--gray-300);text-align:left;vertical-align:top}.outputTable th{background:var(--output-head-bg);font-weight:700}.outputTable tbody tr:last-child td{border-bottom:none}.docList{margin:0;padding-left:1.15rem;color:var(--body-text)}.docList li{line-height:1.45}.docList li+li{margin-top:.25rem}.parameterItem{margin-top:.38rem}.parameterItem:first-child{margin-top:0}.parameterLabel{display:block;font-weight:700}.parameterDetails{display:block;margin-top:.1rem}.decorators{margin:0;padding-left:1.1rem}.decorators li{overflow-wrap:anywhere}.emptyState{margin:0;border:1px dashed var(--gray-300);border-radius:var(--radius-md);background:var(--empty-bg);color:var(--ink-700);padding:.8rem}@media (max-width: 620px){.hero{padding:1.7rem .75rem 0}.themeSwitch{left:.25rem;top:.22rem;transform:none}.themeIcon{width:1.96rem;height:1.96rem}.hero h1{font-size:clamp(2.6rem,19vw,4.8rem)}.pageContent{padding:.72rem}.workspace{grid-template-columns:1fr}.homeCtaRow{flex-direction:row;align-items:center;flex-wrap:nowrap;gap:.4rem;overflow-x:auto;padding-bottom:.08rem}.homePrimaryCta,.homeSecondaryCta{padding:.46rem .72rem;font-size:.88rem;white-space:nowrap}.homeFlowSvg{min-width:301px}.vignetteCard{overflow:hidden}.vignetteEmbed{transform:scale(.7);transform-origin:top left;width:142.9%;min-height:calc((100vh - 160px) / .7)}.homeCodeBlock code,.homeInstallHighlight code,.homeCitationCode code{white-space:pre-wrap}.outputTable{min-width:0}.outputTable thead{display:none}.outputTable,.outputTable tbody,.outputTable tr,.outputTable td{display:block;width:100%}.outputTable tr{padding:.32rem 0;border-bottom:1px solid var(--gray-300)}.outputTable tr:last-child{border-bottom:none}.outputTable td{border:none;padding:.26rem .5rem;display:grid;grid-template-columns:minmax(7rem,34%) 1fr;gap:.45rem;white-space:normal;overflow-wrap:anywhere}.outputTable td:before{content:attr(data-label);font-weight:700;color:var(--mobile-label)}}
