/* IBM Plex Sans + IBM Plex Serif via Google Fonts */
/* (preconnect links are in head.ejs) */

/* Apply IBM Plex Sans to all elements */
* {
  font-family: 'IBM Plex Sans', sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Ensure font weights work properly */
.font-thin { font-weight: 100; }
.font-extralight { font-weight: 200; }
.font-light { font-weight: 300; }
.font-normal { font-weight: 400; }
.font-medium { font-weight: 500; }
.font-semibold { font-weight: 600; }
.font-bold { font-weight: 700; }
.font-extrabold { font-weight: 800; }
.font-black { font-weight: 900; }

/* Italic variants */
.italic { font-style: italic; }
.not-italic { font-style: normal; }

/* Serif variant for question/passage content.
   The `*` rule above beats inheritance, so these must target descendants too. */
.font-plex-serif, .font-plex-serif *,
.font-serif, .font-serif * {
  font-family: 'IBM Plex Serif', serif;
}

/* Ensure buttons and inputs use the correct font */
button, input, optgroup, select, textarea {
  font-family: 'IBM Plex Sans', sans-serif;
}
