/* ==========================================================================
   AGORA 網站 — 自家託管的中文字型（Noto Serif TC / SIL Open Font License 1.1）
   ==========================================================================
   取代原本向 Google Fonts 要中文字型的做法（原本每位訪客要下載約 1.9 MB）。

   字符涵蓋範圍與原本向 Google 要的版本「完全一致」（12,377 個字符），
   只是換成更聰明的分層下載：

   • 'Noto Serif TC'     → *-core.woff2（約 280 KB，每位訪客只下載這一層）
       網站目前用到的中文字 ＋ 完整的拉丁字母、數字、標點、常用符號、
       全形英數與中文標點。
   • 'Noto Serif TC Ext' → 平常不會下載
       *-ext0.woff2：罕用符號（部首、注音、相容符號、直排標點），約 75 KB
       *-s00～s51.woff2：其餘一萬個漢字（含簡體字、日文漢字、生僻字），
               依碼位切成 52 小片（一片約 200 字、30–65 KB），出現哪一片的字就只抓那一片。

   字形與原本的 Noto Serif TC 完全相同 —— 這些檔案就是從同一套字型
   重新切分產生的，不是換字型。

   ★ 兩層是靠 assets/site-shared.css 裡 --serif / --display 的字型順序串起來的：
        'Noto Serif TC', 'Noto Serif TC Ext', 'PMingLiU', serif
     改那兩行的時候不要把 Ext 拿掉，拿掉備援層就失效了。
   ★ core 層一定要含拉丁字母與數字，少了它們，襯線字裡的英文與數字會走樣。
   ★ 若日後要換字型、加字重，或重新產生這批檔案，見網站維護指南第十二節。
   ★ 2026-10-19：core 補進 118 個後來新增文案用到、原本只在 Ext 裡的字
     （哲學牆題目的「德、謂、死刑、獵巫…」等）。Ext 是整段整段下載的，
     頁面上只要出現一個 core 沒有的字，就會多抓 0.5–0.6 MB；當時首頁因此
     多下載了約 2.85 MB，PageSpeed 手機版 FCP 拖到 23.8 秒。
     core 網址後面的 ?v=3 是為了讓已經快取舊檔（快取一年）的訪客拿到新檔，
     下次重做 core 時請改成 ?v=4，index.html 等頁 <head> 的 preload 也要一起改。
   ★ 2026-10-28：首頁「流浪書櫃・不再流浪」的書名是從 Google 試算表讀進來的，
     沒辦法事先補進 core（當時「蔡康永、深淵盛放、西由比濱」5 個字，就讓首頁多抓 1.5 MB、
     PageSpeed 手機版 LCP 13.5 秒）。所以把原本 ext1～ext4 四大段（各 0.5–0.6 MB）
     重切成 52 小片：罕用字現在每個最多多抓一片（約 45 KB），不必再為每月的書名補字。
     原本的 ext1～ext4 備份在 備份/字型_2026-10-28_切片前/。
     這個檔案本身也快取一年，所以各頁 <head> 是用 fonts.css?v=2 載入；改這個檔的時候
     要把各頁的 ?v= 數字加一（全站 8 頁，含 salon/live），不然來過的訪客會一直用舊版。
   ========================================================================== */

/* ---- 常用層 400 ---- */
@font-face{
  font-family:'Noto Serif TC';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/assets/fonts/noto-serif-tc-400-core.woff2?v=3') format('woff2');
  unicode-range:U+0000-2DFF,U+2E80-2EFF,U+3000-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF,U+20000-2FFFF;
}
/* ---- 常用層 500 ---- */
@font-face{
  font-family:'Noto Serif TC';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/assets/fonts/noto-serif-tc-500-core.woff2?v=3') format('woff2');
  unicode-range:U+0000-2DFF,U+2E80-2EFF,U+3000-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF,U+20000-2FFFF;
}
/* ---- 常用層 700 ---- */
@font-face{
  font-family:'Noto Serif TC';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/assets/fonts/noto-serif-tc-700-core.woff2?v=3') format('woff2');
  unicode-range:U+0000-2DFF,U+2E80-2EFF,U+3000-33FF,U+3400-4DBF,U+4E00-9FFF,U+F900-FAFF,U+FE30-FE4F,U+FF00-FFEF,U+20000-2FFFF;
}

/* ---- 備援層 400 · 罕用符號 ---- */
@font-face{
  font-family:'Noto Serif TC Ext';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('/assets/fonts/noto-serif-tc-400-ext0.woff2') format('woff2');
  unicode-range:U+2F00,U+2F08,U+2F12,U+2F24,U+2F29,U+2F2F,U+2F3C,U+2F3F,U+2F42,U+2F45,U+2F63-2F64,U+2F83,U+2F8F,U+3041-3093,U+3099-309E,U+30A1-30F6,U+30FB-30FE,U+3105-3129,U+3131,U+3134,U+3137,U+3139,U+3141-3142,U+3145,U+3147-3148,U+314B,U+314D-314F,U+3153,U+315C,U+3160-3161,U+3163,U+3181,U+318D,U+3192-3193,U+3196-3198,U+319D-319F,U+3220-3226,U+3231,U+3268,U+3281,U+328B,U+3291-3292,U+3295-3297,U+3299,U+329D,U+329F,U+32A3-32A4,U+32D6,U+32E1,U+3314,U+3322,U+337F,U+338E-338F,U+339C-339E,U+33A1,U+33C4,U+33D1-33D2,U+FB01,U+FE30-FE31,U+FE33-FE36,U+FE38-FE44,U+FE49-FE52,U+FE54-FE57,U+FE59-FE66,U+FE68-FE6A,U+1F141-1F142,U+1F150,U+1F154,U+1F158,U+1F15B,U+1F15D-1F15E,U+1F162-1F163,U+1F170-1F171,U+1F174,U+1F177-1F178,U+1F17D-1F17F,U+1F192-1F195,U+1F197-1F19A,U+1F21A,U+1F22F,U+1F232-1F237,U+1F239-1F23A,U+1F250-1F251;
}
/* ---- 備援層 400 · 漢字切片（52 片，U+3400 起；一片約 200 字、30–65 KB）---- */
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s00.woff2') format('woff2');unicode-range:U+3400-4F5D;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s01.woff2') format('woff2');unicode-range:U+4F5E-50DC;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s02.woff2') format('woff2');unicode-range:U+50DD-525B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s03.woff2') format('woff2');unicode-range:U+525C-540E;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s04.woff2') format('woff2');unicode-range:U+540F-5556;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s05.woff2') format('woff2');unicode-range:U+5557-5696;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s06.woff2') format('woff2');unicode-range:U+5697-5839;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s07.woff2') format('woff2');unicode-range:U+583A-59D9;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s08.woff2') format('woff2');unicode-range:U+59DA-5B59;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s09.woff2') format('woff2');unicode-range:U+5B5A-5CE4;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s10.woff2') format('woff2');unicode-range:U+5CE5-5EB2;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s11.woff2') format('woff2');unicode-range:U+5EB3-6042;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s12.woff2') format('woff2');unicode-range:U+6043-60FA;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s13.woff2') format('woff2');unicode-range:U+60FB-6275;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s14.woff2') format('woff2');unicode-range:U+6276-63E2;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s15.woff2') format('woff2');unicode-range:U+63E3-6531;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s16.woff2') format('woff2');unicode-range:U+6532-66C3;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s17.woff2') format('woff2');unicode-range:U+66C4-6836;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s18.woff2') format('woff2');unicode-range:U+6837-699A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s19.woff2') format('woff2');unicode-range:U+699B-6B78;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s20.woff2') format('woff2');unicode-range:U+6B79-6CD8;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s21.woff2') format('woff2');unicode-range:U+6CD9-6E3F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s22.woff2') format('woff2');unicode-range:U+6E40-6F87;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s23.woff2') format('woff2');unicode-range:U+6F88-70FE;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s24.woff2') format('woff2');unicode-range:U+70FF-72A1;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s25.woff2') format('woff2');unicode-range:U+72A2-7377;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s26.woff2') format('woff2');unicode-range:U+7378-74A7;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s27.woff2') format('woff2');unicode-range:U+74A8-7632;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s28.woff2') format('woff2');unicode-range:U+7633-77C6;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s29.woff2') format('woff2');unicode-range:U+77C7-7966;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s30.woff2') format('woff2');unicode-range:U+7967-7B11;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s31.woff2') format('woff2');unicode-range:U+7B12-7CDC;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s32.woff2') format('woff2');unicode-range:U+7CDD-7E50;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s33.woff2') format('woff2');unicode-range:U+7E51-806F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s34.woff2') format('woff2');unicode-range:U+8070-81E7;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s35.woff2') format('woff2');unicode-range:U+81E8-8349;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s36.woff2') format('woff2');unicode-range:U+834A-84CF;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s37.woff2') format('woff2');unicode-range:U+84D0-868B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s38.woff2') format('woff2');unicode-range:U+868C-8762;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s39.woff2') format('woff2');unicode-range:U+8763-890A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s40.woff2') format('woff2');unicode-range:U+890B-8AF3;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s41.woff2') format('woff2');unicode-range:U+8AF4-8D6B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s42.woff2') format('woff2');unicode-range:U+8D6C-8F3A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s43.woff2') format('woff2');unicode-range:U+8F3B-9116;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s44.woff2') format('woff2');unicode-range:U+9117-9279;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s45.woff2') format('woff2');unicode-range:U+927A-93C9;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s46.woff2') format('woff2');unicode-range:U+93CA-9689;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s47.woff2') format('woff2');unicode-range:U+968A-9856;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s48.woff2') format('woff2');unicode-range:U+9857-9AB8;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s49.woff2') format('woff2');unicode-range:U+9AB9-9D0F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s50.woff2') format('woff2');unicode-range:U+9D10-9F5B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:400;font-display:swap;src:url('/assets/fonts/noto-serif-tc-400-s51.woff2') format('woff2');unicode-range:U+9F5C-10FFFF;}
/* ---- 備援層 500 · 罕用符號 ---- */
@font-face{
  font-family:'Noto Serif TC Ext';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('/assets/fonts/noto-serif-tc-500-ext0.woff2') format('woff2');
  unicode-range:U+2F00,U+2F08,U+2F12,U+2F24,U+2F29,U+2F2F,U+2F3C,U+2F3F,U+2F42,U+2F45,U+2F63-2F64,U+2F83,U+2F8F,U+3041-3093,U+3099-309E,U+30A1-30F6,U+30FB-30FE,U+3105-3129,U+3131,U+3134,U+3137,U+3139,U+3141-3142,U+3145,U+3147-3148,U+314B,U+314D-314F,U+3153,U+315C,U+3160-3161,U+3163,U+3181,U+318D,U+3192-3193,U+3196-3198,U+319D-319F,U+3220-3226,U+3231,U+3268,U+3281,U+328B,U+3291-3292,U+3295-3297,U+3299,U+329D,U+329F,U+32A3-32A4,U+32D6,U+32E1,U+3314,U+3322,U+337F,U+338E-338F,U+339C-339E,U+33A1,U+33C4,U+33D1-33D2,U+FB01,U+FE30-FE31,U+FE33-FE36,U+FE38-FE44,U+FE49-FE52,U+FE54-FE57,U+FE59-FE66,U+FE68-FE6A,U+1F141-1F142,U+1F150,U+1F154,U+1F158,U+1F15B,U+1F15D-1F15E,U+1F162-1F163,U+1F170-1F171,U+1F174,U+1F177-1F178,U+1F17D-1F17F,U+1F192-1F195,U+1F197-1F19A,U+1F21A,U+1F22F,U+1F232-1F237,U+1F239-1F23A,U+1F250-1F251;
}
/* ---- 備援層 500 · 漢字切片（52 片，U+3400 起；一片約 200 字、30–65 KB）---- */
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s00.woff2') format('woff2');unicode-range:U+3400-4F5D;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s01.woff2') format('woff2');unicode-range:U+4F5E-50DC;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s02.woff2') format('woff2');unicode-range:U+50DD-525B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s03.woff2') format('woff2');unicode-range:U+525C-540E;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s04.woff2') format('woff2');unicode-range:U+540F-5556;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s05.woff2') format('woff2');unicode-range:U+5557-5696;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s06.woff2') format('woff2');unicode-range:U+5697-5839;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s07.woff2') format('woff2');unicode-range:U+583A-59D9;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s08.woff2') format('woff2');unicode-range:U+59DA-5B59;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s09.woff2') format('woff2');unicode-range:U+5B5A-5CE4;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s10.woff2') format('woff2');unicode-range:U+5CE5-5EB2;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s11.woff2') format('woff2');unicode-range:U+5EB3-6042;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s12.woff2') format('woff2');unicode-range:U+6043-60FA;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s13.woff2') format('woff2');unicode-range:U+60FB-6275;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s14.woff2') format('woff2');unicode-range:U+6276-63E2;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s15.woff2') format('woff2');unicode-range:U+63E3-6531;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s16.woff2') format('woff2');unicode-range:U+6532-66C3;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s17.woff2') format('woff2');unicode-range:U+66C4-6836;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s18.woff2') format('woff2');unicode-range:U+6837-699A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s19.woff2') format('woff2');unicode-range:U+699B-6B78;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s20.woff2') format('woff2');unicode-range:U+6B79-6CD8;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s21.woff2') format('woff2');unicode-range:U+6CD9-6E3F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s22.woff2') format('woff2');unicode-range:U+6E40-6F87;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s23.woff2') format('woff2');unicode-range:U+6F88-70FE;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s24.woff2') format('woff2');unicode-range:U+70FF-72A1;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s25.woff2') format('woff2');unicode-range:U+72A2-7377;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s26.woff2') format('woff2');unicode-range:U+7378-74A7;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s27.woff2') format('woff2');unicode-range:U+74A8-7632;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s28.woff2') format('woff2');unicode-range:U+7633-77C6;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s29.woff2') format('woff2');unicode-range:U+77C7-7966;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s30.woff2') format('woff2');unicode-range:U+7967-7B11;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s31.woff2') format('woff2');unicode-range:U+7B12-7CDC;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s32.woff2') format('woff2');unicode-range:U+7CDD-7E50;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s33.woff2') format('woff2');unicode-range:U+7E51-806F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s34.woff2') format('woff2');unicode-range:U+8070-81E7;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s35.woff2') format('woff2');unicode-range:U+81E8-8349;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s36.woff2') format('woff2');unicode-range:U+834A-84CF;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s37.woff2') format('woff2');unicode-range:U+84D0-868B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s38.woff2') format('woff2');unicode-range:U+868C-8762;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s39.woff2') format('woff2');unicode-range:U+8763-890A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s40.woff2') format('woff2');unicode-range:U+890B-8AF3;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s41.woff2') format('woff2');unicode-range:U+8AF4-8D6B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s42.woff2') format('woff2');unicode-range:U+8D6C-8F3A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s43.woff2') format('woff2');unicode-range:U+8F3B-9116;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s44.woff2') format('woff2');unicode-range:U+9117-9279;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s45.woff2') format('woff2');unicode-range:U+927A-93C9;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s46.woff2') format('woff2');unicode-range:U+93CA-9689;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s47.woff2') format('woff2');unicode-range:U+968A-9856;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s48.woff2') format('woff2');unicode-range:U+9857-9AB8;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s49.woff2') format('woff2');unicode-range:U+9AB9-9D0F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s50.woff2') format('woff2');unicode-range:U+9D10-9F5B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:500;font-display:swap;src:url('/assets/fonts/noto-serif-tc-500-s51.woff2') format('woff2');unicode-range:U+9F5C-10FFFF;}
/* ---- 備援層 700 · 罕用符號 ---- */
@font-face{
  font-family:'Noto Serif TC Ext';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('/assets/fonts/noto-serif-tc-700-ext0.woff2') format('woff2');
  unicode-range:U+2F00,U+2F08,U+2F12,U+2F24,U+2F29,U+2F2F,U+2F3C,U+2F3F,U+2F42,U+2F45,U+2F63-2F64,U+2F83,U+2F8F,U+3041-3093,U+3099-309E,U+30A1-30F6,U+30FB-30FE,U+3105-3129,U+3131,U+3134,U+3137,U+3139,U+3141-3142,U+3145,U+3147-3148,U+314B,U+314D-314F,U+3153,U+315C,U+3160-3161,U+3163,U+3181,U+318D,U+3192-3193,U+3196-3198,U+319D-319F,U+3220-3226,U+3231,U+3268,U+3281,U+328B,U+3291-3292,U+3295-3297,U+3299,U+329D,U+329F,U+32A3-32A4,U+32D6,U+32E1,U+3314,U+3322,U+337F,U+338E-338F,U+339C-339E,U+33A1,U+33C4,U+33D1-33D2,U+FB01,U+FE30-FE31,U+FE33-FE36,U+FE38-FE44,U+FE49-FE52,U+FE54-FE57,U+FE59-FE66,U+FE68-FE6A,U+1F141-1F142,U+1F150,U+1F154,U+1F158,U+1F15B,U+1F15D-1F15E,U+1F162-1F163,U+1F170-1F171,U+1F174,U+1F177-1F178,U+1F17D-1F17F,U+1F192-1F195,U+1F197-1F19A,U+1F21A,U+1F22F,U+1F232-1F237,U+1F239-1F23A,U+1F250-1F251;
}
/* ---- 備援層 700 · 漢字切片（52 片，U+3400 起；一片約 200 字、30–65 KB）---- */
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s00.woff2') format('woff2');unicode-range:U+3400-4F5D;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s01.woff2') format('woff2');unicode-range:U+4F5E-50DC;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s02.woff2') format('woff2');unicode-range:U+50DD-525B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s03.woff2') format('woff2');unicode-range:U+525C-540E;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s04.woff2') format('woff2');unicode-range:U+540F-5556;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s05.woff2') format('woff2');unicode-range:U+5557-5696;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s06.woff2') format('woff2');unicode-range:U+5697-5839;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s07.woff2') format('woff2');unicode-range:U+583A-59D9;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s08.woff2') format('woff2');unicode-range:U+59DA-5B59;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s09.woff2') format('woff2');unicode-range:U+5B5A-5CE4;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s10.woff2') format('woff2');unicode-range:U+5CE5-5EB2;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s11.woff2') format('woff2');unicode-range:U+5EB3-6042;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s12.woff2') format('woff2');unicode-range:U+6043-60FA;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s13.woff2') format('woff2');unicode-range:U+60FB-6275;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s14.woff2') format('woff2');unicode-range:U+6276-63E2;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s15.woff2') format('woff2');unicode-range:U+63E3-6531;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s16.woff2') format('woff2');unicode-range:U+6532-66C3;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s17.woff2') format('woff2');unicode-range:U+66C4-6836;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s18.woff2') format('woff2');unicode-range:U+6837-699A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s19.woff2') format('woff2');unicode-range:U+699B-6B78;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s20.woff2') format('woff2');unicode-range:U+6B79-6CD8;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s21.woff2') format('woff2');unicode-range:U+6CD9-6E3F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s22.woff2') format('woff2');unicode-range:U+6E40-6F87;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s23.woff2') format('woff2');unicode-range:U+6F88-70FE;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s24.woff2') format('woff2');unicode-range:U+70FF-72A1;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s25.woff2') format('woff2');unicode-range:U+72A2-7377;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s26.woff2') format('woff2');unicode-range:U+7378-74A7;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s27.woff2') format('woff2');unicode-range:U+74A8-7632;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s28.woff2') format('woff2');unicode-range:U+7633-77C6;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s29.woff2') format('woff2');unicode-range:U+77C7-7966;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s30.woff2') format('woff2');unicode-range:U+7967-7B11;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s31.woff2') format('woff2');unicode-range:U+7B12-7CDC;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s32.woff2') format('woff2');unicode-range:U+7CDD-7E50;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s33.woff2') format('woff2');unicode-range:U+7E51-806F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s34.woff2') format('woff2');unicode-range:U+8070-81E7;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s35.woff2') format('woff2');unicode-range:U+81E8-8349;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s36.woff2') format('woff2');unicode-range:U+834A-84CF;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s37.woff2') format('woff2');unicode-range:U+84D0-868B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s38.woff2') format('woff2');unicode-range:U+868C-8762;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s39.woff2') format('woff2');unicode-range:U+8763-890A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s40.woff2') format('woff2');unicode-range:U+890B-8AF3;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s41.woff2') format('woff2');unicode-range:U+8AF4-8D6B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s42.woff2') format('woff2');unicode-range:U+8D6C-8F3A;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s43.woff2') format('woff2');unicode-range:U+8F3B-9116;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s44.woff2') format('woff2');unicode-range:U+9117-9279;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s45.woff2') format('woff2');unicode-range:U+927A-93C9;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s46.woff2') format('woff2');unicode-range:U+93CA-9689;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s47.woff2') format('woff2');unicode-range:U+968A-9856;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s48.woff2') format('woff2');unicode-range:U+9857-9AB8;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s49.woff2') format('woff2');unicode-range:U+9AB9-9D0F;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s50.woff2') format('woff2');unicode-range:U+9D10-9F5B;}
@font-face{font-family:'Noto Serif TC Ext';font-style:normal;font-weight:700;font-display:swap;src:url('/assets/fonts/noto-serif-tc-700-s51.woff2') format('woff2');unicode-range:U+9F5C-10FFFF;}


/* ==========================================================================
   Inter（英文無襯線字，--sans；SIL Open Font License 1.1）
   ==========================================================================
   2026-10-21（PageSpeed 優化）：原本每頁 <head> 向 Google Fonts 要 Inter，
   手機要多連兩個網域（fonts.googleapis.com → fonts.gstatic.com）才拿得到字，
   PageSpeed 手機版的 LCP 因此多出約 0.5–1 秒。改成自家託管，跟中文字型一起從本站下載。

   • 檔案就是 Google Fonts 原本給的那兩個檔（2026-10-21 下載，v20），字形完全相同。
   • Google 給的是「可變字型」：400／500／600 三個字重共用同一個檔，所以這裡只有兩個 @font-face。
     font-weight 寫成 400 600（範圍），行為跟原本只要 400;500;600 一樣——要 700 時會用 600。
   • 只放 latin（英文、數字、常用標點，48 KB）與 latin-ext（帶重音的歐洲字母，85 KB，
     頁面上出現那種字才會下載）。希臘、西里爾、越南文全站沒用到，就沒有放。
   • 首頁的 Lora（--display 的英文襯線字）也改成自家託管，但只寫在 index.html 自己的 <style>：
     其他頁原本就沒載入 Lora，寫在這裡的話別頁的英文會突然換成 Lora。
   ========================================================================== */
/* ---- Inter · latin ---- */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url('/assets/fonts/inter-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;
}
/* ---- Inter · latin-ext ---- */
@font-face{
  font-family:'Inter';
  font-style:normal;
  font-weight:400 600;
  font-display:swap;
  src:url('/assets/fonts/inter-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-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
