/* ====================================================================== */
/* 阅读字体：全部 **SIL Open Font License**（开源、可商用、可随包分发）        */
/*                                                                          */
/* 都是 Google Fonts 上的 latin 子集（英文书够用；其它文字交给系统字体栈）——   */
/* 大部分是**可变字体**，一个文件覆盖整个字重区间，所以只有 1 MB 左右。        */
/* 许可全文与各字体的版权行见 public/licenses/fonts.txt。                     */
/*                                                                          */
/* ⚠️ 这里**不写 local(...)**：字体是随包带的，让它稳定命中我们这份，          */
/*    别因为用户机器上装了同名/同族的字体而渲染出另一个版本。                  */
/*                                                                          */
/* `font-display` 用 **swap**：翻章时"字体没就绪"那一段由 paginator 的 View#load  */
/*   等掉（见那里的注释），正常情况根本轮不到这里的回退行为；真等到超时了，      */
/*   宁可**先显示回退字体**也别留空白（block 是留给"缺字就完蛋"的字体——数学公式、 */
/*   CJK 那类——阅读字体不属于）。                                              */
/*                                                                          */
/* 更新方式：从 Google Fonts 的 CSS2 API 取「latin」子集区块，把其中的 woff2   */
/*   抓到 fonts/ 下（完整命令与坑见记忆 `reader-fonts-ofl`）。                 */
/* ⚠️ **本文件顶部这些注释里不能再出现注释符号本身**（踩过）：CSS 注释不能嵌套，   */
/*   多写一个会让注释提前闭合，剩下的字被当成选择器，**把紧随其后的整条          */
/*   @font-face 吞掉** —— 当时 Literata 的斜体就是这么没的。                    */
/* ====================================================================== */


/* --- Literata（Google · 为长文阅读设计（Play Books 默认字体））--- */
@font-face {
  font-family: 'Literata';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/Literata-italic-400_700.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: 'Literata';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/Literata-normal-400_700.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;
}

/* --- Source Serif 4（Adobe · 屏幕阅读向）--- */
@font-face {
  font-family: 'Source Serif 4';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/SourceSerif4-italic-400_700.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: 'Source Serif 4';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/SourceSerif4-normal-400_700.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;
}

/* --- EB Garamond（经典 Garamond 复刻）--- */
@font-face {
  font-family: 'EB Garamond';
  font-style: italic;
  font-weight: 400 800;
  font-display: swap;
  src: url('./fonts/EBGaramond-italic-400_800.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: 'EB Garamond';
  font-style: normal;
  font-weight: 400 800;
  font-display: swap;
  src: url('./fonts/EBGaramond-normal-400_800.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;
}

/* --- Lora（当代衬线，笔画对比适中）--- */
@font-face {
  font-family: 'Lora';
  font-style: italic;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/Lora-italic-400_700.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: 'Lora';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url('./fonts/Lora-normal-400_700.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;
}

/* --- Crimson Pro（旧式衬线，书卷气）--- */
@font-face {
  font-family: 'Crimson Pro';
  font-style: italic;
  font-weight: 200 900;
  font-display: swap;
  src: url('./fonts/CrimsonPro-italic-200_900.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: 'Crimson Pro';
  font-style: normal;
  font-weight: 200 900;
  font-display: swap;
  src: url('./fonts/CrimsonPro-normal-200_900.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;
}

/* --- Merriweather（为屏幕阅读设计，笔画偏粗）--- */
@font-face {
  font-family: 'Merriweather';
  font-style: italic;
  font-weight: 300 900;
  font-display: swap;
  src: url('./fonts/Merriweather-italic-300_900.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: 'Merriweather';
  font-style: normal;
  font-weight: 300 900;
  font-display: swap;
  src: url('./fonts/Merriweather-normal-300_900.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;
}

/* --- Atkinson Hyperlegible（Braille Institute · 专为易读设计（字形互相区别明显））--- */
@font-face {
  font-family: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/AtkinsonHyperlegible-italic-400.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: 'Atkinson Hyperlegible';
  font-style: italic;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/AtkinsonHyperlegible-italic-700.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: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('./fonts/AtkinsonHyperlegible-normal-400.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: 'Atkinson Hyperlegible';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('./fonts/AtkinsonHyperlegible-normal-700.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;
}

/* 【已撤销，2026-10-15】这里曾经有一条 'Noto Serif SC'（Bold，GB2312 一级字子集，
   1.10 MB），给 `--serif` 的中文标题用 —— 因为安卓没有中文衬线族名，泛型 serif 回退得又细
   又不搭。用户看过之后不要：不喜欢那个字，也不想为标题多背 1 MB，认为系统字体就很好。
   于是 `--serif` 连同这份字体一起撤掉，页标题改用系统字体（见 tokens.css 的字体族一节）。
   字体文件已删。若以后还想做，做法是：取 noto-cjk 的 Serif/SubsetOTF/SC/NotoSerifSC-Bold.otf，
   用字符表（ASCII + GB2312 符号区 + 一级汉字 3755）过 pyftsubset --flavor=woff2。 */
