{
  "$comment": "由 build-tokens.mjs 從 tokens.css 產生，不要手改",
  "version": "1.18.0",
  "source": "tokens.css",
  "tokens": {
    "--ground": {
      "value": "#F8F7F7",
      "group": "色票：中性",
      "description": "頁面底（v1.14.0 warm 併入庫預設，原 #F7F8FA）"
    },
    "--surface": {
      "value": "#FFFFFF",
      "group": "色票：中性",
      "description": "卡片/面板底"
    },
    "--surface-2": {
      "value": "#F2F1F1",
      "group": "色票：中性",
      "description": "次表面（2026-08-11 v1.3.0 補）：比 --surface 深一階、但不到 --ground 的底。 用於「白卡裡面還要再分一層」的地方：摺疊區標題列、側欄計數徽章、選單頁尾、中性小標籤。 起因：權限申請 prototype 自己補了這個 hex，等於繞過原則 1「不自創灰色」——收進來讓它有名字。 ⚠️ v1.14.0（2026-08-17）warm 併入庫預設：值改為 #F2F1F1。**與 --slate-bg 從此不再同值** （--slate-bg 隨 warm 保留現行 #F1F2F6 不變——狀態色照拍板維持既有值，見 GUIDELINE changelog）。 原本「同值不同語意，分開留是為了改狀態色不連帶動版面層次」的理由， 現在變成兩者本來就不同值，反而更乾淨地體現這個分家。"
    },
    "--text": {
      "value": "#2E2E31",
      "group": "色票：中性",
      "description": "主文"
    },
    "--muted": {
      "value": "#5C5C61",
      "group": "色票：中性",
      "description": "次要文字"
    },
    "--faint": {
      "value": "#6B6E7B",
      "group": "色票：中性",
      "description": "弱文字/輔助說明"
    },
    "--disabled-fg": {
      "value": "#B6B6B8",
      "group": "色票：中性",
      "description": "停用文字"
    },
    "--disabled-fg-2": {
      "value": "#CBCBCC",
      "group": "色票：中性",
      "description": "停用附註（如「（停用）」）"
    },
    "--line": {
      "value": "#E9E8E8",
      "group": "色票：中性",
      "description": "一般框線/分隔線"
    },
    "--line-strong": {
      "value": "#C5C5C7",
      "group": "色票：中性",
      "description": "強框線（啟用中的卡）"
    },
    "--line-soft": {
      "value": "#F1F0EF",
      "group": "色票：中性",
      "description": "弱分隔線（drawer header/footer）"
    },
    "--disabled-bg": {
      "value": "#FAF9F9",
      "group": "色票：中性",
      "description": "停用卡底"
    },
    "--field-bg": {
      "value": "#F6F5F4",
      "group": "色票：中性",
      "description": "輸入框底"
    },
    "--chip-bg": {
      "value": "#F0EFEE",
      "group": "色票：中性",
      "description": "未選 chip 底"
    },
    "--ink": {
      "value": "#1B1D22",
      "group": "色票：主色（ink，擔任 OMS navy 的角色）",
      "description": null
    },
    "--ink-hi": {
      "value": "#3D404A",
      "group": "色票：主色（ink，擔任 OMS navy 的角色）",
      "description": "ink 亮階（深色面上的選中底/次階層）"
    },
    "--ink-tint-05": {
      "value": "rgba(27,29,34,.05)",
      "group": "色票：主色（ink，擔任 OMS navy 的角色）",
      "description": "tablist 底/搜尋框底/統計 chip 底"
    },
    "--ink-tint-06": {
      "value": "rgba(27,29,34,.06)",
      "group": "色票：主色（ink，擔任 OMS navy 的角色）",
      "description": "疊層中階（2026-08-11 起表格列 hover 改吃 --hover-bg，本值目前無使用者，保留以維持 05/06/08 疊層階梯完整）"
    },
    "--ink-tint-08": {
      "value": "rgba(27,29,34,.08)",
      "group": "色票：主色（ink，擔任 OMS navy 的角色）",
      "description": "badge 底"
    },
    "--cta": {
      "value": "#F08200",
      "group": "色票：CTA 橘（稀有色：僅 CTA 與導覽選中系，不當控件選中色）",
      "description": null
    },
    "--cta-weak": {
      "value": "#FF9D1B",
      "group": "色票：CTA 橘（稀有色：僅 CTA 與導覽選中系，不當控件選中色）",
      "description": null
    },
    "--cta-ink": {
      "value": "#C96A00",
      "group": "色票：CTA 橘（稀有色：僅 CTA 與導覽選中系，不當控件選中色）",
      "description": "2026-08-10 新增：橘的「可讀文字階」。--cta #F08200 對白底只有 2.66:1（白底橙字明文禁用）， 所以橘一直只能做填色、無法出現在文字上。 ⚠️ v1.14.0（2026-08-17）warm 併入庫預設，本值改用官方品牌橙深階 #C96A00 （原 #A45D25 是 oklch(0.55 0.115 55) 算出來、通過 AA 的自製值，隨 warm 併入撤除）。 官方深階實測**未達 AA**：對白卡 3.79:1、對暖底 3.53:1（4.5 門檻不到）—— 這是 warm 探索階段（themes.experimental.css）就記錄且已接受的已知限制，不是本次新問題。 ⚠️ 用途嚴格限「caption 與小狀態提示」——連結、強調字、控件選中一律維持 ink（2026-08-10 使用者裁決）， 這個限制範圍正好把它擋在「必須達 AA 的內文字」用途之外。"
    },
    "--hover-bg": {
      "value": "#FFFAF3",
      "group": "色票：CTA 橘（稀有色：僅 CTA 與導覽選中系，不當控件選中色）",
      "description": "全站 hover 底（側欄導覽／表格列／選項列共用；2026-08-11 起表格列併入）"
    },
    "--nav-sel-bg": {
      "value": "#FCF1DE",
      "group": "色票：CTA 橘（稀有色：僅 CTA 與導覽選中系，不當控件選中色）",
      "description": "導覽選中底"
    },
    "--accent2-weak": {
      "value": "#FFEECB",
      "group": "色票：CTA 橘（稀有色：僅 CTA 與導覽選中系，不當控件選中色）",
      "description": "橙 tint（2026-08-11 v1.3.0 補）：CTA 色的淺底，比 --nav-sel-bg 再深一階。 用於中性說明條（.ds-alert-info）——「這段話要被看見，但它不是狀態」。 ⚠️ 這一階只當**底色**，文字一律 --text；橘要出現在文字上只有 --cta-ink 一條路（原則 2）。 同樣是把 prototype 自補的 hex 收進庫。深淺階梯：--hover-bg < --nav-sel-bg < --accent2-weak。"
    },
    "--amber": {
      "value": "#E0A100",
      "group": "色票：狀態",
      "description": null
    },
    "--amber-bg": {
      "value": "#FDF3D6",
      "group": "色票：狀態",
      "description": null
    },
    "--green": {
      "value": "#1E9E62",
      "group": "色票：狀態",
      "description": null
    },
    "--green-bg": {
      "value": "#E7F5EE",
      "group": "色票：狀態",
      "description": null
    },
    "--red": {
      "value": "#D8442B",
      "group": "色票：狀態",
      "description": null
    },
    "--red-bg": {
      "value": "#FBEAE6",
      "group": "色票：狀態",
      "description": null
    },
    "--slate": {
      "value": "#565A66",
      "group": "色票：狀態",
      "description": null
    },
    "--slate-bg": {
      "value": "#F1F2F6",
      "group": "色票：狀態",
      "description": null
    },
    "--req-border": {
      "value": "#F2D0C8",
      "group": "色票：狀態",
      "description": "必填未填卡框（--red 淡化）"
    },
    "--req-star": {
      "value": "#DB8A79",
      "group": "色票：狀態",
      "description": "必填星號"
    },
    "--on-ink": {
      "value": "#FFFFFF",
      "group": "填色上的前景（2026-08-13 v1.8.0 新增）",
      "description": "--ink 底上的文字與符號"
    },
    "--on-cta": {
      "value": "#FFFFFF",
      "group": "填色上的前景（2026-08-13 v1.8.0 新增）",
      "description": "--cta 底（⚠️ 見上方對比說明）"
    },
    "--on-danger": {
      "value": "#FFFFFF",
      "group": "填色上的前景（2026-08-13 v1.8.0 新增）",
      "description": "--red 底"
    },
    "--on-green": {
      "value": "#FFFFFF",
      "group": "填色上的前景（2026-08-13 v1.8.0 新增）",
      "description": "--green 底（toast 成功圖示）"
    },
    "--on-dark": {
      "value": "rgba(255,255,255,.93)",
      "group": "深底中性色階梯（2026-08-13 v1.9.0 新增，使用者拍板 6 顆）",
      "description": "深底主文字（品牌名、導覽選中項、帳號名）"
    },
    "--on-dark-2": {
      "value": "rgba(255,255,255,.52)",
      "group": "深底中性色階梯（2026-08-13 v1.9.0 新增，使用者拍板 6 顆）",
      "description": "深底次要文字（副標、分組標題、未選導覽項）"
    },
    "--on-dark-tint-06": {
      "value": "rgba(255,255,255,.06)",
      "group": "深底中性色階梯（2026-08-13 v1.9.0 新增，使用者拍板 6 顆）",
      "description": "最淺疊層：導覽 hover、深底上的輸入框底（實測 .06/.07 兩值，肉眼差 ΔL* 約 0.3，收成一階）"
    },
    "--on-dark-tint-10": {
      "value": "rgba(255,255,255,.10)",
      "group": "深底中性色階梯（2026-08-13 v1.9.0 新增，使用者拍板 6 顆）",
      "description": "中階疊層：計數膠囊、kbd、icon 鈕 hover"
    },
    "--on-dark-tint-14": {
      "value": "rgba(255,255,255,.14)",
      "group": "深底中性色階梯（2026-08-13 v1.9.0 新增，使用者拍板 6 顆）",
      "description": "強調面：頭像底（實測 .12/.14，收成一階取深者，頭像需要撐得住文字）"
    },
    "--on-dark-line": {
      "value": "rgba(255,255,255,.08)",
      "group": "深底中性色階梯（2026-08-13 v1.9.0 新增，使用者拍板 6 顆）",
      "description": "深底上的分隔線與內嵌邊界"
    },
    "--focus-halo": {
      "value": "#FFFFFF",
      "group": "白色當「材質」而非前景（2026-08-13 v1.8.0 新增）",
      "description": "焦點環的間隙（讓 ink 環在深淺底都跳得出來）。深色主題下必須跟著底走，否則變亮環"
    },
    "--switch-off": {
      "value": "#D5D7DC",
      "group": "白色當「材質」而非前景（2026-08-13 v1.8.0 新增）",
      "description": "switch 關閉軌道。⚠️ 這是全庫唯一的冷灰硬值，暖色主題下一眼看得出不屬於那一派（warm 實測）"
    },
    "--switch-thumb": {
      "value": "#FFFFFF",
      "group": "白色當「材質」而非前景（2026-08-13 v1.8.0 新增）",
      "description": "switch 滑塊。它是「浮在軌道上的旋鈕」，不是文字前景"
    },
    "--r-drawer": {
      "value": "24px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "抽屜/大型浮動面板"
    },
    "--r-menu": {
      "value": "20px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "下拉選單容器、確認 modal"
    },
    "--r-card": {
      "value": "18px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "表格卡片/內容卡"
    },
    "--r-input": {
      "value": "14px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "輸入框、popover"
    },
    "--r-fieldcard": {
      "value": "14px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "欄位卡片（⚠️ 與 --r-input 同值，見上方待觀察）"
    },
    "--r-btn": {
      "value": "12px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "按鈕、tabs 容器、搜尋框、分頁鈕、select trigger、menu option"
    },
    "--r-chip": {
      "value": "10px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "pill 多選 chip、虛線加號鈕"
    },
    "--r-tag": {
      "value": "8px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "小標籤 tag、tab、fx/mono badge"
    },
    "--r-check": {
      "value": "4px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "checkbox"
    },
    "--r-full": {
      "value": "999px",
      "group": "圓角階層（大→小；同類元件一律取同級）",
      "description": "switch 軌、頭像、full pill"
    },
    "--sp-2": {
      "value": "2px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "極貼合：tab 之間、icon 與計數"
    },
    "--sp-4": {
      "value": "4px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "標籤與控件、badge 內縮"
    },
    "--sp-6": {
      "value": "6px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "按鈕內 icon 與字、pill 內距"
    },
    "--sp-8": {
      "value": "8px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "控件之間的預設間距（最常用）"
    },
    "--sp-10": {
      "value": "10px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "卡內小區塊"
    },
    "--sp-12": {
      "value": "12px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "表格儲存格左右、卡片內距小號（最常用）"
    },
    "--sp-14": {
      "value": "14px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "按鈕左右內距"
    },
    "--sp-16": {
      "value": "16px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "卡片內距"
    },
    "--sp-20": {
      "value": "20px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "卡片內距大號、區塊之間"
    },
    "--sp-24": {
      "value": "24px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "抽屜/面板內距"
    },
    "--sp-32": {
      "value": "32px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "頁面區段之間"
    },
    "--sp-48": {
      "value": "48px",
      "group": "間距階梯（2026-08-10 新增）",
      "description": "空狀態內距、大留白區塊"
    },
    "--h-input": {
      "value": "48px",
      "group": "控件高度階層",
      "description": "文字輸入"
    },
    "--h-btn": {
      "value": "42px",
      "group": "控件高度階層",
      "description": "按鈕、搜尋框、分頁鈕、表格勾選命中盒"
    },
    "--h-select": {
      "value": "38px",
      "group": "控件高度階層",
      "description": "select/combobox trigger、卡內小輸入、虛線加號鈕"
    },
    "--h-tab": {
      "value": "34px",
      "group": "控件高度階層",
      "description": "tab（坐在 --ds-tabs-pad 的軌道裡）"
    },
    "--h-icon": {
      "value": "34px",
      "group": "控件高度階層",
      "description": "icon 鈕（2026-08-11 v1.3.0 從 --h-tab 分家，見下方 coarse 段）"
    },
    "--h-seg": {
      "value": "33px",
      "group": "控件高度階層",
      "description": "segmented chip"
    },
    "--h-chip": {
      "value": "28px",
      "group": "控件高度階層",
      "description": "pill 多選 chip"
    },
    "--h-row": {
      "value": "58px",
      "group": "控件高度階層",
      "description": "表格列/表頭"
    },
    "--h-bar": {
      "value": "66px",
      "group": "控件高度階層",
      "description": "抽屜 header/footer"
    },
    "--ds-tabs-pad": {
      "value": "4px",
      "group": "控件高度階層",
      "description": "tabs 軌道內距。恆等式：--h-tab + 2×--ds-tabs-pad ＝ --h-btn（同列同高）"
    },
    "--ds-badge-h": {
      "value": "22px",
      "group": "控件高度階層",
      "description": "狀態標籤膠囊高（.ds-badge。非控件，不隨 coarse 放大）"
    },
    "--hit-min": {
      "value": "44px",
      "group": "命中盒（不是視覺尺寸階）",
      "description": "觸控最小命中高度（WCAG 2.5.5／2.5.8）"
    },
    "--side-w": {
      "value": "216px",
      "group": "應用外殼版面常數（2026-08-13 v1.9.0 新增）",
      "description": "側欄寬（桌機）"
    },
    "--side-w-framed": {
      "value": "248px",
      "group": "應用外殼版面常數（2026-08-13 v1.9.0 新增）",
      "description": "深色外框版面下的側欄寬"
    },
    "--side-w-drawer": {
      "value": "240px",
      "group": "應用外殼版面常數（2026-08-13 v1.9.0 新增）",
      "description": "≤820 抽屜寬（實測值，比桌機略寬：抽屜是唯一導覽，不必為內容讓位）"
    },
    "--aux-w": {
      "value": "292px",
      "group": "應用外殼版面常數（2026-08-13 v1.9.0 新增）",
      "description": "兩欄詳情版面的右側輔助欄"
    },
    "--ds-sticky-top": {
      "value": "0px",
      "group": "應用外殼版面常數（2026-08-13 v1.9.0 新增）",
      "description": "黏頂偏移（2026-08-14 v1.13.0）＝黏頂元素要讓開的高度＝它上方所有已 sticky 的東西。 ⚠️ **預設 0，這是刻意的**：庫目前沒有頂欄元件（`.ds-appshell` 只有側欄與 main）， 所以「沒有東西擋著」才是庫的預設狀態；給非 0 預設會逼每個採用者先寫一次覆寫。 ⚠️ **覆寫要掛在容器上，不要掛 :root**——同一支 app 在不同斷點會有不同值。 權限申請就是實例：≤820 頂欄在文件流內（偏移 53／觸控 57），≥821 頂欄改 absolute 退出文件流（偏移 0）。掛 :root 表達不出這件事。 .ds-main{ --ds-sticky-top:calc(6px + var(--h-btn) + 6px + 1px); } @media (min-width:821px){ .ds-main{ --ds-sticky-top:0px; } } ⚠️ **它不是「頂欄高度」**，兩者是不同的東西：≥821 那個情境裡頂欄仍然有高度，但偏移是 0。 不要把 min-height 與本 token 共用一顆。"
    },
    "--fs-page": {
      "value": "27px",
      "group": "字級階層",
      "description": "2026-08-10 新增：頁標題自成一階。原本頁標題與 modal 標題共用 19px， 頁面因此沒有錨點——19 vs 內文 14＝1.36× 落差，掃過去「什麼都差不多大」。 參考基準：DesignMD 大標 36 vs 內文 16＝2.25×。這裡取 26/14＝1.86×， 兼顧「內部工具不喧鬧」與「要有一個明確的視覺入口」。 ⚠️ v1.14.0（2026-08-17）warm 併入庫預設：26→27px、字距 -.015em→-.008em（放鬆感，字距不收那麼緊）。"
    },
    "--fw-page": {
      "value": "700",
      "group": "字級階層",
      "description": "頁標題（內容區的 h1）"
    },
    "--ls-page": {
      "value": "-.008em",
      "group": "字級階層",
      "description": "大字收緊（warm 起收得比之前鬆）"
    },
    "--fs-title": {
      "value": "19px",
      "group": "字級階層",
      "description": null
    },
    "--fw-title": {
      "value": "700",
      "group": "字級階層",
      "description": "modal／抽屜標題"
    },
    "--fs-panel": {
      "value": "17.5px",
      "group": "字級階層",
      "description": null
    },
    "--fw-panel": {
      "value": "700",
      "group": "字級階層",
      "description": "抽屜/面板標題"
    },
    "--fs-app": {
      "value": "16px",
      "group": "字級階層",
      "description": "2026-08-12 v1.5.2 新增：app shell 這一階。 起因＝theme-lab 的側欄（品牌名／導覽圖示）需要 16，而階梯上 14 與 17.5 之間是空的。 為什麼不借現成的兩階：**14 撐不起 app 名**（跟導覽項目同級，掃過去沒有階層）， **17.5 是「抽屜／面板標題」的語意**，借來當側欄品牌名會讓那一階的意思變模糊 （同一個值同時代表兩種角色，就是階梯開始失效的起點）。 ⚠️ **2026-08-13 更新：側欄已於 v1.9.0 進庫（`.ds-appshell`／`.ds-side`），這一階 自此有了正式的元件歸屬，不再是「token 先於元件存在」的狀態。** 但用途仍限 app shell 的品牌名與導覽，不要外借（外借就會變成第二個「沒有語意的中間值」）。"
    },
    "--fw-app": {
      "value": "700",
      "group": "字級階層",
      "description": "app shell：側欄品牌名、導覽圖示"
    },
    "--fs-body": {
      "value": "14px",
      "group": "字級階層",
      "description": "內文、輸入值"
    },
    "--fs-section": {
      "value": "13.5px",
      "group": "字級階層",
      "description": null
    },
    "--fw-section": {
      "value": "600",
      "group": "字級階層",
      "description": "section 標題"
    },
    "--fs-label": {
      "value": "13px",
      "group": "字級階層",
      "description": null
    },
    "--fw-label": {
      "value": "600",
      "group": "字級階層",
      "description": "欄位 label、tab、按鈕"
    },
    "--fs-sub": {
      "value": "12px",
      "group": "字級階層",
      "description": "小 label、pill chip"
    },
    "--fs-hint": {
      "value": "11.5px",
      "group": "字級階層",
      "description": "hint、badge、副說明"
    },
    "--fs-micro": {
      "value": "11px",
      "group": "字級階層",
      "description": "fx chip、nav 副標"
    },
    "--fs-num-lg": {
      "value": "28px",
      "group": "數字展示階（2026-08-14 v1.13.0 新增，使用者拍板）",
      "description": "KPI 主數字"
    },
    "--fs-num-md": {
      "value": "18px",
      "group": "數字展示階（2026-08-14 v1.13.0 新增，使用者拍板）",
      "description": "合計列金額、單據頭金額"
    },
    "--fs-num-sm": {
      "value": "15px",
      "group": "數字展示階（2026-08-14 v1.13.0 新增，使用者拍板）",
      "description": "卡內 inset 統計值"
    },
    "--ls-num": {
      "value": "-.02em",
      "group": "數字展示階（2026-08-14 v1.13.0 新增，使用者拍板）",
      "description": "大號數字收緊（比 --ls-page 的 -.008em 再緊：數字字面比中文窄，同樣字距看起來會鬆； v1.14.0 warm 併入後 --ls-page 變鬆，兩者差距比之前更大，本值不隨之聯動——理由不變）"
    },
    "--sh-card": {
      "value": "0 6px 26px rgba(27,29,34,.10)",
      "group": "陰影",
      "description": "內容卡"
    },
    "--sh-pop": {
      "value": "0 10px 28px rgba(27,29,34,.15),0 2px 8px rgba(27,29,34,.09)",
      "group": "陰影",
      "description": "popover"
    },
    "--sh-menu": {
      "value": "0 14px 36px rgba(27,29,34,.17),0 3px 10px rgba(27,29,34,.10)",
      "group": "陰影",
      "description": "下拉選單（白底靠陰影跳出）"
    },
    "--backdrop": {
      "value": "rgba(27,29,34,.48)",
      "group": "陰影",
      "description": "modal/drawer 遮罩"
    },
    "--sans": {
      "value": "-apple-system,BlinkMacSystemFont,\"PingFang TC\",\"Noto Sans TC\",\"Microsoft JhengHei\",sans-serif",
      "group": "字體",
      "description": null
    },
    "--mono": {
      "value": "ui-monospace,\"SF Mono\",Menlo,Consolas,monospace",
      "group": "字體",
      "description": null
    },
    "--t-fast": {
      "value": ".12s ease",
      "group": "動效",
      "description": null
    },
    "--t-med": {
      "value": ".18s ease",
      "group": "動效",
      "description": null
    },
    "--z-base": {
      "value": "0",
      "group": "疊層階梯（2026-08-11 新增）",
      "description": "一般內容"
    },
    "--z-sticky": {
      "value": "100",
      "group": "疊層階梯（2026-08-11 新增）",
      "description": "黏頂工具列、表頭、批次操作列"
    },
    "--z-nav": {
      "value": "200",
      "group": "疊層階梯（2026-08-11 新增）",
      "description": "側欄、頂欄、行動版抽屜遮罩"
    },
    "--z-popover": {
      "value": "1000",
      "group": "疊層階梯（2026-08-11 新增）",
      "description": "popover、tooltip、通知面板"
    },
    "--z-select": {
      "value": "1500",
      "group": "疊層階梯（2026-08-11 新增）",
      "description": "select 展開選單（必須蓋過 popover：它常開在 popover 內）"
    },
    "--z-drawer": {
      "value": "1800",
      "group": "疊層階梯（2026-08-11 新增）",
      "description": "抽屜與其遮罩（遮罩 1800／本體 1900）"
    },
    "--z-modal": {
      "value": "2000",
      "group": "疊層階梯（2026-08-11 新增）",
      "description": "modal／dialog"
    },
    "--z-toast": {
      "value": "2100",
      "group": "疊層階梯（2026-08-11 新增）",
      "description": "第八階（2026-08-11 v1.3.0 新增）：toast 必須蓋過對話框。 理由是硬的——對話框裡的動作失敗時會 toast 錯誤訊息（DS.confirm／DS.dialog 的 onConfirm 回 false 那條路徑），toast 若與 modal 同階，就會被後掛上 body 的遮罩壓在底下＝使用者看不到失敗原因。"
    },
    "--bp-sm": {
      "value": "640px",
      "group": "斷點（2026-08-11 新增；2026-08-24 v1.15.0 由 3 階改 4 階）",
      "description": null
    },
    "--bp-md": {
      "value": "820px",
      "group": "斷點（2026-08-11 新增；2026-08-24 v1.15.0 由 3 階改 4 階）",
      "description": null
    },
    "--bp-lg": {
      "value": "992px",
      "group": "斷點（2026-08-11 新增；2026-08-24 v1.15.0 由 3 階改 4 階）",
      "description": null
    },
    "--bp-xl": {
      "value": "1200px",
      "group": "斷點（2026-08-11 新增；2026-08-24 v1.15.0 由 3 階改 4 階）",
      "description": null
    }
  },
  "pointerCoarse": {
    "--h-btn": "44px",
    "--h-select": "44px",
    "--h-icon": "44px",
    "--h-tab": "40px",
    "--ds-tabs-pad": "2px",
    "--h-seg": "40px",
    "--h-chip": "32px"
  },
  "breakpoints": {
    "--bp-sm": "640px",
    "--bp-md": "820px",
    "--bp-lg": "992px",
    "--bp-xl": "1200px"
  },
  "controlScale": {
    "rows": {
      "form": {
        "height": "--h-input",
        "radius": "--r-input",
        "font": "--fs-body",
        "members": [
          ".ds-input",
          ".ds-field > .ds-select .ds-select-trigger"
        ],
        "note": "表單欄位：一欄一列、不與按鈕並排。這是本庫的預設階，不是 lg 變體。"
      },
      "toolbar": {
        "height": "--h-btn",
        "radius": "--r-btn",
        "font": "--fs-label",
        "members": [
          ".ds-btn",
          ".ds-search",
          ".ds-tabs",
          ".ds-input-md",
          ".ds-select-md"
        ],
        "note": "工具列／篩選列：tabs、搜尋、篩選輸入、篩選下拉、動作按鈕並排的那一列。"
      },
      "dense": {
        "height": "--h-select",
        "radius": "--r-btn",
        "font": "--fs-label",
        "members": [
          ".ds-input-sm",
          ".ds-select-trigger",
          ".ds-dashed-btn",
          ".ds-btn-sm",
          ".ds-ecell"
        ],
        "note": "卡內密集區／可編輯表格。coarse 下與 toolbar 階同高（見上方警語）。"
      }
    },
    "frameworkAliases": {
      "sm": "dense",
      "md": "toolbar",
      "lg": "form"
    },
    "notScalable": [
      "--h-tab"
    ]
  }
}
