html {
     -webkit-text-size-adjust: 100%;
     line-height: 1.15
 }

 body { margin: 0 }

 main { display: block }

 h1 {
     font-size: 2em;
     margin: .67em 0
 }

 hr {
     box-sizing: content-box;
     height: 0;
     overflow: visible
 }

 pre {
     font-family: monospace, monospace;
     font-size: 1em
 }

 a { background-color: transparent }

 abbr[title] {
     border-bottom: none;
     text-decoration: underline;
     text-decoration: underline dotted
 }

 b, strong { font-weight: bolder }

 code, kbd, samp {
     font-family: monospace, monospace;
     font-size: 1em
 }

 sub, sup {
     font-size: 75%;
     line-height: 0;
     position: relative;
     vertical-align: baseline
 }

 sub { bottom: -.25em }

 sup { top: -.5em }

 img { border-style: none }

 button, input, optgroup, select, textarea {
     font-family: inherit;
     font-size: 100%;
     line-height: 1.15;
     margin: 0
 }

 button, input { overflow: visible }

 button, select { text-transform: none }

 [type=button], [type=reset], [type=submit], button { -webkit-appearance: button }

 [type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
     border-style: none;
     padding: 0
 }

 [type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring { outline: 1px dotted ButtonText }

 fieldset { padding: .35em .75em .625em }

 legend {
     box-sizing: border-box;
     color: inherit;
     display: table;
     max-width: 100%;
     padding: 0;
     white-space: normal
 }

 progress { vertical-align: baseline }

 textarea { overflow: auto }

 [type=checkbox], [type=radio] {
     box-sizing: border-box;
     padding: 0
 }

 [type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button { height: auto }

 [type=search] {
     -webkit-appearance: textfield;
     outline-offset: -2px
 }

 [type=search]::-webkit-search-decoration { -webkit-appearance: none }

 ::-webkit-file-upload-button {
     -webkit-appearance: button;
     font: inherit
 }

 details { display: block }

 summary { display: list-item }

 [hidden], template { display: none }

 @media print {
     .content-icon-container, .headerlink, .mobile-header, .related-pages { display: none !important }

     .highlight { border: .1pt solid var(--color-foreground-border) }

     a, blockquote, dl, ol, pre, table, ul { page-break-inside: avoid }

     caption, figure, h1, h2, h3, h4, h5, h6, img {
         page-break-after: avoid;
         page-break-inside: avoid
     }

     dl, ol, ul { page-break-before: avoid }
 }

 .visually-hidden {
     border: 0 !important;
     clip: rect(0, 0, 0, 0) !important;
     height: 1px !important;
     margin: -1px !important;
     overflow: hidden !important;
     padding: 0 !important;
     position: absolute !important;
     white-space: nowrap !important;
     width: 1px !important
 }

 :-moz-focusring { outline: auto }

 body {
     --font-stack:-apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial, sans-serif, Apple Color Emoji, Segoe UI Emoji;
     --font-stack--monospace:"SFMono-Regular", Menlo, Consolas, Monaco, Liberation Mono, Lucida Console, monospace;
     --font-size--normal:100%;
     --font-size--small:87.5%;
     --font-size--small--2:81.25%;
     --font-size--small--3:75%;
     --font-size--small--4:62.5%;
     --sidebar-caption-font-size:var(--font-size--small--2);
     --sidebar-item-font-size:var(--font-size--small);
     --sidebar-search-input-font-size:var(--font-size--small);
     --toc-font-size:var(--font-size--small--3);
     --toc-font-size--mobile:var(--font-size--normal);
     --toc-title-font-size:var(--font-size--small--4);
     --admonition-font-size:0.8125rem;
     --admonition-title-font-size:0.8125rem;
     --code-font-size:var(--font-size--small--2);
     --api-font-size:var(--font-size--small);
     --header-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical) * 4);
     --header-padding:0.5rem;
     --sidebar-tree-space-above:1.5rem;
     --sidebar-caption-space-above:1rem;
     --sidebar-item-line-height:1rem;
     --sidebar-item-spacing-vertical:0.5rem;
     --sidebar-item-spacing-horizontal:1rem;
     --sidebar-item-height:calc(var(--sidebar-item-line-height) + var(--sidebar-item-spacing-vertical) * 2);
     --sidebar-expander-width:var(--sidebar-item-height);
     --sidebar-search-space-above:0.5rem;
     --sidebar-search-input-spacing-vertical:0.5rem;
     --sidebar-search-input-spacing-horizontal:0.5rem;
     --sidebar-search-input-height:1rem;
     --sidebar-search-icon-size:var(--sidebar-search-input-height);
     --toc-title-padding:0.25rem 0;
     --toc-spacing-vertical:1.5rem;
     --toc-spacing-horizontal:1.5rem;
     --toc-item-spacing-vertical:0.4rem;
     --toc-item-spacing-horizontal:1rem;
     --icon-search:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" stroke-width="1.5" stroke="currentColor" fill="none" stroke-linecap="round" stroke-linejoin="round"><path d="M0 0h24v24H0z" stroke="none"/><circle cx="10" cy="10" r="7"/><path d="m21 21-6-6"/></svg>');
     --icon-pencil:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.71 7.04c.39-.39.39-1.04 0-1.41l-2.34-2.34c-.37-.39-1.02-.39-1.41 0l-1.84 1.83 3.75 3.75M3 17.25V21h3.75L17.81 9.93l-3.75-3.75L3 17.25z"/></svg>');
     --icon-abstract:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M4 5h16v2H4V5m0 4h16v2H4V9m0 4h16v2H4v-2m0 4h10v2H4v-2z"/></svg>');
     --icon-info:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 9h-2V7h2m0 10h-2v-6h2m-1-9A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10A10 10 0 0 0 12 2z"/></svg>');
     --icon-flame:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M17.55 11.2c-.23-.3-.5-.56-.76-.82-.65-.6-1.4-1.03-2.03-1.66C13.3 7.26 13 4.85 13.91 3c-.91.23-1.75.75-2.45 1.32-2.54 2.08-3.54 5.75-2.34 8.9.04.1.08.2.08.33 0 .22-.15.42-.35.5-.22.1-.46.04-.64-.12a.83.83 0 0 1-.15-.17c-1.1-1.43-1.28-3.48-.53-5.12C5.89 10 5 12.3 5.14 14.47c.04.5.1 1 .27 1.5.14.6.4 1.2.72 1.73 1.04 1.73 2.87 2.97 4.84 3.22 2.1.27 4.35-.12 5.96-1.6 1.8-1.66 2.45-4.32 1.5-6.6l-.13-.26c-.2-.46-.47-.87-.8-1.25l.05-.01m-3.1 6.3c-.28.24-.73.5-1.08.6-1.1.4-2.2-.16-2.87-.82 1.19-.28 1.89-1.16 2.09-2.05.17-.8-.14-1.46-.27-2.23-.12-.74-.1-1.37.18-2.06.17.38.37.76.6 1.06.76 1 1.95 1.44 2.2 2.8.04.14.06.28.06.43.03.82-.32 1.72-.92 2.27h.01z"/></svg>');
     --icon-question:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m15.07 11.25-.9.92C13.45 12.89 13 13.5 13 15h-2v-.5c0-1.11.45-2.11 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41a2 2 0 0 0-2-2 2 2 0 0 0-2 2H8a4 4 0 0 1 4-4 4 4 0 0 1 4 4 3.2 3.2 0 0 1-.93 2.25M13 19h-2v-2h2M12 2A10 10 0 0 0 2 12a10 10 0 0 0 10 10 10 10 0 0 0 10-10c0-5.53-4.5-10-10-10z"/></svg>');
     --icon-warning:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14h-2v-4h2m0 8h-2v-2h2M1 21h22L12 2 1 21z"/></svg>');
     --icon-failure:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 2c5.53 0 10 4.47 10 10s-4.47 10-10 10S2 17.53 2 12 6.47 2 12 2m3.59 5L12 10.59 8.41 7 7 8.41 10.59 12 7 15.59 8.41 17 12 13.41 15.59 17 17 15.59 13.41 12 17 8.41 15.59 7z"/></svg>');
     --icon-spark:url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="m11.5 20 4.86-9.73H13V4l-5 9.73h3.5V20M12 2c2.75 0 5.1 1 7.05 2.95C21 6.9 22 9.25 22 12s-1 5.1-2.95 7.05C17.1 21 14.75 22 12 22s-5.1-1-7.05-2.95C3 17.1 2 14.75 2 12s1-5.1 2.95-7.05C6.9 3 9.25 2 12 2z"/></svg>');
     --color-admonition-title--caution:#ff9100;
     --color-admonition-title-background--caution:rgba(255, 145, 0, .2);
     --color-admonition-title--warning:#ff9100;
     --color-admonition-title-background--warning:rgba(255, 145, 0, .2);
     --color-admonition-title--danger:#ff5252;
     --color-admonition-title-background--danger:rgba(255, 82, 82, .2);
     --color-admonition-title--attention:#ff5252;
     --color-admonition-title-background--attention:rgba(255, 82, 82, .2);
     --color-admonition-title--error:#ff5252;
     --color-admonition-title-background--error:rgba(255, 82, 82, .2);
     --color-admonition-title--hint:#00c852;
     --color-admonition-title-background--hint:rgba(0, 200, 82, .2);
     --color-admonition-title--tip:#00c852;
     --color-admonition-title-background--tip:rgba(0, 200, 82, .2);
     --color-admonition-title--important:#00bfa5;
     --color-admonition-title-background--important:rgba(0, 191, 165, .2);
     --color-admonition-title--note:#00b0ff;
     --color-admonition-title-background--note:rgba(0, 176, 255, .2);
     --color-admonition-title--seealso:#448aff;
     --color-admonition-title-background--seealso:rgba(68, 138, 255, .2);
     --color-admonition-title--admonition-todo:grey;
     --color-admonition-title-background--admonition-todo:hsla(0, 0%, 50%, .2);
     --color-admonition-title:#651fff;
     --color-admonition-title-background:rgba(101, 31, 255, .2);
     --icon-admonition-default:var(--icon-abstract);
     --color-topic-title:#14b8a6;
     --color-topic-title-background:rgba(20, 184, 166, .2);
     --icon-topic-default:var(--icon-pencil);
     --color-problematic:#b30000;
     --color-foreground-primary:#000;
     --color-foreground-secondary:#5a5c63;
     --color-foreground-muted:#646776;
     --color-foreground-border:#878787;
     --color-background-primary:#fff;
     --color-background-secondary:#f8f9fb;
     --color-background-hover:#efeff4;
     --color-background-hover--transparent:rgba(239, 244, 0, 0.94);
     --color-background-border:#eeebee;
     --color-background-item:#ccc;
     --color-announcement-background:rgba(0, 0, 221, 0);
     --color-announcement-text:#eeebee;
     --color-brand-primary:#2962ff;
     --color-brand-content:#2a5adf;
     --color-api-background:var(--color-background-hover--transparent);
     --color-api-background-hover:var(--color-background-hover);
     --color-api-overall:var(--color-foreground-secondary);
     --color-api-name:var(--color-problematic);
     --color-api-pre-name:var(--color-problematic);
     --color-api-paren:var(--color-foreground-secondary);
     --color-api-keyword:var(--color-foreground-primary);
     --color-highlight-on-target:#ffc;
     --color-inline-code-background:var(--color-background-secondary);
     --color-highlighted-background:#def;
     --color-highlighted-text:var(--color-foreground-primary);
     --color-guilabel-background:rgba(238, 255, 128, 0.87);
     --color-guilabel-border:rgba(218, 245, 128, 0.75);
     --color-guilabel-text:var(--color-foreground-primary);
     --color-admonition-background:transparent;
     --color-table-header-background:var(--color-background-secondary);
     --color-table-border:var(--color-background-border);
     --color-card-border:var(--color-background-secondary);
     --color-card-background:transparent;
     --color-card-marginals-background:var(--color-background-secondary);
     --color-header-background:var(--color-background-primary);
     --color-header-border:var(--color-background-border);
     --color-header-text:var(--color-foreground-primary);
     --color-sidebar-background:var(--color-background-secondary);
     --color-sidebar-background-border:var(--color-background-border);
     --color-sidebar-brand-text:var(--color-foreground-primary);
     --color-sidebar-caption-text:var(--color-foreground-muted);
     --color-sidebar-link-text:var(--color-foreground-secondary);
     --color-sidebar-link-text--top-level:var(--color-brand-primary);
     --color-sidebar-item-background:var(--color-sidebar-background);
     --color-sidebar-item-background--current:var(--color-sidebar-item-background);
     --color-sidebar-item-background--hover:linear-gradient(90deg, var(--color-background-hover--transparent) 0%, var(--color-background-hover) var(--sidebar-item-spacing-horizontal), var(--color-background-hover) 100%);
     --color-sidebar-item-expander-background:transparent;
     --color-sidebar-item-expander-background--hover:var(--color-background-hover);
     --color-sidebar-search-text:var(--color-foreground-primary);
     --color-sidebar-search-background:var(--color-background-secondary);
     --color-sidebar-search-background--focus:var(--color-background-primary);
     --color-sidebar-search-border:var(--color-background-border);
     --color-sidebar-search-icon:var(--color-foreground-muted);
     --color-toc-background:var(--color-background-primary);
     --color-toc-title-text:var(--color-foreground-muted);
     --color-toc-item-text:var(--color-foreground-secondary);
     --color-toc-item-text--hover:var(--color-foreground-primary);
     --color-toc-item-text--active:var(--color-brand-primary);
     --color-content-foreground:var(--color-foreground-primary);
     --color-content-background:transparent;
     --color-link:var(--color-brand-content);
     --color-link--hover:var(--color-brand-content);
     --color-link-underline:var(--color-background-border);
     --color-link-underline--hover:var(--color-foreground-border)
 }

 .only-light { display: block !important }

 html body .only-dark { display: none !important }

 @media not print {
     body[data-theme=dark] {
         --color-problematic:#ee5151;
         --color-foreground-primary:rgba(255, 255, 204, 1);
         --color-foreground-secondary:#9ca0a5;
         --color-foreground-muted:#81868d;
         --color-foreground-border:#666;
         --color-background-primary:#131416;
         --color-background-secondary:#1a1c1e;
         --color-background-hover:#1e2124;
         --color-background-hover--transparent:rgba(33, 36, 0, 0.12);
         --color-background-border:#303335;
         --color-background-item:#444;
         --color-announcement-background:rgba(0, 0, 221, 0);
         --color-announcement-text:#eeebee;
         --color-brand-primary:#2b8cee;
         --color-brand-content:#368ce2;
         --color-highlighted-background:#083563;
         --color-guilabel-background:rgba(53, 99, 128, 0.03);
         --color-guilabel-border:rgba(57, 95, 128, 0.07);
         --color-api-keyword:var(--color-foreground-secondary);
         --color-highlight-on-target:#330;
         --color-admonition-background:#18181a;
         --color-card-border:var(--color-background-secondary);
         --color-card-background:#18181a;
         --color-card-marginals-background:var(--color-background-hover)
     }

     html body[data-theme=dark] .only-light { display: none !important }

     body[data-theme=dark] .only-dark { display: block !important }

     @media (prefers-color-scheme: dark) {
         body:not([data-theme=light]) {
             --color-problematic:#ee5151;
             --color-foreground-primary:rgba(255, 255, 204, 1);
             --color-foreground-secondary:#9ca0a5;
             --color-foreground-muted:#81868d;
             --color-foreground-border:#666;
             --color-background-primary:#131416;
             --color-background-secondary:#1a1c1e;
             --color-background-hover:#1e2124;
             --color-background-hover--transparent:rgba(33, 36, 0, 0.12);
             --color-background-border:#303335;
             --color-background-item:#444;
             --color-announcement-background:rgba(0, 0, 221, 0);
             --color-announcement-text:#eeebee;
             --color-brand-primary:#2b8cee;
             --color-brand-content:#368ce2;
             --color-highlighted-background:#083563;
             --color-guilabel-background:rgba(53, 99, 128, 0.03);
             --color-guilabel-border:rgba(57, 95, 128, 0.07);
             --color-api-keyword:var(--color-foreground-secondary);
             --color-highlight-on-target:#330;
             --color-admonition-background:#18181a;
             --color-card-border:var(--color-background-secondary);
             --color-card-background:#18181a;
             --color-card-marginals-background:var(--color-background-hover)
         }

         html body:not([data-theme=light]) .only-light { display: none !important }

         body:not([data-theme=light]) .only-dark { display: block !important }
     }
 }

 body[data-theme=auto] .theme-toggle svg.theme-icon-when-auto, body[data-theme=dark] .theme-toggle svg.theme-icon-when-dark, body[data-theme=light] .theme-toggle svg.theme-icon-when-light { display: block }

 body { font-family: var(--font-stack) }

 code, kbd, pre, samp { font-family: var(--font-stack--monospace) }

 body {
     -moz-osx-font-smoothing: grayscale;
     -webkit-font-smoothing: antialiased;
 }

 article { line-height: 1.5 }

 h1, h2, h3, h4, h5, h6 {
     border-radius: .5rem;
     font-weight: 700;
     line-height: 1.25;
     margin: .5rem -.5rem;
     padding-left: .5rem;
     padding-right: .5rem
 }

 h1 + p, h2 + p, h3 + p, h4 + p, h5 + p, h6 + p { margin-top: 0 }

 h1 {
     font-size: 2.5em;
     margin-bottom: 1rem
 }

 h1, h2 { margin-top: 1.75rem }

 h2 { font-size: 2em }

 h3 { font-size: 1.5em }

 h4 { font-size: 1.25em }

 h5 { font-size: 1.125em }

 h6 { font-size: 1em }

 small {
     font-size: 80%;
     opacity: .75;
 }

 p {
     margin-bottom: .75rem;
     margin-top: .5rem
 }

 hr.docutils {
     background-color: var(--color-background-border);
     border: 0;
     height: 1px;
     margin: 2rem 0;
     padding: 0
 }

 .centered { text-align: center }

 a {
     -webkit-text-decoration-color: var(--color-link-underline);
     color: var(--color-link);
     text-decoration: underline;
     text-decoration-color: var(--color-link-underline)
 }

 a:hover {
     -webkit-text-decoration-color: var(--color-link-underline--hover);
     color: var(--color-link--hover);
     text-decoration-color: var(--color-link-underline--hover)
 }

 a.muted-link { color: inherit }

 a.muted-link:hover {
     -webkit-text-decoration-color: var(--color-link-underline--hover);
     color: var(--color-link);
     text-decoration-color: var(--color-link-underline--hover)
 }

 html {
     overflow-x: hidden;
     overflow-y: scroll;
     scroll-behavior: smooth
 }

 .sidebar-scroll, .toc-scroll, article[role=main] * {
     scrollbar-color: var(--color-foreground-border) transparent;
     scrollbar-width: thin
 }

 .sidebar-scroll::-webkit-scrollbar, .toc-scroll::-webkit-scrollbar, article[role=main] ::-webkit-scrollbar {
     height: .25rem;
     width: .25rem
 }

 .sidebar-scroll::-webkit-scrollbar-thumb, .toc-scroll::-webkit-scrollbar-thumb, article[role=main] ::-webkit-scrollbar-thumb {
     background-color: var(--color-foreground-border);
     border-radius: .125rem
 }

 body, html {
     background: var(--color-background-primary);
     color: var(--color-foreground-primary);
     height: 100%
 }

 article {
     background: var(--color-content-background);
     color: var(--color-content-foreground)
 }

 .page {
     display: flex;
     min-height: 100%
 }

 .mobile-header {
     background-color: var(--color-header-background);
     border-bottom: 1px solid var(--color-header-border);
     color: var(--color-header-text);
     display: none;
     height: var(--header-height);
     width: 100%;
     z-index: 10
 }

 .mobile-header.scrolled {
     border-bottom: none;
     box-shadow: 0 0 .2rem rgba(0, 0, 0, .1), 0 .2rem .4rem rgba(0, 0, 0, .2)
 }

 .mobile-header .header-center a {
     color: var(--color-header-text);
     text-decoration: none
 }

 .main {
     display: flex;
     flex: 1
 }

 .sidebar-drawer {
     background: var(--color-sidebar-background);
     border-right: 1px solid var(--color-sidebar-background-border);
     box-sizing: border-box;
     display: flex;
     justify-content: flex-end;
     min-width: 15em;
     width: calc(50% - 26em)
 }

 .sidebar-container, .toc-drawer {
     box-sizing: border-box;
     width: 15em
 }

 .toc-drawer {
     background: var(--color-toc-background);
     padding-right: 1rem
 }

 .sidebar-sticky, .toc-sticky {
     display: flex;
     flex-direction: column;
     height: min(100%, 100vh);
     height: 100vh;
     position: -webkit-sticky;
     position: sticky;
     top: 0
 }

 .sidebar-scroll, .toc-scroll {
     flex-grow: 1;
     flex-shrink: 1;
     overflow: auto;
     scroll-behavior: smooth
 }

 .content {
     display: flex;
     flex-direction: column;
     justify-content: space-between;
     padding: 0 3em;
     width: 46em
 }

 .icon {
     display: inline-block;
     height: 1rem;
     width: 1rem
 }

 .icon svg {
     height: 100%;
     width: 100%
 }

 .announcement {
     align-items: center;
     background-color: var(--color-announcement-background);
     color: var(--color-announcement-text);
     display: flex;
     height: var(--header-height);
     overflow-x: auto
 }

 .announcement + .page { min-height: calc(100% - var(--header-height)) }

 .announcement-content {
     box-sizing: border-box;
     min-width: 100%;
     padding: .5rem;
     text-align: center;
     white-space: nowrap
 }

 .announcement-content a {
     -webkit-text-decoration-color: var(--color-announcement-text);
     color: var(--color-announcement-text);
     text-decoration-color: var(--color-announcement-text)
 }

 .announcement-content a:hover {
     -webkit-text-decoration-color: var(--color-link--hover);
     color: var(--color-announcement-text);
     text-decoration-color: var(--color-link--hover)
 }

 .no-js .theme-toggle-container { display: none }

 .theme-toggle-container { vertical-align: middle }

 .theme-toggle {
     background: transparent;
     border: none;
     cursor: pointer;
     padding: 0
 }

 .theme-toggle svg {
     color: var(--color-foreground-primary);
     display: none;
     height: 1rem;
     vertical-align: middle;
     width: 1rem
 }

 .theme-toggle-header {
     float: left;
     padding: 1rem .5rem
 }

 .nav-overlay-icon, .toc-overlay-icon {
     cursor: pointer;
     display: none
 }

 .nav-overlay-icon .icon, .toc-overlay-icon .icon {
     color: var(--color-foreground-secondary);
     height: 1rem;
     width: 1rem
 }

 .nav-overlay-icon, .toc-header-icon {
     align-items: center;
     justify-content: center
 }

 .toc-content-icon {
     height: 1.5rem;
     width: 1.5rem
 }

 .content-icon-container {
     display: flex;
     float: right;
     gap: .5rem;
     margin-bottom: 1rem;
     margin-left: 1rem;
     margin-top: 1.5rem
 }

 .content-icon-container .edit-this-page svg {
     color: inherit;
     height: 1rem;
     width: 1rem
 }

 .sidebar-toggle {
     display: none;
     position: absolute
 }

 .sidebar-toggle[name=__toc] { left: 20px }

 .sidebar-toggle:checked { left: 40px }

 .overlay {
     background-color: rgba(0, 0, 0, .54);
     height: 0;
     opacity: 0;
     position: fixed;
     top: 0;
     transition: width 0ms, height 0ms, opacity .25s ease-out;
     width: 0
 }

 .sidebar-overlay { z-index: 20 }

 .toc-overlay { z-index: 40 }

 .sidebar-drawer {
     transition: left .25s ease-in-out;
     z-index: 30
 }

 .toc-drawer {
     transition: right .25s ease-in-out;
     z-index: 50
 }

 #__navigation:checked ~ .sidebar-overlay {
     height: 100%;
     opacity: 1;
     width: 100%
 }

 #__navigation:checked ~ .page .sidebar-drawer {
     left: 0;
     top: 0
 }

 #__toc:checked ~ .toc-overlay {
     height: 100%;
     opacity: 1;
     width: 100%
 }

 #__toc:checked ~ .page .toc-drawer {
     right: 0;
     top: 0
 }

 .back-to-top {
     background: var(--color-background-primary);
     border-radius: 1rem;
     box-shadow: 0 .2rem .5rem rgba(0, 0, 0, .05), 0 0 1px 0 hsla(220, 9%, 46%, .502);
     display: none;
     font-size: .8125rem;
     left: 0;
     margin-left: 50%;
     padding: .5rem .75rem .5rem .5rem;
     position: fixed;
     text-decoration: none;
     top: 1rem;
     transform: translateX(-50%);
     z-index: 10
 }

 .back-to-top svg {
     display: inline-block;
     fill: currentColor;
     height: 1rem;
     width: 1rem
 }

 .back-to-top span { margin-left: .25rem }

 .show-back-to-top .back-to-top {
     align-items: center;
     display: flex
 }

 @media (min-width: 97em) {
     html { font-size: 110% }
 }

 @media (max-width: 82em) {
     .toc-content-icon { display: flex }

     .toc-drawer {
         border-left: 1px solid var(--color-background-muted);
         height: 100vh;
         position: fixed;
         right: -15em;
         top: 0
     }

     .toc-tree {
         border-left: none;
         font-size: var(--toc-font-size--mobile)
     }

     .sidebar-drawer { width: calc(50% - 18.5em) }
 }

 @media (max-width: 67em) {
     .nav-overlay-icon { display: flex }

     .sidebar-drawer {
         height: 100vh;
         left: -15em;
         position: fixed;
         top: 0;
         width: 15em
     }

     .toc-header-icon { display: flex }

     .theme-toggle-content, .toc-content-icon { display: none }

     .theme-toggle-header { display: block }

     .mobile-header {
         align-items: center;
         display: flex;
         justify-content: space-between;
         position: -webkit-sticky;
         position: sticky;
         top: 0
     }

     .mobile-header .header-left, .mobile-header .header-right {
         display: flex;
         height: var(--header-height);
         padding: 0 var(--header-padding)
     }

     .mobile-header .header-left label, .mobile-header .header-right label {
         -moz-user-select: none;
         -webkit-user-select: none;
         height: 100%;
         user-select: none;
         width: 100%
     }

     .nav-overlay-icon .icon, .theme-toggle svg {
         height: 1.25rem;
         width: 1.25rem
     }

     :target { scroll-margin-top: var(--header-height) }

     .back-to-top { top: calc(var(--header-height) + .5rem) }

     .page {
         flex-direction: column;
         justify-content: center
     }

     .content {
         margin-left: auto;
         margin-right: auto
     }
 }

 @media (max-width: 52em) {
     .content {
         overflow-x: auto;
         width: 100%
     }
 }

 @media (max-width: 46em) {
     .content { padding: 0 1em }

     article aside.sidebar {
         float: none;
         margin: 1rem 0;
         width: 100%
     }
 }

 .admonition, .topic {
     background: var(--color-admonition-background);
     border-radius: .2rem;
     box-shadow: 0 .2rem .5rem rgba(0, 0, 0, .05), 0 0 .0625rem rgba(0, 0, 0, .1);
     font-size: var(--admonition-font-size);
     margin: 1rem auto;
     overflow: hidden;
     padding: 0 .5rem .5rem;
     page-break-inside: avoid
 }

 .admonition > :nth-child(2), .topic > :nth-child(2) { margin-top: 0 }

 .admonition > :last-child, .topic > :last-child { margin-bottom: 0 }

 p.admonition-title, p.topic-title {
     font-size: var(--admonition-title-font-size);
     font-weight: 500;
     line-height: 1.3;
     margin: 0 -.5rem .5rem;
     padding: .4rem .5rem .4rem 2rem;
     position: relative
 }

 p.admonition-title:before, p.topic-title:before {
     content: "";
     height: 1rem;
     left: .5rem;
     position: absolute;
     width: 1rem
 }

 p.admonition-title { background-color: var(--color-admonition-title-background) }

 p.admonition-title:before {
     -webkit-mask-image: var(--icon-admonition-default);
     -webkit-mask-repeat: no-repeat;
     background-color: var(--color-admonition-title);
     mask-image: var(--icon-admonition-default);
     mask-repeat: no-repeat
 }

 p.topic-title { background-color: var(--color-topic-title-background) }

 p.topic-title:before {
     -webkit-mask-image: var(--icon-topic-default);
     -webkit-mask-repeat: no-repeat;
     background-color: var(--color-topic-title);
     mask-image: var(--icon-topic-default);
     mask-repeat: no-repeat
 }

 .admonition { border-left: .2rem solid var(--color-admonition-title) }

 .admonition.caution { border-left-color: var(--color-admonition-title--caution) }

 .admonition.caution > .admonition-title { background-color: var(--color-admonition-title-background--caution) }

 .admonition.caution > .admonition-title:before {
     -webkit-mask-image: var(--icon-spark);
     background-color: var(--color-admonition-title--caution);
     mask-image: var(--icon-spark)
 }

 .admonition.warning { border-left-color: var(--color-admonition-title--warning) }

 .admonition.warning > .admonition-title { background-color: var(--color-admonition-title-background--warning) }

 .admonition.warning > .admonition-title:before {
     -webkit-mask-image: var(--icon-warning);
     background-color: var(--color-admonition-title--warning);
     mask-image: var(--icon-warning)
 }

 .admonition.danger { border-left-color: var(--color-admonition-title--danger) }

 .admonition.danger > .admonition-title { background-color: var(--color-admonition-title-background--danger) }

 .admonition.danger > .admonition-title:before {
     -webkit-mask-image: var(--icon-spark);
     background-color: var(--color-admonition-title--danger);
     mask-image: var(--icon-spark)
 }

 .admonition.attention { border-left-color: var(--color-admonition-title--attention) }

 .admonition.attention > .admonition-title { background-color: var(--color-admonition-title-background--attention) }

 .admonition.attention > .admonition-title:before {
     -webkit-mask-image: var(--icon-warning);
     background-color: var(--color-admonition-title--attention);
     mask-image: var(--icon-warning)
 }

 .admonition.error { border-left-color: var(--color-admonition-title--error) }

 .admonition.error > .admonition-title { background-color: var(--color-admonition-title-background--error) }

 .admonition.error > .admonition-title:before {
     -webkit-mask-image: var(--icon-failure);
     background-color: var(--color-admonition-title--error);
     mask-image: var(--icon-failure)
 }

 .admonition.hint { border-left-color: var(--color-admonition-title--hint) }

 .admonition.hint > .admonition-title { background-color: var(--color-admonition-title-background--hint) }

 .admonition.hint > .admonition-title:before {
     -webkit-mask-image: var(--icon-question);
     background-color: var(--color-admonition-title--hint);
     mask-image: var(--icon-question)
 }

 .admonition.tip { border-left-color: var(--color-admonition-title--tip) }

 .admonition.tip > .admonition-title { background-color: var(--color-admonition-title-background--tip) }

 .admonition.tip > .admonition-title:before {
     -webkit-mask-image: var(--icon-info);
     background-color: var(--color-admonition-title--tip);
     mask-image: var(--icon-info)
 }

 .admonition.important { border-left-color: var(--color-admonition-title--important) }

 .admonition.important > .admonition-title { background-color: var(--color-admonition-title-background--important) }

 .admonition.important > .admonition-title:before {
     -webkit-mask-image: var(--icon-flame);
     background-color: var(--color-admonition-title--important);
     mask-image: var(--icon-flame)
 }

 .admonition.note { border-left-color: var(--color-admonition-title--note) }

 .admonition.note > .admonition-title { background-color: var(--color-admonition-title-background--note) }

 .admonition.note > .admonition-title:before {
     -webkit-mask-image: var(--icon-pencil);
     background-color: var(--color-admonition-title--note);
     mask-image: var(--icon-pencil)
 }

 .admonition.seealso { border-left-color: var(--color-admonition-title--seealso) }

 .admonition.seealso > .admonition-title { background-color: var(--color-admonition-title-background--seealso) }

 .admonition.seealso > .admonition-title:before {
     -webkit-mask-image: var(--icon-info);
     background-color: var(--color-admonition-title--seealso);
     mask-image: var(--icon-info)
 }

 .admonition.admonition-todo { border-left-color: var(--color-admonition-title--admonition-todo) }

 .admonition.admonition-todo > .admonition-title { background-color: var(--color-admonition-title-background--admonition-todo) }

 .admonition.admonition-todo > .admonition-title:before {
     -webkit-mask-image: var(--icon-pencil);
     background-color: var(--color-admonition-title--admonition-todo);
     mask-image: var(--icon-pencil)
 }

 .admonition-todo > .admonition-title { text-transform: uppercase }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd { margin-left: 2rem }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd > :first-child { margin-top: .125rem }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list, dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) dd > :last-child { margin-bottom: .75rem }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list > dt {
     font-size: var(--font-size--small);
     text-transform: uppercase
 }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd:empty { margin-bottom: .5rem }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd > ul { margin-left: -1.2rem }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd > ul > li > p:nth-child(2) { margin-top: 0 }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) .field-list dd > ul > li > p + p:last-child:empty {
     margin-bottom: 0;
     margin-top: 0
 }

 dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.glossary):not(.simple) > dt { color: var(--color-api-overall) }

 .sig:not(.sig-inline) {
     background: var(--color-api-background);
     border-radius: .25rem;
     font-family: var(--font-stack--monospace);
     font-size: var(--api-font-size);
     font-weight: 700;
     margin-left: -.25rem;
     margin-right: -.25rem;
     padding: .25rem .5rem .25rem 3em;
     text-indent: -2.5em;
     transition: background .1s ease-out
 }

 .sig:not(.sig-inline):hover { background: var(--color-api-background-hover) }

 .sig:not(.sig-inline) a.reference .viewcode-link {
     font-weight: 400;
     width: 3.5rem
 }

 .sig:not(.sig-inline) span.pre { overflow-wrap: break-word; }

 em.property { font-style: normal }

 em.property:first-child { color: var(--color-api-keyword) }

 .sig-name { color: var(--color-api-name) }

 .sig-prename {
     color: var(--color-api-pre-name);
     font-weight: 400
 }

 .sig-paren { color: var(--color-api-paren) }

 .sig-param { font-style: normal }

 .versionmodified { font-style: italic }

 div.deprecated p, div.versionadded p, div.versionchanged p {
     margin-bottom: .125rem;
     margin-top: .125rem
 }

 .viewcode-back, .viewcode-link {
     float: right;
     text-align: right
 }

 .line-block {
     margin-bottom: .75rem;
     margin-top: .5rem
 }

 .line-block .line-block {
     margin-bottom: 0;
     margin-top: 0;
     padding-left: 1rem
 }

 .code-block-caption, article p.caption, table > caption {
     font-size: var(--font-size--small);
     text-align: center
 }

 .toctree-wrapper.compound .caption, .toctree-wrapper.compound :not(.caption) > .caption-text {
     font-size: var(--font-size--small);
     margin-bottom: 0;
     text-align: initial;
     text-transform: uppercase
 }

 .toctree-wrapper.compound > ul {
     margin-bottom: 0;
     margin-top: 0
 }

 .sig-inline, code.literal {
     background: var(--color-inline-code-background);
     border-radius: .2em;
     font-size: var(--font-size--small--2);
     overflow-wrap: break-word;
     padding: .1em .2em
 }

 p .sig-inline, p code.literal { border: 1px solid var(--color-background-border) }

 .sig-inline { font-family: var(--font-stack--monospace) }

 div[class*=" highlight-"], div[class^=highlight-] {
     display: flex;
     margin: 1em 0
 }

 div[class*=" highlight-"] .table-wrapper, div[class^=highlight-] .table-wrapper, pre {
     margin: 0;
     padding: 0
 }

 pre { overflow: auto }

 article[role=main] .highlight pre { line-height: 1.5 }

 .highlight pre, pre.literal-block {
     font-size: var(--code-font-size);
     padding: .625rem .875rem
 }

 pre.literal-block {
     background-color: var(--color-code-background);
     border-radius: .2rem;
     color: var(--color-code-foreground);
     margin-bottom: 1rem;
     margin-top: 1rem
 }

 .highlight {
     border-radius: .2rem;
     width: 100%
 }

 .highlight .gp, .highlight span.linenos {
     -moz-user-select: none;
     -webkit-user-select: none;
     pointer-events: none;
     user-select: none
 }

 .highlight .hll {
     display: block;
     margin-left: -.875rem;
     margin-right: -.875rem;
     padding-left: .875rem;
     padding-right: .875rem
 }

 .code-block-caption {
     background-color: var(--color-code-background);
     border-bottom: 1px solid;
     border-bottom-left-radius: 0;
     border-bottom-right-radius: 0;
     border-color: var(--color-background-border);
     border-radius: .25rem;
     color: var(--color-code-foreground);
     display: flex;
     font-weight: 300;
     padding: .625rem .875rem
 }

 .code-block-caption + div[class] { margin-top: 0 }

 .code-block-caption + div[class] pre {
     border-top-left-radius: 0;
     border-top-right-radius: 0
 }

 .highlighttable {
     display: block;
     width: 100%
 }

 .highlighttable tbody { display: block }

 .highlighttable tr { display: flex }

 .highlighttable td.linenos {
     background-color: var(--color-code-background);
     border-bottom-left-radius: .2rem;
     border-top-left-radius: .2rem;
     color: var(--color-code-foreground);
     padding: .625rem 0 .625rem .875rem
 }

 .highlighttable .linenodiv {
     box-shadow: -.0625rem 0 var(--color-foreground-border) inset;
     font-size: var(--code-font-size);
     padding-right: .875rem
 }

 .highlighttable td.code {
     display: block;
     flex: 1;
     overflow: hidden;
     padding: 0
 }

 .highlighttable td.code .highlight {
     border-bottom-left-radius: 0;
     border-top-left-radius: 0
 }

 .highlight span.linenos {
     box-shadow: -.0625rem 0 var(--color-foreground-border) inset;
     display: inline-block;
     margin-right: .875rem;
     padding-left: 0;
     padding-right: .875rem
 }

 .footnote-reference {
     font-size: var(--font-size--small--4);
     vertical-align: super
 }

 dl.footnote.brackets {
     color: var(--color-foreground-secondary);
     display: grid;
     font-size: var(--font-size--small);
     grid-template-columns: -webkit-max-content auto;
     grid-template-columns: max-content auto
 }

 dl.footnote.brackets dt { margin: 0 }

 dl.footnote.brackets dt > .fn-backref { margin-left: .25rem }

 dl.footnote.brackets dt:after { content: ":" }

 dl.footnote.brackets dt .brackets:before { content: "[" }

 dl.footnote.brackets dt .brackets:after { content: "]" }

 dl.footnote.brackets dd {
     margin: 0;
     padding: 0 1rem
 }

 aside.footnote {
     color: var(--color-foreground-secondary);
     font-size: var(--font-size--small)
 }

 aside.footnote > span, div.citation > span {
     float: left;
     font-weight: 500;
     padding-right: .25rem
 }

 aside.footnote > p, div.citation > p { margin-left: 2rem }

 img {
     box-sizing: border-box;
     height: auto;
     max-width: 100%
 }

 article .figure, article figure {
     border-radius: .2rem;
     margin: 0
 }

 article .figure :last-child, article figure :last-child { margin-bottom: 0 }

 article .align-left {
     clear: left;
     float: left;
     margin: 0 1rem 1rem
 }

 article .align-right {
     clear: right;
     float: right;
     margin: 0 1rem 1rem
 }

 article .align-center, article .align-default {
     display: block;
     margin-left: auto;
     margin-right: auto;
     text-align: center
 }

 article table.align-default {
     display: table;
     text-align: initial
 }

 .domainindex-jumpbox, .genindex-jumpbox {
     border-bottom: 1px solid var(--color-background-border);
     border-top: 1px solid var(--color-background-border);
     padding: .25rem
 }

 .domainindex-section h2, .genindex-section h2 {
     margin-bottom: .5rem;
     margin-top: .75rem
 }

 .domainindex-section ul, .genindex-section ul {
     margin-bottom: 0;
     margin-top: 0
 }

 ol, ul {
     margin-bottom: 1rem;
     margin-top: 1rem;
     padding-left: 1.2rem
 }

 ol li > p:first-child, ul li > p:first-child {
     margin-bottom: .25rem;
     margin-top: .25rem
 }

 ol li > p:last-child, ul li > p:last-child { margin-top: .25rem }

 ol li > ol, ol li > ul, ul li > ol, ul li > ul {
     margin-bottom: .5rem;
     margin-top: .5rem
 }

 ol.arabic { list-style: decimal }

 ol.loweralpha { list-style: lower-alpha }

 ol.upperalpha { list-style: upper-alpha }

 ol.lowerroman { list-style: lower-roman }

 ol.upperroman { list-style: upper-roman }

 .simple li > ol, .simple li > ul, .toctree-wrapper li > ol, .toctree-wrapper li > ul {
     margin-bottom: 0;
     margin-top: 0
 }

 .field-list dt, .option-list dt, dl.footnote dt, dl.glossary dt, dl.simple dt, dl:not([class]) dt {
     font-weight: 500;
     margin-top: .25rem
 }

 .field-list dt + dt, .option-list dt + dt, dl.footnote dt + dt, dl.glossary dt + dt, dl.simple dt + dt, dl:not([class]) dt + dt { margin-top: 0 }

 .field-list dt .classifier:before, .option-list dt .classifier:before, dl.footnote dt .classifier:before, dl.glossary dt .classifier:before, dl.simple dt .classifier:before, dl:not([class]) dt .classifier:before {
     content: ":";
     margin-left: .2rem;
     margin-right: .2rem
 }

 .field-list dd ul, .field-list dd > p:first-child, .option-list dd ul, .option-list dd > p:first-child, dl.footnote dd ul, dl.footnote dd > p:first-child, dl.glossary dd ul, dl.glossary dd > p:first-child, dl.simple dd ul, dl.simple dd > p:first-child, dl:not([class]) dd ul, dl:not([class]) dd > p:first-child { margin-top: .125rem }

 .field-list dd ul, .option-list dd ul, dl.footnote dd ul, dl.glossary dd ul, dl.simple dd ul, dl:not([class]) dd ul { margin-bottom: .125rem }

 .math-wrapper {
     overflow-x: auto;
     width: 100%
 }

 div.math {
     position: relative;
     text-align: center
 }

 div.math .headerlink, div.math:focus .headerlink { display: none }

 div.math:hover .headerlink { display: inline-block }

 div.math span.eqno {
     position: absolute;
     right: .5rem;
     top: 50%;
     transform: translateY(-50%);
     z-index: 1
 }

 abbr[title] { cursor: help }

 .problematic { color: var(--color-problematic) }

 kbd:not(.compound) {
     background-color: var(--color-background-secondary);
     border: 1px solid var(--color-foreground-border);
     border-radius: .2rem;
     box-shadow: 0 .0625rem 0 rgba(0, 0, 0, .2), inset 0 0 0 .125rem var(--color-background-primary);
     color: var(--color-foreground-primary);
     display: inline-block;
     font-size: var(--font-size--small--3);
     margin: 0 .2rem;
     padding: 0 .2rem;
     vertical-align: text-bottom
 }

 blockquote {
     background: var(--color-background-secondary);
     border-left: 4px solid var(--color-background-border);
     margin-left: 0;
     margin-right: 0;
     padding: .5rem 1rem
 }

 blockquote .attribution {
     font-weight: 600;
     text-align: right
 }

 blockquote.highlights, blockquote.pull-quote { font-size: 1.25em }

 blockquote.epigraph, blockquote.pull-quote {
     border-left-width: 0;
     border-radius: .5rem
 }

 blockquote.highlights {
     background: transparent;
     border-left-width: 0
 }

 p .reference img { vertical-align: middle }

 p.rubric {
     font-size: 1.125em;
     font-weight: 700;
     line-height: 1.25
 }

 dd p.rubric {
     font-size: var(--font-size--small);
     font-weight: inherit;
     line-height: inherit;
     text-transform: uppercase
 }

 article .sidebar {
     background-color: var(--color-background-secondary);
     border: 1px solid var(--color-background-border);
     border-radius: .2rem;
     clear: right;
     float: right;
     margin-left: 1rem;
     margin-right: 0;
     width: 30%
 }

 article .sidebar > * {
     padding-left: 1rem;
     padding-right: 1rem
 }

 article .sidebar > ol, article .sidebar > ul { padding-left: 2.2rem }

 article .sidebar .sidebar-title {
     border-bottom: 1px solid var(--color-background-border);
     font-weight: 500;
     margin: 0;
     padding: .5rem 1rem
 }

 .table-wrapper {
     margin-bottom: .5rem;
     margin-top: 1rem;
     overflow-x: auto;
     padding: .2rem .2rem .75rem;
     width: 100%
 }

 table.docutils {
     border-collapse: collapse;
     border-radius: .2rem;
     border-spacing: 0;
     box-shadow: 0 .2rem .5rem rgba(0, 0, 0, .05), 0 0 .0625rem rgba(0, 0, 0, .1)
 }

 table.docutils th { background: var(--color-table-header-background) }

 table.docutils td, table.docutils th {
     border-bottom: 1px solid var(--color-table-border);
     border-left: 1px solid var(--color-table-border);
     border-right: 1px solid var(--color-table-border);
     padding: 0 .25rem
 }

 table.docutils td p, table.docutils th p { margin: .25rem }

 table.docutils td:first-child, table.docutils th:first-child { border-left: none }

 table.docutils td:last-child, table.docutils th:last-child { border-right: none }

 table.docutils td.text-left, table.docutils th.text-left { text-align: left }

 table.docutils td.text-right, table.docutils th.text-right { text-align: right }

 table.docutils td.text-center, table.docutils th.text-center { text-align: center }

 :target { scroll-margin-top: .5rem }

 @media (max-width: 67em) {
     :target { scroll-margin-top: calc(.5rem + var(--header-height)) }

     section > span:target { scroll-margin-top: calc(.8rem + var(--header-height)) }
 }

 .headerlink {
     -moz-user-select: none;
     -webkit-user-select: none;
     font-weight: 100;
     user-select: none
 }

 .code-block-caption > .headerlink, dl dt > .headerlink, figcaption p > .headerlink, h1 > .headerlink, h2 > .headerlink, h3 > .headerlink, h4 > .headerlink, h5 > .headerlink, h6 > .headerlink, p.caption > .headerlink, table > caption > .headerlink {
     margin-left: .5rem;
     visibility: hidden
 }

 .code-block-caption:hover > .headerlink, dl dt:hover > .headerlink, figcaption p:hover > .headerlink, h1:hover > .headerlink, h2:hover > .headerlink, h3:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, h6:hover > .headerlink, p.caption:hover > .headerlink, table > caption:hover > .headerlink { visibility: visible }

 .code-block-caption > .toc-backref, dl dt > .toc-backref, figcaption p > .toc-backref, h1 > .toc-backref, h2 > .toc-backref, h3 > .toc-backref, h4 > .toc-backref, h5 > .toc-backref, h6 > .toc-backref, p.caption > .toc-backref, table > caption > .toc-backref {
     -webkit-text-decoration-line: none;
     color: inherit;
     text-decoration-line: none
 }

 figure:hover > figcaption > p > .headerlink, table:hover > caption > .headerlink { visibility: visible }

 :target > h1:first-of-type, :target > h2:first-of-type, :target > h3:first-of-type, :target > h4:first-of-type, :target > h5:first-of-type, :target > h6:first-of-type, span:target ~ h1:first-of-type, span:target ~ h2:first-of-type, span:target ~ h3:first-of-type, span:target ~ h4:first-of-type, span:target ~ h5:first-of-type, span:target ~ h6:first-of-type { background-color: var(--color-highlight-on-target) }

 :target > h1:first-of-type code.literal, :target > h2:first-of-type code.literal, :target > h3:first-of-type code.literal, :target > h4:first-of-type code.literal, :target > h5:first-of-type code.literal, :target > h6:first-of-type code.literal, span:target ~ h1:first-of-type code.literal, span:target ~ h2:first-of-type code.literal, span:target ~ h3:first-of-type code.literal, span:target ~ h4:first-of-type code.literal, span:target ~ h5:first-of-type code.literal, span:target ~ h6:first-of-type code.literal { background-color: transparent }

 .literal-block-wrapper:target .code-block-caption, .this-will-duplicate-information-and-it-is-still-useful-here li :target, figure:target, table:target > caption { background-color: var(--color-highlight-on-target) }

 dt:target { background-color: var(--color-highlight-on-target) !important }

 .footnote-reference:target, .footnote > dt:target + dd { background-color: var(--color-highlight-on-target) }

 .guilabel {
     background-color: var(--color-guilabel-background);
     border: 1px solid var(--color-guilabel-border);
     border-radius: .5em;
     color: var(--color-guilabel-text);
     font-size: .9em;
     padding: 0 .3em
 }

 footer {
     display: flex;
     flex-direction: column;
     font-size: var(--font-size--small);
     margin-top: 2rem
 }

 .bottom-of-page {
     align-items: center;
     border-top: 1px solid var(--color-background-border);
     color: var(--color-foreground-secondary);
     display: flex;
     justify-content: space-between;
     line-height: 1.5;
     margin-top: 1rem;
     padding-bottom: 1rem;
     padding-top: 1rem
 }

 @media (max-width: 46em) {
     .bottom-of-page {
         flex-direction: column-reverse;
         gap: .25rem;
         text-align: center
     }
 }

 .bottom-of-page .left-details { font-size: var(--font-size--small) }

 .bottom-of-page .right-details {
     display: flex;
     flex-direction: column;
     gap: .25rem;
     text-align: right
 }

 .bottom-of-page .icons {
     display: flex;
     font-size: 1rem;
     gap: .25rem;
     justify-content: flex-end
 }

 .bottom-of-page .icons a { text-decoration: none }

 .bottom-of-page .icons img, .bottom-of-page .icons svg {
     font-size: 1.125rem;
     height: 1em;
     width: 1em
 }

 .related-pages a {
     align-items: center;
     display: flex;
     text-decoration: none
 }

 .related-pages a:hover .page-info .title {
     -webkit-text-decoration-color: var(--color-link-underline);
     color: var(--color-link);
     text-decoration: underline;
     text-decoration-color: var(--color-link-underline)
 }

 .related-pages a svg.furo-related-icon, .related-pages a svg.furo-related-icon > use {
     color: var(--color-foreground-border);
     flex-shrink: 0;
     height: .75rem;
     margin: 0 .5rem;
     width: .75rem
 }

 .related-pages a.next-page {
     clear: right;
     float: right;
     max-width: 50%;
     text-align: right
 }

 .related-pages a.prev-page {
     clear: left;
     float: left;
     max-width: 50%
 }

 .related-pages a.prev-page svg { transform: rotate(180deg) }

 .page-info {
     display: flex;
     flex-direction: column;
     overflow-wrap: break-word;
 }

 .next-page .page-info { align-items: flex-end }

 .page-info .context {
     align-items: center;
     color: var(--color-foreground-muted);
     display: flex;
     font-size: var(--font-size--small);
     padding-bottom: .1rem;
     text-decoration: none
 }

 ul.search {
     list-style: none;
     padding-left: 0
 }

 ul.search li {
     border-bottom: 1px solid var(--color-background-border);
     padding: 1rem 0
 }

 [role=main] .highlighted {
     background-color: var(--color-highlighted-background);
     color: var(--color-highlighted-text)
 }

 .sidebar-brand {
     display: flex;
     flex-direction: column;
     flex-shrink: 0;
     padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);
     text-decoration: none
 }

 .sidebar-brand-text {
     color: var(--color-sidebar-brand-text);
     font-size: 1.5rem;
     overflow-wrap: break-word
 }

 .sidebar-brand-text, .sidebar-logo-container { margin: var(--sidebar-item-spacing-vertical) 0 }

 .sidebar-logo {
     display: block;
     margin: 0 auto;
     max-width: 100%
 }

 .sidebar-search-container {
     align-items: center;
     background: var(--color-sidebar-search-background);
     display: flex;
     margin-top: var(--sidebar-search-space-above);
     position: relative
 }

 .sidebar-search-container:focus-within, .sidebar-search-container:hover { background: var(--color-sidebar-search-background--focus) }

 .sidebar-search-container:before {
     -webkit-mask-image: var(--icon-search);
     background-color: var(--color-sidebar-search-icon);
     content: "";
     height: var(--sidebar-search-icon-size);
     left: var(--sidebar-item-spacing-horizontal);
     mask-image: var(--icon-search);
     position: absolute;
     width: var(--sidebar-search-icon-size)
 }

 .sidebar-search {
     background: transparent;
     border: none;
     border-bottom: 1px solid var(--color-sidebar-search-border);
     border-top: 1px solid var(--color-sidebar-search-border);
     box-sizing: border-box;
     color: var(--color-sidebar-search-background--focus);
     padding: var(--sidebar-search-input-spacing-vertical) var(--sidebar-search-input-spacing-horizontal) var(--sidebar-search-input-spacing-vertical) calc(var(--sidebar-item-spacing-horizontal) + var(--sidebar-search-input-spacing-horizontal) + var(--sidebar-search-icon-size));
     width: 100%;
     z-index: 10
 }

 .sidebar-search:focus { outline: none }

 .sidebar-search::-moz-placeholder { font-size: var(--sidebar-search-input-font-size) }

 .sidebar-search::placeholder { font-size: var(--sidebar-search-input-font-size) }

 #searchbox .highlight-link {
     margin: 0;
     padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal) 0;
     text-align: center
 }

 #searchbox .highlight-link a {
     color: var(--color-sidebar-search-icon);
     font-size: var(--font-size--small--2)
 }

 .sidebar-tree {
     font-size: var(--sidebar-item-font-size);
     margin-bottom: var(--sidebar-item-spacing-vertical);
     margin-top: var(--sidebar-tree-space-above)
 }

 .sidebar-tree ul {
     display: flex;
     flex-direction: column;
     list-style: none;
     margin-bottom: 0;
     margin-top: 0;
     padding: 0
 }

 .sidebar-tree li {
     margin: 0;
     position: relative
 }

 .sidebar-tree li > ul { margin-left: var(--sidebar-item-spacing-horizontal) }

 .sidebar-tree .icon, .sidebar-tree .reference { color: var(--color-sidebar-link-text) }

 .sidebar-tree .reference {
     box-sizing: border-box;
     display: inline-block;
     height: 100%;
     line-height: var(--sidebar-item-line-height);
     overflow-wrap: break-word;
     padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);
     text-decoration: none;
     width: 100%
 }

 .sidebar-tree .reference:hover { background: var(--color-sidebar-item-background--hover) }

 .sidebar-tree .reference.external:after {
     color: var(--color-sidebar-link-text);
     content: url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='12' xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23607D8B' fill='none' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M0 0h24v24H0z' stroke='none'/%3E%3Cpath d='M11 7H6a2 2 0 0 0-2 2v9a2 2 0 0 0 2 2h9a2 2 0 0 0 2-2v-5M10 14 20 4M15 4h5v5'/%3E%3C/svg%3E");
     margin: 0 .25rem;
     vertical-align: middle
 }

 .sidebar-tree .current-page > .reference { font-weight: 700 }

 .sidebar-tree label {
     -moz-user-select: none;
     -webkit-user-select: none;
     align-items: center;
     cursor: pointer;
     display: flex;
     height: var(--sidebar-item-height);
     justify-content: center;
     position: absolute;
     right: 0;
     top: 0;
     user-select: none;
     width: var(--sidebar-expander-width)
 }

 .sidebar-tree .caption, .sidebar-tree :not(.caption) > .caption-text {
     color: var(--color-sidebar-caption-text);
     font-size: var(--sidebar-caption-font-size);
     font-weight: 700;
     margin: var(--sidebar-caption-space-above) 0 0 0;
     padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal);
     text-transform: uppercase
 }

 .sidebar-tree li.has-children > .reference { padding-right: var(--sidebar-expander-width) }

 .sidebar-tree .toctree-l1 > .reference, .sidebar-tree .toctree-l1 > label .icon { color: var(--color-sidebar-link-text--top-level) }

 .sidebar-tree label { background: var(--color-sidebar-item-expander-background) }

 .sidebar-tree label:hover { background: var(--color-sidebar-item-expander-background--hover) }

 .sidebar-tree .current > .reference { background: var(--color-sidebar-item-background--current) }

 .sidebar-tree .current > .reference:hover { background: var(--color-sidebar-item-background--hover) }

 .toctree-checkbox {
     display: none;
     position: absolute
 }

 .toctree-checkbox ~ ul { display: none }

 .toctree-checkbox ~ label .icon svg { transform: rotate(90deg) }

 .toctree-checkbox:checked ~ ul { display: block }

 .toctree-checkbox:checked ~ label .icon svg { transform: rotate(-90deg) }

 .toc-title-container {
     padding: var(--toc-title-padding);
     padding-top: var(--toc-spacing-vertical)
 }

 .toc-title {
     color: var(--color-toc-title-text);
     font-size: var(--toc-title-font-size);
     padding-left: var(--toc-spacing-horizontal);
     text-transform: uppercase
 }

 .no-toc { display: none }

 .toc-tree-container { padding-bottom: var(--toc-spacing-vertical) }

 .toc-tree {
     border-left: 1px solid var(--color-background-border);
     font-size: var(--toc-font-size);
     line-height: 1.3;
     padding-left: calc(var(--toc-spacing-horizontal) - var(--toc-item-spacing-horizontal))
 }

 .toc-tree > ul > li:first-child { padding-top: 0 }

 .toc-tree > ul > li:first-child > ul { padding-left: 0 }

 .toc-tree > ul > li:first-child > a { display: none }

 .toc-tree ul {
     list-style-type: none;
     margin-bottom: 0;
     margin-top: 0;
     padding-left: var(--toc-item-spacing-horizontal)
 }

 .toc-tree li { padding-top: var(--toc-item-spacing-vertical) }

 .toc-tree li.scroll-current > .reference {
     color: var(--color-toc-item-text--active);
     font-weight: 700
 }

 .toc-tree .reference {
     color: var(--color-toc-item-text);
     overflow-wrap: break-word;
     text-decoration: none
 }

 .toc-scroll {
     max-height: 100vh;
     overflow-y: scroll
 }

 .contents:not(.this-will-duplicate-information-and-it-is-still-useful-here) {
     background: #ff0000;
     background: rgba(255, 0, 0, .25);
     color: var(--color-problematic)
 }

.contents:not(.this-will-duplicate-information-and-it-is-still-useful-here):before { content: "ERROR: Adding a table of contents in Furo-based documentation is unnecessary, and does not work well with existing styling.Add a 'this-will-duplicate-information-and-it-is-still-useful-here' class, if you want an escape hatch." }

 .text-align\:left > p { text-align: left }

 .text-align\:center > p { text-align: center }

 .text-align\:right > p { text-align: right }
