/* Fonts */
@import url("/ibm-plex.css"); /* In case I forget to include it */
@font-face {
  font-family: byte;
  font-display: swap;
  src:
    url("/fonts/byte.woff2") format("woff2"),
    url("/fonts/byte.woff") format("woff");
}
@font-face {
  font-family: codystar;
  font-display: swap;
  src:
    url("/fonts/Codystar-Regular.woff2") format("woff2"),
    url("/fonts/Codystar-Regular.woff") format("woff");
}
@font-face {
  font-family: riotton;
  font-display: swap;
  src:
    url("/fonts/RiotTon.woff2") format("woff2"),
    url("/fonts/RiotTon.woff") format("woff");
}
@font-face {
  font-family: cactus;
  font-display: swap;
  src:
    url("/fonts/CactusClassicalSerif-Regular.min.woff2") format("woff2"),
    url("/fonts/CactusClassicalSerif-Regular.min.woff") format("woff");
}
@font-face {
  font-family: "alien_encountersregular";
  font-display: swap;
  src:
    url("/fonts/alien-encounters-regular-webfont.woff2") format("woff2"),
    url("/fonts/alien-encounters-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: jacquard;
  font-display: swap;
  size-adjust: 120%;
  src:
    url("/fonts/Jacquard12-Regular.woff2") format("woff2"),
    url("/fonts/Jacquard12-Regular.woff") format("woff");
}

#skip a {
  position: absolute;
  left: -10000px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
#skip a:focus {
  position: static;
  width: auto;
  height: auto;
}

.sidebar-drawer {
  grid-column: 1;
  grid-row-end: span 99;
  margin-bottom: 0;
  background: var(--bg);
  color: var(--non-ref-sidebar);
  border: none;
  box-sizing: border-box;
  display: flex;
  width: calc(50% - 28em);
  min-width: 13em;
  justify-content: space-around;
  z-index: 30;
  padding: 0;
}
.sidebar-container {
  box-sizing: border-box;
  width: 12em;
}
.sidebar-sticky {
  display: flex;
  flex-direction: column;
  height: min(100%, 100vh);
  height: 100vh;
  position: sticky;
  top: 0;
}
.sidebar-scroll {
  flex-grow: 1;
  flex-shrink: 1;
  overflow: auto;
  scroll-behavior: smooth;
}
.sidebar-tree {
  font-size: 87.5%;
  margin-bottom: var(--sidebar-item-spacing-vertical);
  margin-top: 5rem;
}
.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: 1rem;
  overflow-wrap: anywhere;
  padding: 0.5rem 1rem;
  text-decoration: none;
  width: 100%;
  color: #666;
}
.sidebar-tree .reference:hover {
  background: var(--color-sidebar-item-background--hover);
}
.sidebar-tree .current > .reference {
  background: var(--color-sidebar-item-background--current);
  font-weight: 700;
}
.sidebar-tree .current > .reference:hover {
  background: var(--color-sidebar-item-background--hover);
}

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

.sidebar-tree .toctree-l1.current > .reference {
  color: var(--accent);
  font-weight: normal;
}
.sidebar-tree li {
  padding: 0 0.5rem;
}
.sidebar-tree .toctree-l1 > .reference {
  padding: 0.3rem 0;
}
.sidebar-tree .toctree-l2 > .reference {
  padding: 0.2rem 1rem;
}
.sidebar-tree li > .reference:hover {
  color: var(--accent);
}
.sidebar-tree .toctree-l1:first-child > .reference {
  font-weight: bold;
}

.sidebar-tree ul {
  border-bottom: 1px solid var(--accent);
  padding: 1em 0;
}

.mobile-header {
  display: none;
  align-items: center;
  justify-content: center;
  height: var(--header-height);
  width: 100%;
  z-index: 10;
  font-family: jacquard;
  font-size: 2rem;
  background-color: var(--bg);
  box-shadow:
    0 0 0.2rem rgba(0, 0, 0, 0.1),
    0 0.2rem 0.4rem rgba(0, 0, 0, 0.2);
}
#hamburger {
  width: 20px;
  height: 20px;
  margin-left: 1rem;
  cursor: pointer;
  position: absolute;
  left: 0;
  stroke: var(--text);
}

#nav-overlay {
  background-color: rgba(0, 0, 0, 0.54);
  height: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition:
    width 0ms,
    height 0ms,
    opacity 0.25s ease-out;
  width: 0;
  z-index: 20;
}
@media (max-width: 67em) {
  .mobile-header {
    display: flex;
    position: sticky;
    top: 0;
  }
  .sidebar-drawer {
    height: 100vh;
    left: -15em;
    position: fixed;
    top: 0;
    border-radius: unset;
  }
  .sidebar-drawer.open {
    left: 0;
  }
  #nav-overlay.open {
    height: 100%;
    width: 100%;
    opacity: 1;
  }
  .sidebar-tree {
    margin-top: 1rem;
  }
}

body {
  font-family: "IBM Plex Sans", var(--sans-font);
}

details,
pre {
  font-family: byte, var(--mono-font);
  font-size: large;
  line-height: 0.9em;
}
h1,
h2,
h3 {
  font-family: "IBM Plex Mono", var(--mono-font);
  font-family: jacquard;
}

/* Margins and spacing */
p {
  margin: 0.8rem 0;
}
li {
  margin: 0.3rem 0;
}
ul.equipment li {
  /* margin: 0.25rem 0; */
  margin: 0rem 0;
}
ul,
ol {
  margin-top: 0;
}
h1,
h2,
h3 {
  line-height: 1.4;
  margin-bottom: 1rem;
  margin-top: 2rem;
}

/* Reduce header size on mobile */
@media only screen and (max-width: 720px) {
  h1 {
    font-size: 2.2rem;
  }

  h2 {
    font-size: 1.75rem;
  }

  h3 {
    font-size: 1.25rem;
  }

  h4 {
    font-size: 1.1rem;
  }
}
.toc_list,
.toc_list ol {
  list-style-type: none;
}

.toc_list {
  padding: 0;
}

.toc_list li {
  margin: 0;
}

.toc_list ol {
  padding-inline-start: 2ch;
}

body > footer {
  padding-top: 1rem;
  margin-top: 2rem;
}
main {
  padding-top: 0;
}

/* Dark theme */
:root,
::backdrop {
  color-scheme: dark;
  --bg: #0c0c0c;
  --accent-bg: #fdd7e4;
  --text: #dfe0e2;
  --text-light: #ababab;
  --border: #f7768e;
  --accent: #f7768e;
  --accent-hover: #ff899d;
  --accent-text: var(--bg);
  --code: #f06292;
  --preformatted: #ccc;
  --disabled: #111;
  --non-ref-sidebar: #888;
}
details,
.notice,
aside,
tr:nth-child(even) {
  color: var(--accent-text);
}
details a,
details a:visited,
.notice a,
.notice a:visited {
  color: #e75480;
}

.super-icon {
  display: inline-block;
  height: 1em;
}

.icon-rss {
  content: url("data:image/svg+xml,%3C%3Fxml%20version=%221.0%22%20encoding=%22utf-8%22%3F%3E%20%3Csvg%20fill=%22%23000000%22%20width=%223rem%22%20height=%223rem%22%20viewBox=%220%200%2032%2032%22%20version=%221.1%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%20%3Ctitle%3Erss%3C/title%3E%20%3Cpath%20d=%22M9.565%2026.319c0-2.161-1.752-3.913-3.912-3.913s-3.913%201.752-3.913%203.913c0%202.161%201.752%203.913%203.913%203.913s3.912-1.752%203.912-3.913zM20.651%2030.231h-5.543c0-7.383-5.985-13.368-13.368-13.368v-5.543c10.444%200%2018.911%208.467%2018.911%2018.911v0zM24.563%2030.231c0-12.605-10.218-22.823-22.823-22.823v-5.706c15.756%200%2028.529%2012.773%2028.529%2028.529h-5.706z%22%3E%3C/path%3E%20%3C/svg%3E");
}
.icon-tumblr {
  content: url("data:image/svg+xml,%3C%3Fxml%20version=%221.0%22%20encoding=%22iso-8859-1%22%3F%3E%20%3C!DOCTYPE%20svg%20PUBLIC%20%22-//W3C//DTD%20SVG%201.1//EN%22%20%22http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd%22%3E%20%3Csvg%20fill=%22%23000000%22%20height=%223rem%22%20width=%223rem%22%20version=%221.1%22%20id=%22Capa_1%22%20xmlns=%22http://www.w3.org/2000/svg%22%20xmlns:xlink=%22http://www.w3.org/1999/xlink%22%20viewBox=%220%200%20260%20260%22%20xml:space=%22preserve%22%3E%20%3Cpath%20d=%22M210.857,197.545c-1.616-0.872-3.584-0.787-5.119,0.223c-11.62,7.638-23.4,11.511-35.016,11.511%20c-6.242,0-11.605-1.394-16.416-4.275c-3.27-1.936-6.308-5.321-7.397-8.263c-1.057-2.797-1.045-10.327-1.029-20.748l0.005-63.543%20h52.795c2.762,0,5-2.239,5-5V62.802c0-2.761-2.238-5-5-5h-52.795V5c0-2.761-2.238-5-5-5h-35.566c-2.528,0-4.658,1.887-4.964,4.397%20c-1.486,12.229-4.258,22.383-8.247,30.196c-3.89,7.7-9.153,14.401-15.651,19.925c-5.206,4.44-14.118,8.736-26.49,12.769%20c-2.058,0.671-3.45,2.589-3.45,4.754v35.41c0,2.761,2.238,5,5,5h28.953v82.666c0,12.181,1.292,21.347,3.952,28.026%20c2.71,6.785,7.521,13.174,14.303,18.993c6.671,5.716,14.79,10.187,24.158,13.298c9.082,2.962,16.315,4.567,28.511,4.567%20c10.31,0,20.137-1.069,29.213-3.179c8.921-2.082,19.017-5.761,30.008-10.934c1.753-0.825,2.871-2.587,2.871-4.524v-39.417%20C213.484,200.108,212.476,198.418,210.857,197.545z%22/%3E%20%3C/svg%3E");
}

.icon-bsky {
  content: url("data:image/svg+xml,%3C%3Fxml%20version=%221.0%22%20encoding=%22UTF-8%22%3F%3E%3Csvg%20width=%22600%22%20height=%22530%22%20version=%221.1%22%20xmlns=%22http://www.w3.org/2000/svg%22%3E%3Cpath%20d=%22m135.72%2044.03c66.496%2049.921%20138.02%20151.14%20164.28%20205.46%2026.262-54.316%2097.782-155.54%20164.28-205.46%2047.98-36.021%20125.72-63.892%20125.72%2024.795%200%2017.712-10.155%20148.79-16.111%20170.07-20.703%2073.984-96.144%2092.854-163.25%2081.433%20117.3%2019.964%20147.14%2086.092%2082.697%20152.22-122.39%20125.59-175.91-31.511-189.63-71.766-2.514-7.3797-3.6904-10.832-3.7077-7.8964-0.0174-2.9357-1.1937%200.51669-3.7077%207.8964-13.714%2040.255-67.233%20197.36-189.63%2071.766-64.444-66.128-34.605-132.26%2082.697-152.22-67.108%2011.421-142.55-7.4491-163.25-81.433-5.9562-21.282-16.111-152.36-16.111-170.07%200-88.687%2077.742-60.816%20125.72-24.795z%22%20fill=%22%231185fe%22/%3E%3C/svg%3E%0A");
}

.icon-insta {
  content: url("data:image/svg+xml,%3C%3Fxml%20version=%221.0%22%20encoding=%22UTF-8%22%20standalone=%22no%22%3F%3E%3Csvg%20xmlns=%22http://www.w3.org/2000/svg%22%20viewBox=%220%200%20512%20512%22%3E%3Cpath%20style=%22fill:%23000000%22%20d=%22M256,49.471c67.266,0,75.233.257,101.8,1.469,24.562,1.121,37.9,5.224,46.778,8.674a78.052,78.052,0,0,1,28.966,18.845,78.052,78.052,0,0,1,18.845,28.966c3.45,8.877,7.554,22.216,8.674,46.778,1.212,26.565,1.469,34.532,1.469,101.8s-0.257,75.233-1.469,101.8c-1.121,24.562-5.225,37.9-8.674,46.778a83.427,83.427,0,0,1-47.811,47.811c-8.877,3.45-22.216,7.554-46.778,8.674-26.56,1.212-34.527,1.469-101.8,1.469s-75.237-.257-101.8-1.469c-24.562-1.121-37.9-5.225-46.778-8.674a78.051,78.051,0,0,1-28.966-18.845,78.053,78.053,0,0,1-18.845-28.966c-3.45-8.877-7.554-22.216-8.674-46.778-1.212-26.564-1.469-34.532-1.469-101.8s0.257-75.233,1.469-101.8c1.121-24.562,5.224-37.9,8.674-46.778A78.052,78.052,0,0,1,78.458,78.458a78.053,78.053,0,0,1,28.966-18.845c8.877-3.45,22.216-7.554,46.778-8.674,26.565-1.212,34.532-1.469,101.8-1.469m0-45.391c-68.418,0-77,.29-103.866,1.516-26.815,1.224-45.127,5.482-61.151,11.71a123.488,123.488,0,0,0-44.62,29.057A123.488,123.488,0,0,0,17.3,90.982C11.077,107.007,6.819,125.319,5.6,152.134,4.369,179,4.079,187.582,4.079,256S4.369,333,5.6,359.866c1.224,26.815,5.482,45.127,11.71,61.151a123.489,123.489,0,0,0,29.057,44.62,123.486,123.486,0,0,0,44.62,29.057c16.025,6.228,34.337,10.486,61.151,11.71,26.87,1.226,35.449,1.516,103.866,1.516s77-.29,103.866-1.516c26.815-1.224,45.127-5.482,61.151-11.71a128.817,128.817,0,0,0,73.677-73.677c6.228-16.025,10.486-34.337,11.71-61.151,1.226-26.87,1.516-35.449,1.516-103.866s-0.29-77-1.516-103.866c-1.224-26.815-5.482-45.127-11.71-61.151a123.486,123.486,0,0,0-29.057-44.62A123.487,123.487,0,0,0,421.018,17.3C404.993,11.077,386.681,6.819,359.866,5.6,333,4.369,324.418,4.079,256,4.079h0Z%22/%3E%20%3Cpath%20style=%22fill:%23000000%22%20d=%22M256,126.635A129.365,129.365,0,1,0,385.365,256,129.365,129.365,0,0,0,256,126.635Zm0,213.338A83.973,83.973,0,1,1,339.974,256,83.974,83.974,0,0,1,256,339.973Z%22/%3E%3Ccircle%20style=%22fill:%23000000%22%20cx=%22390.476%22%20cy=%22121.524%22%20r=%2230.23%22/%3E%3C/svg%3E%0A");
  padding: 0 0.1em;
}

input[type="checkbox"]:checked::after {
  font-size: 1.8rem;
  top: 0.07em;
  left: 0.19em;
}
