/* Offline typography for the DH tutorial.
 *
 * Custom Mono owns printable ASCII. MonoLisa supplies the subscript digits,
 * true minus sign, arrows and other technical glyphs that Custom Mono does
 * not contain. The supplied MonoLisa build has no Greek block, so the final
 * small embedded subset supplies only alpha, theta, pi and the few remaining
 * mathematical symbols. Keeping each face range-scoped prevents a single
 * mathematical token from falling through to an arbitrary system font. */
@font-face {
  font-family: "Custom Mono";
  src: url("custom-mono-regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0020-007E;
}

@font-face {
  font-family: "MonoLisa Fallback";
  src: url("monolisa-symbols-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+00B0-00B1, U+00B7, U+00D7, U+00F7,
    U+2013-2014, U+2018-2019, U+201C-201D, U+2026,
    U+2039-203A, U+2070, U+2074-2079, U+2080-2089,
    U+2190, U+2192, U+2194, U+2212, U+2248,
    U+2260, U+2264-2265;
}

@font-face {
  font-family: "DH Greek Symbols";
  src: url("dejavu-greek-symbols-regular.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
  unicode-range: U+03B1, U+03B8, U+03C0, U+1D62,
    U+21D2, U+2208, U+2225, U+2297, U+2299, U+2713;
}

/* Table headings request a heavier weight. The Greek fallback is deliberately
 * held at its real regular outline so the small alpha stays open and distinct
 * from the adjacent Latin a instead of receiving a synthetic bold stroke. */
.greek-symbol {
  font-family: "DH Greek Symbols", "DejaVu Sans", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-synthesis: none;
}

/* Real markup keeps symbolic subscripts at one controlled size and baseline.
 * It also lets Custom Mono supply the ASCII index instead of asking a
 * fallback font for precomposed Unicode subscript letters. */
sub {
  font-size: 0.72em;
  line-height: 0;
  vertical-align: baseline;
  position: relative;
  bottom: -0.28em;
  font-feature-settings: "subs" 0;
}
