@charset "UTF-8";
@import "https://fonts.googleapis.com/css2?family=Open Sans:ital,wght@0,400..700;1,400..700&display=swap";
@import "https://fonts.googleapis.com/css2?family=PT Serif:ital,wght@0,400;0,700;1,400;1,700&display=swap";
@import "https://fonts.googleapis.com/css2?family=Inconsolata:ital,wght@0,400..700;1,400..700&display=swap";

/* ../../css/targets/html/default-modern/theme-default-modern.scss */
:root {
  --base-content-width: 600px;
  --content-padding: 48px;
}
body {
  margin: 0;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}
body.pretext {
  color: var(--body-text-color);
  font-family: var(--font-body);
}
.ptx-page {
  position: relative;
  display: flex;
  flex-grow: 1;
  width: 100%;
}
.ptx-main {
  flex-grow: 1;
  position: relative;
  max-width: 100%;
  container-name: ptx-main;
  container-type: inline-size;
}
.ptx-main .ptx-content {
  max-width: 696px;
  padding: 24px 48px 60px;
}
.worksheet .ptx-main .ptx-content {
  max-width: 960px;
}
.ptx-page {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}
body.pretext,
body.standalone {
  margin: 0;
  padding: 0;
  font-size: 16px;
  background: var(--page-color, white);
}
body.pretext > a.assistive {
  padding: 6px;
  position: absolute;
  top: -40px;
  left: 0px;
  color: white;
  border-right: 1px solid white;
  border-bottom: 1px solid white;
  border-bottom-right-radius: 8px;
  background: #BF1722;
  z-index: 10000;
}
body.pretext > a.assistive:focus {
  top: 0px;
  outline: 0;
  transition: top 0.1s ease-in, background 0.5s linear;
}
.ptx-content-footer {
  display: flex;
  justify-content: space-around;
  max-width: 696px;
  padding-top: 2em;
  padding-bottom: 2em;
  padding-left: 48px;
  padding-right: 48px;
}
.ptx-content-footer .button {
  font: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  gap: 10px;
  min-height: 34px;
  color: var(--button-text-color);
  background-color: var(--button-background);
  border-width: 1px;
  border-color: var(--button-border-color);
  border-style: solid;
  border-radius: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  user-select: none;
}
.ptx-content-footer .button:hover:not(.disabled) {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.ptx-content-footer .button:focus-visible {
  outline: 2px solid var(--button-text-color);
  outline-offset: -2px;
}
.ptx-content-footer .button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.ptx-content-footer .button.hidden {
  display: none;
}
.ptx-content-footer .button.open {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.ptx-content-footer .button .icon {
  margin: 0 -7px;
}
.ptx-masthead {
  position: relative;
  background: var(--banner-background);
  width: 100%;
  display: flex;
  justify-content: center;
}
.ptx-masthead .ptx-banner {
  border-top: 1px solid transparent;
  overflow: hidden;
  padding: 10px 10px;
  border-bottom: none;
  display: flex;
  width: 100%;
  align-items: center;
  max-width: 1200px;
}
.ptx-masthead a {
  color: var(--doc-title-color, #2a5ea4);
}
.ptx-masthead a:active {
  color: var(--link-active-text-color);
}
.ptx-masthead .title-container {
  font-family: var(--font-headings);
  font-size: 2em;
  padding-left: 9.68px;
  overflow: hidden;
  flex: 1;
}
.ptx-masthead .title-container .heading {
  font-weight: 700;
  font-size: 100%;
  line-height: 1.25em;
}
.ptx-masthead .title-container .title:has(+ .subtitle)::after {
  content: ":";
}
.ptx-masthead .title-container .subtitle {
  font-weight: normal;
}
.ptx-masthead .logo-link {
  height: 5em;
  display: flex;
}
.ptx-masthead .logo-link img {
  max-height: 100%;
}
.ptx-masthead .logo-link img[src$=".svg"] {
  height: 100%;
}
.ptx-masthead .byline {
  color: var(--byline-color);
  font-weight: normal;
  margin: 0;
  font-size: 62.5%;
  min-height: inherit;
}
@media screen and (max-width: 800px) {
  .ptx-masthead {
    border-bottom: 1px solid var(--page-border-color);
  }
  .ptx-masthead .ptx-banner {
    padding: 10px 28px;
    display: flex;
    justify-content: center;
  }
  .ptx-masthead .logo-link::before {
    font-size: 1rem;
    margin-top: 0;
  }
  .ptx-masthead .title-container {
    width: fit-content;
    flex: unset;
  }
  .ptx-masthead .title-container .heading {
    line-height: 1em;
  }
  .ptx-masthead .title-container .heading .subtitle {
    display: block;
    font-size: 80%;
    line-height: 1em;
  }
  .ptx-masthead .byline {
    font-size: 50%;
  }
}
@media screen and (width <= 480px) {
  .ptx-masthead .title-container {
    padding: 0;
    text-align: center;
    font-size: 1em;
  }
  .ptx-masthead .logo-link {
    display: none;
  }
  .ptx-masthead .byline {
    display: none;
  }
}
.ptx-navbar {
  position: sticky;
  top: 0;
  height: 36px;
  width: 100%;
  background: var(--navbar-background);
  border: 0;
  border-top: 1px solid var(--page-border-color);
  border-bottom: 1px solid var(--page-border-color);
  margin: 0;
  z-index: 500;
  overflow: visible;
  display: flex;
}
.ptx-navbar .ptx-navbar-contents {
  position: relative;
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
}
.ptx-navbar .button {
  font: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  gap: 10px;
  min-height: 34px;
  color: var(--button-text-color);
  background-color: var(--button-background);
  border-width: 1px;
  border-color: var(--button-border-color);
  border-style: solid;
  border-radius: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  user-select: none;
}
.ptx-navbar .button:hover:not(.disabled) {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.ptx-navbar .button:focus-visible {
  outline: 2px solid var(--button-text-color);
  outline-offset: -2px;
}
.ptx-navbar .button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.ptx-navbar .button.hidden {
  display: none;
}
.ptx-navbar .button.open {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.ptx-navbar .button {
  height: 100%;
  border-width: 0;
}
.ptx-navbar .toc-toggle {
  width: 240px;
  gap: 0.4em;
  margin-left: 0;
}
.ptx-navbar :is(.treebuttons, .nav-runestone-controls, .nav-other-controls) {
  display: flex;
}
.ptx-navbar .treebuttons {
  flex: 1 1 210px;
  justify-content: end;
}
.ptx-navbar .nav-runestone-controls {
  flex: 1 1 70px;
  justify-content: end;
}
.ptx-navbar .pretext .navbar .dropdown {
  height: 34px;
}
.ptx-navbar .embed-popup {
  padding: 10px;
  background-color: var(--navbar-background);
  position: absolute;
  margin-top: 36px;
  border: 1px solid var(--page-border-color);
  border-radius: 3px;
  box-shadow: 0 0 5px var(--primary-color-gray-80);
}
.ptx-navbar .embed-popup .embed-code-container {
  width: "100%";
  padding: 5px;
}
.ptx-navbar .embed-popup .embed-code-container .embed-code-textbox {
  width: 100%;
  padding: 10px;
  height: 5em;
}
.ptx-navbar .treebuttons > * {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 75px;
}
.ptx-navbar .treebuttons .icon {
  margin: 0 -7px;
}
.ptx-navbar :is(.index-button) .icon {
  display: none;
}
.ptx-navbar :is(.runestone-profile, .activecode-toggle, .searchbutton, .calculator-toggle, .light-dark-button, .embed-button) .name {
  display: none;
}
.ptx-navbar .index-button {
  min-width: 70px;
}
.ptx-navbar .runestone-profile {
  position: relative;
}
.ptx-navbar .runestone-profile .dropdown-content {
  display: hidden;
  position: absolute;
  background-color: var(--dropdown-background);
  min-width: 160px;
  z-index: 100;
  border: 1px solid var(--dropdown-border-color);
  right: 0;
  top: 35px;
  text-align: start;
  padding: 0;
}
.ptx-navbar .runestone-profile .dropdown-content a {
  display: block;
  text-decoration: none;
  color: var(--dropdown-text-color);
  padding: 2px 8px;
}
.ptx-navbar .runestone-profile .dropdown-content a:is(:hover, :focus-visible) {
  background-color: var(--dropdown-hover-background);
  color: var(--dropdown-hover-text-color);
}
.ptx-navbar .runestone-profile .dropdown-content hr {
  color: var(--dropdown-border-color);
  margin: 4px 0;
}
.ptx-navbar .runestone-profile:is(:hover, :focus-visible, :focus-within) {
  overflow: visible;
}
.ptx-navbar .runestone-profile:is(:hover, :focus-visible, :focus-within) .dropdown-content {
  display: block;
}
@media screen and (max-width: 800px) {
  .ptx-navbar .button {
    border-left-width: 1px;
    border-right-width: 1px;
    border-color: var(--page-border-color);
  }
  .ptx-navbar > *:not(:first-child) {
    margin-left: -1px;
  }
  .ptx-navbar {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1100;
    background: var(--button-border-color);
    max-width: 100vw;
  }
  .ptx-navbar .ptx-navbar-contents {
    max-width: 100vw;
  }
  .ptx-navbar .nav-runestone-controls {
    flex: 0;
  }
  .ptx-navbar .toc-toggle {
    flex: 2 1 100px;
  }
  .ptx-navbar .treebuttons {
    flex: 3 1 150px;
  }
  .ptx-navbar .treebuttons > * {
    flex: 1 1;
    min-width: 35px;
  }
  .ptx-navbar .index-button {
    display: none;
  }
  .ptx-navbar .embed-popup {
    margin-top: unset;
    bottom: 36px;
  }
  .ptx-navbar .dropdown-content {
    top: unset;
    bottom: 36px;
  }
  .ptx-navbar :is(.toc-toggle, .previous-button, .up-button, .next-button, .calculator-toggle, .index-button, .embed-button) .name {
    display: none;
  }
}
.ptx-sidebar {
  align-self: flex-start;
}
.ptx-sidebar.visible {
  display: block;
}
.ptx-sidebar.hidden {
  display: none;
  height: 0;
}
.ptx-toc {
  --codenumber-pad-left: 0.3rem;
  --codenumber-pad-right: 0.5rem;
  --toc-indent-first: calc(1.0rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));
  --toc-indent-second: calc(1.7rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));
  --toc-indent-third: calc(2.2rem + var(--codenumber-pad-left) + var(--codenumber-pad-right));
  background: var(--toc-background);
  margin: 0;
  font-size: 0.9rem;
}
.ptx-toc:is(.depth1, .parts.depth2) {
  --codenumber-pad-right: 0.5rem;
}
.ptx-toc .toc-item-list {
  margin: 0;
  padding: 0;
  list-style: none;
  background: var(--tocitem-background);
}
.ptx-toc .toc-item-list .active {
  list-style: none;
}
.ptx-toc .toc-item {
  background-color: var(--tocitem-background);
  color: var(--toc-text-color);
  border-color: var(--toc-border-color);
}
.ptx-toc .toc-item a {
  color: inherit;
}
.ptx-toc .toc-item.active:not(:has(.toc-item.active)) {
  color: var(--tocitem-active-text-color) !important;
  background-color: var(--tocitem-active-background) !important;
  border-color: var(--tocitem-active-border-color) !important;
}
.ptx-toc .toc-item > .toc-title-box > a:is(:hover, :focus) {
  color: var(--tocitem-highlight-text-color);
  background-color: var(--tocitem-highlight-background);
  border-color: var(--tocitem-highlight-border-color);
}
.ptx-toc .toc-title-box {
  display: flex;
}
.ptx-toc .toc-title-box > .internal {
  position: relative;
  display: flex;
  flex-grow: 1;
  padding: 0.2em;
  font-weight: 500;
}
.ptx-toc .toc-item-list .toc-item-list .toc-title-box > .internal {
  font-weight: normal;
}
.ptx-toc .codenumber {
  min-width: var(--toc-indent-first);
  padding-left: var(--codenumber-pad-left);
  padding-right: var(--codenumber-pad-right);
  display: inline-block;
  text-align: left;
  flex-grow: 0;
}
.ptx-toc .toc-item {
  color: var(--toclevel1-text-color);
  background-color: var(--toclevel1-background);
}
.ptx-toc .toc-item .toc-item {
  color: var(--toclevel2-text-color);
  background-color: var(--toclevel2-background);
}
.ptx-toc .toc-item .toc-item .toc-item {
  color: var(--toclevel3-text-color);
  background-color: var(--toclevel3-background);
}
.book .ptx-toc .toc-chapter .toc-item-list .codenumber,
.article .ptx-toc .toc-section .toc-item-list .codenumber,
.ptx-toc .toc-backmatter .toc-item-list .codenumber {
  font-size: 80%;
  padding-top: 0.16em;
  min-width: var(--toc-indent-second);
}
.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .codenumber,
.article .ptx-toc .toc-section .toc-item-list .toc-item-list .codenumber,
.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .codenumber {
  min-width: var(--toc-indent-third);
  visibility: hidden;
}
.ptx-toc .toc-item-list .toc-item-list .toc-item-list a:is(:hover, :focus) > .codenumber {
  visibility: visible;
}
.ptx-toc .toc-item .toc-title-box .title {
  margin-left: var(--toc-indent-first);
}
.book .ptx-toc .toc-chapter .toc-item-list .title,
.article .ptx-toc .toc-section .toc-item-list .title,
.ptx-toc .toc-backmatter .toc-item-list .title {
  margin-left: var(--toc-indent-second);
}
.book .ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,
.article .ptx-toc .toc-section .toc-item-list .toc-item-list .title,
.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title {
  margin-left: var(--toc-indent-third);
}
.ptx-toc .toc-item > .toc-title-box .codenumber + .title {
  margin-left: 0 !important;
}
.ptx-toc .toc-chapter .toc-item-list .title,
.ptx-toc .toc-section .toc-item-list .title,
.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .title {
  font-size: 90%;
}
.ptx-toc .toc-chapter .toc-item-list .toc-item-list .title,
.ptx-toc .toc-section .toc-item-list .toc-item-list .title,
.ptx-toc .toc-backmatter .toc-item-list .toc-item-list .toc-item-list .title {
  font-style: italic;
}
.ptx-toc.depth0 ul.structural {
  display: none;
}
.ptx-toc.depth1 ul.structural ul.structural {
  display: none;
}
.ptx-toc.depth2 ul.structural ul.structural ul.structural {
  display: none;
}
.ptx-toc.depth3 ul.structural ul.structural ul.structural ul.structural {
  display: none;
}
.ptx-toc.depth4 ul.structural ul.structural ul.structural ul.structural ul.structural {
  display: none;
}
.ptx-toc.depth1 ul.structural .toc-item.contains-active {
  background-color: var(--tocitem-active-backgrounde);
  color: var(--tocitem-active-text-color);
}
.ptx-toc.depth2 ul.structural ul.structural .toc-item.contains-active {
  background-color: var(--tocitem-active-background);
  color: var(--tocitem-active-text-color);
}
.ptx-toc.focused ul.structural:not(.contains-active) > .toc-item {
  display: none;
}
.ptx-toc.focused ul.structural:not(.contains-active) > .toc-item.visible {
  display: block;
}
.ptx-toc.focused ul.structural .toc-item.active > ul.structural > .toc-item {
  display: block;
}
.ptx-toc.focused ul.structural .toc-item.active > ul.structural > .toc-item.hidden {
  display: none;
}
.ptx-toc.focused .toc-expander {
  border: 0;
  padding: 2px 5px;
  background: inherit;
  color: inherit;
  display: flex;
  align-items: center;
}
.ptx-toc.focused .toc-expander .icon {
  font-size: 30px;
  line-height: 18px;
  font-variation-settings: "wght" 200;
}
.ptx-toc.focused .toc-expander:is(:hover) {
  background-color: var(--tocitem-highlight-background);
  color: var(--tocitem-highlight-text-color);
}
.ptx-toc.focused .toc-expander:is(:hover) .icon {
  fill: var(--tocitem-highlight-text-color);
}
.ptx-toc.focused .toc-item.expanded > .toc-title-box > .toc-expander > .icon {
  transform: rotate(-90deg);
}
.ptx-sidebar {
  flex: 0 0 240px;
  position: sticky;
  top: 36px;
  overflow-y: hidden;
}
.ptx-toc {
  position: sticky;
  top: 36px;
  overflow-y: auto;
  overflow-x: hidden;
  height: calc(100vh - 36px);
  margin-top: -1px;
}
.ptx-toc > .toc-item-list:first-child > .toc-item:last-child {
  border-bottom: 3px solid var(--toc-border-color);
}
@media screen and (max-width: 936px) {
  .ptx-sidebar {
    display: none;
    position: sticky;
    top: 36px;
    background: var(--content-background);
    min-height: 30vh;
    border-right: 2px solid var(--toc-border-color);
    border-bottom: 2px solid var(--toc-border-color);
    width: 240px;
  }
}
@media screen and (max-width: 800px) {
  .ptx-sidebar {
    position: fixed;
    z-index: 1000;
    top: unset;
    height: auto;
    max-height: 80vh;
    max-width: 80vw;
    bottom: 36px;
    border-right: 2px solid var(--toc-border-color);
    border-top: 2px solid var(--toc-border-color);
  }
  .ptx-toc {
    border-top: 2px solid var(--toc-border-color);
    border-bottom: 0;
    max-height: 80vh;
  }
}
.ptx-page-footer {
  background: var(--footer-background);
  padding-top: 0;
  border-top: 2px solid var(--page-border-color);
  border-bottom: 2px solid var(--page-border-color);
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  gap: 90px;
  position: relative;
}
.ptx-page-footer > a {
  margin: 1em 0;
  color: var(--body-text-color);
}
.ptx-page-footer > a > .logo:first-child {
  height: 3em;
  width: unset;
  margin: 0;
}
.ptx-page-footer .feedback-link {
  font: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  gap: 10px;
  min-height: 34px;
  color: var(--button-text-color);
  background-color: var(--button-background);
  border-width: 1px;
  border-color: var(--button-border-color);
  border-style: solid;
  border-radius: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  user-select: none;
}
.ptx-page-footer .feedback-link:hover:not(.disabled) {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.ptx-page-footer .feedback-link:focus-visible {
  outline: 2px solid var(--button-text-color);
  outline-offset: -2px;
}
.ptx-page-footer .feedback-link.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.ptx-page-footer .feedback-link.hidden {
  display: none;
}
.ptx-page-footer .feedback-link.open {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
@media screen and (max-width: 800px) {
  .ptx-page-footer {
    gap: 20px;
    justify-content: center;
    margin-bottom: 34px;
  }
  .ptx-page-footer > a > .logo:first-child {
    height: 2em;
  }
}
@container ptx-main (width < 696px) {
  .ptx-page > .ptx-main .ptx-content {
    padding-left: 28px;
    padding-right: 28px;
    max-width: calc(600px + 2 * 28px);
  }
}
.aside-like {
  position: absolute;
  margin-left: 45%;
  max-width: 495px;
  max-height: 7em;
  overflow: hidden;
  border: none;
  padding: 4px 10px 0 10px;
  background-color: var(--aside-like-body-background);
  z-index: 100;
  margin-bottom: 5px;
}
.example-like .aside-like {
  margin-top: 0;
  position: absolute;
}
.aside-like {
  font-size: 90%;
}
.aside-like .para {
  overflow-x: auto;
}
.aside-like:first-child {
  margin-top: -2.25em;
}
.aside-like:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0em;
  bottom: 0;
  left: 0;
  pointer-events: none;
  background-image:
    linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0),
      var(--content-background) 50%);
  width: 550px;
  height: 8em;
}
.aside-like.front,
.example-like .aside-like.front {
  position: relative;
  z-index: 0;
  padding: 8px 15px 10px 15px;
  padding: 2px 10px;
  margin: 5px 0px 5px 10px;
  border: 2px solid var(--aside-like-border-color);
  max-height: none;
  max-width: 550px;
  color: inherit;
  font-size: 100%;
  box-shadow: none;
}
.aside-like.front:after,
.example-like .aside-like.front:after {
  background-image: none;
}
.example-like .aside-like.front {
  margin-top: 1.25em;
}
.aside-like.front + p {
  margin-top: 1.25em !important;
  padding-top: 0;
}
.aside-like .aside-like {
  background-color: var(--aside-like-body-background);
  border: 1px dotted var(--aside-like-border-color);
}
article.aside-like > p:first-child {
  margin-top: 0;
}
.aside-like > .heading {
  font-size: 95%;
}
.aside-like + * {
  margin-top: 3em;
  margin-right: 3em;
}
@media screen and (min-width: 943px) {
  .aside-like + * {
    margin-right: 0;
  }
}
@media screen and (min-width: 1100px) {
  .aside-like,
  .aside-like.front,
  .example-like .aside-like,
  .example-like .aside-like.front {
    position: absolute;
    margin-top: -2em;
    margin-left: 660px;
    max-width: 200px;
    width: 200px;
    color: inherit;
  }
  .aside-like.front,
  .example-like .aside-like.front {
    max-height: none;
    max-width: 223px;
    border: 2px solid var(--aside-like-border-color);
  }
  .example-like .aside-like,
  .example-like .aside-like.front {
    margin-left: 654px;
  }
  .aside-like + * {
    margin-top: 1.25em;
    margin-right: 0;
  }
  .aside-like + .solutions,
  .aside-like + .instructions {
    margin-top: 0;
  }
  .aside-like.front:after,
  .example-like .aside-like.front:after {
    background-image: none;
  }
  .aside-like:nth-of-type(3n+1) {
    margin-left: 660px;
  }
  .aside-like:nth-of-type(3n) {
    margin-left: 680px;
  }
  .aside-like:nth-of-type(3n+2) {
    margin-left: 640px;
  }
}
.aside-like:hover:after,
.aside-like:focus:after {
  top: 3em;
  height: auto;
  background-image: none;
}
.aside-like:hover,
.aside-like:focus {
  color: inherit;
  padding: 2px 8px 0 8px;
  border: 2px solid var(--aside-like-border-color);
  height: auto;
  max-height: none;
}
.aside-like.front:hover,
.aside-like.front:focus {
  padding: 4px 10px;
}
section dl dd .aside-like {
  margin-top: 0 !important;
  margin-left: 100px !important;
}
section dl dd .aside-like.front {
  margin-left: -300px !important;
}
@media screen and (max-width: 1099px) {
  .aside-like {
    position: relative;
    float: right;
    z-index: 0;
    overflow-x: hidden;
    margin-left: 1em;
    margin-top: 1em;
    max-width: 195px;
    max-height: 4em;
    margin-right: -8em;
  }
  li > .aside-like:last-child {
    position: absolute;
  }
}
.code-box {
  overflow-x: auto;
}
.console,
.program {
  border: 1px solid var(--page-border-color);
  padding: 5px 15px;
  overflow-x: auto;
  font-family: var(--font-monospace);
  font-size: 0.93rem;
  line-height: 1.2;
}
.code-inline {
  font-family: var(--font-monospace);
  white-space: pre;
  color: var(--body-text-color);
  background: var(--code-inline);
  border: 1px solid color-mix(in oklab, var(--code-inline) 50%, #888);
  padding: 0.0625em 0.125em;
  border-radius: 0.2em;
}
.prompt.unselectable {
  user-select: none;
}
.code-block {
  border-left: 1px solid #aaa;
  padding: 0 15px 5px;
  overflow-x: auto;
  font-family: var(--font-monospace);
  font-size: 0.93rem;
  line-height: 1.2;
}
.code-block::before {
  content: " ";
  font-size: 50%;
  border-top: 1px solid #aaa;
  display: block;
  margin-right: auto;
  margin-left: -15px;
  width: 3em;
}
:is(.cols2, .cols3, .cols4, .cols5, .cols6) {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
}
.cols2 > .exercise-like {
  min-width: calc(50% - 2em);
  width: min-content;
  margin-right: 2em;
}
.cols3 > .exercise-like {
  min-width: calc(33.3333333333% - 2em);
  width: min-content;
  margin-right: 2em;
}
.cols4 > .exercise-like {
  min-width: calc(25% - 2em);
  width: min-content;
  margin-right: 2em;
}
.cols5 > .exercise-like {
  min-width: calc(20% - 2em);
  width: min-content;
  margin-right: 2em;
}
.cols6 > .exercise-like {
  min-width: calc(16.6666666667% - 2em);
  width: min-content;
  margin-right: 2em;
}
.exercise-like > .heading {
  font-size: inherit;
}
.exercisegroup .exercise-like {
  margin-top: 1em;
}
.exercisegroup > .heading {
  font-size: 1.1em;
  line-height: 1.05em;
  margin-top: 0.75em;
  display: inline;
}
.exercisegroup > .heading + .introduction {
  display: inline;
}
.exercisegroup > .heading + .introduction > .para:first-child {
  display: inline;
}
.exercisegroup .exercisegroup-exercises {
  margin-top: 1em;
  padding-left: 40px;
}
.exercisegroup .conclusion {
  margin-left: 40px;
}
.exercisegroup .conclusion .heading {
  font-size: inherit;
}
.exercise-like > .exercise-like.task {
  margin-left: 20px;
}
.exercise-wrapper form button:hover {
  cursor: pointer;
  background-color: #e0e0ff;
  border: 1px solid #000;
}
.exercise-wrapper form button:active {
  background-color: #f0f0f0;
}
.exercise-wrapper form button + button {
  margin-left: 0.8em;
}
.exercise-wrapper,
.exercise-wrapper form,
.exercise-wrapper form > div:first-child {
  display: inline-block;
  vertical-align: top;
  width: 100%;
}
.knowl .exercise-wrapper,
.knowl .exercise-wrapper form,
.knowl .exercise-wrapper form > div:first-child {
  width: 100%;
}
.exercise-wrapper > .para:first-child,
.exercisegroup .exercise-wrapper > .para:first-child {
  margin-top: 0;
  display: inline;
}
.heading + .exercise-wrapper {
  display: inline-block;
  max-width: 95%;
  width: 100%;
}
.cols2 .heading + .exercise-wrapper {
  width: auto;
}
section.solutions > .heading + .heading {
  margin-top: 0.5em;
}
section.solutions > h3.heading,
section.solutions section > h3.heading {
  font-size: 1.6em;
}
section.solutions > h4.heading,
section.solutions section > h4.heading {
  font-size: 1.45em;
}
section.solutions > h5.heading,
section.solutions section > h5.heading {
  font-size: 1.35em;
}
section.solutions > h6.heading,
section.solutions section > h6.heading {
  font-size: 1.25em;
}
.sbsgroup > *:not(:first-child) {
  margin-top: 1.5em;
}
.sidebyside {
}
.sidebyside .sbsrow {
  display: flex;
  justify-content: space-between;
}
.sidebyside .sbspanel {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.sidebyside .sbspanel.middle {
  justify-content: center;
}
.sidebyside .sbspanel.bottom {
  justify-content: flex-end;
}
.sidebyside .sbspanel.fixed-width {
  align-items: center;
}
.sidebyside .sbspanel > *:first-child {
  margin-top: 0;
}
.sidebyside .sbspanel table {
  overflow-x: auto;
  margin-left: auto;
  margin-right: auto;
}
.sidebyside .sbspanel .program {
  max-width: 100%;
}
.discussion-like > .heading:first-child {
  display: inline;
  line-height: initial;
  border-bottom: 0;
}
.discussion-like > .heading:first-child:after {
  content: "\2009";
}
.discussion-like > .heading:first-child + .para {
  display: inline;
}
.discussion-like > .heading:first-child + .introduction {
  display: inline;
}
.discussion-like > .heading:first-child + .introduction > .para:first-child {
  display: inline;
}
.discussion-like > .heading ::after {
  content: "\2009";
}
.discussion-like > .heading + .para {
  display: inline;
}
.discussion-like > .heading .space,
.discussion-like > .heading .codenumber,
.discussion-like > .heading .period {
  display: none;
}
.discussion-like > .heading .type::after {
  content: ". ";
}
.source-view__link,
.knowl__link {
  cursor: pointer;
  margin-left: 0.1em;
  margin-right: 0.1em;
  color: var(--knowl-link-color);
  border-bottom: 1px dotted var(--knowl-link-color);
}
.source-view {
  margin: 0.5em 0;
}
summary.source-view__link,
summary.knowl__link {
  display: list-item inline;
}
.source-view__link > *,
.knowl__link > * {
  display: inline;
}
.source-view__link:is(:hover, :focus, [open]),
.knowl__link:is(:hover, :focus, [open]) {
  background-color: var(--knowl-background);
  border-bottom-color: transparent;
}
.source-view__content {
  margin: 0.2em 0;
}
.knowl__content {
  margin: 0.75em 0;
  border: 3px solid var(--knowl-border-color);
  border-radius: 8px;
  padding: 12px;
  background-color: var(--knowl-background);
}
.knowl__content .incontext {
  display: block;
  font-size: 85%;
  text-align: right;
}
.knowl__content .knowl__content {
  background-color: var(--knowl-nested-1-background);
}
.knowl__content .knowl__content .knowl__content {
  background-color: var(--knowl-nested-2-background);
}
.knowl__content .knowl__content .knowl__content .knowl__content {
  background-color: var(--knowl-nested-3-background);
}
.knowl__content .knowl__content .knowl__content .knowl__content .knowl__content {
  background-color: var(--knowl-nested-4-background);
}
.knowl__content > figure {
  margin-left: 0;
  margin-right: 0;
}
.assemblage-like:not(.knowl__content, .born-hidden-knowl) {
  border: 2px solid var(--assemblage-like-border-color);
  background-color: var(--assemblage-like-body-background);
  padding: 10px;
  border-radius: 8px;
}
.assemblage-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child {
  display: block;
  color: var(--block-head-color);
  margin-bottom: 0.5em;
}
.assemblage-like:not(.knowl__content, .born-hidden-knowl) > *:first-child {
  margin-top: 0;
}
.goal-like:not(.knowl__content, .born-hidden-knowl) {
  border: 3px solid var(--goal-like-border-color);
  background-color: var(--goal-like-body-background);
  padding: 20px;
  padding-top: calc(20px + 0.25ex);
  margin-top: 2.5em !important;
}
.goal-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child {
  background-color: var(--content-background);
  display: block;
  color: var(--block-head-color);
  margin-bottom: 0.5em;
  padding: 5px 10px;
  margin-top: calc(-25px - 1.65ex);
  width: fit-content;
  border: 0;
}
.goal-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child:after {
  display: none;
}
.knowl__content *:first-child .goal-like {
  margin-top: 1em;
}
.theorem-like:not(.knowl__content, .born-hidden-knowl),
.definition-like:not(.knowl__content, .born-hidden-knowl),
.example-like:not(.knowl__content, .born-hidden-knowl),
.project-like:not(.knowl__content, .born-hidden-knowl),
.remark-like:not(.knowl__content, .born-hidden-knowl),
.openproblem-like:not(.knowl__content, .born-hidden-knowl),
.computation-like:not(.knowl__content, .born-hidden-knowl) {
  padding-left: 10px;
  border-left: 2px solid var(--block-border-color);
}
.theorem-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child,
.definition-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child,
.example-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child,
.project-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child,
.remark-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child,
.openproblem-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child,
.computation-like:not(.knowl__content, .born-hidden-knowl) > .heading:first-child {
  color: var(--block-head-color);
}
.theorem-like:not(.knowl__content, .born-hidden-knowl)::after,
.definition-like:not(.knowl__content, .born-hidden-knowl)::after,
.example-like:not(.knowl__content, .born-hidden-knowl)::after,
.project-like:not(.knowl__content, .born-hidden-knowl)::after,
.remark-like:not(.knowl__content, .born-hidden-knowl)::after,
.openproblem-like:not(.knowl__content, .born-hidden-knowl)::after,
.computation-like:not(.knowl__content, .born-hidden-knowl)::after {
  content: "";
  border-bottom: 2px solid var(--block-border-color);
  display: block;
  margin-right: auto;
  margin-left: -10px;
  padding-top: 10px;
  width: 1.5em;
}
.knowl__content .theorem-like,
.knowl__content .definition-like,
.knowl__content .example-like,
.knowl__content .project-like,
.knowl__content .remark-like,
.knowl__content .openproblem-like,
.knowl__content .computation-like {
  padding-left: 0;
  border-left: 0;
}
.knowl__content .theorem-like::after,
.knowl__content .definition-like::after,
.knowl__content .example-like::after,
.knowl__content .project-like::after,
.knowl__content .remark-like::after,
.knowl__content .openproblem-like::after,
.knowl__content .computation-like::after {
  display: none;
}
.project-like:not(.knowl__content, .born-hidden-knowl):not(.knowl__content, .born-hidden-knowl) {
  padding-left: 10px;
  border-left: 2px dotted var(--block-border-color);
}
.project-like:not(.knowl__content, .born-hidden-knowl):not(.knowl__content, .born-hidden-knowl) > .heading:first-child {
  color: var(--block-head-color);
}
.project-like:not(.knowl__content, .born-hidden-knowl):not(.knowl__content, .born-hidden-knowl)::after {
  content: "";
  border-bottom: 2px dotted var(--block-border-color);
  display: block;
  margin-right: auto;
  margin-left: -10px;
  padding-top: 10px;
  width: 1.5em;
}
.knowl__content .project-like:not(.knowl__content, .born-hidden-knowl) {
  padding-left: 0;
  border-left: 0;
}
.knowl__content .project-like:not(.knowl__content, .born-hidden-knowl)::after {
  display: none;
}
.proof:not(.knowl__content, .born-hidden-knowl) {
  padding-right: 10px;
  border-right: 1px solid var(--block-border-color);
}
.proof:not(.knowl__content, .born-hidden-knowl) > .heading:first-child {
  color: var(--block-head-color);
}
.proof:not(.knowl__content, .born-hidden-knowl)::after {
  content: "";
  border-bottom: 1px solid var(--block-border-color);
  display: block;
  margin-left: auto;
  margin-right: -10px;
  padding-top: 10px;
  width: 1.5em;
}
.knowl__content .proof {
  padding-right: 0;
  border-right: 0;
}
.knowl__content .proof::after {
  display: none;
}
.knowl__content .theorem-like,
.knowl__content .definition-like,
.knowl__content .example-like,
.knowl__content .project-like,
.knowl__content .remark-like,
.knowl__content .openproblem-like,
.knowl__content .computation-like,
.knowl__content .project-like {
  padding-left: 0;
  margin-left: 0;
  border-left: none;
}
.knowl__content .theorem-like::after,
.knowl__content .definition-like::after,
.knowl__content .example-like::after,
.knowl__content .project-like::after,
.knowl__content .remark-like::after,
.knowl__content .openproblem-like::after,
.knowl__content .computation-like::after,
.knowl__content .project-like::after {
  border-bottom: none;
  display: none;
}
section.solutions:not(:is(:first-child)):not(.knowl__content, .born-hidden-knowl) {
  padding: 10px;
  padding-left: 15px;
  border-left: 10px solid var(--page-border-color);
  background-color: var(--content-background);
}
section.solutions:not(:is(:first-child)):not(.knowl__content, .born-hidden-knowl) > .heading:first-child {
  margin-top: 0;
}
.paragraphs > .heading:first-child,
article > .heading:first-child {
  display: inline;
  line-height: initial;
  border-bottom: 0;
}
.paragraphs > .heading:first-child:after,
article > .heading:first-child:after {
  content: "\2009";
}
.paragraphs > .heading:first-child + .para,
article > .heading:first-child + .para {
  display: inline;
}
.paragraphs > .heading:first-child + .introduction,
article > .heading:first-child + .introduction {
  display: inline;
}
.paragraphs > .heading:first-child + .introduction > .para:first-child,
article > .heading:first-child + .introduction > .para:first-child {
  display: inline;
}
* {
  box-sizing: border-box;
}
section > *:not(:first-child) {
  margin-top: 1.5em;
}
article > *:not(:first-child):has(.heading) {
  margin-top: 1.5em;
}
article > *:not(:first-child) {
  margin-top: 1.5em;
}
.knowl__content > *:not(:first-child) {
  margin-top: 1.5em;
}
section > .para + .para {
  margin-top: 1em;
}
.para:not(:first-child) {
  margin-top: 1em;
}
.para + *:not(:first-child) {
  margin-top: 1em;
}
.para.logical > .para:first-child {
  display: inline;
}
ol.no-marker,
ul.no-marker,
li.no-marker {
  list-style-type: none;
}
ol.decimal {
  list-style-type: decimal;
}
ol.lower-alpha {
  list-style-type: lower-alpha;
}
ol.lower-alpha-level-1 > li::marker {
  content: "(" counter(list-item, lower-alpha) ") ";
}
ol.upper-alpha {
  list-style-type: upper-alpha;
}
ol.lower-roman {
  list-style-type: lower-roman;
}
ol.upper-roman {
  list-style-type: upper-roman;
}
ul.disc {
  list-style-type: disc;
}
ul.square {
  list-style-type: square;
}
ul.circle {
  list-style-type: circle;
}
dl:is(.description-list, .glossary) {
  margin-top: 1em;
  margin-left: 0;
  margin-bottom: 0;
  overflow: hidden;
}
dl:is(.description-list, .glossary) dt {
  font-weight: bold;
  max-width: 55ex;
}
dl:is(.description-list, .glossary) dd::after {
  content: "";
  display: block;
  clear: both;
}
dl.glossary dt {
  margin-top: 1.25em;
}
dl.glossary dt:first-of-type {
  margin-top: 0;
}
dl.glossary dd {
  margin-left: 5ex;
}
dl.description-list dt,
dl.description-list dd {
  margin-top: 1em;
}
dl.description-list dt:first-of-type,
dl.description-list dd:first-of-type {
  margin-top: 0;
}
dl.description-list dt {
  float: left;
  clear: both;
  text-align: right;
  width: 18ex;
  margin-right: 1ex;
}
dl.description-list dd {
  margin-left: 22ex;
}
dl.description-list .narrow dt {
  margin-top: 0;
  width: unset;
  max-width: 55ex;
  text-align: left;
}
dl.description-list .narrow dd {
  margin-left: 12ex;
  margin-left: 0;
  margin-top: 0;
  width: 31em;
  max-width: calc(100% - 12ex);
  float: right;
  clear: right;
}
dl.description-list .narrow dd::after {
  content: "";
  display: block;
  height: 1em;
  clear: left;
}
dl.description-list .narrow dd:last-child::after {
  height: 0;
}
dl.description-list dt:first-of-type {
  clear: none;
}
.description-list + * {
  clear: both;
}
dl.description-list dl dt {
  width: 8ex;
}
dl.description-list dd dd {
  margin-left: 18ex;
}
dl.description-list dl dd {
  margin-left: 12ex;
}
@media screen and (max-width: 480px) {
  dl.description-list dt {
    float: none;
    margin-left: 0;
    text-align: left;
  }
  dl.description-list dd,
  dl.description-list.narrow dd {
    margin-top: 0.5em;
    margin-left: 3em;
    max-width: calc(100% - 3em);
  }
}
.cols2 > li {
  min-width: calc(50% - 2em);
  width: min-content;
  margin-right: 2em;
}
.cols3 > li {
  min-width: calc(33.3333333333% - 2em);
  width: min-content;
  margin-right: 2em;
}
.cols4 > li {
  min-width: calc(25% - 2em);
  width: min-content;
  margin-right: 2em;
}
.cols5 > li {
  min-width: calc(20% - 2em);
  width: min-content;
  margin-right: 2em;
}
.cols6 > li {
  min-width: calc(16.6666666667% - 2em);
  width: min-content;
  margin-right: 2em;
}
.ptx-content ol,
.ptx-content ul {
  margin-bottom: 0;
}
.ptx-content li {
  margin-top: 0.5em;
}
.ptx-content li .title {
  font-size: 100%;
  font-weight: normal;
  font-style: italic;
}
ol > li {
  padding-left: 0.25em;
}
.fillin {
  display: inline-block;
  border-bottom-style: solid;
  border-width: 1px;
  margin-right: 0.1em;
  margin-bottom: -0.25em;
}
.fillin .underline {
  display: inline-block;
  border-bottom-style: solid;
  border-width: 1px;
  margin-right: 0.1em;
  margin-bottom: -0.25em;
}
.fillin .box {
  display: inline-block;
  border: none;
  margin-left: 0.1em;
  margin-right: 0.1em;
  margin-bottom: -0.25em;
  outline: 1px solid black;
  height: 1.3em;
}
.fillin .shade {
  display: inline-block;
  border: none;
  margin-right: 0.1em;
  margin-left: 0.1em;
  margin-bottom: -0.25em;
  background-color: #eee;
  height: 1.3em;
}
.heading:is(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  font-size: unset;
}
.heading {
  line-height: 1.1;
  font-family: var(--font-headings);
  font-weight: 700;
  margin-top: 0;
  margin-bottom: 0;
}
section > .heading {
  font-size: 1.75em;
  color: var(--body-title-color);
  line-height: 1.25em;
  margin-top: 2.5em;
  margin-bottom: 0.5em;
}
section > .heading + * {
  margin-top: 0.5em;
}
.ptx-content > section > .heading {
  margin-top: 0.5em;
}
section section > .heading {
  font-size: 1.5em;
  margin-top: 2em;
}
section section section > .heading {
  font-size: 1.4em;
  margin-top: 2em;
}
article > .heading {
  font-size: 1.25em;
  margin-top: 1.5em;
}
article > .heading + * {
  margin-top: 0.5em;
}
.paragraphs > .heading {
  font-size: 1.125em;
}
:is(section, article) > .heading + :is(section, article) > .heading {
  margin-top: 0.5em;
}
@media screen and (max-width: 480px) {
  section > .heading {
    font-size: 1.5em;
    line-height: 1.33em;
    margin-top: 1em;
  }
  section section > .heading {
    font-size: 1.3em;
    line-height: 1.15em;
  }
  section section section > .heading {
    font-size: 1.15em;
    line-height: 1em;
  }
}
.heading.hide-type > .type {
  display: none;
}
a {
  color: var(--link-text-color);
  text-decoration: none;
}
a:hover,
a:focus {
  text-decoration: none;
}
a[href^="mailto:"] {
  white-space: pre;
}
.ptx-content a.internal {
  color: var(--link-text-color);
  font-weight: bold;
}
.ptx-content a.external {
  color: var(--link-alt-text-color);
  font-weight: bold;
}
.ptx-content a.internal:hover,
.ptx-content a.internal:hover *,
.ptx-content a.internal:focus,
.ptx-content a.internal:focus * {
  color: var(--link-active-text-color);
  background-color: var(--link-active-background);
  font-weight: bold;
}
.ptx-content a.external:hover,
.ptx-content a.external:hover *,
.ptx-content a.external:focus,
.ptx-content a.external:focus * {
  color: var(--link-alt-active-text-color);
  background-color: var(--link-alt-active-background);
  font-weight: bold;
}
.ptx-content table {
  border-spacing: 0;
  border-collapse: collapse;
}
.ptx-content table tr td {
  padding: 2px 5px;
  font-size: 90%;
}
.ptx-content table tr td img {
  max-width: 200px;
  margin-right: 30px;
}
.ptx-content table tr td span.decimal {
  float: left;
  text-align: right;
}
.ptx-content table tr th {
  padding-top: 2px 5px;
}
.ptx-content table tr td.l {
  text-align: left;
}
.ptx-content table tr td.c {
  text-align: center;
}
.ptx-content table tr td.r {
  text-align: right;
}
.ptx-content table tr td.j {
  text-align: justify;
}
.ptx-content table tr td.lines {
  white-space: nowrap;
}
.ptx-content table tr td.t {
  vertical-align: top;
}
.ptx-content table tr td.b {
  vertical-align: bottom;
}
.ptx-content table tr td.m {
  vertical-align: middle;
}
.ptx-content table tr td.vv {
  border-left: 2px solid var(--body-text-color);
  border-right: 2px solid var(--body-text-color);
}
.ptx-content table tr td.vcv {
  border-left: 2px solid var(--body-text-color);
  border-right: 2px solid var(--body-text-color);
  text-align: center;
}
.ptx-content table tr td.vcvv {
  border-left: 2px solid var(--body-text-color);
  border-right: 4px solid var(--body-text-color);
  text-align: center;
}
.ptx-content table tr td.vlv {
  border-left: 2px solid var(--body-text-color);
  border-right: 2px solid var(--body-text-color);
  text-align: left;
}
.ptx-content table tr td.vrv {
  border-left: 2px solid var(--body-text-color);
  border-right: 2px solid var(--body-text-color);
  text-align: right;
}
.ptx-content table tr td.rv {
  border-right: 2px solid var(--body-text-color);
  text-align: right;
}
.ptx-content table tr td.vr {
  border-left: 2px solid var(--body-text-color);
  text-align: right;
}
.ptx-content table tr td.lv {
  border-right: 2px solid var(--body-text-color);
  text-align: left;
}
.ptx-content table tr td.vl {
  border-left: 2px solid var(--body-text-color);
  text-align: left;
}
.ptx-content table tr td.cv {
  border-right: 2px solid var(--body-text-color);
  text-align: center;
}
.ptx-content table tr td.Xv {
  border-right: 2px solid var(--body-text-color);
  text-align: left;
}
.ptx-content table tr td.vc {
  border-left: 2px solid var(--body-text-color);
  text-align: center;
}
.ptx-content table tr td.hline {
  padding: 0;
}
.ptx-content table tr td.hline hr {
  margin-top: 0 -1px;
  border: 1px solid rgb(0, 0, 0);
}
.ptx-content table tr td.hlinethick {
  padding-left: 0;
  padding-right: 0;
}
.ptx-content table tr td.hlinethick hr {
  margin-top: 0 -1px;
  border: 2px solid var(--body-text-color);
}
.ptx-content table tr th.b1 {
  border-bottom: 1px solid var(--body-text-color);
}
.ptx-content table tr td.b1 {
  border-bottom: 1px solid var(--body-text-color);
}
.ptx-content table tr th.b2 {
  border-bottom: 2px solid var(--body-text-color);
}
.ptx-content table tr td.b2 {
  border-bottom: 2px solid var(--body-text-color);
}
.ptx-content table tr th.b3 {
  border-bottom: 3px solid var(--body-text-color);
}
.ptx-content table tr td.b3 {
  border-bottom: 3px solid var(--body-text-color);
}
.ptx-content table tr th.b0 {
  border-bottom: none;
}
.ptx-content table tr td.b0 {
  border-bottom: none;
}
.ptx-content table tr th.t1 {
  border-top: 1px solid var(--body-text-color);
}
.ptx-content table tr td.t1 {
  border-top: 1px solid var(--body-text-color);
}
.ptx-content table tr th.t2 {
  border-top: 2px solid var(--body-text-color);
}
.ptx-content table tr td.t2 {
  border-top: 2px solid var(--body-text-color);
}
.ptx-content table tr th.t3 {
  border-top: 3px solid var(--body-text-color);
}
.ptx-content table tr td.t3 {
  border-top: 3px solid var(--body-text-color);
}
.ptx-content table tr th.t0 {
  border-top: none;
}
.ptx-content table tr td.t0 {
  border-top: none;
}
.ptx-content table tr th.r1 {
  border-right: 1px solid var(--body-text-color);
}
.ptx-content table tr td.r1 {
  border-right: 1px solid var(--body-text-color);
}
.ptx-content table tr th.r2 {
  border-right: 2px solid var(--body-text-color);
}
.ptx-content table tr td.r2 {
  border-right: 2px solid var(--body-text-color);
}
.ptx-content table tr th.r3 {
  border-right: 3px solid var(--body-text-color);
}
.ptx-content table tr td.r3 {
  border-right: 3px solid var(--body-text-color);
}
.ptx-content table tr th.r0 {
  border-right: none;
}
.ptx-content table tr td.r0 {
  border-right: none;
}
.ptx-content table tr th.l1 {
  border-left: 1px solid var(--body-text-color);
}
.ptx-content table tr td.l1 {
  border-left: 1px solid var(--body-text-color);
}
.ptx-content table tr th.l2 {
  border-left: 2px solid var(--body-text-color);
}
.ptx-content table tr td.l2 {
  border-left: 2px solid var(--body-text-color);
}
.ptx-content table tr th.l3 {
  border-left: 3px solid var(--body-text-color);
}
.ptx-content table tr td.l3 {
  border-left: 3px solid var(--body-text-color);
}
.ptx-content table tr th.l0 {
  border-left: none;
}
.ptx-content table tr td.l0 {
  border-left: none;
}
.ptx-content table tr.header-vertical th {
  writing-mode: vertical-rl;
  padding-left: 2em;
}
.ptx-content table.notation-list tr th {
  text-align: left;
  margin-left: 1em;
}
.ptx-content table.notation-list tr td {
  text-align: left;
  vertical-align: top;
}
.ptx-content tr th.r0.l0 {
  padding-left: 0.8em;
  padding-right: 0.8em;
}
.ptx-content tr td.r0.l0 {
  padding-left: 0.8em;
  padding-right: 0.8em;
}
.center table {
  text-align: center;
  margin-left: auto;
  margin-right: auto;
}
.tabular-box.natural-width table {
  margin-left: auto;
  margin-right: auto;
}
.tabular-box {
  margin-top: 0.5em;
}
.frontmatter > .heading {
  display: block;
  text-align: center;
}
.frontmatter > .heading .title,
.frontmatter .book > .heading .title {
  font-size: 1.3em;
}
.frontmatter > .heading .subtitle,
.frontmatter .book > .heading .subtitle {
  display: block;
  font-weight: normal;
  color: var(--byline-color);
  font-size: 0.875em;
  line-height: 1.42857em;
  margin-top: 0.35714em;
}
.frontmatter > .para:first-of-type {
  margin-top: 4em;
}
.frontmatter > .author,
.frontmatter > .credit {
  margin-top: 2em;
  text-align: center;
}
.frontmatter .author:first-of-type {
  margin-top: 4em;
}
.frontmatter > .author .author-name {
  font-size: 120%;
}
.frontmatter .date {
  display: block;
  margin-top: 2em;
  text-align: center;
}
.frontmatter .credit .title {
  font-size: 1em;
}
.frontmatter .credit .author {
  font-size: 0.9em;
  margin-top: 0.75em;
}
.frontmatter .author-info {
  font-size: 90%;
}
.frontmatter .summary-links {
  margin-top: 4em;
}
.frontmatter .abstract {
  margin: 4em 2em;
}
.frontmatter .keywords,
.frontmatter .support {
  margin-top: 2em;
}
.frontmatter .abstract > .title,
.frontmatter .keywords > .title,
.frontmatter .support > .title {
  font-size: 1.125em;
  font-weight: 600;
  line-height: 1.125em;
  display: inline;
}
.frontmatter .abstract > .title::after,
.frontmatter .keywords > .title::after,
.frontmatter .support > .title::after {
  content: ".\2009\2009\2009";
}
.frontmatter .abstract > .title + .para,
.frontmatter .keywords > .title + .para,
.frontmatter .support > .title + .para {
  display: inline;
}
.frontmatter .colophon .copyright {
  margin-top: 2.5em;
}
.frontmatter .colophon .license {
  margin-top: 2.5em;
}
.ptx-content .summary-links {
  font-family: var(--font-headings);
  display: block;
  margin-top: 1em;
}
.ptx-content .summary-links a {
  color: var(--summary-link-text-color);
  background: var(--summary-link-background);
  font-size: 1.5em;
  line-height: 1.25em;
  padding: 10px 20px;
  padding-right: 60px;
  border-radius: 3px;
  position: relative;
  display: block;
}
.ptx-content .summary-links a .title {
  font-style: normal;
}
.ptx-content .summary-links a .codenumber {
  margin-right: 0.41667em;
}
.ptx-content .summary-links a::after {
  right: 0.83333em;
  content: "";
  position: absolute;
  top: 50%;
  margin-top: -0.4em;
  width: 0;
  height: 0;
  border-top: 0.4em solid transparent;
  border-bottom: 0.4em solid transparent;
  border-left: 0.4em solid var(--summary-link-text-color);
}
.ptx-content .summary-links a:hover {
  color: var(--summary-link-hover-text-color);
  background: var(--summary-link-hover-background);
}
.ptx-content .summary-links a:hover * {
  color: var(--summary-link-hover-text-color);
  background: var(--summary-link-hover-background);
}
.ptx-content .summary-links a:hover .title {
  font-weight: normal;
}
.ptx-content .summary-links a:hover::after {
  border-left: 0.4em solid var(--summary-link-hover-text-color);
}
.ptx-content .summary-links ul {
  list-style-type: none;
  padding: 0;
  margin-top: 0;
}
.ptx-content .summary-links li {
  margin-top: 5px;
}
@media screen and (width <= 480px) {
  .ptx-content .summary-links a {
    font-size: 100%;
    line-height: 1.25em;
  }
}
.ptx-footnote {
  display: inline-block;
  position: relative;
}
.ptx-footnote[open] {
  display: contents;
}
.ptx-footnote[open] .ptx-footnote__number::before {
  font-size: smaller;
  content: "[x]";
  visibility: visible;
  vertical-align: super;
}
.ptx-footnote[open] .ptx-footnote__number sup {
  display: none;
}
.ptx-footnote__number {
  display: inline-block;
  cursor: pointer;
  min-width: 1em;
}
.ptx-footnote__number::marker {
  content: "";
}
.ptx-footnote__contents {
  display: block;
  font-style: italic;
  background: var(--knowl-background);
  border-radius: 0px;
  padding: 8px;
  margin: 4px auto;
  width: fit-content;
  max-width: calc(100% - 60px);
  border: 2px solid var(--knowl-border-color);
}
.navbar .indexnav {
  position: absolute;
  top: 46px;
  right: 0;
}
.mininav {
  float: left;
  padding-top: 0.7ex;
  padding-left: 1ex;
}
.indexjump {
  margin-left: 1.5ex;
  margin-top: 0.2ex;
  padding-top: 0;
  float: left;
  line-height: 0.95;
}
.indexjump a {
  padding-left: 2.5px;
  padding-right: 0.5px;
  width: 2.5ex;
  margin-right: -1px;
  color: inherit;
  font-size: 80%;
  text-align: center;
}
.indexjump a::after {
  content: "";
  display: inline-block;
}
.indexjump a:nth-of-type(14) {
  padding-left: 1.8ex;
}
.indexjump a:last-child {
  padding-right: 10px;
}
.indexjump a:hover {
  background: var(--activated-content-bg);
}
.indexitem {
  margin-top: 4px;
}
.subindexitem {
  margin-left: 2em;
  font-size: 95%;
  margin-top: -1px;
}
.subsubindexitem {
  margin-left: 3.5em;
  font-size: 95%;
  margin-top: -1px;
}
.indexknowl {
  margin-left: 0.11em;
}
em + .indexknowl {
  margin-left: -0.25em;
}
.indexknowl a {
  margin-left: 2em;
}
.indexitem .see,
.subindexitem .see,
.subsubindexitem .see {
  margin-left: 1em;
  margin-right: 0;
}
.indexitem .seealso,
.subindexitem .seealso,
.subsubindexitem .seealso {
  margin-left: 1em;
  margin-right: 0;
}
.indexitem .see em,
.subindexitem .see em,
.subsubindexitem .see em,
.indexitem .seealso em,
.subindexitem .seealso em,
.subsubindexitem .seealso em {
  margin-right: 0.25em;
  font-style: italic;
}
.indexitem .see + .see,
.subindexitem .see + .see,
.subsubindexitem .see + .see,
.indexitem .seealso + .seealso,
.subindexitem .seealso + .seealso,
.subsubindexitem .seealso + .seealso {
  margin-left: 0;
  margin-right: 0;
}
.indexitem .indexknowl {
  font-size: 90%;
}
.indexitem [data-knowl],
.subindexitem [data-knowl],
.indexitem [data-knowl]:hover {
  padding-right: 2px;
  padding-left: 2px;
}
.indexknowl [data-knowl]:hover,
.indexknowl .active[data-knowl] {
  margin-left: 2em;
}
.subindexitem .indexknowl {
  font-size: 95%;
}
.subsubindexitem .indexknowl {
  font-size: 95%;
}
.indexletter {
  margin-top: 1.5em;
}
.image-box,
.audio-box,
.video-box,
.asymptote-box {
  position: relative;
}
.image-box .asymptote-box iframe.asymptote,
iframe.asymptote,
.video-box .video,
.video-box .video-poster {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.image-box img,
img.contained {
  width: 100%;
}
.ptx-content img,
.ptx-content svg {
  background: var(--ptx-image-bg);
}
.image-description summary {
  list-style: none;
  cursor: pointer;
}
.image-archive {
  margin: 0.75em auto 0;
  font-family: var(--font-monospace);
}
.image-box > img:not(.mag_popup) {
  cursor: zoom-in;
}
img.mag_popup {
  border: 1px solid #666;
  box-shadow: 4px 6px 4px #999;
  cursor: zoom-out;
}
.mag_popup_container {
  width: 100%;
  position: absolute;
  z-index: 1001;
  overflow-x: visible;
}
.audio {
  width: 100%;
}
.video-poster {
  cursor: pointer;
}
figure {
  clear: both;
  position: relative;
  margin-left: 0;
  margin-right: 0;
}
figcaption {
  margin-left: auto;
  margin-right: auto;
  margin-top: 0.5em;
}
figcaption code.code-inline {
  white-space: pre;
}
figcaption .codenumber,
figcaption .type {
  font-weight: 700;
}
figcaption .codenumber::after,
figcaption .type:last-of-type::after {
  content: "\2002";
}
figcaption .para:first-of-type {
  display: inline;
}
figure.table-like {
  margin-left: 30px;
  margin-right: 30px;
}
figure.table-like .list {
  margin-right: 0;
}
@media (max-width <= 943px) {
  .figure-like {
    overflow-x: auto;
  }
}
.poem {
  display: table;
  margin: 1.5em auto 0;
  width: auto;
  max-width: 90%;
}
.poem > .heading {
  display: block;
  text-align: center;
}
section article.poem > .heading::after {
  content: "";
}
.poem > .heading > .title {
  font-weight: bold;
  font-size: 1.2em;
  line-height: 1.2em;
}
.poem .author {
  font-style: italic;
  margin-top: 0.75em;
}
.poem .author.left {
  text-align: left;
}
.poem .author.center {
  text-align: center;
}
.poem .author.right {
  text-align: right;
}
.poem .stanza > .heading {
  text-align: center;
  font-weight: bold;
  font-size: 1em;
  line-height: 1em;
}
.poem .stanza + .stanza {
  margin-top: 1em;
}
.poem .heading + .stanza {
  margin-top: 0.2em;
}
.poem .heading + .line {
  margin-top: 0.2em;
}
.poem .line.left {
  text-align: left;
  margin-left: 4em;
  text-indent: -4em;
}
.poem .line.center {
  text-align: center;
}
.poem .line.right {
  text-align: right;
}
.poem .tab {
  margin-left: 2em;
}
pre[class*=language-] {
  margin: 0.5em 0;
  overflow: auto;
  border: 1px solid #e1e1e1;
}
:not(pre) > code[class*=language-] {
  padding: 0.1em;
  border-radius: 0.3em;
  white-space: normal;
}
code[class*=language-],
pre[class*=language-] {
  color: black;
  background: #fdfdfd;
  text-shadow: none;
  font-family: var(--font-monospace);
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  word-wrap: normal;
  line-height: 1.2;
  tab-size: 4;
  hyphens: none;
}
code[class*=language-]::selection,
code[class*=language-] ::selection,
pre[class*=language-]::selection,
pre[class*=language-] ::selection {
  background: #b3d4fc;
}
code[class*=language-] .token:is(.comment, .prolog, .doctype, .cdata),
pre[class*=language-] .token:is(.comment, .prolog, .doctype, .cdata) {
  color: #2a9716;
}
code[class*=language-] .token.punctuation,
pre[class*=language-] .token.punctuation {
  color: #000;
}
code[class*=language-] .token.namespace,
pre[class*=language-] .token.namespace {
  opacity: 0.9;
}
code[class*=language-] .token:is(.property, .tag, .boolean, .number, .constant, .symbol, .deleted),
pre[class*=language-] .token:is(.property, .tag, .boolean, .number, .constant, .symbol, .deleted) {
  color: rgb(41, 120, 15);
}
code[class*=language-] .token:is(.selector, .attr-name, .string, .char, .builtin, .regex, .inserted),
pre[class*=language-] .token:is(.selector, .attr-name, .string, .char, .builtin, .regex, .inserted) {
  color: #a11;
}
code[class*=language-] .token:is(.operator, .entity, .url),
pre[class*=language-] .token:is(.operator, .entity, .url) {
  color: #000;
  background: none;
}
code[class*=language-] .token:is(.atrule, .attr-value, .keyword),
pre[class*=language-] .token:is(.atrule, .attr-value, .keyword) {
  color: #0679B7;
}
code[class*=language-] .token.function,
code[class*=language-] .token.class-name,
pre[class*=language-] .token.function,
pre[class*=language-] .token.class-name {
  color: #30a;
}
code[class*=language-] .token.important,
code[class*=language-] .token.variable,
pre[class*=language-] .token.important,
pre[class*=language-] .token.variable {
  color: rgb(0, 0, 0);
}
code[class*=language-] .token.important,
code[class*=language-] .token.bold,
pre[class*=language-] .token.important,
pre[class*=language-] .token.bold {
  font-weight: bold;
}
code[class*=language-] .token.italic,
pre[class*=language-] .token.italic {
  font-style: italic;
}
code[class*=language-] .token.entity,
pre[class*=language-] .token.entity {
  cursor: help;
}
code[class*=language-].line-numbers,
pre[class*=language-].line-numbers {
  position: relative;
  padding-left: 3.8em;
  counter-reset: linenumber;
  overflow: auto;
}
code[class*=language-].line-numbers > code,
pre[class*=language-].line-numbers > code {
  position: relative;
  white-space: inherit;
}
code[class*=language-].line-numbers .line-numbers-rows,
pre[class*=language-].line-numbers .line-numbers-rows {
  position: absolute;
  pointer-events: none;
  top: 0;
  font-size: 100%;
  left: -3.8em;
  width: 3em;
  letter-spacing: -1px;
  border-right: 1px solid #999;
  user-select: none;
}
code[class*=language-].line-numbers .line-numbers-rows > span,
pre[class*=language-].line-numbers .line-numbers-rows > span {
  display: block;
  counter-increment: linenumber;
}
code[class*=language-].line-numbers .line-numbers-rows > span::before,
pre[class*=language-].line-numbers .line-numbers-rows > span::before {
  content: counter(linenumber);
  color: #999;
  display: block;
  padding-right: 0.8em;
  text-align: right;
}
code[class*=language-] .line-highlight,
pre[class*=language-] .line-highlight {
  position: absolute;
  margin-top: 4px;
  left: 0;
  right: 0;
  padding: inherit 0;
  font-size: inherit;
  background: hsla(24, 20%, 50%, 0.08);
  pointer-events: none;
  line-height: inherit;
  white-space: pre;
}
:root.dark-mode {
}
:root.dark-mode pre[class*=language-] {
  border: 1px solid #3d3d3d;
}
:root.dark-mode code[class*=language-],
:root.dark-mode pre[class*=language-] {
  color: white;
  background: hsl(0, 0%, 8%);
}
:root.dark-mode code[class*=language-]::selection,
:root.dark-mode code[class*=language-] ::selection,
:root.dark-mode pre[class*=language-]::selection,
:root.dark-mode pre[class*=language-] ::selection {
  background: hsl(200, 4%, 16%);
}
:root.dark-mode code[class*=language-] .token,
:root.dark-mode pre[class*=language-] .token {
  position: relative;
  z-index: 1;
}
:root.dark-mode code[class*=language-] .token:is(.comment, .prolog, .doctype, .cdata),
:root.dark-mode pre[class*=language-] .token:is(.comment, .prolog, .doctype, .cdata) {
  color: #68a950;
}
:root.dark-mode code[class*=language-] .token.punctuation,
:root.dark-mode pre[class*=language-] .token.punctuation {
  color: white;
  opacity: 1;
}
:root.dark-mode code[class*=language-] .token.namespace,
:root.dark-mode pre[class*=language-] .token.namespace {
  opacity: 0.9;
}
:root.dark-mode code[class*=language-] .token:is(.property, .tag, .boolean, .number, .constant, .symbol, .deleted),
:root.dark-mode pre[class*=language-] .token:is(.property, .tag, .boolean, .number, .constant, .symbol, .deleted) {
  color: #abc792;
}
:root.dark-mode code[class*=language-] .token:is(.selector, .attr-name, .string, .char, .builtin, .regex, .inserted),
:root.dark-mode pre[class*=language-] .token:is(.selector, .attr-name, .string, .char, .builtin, .regex, .inserted) {
  color: #ca9147;
}
:root.dark-mode code[class*=language-] .token:is(.operator, .entity, .url),
:root.dark-mode pre[class*=language-] .token:is(.operator, .entity, .url) {
  color: white;
}
:root.dark-mode code[class*=language-] .token:is(.atrule, .attr-value, .keyword),
:root.dark-mode pre[class*=language-] .token:is(.atrule, .attr-value, .keyword) {
  color: #2d94fb;
}
:root.dark-mode code[class*=language-] .token.function,
:root.dark-mode code[class*=language-] .token.class-name,
:root.dark-mode pre[class*=language-] .token.function,
:root.dark-mode pre[class*=language-] .token.class-name {
  color: #e3e1c2;
}
:root.dark-mode code[class*=language-] .token.important,
:root.dark-mode code[class*=language-] .token.bold,
:root.dark-mode pre[class*=language-] .token.important,
:root.dark-mode pre[class*=language-] .token.bold {
  font-weight: bold;
}
:root.dark-mode code[class*=language-] .token.italic,
:root.dark-mode pre[class*=language-] .token.italic {
  font-style: italic;
}
:root.dark-mode code[class*=language-] .token.entity,
:root.dark-mode pre[class*=language-] .token.entity {
  cursor: help;
}
:root.dark-mode .line-highlight {
  background: hsla(0, 0%, 33%, 0.1);
  border-bottom: 1px dashed hsl(0, 0%, 33%);
  border-top: 1px dashed hsl(0, 0%, 33%);
  z-index: 0;
}
@media print {
  code[class*=language-] .line-highlight,
  pre[class*=language-] .line-highlight {
    color-adjust: exact;
  }
}
.displaymath {
  overflow-x: auto;
  overflow-y: hidden;
}
.displaymath mjx-container[jax=CHTML][display=true] {
  margin: 0 0 0 0;
  padding-top: 2px;
}
[data-knowl] > mjx-mrow .TEX-I {
  font-family: MJXZERO !important;
  font-style: normal !important;
}
.knowl mjx-mtext > mjx-utext,
mjx-mtext > mjx-utext {
  width: revert !important;
}
mjx-msup mjx-utext,
mjx-msub mjx-utext {
  display: inline;
}
section,
article,
.exercisegroup,
.discussion-like,
.para {
  position: relative;
}
.autopermalink {
  position: absolute;
  display: inline-block;
  top: 0.5ex;
  left: -2em;
  font-size: 85%;
  opacity: var(--permalink-opacity, 0);
  transition: opacity 0.2s;
  margin-top: 0 !important;
}
li > .para > .autopermalink {
  left: -3.4em;
  top: 0;
}
.autopermalink > * {
  padding-left: 0.2em;
  padding-right: 0.2em;
}
:target {
  scroll-margin-top: 45px;
}
.para > .autopermalink {
  margin-top: 0.2em;
}
.exercises > .autopermalink,
.introduction > .autopermalink,
.glossary > .autopermalink {
  margin-top: 0.3em;
}
.appendix > .autopermalink,
.chapter > .autopermalink,
.index > .autopermalink,
.section > .autopermalink {
  margin-top: 0.3em;
}
.subsection > .autopermalink,
.references > .autopermalink,
.exercises > .autopermalink {
  margin-top: 0.3em;
}
.subsubsection > .autopermalink {
  margin-top: 0;
}
.exercisegroup > .autopermalink {
  margin-top: 1.4em;
}
.ptx-content:has(.autopermalink:hover) .autopermalink {
  opacity: 0.2;
}
.ptx-content:has(.autopermalink:hover) .autopermalink:hover {
  opacity: 1;
}
.autopermalink:has(a:focus-visible) {
  opacity: 1;
}
.permalink-alert {
  position: absolute;
  top: -3em;
  left: 5em;
  padding: 1.5em 2em;
  background: var(--content-background);
  border: 3px solid var(--page-border-color);
  z-index: 2001;
}
:target {
  animation: target-fade 10s 1;
}
@keyframes target-fade {
  0% {
    background-color: var(--activated-content-bg);
  }
  100% {
    background-color: inherit;
    opacity: 1;
  }
}
em.alert {
  font-weight: bold;
}
.bib {
  margin-top: 0.25em;
}
.bib .bibitem {
  display: inline-block;
  vertical-align: top;
  width: 7%;
  margin-right: 0;
}
.bib .bibitem + .bibentry {
  display: inline-block;
  width: 90%;
  margin-top: 0;
}
.caption {
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  font-size: 100%;
  text-align: center;
}
.contributor {
  margin-top: 1.5ex;
}
.contributor:first-child {
  margin-top: 0em;
}
.contributor + .para {
  margin-top: 3ex;
}
.contributor .contributor-name {
  font-variant: small-caps;
}
.contributor .contributor-info {
  font-size: 88%;
  font-style: italic;
  margin-left: 3ex;
}
.material-symbols-outlined {
  font-variation-settings:
    "FILL" 0,
    "wght" 400,
    "GRAD" 0,
    "opsz" 24;
}
iframe {
  margin: 0;
  border: none;
}
.kbdkey {
  background: #f1f1f1;
  color: #333;
  border: 1px solid #dddddd;
  border-radius: 3px;
  padding: 1px 2px 0 2px;
  vertical-align: 0.1em;
  font-size: 110%;
  line-height: 1;
  box-shadow: 2px 2px grey;
  display: inline-block;
  margin-right: 3px;
}
.unit,
.quantity {
  white-space: nowrap;
  word-spacing: -0.25ex;
  margin-right: 0.125em;
}
.unit sub,
.unit sup,
.quantity sub,
.quantity sup {
  word-spacing: normal;
}
.terminology {
  font-style: italic;
  font-weight: bold;
}
.times-sign {
  font-size: larger;
  vertical-align: -0.15ex;
}
.emphasis {
  font-style: italic;
}
.emphasis .emphasis {
  font-weight: bold;
}
.definition-like .emphasis {
  font-weight: 700;
}
article.theorem-like .emphasis {
  font-weight: 700;
}
.para {
  line-height: 1.35;
}
.hidden {
  display: none !important;
}
.taxon {
  font-style: italic;
}
.quote {
  padding-left: 40px;
  padding-right: 10px;
  margin-bottom: 1em;
}
.code-display {
  overflow-x: auto;
}
.latex-logo {
  font-family:
    "PT Serif",
    "Times New Roman",
    Times,
    serif;
}
.latex-logo .A {
  font-size: 75%;
  text-transform: uppercase;
  vertical-align: 0.5ex;
  margin-left: -0.48em;
  margin-right: -0.2em;
}
.latex-logo .E {
  vertical-align: -0.5ex;
  text-transform: uppercase;
  margin-left: -0.18em;
  margin-right: -0.12em;
}
@media print {
  .pretext .ptx-masthead,
  .pretext .ptx-navbar,
  body.pretext > a.assistive,
  .pretext .ptx-page > .ptx-sidebar,
  .pretext .ptx-page-footer,
  .pretext .ptx-main > div.ptx-content-footer {
    display: none;
  }
  .pretext .ptx-main .ptx-content {
    margin-left: auto;
    margin-right: auto;
    border: none;
    padding: 0;
  }
}
.heading .print-links {
  display: inline-block;
  float: right;
  vertical-align: top;
  width: 19%;
  text-align: right;
}
.heading .print-links > a {
  font-family: var(--font-body);
  font-size: 0.6em;
  font-weight: bold;
  padding: 0.1em 0.2em;
  background: #ffa;
  border: 2px solid green;
}
.heading .print-links > a.us {
  background: #eef;
  color: #9b1c2c;
  border-color: #041E42;
}
.heading .print-links > a + a {
  margin-left: 0.25em;
}
.print-button {
  position: relative;
  right: 2px;
  background-color: LightGreen;
  z-index: 1;
  float: right;
}
.standalone.worksheet .print-links {
  display: none;
}
body.standalone.worksheet .onepage > .heading {
  margin-top: 0;
  font-size: 1.3em;
}
body.standalone.worksheet .onepage > .introduction {
  margin-top: 0.4em;
}
body.standalone.worksheet .onepage > .introduction > .heading {
  font-size: 1.1em;
}
body.standalone.worksheet .onepage .solutions,
body.standalone.worksheet .onepage .instructions {
  display: none;
}
body.standalone .worksheet {
  padding: 40px 0 45px 0;
  border: 2px solid grey;
  margin: 0;
}
body.standalone .onepage {
  padding: 40px 45px 45px 55px;
  border-bottom: 2px solid grey;
  margin: 0;
}
body.standalone .onepage + .onepage {
  border-top: 2px solid grey;
}
body.standalone .onepage.firstpage {
  padding-top: 0;
}
body.standalone .onepage.lastpage {
  padding-bottom: 0;
  border-bottom: none;
}
body.standalone .worksheet > *:last-child {
  padding-bottom: 0 !important;
}
.onepage + .onepage {
  margin-top: 2.5em;
  padding-top: 1.5em;
  border-top: 1px dashed #aaa;
}
.onepage + .onepage::before {
  content: "pagebreak";
  text-align: center;
  margin-left: 40%;
  padding-left: 1em;
  padding-right: 1em;
  position: absolute;
  top: -0.8em;
  font-size: 80%;
  font-style: italic;
  background: var(--content-background);
}
body.standalone .onepage + .onepage {
  margin-top: 10px;
}
body.standalone .onepage + .onepage::before {
  content: none;
}
body.standalone .onepage article {
  padding-left: 0;
  border: none;
}
body.standalone .onepage article::after {
  all: unset;
}
.onepage > .para:first-child,
.onepage > article:first-child {
  margin-top: 0;
}
section + .onepage.firstpage,
article + .onepage.firstpage,
.para + .onepage.firstpage {
  margin-top: 1.25em;
}
body.worksheet .onepage .sbspanel + .sbspanel > .exercise::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  padding-left: 1.25em;
  border-left: 1px solid grey;
  margin-left: -1.25em;
  z-index: -100;
}
body.standalone.worksheet section article.task {
  margin-left: 0;
}
body.standalone.worksheet section article.task > .heading {
  font-weight: normal;
}
body.standalone .autopermalink {
  display: none;
}
body.standalone.worksheet .onepage .workspace {
  border: 2px dotted grey;
  background: #f3fff3;
}
body.standalone.worksheet .onepage .workspace.squashed {
  border: 2px dotted grey;
  background: #ffe;
}
body.standalone.worksheet .onepage .workspace.squashed.tight {
  border: 15px solid;
  border-image:
    repeating-linear-gradient(
      -35deg,
      #f33,
      #f33 10px,
      #000 10px,
      #000 20px) 20;
  background: yellow;
}
body.has-sidebar-left.mathbook-loaded.standalone.worksheet .ptx-page .ptx-main {
  margin-left: 0;
}
body.standalone.worksheet .goal-like {
  border: none;
  padding: 0;
}
body.standalone.worksheet .goal-like > .heading {
  margin-top: -0.5em;
  padding: 0;
  margin: 0;
  font-size: 1.1em;
}
body.standalone.worksheet section.worksheet > .heading {
  display: inline;
  font-size: 1.1em;
}
body.standalone.worksheet section.worksheet > .heading,
body.standalone.worksheet section.worksheet > .objectives,
body.standalone.worksheet section.worksheet > .introduction,
body.standalone.worksheet section.worksheet > .conclusion {
  margin-left: 55px;
  margin-right: 40px;
}
body.standalone.worksheet section.worksheet > .heading + .para {
  display: inline;
}
.standalone.worksheet [data-knowl]:hover,
.standalone.worksheet [data-knowl]:active,
.standalone.worksheet [data-knowl].active {
  background: none;
  color: black;
}
.standalone.worksheet [data-knowl]::after {
  border: none;
}
.pretext .searchwrapper {
  max-width: 900px;
  position: absolute;
  right: 0;
  bottom: 0;
  margin-bottom: 39px;
}
.pretext .searchwrapper .cse .gsc-control-cse,
.pretext .searchwrapper .cse .gsc-control-cse input,
.searchwrapper .gsc-control-cse {
  padding: 5px;
}
.searchbox .searchwidget {
  height: 100%;
}
.searchbox .searchresultsplaceholder {
  position: fixed;
  top: 5vh;
  bottom: 5vh;
  padding: 1em;
  left: max(10vw, (100vw - 800px) / 2);
  width: 80vw;
  max-width: 800px;
  border: 2px solid var(--body-text-color);
  background: var(--knowl-background, #eaf0f6);
  z-index: 5000;
  display: flex;
  flex-direction: column;
}
.searchbox .searchresultsplaceholder article {
  width: 60%;
  margin-left: auto;
  margin-right: auto;
  font-family: sans-serif;
}
.searchbox .search-results-controls {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  gap: 10px;
  margin-bottom: 1em;
  height: 35px;
}
.searchbox .ptxsearch {
  flex: 1 1;
}
.searchbox .closesearchresults {
  font: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  gap: 10px;
  min-height: 34px;
  color: var(--button-text-color);
  background-color: var(--button-background);
  border-width: 1px;
  border-color: var(--button-border-color);
  border-style: solid;
  border-radius: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  user-select: none;
}
.searchbox .closesearchresults:hover:not(.disabled) {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.searchbox .closesearchresults:focus-visible {
  outline: 2px solid var(--button-text-color);
  outline-offset: -2px;
}
.searchbox .closesearchresults.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.searchbox .closesearchresults.hidden {
  display: none;
}
.searchbox .closesearchresults.open {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.searchbox .detailed_result {
  margin-bottom: 10px;
}
.searchbox .searchresults a:hover {
  text-decoration: underline;
  background: var(--link-active-background);
}
.searchbox .searchresults {
  padding-left: 10px;
  margin-top: 0;
  overflow-y: auto;
  flex: 1 1;
  background: var(--content-background, white);
  border: 1px solid var(--page-border-color, #ccc);
}
.searchbox .searchresults:empty {
  display: none;
}
.searchbox .search-result-bullet {
  list-style-type: none;
}
.searchbox .search-result-score {
  display: none;
}
.searchbox .no_result {
  font-size: 90%;
  font-weight: 200;
}
.searchbox .low_result {
  font-weight: 200;
}
.searchbox .medium_result {
  font-weight: 500;
}
.searchbox .high_result {
  font-weight: 700;
}
.searchbox .searchempty {
  display: none;
  padding-left: 10px;
  padding-top: 5px;
}
.searchbox .search-results-unshown-count {
  margin-top: 0.6em;
}
.searchbox .search-result-clip-highlight {
  background: var(--searchresultshighlight);
}
.searchbox .searchresultsbackground {
  position: fixed;
  top: 0;
  background: var(--searchresultsbackground, white);
  width: 100vw;
  height: 100%;
  left: 0;
  z-index: 4999;
}
@media screen and (max-width: 800px) {
  .searchbox .searchresultsplaceholder {
    bottom: 10vh;
  }
}
:root {
  --searchresultsbackground: #fff8;
  --searchresultshighlight: rgba(255, 255, 0, 50%);
}
:root.dark-mode {
  --searchresultsbackground: #0008;
  --searchresultshighlight: rgba(255, 255, 0, 15%);
}
.ptx-content .ptx-runestone-container .runestone {
  margin: unset;
  border-radius: 0;
  border-width: 1px;
}
.multiplechoice_section label > .para {
  display: inline;
}
.ptx-content .ptx-runestone-container .ac_question {
  max-width: var(--base-content-width);
  margin: 0 auto 10px;
}
.runestone .runestone_caption {
  display: none;
}
.ptx-content .ptx-runestone-container .rsdraggable {
  font-size: 100%;
}
.ptx-content .bottom {
  position: unset;
}
.ptx-runestone-container .runestone code,
.ptx-runestone-container .runestone pre {
  font-size: 0.93rem;
  line-height: 1.2;
  font-family: var(--font-monospace);
}
.ptx-runestone-container code[class*=language-],
.ptx-runestone-container pre[class*=language-] {
  color: black;
  background: #fdfdfd;
}
.runestone.datafile .datafile_caption {
  background: var(--code-inline);
  border: 1px solid color-mix(in oklab, var(--code-inline) 50%, #888);
  display: block;
  width: fit-content;
  margin: 0 auto;
}
.runestone.datafile img {
  margin: 0 auto;
  display: block;
  border: 1px solid color-mix(in oklab, var(--code-inline) 50%, #888);
}
.runestone.datafile pre,
.runestone.datafile textarea {
  margin: 0 auto;
  border: 1px solid color-mix(in oklab, var(--code-inline) 50%, #888);
  background-color: var(--page-color);
}
.runestone.datafile + .program {
  margin-top: 0;
}
ul[data-component=timedAssessment] {
  margin: 0;
  padding: 0;
}
:root.dark-mode .ptx-runestone-container code[class*=language-],
:root.dark-mode .ptx-runestone-container pre[class*=language-] {
  color: white;
  background: hsl(0, 0%, 8%);
}
.ptx-content .wwprob table.attemptResults {
  margin-left: 2em;
  background: #efefef;
  padding: 0.2em;
}
.ptx-content .wwprob table.attemptResults + .attemptResultsSummary {
  margin-top: 1em;
}
.ptx-content .wwprob .problem-main-form {
  margin-top: 1em;
  background: #eeeeff;
  padding: 0.5em;
}
.ptx-content .wwprob td.ResultsWithoutError {
  background: #9f9;
}
.ptx-content .wwprob td.ResultsWithError {
  background: #f99;
}
.ptx-content .wwprob tr th {
  text-align: center;
  padding: 0.2em 1em 0.2em 1em;
}
.ptx-content .wwprob tr td {
  text-align: center;
}
.ptx-content .wwprob tr td:empty {
  background: #fff;
}
.ptx-content .wwprob ol,
.ptx-content .wwprob ul {
  margin-top: 0.75em !important;
}
.ptx-content .wwprob .problem {
  background: #fdfdfd;
}
.ptx-content .wwprob .problem a {
  text-decoration: none;
}
.ptx-content .wwprob #footer {
  font-size: 70%;
  text-align: right;
}
label.webwork {
  display: inline-flex;
  flex-direction: column;
}
label.correct .status {
  background-color: #a0f0a0;
}
label.partly-correct .status {
  color: #ffcc66;
}
label.incorrect .status {
  color: #b00;
}
label.incorrect .status::before {
  content: " ";
}
label.feedback {
  word-wrap: break-word;
}
label.correct .feedback {
  background-color: #00ffcc;
}
label.partly-correct .feedback {
  color: #ffcc66;
}
label.incorrect .feedback {
  color: #e07070;
}
.webwork img,
.webwork + .knowl-output img {
  max-width: 100%;
}
.exercise-wrapper > *:not(:first-child) {
  margin-top: 1.5em;
}
.ptx-content .problem-buttons {
  display: flex;
}
.ptx-content .webwork-button {
  font: inherit;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  gap: 10px;
  min-height: 34px;
  color: var(--button-text-color);
  background-color: var(--button-background);
  border-width: 1px;
  border-color: var(--button-border-color);
  border-style: solid;
  border-radius: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  cursor: pointer;
  user-select: none;
}
.ptx-content .webwork-button:hover:not(.disabled) {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.ptx-content .webwork-button:focus-visible {
  outline: 2px solid var(--button-text-color);
  outline-offset: -2px;
}
.ptx-content .webwork-button.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.ptx-content .webwork-button.hidden {
  display: none;
}
.ptx-content .webwork-button.open {
  color: var(--button-hover-text-color);
  background-color: var(--button-hover-background);
}
.problem-buttons.hidden-content,
.problem-contents.hidden-content {
  display: none;
}
.sagecell_sessionOutput pre {
  font-family: var(--font-monospace);
}
.sagecell {
  white-space: normal;
  margin-top: 1.25em;
  margin-bottom: 1.25em;
}
.sage-interact.sagecell {
  margin: 0;
}
.sagecell_evalButton {
  font-family: var(--font-body);
  font-size: 16px;
  padding: 0 0.65em;
}
.sagecell_evalButton {
  cursor: pointer;
  display: inline-block;
  vertical-align: middle;
  user-select: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-width: 1px;
  border-style: solid;
  font-weight: bold;
  border-radius: 3px;
}
.sagecell_evalButton {
  color: #383838;
  background-image: linear-gradient(#f7f7f7, #bbbbbb);
  border-color: #c4c4c4;
}
.sagecell_evalButton:hover {
  color: #181868;
  background-image: linear-gradient(#bbbbbb, #f7f7f7);
}
.sagecell_evalButton:focus,
.sagecell_evalButton:active {
  color: #20160b;
  background-image: linear-gradient(#ff6852, #ffd7d1);
  border-color: #ff2822;
}
.sagecell .sagecell_editor {
  margin-bottom: 8px;
}
.sageanswer {
  font-family: monospace;
  white-space: pre;
  margin-left: 3em;
  margin-bottom: 2em;
}
.sageanswer .key {
  display: inline-block;
  vertical-align: top;
  margin-right: 1em;
}
.sageanswer .output {
  display: inline-block;
  vertical-align: top;
}
.calculator-container {
  position: fixed;
  z-index: 100;
  bottom: 5px;
  right: 5px;
  width: 253px;
  height: 460px;
}
@media screen and (max-width: 800px) {
  .calculator-container {
    bottom: 50px !important;
  }
}
:root {
  --font-body:
    Open Sans,
    Helvetica Neue,
    Helvetica,
    Arial,
    sans-serif;
}
:root {
  --font-headings:
    PT Serif,
    Times New Roman,
    Times,
    serif;
}
:root {
  --font-monospace:
    Inconsolata,
    Consolas,
    Monaco,
    monospace;
}
.ptx-toc:is(.depth0, .depth1, .depth2) .toc-item .toc-item {
  background-color: var(--tocitem-background);
  color: var(--toc-text-color);
}
.ptx-toc:is(.depth0, .depth1, .depth2, .depth3) .toc-item .toc-item .toc-item {
  background-color: var(--tocitem-background);
  color: var(--toc-text-color);
}
.toc-item {
  border-top: 1px solid var(--toc-border-color);
}
.ptx-toc.focused .toc-title-box > a:hover {
  border-right: 1px solid var(--toc-border-color);
}
.ptx-toc.focused .toc-expander:is(:hover) {
  border-left: 1px solid var(--toc-border-color);
}
.ptx-toc > .toc-item-list > .toc-item {
  border-top: 2px solid var(--toc-border-color);
}
section > .heading {
  padding-bottom: 3px;
  border-bottom: 2px solid var(--primary-color-white-30);
}
section > h2.heading {
  border-bottom-width: 4px;
}
section > h3.heading {
  border-bottom-width: 3px;
}
:root.dark-mode section > .heading {
  border-bottom-color: var(--primary-color-black-30);
}
@container ptx-main (width > 696px) {
  .displaymath {
    --max-width: calc(min((100cqw - 2 * 48px), 900px));
    min-width: 100%;
    width: fit-content;
    max-width: var(--max-width);
    overflow-x: auto;
    overflow-y: hidden;
  }
}
@container ptx-main (width > 696px) {
  .code-display {
    --max-width: calc(min((100cqw - 2 * 48px), 900px));
    min-width: 100%;
    width: fit-content;
    max-width: var(--max-width);
    overflow-x: auto;
    overflow-y: hidden;
  }
}
@container ptx-main (width > 696px) {
  .ptx-runestone-container:has(.parsons_section, .ac_section, .codelens) {
    --max-width: calc(min((100cqw - 2 * 48px), 900px));
    min-width: 100%;
    width: var(--max-width);
    max-width: var(--max-width);
    overflow-x: auto;
    overflow-y: hidden;
  }
}
:root {
  color-scheme: light;
}
:root:not(.dark-mode) {
  --page-color: white;
  --content-background: white;
  --page-border-color: #ccc;
  --doc-title-color: var(--primary-color);
  --byline-color: #333;
  --banner-background: #fafafa;
  --navbar-background: #ededed;
  --footer-background: var(--banner-background);
  --toc-border-color: var(--primary-color-white-30);
  --toc-background: var(--content-background);
  --tocitem-background: var(--toc-background);
  --toc-text-color: var(--body-text-color);
  --tocitem-highlight-background: var(--secondary-color-white-10);
  --tocitem-highlight-text-color: white;
  --tocitem-highlight-border-color: var(--toc-border-color);
  --tocitem-active-background: var(--secondary-color);
  --tocitem-active-text-color: white;
  --tocitem-active-border-color: var(--toc-border-color);
  --toclevel1-background: var(--primary-color);
  --toclevel1-text-color: white;
  --toclevel2-background: var(--primary-color-white-10);
  --toclevel2-text-color: var(--toclevel1-text-color);
  --toclevel3-background: var(--content-background);
  --toclevel3-text-color: var(--toc-text-color);
  --body-text-color: #000;
  --body-title-color: #000;
  --ptx-image-bg: transparent;
  --activated-content-bg: #fae6e3;
  --summary-link-background: var(--button-background);
  --summary-link-text-color: var(--button-text-color);
  --summary-link-hover-background: var(--button-hover-background);
  --summary-link-hover-text-color: var(--button-hover-text-color);
  --link-text-color: var(--primary-color);
  --link-background: var(--primary-color-white-97);
  --link-active-text-color: var(--primary-color-black-20);
  --link-active-background: var(--link-background);
  --link-alt-text-color: var(--secondary-color-black-10);
  --link-alt-background: var(--secondary-color-white-97);
  --link-alt-active-text-color: var(--link-alt-text-color);
  --link-alt-active-background: var(--secondary-color-white-97);
  --knowl-link-color: var(--link-text-color);
  --knowl-background: var(--primary-color-white-97);
  --knowl-border-color: var(--primary-color-white-30);
  --knowl-nested-1-background: var(--secondary-color-white-97);
  --knowl-nested-2-background: var(--primary-color-white-97);
  --knowl-nested-3-background: var(--secondary-color-white-97);
  --knowl-nested-4-background: var(--primary-color-white-97);
  --block-body-background: var(--content-background);
  --block-border-color: var(--knowl-border-color);
  --block-head-color: var(--body-text-color);
  --button-background: #ededed;
  --button-text-color: #333333;
  --button-border-color: #ccc;
  --button-hover-background: #c7c7c7;
  --button-hover-text-color: var(--button-text-color);
  --code-inline: #ededed;
  --dropdown-background: var(--content-background);
  --dropdown-border-color: var(--toc-border-color);
  --dropdown-text-color: var(--toc-text-color);
  --dropdown-hover-background: var(--tocitem-active-background);
  --dropdown-hover-text-color: var(--tocitem-active-text-color);
  --assemblage-like-body-background: var(--knowl-background);
  --assemblage-like-border-color: var(--knowl-border-color);
  --definition-like-body-background: var(--block-body-background);
  --definition-like-border-color: var(--block-border-color);
  --theorem-like-body-background: var(--block-body-background);
  --theorem-like-border-color: var(--block-border-color);
  --axiom-like-body-background: var(--block-body-background);
  --axiom-like-border-color: var(--block-border-color);
  --remark-like-body-background: var(--block-body-background);
  --remark-like-border-color: var(--block-border-color);
  --computation-like-body-background: var(--block-body-background);
  --computation-like-border-color: var(--block-border-color);
  --openproblem-like-body-background: var(--block-body-background);
  --openproblem-like-border-color: var(--block-border-color);
  --aside-like-body-background: var(--knowl-background);
  --aside-like-border-color: var(--knowl-border-color);
  --proof-like-body-background: var(--block-body-background);
  --proof-like-border-color: var(--block-border-color);
  --example-like-body-background: var(--block-body-background);
  --example-like-border-color: var(--block-border-color);
  --project-like-body-background: var(--block-body-background);
  --project-like-border-color: var(--block-border-color);
  --goal-like-body-background: var(--block-body-background);
  --goal-like-border-color: var(--secondary-color-white-20);
  --solution-like-body-background: var(--block-body-background);
  --solution-like-border-color: var(--block-border-color);
  --primary-color-white-1: color-mix(in oklab, var(--primary-color), white 1%);
  --primary-color-white-2: color-mix(in oklab, var(--primary-color), white 2%);
  --primary-color-white-3: color-mix(in oklab, var(--primary-color), white 3%);
  --primary-color-white-4: color-mix(in oklab, var(--primary-color), white 4%);
  --primary-color-white-5: color-mix(in oklab, var(--primary-color), white 5%);
  --primary-color-white-10: color-mix(in oklab, var(--primary-color), white 10%);
  --primary-color-white-15: color-mix(in oklab, var(--primary-color), white 15%);
  --primary-color-white-20: color-mix(in oklab, var(--primary-color), white 20%);
  --primary-color-white-25: color-mix(in oklab, var(--primary-color), white 25%);
  --primary-color-white-30: color-mix(in oklab, var(--primary-color), white 30%);
  --primary-color-white-35: color-mix(in oklab, var(--primary-color), white 35%);
  --primary-color-white-40: color-mix(in oklab, var(--primary-color), white 40%);
  --primary-color-white-50: color-mix(in oklab, var(--primary-color), white 50%);
  --primary-color-white-60: color-mix(in oklab, var(--primary-color), white 60%);
  --primary-color-white-65: color-mix(in oklab, var(--primary-color), white 65%);
  --primary-color-white-70: color-mix(in oklab, var(--primary-color), white 70%);
  --primary-color-white-75: color-mix(in oklab, var(--primary-color), white 75%);
  --primary-color-white-80: color-mix(in oklab, var(--primary-color), white 80%);
  --primary-color-white-85: color-mix(in oklab, var(--primary-color), white 85%);
  --primary-color-white-90: color-mix(in oklab, var(--primary-color), white 90%);
  --primary-color-white-95: color-mix(in oklab, var(--primary-color), white 95%);
  --primary-color-white-96: color-mix(in oklab, var(--primary-color), white 96%);
  --primary-color-white-97: color-mix(in oklab, var(--primary-color), white 97%);
  --primary-color-white-98: color-mix(in oklab, var(--primary-color), white 98%);
  --primary-color-white-99: color-mix(in oklab, var(--primary-color), white 99%);
  --primary-color-black-1: color-mix(in oklab, var(--primary-color), black 1%);
  --primary-color-black-2: color-mix(in oklab, var(--primary-color), black 2%);
  --primary-color-black-3: color-mix(in oklab, var(--primary-color), black 3%);
  --primary-color-black-4: color-mix(in oklab, var(--primary-color), black 4%);
  --primary-color-black-5: color-mix(in oklab, var(--primary-color), black 5%);
  --primary-color-black-10: color-mix(in oklab, var(--primary-color), black 10%);
  --primary-color-black-15: color-mix(in oklab, var(--primary-color), black 15%);
  --primary-color-black-20: color-mix(in oklab, var(--primary-color), black 20%);
  --primary-color-black-25: color-mix(in oklab, var(--primary-color), black 25%);
  --primary-color-black-30: color-mix(in oklab, var(--primary-color), black 30%);
  --primary-color-black-35: color-mix(in oklab, var(--primary-color), black 35%);
  --primary-color-black-40: color-mix(in oklab, var(--primary-color), black 40%);
  --primary-color-black-50: color-mix(in oklab, var(--primary-color), black 50%);
  --primary-color-black-60: color-mix(in oklab, var(--primary-color), black 60%);
  --primary-color-black-65: color-mix(in oklab, var(--primary-color), black 65%);
  --primary-color-black-70: color-mix(in oklab, var(--primary-color), black 70%);
  --primary-color-black-75: color-mix(in oklab, var(--primary-color), black 75%);
  --primary-color-black-80: color-mix(in oklab, var(--primary-color), black 80%);
  --primary-color-black-85: color-mix(in oklab, var(--primary-color), black 85%);
  --primary-color-black-90: color-mix(in oklab, var(--primary-color), black 90%);
  --primary-color-black-95: color-mix(in oklab, var(--primary-color), black 95%);
  --primary-color-black-96: color-mix(in oklab, var(--primary-color), black 96%);
  --primary-color-black-97: color-mix(in oklab, var(--primary-color), black 97%);
  --primary-color-black-98: color-mix(in oklab, var(--primary-color), black 98%);
  --primary-color-black-99: color-mix(in oklab, var(--primary-color), black 99%);
  --primary-color-gray-1: color-mix(in oklab, var(--primary-color), gray 1%);
  --primary-color-gray-2: color-mix(in oklab, var(--primary-color), gray 2%);
  --primary-color-gray-3: color-mix(in oklab, var(--primary-color), gray 3%);
  --primary-color-gray-4: color-mix(in oklab, var(--primary-color), gray 4%);
  --primary-color-gray-5: color-mix(in oklab, var(--primary-color), gray 5%);
  --primary-color-gray-10: color-mix(in oklab, var(--primary-color), gray 10%);
  --primary-color-gray-15: color-mix(in oklab, var(--primary-color), gray 15%);
  --primary-color-gray-20: color-mix(in oklab, var(--primary-color), gray 20%);
  --primary-color-gray-25: color-mix(in oklab, var(--primary-color), gray 25%);
  --primary-color-gray-30: color-mix(in oklab, var(--primary-color), gray 30%);
  --primary-color-gray-35: color-mix(in oklab, var(--primary-color), gray 35%);
  --primary-color-gray-40: color-mix(in oklab, var(--primary-color), gray 40%);
  --primary-color-gray-50: color-mix(in oklab, var(--primary-color), gray 50%);
  --primary-color-gray-60: color-mix(in oklab, var(--primary-color), gray 60%);
  --primary-color-gray-65: color-mix(in oklab, var(--primary-color), gray 65%);
  --primary-color-gray-70: color-mix(in oklab, var(--primary-color), gray 70%);
  --primary-color-gray-75: color-mix(in oklab, var(--primary-color), gray 75%);
  --primary-color-gray-80: color-mix(in oklab, var(--primary-color), gray 80%);
  --primary-color-gray-85: color-mix(in oklab, var(--primary-color), gray 85%);
  --primary-color-gray-90: color-mix(in oklab, var(--primary-color), gray 90%);
  --primary-color-gray-95: color-mix(in oklab, var(--primary-color), gray 95%);
  --primary-color-gray-96: color-mix(in oklab, var(--primary-color), gray 96%);
  --primary-color-gray-97: color-mix(in oklab, var(--primary-color), gray 97%);
  --primary-color-gray-98: color-mix(in oklab, var(--primary-color), gray 98%);
  --primary-color-gray-99: color-mix(in oklab, var(--primary-color), gray 99%);
  --secondary-color-white-1: color-mix(in oklab, var(--secondary-color), white 1%);
  --secondary-color-white-2: color-mix(in oklab, var(--secondary-color), white 2%);
  --secondary-color-white-3: color-mix(in oklab, var(--secondary-color), white 3%);
  --secondary-color-white-4: color-mix(in oklab, var(--secondary-color), white 4%);
  --secondary-color-white-5: color-mix(in oklab, var(--secondary-color), white 5%);
  --secondary-color-white-10: color-mix(in oklab, var(--secondary-color), white 10%);
  --secondary-color-white-15: color-mix(in oklab, var(--secondary-color), white 15%);
  --secondary-color-white-20: color-mix(in oklab, var(--secondary-color), white 20%);
  --secondary-color-white-25: color-mix(in oklab, var(--secondary-color), white 25%);
  --secondary-color-white-30: color-mix(in oklab, var(--secondary-color), white 30%);
  --secondary-color-white-35: color-mix(in oklab, var(--secondary-color), white 35%);
  --secondary-color-white-40: color-mix(in oklab, var(--secondary-color), white 40%);
  --secondary-color-white-50: color-mix(in oklab, var(--secondary-color), white 50%);
  --secondary-color-white-60: color-mix(in oklab, var(--secondary-color), white 60%);
  --secondary-color-white-65: color-mix(in oklab, var(--secondary-color), white 65%);
  --secondary-color-white-70: color-mix(in oklab, var(--secondary-color), white 70%);
  --secondary-color-white-75: color-mix(in oklab, var(--secondary-color), white 75%);
  --secondary-color-white-80: color-mix(in oklab, var(--secondary-color), white 80%);
  --secondary-color-white-85: color-mix(in oklab, var(--secondary-color), white 85%);
  --secondary-color-white-90: color-mix(in oklab, var(--secondary-color), white 90%);
  --secondary-color-white-95: color-mix(in oklab, var(--secondary-color), white 95%);
  --secondary-color-white-96: color-mix(in oklab, var(--secondary-color), white 96%);
  --secondary-color-white-97: color-mix(in oklab, var(--secondary-color), white 97%);
  --secondary-color-white-98: color-mix(in oklab, var(--secondary-color), white 98%);
  --secondary-color-white-99: color-mix(in oklab, var(--secondary-color), white 99%);
  --secondary-color-black-1: color-mix(in oklab, var(--secondary-color), black 1%);
  --secondary-color-black-2: color-mix(in oklab, var(--secondary-color), black 2%);
  --secondary-color-black-3: color-mix(in oklab, var(--secondary-color), black 3%);
  --secondary-color-black-4: color-mix(in oklab, var(--secondary-color), black 4%);
  --secondary-color-black-5: color-mix(in oklab, var(--secondary-color), black 5%);
  --secondary-color-black-10: color-mix(in oklab, var(--secondary-color), black 10%);
  --secondary-color-black-15: color-mix(in oklab, var(--secondary-color), black 15%);
  --secondary-color-black-20: color-mix(in oklab, var(--secondary-color), black 20%);
  --secondary-color-black-25: color-mix(in oklab, var(--secondary-color), black 25%);
  --secondary-color-black-30: color-mix(in oklab, var(--secondary-color), black 30%);
  --secondary-color-black-35: color-mix(in oklab, var(--secondary-color), black 35%);
  --secondary-color-black-40: color-mix(in oklab, var(--secondary-color), black 40%);
  --secondary-color-black-50: color-mix(in oklab, var(--secondary-color), black 50%);
  --secondary-color-black-60: color-mix(in oklab, var(--secondary-color), black 60%);
  --secondary-color-black-65: color-mix(in oklab, var(--secondary-color), black 65%);
  --secondary-color-black-70: color-mix(in oklab, var(--secondary-color), black 70%);
  --secondary-color-black-75: color-mix(in oklab, var(--secondary-color), black 75%);
  --secondary-color-black-80: color-mix(in oklab, var(--secondary-color), black 80%);
  --secondary-color-black-85: color-mix(in oklab, var(--secondary-color), black 85%);
  --secondary-color-black-90: color-mix(in oklab, var(--secondary-color), black 90%);
  --secondary-color-black-95: color-mix(in oklab, var(--secondary-color), black 95%);
  --secondary-color-black-96: color-mix(in oklab, var(--secondary-color), black 96%);
  --secondary-color-black-97: color-mix(in oklab, var(--secondary-color), black 97%);
  --secondary-color-black-98: color-mix(in oklab, var(--secondary-color), black 98%);
  --secondary-color-black-99: color-mix(in oklab, var(--secondary-color), black 99%);
  --secondary-color-gray-1: color-mix(in oklab, var(--secondary-color), gray 1%);
  --secondary-color-gray-2: color-mix(in oklab, var(--secondary-color), gray 2%);
  --secondary-color-gray-3: color-mix(in oklab, var(--secondary-color), gray 3%);
  --secondary-color-gray-4: color-mix(in oklab, var(--secondary-color), gray 4%);
  --secondary-color-gray-5: color-mix(in oklab, var(--secondary-color), gray 5%);
  --secondary-color-gray-10: color-mix(in oklab, var(--secondary-color), gray 10%);
  --secondary-color-gray-15: color-mix(in oklab, var(--secondary-color), gray 15%);
  --secondary-color-gray-20: color-mix(in oklab, var(--secondary-color), gray 20%);
  --secondary-color-gray-25: color-mix(in oklab, var(--secondary-color), gray 25%);
  --secondary-color-gray-30: color-mix(in oklab, var(--secondary-color), gray 30%);
  --secondary-color-gray-35: color-mix(in oklab, var(--secondary-color), gray 35%);
  --secondary-color-gray-40: color-mix(in oklab, var(--secondary-color), gray 40%);
  --secondary-color-gray-50: color-mix(in oklab, var(--secondary-color), gray 50%);
  --secondary-color-gray-60: color-mix(in oklab, var(--secondary-color), gray 60%);
  --secondary-color-gray-65: color-mix(in oklab, var(--secondary-color), gray 65%);
  --secondary-color-gray-70: color-mix(in oklab, var(--secondary-color), gray 70%);
  --secondary-color-gray-75: color-mix(in oklab, var(--secondary-color), gray 75%);
  --secondary-color-gray-80: color-mix(in oklab, var(--secondary-color), gray 80%);
  --secondary-color-gray-85: color-mix(in oklab, var(--secondary-color), gray 85%);
  --secondary-color-gray-90: color-mix(in oklab, var(--secondary-color), gray 90%);
  --secondary-color-gray-95: color-mix(in oklab, var(--secondary-color), gray 95%);
  --secondary-color-gray-96: color-mix(in oklab, var(--secondary-color), gray 96%);
  --secondary-color-gray-97: color-mix(in oklab, var(--secondary-color), gray 97%);
  --secondary-color-gray-98: color-mix(in oklab, var(--secondary-color), gray 98%);
  --secondary-color-gray-99: color-mix(in oklab, var(--secondary-color), gray 99%);
  --primary-color: #195684;
  --secondary-color: #932c1c;
}
:root.dark-mode {
  color-scheme: dark;
  --page-color: var(--background-color);
  --content-background: var(--page-color);
  --page-border-color: var(--background-color-white-25);
  --doc-title-color: var(--primary-color);
  --byline-color: var(--background-color-white-50);
  --banner-background: #23241f;
  --navbar-background: var(--background-color-gray-15);
  --footer-background: var(--background-color-black-10);
  --toc-border-color: #555;
  --toc-background: var(--content-background);
  --tocitem-background: var(--toc-background);
  --toc-text-color: var(--body-text-color);
  --tocitem-highlight-background: var(--primary-color-gray-5);
  --tocitem-highlight-text-color: var(--background-color-black-50);
  --tocitem-highlight-border-color: var(--toc-border-color);
  --tocitem-active-background: var(--primary-color-gray-5);
  --tocitem-active-text-color: var(--background-color-black-50);
  --tocitem-active-border-color: var(--toc-border-color);
  --toclevel1-background: var(--background-color-gray-10);
  --toclevel1-text-color: var(--primary-color-white-40);
  --toclevel2-background: var(--toclevel1-background);
  --toclevel2-text-color: var(--toclevel1-text-color);
  --toclevel3-background: var(--content-background);
  --toclevel3-text-color: var(--toc-text-color);
  --body-text-color: #f2f2f2;
  --body-title-color: var(--primary-color-white-20);
  --ptx-image-bg: white;
  --activated-content-bg: rgba(255, 237, 185, 0.2);
  --summary-link-background: var(--button-background);
  --summary-link-text-color: var(--button-text-color);
  --summary-link-hover-background: var(--button-hover-background);
  --summary-link-hover-text-color: var(--button-hover-text-color);
  --link-text-color: var(--primary-color-white-10);
  --link-background: transparent;
  --link-active-text-color: var(--primary-color-white-40);
  --link-active-background: var(--background-color-gray-30);
  --link-alt-text-color: var(--link-text-color);
  --link-alt-background: transparent;
  --link-alt-active-text-color: var(--link-alt-text-color);
  --link-alt-active-background: var(--link-active-text-color);
  --knowl-link-color: var(--doc-title-color);
  --knowl-background: var(--background-color-black-10);
  --knowl-border-color: var(--background-color-white-20);
  --knowl-nested-1-background: var(--background-color-gray-10);
  --knowl-nested-2-background: var(--background-color-black-10);
  --knowl-nested-3-background: var(--background-color-gray-10);
  --knowl-nested-4-background: var(--background-color-black-10);
  --block-body-background: var(--content-background);
  --block-border-color: var(--knowl-border-color);
  --block-head-color: var(--body-text-color);
  --button-background: var(--background-color-gray-15);
  --button-text-color: var(--body-text-color);
  --button-border-color: var(--background-color-white-25);
  --button-hover-background: var(--primary-color);
  --button-hover-text-color: var(--button-text-color);
  --code-inline: var(--background-color-gray-20);
  --dropdown-background: var(--content-background);
  --dropdown-border-color: var(--toc-border-color);
  --dropdown-text-color: var(--toc-text-color);
  --dropdown-hover-background: var(--tocitem-active-background);
  --dropdown-hover-text-color: var(--tocitem-active-text-color);
  --assemblage-like-body-background: var(--block-body-background);
  --assemblage-like-border-color: var(--block-border-color);
  --definition-like-body-background: var(--block-body-background);
  --definition-like-border-color: var(--block-border-color);
  --theorem-like-body-background: var(--block-body-background);
  --theorem-like-border-color: var(--block-border-color);
  --axiom-like-body-background: var(--block-body-background);
  --axiom-like-border-color: var(--block-border-color);
  --remark-like-body-background: var(--block-body-background);
  --remark-like-border-color: var(--block-border-color);
  --computation-like-body-background: var(--block-body-background);
  --computation-like-border-color: var(--block-border-color);
  --openproblem-like-body-background: var(--block-body-background);
  --openproblem-like-border-color: var(--block-border-color);
  --aside-like-body-background: var(--block-body-background);
  --aside-like-border-color: var(--block-border-color);
  --proof-like-body-background: var(--block-body-background);
  --proof-like-border-color: var(--block-border-color);
  --example-like-body-background: var(--block-body-background);
  --example-like-border-color: var(--block-border-color);
  --project-like-body-background: var(--block-body-background);
  --project-like-border-color: var(--block-border-color);
  --goal-like-body-background: var(--block-body-background);
  --goal-like-border-color: var(--block-border-color);
  --solution-like-body-background: var(--block-body-background);
  --solution-like-border-color: var(--block-border-color);
  --primary-color: #698aa8;
  --background-color: #23241f;
  --background-color-white-1: color-mix(in oklab, var(--background-color), white 1%);
  --background-color-white-2: color-mix(in oklab, var(--background-color), white 2%);
  --background-color-white-3: color-mix(in oklab, var(--background-color), white 3%);
  --background-color-white-4: color-mix(in oklab, var(--background-color), white 4%);
  --background-color-white-5: color-mix(in oklab, var(--background-color), white 5%);
  --background-color-white-10: color-mix(in oklab, var(--background-color), white 10%);
  --background-color-white-15: color-mix(in oklab, var(--background-color), white 15%);
  --background-color-white-20: color-mix(in oklab, var(--background-color), white 20%);
  --background-color-white-25: color-mix(in oklab, var(--background-color), white 25%);
  --background-color-white-30: color-mix(in oklab, var(--background-color), white 30%);
  --background-color-white-35: color-mix(in oklab, var(--background-color), white 35%);
  --background-color-white-40: color-mix(in oklab, var(--background-color), white 40%);
  --background-color-white-50: color-mix(in oklab, var(--background-color), white 50%);
  --background-color-white-60: color-mix(in oklab, var(--background-color), white 60%);
  --background-color-white-65: color-mix(in oklab, var(--background-color), white 65%);
  --background-color-white-70: color-mix(in oklab, var(--background-color), white 70%);
  --background-color-white-75: color-mix(in oklab, var(--background-color), white 75%);
  --background-color-white-80: color-mix(in oklab, var(--background-color), white 80%);
  --background-color-white-85: color-mix(in oklab, var(--background-color), white 85%);
  --background-color-white-90: color-mix(in oklab, var(--background-color), white 90%);
  --background-color-white-95: color-mix(in oklab, var(--background-color), white 95%);
  --background-color-white-96: color-mix(in oklab, var(--background-color), white 96%);
  --background-color-white-97: color-mix(in oklab, var(--background-color), white 97%);
  --background-color-white-98: color-mix(in oklab, var(--background-color), white 98%);
  --background-color-white-99: color-mix(in oklab, var(--background-color), white 99%);
  --background-color-black-1: color-mix(in oklab, var(--background-color), black 1%);
  --background-color-black-2: color-mix(in oklab, var(--background-color), black 2%);
  --background-color-black-3: color-mix(in oklab, var(--background-color), black 3%);
  --background-color-black-4: color-mix(in oklab, var(--background-color), black 4%);
  --background-color-black-5: color-mix(in oklab, var(--background-color), black 5%);
  --background-color-black-10: color-mix(in oklab, var(--background-color), black 10%);
  --background-color-black-15: color-mix(in oklab, var(--background-color), black 15%);
  --background-color-black-20: color-mix(in oklab, var(--background-color), black 20%);
  --background-color-black-25: color-mix(in oklab, var(--background-color), black 25%);
  --background-color-black-30: color-mix(in oklab, var(--background-color), black 30%);
  --background-color-black-35: color-mix(in oklab, var(--background-color), black 35%);
  --background-color-black-40: color-mix(in oklab, var(--background-color), black 40%);
  --background-color-black-50: color-mix(in oklab, var(--background-color), black 50%);
  --background-color-black-60: color-mix(in oklab, var(--background-color), black 60%);
  --background-color-black-65: color-mix(in oklab, var(--background-color), black 65%);
  --background-color-black-70: color-mix(in oklab, var(--background-color), black 70%);
  --background-color-black-75: color-mix(in oklab, var(--background-color), black 75%);
  --background-color-black-80: color-mix(in oklab, var(--background-color), black 80%);
  --background-color-black-85: color-mix(in oklab, var(--background-color), black 85%);
  --background-color-black-90: color-mix(in oklab, var(--background-color), black 90%);
  --background-color-black-95: color-mix(in oklab, var(--background-color), black 95%);
  --background-color-black-96: color-mix(in oklab, var(--background-color), black 96%);
  --background-color-black-97: color-mix(in oklab, var(--background-color), black 97%);
  --background-color-black-98: color-mix(in oklab, var(--background-color), black 98%);
  --background-color-black-99: color-mix(in oklab, var(--background-color), black 99%);
  --background-color-gray-1: color-mix(in oklab, var(--background-color), gray 1%);
  --background-color-gray-2: color-mix(in oklab, var(--background-color), gray 2%);
  --background-color-gray-3: color-mix(in oklab, var(--background-color), gray 3%);
  --background-color-gray-4: color-mix(in oklab, var(--background-color), gray 4%);
  --background-color-gray-5: color-mix(in oklab, var(--background-color), gray 5%);
  --background-color-gray-10: color-mix(in oklab, var(--background-color), gray 10%);
  --background-color-gray-15: color-mix(in oklab, var(--background-color), gray 15%);
  --background-color-gray-20: color-mix(in oklab, var(--background-color), gray 20%);
  --background-color-gray-25: color-mix(in oklab, var(--background-color), gray 25%);
  --background-color-gray-30: color-mix(in oklab, var(--background-color), gray 30%);
  --background-color-gray-35: color-mix(in oklab, var(--background-color), gray 35%);
  --background-color-gray-40: color-mix(in oklab, var(--background-color), gray 40%);
  --background-color-gray-50: color-mix(in oklab, var(--background-color), gray 50%);
  --background-color-gray-60: color-mix(in oklab, var(--background-color), gray 60%);
  --background-color-gray-65: color-mix(in oklab, var(--background-color), gray 65%);
  --background-color-gray-70: color-mix(in oklab, var(--background-color), gray 70%);
  --background-color-gray-75: color-mix(in oklab, var(--background-color), gray 75%);
  --background-color-gray-80: color-mix(in oklab, var(--background-color), gray 80%);
  --background-color-gray-85: color-mix(in oklab, var(--background-color), gray 85%);
  --background-color-gray-90: color-mix(in oklab, var(--background-color), gray 90%);
  --background-color-gray-95: color-mix(in oklab, var(--background-color), gray 95%);
  --background-color-gray-96: color-mix(in oklab, var(--background-color), gray 96%);
  --background-color-gray-97: color-mix(in oklab, var(--background-color), gray 97%);
  --background-color-gray-98: color-mix(in oklab, var(--background-color), gray 98%);
  --background-color-gray-99: color-mix(in oklab, var(--background-color), gray 99%);
  --primary-color-white-1: color-mix(in oklab, var(--primary-color), white 1%);
  --primary-color-white-2: color-mix(in oklab, var(--primary-color), white 2%);
  --primary-color-white-3: color-mix(in oklab, var(--primary-color), white 3%);
  --primary-color-white-4: color-mix(in oklab, var(--primary-color), white 4%);
  --primary-color-white-5: color-mix(in oklab, var(--primary-color), white 5%);
  --primary-color-white-10: color-mix(in oklab, var(--primary-color), white 10%);
  --primary-color-white-15: color-mix(in oklab, var(--primary-color), white 15%);
  --primary-color-white-20: color-mix(in oklab, var(--primary-color), white 20%);
  --primary-color-white-25: color-mix(in oklab, var(--primary-color), white 25%);
  --primary-color-white-30: color-mix(in oklab, var(--primary-color), white 30%);
  --primary-color-white-35: color-mix(in oklab, var(--primary-color), white 35%);
  --primary-color-white-40: color-mix(in oklab, var(--primary-color), white 40%);
  --primary-color-white-50: color-mix(in oklab, var(--primary-color), white 50%);
  --primary-color-white-60: color-mix(in oklab, var(--primary-color), white 60%);
  --primary-color-white-65: color-mix(in oklab, var(--primary-color), white 65%);
  --primary-color-white-70: color-mix(in oklab, var(--primary-color), white 70%);
  --primary-color-white-75: color-mix(in oklab, var(--primary-color), white 75%);
  --primary-color-white-80: color-mix(in oklab, var(--primary-color), white 80%);
  --primary-color-white-85: color-mix(in oklab, var(--primary-color), white 85%);
  --primary-color-white-90: color-mix(in oklab, var(--primary-color), white 90%);
  --primary-color-white-95: color-mix(in oklab, var(--primary-color), white 95%);
  --primary-color-white-96: color-mix(in oklab, var(--primary-color), white 96%);
  --primary-color-white-97: color-mix(in oklab, var(--primary-color), white 97%);
  --primary-color-white-98: color-mix(in oklab, var(--primary-color), white 98%);
  --primary-color-white-99: color-mix(in oklab, var(--primary-color), white 99%);
  --primary-color-black-1: color-mix(in oklab, var(--primary-color), black 1%);
  --primary-color-black-2: color-mix(in oklab, var(--primary-color), black 2%);
  --primary-color-black-3: color-mix(in oklab, var(--primary-color), black 3%);
  --primary-color-black-4: color-mix(in oklab, var(--primary-color), black 4%);
  --primary-color-black-5: color-mix(in oklab, var(--primary-color), black 5%);
  --primary-color-black-10: color-mix(in oklab, var(--primary-color), black 10%);
  --primary-color-black-15: color-mix(in oklab, var(--primary-color), black 15%);
  --primary-color-black-20: color-mix(in oklab, var(--primary-color), black 20%);
  --primary-color-black-25: color-mix(in oklab, var(--primary-color), black 25%);
  --primary-color-black-30: color-mix(in oklab, var(--primary-color), black 30%);
  --primary-color-black-35: color-mix(in oklab, var(--primary-color), black 35%);
  --primary-color-black-40: color-mix(in oklab, var(--primary-color), black 40%);
  --primary-color-black-50: color-mix(in oklab, var(--primary-color), black 50%);
  --primary-color-black-60: color-mix(in oklab, var(--primary-color), black 60%);
  --primary-color-black-65: color-mix(in oklab, var(--primary-color), black 65%);
  --primary-color-black-70: color-mix(in oklab, var(--primary-color), black 70%);
  --primary-color-black-75: color-mix(in oklab, var(--primary-color), black 75%);
  --primary-color-black-80: color-mix(in oklab, var(--primary-color), black 80%);
  --primary-color-black-85: color-mix(in oklab, var(--primary-color), black 85%);
  --primary-color-black-90: color-mix(in oklab, var(--primary-color), black 90%);
  --primary-color-black-95: color-mix(in oklab, var(--primary-color), black 95%);
  --primary-color-black-96: color-mix(in oklab, var(--primary-color), black 96%);
  --primary-color-black-97: color-mix(in oklab, var(--primary-color), black 97%);
  --primary-color-black-98: color-mix(in oklab, var(--primary-color), black 98%);
  --primary-color-black-99: color-mix(in oklab, var(--primary-color), black 99%);
  --primary-color-gray-1: color-mix(in oklab, var(--primary-color), gray 1%);
  --primary-color-gray-2: color-mix(in oklab, var(--primary-color), gray 2%);
  --primary-color-gray-3: color-mix(in oklab, var(--primary-color), gray 3%);
  --primary-color-gray-4: color-mix(in oklab, var(--primary-color), gray 4%);
  --primary-color-gray-5: color-mix(in oklab, var(--primary-color), gray 5%);
  --primary-color-gray-10: color-mix(in oklab, var(--primary-color), gray 10%);
  --primary-color-gray-15: color-mix(in oklab, var(--primary-color), gray 15%);
  --primary-color-gray-20: color-mix(in oklab, var(--primary-color), gray 20%);
  --primary-color-gray-25: color-mix(in oklab, var(--primary-color), gray 25%);
  --primary-color-gray-30: color-mix(in oklab, var(--primary-color), gray 30%);
  --primary-color-gray-35: color-mix(in oklab, var(--primary-color), gray 35%);
  --primary-color-gray-40: color-mix(in oklab, var(--primary-color), gray 40%);
  --primary-color-gray-50: color-mix(in oklab, var(--primary-color), gray 50%);
  --primary-color-gray-60: color-mix(in oklab, var(--primary-color), gray 60%);
  --primary-color-gray-65: color-mix(in oklab, var(--primary-color), gray 65%);
  --primary-color-gray-70: color-mix(in oklab, var(--primary-color), gray 70%);
  --primary-color-gray-75: color-mix(in oklab, var(--primary-color), gray 75%);
  --primary-color-gray-80: color-mix(in oklab, var(--primary-color), gray 80%);
  --primary-color-gray-85: color-mix(in oklab, var(--primary-color), gray 85%);
  --primary-color-gray-90: color-mix(in oklab, var(--primary-color), gray 90%);
  --primary-color-gray-95: color-mix(in oklab, var(--primary-color), gray 95%);
  --primary-color-gray-96: color-mix(in oklab, var(--primary-color), gray 96%);
  --primary-color-gray-97: color-mix(in oklab, var(--primary-color), gray 97%);
  --primary-color-gray-98: color-mix(in oklab, var(--primary-color), gray 98%);
  --primary-color-gray-99: color-mix(in oklab, var(--primary-color), gray 99%);
}
/*! Theme: default-modern */
/*# sourceMappingURL=theme-default-modern.css.map */
