/* ===== THE APP'S FONTS (SIL OFL 1.1) — one shared home, loaded by AnimaLingo.html =====
   Which one to use where is decided ONCE, at the top of styles/main.css, as --font-read and
   --font-display. Read that comment before adding a font-family anywhere.

     ANDIKA       = --font-read.    EVERY word in the app except the logo. SIL's literacy font,
                    drawn for children learning to read: unambiguous letterforms (capital-i /
                    lower-L / one are all clearly different). Regular + Bold; Latin,
                    Latin-Extended and Cyrillic, so Russian is styled by us, not borrowed.
     NOTO SANS DEVANAGARI + NOTO SANS ARABIC — the Hindi and Arabic halves of --font-read.
                    Andika has no Hindi or Arabic letters, so those two languages fall through
                    to these (that's what the font list in --font-read is for). WHOLE alphabets,
                    not a cut-down set, so any future word already works. One variable file each
                    covers regular AND bold. ~162 KB for both.
     FREDOKA ONE  = --font-display. ★ 2026-07-28, Michael's ruling: ONLY the AnimaLingo logo and
                    the AnimaLingo wordmark on the slide-out menu. Nothing else, ever. Both are
                    due to become images, and when they do this font gets deleted outright.

   ★ NUNITO WAS RETIRED 2026-07-27 (Michael's decision, after a side-by-side comparison of real
   app text at real app size). Andika replaced it everywhere — captions, karaoke, facts, labels,
   passport names, the compass letters — which also means one less font in the app. Nothing in
   the shipped app references 'Nunito' any more; the town DEV tools keep their own private copies
   under town-options/_toolfonts/, which never ship. Do not re-add it here.

   ★ CHINESE AND JAPANESE deliberately have NO webfont — they use the iPad's own lettering
   (PingFang SC and Hiragino). Michael's decision 2026-07-28, and it is NOT a compromise:
   those two writing systems have no alphabet, so a font must either carry thousands of
   characters (over a megabyte) or be cut down to the exact words we ship today — and this app
   is not finished, so every new Chinese word added later would come out as an empty box.
   Apple's fonts are the same on every iPad, professionally drawn, cost zero bytes, and can
   never miss a character. Japanese takes Apple's for BOTH its alphabets and its kanji, because
   a single Japanese word mixes them and two different designs inside one word looks broken.
   Hindi and Arabic are not like that — each is a self-contained alphabet, so we ship those
   ourselves (above). Intended behaviour — do not "fix" it by hunting for a 13-language font.

   ⚠️ The Town tab is an iframe that may not use ../ paths, so it keeps its own copy of whatever
   it paints in town-options/fonts/ — see that file. Add a face here and there if the Town starts
   showing words.

   Generated originally by scripts/download_fonts.py; Andika added by hand 2026-07-27. */

@font-face {font-family: 'Andika';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('andika-400-latin.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: 'Andika';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('andika-400-latin-ext.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: 'Andika';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('andika-400-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}

@font-face {font-family: 'Andika';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('andika-700-latin.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: 'Andika';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('andika-700-latin-ext.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: 'Andika';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('andika-700-cyrillic.woff2') format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;}

/* HINDI — the whole Devanagari alphabet (U+0900-097F) plus the two invisible joining marks that
   control how letters knit together. ONE variable file covers every weight from thin to black,
   so bold text needs no second download. */
@font-face {font-family: 'Noto Sans Devanagari';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('noto-sans-devanagari.woff2') format('woff2');
  unicode-range: U+0900-097F, U+200C-200D;}

/* ARABIC — the whole Arabic alphabet (U+0600-06FF) plus the joining marks. Arabic letters change
   shape depending on their neighbours; that reshaping lives inside this file, which is why we
   keep the font's full layout rules rather than only its letter shapes. One variable file. */
@font-face {font-family: 'Noto Sans Arabic';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('noto-sans-arabic.woff2') format('woff2');
  unicode-range: U+0600-06FF, U+200C-200D;}

@font-face {font-family: 'Fredoka One';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('fredoka-one-400-k3kUo8kEI-tA1RRcTZGmTlHGCaen8wf-.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;}
