/* IBM Plex Mono, self-hosted. font-display: optional = no font swap:
   the browser either uses Plex right away or keeps the fallback for this page view. */
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url("fonts/plex-mono-latin-400.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url("fonts/plex-mono-latin-700.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* Cyrillic is downloaded only if the page contains Cyrillic text. */
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 400;
  font-display: optional;
  src: url("fonts/plex-mono-cyrillic-400.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 700;
  font-display: optional;
  src: url("fonts/plex-mono-cyrillic-700.woff2") format("woff2");
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}

/* Fallbacks tuned to Plex Mono metrics (600/1000 advance, 1025/275 ascent/descent),
   so text takes the same space whichever font ends up being used. */
@font-face {
  font-family: "Plex Fallback Menlo"; /* macOS */
  src: local("Menlo");
  size-adjust: 99.65%;
  ascent-override: 102.9%;
  descent-override: 27.6%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Plex Fallback Consolas"; /* Windows */
  src: local("Consolas");
  size-adjust: 109.1%;
  ascent-override: 93.9%;
  descent-override: 25.2%;
  line-gap-override: 0%;
}
@font-face {
  font-family: "Plex Fallback Liberation"; /* Linux */
  src: local("Liberation Mono");
  size-adjust: 100%;
  ascent-override: 102.5%;
  descent-override: 27.5%;
  line-gap-override: 0%;
}

:root {
  color-scheme: light;
}

body {
  margin: 0;
  background: #fff;
  color: #222;
  font-family: "IBM Plex Mono", "Plex Fallback Menlo", "Plex Fallback Consolas", "Plex Fallback Liberation", ui-monospace, monospace;
  font-size: 15px;
  line-height: 1.55;
  -webkit-text-size-adjust: 100%;
}

main {
  max-width: 600px;
  margin: 64px auto;
  padding: 0 24px;
}

h1 {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 20px;
}

ul {
  margin: 0;
  padding-left: 18px;
}

li {
  margin: 8px 0;
}

ul ul {
  list-style: circle;
  margin-top: 4px;
}

ul ul li {
  margin: 4px 0;
}

/* Classic browser links. */
a {
  color: #0000ee;
  text-decoration: underline;
}

a:visited {
  color: #551a8b;
}

@media (max-width: 480px) {
  main {
    margin: 32px auto;
  }
}
