/* 靈鑰 SOUL KEY —— landing 的共用樣式
   ==================================================================

   **這個檔是 2026-09-22 夜間依一條自己訂的規則建的。**

   `about.html` 的註解裡寫過：

   > N=2 時複製，N=3 時才抽成共用檔。兩份相等可以靠看，三份相等
   > 只能靠機制。**第三個 landing 頁出現的那一天，這三份一起抽。**

   今晚 `terms.html` 與 `privacy.html` 出現，N 從 2 變成 4 —— 所以抽。
   一條規則寫下來而到期時不執行，下一次就沒有人會相信它。

   ⚠⚠ **抽的範圍只有三頁，`index.html` 今晚刻意不動。**

   理由不是偷懶，是風險不對稱：`index.html` 的 `<style>` 裡，共用的部分
   與頁面專屬的部分（流光 `.aurora`/`.b1-b4`、環繞 `.orbit-*`、
   星塵 `.stardust`/`.dust-*`、凱爾特 `.celtic-*`、社群 `.social`）
   是**交錯寫在一起**的，拆它要逐條比對；而今晚能做的驗證只有
   HTTP 取回加截圖，那擋不住「某一條規則被順手刪掉而畫面差一點點」。

   **所以現在的狀態是：共用 token 有兩份副本**——這個檔，以及
   `index.html` 的 inline `<style>`。那是一個**已知的、登記過的**重複，
   不是漏掉的。下一輪（有時間逐條比對時）把 `index.html` 也接過來，
   那時這個檔就是唯一來源。

   ⚠ 值全部逐字取自 `index.html`，沒有重新換算。oklch 的換算前 hex
   寫在那邊的註解裡，這裡不再抄一份——**一個數字的第三份副本
   就是第三個會過期的地方**。
   ================================================================== */

:root {
  --gold: oklch(0.554 0.079 78.4);
  --gold-light: oklch(0.635 0.088 78.1);
  --warm-white: oklch(0.983 0.006 84.6);
  --ink: oklch(0.220 0.010 285.6);

  --serif-tc: "Noto Serif TC", "Songti TC", serif;
  --serif-en: "Cormorant Garamond", "Times New Roman", serif;
  --sans-tc: "Noto Sans TC", ui-sans-serif, system-ui, sans-serif;

  /* 凱爾特綠。**四個一起留**——它們是同一組 token，
     只抄用得到的那一個，下次要用第二個時會有人重新換算一次。 */
  --celtic-deep: oklch(0.352 0.048 155.8);
  --celtic-moss: oklch(0.492 0.037 134.6);
  --celtic-sage: oklch(0.726 0.033 128.1);
  --celtic-ink: oklch(0.945 0.017 85.9);
}

body {
  background: var(--warm-white);
  color: var(--ink);
  font-family: var(--sans-tc);
  font-weight: 300;
  margin: 0;
}

.display {
  font-family: var(--serif-en), var(--serif-tc);
  font-weight: 300;
  letter-spacing: 0.08em;
}

.display-tc {
  font-family: var(--serif-tc);
  font-weight: 300;
  letter-spacing: 0.18em;
}

.gold { color: var(--gold); }
.gold-light { color: var(--gold-light); }

.btn-gold {
  background: #fff;
  color: var(--gold);
  border: 1px solid oklch(0.554 0.079 78.4 / 0.22);
  box-shadow: 0 1px 3px oklch(0.554 0.079 78.4 / 0.10),
              0 6px 20px -8px oklch(0.554 0.079 78.4 / 0.18);
  transition: box-shadow 200ms cubic-bezier(0.16, 1, 0.3, 1),
              transform 200ms cubic-bezier(0.16, 1, 0.3, 1);
}

.btn-gold:hover {
  box-shadow: 0 2px 6px oklch(0.554 0.079 78.4 / 0.14),
              0 10px 28px -8px oklch(0.554 0.079 78.4 / 0.24);
  transform: translateY(-1px);
}

.rule { border-color: oklch(0.554 0.079 78.4 / 0.18); }

/* 凱爾特照片：邊緣淡出成透明，不是圓角裁切。
   ⚠ `-webkit-` 前綴要留：Safari 到現在仍只認前綴版。 */
.celtic-fade {
  -webkit-mask-image: radial-gradient(circle at 50% 48%,
    #000 54%, rgba(0, 0, 0, 0.55) 70%, transparent 82%);
  mask-image: radial-gradient(circle at 50% 48%,
    #000 54%, rgba(0, 0, 0, 0.55) 70%, transparent 82%);
}

/* 社群圖示：灰金線條，滑過才變成飽和的金。 */
.social {
  color: oklch(0.600 0.035 80.0);
  transition: color 200ms ease, transform 200ms ease;
}
.social:hover { color: var(--gold); transform: translateY(-1px); }
.social:focus-visible {
  outline: 2px solid oklch(0.554 0.079 78.4 / 0.55);
  outline-offset: 3px;
  border-radius: 8px;
}

/* 深色頁尾上的同一組圖示：灰金在深底上太暗，提亮而不換色相。 */
footer .social { color: oklch(0.720 0.045 80.0 / 0.80); }
footer .social:hover { color: oklch(0.800 0.070 80.0); }
