/* XDG CSS theme for Sphinx + Furo

https://www.sphinx-doc.org
https://pypi.org/project/furo/
*/

/* FONTS */

@font-face {
  font-family: "Inter var";
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
  font-named-instance: "Regular";
  src: url("inter.woff2") format("woff2");
}

:root {
  --rounded-corner: 12px;
  --blue1: rgb(153,193,241);
  --blue2: rgb(98,160,234);
  --blue3: rgb(53,132,228);
  --blue4: rgb(28,113,216);
  --blue5: rgb(26,95,180);
  --green1: rgb(143,240,164);
  --green2: rgb(87,227,137);
  --green3: rgb(51,209,122);
  --green4: rgb(46,194,126);
  --green5: rgb(38,162,105);
  --yellow1: rgb(249,240,107);
  --yellow2: rgb(248,228,92);
  --yellow3: rgb(246,211,45);
  --yellow4: rgb(245,194,17);
  --yellow5: rgb(229,165,10);
  --orange1: rgb(255,190,111);
  --orange2: rgb(255,163,72);
  --orange3: rgb(255,120,0);
  --orange4: rgb(230,97,0);
  --orange5: rgb(198,70,0);
  --red1: rgb(246,97,81);
  --red2: rgb(237,51,59);
  --red3: rgb(224,27,36);
  --red4: rgb(192,28,40);
  --red5: rgb(165,29,45);
  --purple1: rgb(220,138,221);
  --purple2: rgb(192,97,203);
  --purple3: rgb(145,65,172);
  --purple4: rgb(129,61,156);
  --purple5: rgb(97,53,131);
  --brown1: rgb(205,171,143);
  --brown2: rgb(181,131,90);
  --brown3: rgb(152,106,68);
  --brown4: rgb(134,94,60);
  --brown5: rgb(99,69,44);
  --light1: rgb(255,255,255);
  --light2: rgb(246,245,244);
  --light3: rgb(222,221,218);
  --light4: rgb(192,191,188);
  --light5: rgb(154,153,150);
  --dark1: rgb(119,118,123);
  --dark2: rgb(94,92,100);
  --dark3: rgb(61,56,70);
  --dark4: rgb(36,31,49);
  --dark5: rgb(0,0,0);
  --text: #f6f5f4;
  --tocbg: var(--light2);
  --tocfg: var(--dark3);
  --borders: var(--light3);
  --link: var(--blue5);
  --link-underline: var(--blue1);
}

::selection {
	background-color:  rgba(153,193,241,0.5);
}

@media (prefers-color-scheme: dark) {
  :root {
    --tocbg: var(--dark5);
    --tocfg: var(--light5);
    --borders: var(--dark3);
    --link: var(--blue1);
    --link-underline: var(--blue5);
  }
	::selection {
		background-color:  rgba(26,95,180,0.4);
	}
}

* {
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-family: "Inter var", sans-serif;
  font-weight: 400;
  line-height: 1.6;
}
  @media (min-width: 700px) {
    html, body {
      font-size: 18px;
    }
  }

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

p strong {
  font-weight: 600;
  opacity: 0.9;
}

h1 {
   font-weight: 500;
   font-size: 2rem;
   margin-top: '0';
   margin-bottom: 1.5rem;
   font-family: "Inter var", sans-serif;
}
h2 {
   font-weight: 800;
   font-size: 1.7rem;
   margin-top: 2.5rem;
   margin-bottom: 1.2rem;
   font-family: "Inter var", sans-serif;
}
h3 {
   font-weight: 800;
   font-size: 1.3rem;
   margin-top: 2.2rem;
   margin-bottom: 1rem;
   font-family: "Inter var", sans-serif;
}
h4 {
   font-weight: 700;
   font-size: 1.1rem;
   margin-top: 1rem;
   margin-bottom: 1rem;
   font-family: "Inter var", sans-serif;
}
h5 {
   font-weight: 700;
   font-size: 1rem;
   margin-top: 1rem;
   margin-bottom: 1rem;
   font-family: "Inter var", sans-serif;
}
  h2,h3,h4,h5 { opacity: 0.7; }

ul.simple {
  margin: 1rem 1rem 3rem;
}

  ul.simple li {
    list-style-image: url(bullet.svg);
    margin-inline-end: 1ch;
    margin-bottom: 1rem;
  }
	ul.simple li:hover::marker {	}

.related-pages {
  font-size: 10pt;
  font-weight: 800;
  display: flex;
  flex-direction: row-reverse;
  align-items: stretch;
  justify-content: space-between;
}

  .related-pages a .title {
    color: var(--dark1);
  }
  .related-pages a svg {
    width: 32px; height: 32px;
  }

  .prev-page {
    border-radius: 8px;
    padding: 8px 24px 8px 8px;

  }
  .next-page {
    border-radius: 8px;
    padding: 8px 8px 8px 24px;
  }
  .related-pages a.prev-page,
  .related-pages a.next-page {
    float: none;
    max-width: inherit; /* cancel furo's 50% */
  }
  .related-pages a.prev-page:hover, .related-pages a.next-page:hover {
    background-color: var(--tocbg);
  }

  @media (min-width: 700px) {
    .related-pages {
      font-size: 14pt;
    }
    .prev-page {
      padding: 16px 48px 16px 16px;
      border-radius: 24px;

    }
    .next-page {
      padding: 16px 16px 16px 48px;
      border-radius: 24px;
    }
  }
  .related-pages a.prev-page:only-child,
  .related-pages a.next-page:only-child,
  .page-info {
      /* align-self: flex-end; i wish */
      width: 100%; /* big buttons instead */
  }

.toctree-wrapper ul {
	margin: 0; padding: 0;
}

  .toctree-wrapper li {
		list-style: none;
    margin: 0 0 1rem 0;
  }
  .toctree-wrapper li.toctree-l1 {
    font-size: 14pt;
    font-weight: 600;

  }
    .toctree-wrapper li.toctree-l1 > a { color: var(--tocfg); }

  .toctree-wrapper li.toctree-l2 {
		list-style-image: url(toc_bullet.svg);
		margin: 0;
    font-size: 12pt;
    font-weight: 400;
    padding: 0.2rem;
  }
    .toctree-wrapper > ul ul {
      margin-top: 1rem;
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
      gap: .2rem;
    }
    .toctree-wrapper > ul ul a {
      background-color: transparent;
    }
/* tiled TOC with images */

ul.tiled-toc {
  display: grid;
  gap: 1rem;
  grid-auto-flow: row;
  margin: 1rem 0; padding: 0;
  text-align: center;
  margin-top: 2rem;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
}
  ul.tiled-toc li {
    display: block;
    list-style: none;
  }
  ul.tiled-toc li img {
    display: block;
    width: 100%;
    image-rendering: crisp-edges;
    image-rendering: pixelated;
  }
  ul.tiled-toc li img::after {
    content: "";
  }

  ul.tiled-toc a {
    color: black;
    text-decoration: none;
    font-weight: 600;
  }

  @media (prefers-color-scheme: dark) {
    ul.tiled-toc a { color: white; }
  }


table.docutils {
  font-size: 90%;
  box-shadow: none;
  border-collapse: collapse;
  border-spacing: 0;
  border-radius: 0;
  text-align: left;
  border-width: 0;
  box-sizing: border-box;
}
  /* reset crazy */
  table.docutils th, table.docutils tr, table.docutils td {
    background-color: transparent;
    text-align: left;
  }

  table.docutils td, table.docutils th {
    border-width: 0;
    padding: .25rem;
  }
  table.docutils tr {
    border-width: 0;
    border-bottom: 1px solid var(--borders);
  }

  table.docutils thead tr {
    font-weight: 800;
    border-width: 0;
    box-sizing: inherit;
    border-bottom: 2px solid var(--borders);
  }

  .hig-palette-table.align-default {
    display: table;
    width: 100%;
  }

  img.hig-palette-swatch {
    display: block;
    width: 42px;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
  }

  .hig-palette-table colgroup { display: none; }
  .hig-palette-table .stub,
  .hig-palette-table .head.stub {
    width: 50px;
  }

video {
  width: 100%;
  height: auto;
}

footer {
  margin-bottom: 3rem;
}

.sidebar-drawer {

}

.sidebar-brand-text {
  font-family: Cantarell, -apple-system, BlinkMacSystemFont, "Helvetica", sans-serif;
  font-size: 14pt;
  font-weight: 800;
}

.sidebar-search-container,
.sidebar-search {
	border-radius: 99999px;
	border: none;
}
.sidebar-search-container {
	margin: 0 var(--sidebar-item-spacing-horizontal);
	transition: background-color 0.2s linear;
	background-color: rgba(0,0,0,0.06);
}
.sidebar-search-container:hover {
  background-color: rgba(0,0,0,0.09);
}
.sidebar-search-container:focus-within {
  background-color: rgba(0,0,0,0.12);
}

@media (prefers-color-scheme: dark) {
  .sidebar-search-container {
    background-color: rgba(255,255,255,0.06);
  }
  .sidebar-search-container:hover {
    background-color: rgba(255,255,255,0.09);
  }
  .sidebar-search-container:focus-within {
    background-color: rgba(255,255,255,0.12);
  }
}

.sidebar-tree .toctree-l1,
.sidebar-tree .toctree-l2 {
	margin: 1px 12px;
	border-radius: 6px;
  color: var(--link);
}

.sidebar-tree .toctree-l1 > .reference {
  color: var(--link);
}

.sidebar-tree .toctree-l2 {
	margin: 1px 0;
	font-size: 90%;
	text-wrap: balance;
	overflow-wrap: break-word;
	hyphens: manual;
}

.sidebar-tree li > ul {
	margin-left: 0;
}
.sidebar-tree li > ul .reference {
	padding-left: calc(1.5*var(--sidebar-item-spacing-horizontal));
}

.sidebar-tree label[for^="toctree-checkbox"] {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.sidebar-tree li.toctree-l3 a {
  margin: 1px 0;
  padding: var(--sidebar-item-spacing-vertical) var(--sidebar-item-spacing-horizontal)
           var(--sidebar-item-spacing-vertical) calc(2*var(--sidebar-item-spacing-horizontal)) ; /* extra indentation */
}

.sidebar-tree .reference {
	background: rgba(0,0,0,0);
	transition: background 0.2s linear;
	border-radius: 6px;
	padding: var(--sidebar-item-spacing-vertical) calc(0.75*var(--sidebar-item-spacing-horizontal));
}
.sidebar-tree .reference:hover,
.sidebar-tree .current > .reference:hover {
	/* background: var(--color-background-hover); */
	background: rgba(0,0,0,0.03);
}

.sidebar-tree .reference.current {
	background: rgba(0,0,0,0.06);
}
.sidebar-tree .reference.current:hover {
	background: rgba(0,0,0,0.09);
}

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

.theme-toggle {
  display: none; /* just go with auto */
}
