@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/print-worksheet/print-worksheet.scss */
.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;
}
.clipboardable {
  position: relative;
  display: flow-root;
}
.clipboardable .console + .code-copy {
  top: 1em;
}
.clipboardable .program + .code-copy {
  top: 0.5em;
}
.clipboardable .code-copy {
  position: absolute;
  right: 0;
  top: 0;
  opacity: 0.25;
  border-width: 0;
  background: none;
  cursor: pointer;
  z-index: 1;
  white-space-collapse: collapse;
  padding: 1px;
  scale: 0.85;
}
.clipboardable .code-copy:hover {
  opacity: 0.7;
}
.clipboardable .code-copy .checkmark {
  display: none;
}
.clipboardable .code-copy.copied {
  opacity: 1;
  color: mediumseagreen;
  cursor: not-allowed;
  pointer-events: none;
}
.clipboardable .code-copy.copied .copyicon {
  display: none;
}
.clipboardable .code-copy.copied .checkmark {
  display: inline;
}
@media print {
  .code-copy {
    display: none;
  }
}
: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: 0;
  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;
}
.theorem-like > .heading,
.definition-like > .heading,
.example-like > .heading,
.project-like > .heading,
.remark-like > .heading,
.openproblem-like > .heading,
.computation-like > .heading {
  display: block;
  font-size: 1.1em;
}
.proof {
  padding-bottom: 1.5em;
}
.proof::after {
  content: "\25a1";
  float: right;
}
.proof .heading {
  font-size: unset;
  font-weight: bold;
  font-style: italic;
}
.solution-like .heading {
  display: inline;
  font-style: italic;
  font-size: unset;
}
.goal-like {
  border: none;
  padding: 0;
}
.goal-like > .heading {
  margin-top: -0.5em;
  padding: 0;
  margin: 0;
  font-size: 1.1em;
}
.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;
}
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;
  overflow-x: auto;
}
.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);
  color: var(--body-text-color);
  font-weight: normal;
  font-size: var(1rem);
}
.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,
li,
blockquote,
figcaption,
dt,
.exercisegroup,
.discussion-like,
.solution-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 > .autopermalink {
  left: -3.5em;
}
.autopermalink > * {
  padding-left: 0.2em;
  padding-right: 0.2em;
}
.appendix > .autopermalink,
.chapter > .autopermalink,
.index > .autopermalink,
.section > .autopermalink,
.subsection > .autopermalink,
.references > .autopermalink,
.exercises > .autopermalink {
  top: 1.5ex;
}
.assemblage-like > .para > .autopermalink,
.example-like > .para > .autopermalink,
.example-like > .exercise-like > .autopermalink,
.project-like > .para > .autopermalink,
.project-like > .exercise-like > .autopermalink,
.project-like > .exercise-like > .introduction > .para > .autopermalink,
.project-like > .exercise-like > .conclusion > .para > .autopermalink,
.remark-like > .para > .autopermalink {
  left: -2.9em;
}
.axiom-like > .para:first-of-type > .autopermalink,
.example-like > .para:first-of-type > .autopermalink,
.exercise-like > .para:first-of-type > .autopermalink,
.solution-like > .para:first-of-type > .autopermalink,
.assemblage-like > .para:first-of-type > .autopermalink,
.definition-like > .para:first-of-type > .autopermalink,
.remark-like > .para:first-of-type > .autopermalink,
.project-like > .para:first-of-type > .autopermalink,
.openproblem-like > .para:first-of-type > .autopermalink,
.computation-like > .para:first-of-type > .autopermalink,
.theorem-like > .para:first-of-type > .autopermalink,
.proof > .para:first-of-type > .autopermalink,
.case > .para:first-of-type > .autopermalink,
li > .para:first-of-type > .autopermalink,
dd > .para:first-of-type > .autopermalink {
  display: none;
}
.axiom-like > .introduction > .para:first-of-type > .autopermalink,
.example-like > .introduction > .para:first-of-type > .autopermalink,
.exercise-like > .introduction > .para:first-of-type > .autopermalink,
.solution-like > .introduction > .para:first-of-type > .autopermalink,
.assemblage-like > .introduction > .para:first-of-type > .autopermalink,
.definition-like > .introduction > .para:first-of-type > .autopermalink,
.remark-like > .introduction > .para:first-of-type > .autopermalink,
.project-like > .introduction > .para:first-of-type > .autopermalink,
.openproblem-like > .introduction > .para:first-of-type > .autopermalink,
.computation-like > .introduction > .para:first-of-type > .autopermalink,
.theorem-like > .introduction > .para:first-of-type > .autopermalink,
.proof > .introduction > .para:first-of-type > .autopermalink,
.case > .introduction > .para:first-of-type > .autopermalink,
li > .introduction > .para:first-of-type > .autopermalink,
dd > .introduction > .para:first-of-type > .autopermalink {
  display: none;
}
.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 {
  scroll-margin-top: 45px;
  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;
}
.booktitle {
  font-style: oblique;
}
.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;
  }
  .ptx-page,
  .ptx-main,
  .ptx-main .ptx-content {
    all: unset !important;
    width: 100%;
    border: none;
    padding: 0;
    margin: 0;
  }
  .ptx-sagecell,
  .tabular,
  .table-like,
  .figure-like,
  .exercise-like {
    break-inside: avoid;
  }
  .heading {
    break-after: avoid;
  }
  .code-inline {
    border: unset;
    background: unset;
  }
  @page {
    margin: 0.75in 0.75in 0.75in 0.75in;
  }
}
.heading .print-links {
  float: right;
  vertical-align: bottom;
}
.heading .print-links .print-link {
  font-family: var(--font-body);
  padding: 0.1em 0.2em;
}
.heading .print-links .material-symbols-outlined {
  margin-top: 5pt;
}
.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;
}
:root {
  --font-print:
    PT Serif,
    Times New Roman,
    Times,
    serif;
}
: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-80);
  --toc-background: var(--content-background);
  --tocitem-background: var(--toc-background);
  --toc-text-color: var(--primary-color-black-30);
  --tocitem-highlight-background: var(--primary-color-white-15);
  --tocitem-highlight-text-color: white;
  --tocitem-highlight-border-color: var(--toc-border-color);
  --tocitem-active-background: var(--primary-color-white-15);
  --tocitem-active-text-color: white;
  --tocitem-active-border-color: var(--toc-border-color);
  --toclevel1-background: var(--content-background);
  --toclevel1-text-color: var(--toc-text-color);
  --toclevel2-background: var(--primary-color-white-95);
  --toclevel2-text-color: var(--toc-text-color);
  --toclevel3-background: var(--primary-color-white-90);
  --toclevel3-text-color: var(--toc-text-color);
  --body-text-color: #000;
  --body-title-color: var(--primary-color-black-20);
  --ptx-image-bg: transparent;
  --activated-content-bg: rgba(241, 185, 255, 0.3);
  --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: 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(--link-text-color);
  --knowl-background: var(--primary-color-white-95);
  --knowl-border-color: var(--primary-color);
  --knowl-nested-1-background: #f5f5ff;
  --knowl-nested-2-background: #fffff5;
  --knowl-nested-3-background: #f5ffff;
  --knowl-nested-4-background: #fff5f5;
  --block-body-background: var(--content-background);
  --block-border-color: var(--knowl-border-color);
  --block-head-color: white;
  --button-background: #ededed;
  --button-text-color: #333333;
  --button-border-color: #ccc;
  --button-hover-background: var(--primary-color-white-80);
  --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(--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-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%);
  --primary-color: black;
  --assemb-border-color: var(--primary-color-white-50);
}
:root {
  --ws-width: 8.5in;
  --ws-height: 11in;
  --ws-top-margin: 40px;
  --ws-right-margin: 55px;
  --ws-bottom-margin: 45px;
  --ws-left-margin: 45px;
  --ws-content-width: calc(var(--ws-width) - var(--ws-right-margin) - var(--ws-left-margin));
  --ws-content-height: calc(var(--ws-height) - var(--ws-top-margin) - var(--ws-bottom-margin));
}
.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;
}
.heading .print-links {
  display: none;
}
.autopermalink {
  display: none;
}
section.worksheet {
  font-size: 11pt;
  font-family: var(--font-print);
}
.onepage > .heading {
  margin-top: 0;
  font-size: 1.3em;
}
.onepage .instructions {
  display: none;
}
summary::marker {
  content: "";
}
summary {
  font-weight: bolder;
  display: inline;
}
details > div.knowl__content {
  display: inline;
  margin: unset;
  border: none;
  padding: 3px 0;
  background-color: unset;
}
.knowl__link {
  all: unset;
}
.onepage article {
  padding-left: 0;
  border: none;
}
.onepage article::after {
  all: unset;
}
.onepage > .para:first-child,
.onepage > article:first-child {
  margin-top: 0;
}
.onepage > section > .heading {
  margin-top: 0;
}
section article.task {
  margin-left: 0;
}
section.worksheet > .heading {
  display: inline;
  font-size: 1.1em;
}
section.worksheet > .heading + .para {
  display: inline;
}
.introduction > .heading,
.conclusion > .heading {
  font-size: 1.1em;
  font-weight: bold;
  margin-bottom: 0;
  border-bottom: none;
}
.introduction > .heading + .para,
.conclusion > .heading + .para {
  margin-top: 0.5em;
}
form.papersize-select {
  padding-bottom: 8px;
}
@media screen {
  .ptx-main {
    max-width: var(--ws-width);
    margin: 50px auto;
  }
  .worksheet {
    max-width: var(--ws-width);
    margin: 0 auto;
  }
  .onepage {
    width: 100%;
    height: var(--ws-height);
    padding: var(--ws-top-margin) var(--ws-right-margin) var(--ws-bottom-margin) var(--ws-left-margin);
    box-shadow: 5px 10px 40px -10px;
  }
  .onepage + .onepage {
    margin-top: 2.5em;
  }
  .workspace-container {
    display: flex;
    overflow: visible;
  }
  .workspace {
    width: 100%;
  }
  .highlight-workspace .onepage .workspace {
    border: 1px dashed grey;
    background: hsl(224, 100%, 95%);
  }
  .onepage .original-workspace {
    display: none;
  }
  .highlight-workspace .onepage .original-workspace {
    display: block;
    width: 10px;
    background: hsl(152, 29%, 65%);
  }
  .highlight-workspace .onepage .warning {
    background: hsl(36, 65%, 67%);
  }
  .print-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;
  }
  .print-button:hover:not(.disabled) {
    color: var(--button-hover-text-color);
    background-color: var(--button-hover-background);
  }
  .print-button:focus-visible {
    outline: 2px solid var(--button-text-color);
    outline-offset: -2px;
  }
  .print-button.disabled {
    opacity: 0.4;
    cursor: not-allowed;
  }
  .print-button.hidden {
    display: none;
  }
  .print-button.open {
    color: var(--button-hover-text-color);
    background-color: var(--button-hover-background);
  }
  .papersize-select {
    z-index: 1;
  }
  .papersize-select .name::after {
    content: ": ";
  }
  .print-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 1em;
  }
}
@media print {
  body {
    margin: 0;
    padding: 0;
    width: var(--ws-content-width);
  }
  .print-preview-header {
    display: none;
  }
  section.worksheet {
    border: none;
  }
  .worksheet {
    width: 100%;
  }
  .onepage {
    width: 100%;
    height: var(--ws-content-height);
    overflow: hidden;
    page-break-after: always;
    page-break-inside: avoid;
  }
  .onepage div.workspace,
  .onepage div.workspace.squashed.tight {
    border: none;
    padding: 0;
    background: none !important;
  }
  a {
    color: black;
  }
  @page {
    margin: var(--ws-top-margin, 40px) var(--ws-right-margin, 55px) var(--ws-bottom-margin, 45px) var(--ws-left-margin, 45px);
  }
}
/*! Theme: print-worksheet */
/*# sourceMappingURL=print-worksheet.css.map */
