/* "Roboto" -- the app font and DevExtreme widgets' font (source/scss/vendors/_devextreme-bootstrap.scss).
   The Material theme used to ship these under its own "roboto fallback" name; Generic ships no font.
   A plain static file (not Vite) so url("fonts/...") resolves next to it, like the dx.*.css themes:
   the fonts are copied to static/css/fonts from DevExpressDevExtreme-Complete/Lib.

   Vertical metrics are pinned so text sits in the vertical middle of buttons/inputs on every OS:
   browsers otherwise take ascent/descent from different font tables (Linux: hhea 1900/500, Windows: OS/2 win
   1946/512) or from a locally installed Roboto of another version -- hence also no local() source.
   The override centres the cap height (1456 of 2048 units -> centre at 728) in the same total line box
   (2400 units): ascent 1928 = 94.14 %, descent 472 = 23.05 %, no line gap. */

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/Roboto-300.woff2") format("woff2"), url("fonts/Roboto-300.woff") format("woff");
  ascent-override: 94.14%;
  descent-override: 23.05%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/Roboto-400.woff2") format("woff2"), url("fonts/Roboto-400.woff") format("woff");
  ascent-override: 94.14%;
  descent-override: 23.05%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/Roboto-500.woff2") format("woff2"), url("fonts/Roboto-500.woff") format("woff");
  ascent-override: 94.14%;
  descent-override: 23.05%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/Roboto-700.woff2") format("woff2"), url("fonts/Roboto-700.woff") format("woff");
  ascent-override: 94.14%;
  descent-override: 23.05%;
  line-gap-override: 0%;
}
