/* 純外觀的調整，沒有對應的 Quartz 設定可以做到。跟 navbar.css 一樣由
   inject-navbar.mjs 連進每一頁。 */

/* ── 關係圖：側邊欄只留一顆按鈕 ─────────────────────────────────────
   Graph 元件固定會渲染「常駐預覽畫布 + 一顆開啟彈窗的圖示按鈕」，沒有選項
   可以只要按鈕（見 quartz-community/graph 的 Graph.tsx）。所以把畫布收起來，
   再把那顆原本疊在畫布右上角的小圖示撐成一列有文字的按鈕。

   彈窗本身的內容由 configure-site.mjs 設定成 depth: 1，只畫第一層。

   兩件已知的小事：
   - 畫布只是 display:none，元素還在，所以每次換頁腳本仍會對著它跑一次
     render（寬度 0，看不到）。要真的省掉這一次計算就得動到 DOM，不值得。
   - 按鈕的 aria-label 是元件寫死的 "Global Graph"，CSS 改不到。讀螢幕的人
     聽到的仍是英文，而且字面上是「全站關係圖」——實際上已經只有一層了。 */
.graph > h3 {
  display: none;
}

.graph > .graph-outer {
  border: none;
  height: auto;
  margin: 0;
  overflow: visible;
}

.graph > .graph-outer > .graph-container {
  display: none;
}

.graph > .graph-outer > .global-graph-icon {
  position: static;
  display: flex;
  align-items: center;
  gap: 0.5em;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0.5rem 0.7rem;
  opacity: 1;
  border: 1px solid var(--lightgray);
  border-radius: 5px;
  font-family: inherit;
  font-size: 0.9rem;
  line-height: 1.2;
  text-align: left;
  color: var(--dark);
}

.graph > .graph-outer > .global-graph-icon > svg {
  width: 1em;
  height: 1em;
  flex: none;
}

.graph > .graph-outer > .global-graph-icon::after {
  content: "開啟關係圖";
}

/* ── 搜尋結果：卡片只留標題與標籤 ───────────────────────────────────
   結果卡的樣板是寫死的三段，沒有選項可以少掉任何一段（見
   quartz-community/search 的 search.inline.ts）：

     '<h3 class="card-title">'+title+'</h3>' + tags + '<p class="card-description">'+content+'</p>'

   內文摘要在這個站上特別喧賓奪主。截斷用的 highlight() 是先
   `content.split(/\s+/)` 再取 N 個 token 的視窗，中文與日文幾乎沒有空白，
   一整行就是一個 token，所以視窗一次吞掉整段整段——實測最長的一篇卡片吐出
   3101 字，佔全文 63%，把 30% 寬的結果欄變成一面文字牆。

   拿掉它不會失去「為什麼這筆會中」：搜尋已經是 title-only
   （見 base/patches/search-title-only.patch），命中一定在標題上，而標題本身
   就帶著 highlight（`title: et(e, i.title)`，不截斷）。內文則交給右側的預覽
   窗格，那裡是有排版的完整全文。

   中間那段標籤沒有動到，但它平常不會出現：`tags` 是 `Ze(e.substring(1), i.tags)`
   算出來的，也就是拿「查詢字串去掉第一個字」去比對，只有 `#標籤` 模式才會有
   東西。所以一般搜尋的卡片實際上只剩標題，`#動詞` 這種查法才會在標題底下多
   一行 `#動詞/五段ⅰ`。

   三件已知的小事：
   - 只是 display:none，`et(e, i.content, true)` 每次按鍵仍會對每一筆結果的
     全文跑一次截斷計算。最長 4901 字、一次最多 8 筆，量不出來，不值得為它
     去改 base image 裡的外掛原始碼。
   - 「沒有結果」那張卡是 `<a class="result-card no-match"><h3>…</h3><p>…</p></a>`，
     它的 <p> 沒有 class，所以 "Try another search term?" 不會被一起藏掉。
   - 卡片變矮之後，「動詞」這種 8 筆的查詢一次全部看得到，結果欄不再需要捲動。 */
.result-card > .card-description {
  display: none;
}
