/* =====================================================================
   觀籀 · 設計 token（唯一權威來源）
   ---------------------------------------------------------------------
   規則（寫給日後任何接手的 AI 代理／維護者）：
   1. 模板與組件 CSS 一律引用本檔變量，禁止出現裸十六進制色値。
   2. 淺色（晝讀）値定義在 :root；深色（夜讀）只覆寫需要翻轉的 token，
      分兩處寫：@media (prefers-color-scheme: dark) 跟隨系統，
      [data-theme="dark"] / [data-theme="light"] 顯式開關優先。
   3. 新增 token 前先確認既有 token 不能表達；命名格式：
      --色彩 c-*、字體 font-*、字級 fs-*、行高 lh-*、間距 sp-*、
      圓角 r-*、陰影 shadow-*、注家 src-*。
   4. 注家色 --src-N 與注家（source.id）永久綁定，不得按篇內順序輪換
      ——同一注家在全站任何一頁都是同一色。色彩只是冗餘信號，
      徽章單字（毛／箋／疏）纔是第一信號，色盲用戶不靠色也能分辨。
   ===================================================================== */

:root{
  /* ---- 紙與墨（中性色階，介面骨架） ---- */
  --c-paper:      #f8f4ea;   /* 頁面底：暖紙色 */
  --c-paper-high: #fffdf6;   /* 浮起面：卡片、彈窗、工具列 */
  --c-paper-low:  #f0eadb;   /* 凹陷面：輸入框、代碼、次要區塊 */
  --c-ink:        #2b2620;   /* 正文墨色 */
  --c-ink-2:      #57503f;   /* 次級文字：注文、序敘 */
  --c-ink-3:      #8a7f6e;   /* 弱化文字：說明、面包屑、計數 */
  --c-line:       #e3dcc9;   /* 細分隔線 */
  --c-line-2:     #cec3a9;   /* 強邊框：按鈕描邊、卡片邊 */

  /* ---- 兩個強調色（只有兩個，不再多） ---- */
  /* 朱：印泥朱砂。專用於「注」——注記下劃線、注家互動、主要動作。 */
  --c-zhu:        #a63a2b;
  --c-zhu-deep:   #8c3122;   /* hover／按下 */
  --c-zhu-wash:   #f3e3de;   /* 朱的洗色底（高亮、選中背景） */
  /* 黛：黛青。專用於「路」——超鏈接、導航、去往別處的東西。 */
  --c-dai:        #2f5d8a;
  --c-dai-deep:   #234a70;

  /* ---- 語義色（狀態用，非裝飾） ---- */
  --c-ok:         #4a7a4e;
  --c-warn:       #8a6a2f;

  /* ---- 注家識別色（與 source.id 永久綁定；見規則 4） ----
     詩經：1毛 2箋 3釋 4疏 5歐 6緝 7朱 8呂 9鶴 10彙 11姚 12折
     楚辭：13王 14洪 15他 16朱 17船 18蔣 19復 20戴
     超過 10 家時色相循環，靠徽章字區分（色本來就只是冗餘信號）。 */
  --src-1:  #a63a2b;  --src-2:  #33608d;  --src-3:  #4a7a4e;
  --src-4:  #71518f;  --src-5:  #8a6a2f;  --src-6:  #2f7a86;
  --src-7:  #a04a6e;  --src-8:  #5b6b8a;  --src-9:  #97671f;
  --src-10: #55524c;

  /* ---- 字體（分文種回退鏈；經 :lang() 選擇器掛接） ----
     原則：每一文種一條有序回退鏈；鏈尾永遠落回通用 serif／sans。
     日後接入藏文泰文，只在這裡加一條 --font-xx，正文版面不動。 */
  /* 字族政策（260905 用戶定）：優先自製冬青合併字體（本機 ~/Library/Fonts，字族名不帶
     PF/Modified 後綴——PF 套只在需與蘋方同行對齊時用），其後落 Noto CJK **KR**：
     KR/JP 子族標點靠左下，TC 子族標點居中，用戶明確不要居中。lang 仍按內容真實語言標。 */
  --font-serif: "Khan Hiragino Mincho CJK","Noto Serif CJK KR","Source Han Serif KR",
                "Noto Serif KR",serif;                        /* 漢文正文、古注：明朝體 */
  --font-sans:  "Khan Hiragino Maru Gothic CJK","Noto Sans CJK KR","Source Han Sans KR",
                "Noto Sans KR",sans-serif;                    /* 讀者面 UI、參考層：丸體（字體異族＝前注意信號） */
  --font-sans-studio: "Khan Hiragino Sans CJK","Noto Sans CJK KR","Source Han Sans KR",
                "Noto Sans KR",sans-serif;                    /* 校書臺 UI：黑體，與讀者面再分一層 */
  --font-latin: "Gentium Plus","Brill","Charis SIL",Georgia,serif;
                /* 拉丁轉寫（IAST 帶變音符）優先專業字體，再落回漢文 serif */
  --font-thai:  "Noto Serif Thai","Sarabun",serif;
  --font-tibetan: "Noto Serif Tibetan","Kailasa",serif;
  --font-mono:  "SF Mono","Menlo",monospace;

  /* ---- 字級階層（rem；html 基準 17px） ---- */
  --fs-ui:     .82rem;   /* 工具列、徽章、面包屑、計數 */
  --fs-note:   .92rem;   /* 注文、彈窗內文 */
  --fs-body:   1rem;     /* 散文正文、序敘 */
  --fs-verse:  1.28rem;  /* 韻文正文（詩句） */
  --fs-h2:     1.12rem;  /* 區塊標題 */
  --fs-h1:     1.55rem;  /* 篇題 */
  --fs-display: 2.1rem;  /* 首頁主標 */

  /* ---- 行高 ---- */
  --lh-verse: 2.15;      /* 韻文：行間留足呼吸 */
  --lh-prose: 1.95;      /* 散文與注文 */
  --lh-ui:    1.5;       /* UI 文字 */

  /* ---- 間距階層（4 的倍數，跳級遞增） ---- */
  --sp-1: 4px;  --sp-2: 8px;  --sp-3: 12px;
  --sp-4: 20px; --sp-5: 32px; --sp-6: 52px;

  /* ---- 圓角與陰影 ---- */
  --r-s: 4px;  --r-m: 8px;
  --shadow-pop:  0 6px 24px rgba(60,40,20,.16);
  --shadow-card: 0 1px 3px  rgba(60,40,20,.08);

  /* ---- 版面量度 ---- */
  --measure-read: 44em;   /* 閱讀主欄理想行長 */
  --measure-wide: 62em;   /* 首頁、目錄頁 */
}

/* ============ 夜讀（深色）：只覆寫翻轉的 token ============ */
/* 跟隨系統（用戶未顯式選擇時） */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --c-paper:      #211e19;
    --c-paper-high: #2a2721;
    --c-paper-low:  #191713;
    --c-ink:        #e6dfd0;
    --c-ink-2:      #b5ac9a;
    --c-ink-3:      #857c6b;
    --c-line:       #3a352b;
    --c-line-2:     #4d463a;
    --c-zhu:        #cd7059;  --c-zhu-deep: #de8570;  --c-zhu-wash: #3c2b26;
    --c-dai:        #7da7cf;  --c-dai-deep: #98bcdd;
    --c-ok:         #7fae83;  --c-warn:     #bd9a55;
    --src-1: #cd7059; --src-2: #7da0c9; --src-3: #85b189;
    --src-4: #a98cc9; --src-5: #bd9a55; --src-6: #6faebb;
    --src-7: #c98aa4; --src-8: #97a5c0; --src-9: #c09a53;
    --src-10:#a29d94;
    --shadow-pop:  0 6px 24px rgba(0,0,0,.5);
    --shadow-card: 0 1px 3px  rgba(0,0,0,.3);
  }
}
/* 顯式開關（雙向覆寫，優先於系統） */
:root[data-theme="dark"]{
  --c-paper:      #211e19;
  --c-paper-high: #2a2721;
  --c-paper-low:  #191713;
  --c-ink:        #e6dfd0;
  --c-ink-2:      #b5ac9a;
  --c-ink-3:      #857c6b;
  --c-line:       #3a352b;
  --c-line-2:     #4d463a;
  --c-zhu:        #cd7059;  --c-zhu-deep: #de8570;  --c-zhu-wash: #3c2b26;
  --c-dai:        #7da7cf;  --c-dai-deep: #98bcdd;
  --c-ok:         #7fae83;  --c-warn:     #bd9a55;
  --src-1: #cd7059; --src-2: #7da0c9; --src-3: #85b189;
  --src-4: #a98cc9; --src-5: #bd9a55; --src-6: #6faebb;
  --src-7: #c98aa4; --src-8: #97a5c0; --src-9: #c09a53;
  --src-10:#a29d94;
  --shadow-pop:  0 6px 24px rgba(0,0,0,.5);
  --shadow-card: 0 1px 3px  rgba(0,0,0,.3);
}
