/* ════════════════════════════════════════════════════════════
   2. 全站共用：基本排版、頂欄、內頁版型、頁尾
   ════════════════════════════════════════════════════════════ */

/* ── 基本排版 ── */
*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);margin:0;
  font:var(--fs-body)/1.8 "Noto Sans TC","PingFang TC","Microsoft JhengHei",system-ui,sans-serif}
a{color:var(--accent)}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 32px}
.serif{font-family:"Noto Serif TC","Songti TC","PMingLiU",serif}
.lede{font-size:var(--fs-lede);line-height:1.95;margin:0 0 30px;max-width:40em}

/* ── 頂欄 ── */
.top{position:sticky;top:0;z-index:30;background:var(--bg);border-top:4px solid var(--topbar);border-bottom:1px solid var(--line)}
[id]{scroll-margin-top:96px}   /* 頂欄固定在上方：跳到錨點（章節、目錄、see 連結）時，目標停在頂欄下方而不是被蓋住 */
.top .wrap{display:flex;align-items:center;gap:6px 18px;min-height:60px;padding-block:8px}
.brand{text-decoration:none;color:var(--ink);line-height:1.25}
.brand b{display:block;font-family:"Noto Serif TC",serif;font-size:var(--fs-xl);font-weight:700}
.brand small{display:block;font-family:"IBM Plex Mono",ui-monospace,Consolas,monospace;font-size:var(--fs-mono);letter-spacing:.12em;color:var(--muted)}
.top nav{display:flex;gap:4px;margin-left:auto}
.top nav a{font-size:var(--fs-nav);text-decoration:none;padding:6px 11px;color:var(--muted);white-space:nowrap}
.top nav a:hover{color:var(--ink)}
.top nav a.on{color:var(--ink);font-weight:600;box-shadow:inset 0 -2px 0 var(--accent)}   /* 目前所在的頁 */
.hsearch{display:flex;align-items:center;margin-left:18px;border:1px solid var(--line);border-radius:20px;background:var(--panel);padding:2px 4px 2px 14px}
.hsearch input{border:0;background:none;color:var(--ink);font:inherit;font-size:var(--fs-sm);width:200px;outline:none}
.hsearch button,.theme-t{display:grid;place-items:center;width:30px;height:30px;border:0;background:none;color:var(--muted);cursor:pointer;border-radius:50%;padding:0}
.hsearch button:hover,.theme-t:hover{color:var(--ink);background:var(--unkbg)}
.hsearch svg,.theme-t svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-t{margin-left:6px;width:34px;height:34px}
/* 淺色顯示月亮、深色顯示太陽 */
.ic-sun{display:none}
:root[data-theme="dark"] .ic-sun{display:block}
:root[data-theme="dark"] .ic-moon{display:none}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .ic-sun{display:block}
  :root:not([data-theme="light"]) .ic-moon{display:none}
}

/* ── 內頁版型（研究領域、公司與供應鏈）── */
.page{padding:48px 0 72px}
.crumb{font-size:var(--fs-xs);color:var(--muted)}
.crumb a{color:var(--muted)}
.page h1{font-size:clamp(30px,3.4vw,40px);line-height:1.25;margin:8px 0 18px}
/* 佔位框：還沒有內容的區塊 */
.ph{border:1px dashed var(--line);border-radius:var(--r);background:var(--panel);color:var(--muted);font-size:var(--fs-sm);padding:28px 20px;margin:18px 0;text-align:center}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.grid .ph{margin:0;min-height:130px;display:grid;place-items:center}

/* ── 互動外觀：每一種只用在一個用途 ── */
/* 鍵盤焦點：一律可見 */
:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--r)}
/* 文章連結：重點色＋底線 */
.art{color:var(--accent);font-weight:600;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.art:hover{text-decoration-thickness:2px}
/* 靜態標籤：低對比、沒有外框，不可點 */
.tag{display:inline-block;font-size:var(--fs-pill);line-height:1.6;color:var(--muted);background:var(--unkbg);border-radius:var(--r);padding:0 6px;white-space:nowrap}
/* 證據標記：全站用同一套語意，靠文字＋形狀區分，不只靠顏色
   fact 已確認（實心深綠）/said 公司說法（橘底）/plan 計畫中（虛線框）/unknown 未知（灰）/inf 研究者推論（虛線灰框） */
.ev{display:inline-flex;align-items:center;font-size:var(--fs-pill);line-height:1.6;border-radius:var(--r);padding:0 6px;white-space:nowrap;border:1px solid transparent}
.ev b{font-weight:700}
.ev-fact{background:var(--accent);color:var(--panel)}
.ev-said{background:var(--warnbg);color:var(--warn)}
.ev-plan{border:1px dashed var(--warn);color:var(--warn)}
.ev-unknown{background:var(--unkbg);color:var(--muted)}
.ev-inf{border:1px dashed var(--unk);color:var(--muted)}
/* 內文寬度：長篇說明不要一行跨整個畫面 */
.measure{max-width:40em}

/* ── 來源抽屜（assets/js/drawer.js）：點出處時從右邊滑出，貼在頂欄下方 ── */
.cp-srcbtn,.sc-srcbtn{cursor:pointer}
.cp-srcbtn[aria-expanded="true"],.sc-srcbtn[aria-expanded="true"]{color:var(--accent);font-weight:700}
.dr{position:fixed;right:0;bottom:0;z-index:25;width:min(460px,100vw);background:var(--panel);border-left:1px solid var(--line);
  box-shadow:-12px 0 28px rgba(0,0,0,.08);transform:translateX(100%);transition:transform .18s ease-out;display:flex;flex-direction:column}
.dr[hidden]{display:none}
.dr.on{transform:none}
@media (prefers-reduced-motion:reduce){ .dr{transition:none} }
.dr-close{position:absolute;top:8px;right:10px;width:36px;height:36px;border:0;background:none;color:var(--muted);font-size:24px;line-height:1;cursor:pointer;border-radius:50%}
.dr-close:hover{color:var(--ink);background:var(--unkbg)}
.dr-body{overflow-y:auto;padding:22px 24px 40px;font-size:var(--fs-sm);line-height:1.75;outline:none}
.dr-prov{margin:0 40px 2px 0;font-size:var(--fs-xs);color:var(--muted)}
.dr-prov b{color:var(--ink);font-weight:600}
.dr-title{margin:0 40px 4px 0;font-size:var(--fs-lede);line-height:1.45;font-weight:700}
.dr-go{margin:0 0 6px;text-align:right}
.dr section{padding:14px 0 4px;border-top:1px solid var(--line);margin-top:10px}
.dr h3{margin:0 0 8px;font-size:var(--fs-xs);font-weight:700;color:var(--muted);letter-spacing:.06em;display:flex;gap:8px;align-items:center}
.dr-kv{margin:0}
.dr-kv div{display:grid;grid-template-columns:5em minmax(0,1fr);gap:10px;padding:4px 0}
.dr-kv dt{color:var(--muted);font-size:var(--fs-xs);padding-top:2px}
.dr-kv dd{margin:0}
.dr-proves h4{margin:8px 0 2px;font-size:var(--fs-xs);color:var(--muted)}
.dr-proves ul{margin:0 0 6px;padding-left:1.1em;font-size:var(--fs-xs);line-height:1.7}
.dr-proves table{border-collapse:collapse;width:100%}
.dr-proves thead{display:none}
.dr-proves td{vertical-align:top;padding:6px 8px 6px 0;border-bottom:1px dashed var(--line);font-size:var(--fs-xs);line-height:1.7}
.dr-proves td:first-child{white-space:nowrap}
.dr-uses{list-style:none;margin:0;padding:0}
.dr-uses button{display:flex;gap:8px;align-items:baseline;width:100%;text-align:left;font:inherit;font-size:var(--fs-xs);color:var(--ink);background:none;border:0;border-bottom:1px dashed var(--line);padding:6px 0;cursor:pointer}
.dr-uses button:hover{color:var(--accent)}
/* 抽屜開著時，內文左緣不動、右邊被蓋到才往內縮：位置由 assets/js/drawer.js 量好後設定 */

/* ── 頁尾 ── */
.sitefoot{border-top:1px solid var(--line);background:var(--panel)}
.sitefoot .wrap{padding-block:22px 34px;display:grid;gap:10px;font-size:var(--fs-sm);color:var(--muted)}
.sitefoot b{color:var(--ink)}
.stamp{font-size:var(--fs-xs)}
.legendk{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.legendk>span{display:inline-flex;align-items:center;gap:6px}
/* 來源標籤 */
.mk{display:inline-block;font-size:var(--fs-pill);font-weight:700;line-height:1.5;padding:0 7px;border-radius:20px}
.mk-acad,.mk-ind{background:none;color:var(--muted);font-weight:500;padding:0;border-radius:0;letter-spacing:.02em}
.mk-vendor{background:var(--warnbg);color:var(--warn)}
.mk-inf{background:var(--unkbg);color:var(--muted);border:1px dashed var(--unk)}

/* ── 窄桌面與平板橫向（861–1140px）：導覽不斷行，搜尋框縮窄，副標太長時平均成兩行 ── */
@media (min-width:861px) and (max-width:1140px){
  .hsearch input{width:130px}
  .brand small{text-wrap:balance}
}

/* ── 手機 ── */
@media (max-width:860px){
  .hsearch{display:none}
}
@media (max-width:640px){
  .wrap{padding:0 16px}
  .top .wrap{flex-direction:column;align-items:flex-start;gap:2px;padding-block:8px 0;position:relative}
  .top nav{width:100%;margin-left:-11px;overflow-x:auto;scrollbar-width:none}
  .top nav a{flex:none}
  .theme-t{position:absolute;top:10px;right:12px}
  .brand{padding-right:44px}                                  /* 讓出右上角深淺色按鈕的位置 */
  .brand small{letter-spacing:.04em;text-wrap:balance}        /* 副標太長時字距收一點；要換行就兩行平均 */
}
