/* Self-hosted web fonts — every app that uses a web font links this one file.
 *
 * Copied from Google Fonts' css2 output (Oct 2026: DM Sans v17, Instrument Sans
 * v4, Noto Sans Myanmar v27, Roboto v51, Padauk v17), with the woff2 files
 * served from /fonts/ instead of fonts.gstatic.com. Serving them ourselves
 * removes the HTML → googleapis CSS → gstatic chain: two cross-origin round
 * trips before first paint on a Yangon line (RUM, Oct 2026).
 *
 * The unicode-range values are Google's, so a page only downloads a subset it
 * actually renders, and a face nobody on the page uses costs nothing. Only the
 * latin / latin-ext / myanmar subsets are kept; any other script falls back to
 * the system font, as it would have for these apps anyway.
 *
 * DM Sans, Instrument Sans, Noto Sans Myanmar and Roboto are VARIABLE fonts:
 * one file per subset covers every weight, so each family has one rule per
 * subset with a weight range (the range each app asked Google for). Padauk is
 * not variable, so it has a file per weight.
 *
 * font-display: swap, deliberately. `optional` would leave the Burmese text in
 * the system font for the whole visit whenever the file is slow, which on a
 * stalled line is most first visits; a one-time swap is the lesser harm.
 *
 * File names carry Google's font version. To update a font, fetch the new
 * files under a new name — the service workers cache /fonts/ cache-first, so a
 * changed file under an old name would never reach an installed app.
 */

/* DM Sans — admin + POS (opsz,wght variable; opsz follows font-size) */
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/dm-sans/dm-sans-latin-ext-v17.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "DM Sans";
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url(/fonts/dm-sans/dm-sans-latin-v17.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;
}

/* Noto Sans Myanmar — admin, POS, roastery documents (wght variable) */
@font-face {
  font-family: "Noto Sans Myanmar";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/noto-sans-myanmar/noto-sans-myanmar-myanmar-v27.woff2) format("woff2");
  unicode-range: U+1000-109F, U+200C-200D, U+25CC, U+A92E, U+A9E0-A9FE, U+AA60-AA7F, U+116D0-116E3;
}
@font-face {
  font-family: "Noto Sans Myanmar";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/noto-sans-myanmar/noto-sans-myanmar-latin-v27.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;
}

/* Instrument Sans — roastery (wght variable) */
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/instrument-sans/instrument-sans-latin-ext-v4.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Instrument Sans";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/instrument-sans/instrument-sans-latin-v4.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;
}

/* Roboto — customer app (wght variable) */
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/roboto/roboto-latin-ext-v51.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Roboto";
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url(/fonts/roboto/roboto-latin-v51.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;
}

/* Padauk — customer app Burmese (static: one file per weight) */
@font-face {
  font-family: "Padauk";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/padauk/padauk-400-myanmar-v17.woff2) format("woff2");
  unicode-range: U+1000-109F, U+200C-200D, U+25CC, U+A92E, U+A9E0-A9FE, U+AA60-AA7F, U+116D0-116E3;
}
@font-face {
  font-family: "Padauk";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/fonts/padauk/padauk-400-latin-v17.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: "Padauk";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/padauk/padauk-700-myanmar-v17.woff2) format("woff2");
  unicode-range: U+1000-109F, U+200C-200D, U+25CC, U+A92E, U+A9E0-A9FE, U+AA60-AA7F, U+116D0-116E3;
}
@font-face {
  font-family: "Padauk";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/fonts/padauk/padauk-700-latin-v17.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;
}
