@import url("site-brand.css");

:root { --docs-header-height: 84px; }
body.docs-page { margin: 0; font-size: 15px; line-height: 1.7; }
[hidden] { display: none !important; }
button, input { font: inherit; color: inherit; }
a { color: #167e70; text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: #0e5b51; }
:focus-visible { outline: 2px solid #239583; outline-offset: 4px; }
.docs-header { position: sticky; top: 0; z-index: 10; padding: 28px 40px; background: #f0f2f3; border-bottom: 1px solid #dce2e4; }
.skip-link { position: fixed; top: 8px; left: 12px; z-index: 40; padding: 10px 16px; background: white; transform: translateY(-150%); }
.skip-link:focus { transform: translateY(0); }
.docs-layout { display: grid; grid-template-columns: 236px minmax(0, 1fr); gap: 48px; padding: 0 40px; max-width: 1760px; margin: 0 auto; }
#left-sidebar { position: sticky; top: var(--docs-header-height); height: calc(100svh - var(--docs-header-height)); overflow: auto; padding: 32px 8px 40px 0; scrollbar-width: thin; scrollbar-color: #cbd3d6 transparent; }
.docs-search { display: flex; align-items: center; gap: 9px; min-width: 0; padding: 9px 10px; border: 1px solid #cdd6d9; border-radius: 4px; }
.docs-search svg { width: 16px; height: 16px; flex: none; color: #59646c; }
.docs-search input { min-width: 0; width: 100%; border: 0; background: transparent; outline: none; font-size: 12px; padding: 0; }
.docs-search:focus-within { outline: 2px solid #239583; outline-offset: 2px; }
.docs-navigation { font-size: 13px; line-height: 1.5; padding-top: 22px; }
.docs-navigation ul { list-style: none; margin: 0; padding: 0; }
.docs-navigation ul ul { padding-left: 12px; margin: 5px 0 12px; }
.docs-navigation li { margin: 2px 0; }
.docs-navigation a { display: block; padding: 5px 0; color: #59646c; text-decoration: none; overflow-wrap: anywhere; }
.docs-navigation a:hover, .docs-navigation a.current { color: #167e70; }
.docs-navigation a.current { font-weight: 600; }
.docs-navigation .caption { font-size: 12px; font-weight: 600; color: #171c20; margin: 20px 0 8px; }
.reference-links { display: flex; gap: 18px; padding-top: 16px; margin-top: 16px; border-top: 1px solid #dce2e4; font-size: 12px; }
.docs-main { min-width: 0; padding: 36px 0 64px; }
.docs-main:has(#right-sidebar) { display: grid; grid-template-columns: minmax(0, 1fr) 188px; gap: 48px; }
.docs-main > div, .docs-article { min-width: 0; }
.docs-article { max-width: 900px; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 4px 8px; font-size: 12px; line-height: 1.5; color: #78838b; margin-bottom: 28px; overflow-wrap: anywhere; }
.breadcrumbs a { color: #59646c; text-decoration: none; }
#content { min-width: 0; overflow-wrap: anywhere; }
#content h1, #content h2, #content h3, #content h4 { color: #171c20; font-weight: 550; line-height: 1.3; letter-spacing: 0; }
#content h1 { font-size: 32px; margin: 0 0 28px; }
#content h2 { font-size: 24px; margin: 44px 0 16px; }
#content h3 { font-size: 20px; margin: 32px 0 12px; }
#content h4, #content .rubric { font-size: 17px; margin: 24px 0 10px; }
#content p { margin: 14px 0; }
#content ul, #content ol { padding-left: 24px; margin: 16px 0; }
#content li { margin: 7px 0; }
#content li p { margin: 6px 0; }
#content ul ul, #content ol ol { margin: 6px 0; }
#content :is(section, [id]) { scroll-margin-top: calc(var(--docs-header-height) + 24px); }
#content img { max-width: 100%; height: auto; }
#content figure { margin: 24px 0; }
#content figcaption { color: #59646c; font-size: 13px; }
#content code, #content pre, #content .sig { font-family: Consolas, "Liberation Mono", monospace; font-size: 13px; }
#content code.literal { padding: 2px 4px; background: #e4eaec; border-radius: 3px; }
#content .highlight { position: relative; margin: 22px 0; background: #e5eaec; border-radius: 4px; }
#content pre { overflow: auto; white-space: pre; line-height: 1.7; padding: 18px 48px 18px 18px; margin: 0; scrollbar-width: thin; }
#content .highlight pre { background: transparent; }
#content pre a { text-decoration: none; }
#content .sig { display: block; padding: 14px 16px; border-left: 2px solid #b1c5c5; background: #e5eaec; overflow-wrap: anywhere; }
#content .sig-name { font-weight: 700; }
#content .sig-param { white-space: normal; }
#content dl { margin: 24px 0; }
#content dd { margin: 12px 0 24px 20px; }
#content dl.field-list { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 8px 16px; }
#content dl.field-list dt { font-weight: 600; }
#content dl.field-list dd { margin: 0; }
#content dl.field-list p { margin: 0 0 8px; }
#content .headerlink { margin-left: 6px; text-decoration: none; }
#content .viewcode-link { float: right; font: 11px Consolas, monospace; }
#content .viewcode-block { scroll-margin-top: calc(var(--docs-header-height) + 24px); }
#content table { border-collapse: collapse; width: 100%; margin: 24px 0; font-size: 13px; }
#content th, #content td { border-bottom: 1px solid #d4dcdf; text-align: left; padding: 10px 12px; vertical-align: top; }
#content th { font-weight: 600; }
#content td:first-child, #content th:first-child { padding-left: 0; }
#content .indextable:not(.modindextable) td { width: 50% !important; }
#content .modindextable { table-layout: fixed; }
#content .modindextable td:first-child { width: 24px; }
#content .modindextable td:last-child { width: 12%; }
#content .indextable li { margin: 5px 0; }
#content .admonition { padding: 14px 18px; margin: 24px 0; background: #e4edeb; border-left: 3px solid #86b6a4; }
#content .admonition-title { font-weight: 600; margin-top: 0; }
#content .warning, #content .caution { background: #f5efd9; border-color: #c8af5d; }
#content blockquote { padding-left: 20px; margin-left: 0; border-left: 2px solid #bcc9cc; color: #59646c; }
#content hr { border: 0; border-top: 1px solid #d4dcdf; margin: 32px 0; }
#content .footnote { font-size: 13px; }
#content .search { list-style: none; padding: 0; }
#content .search > li { padding: 18px 0; border-bottom: 1px solid #dce2e4; }
#content .search li > a { font-size: 18px; }
#content .context { color: #59646c; }
#content .highlighted { background: #f1df99; }
#right-sidebar { position: sticky; top: calc(var(--docs-header-height) + 32px); align-self: start; max-height: calc(100svh - var(--docs-header-height) - 64px); overflow: auto; font-size: 12px; line-height: 1.5; scrollbar-width: thin; }
#right-sidebar p { color: #171c20; font-weight: 600; margin: 0 0 14px; }
#right-sidebar ul { list-style: none; margin: 0; padding: 0; }
#right-sidebar ul ul { padding-left: 10px; }
#right-sidebar a { display: block; color: #78838b; text-decoration: none; padding: 5px 0; overflow-wrap: anywhere; }
#right-sidebar a:hover { color: #167e70; }
.icon-button { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; flex: none; padding: 0; color: #59646c; border: 0; background: transparent; cursor: pointer; }
.icon-button svg { width: 18px; height: 18px; }
.icon-button:hover { color: #167e70; }
.copy-code { position: absolute; top: 8px; right: 8px; }
.docs-toolbar { display: none; }
.docs-footer { padding: 24px 40px 32px; color: #78838b; font-size: 12px; border-top: 1px solid #dce2e4; }
.docs-footer p { margin: 0; }
.docs-footer a { color: inherit; }
dialog { padding: 24px; border: 0; background: #f0f2f3; color: #171c20; width: min(360px, calc(100% - 32px)); max-height: calc(100svh - 32px); margin: 16px auto 16px 16px; border-radius: 4px; overflow: auto; }
dialog::backdrop { background: rgb(23 28 32 / 35%); }
.dialog-heading { display: flex; align-items: center; justify-content: space-between; font-size: 15px; font-weight: 550; }
@media (max-width: 1199px) {
  .docs-layout { gap: 32px; grid-template-columns: 216px minmax(0, 1fr); }
  .docs-main:has(#right-sidebar) { display: block; }
  #right-sidebar { display: none; }
}
@media (max-width: 800px) {
  .docs-header { position: relative; padding: 22px 20px; }
  .docs-layout { display: block; padding: 0 20px; }
  #left-sidebar { display: none; }
  .docs-toolbar { display: flex; align-items: center; gap: 12px; padding: 16px 20px 0; }
  .docs-toolbar .docs-search { flex: 1; }
  .docs-main { padding-top: 28px; }
  #content h1 { font-size: 28px; }
  #content h2 { font-size: 22px; }
  #content dd { margin-left: 10px; }
  #content dl.field-list { grid-template-columns: minmax(0, 1fr); gap: 4px; }
  #content dl.field-list dd { margin-bottom: 12px; }
  #content .sig { padding: 12px; }
  #content .viewcode-link { float: none; margin-left: 8px; }
  #content .indextable:not(.modindextable) td { display: block; width: 100% !important; }
  .docs-footer { padding: 20px; }
}
