:root[data-theme="dark"] {
  --student: #8bd9ca;
  --teacher: #ffad97;
  --amber: #f2bf70;
}

@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {
    --student: #8bd9ca;
    --teacher: #ffad97;
    --amber: #f2bf70;
  }
}

.js .prediction-fallback {
  display: none;
}

.prediction-fallback {
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 12px 0;
}

.prediction-fallback summary {
  cursor: pointer;
  font: 700 14px/1.5 var(--sans);
}

.prediction-fallback p {
  margin: 12px 0 0;
  font: 14px/1.6 var(--sans);
}

.branch-mini .token.b {
  color: var(--paper);
}

#opd-film::cue {
  color: #fff;
  background: rgba(17, 19, 21, 0.96);
  font-size: 44%;
  line-height: 1.2;
}

.print-edition {
  --student: #2f6c62;
  --teacher: #a84931;
  --amber: #996317;
}

@media (forced-colors: active) {
  :root,
  :root[data-theme],
  .print-edition {
    --student: CanvasText;
    --teacher: CanvasText;
    --amber: CanvasText;
  }
}

@media print {
  :root,
  :root[data-theme],
  .print-edition {
    --student: #2f6c62;
    --teacher: #a84931;
    --amber: #996317;
  }

  .math-display,
  .source-note,
  .callout {
    break-inside: avoid;
  }

  .branch-mini {
    height: 150px;
  }

  .source-list li {
    margin-bottom: 4px;
  }

  .source-list p {
    line-height: 1.35;
  }

  #sources {
    margin-top: 18px;
  }

  #sources + h2 {
    margin: 14px 0 12px;
  }

  .footer {
    margin-top: 8px;
    padding-top: 8px;
  }
}
