/* [2026-07-27] ADDED — Indic script webfonts for regional-language interview reports.
 *
 * WHY: the InCBot feedback report renders the candidate's answer text verbatim, in whatever
 * language the interview was conducted in. The only webfont this app loaded was Manrope
 * (public/index.html), which contains ZERO glyphs for every Indic script, and the body stack
 * in src/index.css named no Indic-capable family either. Tamil/Bengali/... answers therefore
 * depended entirely on the reviewing recruiter's OS fonts and rendered as tofu boxes (□)
 * wherever those were missing. Same root cause as the transcript panel in frontend-interview.
 *
 * Covers the 8 languages in realtime-support-system/language.py `regional_languages`:
 * Bengali, Tamil, Telugu, Gujarati, Kannada, Malayalam, Marathi (Devanagari),
 * Punjabi (Gurmukhi).
 *
 * NOTES FOR FUTURE MAINTAINERS:
 * - This file lives in `public/` and is loaded by a <link> in public/index.html, exactly like
 *   Manrope. It is deliberately NOT imported from src/: CRA's css-loader tries to resolve
 *   root-relative `url(/...)` inside stylesheets imported from src/ and fails the build with
 *   "Module not found: Can't resolve '/fonts/noto/...'". Files under public/ are copied verbatim
 *   and served as real, separately-fetchable URLs — which is also what makes the `unicode-range`
 *   gating below work at all (a base64 data: URI would always be downloaded).
 * - Each `unicode-range` is Google Fonts' own published range for that subset, copied verbatim.
 *   A family is downloaded ONLY when the page actually contains a character in its range, so an
 *   English report downloads ZERO bytes from this file.
 * - The shared symbols in these ranges (U+20B9 rupee, U+200C-200D ZWJ/ZWNJ) are already covered
 *   by Manrope's latin/latin-ext subsets, and Manrope stays first in the stack, so it still wins
 *   for those. They are kept in the Indic ranges deliberately: ZWJ/ZWNJ must resolve to the SAME
 *   font as the surrounding Indic run, or the browser splits the shaping run and conjunct
 *   formation/suppression breaks.
 * - These are variable fonts (wght axis 100-900, verified), so one file per script serves every
 *   weight used in the report.
 * - Fail-open by construction: if a file 404s, the browser skips the family and falls through to
 *   the next one in the stack — i.e. exactly the previous behavior.
 *   Kill switch: remove the `<link ... href="%PUBLIC_URL%/fonts/indic.css">` in public/index.html.
 */

/* Tamil */
@font-face {
  font-family: "Noto Sans Tamil";
  src: url("/fonts/noto/NotoSansTamil-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0964-0965, U+0B82-0BFA, U+200C-200D, U+20B9, U+25CC;
}

/* Bengali */
@font-face {
  font-family: "Noto Sans Bengali";
  src: url("/fonts/noto/NotoSansBengali-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  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;
}

/* Telugu */
@font-face {
  font-family: "Noto Sans Telugu";
  src: url("/fonts/noto/NotoSansTelugu-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0951-0952, U+0964-0965, U+0C00-0C7F, U+1CDA, U+1CF2, U+200C-200D, U+25CC;
}

/* Gujarati */
@font-face {
  font-family: "Noto Sans Gujarati";
  src: url("/fonts/noto/NotoSansGujarati-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0951-0952, U+0964-0965, U+0A80-0AFF, U+200C-200D, U+20B9, U+25CC, U+A830-A839;
}

/* Kannada */
@font-face {
  font-family: "Noto Sans Kannada";
  src: url("/fonts/noto/NotoSansKannada-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0951-0952, U+0964-0965, U+0C80-0CF3, U+1CD0, U+1CD2-1CD3, U+1CDA, U+1CF2,
    U+1CF4, U+200C-200D, U+20B9, U+25CC, U+A830-A835;
}

/* Malayalam */
@font-face {
  font-family: "Noto Sans Malayalam";
  src: url("/fonts/noto/NotoSansMalayalam-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0307, U+0323, U+0951-0952, U+0964-0965, U+0D00-0D7F, U+1CDA, U+1CF2,
    U+200C-200D, U+20B9, U+25CC, U+A830-A832;
}

/* Devanagari (Marathi) */
@font-face {
  font-family: "Noto Sans Devanagari";
  src: url("/fonts/noto/NotoSansDevanagari-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0900-097F, U+1CD0-1CF9, U+200C-200D, U+20A8, U+20B9, U+20F0, U+25CC,
    U+A830-A839, U+A8E0-A8FF, U+11B00-11B09;
}

/* Gurmukhi (Punjabi) */
@font-face {
  font-family: "Noto Sans Gurmukhi";
  src: url("/fonts/noto/NotoSansGurmukhi-variable.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  unicode-range: U+0951-0952, U+0964-0965, U+0A01-0A76, U+200C-200D, U+20B9, U+25CC, U+262C,
    U+A830-A839;
}
