/* DE Sans, DE UI, DE Mono and metric-matched fallbacks: docs/design-research.md. */

/* Line boxes: DE Sans and DE UI get tidy overrides, DE Mono states its own. */
@font-face {
  font-family: "DE Sans";
  src: url("/assets/fonts/de-sans-regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
  ascent-override: 77%;
  descent-override: 23%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "DE Sans";
  src: url("/assets/fonts/de-sans-bold.woff2") format("woff2");
  font-weight: 700;
  font-display: swap;
  ascent-override: 77%;
  descent-override: 23%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "DE Sans";
  src: url("/assets/fonts/de-sans-italic.woff2") format("woff2");
  font-weight: 400;
  font-style: italic;
  font-display: swap;
  ascent-override: 77%;
  descent-override: 23%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "DE UI";
  src: url("/assets/fonts/de-ui-regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
  ascent-override: 78%;
  descent-override: 22%;
}

@font-face {
  font-family: "DE UI";
  src: url("/assets/fonts/de-ui-medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
  ascent-override: 78%;
  descent-override: 22%;
}

@font-face {
  font-family: "DE UI";
  src: url("/assets/fonts/de-ui-semibold.woff2") format("woff2");
  font-weight: 600;
  font-display: swap;
  ascent-override: 78%;
  descent-override: 22%;
}

@font-face {
  font-family: "DE Mono";
  src: url("/assets/fonts/de-mono-regular.woff2") format("woff2");
  font-weight: 400;
  font-display: swap;
  ascent-override: 94.5%;
  descent-override: 20%;
  line-gap-override: 10%;
}

@font-face {
  font-family: "DE Mono";
  src: url("/assets/fonts/de-mono-medium.woff2") format("woff2");
  font-weight: 500;
  font-display: swap;
  ascent-override: 94.5%;
  descent-override: 20%;
  line-gap-override: 10%;
}

/* One face per style (font-synthesis is off); Arial before Helvetica. Overrides are the web
   font's divided by size-adjust. */
@font-face {
  font-family: "DE Sans Fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Arimo");
  font-weight: 400;
  size-adjust: 100%;
  ascent-override: 77%;
  descent-override: 23%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "DE Sans Fallback";
  src:
    local("Arial Bold"), local("Helvetica Bold"), local("Liberation Sans Bold"), local("Arimo Bold");
  font-weight: 700;
  size-adjust: 100%;
  ascent-override: 77%;
  descent-override: 23%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "DE Sans Fallback";
  src:
    local("Arial Italic"), local("Helvetica Oblique"), local("Liberation Sans Italic"),
    local("Arimo Italic");
  font-weight: 400;
  font-style: italic;
  size-adjust: 100%;
  ascent-override: 77%;
  descent-override: 23%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "DE UI Fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Arimo");
  font-weight: 400;
  size-adjust: 101%;
  ascent-override: 77.2%;
  descent-override: 21.8%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "DE UI Fallback";
  src: local("Arial"), local("Helvetica"), local("Liberation Sans"), local("Arimo");
  font-weight: 500;
  size-adjust: 102.5%;
  ascent-override: 76.1%;
  descent-override: 21.5%;
  line-gap-override: 0%;
}

@font-face {
  font-family: "DE UI Fallback";
  src:
    local("Arial Bold"), local("Helvetica Bold"), local("Liberation Sans Bold"), local("Arimo Bold");
  font-weight: 600;
  size-adjust: 98.7%;
  ascent-override: 79%;
  descent-override: 22.3%;
  line-gap-override: 0%;
}

/* Consolas first: the last-defined face whose local() exists wins, so macOS gets Menlo. */
@font-face {
  font-family: "DE Mono Fallback";
  src: local("Consolas");
  font-weight: 400;
  size-adjust: 113%;
  ascent-override: 83.6%;
  descent-override: 17.7%;
  line-gap-override: 8.8%;
}

@font-face {
  font-family: "DE Mono Fallback";
  src: local("Menlo Regular"), local("Menlo-Regular");
  font-weight: 400;
  size-adjust: 103%;
  ascent-override: 91.7%;
  descent-override: 19.4%;
  line-gap-override: 9.7%;
}
