/**
 * Hauzii Text Link Utilities
 *
 * text component 的 url atom 有值時，TextBindingProcessor 會在渲染輸出端
 * 把文字包成 <a class="hz-textlink">（值為空時完全不輸出此 class）。
 *
 * 設計定案（2026-07-30 站主裁決）：
 *   - 顏色**繼承原 role 色** —— 不設統一連結色、不新增色盤 slot。
 *   - 底線**靜止無、hover 才出現** —— 由本檔統一決定，不留給 block 作者逐塊寫。
 *
 * ⚠️ 為什麼是 `:root body a.hz-textlink` 而不是裸 `.hz-textlink`
 * ------------------------------------------------------------------
 * 這是 hz- utility class 對抗主題樣式的**家規格式**，與 GapDomain（.hz-pad-NN /
 * .hz-gap-NN）、.hz-hover-* 等全家族一致：**用 `:root body` 的高特異性直接贏，
 * 不靠 theme shield 的 revert-layer、不用 !important、不開 per-theme 檔**。
 *
 * 實證（2026-07-30，本檔第一版就是裸 class 而中招）：
 *   Blocksy `a:hover { color: var(--theme-link-hover-color) }` 特異性 (0,1,1)
 *   **贏過**裸 `.hz-textlink` 的 (0,1,0) → 連結一 hover 就變成主題連結色，
 *   破壞「顏色繼承原 role 色」的定案。靜止態才沒事（`a{...}` 只有 (0,0,1)）。
 *   `:root body a.hz-textlink` = (0,2,2)、加狀態 = (0,3,2)，穩贏 class-level 主題規則。
 *
 * 背景與「為什麼不靠 shield」的完整脈絡見
 * docs/tech-debt/blocksy-theme-reset-systemic-20260630.md
 * § 2026-07-08（GapDomain 用高特異性直接贏，revert-layer 連新版 Safari 都不可靠）。
 *
 * ⚠️ 本檔只管 decoration 與顏色繼承，**不得**加入任何間距
 * （padding / margin / gap 一律屬 GapDomain，見 dt-25-gap-architecture）。
 */

:root body a.hz-textlink {
    color: inherit;
    text-decoration: none;
}

/* 每個狀態都要重申 color:inherit —— 主題對 :hover / :visited 各有獨立規則，
   只在基礎規則守 color 會被狀態規則各個擊破。 */
:root body a.hz-textlink:visited {
    color: inherit;
}

:root body a.hz-textlink:hover,
:root body a.hz-textlink:focus-visible {
    color: inherit;
    text-decoration: underline;
}

:root body a.hz-textlink:active {
    color: inherit;
}
