/* Scikit-learn-inspired documentation, using the existing MkDocs runtime. */
:root {
  --docs-accent: #0865a0;
  --docs-orange: #f89939;
  --docs-soft: #f2f6fa;
  --docs-muted: #52616b;
  --bs-body-color: #222832;
  --bs-body-bg: #fff;
  --bs-border-color: #d8dee4;
  --bs-font-sans-serif: "Open Sans", "Segoe UI", Arial, sans-serif;
  --bs-font-monospace: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}
[data-bs-theme="dark"] {
  --docs-accent: #79bce8;
  --docs-soft: #252d38;
  --docs-muted: #b3bdca;
  --bs-body-color: #e5e7eb;
  --bs-body-bg: #161b22;
  --bs-border-color: #3b4553;
}
body { font-family: var(--bs-font-sans-serif); font-size: 16px; line-height: 1.65; color: var(--bs-body-color); background: var(--bs-body-bg); }
body::before { display: none; }
a { color: var(--docs-accent); text-decoration: none; text-underline-offset: .2em; }
a:hover { color: var(--docs-accent); text-decoration: underline; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 3px solid var(--docs-orange); outline-offset: 3px; }
.navbar.fixed-top { background: var(--bs-body-bg) !important; border-bottom: 1px solid var(--bs-border-color); box-shadow: 0 1px 4px #0000000a; padding: .6rem 0; }
.navbar > .container { max-width: 1480px; }
.navbar-brand { color: var(--bs-body-color) !important; font-size: 1.5rem; font-weight: 700; letter-spacing: -.04em; border-bottom: 3px solid var(--docs-orange); margin-right: 2rem; }
.navbar .nav-link { color: var(--bs-body-color); font-size: .95rem; padding: .5rem .75rem !important; }
.navbar .nav-link:hover, .navbar .nav-link.active { color: var(--docs-accent); }
.navbar .nav-link.active { box-shadow: inset 0 -3px var(--docs-orange); }
body > .container { max-width: 1480px; margin-top: 0; }
body > .container > .row { display: grid; grid-template-columns: 250px minmax(0, 1fr) 220px; gap: 0; }
.docs-navigation, .docs-toc { position: sticky; top: 80px; align-self: start; max-height: calc(100vh - 90px); overflow-y: auto; padding: 1.5rem 1rem; font-size: .875rem; }
.docs-navigation { border-right: 1px solid var(--bs-border-color); }
.docs-nav-panel { border: 0; background: transparent; padding: 0; margin: 0; color: inherit; }
.docs-nav-panel > summary { font-size: 1rem; margin-bottom: 1rem; cursor: pointer; }
.docs-navigation ul { list-style: none; padding: 0; margin: 0; }
.docs-navigation ul ul { margin: .25rem 0 .75rem .5rem; }
.docs-navigation a { display: block; padding: .25rem .65rem; color: var(--docs-muted); border-left: 3px solid transparent; }
.docs-navigation a.current { color: var(--docs-accent); border-left-color: var(--docs-orange); background: var(--docs-soft); font-weight: 600; }
.docs-nav-group { display: block; font-weight: 600; padding: .6rem .65rem .1rem; }
.docs-content { min-width: 0; padding: 2rem 2.75rem 3rem; }
.docs-breadcrumb { color: var(--docs-muted); font-size: .85rem; margin-bottom: 1.5rem; }
h1, h2, h3, h4 { font-weight: 600; line-height: 1.3; letter-spacing: -.025em; }
h1 { font-size: 2.5rem; margin: 0 0 1.5rem; }
h2 { font-size: 1.8rem; margin: 2.25rem 0 1rem; }
h3 { font-size: 1.35rem; margin: 1.75rem 0 .8rem; }
p, ul, ol { margin-bottom: 1rem; }
.docs-toc { border-left: 1px solid var(--bs-border-color); }
.docs-toc-title { font-weight: 600; margin-bottom: .5rem; }
.bs-sidebar.affix { position: static; }
.bs-sidebar .navbar-header { display: none; }
#toc-collapse { display: block; border: 0; background: transparent !important; }
.bs-sidebar .nav > li > a { color: var(--docs-muted); font-weight: 400; padding: .25rem .5rem; border-right: 0; border-left: 2px solid transparent; }
.bs-sidebar .nav > li > a.active { color: var(--docs-accent); border-right: 0; border-left: 2px solid var(--docs-orange); }
.bs-sidebar .nav .nav { margin-left: .5rem; }
.docs-edit { display: block; border-top: 1px solid var(--bs-border-color); margin-top: 1.5rem; padding-top: 1rem; }
code { font-size: .875em; color: var(--bs-body-color); background: var(--docs-soft); border: 0; border-radius: 3px; padding: .15em .3em; }
pre { padding: 1rem 1.25rem; border: 1px solid var(--bs-border-color); border-radius: 3px; background: var(--docs-soft); line-height: 1.5; }
pre code, pre code.hljs { font-size: .875rem; background: transparent; padding: 0; }
table { width: 100%; font-size: .9rem; display: block; overflow-x: auto; margin: 1.5rem 0; }
th, td { padding: .65rem .85rem !important; border-bottom: 1px solid var(--bs-border-color); }
th { background: var(--docs-soft) !important; font-weight: 600; }
.admonition { border: 1px solid var(--bs-border-color); border-left: 4px solid var(--docs-accent); border-radius: 3px; background: var(--docs-soft); padding: 1rem; }
.api-signature { background: var(--docs-soft); border-top: 3px solid var(--docs-accent); padding: 1rem; margin: 1rem 0 1.5rem; }
.api-signature pre { border: 0; background: transparent; margin: 0; padding: 0; }
.api-keyword { color: var(--docs-accent); font-weight: 600; }
.api-module, .api-field-type { color: var(--docs-muted); }
.api-name { font-weight: 700; }
.api-source { display: block; text-align: right; font-size: .8rem; }
.api-fields dt { margin-top: 1rem; display: flex; flex-wrap: wrap; gap: .4rem; align-items: baseline; }
.api-field-name { font-weight: 700; }
.api-field-type { font-family: var(--bs-font-sans-serif); font-size: .9rem; font-weight: 400; }
.api-fields dd { margin: .4rem 0 1.25rem 1.5rem; }
.api-method-title { border-top: 1px solid var(--bs-border-color); padding-top: 1.5rem; margin-top: 2.5rem; font-family: var(--bs-font-monospace); font-size: 1.2rem; }
.api-class-body { margin-inline-start: 1.25rem; }
.api-method-body {
  margin-inline-start: 1.25rem;
  padding-inline-start: 1rem;
  border-inline-start: 1px solid var(--bs-border-color);
}
.api-class-body .api-fields { margin: 1rem 0 1.75rem 1rem; }
.api-fields dt { column-gap: .6rem; row-gap: .15rem; }
.api-fields dd { margin-inline-start: 1.5rem; padding-top: .15rem; }
.api-fields dd p { margin-bottom: .5rem; }
.api-method-body h4 { font-size: 1.05rem; margin: 1.5rem 0 .75rem; }
.api-field-name, .api-field-type { overflow-wrap: anywhere; }
@media (max-width: 575px) {
  .api-class-body { margin-inline-start: .5rem; }
  .api-method-body { margin-inline-start: .25rem; padding-inline-start: .65rem; }
  .api-class-body .api-fields { margin-inline-start: .25rem; }
  .api-fields dd { margin-inline-start: .75rem; }
}
.docs-pagination { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; border-top: 1px solid var(--bs-border-color); margin-top: 3rem; padding-top: 1.5rem; }
.docs-pagination a[rel="next"] { margin-left: auto; }
.docs-skip { position: fixed; top: -100px; left: 1rem; z-index: 1100; padding: .5rem 1rem; background: var(--bs-body-bg); }
.docs-skip:focus { top: .5rem; }
footer { font-size: .85rem; color: var(--docs-muted); }
.docs-hero { border-bottom: 1px solid var(--bs-border-color); padding-bottom: 1.75rem; }
.docs-hero h1 { font-size: 3rem; margin-bottom: .5rem; }
.docs-hero .lead { font-size: 1.35rem; font-weight: 400; color: var(--docs-muted); }
.docs-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.docs-actions a { border: 1px solid var(--docs-accent); border-radius: 4px; padding: .5rem 1rem; font-weight: 600; }
.docs-actions a:first-child { background: var(--docs-accent); color: var(--bs-body-bg); }
.docs-topics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; margin: 1.5rem 0; }
.docs-topic { border-top: 3px solid var(--docs-orange); padding-top: .75rem; }
.docs-topic h3 { margin-top: 0; }
@media (min-width: 992px) { .docs-nav-panel > summary { list-style: none; pointer-events: none; } }
@media (max-width: 1199px) { body > .container > .row { grid-template-columns: 230px minmax(0, 1fr); } .docs-toc { display: none; } .docs-content { padding: 2rem; } }
@media (max-width: 991px) { body > .container > .row { grid-template-columns: minmax(0, 1fr); } .docs-navigation { position: static; max-height: none; border-right: 0; border-bottom: 1px solid var(--bs-border-color); } .docs-nav-panel nav { max-height: 16rem; overflow-y: auto; } .docs-content { padding: 1.5rem 1rem; } h1 { font-size: 2rem; } .docs-hero h1 { font-size: 2.5rem; } }
@media (max-width: 575px) { .docs-topics { grid-template-columns: 1fr; } }
@media print { .navbar, .docs-navigation, .docs-toc, .docs-pagination, .docs-skip { display: none; } body > .container > .row { display: block; } .docs-content { padding: 0; } }
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; } }
