/* ══════════════════════════════════════════════════════════════
   雷蒙三十 Brand Fonts — 自架 webfont @font-face 宣告（SSOT）
   ══════════════════════════════════════════════════════════════
   來源：2026-07-24 繁中字型選型 + 角色情境分工提案（雷蒙拍板）。
   全部託管在 R2：https://image.lifehacker.tw/brand/fonts/<id>-<weight>.woff2

   使用方式：
     <link rel="stylesheet" href="https://image.lifehacker.tw/brand/fonts.css">
     或把本檔跟 variables.css 一起 import。
     Google Fonts 家族（Noto Sans TC / Noto Serif TC）不在這裡宣告，
     直接走 Google Fonts CDN（已做 unicode-range 分片，比自架輕）。

   ⚠️ 重量警告：中文全字庫 woff2 每個字重 3-8 MB。
     - 網頁正文 / Landing：只宣告真正會用到的字重，並確保有 font-display: swap。
     - 需要極致效能的頁面：走 Google Fonts 的 Noto Sans TC，或先做 subset。
     - 簡報、影片、設計稿、離線 Claude Design sandbox：全字庫版本本來就適合。
   ══════════════════════════════════════════════════════════════ */

/* ── Sans · Landing／官網主視覺 ──────────────────────────────
   阿里巴巴普惠體 TC（Alibaba Sans TC）— Big5 + HKSCS 19,181 字符，4 字重。
   注意：官網上的「阿里巴巴普惠體 3.0」是簡體 GB18030 字符集，字形為大陸標準；
   繁中專案一律用這套 TC 版。授權：阿里巴巴永久免費商用。 */
@font-face {
  font-family: 'Alibaba Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/alibaba-sans-tc-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Alibaba Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/alibaba-sans-tc-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Alibaba Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/alibaba-sans-tc-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
/* 沒有原生 700：把 75 SemiBold 同時登記為 bold，避免瀏覽器合成假粗體 */
@font-face {
  font-family: 'Alibaba Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/alibaba-sans-tc-600.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Alibaba Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/alibaba-sans-tc-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}

/* ── Sans · 產品 UI／後台／長文內文 ──────────────────────────
   未來熒黑 Glow Sans TC（Normal 寬度）— 9 字重，SIL OFL 1.1。
   標點可切（西文式 ⚡ 半形間距），適合資訊密度高的 UI。 */
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-100.woff2') format('woff2');
  font-weight: 100;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-200.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
/* Book 350 — Glow Sans 特有的「比 Regular 再細一階」內文字重 */
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-350.woff2') format('woff2');
  font-weight: 350;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-800.woff2') format('woff2');
  font-weight: 800;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Glow Sans TC';
  src: url('https://image.lifehacker.tw/brand/fonts/glow-sans-tc-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* ── Rounded · 溫暖社群／導覽卡 ──────────────────────────────
   源泉圓體 GenSenRounded2 TW — 6 字重，SIL OFL 1.1。 */
@font-face {
  font-family: 'GenSenRounded2 TW';
  src: url('https://image.lifehacker.tw/brand/fonts/gensen-rounded-200.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GenSenRounded2 TW';
  src: url('https://image.lifehacker.tw/brand/fonts/gensen-rounded-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GenSenRounded2 TW';
  src: url('https://image.lifehacker.tw/brand/fonts/gensen-rounded-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GenSenRounded2 TW';
  src: url('https://image.lifehacker.tw/brand/fonts/gensen-rounded-500.woff2') format('woff2');
  font-weight: 500;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GenSenRounded2 TW';
  src: url('https://image.lifehacker.tw/brand/fonts/gensen-rounded-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'GenSenRounded2 TW';
  src: url('https://image.lifehacker.tw/brand/fonts/gensen-rounded-900.woff2') format('woff2');
  font-weight: 900;
  font-style: normal;
  font-display: swap;
}

/* ── Signature · 簽名檔（電子報／銷售頁署名）────────────────
   辰宇落雁體 ChenYuluoyan 2.0 Thin — 單一字重，SIL OFL 1.1。
   只用於署名與極短句，不當內文、不套長段落。 */
@font-face {
  font-family: 'ChenYuluoyan 2.0 Thin';
  src: url('https://image.lifehacker.tw/brand/fonts/chenyuluoyan-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}

/* ── Display · 品牌封面主標 ─────────────────────────────────
   字魂扁桃體 — 商業字體，授權持有者：雷蒙三十（侯智薰）。
   local-first：repo 內副本優先，R2 當 CDN fallback。 */
@font-face {
  font-family: 'zihunbiantaoti';
  src: url('/assets/fonts/ZiHunBianTaoTi.woff2') format('woff2'),
       url('https://image.lifehacker.tw/brand/ZiHunBianTaoTi.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ── Display Impact · YouTube 縮圖／爆發大標 ────────────────
   饅頭黑體 MantouSans — 固定 weight 400，禁止 faux bold。 */
@font-face {
  font-family: 'Mantou Sans';
  src: url('https://image.lifehacker.tw/brand/fonts/mantou-sans-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ── Pixel · 復古標籤／開發者梗 ─────────────────────────────
   俐方體 11 號 Cubic 11 — 點陣字，字級務必用 11px 的整數倍才不糊。 */
@font-face {
  font-family: 'Cubic 11';
  src: url('https://image.lifehacker.tw/brand/fonts/cubic-11-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* ── Mono · 中英等寬 2:1 ─────────────────────────────────────
   更紗黑體等距 Sarasa Mono TC — 10 個 face（5 字重 × 正斜體），SIL OFL 1.1。
   拉丁 advance 0.5em、中文 1.0em，**精確 2:1**，所以中文註解跟英文程式碼
   能對齊成方格。混用 JetBrains Mono 就沒有這個性質（它的拉丁是 0.6em，
   跟中文湊成 1:1.667）——要對齊就整套用這一套，別混。
   51,072 字符，繁體字形正確。 */
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-200.woff2') format('woff2');
  font-weight: 200;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-200-italic.woff2') format('woff2');
  font-weight: 200;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-300.woff2') format('woff2');
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-300-italic.woff2') format('woff2');
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-400.woff2') format('woff2');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-400-italic.woff2') format('woff2');
  font-weight: 400;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-600.woff2') format('woff2');
  font-weight: 600;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-600-italic.woff2') format('woff2');
  font-weight: 600;
  font-style: italic;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-700.woff2') format('woff2');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Sarasa Mono TC';
  src: url('https://image.lifehacker.tw/brand/fonts/sarasa-mono-tc-700-italic.woff2') format('woff2');
  font-weight: 700;
  font-style: italic;
  font-display: swap;
}
