/* ===========================================================
   群陽官網 — 設計 token
   依 ADR 013（深色章節系統）。所有數值只能從這裡取，不得在元件裡手刻。

   兩個半場：
     暗半場 —— 我們提供的那一層。看不見、不掛我們的牌。
     亮半場 —— 它被裝上去之後，人真的會走進去的地方。
   兩者由「接縫」（晶格六邊形的咬合齒）分隔，不是漸層。
   =========================================================== */

:root {
  /* --- 暗半場：層層上升的深色平面 ----------------------------- */
  --ground:   #050d18;   /* L*  3.5  頁首／頁尾／封面／內頁主底 */
  --well:     #020811;   /* L*  2.1  樞紐（最深的井） */
  --plate:    #16273e;   /* L* 15.3  抬起的平台：入口帶／CTA／接縫暗面 */
  --surface:  #1f3654;   /* L* 22.2  卡片 */
  --surface-2:#28426a;   /* L* 27.8  標記卡／hover */

  --bg: var(--ground);   /* body 底，供既有元件沿用 */

  --line:      rgba(214, 232, 255, .10);
  --line-2:    rgba(214, 232, 255, .18);
  --line-soft: var(--line);

  /* 深底上的文字。對比值見下方「可及性」段，改色必須重算。 */
  --ink:       #e9f0f9;  /* 對 ground 17.0:1 ✓ */
  --ink-muted: #93a8c4;  /* 對 ground  8.0:1 ✓ */
  --ink-faint: #687d9c;  /* 對 ground  4.6:1 ✓ —— 僅在 ground／well 上可承載文字 */
  --navy-200:  var(--ink-muted);   /* 相容別名：舊模板 inline style 仍在用 */

  /* --- 亮半場：同樣層層的暖石平面 ---------------------------- */
  --stone:       #e8e2d6;  /* L* 90.0  主平面 */
  --stone-d:     #d8d0bf;  /* L* 83.7  章首／章尾（貼著接縫的那一面） */
  --stone-ink:   #101b28;  /* 對 stone 13.5:1 ✓ */
  --stone-muted: #4d5a6b;  /* 對 stone  5.4:1 ✓、對 stone-d 4.6:1 ✓ */
  --stone-line:  #c6bda9;

  /* --- 琥珀：永遠是實心塊，上面壓近黑字。從不當文字色。------- */
  /* 每章至多一次，且只標「連結發生的地方」（按鈕、平台核心、被標記的入口）。*/
  --amber:     #f0a12a;   /* L* 72.4 */
  --amber-ink: #17110a;   /* 對 amber 8.8:1 ✓ */

  /* --- 版面 --------------------------------------------------- */
  --container:  1240px;         /* 邊界對齊，所有區塊共用 */
  --measure:    34em;           /* 行長上限（CJK 用 em，不用 ch —— ch 對中文無意義） */
  --measure-sm: 24em;
  --gutter:     clamp(20px, 4.4vw, 72px);

  /* --- 間距階梯：8 的倍數，只准由此挑值 ---------------------- */
  --s-1:   8px;
  --s-2:  16px;
  --s-3:  24px;
  --s-4:  32px;
  --s-5:  48px;
  --s-6:  64px;
  --s-7:  96px;
  --s-8: 128px;

  --section-y: clamp(var(--s-6), 8vw, var(--s-7));  /* 區段上下留白 */
  --pad-panel: 40px;   /* 大面板 */
  --pad-card:  var(--s-3);

  /* --- 字級 --------------------------------------------------- */
  --t-hero: clamp(34px, 6.2vw, 64px);
  --t-ch:   clamp(30px, 5vw, 48px);   /* 章名：亮章與暗章同級 */
  --t-h2:   clamp(22px, 3vw, 32px);   /* 內頁區段標題：必須小於章名，否則與 h1 同重 */
  --t-h3:   20px;
  --t-body: 16px;
  --t-sm:   14px;
  --t-xs:   12px;

  /* --- 樞紐圖：兩側欄寬由字級算出，核心才會正中 -------------- */
  /* --node-em = 最長節點字串的字元當量。這個數字**依語言而異**：
     中文 6 字、日文 13 字、英文 23 字（約 11.5 em）。
     只用中文的值會讓日英版撐破容器 —— e2e 的橫向溢出測試抓到過。 */
  --node-em:  6.15;
  --node-fs:  clamp(18px, 2vw, 24px);
  --node-mk:  clamp(18px, 1.55vw, 22px);
  --node-gap: clamp(14px, 1.4vw, 20px);
  --hcol: calc(var(--node-em) * var(--node-fs) + var(--node-mk) + var(--node-gap));

  /* --- 六邊形尺度階梯（ADR 013 §晶格）------------------------ */
  /* 15 → 22(節點記號) → 36.37(接縫齒) → 60(章牌) → 432(核心) */
  --hex-seam: 36.37px;   /* 晶格週期 126、對邊 72.75 的一半 */
  --lat-w: 126px;
  --lat-h: 72.75px;

  /* --- 字體 --------------------------------------------------- */
  --font-latin: "Helvetica Neue", Arial, sans-serif;
  --font-mono:  ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;
  --lh-base:  1.6;
  --lh-tight: 1.2;
  --lh-loose: 1.85;

  /* --- 其他 --------------------------------------------------- */
  --radius: 0;                              /* 全站零圓角：晶格是硬邊系統 */
  --focus:         2px solid var(--amber);  /* 對 ground 9.1:1 ✓ */
  --focus-on-dark: var(--focus);
}

/* --- 依表面分層的次要文字色（可及性，不是美術選擇）------------
   faint 的基準值只在 ground／well 上過 AA。表面一抬高，
   同一個色就掉到 4.5 以下，所以每一層各自重新定義。
   不把 faint 全域調亮，是因為那會亮過 muted，階層倒置。 */
.band--plate, .band--cta    { --ink-faint: #7d8faa; }  /* 對 plate 4.6:1 ✓ */
.entry, .card, .panel, .chip{ --ink-faint: #909fb6; }  /* 對 surface 4.6:1 ✓ */
.entry--mark, .card--accent,
.panel--accent              { --ink-faint: #a2afc3;    /* 對 surface-2 4.6:1 ✓ */
                              --ink-muted: #a8bad2; }  /* 對 surface-2 4.9:1 ✓ */

/* 亮半場：整組換成石色，元件不必知道自己在哪一半場 */
.paper {
  --ink:       var(--stone-ink);
  --ink-muted: var(--stone-muted);
  --ink-faint: var(--stone-muted);
  --line:      var(--stone-line);
  --line-2:    var(--stone-line);
  --focus:     2px solid var(--stone-ink);
}

/* --- 依語言切換字體堆疊（ADR 013 §六）------------------------ */
/* system-ui 一律置於最後：否則由使用者作業系統語言決定字形，
   日文版會拿到中文字形。這條不得為了視覺一致而拿掉。 */
:root,
:root:lang(zh-TW) { --font: "PingFang TC", "Noto Sans TC", "Microsoft JhengHei", system-ui, sans-serif; }
:root:lang(zh-CN) { --font: "PingFang SC", "Noto Sans SC", "Microsoft YaHei",   system-ui, sans-serif; }
:root:lang(ja)    { --font: "Hiragino Sans", "Yu Gothic", "Noto Sans JP",       system-ui, sans-serif; }
:root:lang(en)    { --font: var(--font-latin), system-ui; }

/* 日文行高需求高於中文 */
:root:lang(ja) { --lh-base: 1.75; --lh-tight: 1.45; }

/* 樞紐節點：非中文的標籤長得多，字級與欄寬一起讓步。
   欄寬另有 1fr 保底（site.css），字放不下會換行而不是撐破版面。 */
:root:lang(ja) { --node-em: 13.4; --node-fs: clamp(15px, 1.35vw, 18px); }
:root:lang(en) { --node-em: 12;   --node-fs: clamp(15px, 1.4vw, 19px); }
