/* (c) Innings2, generated by Mathigon Studio */
x-quill {
  display: block;
  position: relative;
  margin: 1.5em 0;
}
x-quill .ql-toolbar.ql-snow {
  padding: 4px 12px;
  border-radius: 4px 4px 0 0;
  background: #eee;
}
x-quill .ql-container.ql-snow {
  font-family: inherit;
  font-size: 16px;
  border-radius: 0 0 4px 4px;
}
x-quill .ql-editor {
  padding: 16px 16px 44px 16px;
}
x-quill .btn {
  position: absolute;
  bottom: 12px;
  right: 12px;
  font-size: 16px;
}

marker#axis-arrow {
  fill: #3a3645;
}
html[theme=dark] marker#axis-arrow {
  fill: white;
}

x-chart {
  display: block;
  position: relative;
  margin: 2em auto;
  touch-action: pan-y;
  color: #cd0e66;
}
x-chart svg.canvas {
  display: block;
  width: 100%;
  height: 100% !important;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  stroke-linecap: round;
  stroke-linejoin: round;
}
x-chart .grid {
  opacity: 0.1;
}
html[theme=dark] x-chart .grid {
  opacity: 0.25;
}
x-chart .grid line {
  stroke: black;
  stroke-width: 2px;
}
html[theme=dark] x-chart .grid line {
  stroke: white;
}
x-chart .axes line {
  stroke: #3a3645;
  stroke-width: 2px;
}
html[theme=dark] x-chart .axes line {
  stroke: white;
}
x-chart .grid, x-chart .axes {
  stroke-linecap: round;
  transition: opacity 0.2s;
}
x-chart .axes line:not(.tick) {
  marker-end: url(#axis-arrow);
}
x-chart .labels text {
  fill: #3a3645;
  font-size: 14px;
  stroke: white;
  stroke-width: 4px;
  paint-order: stroke;
  stroke-linejoin: round;
}
html.is-safari x-chart .labels text {
  stroke: none;
}
x-chart .plot path {
  fill: none;
  stroke: currentColor;
  stroke-width: 3px;
}
x-chart .plot circle {
  fill: currentColor;
}
x-chart.blue, x-chart g.blue {
  color: #0f82f2;
}
x-chart.green, x-chart g.green {
  color: #22ab24;
}
x-chart.yellow, x-chart g.yellow {
  color: #fd8c00;
}
x-chart x-gesture {
  position: absolute;
  top: 0;
  left: 0;
}

.juniper-cell, code, pre, x-step code {
  font-family: Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

.exercise, .example, .definition {
  padding: 0.6em 1em;
  color: rgba(0, 0, 0, 0.75);
  margin: 1.5em 0;
  border-radius: 2px 4px 4px 2px;
}
.exercise p:last-child, .exercise ul:last-child, .example p:last-child, .example ul:last-child, .definition p:last-child, .definition ul:last-child {
  margin-bottom: 0;
}
.exercise:first-child, .example:first-child, .definition:first-child {
  margin-top: 0;
}
.exercise .caption, .example .caption, .definition .caption {
  color: rgba(0, 0, 0, 0.4);
}

.theorem {
  background: #fbedf6;
  border: 1px solid #b30469;
  border-left: 6px solid #b30469;
}

.exercise {
  background: #f5fefa;
  border: 1px solid #2a9659;
  border-left: 6px solid #2a9659;
}

.example {
  background: #f7ece1;
  border: 1px solid #d8954b;
  border-left: 6px solid #d8954b;
}

.definition {
  background: #c0d6f9;
  border: 1px solid #2667cc;
  border-left: 6px solid #2667cc;
}

x-picker .item {
  display: block;
}

p {
  hanging-punctuation: none;
}

.choice strong {
  color: white;
}

.pill code {
  color: white;
}

.popup code {
  color: white;
}

x-picker .item.pill.bblue {
  background: #0f82f2;
}
x-picker .item.pill.bblue:not(.correct):not(.incorrect):hover {
  background: #095bab;
}
x-picker .item.pill.bblue:after {
  border-width: 2px;
  margin: 2px;
}

x-step code {
  background: transparent;
  border: none;
}

.video-wrap {
  background: black;
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
}
.video-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.CodeMirror pre {
  margin: 0;
}

.juniper-cell {
  border: 1px solid #ccc;
  border-radius: 4px;
  margin: 1.5em 0;
  line-height: 1.8;
  overflow: hidden;
  font-size: 15px;
}
.juniper-cell .CodeMirror {
  padding: 0.6em 1em;
}
.juniper-cell pre {
  color: #555;
}

.juniper-output {
  background: #eee;
  padding: 0.6em 1em;
  white-space: pre-wrap;
  border-top: 1px solid #ccc;
  min-height: 27px;
  color: inherit;
}

.juniper-button {
  display: inline-block;
  width: auto;
  text-align: center;
  border: none;
  border-radius: 24px;
  cursor: pointer;
  color: rgba(255, 255, 255, 0.95);
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  position: absolute;
  top: 12px;
  right: 12px;
  font-size: 16px;
  z-index: 10;
  padding: 0 1.1em;
  height: 2em;
  line-height: 2em;
  font-weight: 600;
  letter-spacing: 0.2px;
  background-color: #22ab24;
  transition: transform 0.4s cubic-bezier(0.33, 1.9, 0.52, 0.7), background 0.2s, color 0.2s, box-shadow 0.2s;
}
.juniper-button:hover, .juniper-button.on {
  z-index: 10;
  color: white;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}
.juniper-button.disabled, .juniper-button[disabled] {
  box-shadow: none;
  cursor: default;
  pointer-events: none;
}
.juniper-button:active {
  transition: transform 0.2s, background 0.2s, color 0.2s, box-shadow 0.2s;
  transform: scale(0.9);
}
.juniper-button:hover, .juniper-button:focus, .juniper-button:active {
  background-color: #29cd2b;
}

code[class*=language-],
pre[class*=language-] {
  color: #393A34;
  direction: ltr;
  text-align: left;
  white-space: pre;
  word-spacing: normal;
  word-break: normal;
  font-size: 0.9em;
  line-height: 1.2em;
  -moz-tab-size: 4;
    -o-tab-size: 4;
       tab-size: 4;
  -webkit-hyphens: none;
          hyphens: none;
}

pre[class*=language-]::-moz-selection, pre[class*=language-] ::-moz-selection, code[class*=language-]::-moz-selection, code[class*=language-] ::-moz-selection {
  background: #C1DEF1;
}

pre[class*=language-]::selection, pre[class*=language-] ::selection,
code[class*=language-]::selection, code[class*=language-] ::selection {
  background: #C1DEF1;
}

pre[class*=language-] {
  padding: 1em;
  margin: 0.5em 0;
  overflow: auto;
  border: 1px solid #ccc;
  background-color: #eee;
  border-radius: 4px;
}

:not(pre) > code[class*=language-] {
  padding: 0.2em;
  padding-top: 1px;
  padding-bottom: 1px;
}

pre > code[class*=language-] {
  padding: 0;
  border: 0;
}

.token.comment,
.token.prolog,
.token.doctype,
.token.cdata {
  color: #008000;
  font-style: italic;
}

.token.namespace {
  opacity: 0.7;
}

.token.string {
  color: #A31515;
}

.token.punctuation,
.token.operator {
  color: #393A34; /* no highlight */
}

.token.url,
.token.symbol,
.token.number,
.token.boolean,
.token.variable,
.token.constant,
.token.inserted {
  color: #36acaa;
}

.token.atrule,
.token.keyword,
.token.attr-value,
.language-autohotkey .token.selector,
.language-json .token.boolean,
.language-json .token.number,
code[class*=language-css] {
  color: #0000ff;
}

.token.function {
  color: #393A34;
}

.token.deleted,
.language-autohotkey .token.tag {
  color: #9a050f;
}

.token.selector,
.language-autohotkey .token.keyword {
  color: #00009f;
}

.token.important,
.token.bold {
  font-weight: bold;
}

.token.italic {
  font-style: italic;
}

.token.class-name,
.language-json .token.property {
  color: #2B91AF;
}

.token.tag,
.token.selector {
  color: #800000;
}

.token.attr-name,
.token.property,
.token.regex,
.token.entity {
  color: #ff0000;
}

.token.directive.tag .tag {
  background: #ffff00;
  color: #393A34;
}

.line-numbers .line-numbers-rows {
  border-right-color: #a5a5a5;
}

.line-numbers-rows > span:before {
  color: #2B91AF;
}

.line-highlight {
  background: rgba(193, 222, 241, 0.2);
  background: linear-gradient(to right, rgba(193, 222, 241, 0.2) 70%, rgba(221, 222, 241, 0));
}