/* 自架字型 · 只含全站實際用到的 2,546 個字元
 *
 * ⚠️ 為什麼要自架：Google Fonts 把中文切成上百個 unicode-range 子集，
 *    一章 2,000 字會踩到很多個 —— 實測章節頁載 38 個字型檔共 2.7MB，
 *    而且換一章就再download 一批新的子集。那支 CSS 本身 166KB 還卡住渲染 1.9 秒。
 *    全站只用到 2,546 個字，做成一個子集，下載一次全站通用。
 *
 * 字重取捨（實際數過 CSS 才決定的）：
 *   Noto Sans TC  400（內文）· 700（粗體）  —— 500 只有 1 處用到，讓它退回 400
 *   Noto Serif TC 900（標題）              —— CSS 裡 7 處都是 900，沒有人用 700
 *   inline style 有 9 處 weight:800，會對應到 700
 */
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/sans400.woff2) format('woff2')}
@font-face{font-family:'Noto Sans TC';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/sans700.woff2) format('woff2')}
@font-face{font-family:'Noto Serif TC';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/serif900.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/fraunces400.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/fraunces700.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:900;font-display:swap;src:url(/assets/fonts/fraunces900.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/instr400.woff2) format('woff2')}
@font-face{font-family:'Instrument Serif';font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/instr400i.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/mono400.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/mono500.woff2) format('woff2')}
@font-face{font-family:'JetBrains Mono';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/mono700.woff2) format('woff2')}
