/*
 * TurfTracker's own fonts -- shipped with the app, never taken from the viewer's computer.
 *
 * Why: on some Windows PCs the system fonts (Segoe UI / Arial) are broken (corrupt font cache or a bad
 * install), and every page that leaned on them showed letters as Wingdings-like symbols. A font declared
 * here wins over any installed font of the same name, so the app looks the same on every device.
 *
 * Rules:
 *  - Use ONLY the tokens below (--tt-font, --tt-font-display, --tt-font-mono, --tt-font-logo); never a
 *    system font name (Arial, Consolas, Segoe UI, system-ui, ui-monospace, cursive ...).
 *  - This file sits at a fixed URL (assets/fonts/tt-fonts.css) on purpose: index.html links + preloads it
 *    and the print windows (document-printer.ts, qr-label-sheet.ts) link it too.
 *  - Files: Fontsource 5.3.0 (Inter / Outfit / JetBrains Mono / Noto Sans Bengali variable, Orbitron) and
 *    inter-ui 4.1.1; inter-symbols + noto-symbols-2-subset are fontTools subsets of the full fonts limited
 *    to the unicode-range written on their face. All SIL OFL 1.1 (LICENSE-*.txt here).
 *  - Emoji are deliberately NOT covered: they keep the device's colour emoji font.
 *  - unicode-range = a face is downloaded only when the page shows one of its characters.
 */

/* ---- TT Sans = Inter (main text) ---- */
@font-face {
  font-family: 'TT Sans'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(./inter-latin-wght-normal.woff2) format('woff2-variations'), url(./inter-latin-wght-normal.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: 'TT Sans'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(./inter-latin-ext-wght-normal.woff2) format('woff2-variations'), url(./inter-latin-ext-wght-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face {
  font-family: 'TT Sans'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(./inter-greek-wght-normal.woff2) format('woff2-variations'), url(./inter-greek-wght-normal.woff2) format('woff2');
  unicode-range: U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF;
}
@font-face {
  font-family: 'TT Sans'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(./inter-greek-ext-wght-normal.woff2) format('woff2-variations'), url(./inter-greek-ext-wght-normal.woff2) format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* arrows, math, keyboard keys, circled numbers, shapes -- cut from the full Inter, emoji code points left out */
@font-face {
  font-family: 'TT Sans'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(./inter-symbols-wght-normal.woff2) format('woff2-variations'), url(./inter-symbols-wght-normal.woff2) format('woff2');
  unicode-range: U+2190-21FF,U+2200-22FF,U+2300-2319,U+231C-23E8,U+23ED-23EF,U+23F1-23F2,U+23F4-23FF,U+2460-24FF,U+25A0-25FC,U+25FF,U+2605-2606,U+2610-2612,U+2713-2718;
}
@font-face {
  font-family: 'TT Sans'; font-style: italic; font-display: swap; font-weight: 100 900;
  src: url(./inter-latin-wght-italic.woff2) format('woff2-variations'), url(./inter-latin-wght-italic.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: 'TT Sans'; font-style: italic; font-display: swap; font-weight: 100 900;
  src: url(./inter-latin-ext-wght-italic.woff2) format('woff2-variations'), url(./inter-latin-ext-wght-italic.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---- TT Display = Outfit (headings, menus, dialogs) ---- */
@font-face {
  font-family: 'TT Display'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(./outfit-latin-wght-normal.woff2) format('woff2-variations'), url(./outfit-latin-wght-normal.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: 'TT Display'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(./outfit-latin-ext-wght-normal.woff2) format('woff2-variations'), url(./outfit-latin-ext-wght-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---- TT Mono = JetBrains Mono (codes, TrxIDs, invoice numbers) ---- */
@font-face {
  font-family: 'TT Mono'; font-style: normal; font-display: swap; font-weight: 100 800;
  src: url(./jetbrains-mono-latin-wght-normal.woff2) format('woff2-variations'), url(./jetbrains-mono-latin-wght-normal.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: 'TT Mono'; font-style: normal; font-display: swap; font-weight: 100 800;
  src: url(./jetbrains-mono-latin-ext-wght-normal.woff2) format('woff2-variations'), url(./jetbrains-mono-latin-ext-wght-normal.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-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}

/* ---- TT Bangla = Noto Sans Bengali (Bangla text and the Taka sign) ---- */
@font-face {
  font-family: 'TT Bangla'; font-style: normal; font-display: swap; font-weight: 100 900;
  src: url(./noto-sans-bengali-bengali-wght-normal.woff2) format('woff2-variations'), url(./noto-sans-bengali-bengali-wght-normal.woff2) format('woff2');
  unicode-range: U+0951-0952,U+0964-0965,U+0980-09FE,U+1CD0,U+1CD2,U+1CD5-1CD6,U+1CD8,U+1CE1,U+1CEA,U+1CED,U+1CF2,U+1CF5-1CF7,U+200C-200D,U+20B9,U+25CC,U+A8F1;
}

/* ---- TT Symbols = Noto Sans Symbols 2 subset (what Inter lacks, e.g. ✕ ☐) ---- */
@font-face {
  font-family: 'TT Symbols'; font-style: normal; font-display: swap; font-weight: 400;
  src: url(./noto-symbols-2-subset.woff2) format('woff2');
  unicode-range: U+2190-21FF,U+2300-2319,U+231C-23E8,U+23ED-23EF,U+23F1-23F2,U+23F4-23FF,U+2460-24FF,U+25A0-25FC,U+25FF,U+2605-2606,U+2610-2612,U+2713-2718;
}

/* ---- Orbitron (the TurfTracker logo word only) ---- */
@font-face {
  font-family: 'TT Logo'; font-style: normal; font-display: swap; font-weight: 600;
  src: url(./orbitron-latin-600-normal.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;
}

/* The generic family at the end is only a last resort for emoji / scripts we do not ship. */
:root {
  --tt-font: 'TT Sans', 'TT Bangla', 'TT Symbols', sans-serif;
  --tt-font-display: 'TT Display', 'TT Sans', 'TT Bangla', 'TT Symbols', sans-serif;
  --tt-font-mono: 'TT Mono', 'TT Sans', 'TT Bangla', 'TT Symbols', monospace;
  --tt-font-logo: 'TT Logo', 'TT Display', sans-serif;
}
