
:root{--ink:#19334a;--muted:#5f6e7b;--accent:#137d80;--line:#dce5e8;--paper:#fbfaf6}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:17px/1.65 system-ui,-apple-system,Segoe UI,sans-serif}
a{color:var(--accent);text-underline-offset:.2em}a:hover{color:#0b4c51}a:focus-visible{outline:3px solid #dc9f30;outline-offset:4px}
.site-nav{display:flex;align-items:center;gap:24px;padding:18px max(24px,calc((100vw - 1100px)/2));border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap}
.site-brand{font-weight:750;color:var(--ink);text-decoration:none;margin-right:auto;white-space:nowrap}.site-nav a{font-size:15px}
.page{max-width:1100px;margin:0 auto;padding:65px 26px 55px}h1,h2,h3{color:var(--ink);line-height:1.18}h1{font-family:Georgia,serif;font-size:clamp(36px,6vw,62px);font-weight:500;letter-spacing:-.035em;margin:10px 0 24px}h2{font-size:27px;margin-top:45px}h3{font-size:20px}
.eyebrow{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700}.lead{font-size:21px;max-width:760px;color:var(--muted)}.cards{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin:38px 0}.card{display:block;background:#fff;padding:30px;border:1px solid var(--line);border-radius:12px;text-decoration:none;color:var(--ink)}.card:hover{border-color:var(--accent)}.card p{color:var(--muted);margin-bottom:0}.card .arrow{color:var(--accent);font-size:25px}
.steps{padding-left:24px}.steps li{margin:14px 0}.note{padding:17px 21px;border-left:3px solid var(--accent);background:#eef5f3;color:#365560}.small{font-size:14px;color:var(--muted)}footer{max-width:1100px;margin:auto;padding:25px 26px 40px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.87em}pre{overflow:auto;font-size:14px;line-height:1.55;padding:22px;border:1px solid var(--line);border-radius:8px;background:#fff}.function{margin:45px 0}.source-links{display:flex;gap:20px;flex-wrap:wrap}.jump-links{display:flex;gap:12px;flex-wrap:wrap}.jump-links a{font-size:14px;padding:6px 12px;background:#fff;border:1px solid var(--line);border-radius:6px}
body.notebook-page{background:var(--paper)!important}.notebook-page .jp-Notebook{max-width:1100px!important;margin:auto!important;background:transparent!important;padding:32px 24px!important}.notebook-page .jp-InputArea-editor{background:#fff!important;border:1px solid var(--line)!important;border-radius:7px}.notebook-page .jp-MarkdownCell{font-size:17px}.notebook-page .jp-RenderedHTMLCommon h1{font-family:Georgia,serif;font-size:38px!important}.notebook-page .jp-OutputArea-output img{max-width:100%;height:auto}.notebook-intro{max-width:1100px;margin:30px auto 0;padding:0 26px}.notebook-page .jp-RenderedText pre{white-space:pre-wrap}.notebook-page .jp-Cell{margin-bottom:20px}
@media(max-width:700px){.cards{grid-template-columns:1fr}.page{padding:35px 20px}.site-nav{gap:14px;padding:15px 20px}.lead{font-size:18px}pre{padding:14px;font-size:12px}.notebook-page .jp-Notebook{padding:18px 8px!important}}

pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight { background: #f8f8f8; }
.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
.highlight .err { border: 1px solid #F00 } /* Error */
.highlight .k { color: #008000; font-weight: bold } /* Keyword */
.highlight .o { color: #666 } /* Operator */
.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
.highlight .cp { color: #9C6500 } /* Comment.Preproc */
.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
.highlight .gd { color: #A00000 } /* Generic.Deleted */
.highlight .ge { font-style: italic } /* Generic.Emph */
.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
.highlight .gr { color: #E40000 } /* Generic.Error */
.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
.highlight .gi { color: #008400 } /* Generic.Inserted */
.highlight .go { color: #717171 } /* Generic.Output */
.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
.highlight .gs { font-weight: bold } /* Generic.Strong */
.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
.highlight .gt { color: #04D } /* Generic.Traceback */
.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
.highlight .kp { color: #008000 } /* Keyword.Pseudo */
.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
.highlight .kt { color: #B00040 } /* Keyword.Type */
.highlight .m { color: #666 } /* Literal.Number */
.highlight .s { color: #BA2121 } /* Literal.String */
.highlight .na { color: #687822 } /* Name.Attribute */
.highlight .nb { color: #008000 } /* Name.Builtin */
.highlight .nc { color: #00F; font-weight: bold } /* Name.Class */
.highlight .no { color: #800 } /* Name.Constant */
.highlight .nd { color: #A2F } /* Name.Decorator */
.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
.highlight .nf { color: #00F } /* Name.Function */
.highlight .nl { color: #767600 } /* Name.Label */
.highlight .nn { color: #00F; font-weight: bold } /* Name.Namespace */
.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
.highlight .nv { color: #19177C } /* Name.Variable */
.highlight .ow { color: #A2F; font-weight: bold } /* Operator.Word */
.highlight .w { color: #BBB } /* Text.Whitespace */
.highlight .mb { color: #666 } /* Literal.Number.Bin */
.highlight .mf { color: #666 } /* Literal.Number.Float */
.highlight .mh { color: #666 } /* Literal.Number.Hex */
.highlight .mi { color: #666 } /* Literal.Number.Integer */
.highlight .mo { color: #666 } /* Literal.Number.Oct */
.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
.highlight .sc { color: #BA2121 } /* Literal.String.Char */
.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
.highlight .sx { color: #008000 } /* Literal.String.Other */
.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
.highlight .ss { color: #19177C } /* Literal.String.Symbol */
.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
.highlight .fm { color: #00F } /* Name.Function.Magic */
.highlight .vc { color: #19177C } /* Name.Variable.Class */
.highlight .vg { color: #19177C } /* Name.Variable.Global */
.highlight .vi { color: #19177C } /* Name.Variable.Instance */
.highlight .vm { color: #19177C } /* Name.Variable.Magic */
.highlight .il { color: #666 } /* Literal.Number.Integer.Long *//* Documentation layout */
:root{--ink:#243746;--muted:#61707b;--accent:#147d83;--line:#e3e8ed;--paper:#fff}
html{scroll-padding-top:24px}body{background:#fff;font-size:16px;line-height:1.75;color:var(--ink)}
.skip-link{position:fixed;left:270px;top:-60px;z-index:9;background:white;padding:10px}.skip-link:focus{top:8px}
.docs-sidebar{position:fixed;inset:0 auto 0 0;width:264px;background:#f5f7fa;border-right:1px solid var(--line);padding:30px 22px;overflow:auto;z-index:3}
.docs-brand{display:flex;gap:12px;align-items:center;color:#213848;text-decoration:none;font-weight:750;font-size:18px;line-height:1.3}.docs-brand small{display:block;font-size:12px;color:var(--muted);font-weight:450;margin-top:4px;letter-spacing:.03em}.brand-mark{background:#137d80;color:white;padding:12px 8px;border-radius:7px;font-weight:650;font-size:19px}
.docs-sidebar nav{margin-top:32px}.nav-group{font-size:11px;text-transform:uppercase;letter-spacing:.1em;font-weight:750;color:#75808c;margin:24px 12px 7px}.docs-sidebar nav a{display:block;padding:7px 12px;margin:3px 0;text-decoration:none;color:#425565;font-size:14px;border-radius:5px}.docs-sidebar nav a:hover{background:#e9eef1;color:#126f75}.docs-sidebar nav a.active{background:#e0eeee;color:#126d72;font-weight:650;border-left:3px solid #147d83;padding-left:9px}.sidebar-note{font-size:11px;line-height:1.7;color:#7b8790;padding:20px 12px 0}
.doc-heading{margin-left:264px;border-bottom:1px solid var(--line);min-height:65px;padding:19px 42px;display:flex;gap:16px;justify-content:space-between;color:#7c8790;font-size:12px}.doc-heading span span{padding:0 9px;color:#b3bdc4}.doc-heading a{color:#647780;text-decoration:none;white-space:nowrap}
.page,.notebook-page main.page{max-width:1020px;margin:0 auto 0 max(264px,calc((100vw - 264px - 1020px)/2 + 264px));padding:44px 44px 64px;min-width:0}
h1,.notebook-page .jp-RenderedHTMLCommon h1{font:650 38px/1.2 system-ui,-apple-system,Segoe UI,sans-serif!important;letter-spacing:-.025em!important;margin:10px 0 24px!important}h2{font-size:25px;border-bottom:1px solid var(--line);padding-bottom:10px;margin-top:42px}h3{font-size:18px;margin-top:28px}.eyebrow{font-size:11px}.lead{font-size:19px;line-height:1.65;max-width:780px}.cards{gap:18px;margin:30px 0}.card{padding:24px;border-radius:6px}.card h2{font-size:20px;border:0;margin-top:15px;padding:0}.card .arrow{font-size:12px;font-weight:650}.card p{font-size:15px}.note{font-size:14px;background:#f0f6f6;border-radius:0 4px 4px 0}.page p{max-width:100%}
pre{font-size:13px;line-height:1.65;background:#f7f9fb;padding:18px;border-radius:5px}.highlight pre{margin:0}.function h2 code{font-size:.82em}.signature{padding:12px 15px;background:#f0f5f8;border-left:3px solid #b2c4d0;overflow-x:auto;font-size:13px}.signature code{white-space:pre}.function-title{font-weight:600}.source-details{border:1px solid var(--line);border-radius:5px;margin-top:12px;overflow:hidden}.source-details summary{padding:10px 16px;color:#276f77;cursor:pointer;font-size:14px}.source-details pre{border:0;border-top:1px solid var(--line);margin:0;border-radius:0}.call-path{padding:20px;background:#f7f9fb;border:1px solid var(--line);border-radius:5px;line-height:2}.call-path span{padding-left:20px;font-size:14px}.page-next{border-top:1px solid var(--line);padding-top:20px;margin-top:50px;text-align:right;font-size:14px}
footer{max-width:1020px;margin:0 auto 0 max(264px,calc((100vw - 264px - 1020px)/2 + 264px));padding:26px 44px 36px;font-size:12px}.notebook-page{padding:0!important}.notebook-intro{margin:0 auto 0 264px;padding:24px 44px 0;font-size:12px}.notebook-page .jp-MarkdownCell{font-size:16px}.notebook-page .jp-Cell{padding:0!important;min-width:0!important}.notebook-page .jp-InputArea-editor{border-radius:5px;background:#f7f9fb!important}.notebook-page .jp-InputArea-editor pre{border:0;background:transparent;font-size:12px!important}.notebook-page .jp-RenderedHTMLCommon{color:var(--ink);line-height:1.75!important}.notebook-page .jp-RenderedHTMLCommon h2{font-size:25px!important;border-bottom:1px solid var(--line);padding-bottom:10px}.notebook-page .jp-OutputArea-output img{display:block;max-width:100%;height:auto}.notebook-page .jp-InputPrompt,.notebook-page .jp-OutputPrompt{display:none!important}
@media(min-width:1700px){.page,.notebook-page main.page,footer{margin-left:calc(264px + (100vw - 264px - 1020px)/2)}}
@media(max-width:850px){.docs-sidebar{position:static;width:auto;padding:20px 20px 12px;border-right:0;border-bottom:1px solid var(--line)}.docs-sidebar nav{display:flex;flex-wrap:wrap;gap:2px;margin-top:16px}.docs-sidebar nav a{font-size:12px;padding:5px 9px}.docs-sidebar nav a.active{padding-left:6px}.nav-group,.sidebar-note{display:none}.doc-heading{margin-left:0;padding:14px 20px;font-size:11px}.page,.notebook-page main.page,footer{margin:0;padding:30px 20px;max-width:100%}.notebook-intro{margin:0;padding:20px 20px 0}.skip-link{left:10px}.cards{grid-template-columns:1fr}h1,.notebook-page .jp-RenderedHTMLCommon h1{font-size:30px!important}.lead{font-size:17px}.function h2{overflow-wrap:anywhere}.call-path{padding:12px;font-size:13px}.call-path span{padding-left:0}footer{font-size:11px}}
