/**
 * Arabic and Kurdish (Sorani) webfont — IBM Plex Sans Arabic, self-hosted.
 *
 * Why a second font at all: Inter, which this project already self-hosts and
 * names in every stylesheet, contains no Arabic glyphs. Without this file the
 * browser falls through to system-ui — Segoe UI on a Windows tablet, whose
 * Sorani coverage is patchy, and whatever the vendor shipped on an Android
 * one. The terminal is a PWA that has to work on site wifi, so a CDN is not an
 * option either. Self-hosted, like Inter.
 *
 * Why IBM Plex Sans Arabic specifically: it is a dual-script family designed
 * alongside a Latin sans, so it sits next to Inter without looking borrowed,
 * it ships five real weights (no synthesised bold, which smears the joins in a
 * connected script), and — the deciding factor — its cmap was checked glyph by
 * glyph against the letters that make Sorani Kurdish different from Arabic:
 *
 *     ڕ U+0695   ڵ U+06B5   ۆ U+06C6   ێ U+06CE   ژ U+0698
 *     چ U+0686   پ U+067E   گ U+06AF   ە U+06D5   ی U+06CC
 *
 * All present. Many otherwise good Arabic faces are missing several of these
 * and render them as tofu boxes — verify before swapping this font out.
 *
 *
 * ── The unicode-range trick ──────────────────────────────────────────────
 *
 * These faces are declared TWICE: once under their own name, and once under
 * 'Inter' with a unicode-range covering the Arabic blocks.
 *
 * The second declaration is what makes this file a drop-in. dashboard.css and
 * roughly forty kilobytes of other stylesheets already say
 * `font-family: 'Inter', system-ui, …`. Aliasing the Arabic faces into 'Inter'
 * means every one of those rules picks up correct Arabic glyphs with no
 * selector changes and no RTL-only font overrides to keep in sync. Latin text
 * is unaffected: the real Inter faces are declared first in fonts.css and
 * carry no unicode-range, so they win for Latin, and the browser only falls
 * through to these for codepoints Inter has no glyph for.
 *
 * It also means this file costs an LTR page nothing. A browser downloads a
 * unicode-range face only when a matching codepoint actually appears on the
 * page, so an English screen never fetches a byte of it — which is why this is
 * linked unconditionally rather than gated on cp_is_rtl().
 *
 * Load order matters: fonts.css must come first.
 *
 * IBM Plex Sans Arabic is licensed under the SIL Open Font License 1.1 —
 * see plex-arabic/LICENSE.txt. Subset: Arabic blocks only, woff2 only.
 */

/* ── Under its own name, for new code that wants to be explicit ─────────── */

@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 300; font-display: swap;
    src: url('plex-arabic/plex-arabic-300.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 400; font-display: swap;
    src: url('plex-arabic/plex-arabic-400.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 500; font-display: swap;
    src: url('plex-arabic/plex-arabic-500.woff2') format('woff2'); }
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 600; font-display: swap;
    src: url('plex-arabic/plex-arabic-600.woff2') format('woff2'); }
/* Plex Arabic stops at 700; Inter goes to 900 and the dashboard uses 800 in a
   few places. The range descriptor points 800 and 900 at the real 700 outlines
   instead of letting the browser fake a heavier weight — synthesised bold on a
   connected script thickens the joins into blobs. */
@font-face { font-family: 'IBM Plex Sans Arabic'; font-style: normal; font-weight: 700 900; font-display: swap;
    src: url('plex-arabic/plex-arabic-700.woff2') format('woff2'); }


/* ── Aliased into 'Inter' for the Arabic blocks ─────────────────────────── */
/* U+0600-06FF Arabic · U+0750-077F Arabic Supplement · U+08A0-08FF Arabic
   Extended-A · U+FB50-FDFF Presentation Forms-A · U+FE70-FEFF Forms-B ·
   U+200C-200E ZWNJ/ZWJ/LRM, which Sorani uses inside words. */

@font-face { font-family: 'Inter'; font-style: normal; font-weight: 300; font-display: swap;
    src: url('plex-arabic/plex-arabic-300.woff2') format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 400; font-display: swap;
    src: url('plex-arabic/plex-arabic-400.woff2') format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 500; font-display: swap;
    src: url('plex-arabic/plex-arabic-500.woff2') format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 600; font-display: swap;
    src: url('plex-arabic/plex-arabic-600.woff2') format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
@font-face { font-family: 'Inter'; font-style: normal; font-weight: 700 900; font-display: swap;
    src: url('plex-arabic/plex-arabic-700.woff2') format('woff2');
    unicode-range: U+0600-06FF, U+0750-077F, U+08A0-08FF, U+FB50-FDFF, U+FE70-FEFF, U+200C-200E; }
