/* Spec 72: 搜索结果区补充样式（main.css 缺 .search-result-tabs / .search-result-group-title，
   且 .search-keyword 红色报错式高亮在深色下观感差，此处覆盖为主题色高亮）。
   DOM 由 assets/js/search/local-search.js 动态渲染。 */

/* 从主题源 search.styl 剥离的项目受控字体适配：搜索输入框继承字体 */
.search-wrapper #search-input,
.search-wrapper input {
  font-family: inherit;
}

/* ---------- 类型 tab 栏：分段式圆角控件（全部/文章/页面/瞬间） ---------- */
.search-wrapper .search-result .search-result-tabs {
  display: flex;
  gap: 4px;
  overflow-x: auto;
  overscroll-behavior-x: contain;
  padding: 4px;
  margin: 8px 0;
  background: var(--block);
  border-radius: 12px;
}
.search-wrapper .search-result .search-result-tabs button {
  flex: 1 0 auto;
  white-space: nowrap;
  border: none;
  background: transparent;
  font-family: inherit;
  font-size: 0.8125rem;
  color: var(--text-p3);
  padding: 0.3rem 0.75rem;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease-out;
}
.search-wrapper .search-result .search-result-tabs button:hover {
  color: var(--text-p1);
}
.search-wrapper .search-result .search-result-tabs button.active {
  background: var(--card);
  color: var(--text-p1);
  font-weight: 500;
}

/* ---------- 全部视图分组标题（文章/页面/瞬间）：meta 级小字 ---------- */
.search-wrapper .search-result .search-result-list .search-result-group-title {
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--text-p3);
  padding: 0 0.25rem;
}

/* ---------- 命中关键词：主题色高亮，覆盖 main.css 红色报错式 ---------- */
.search-wrapper .search-result .search-keyword {
  color: var(--theme);
  background: var(--theme-a20);
  border-bottom: none;
  filter: none;
  font-weight: 600;
  border-radius: 4px;
  padding: 0 2px;
}

/* ---------- RAG 问答：搜索结果顶部的轻量入口 ---------- */
.search-ai-ask {
  margin: 10px 0;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--block);
}
.search-ai-ask-button,
.search-ai-ask-submit,
.search-ai-ask-byok {
  min-height: 44px;
  border: 0;
  border-radius: 999px;
  font: inherit;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}
.search-ai-ask-button {
  display: flex;
  width: 100%;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  background: transparent;
  color: var(--text-p2);
  text-align: left;
}
.search-ai-ask-button:hover { background: var(--card); color: var(--theme); }
.search-ai-ask-button svg { width: 1.1em; height: 1.1em; }
.search-ai-ask-form { margin-top: 8px; }
.search-ai-ask-input {
  display: block;
  width: 100%;
  box-sizing: border-box;
  margin: 6px 0;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  outline: none;
  background: var(--card);
  color: var(--text-p1);
  font: inherit;
  resize: vertical;
}
.search-ai-ask-input:focus { border-color: var(--theme); box-shadow: 0 0 0 1px var(--theme-a20); }
.search-ai-ask-actions { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.search-ai-ask-byok { padding: 0 8px; background: transparent; color: var(--text-p3); font-size: 0.75rem; }
.search-ai-ask-byok:hover { color: var(--theme); }
.search-ai-ask-submit { padding: 0 15px; background: var(--theme); color: var(--card); font-size: 0.8125rem; }
.search-ai-ask-submit:hover { opacity: 0.85; }
.search-ai-ask-submit:disabled { cursor: wait; opacity: 0.55; }
.search-ai-ask-result {
  margin-top: 10px;
  padding: 10px;
  border-top: 1px solid var(--line);
  color: var(--text-p2);
  font-size: 0.8125rem;
  line-height: 1.7;
}
.search-ai-ask-result p { margin: 0 0 8px; white-space: pre-wrap; }
.search-ai-ask-result.is-error { color: var(--text-p3); }
.search-ai-ask-citations-title { margin-top: 8px; color: var(--text-p3); font-size: 0.75rem; }
.search-ai-ask-citations { display: grid; gap: 4px; margin-top: 4px; }
.search-ai-ask-citations a { color: var(--theme); font-size: 0.75rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* AI 问答与搜索结果共享原生 dialog 的有限高度。 */
.search-dialog .search-ai-ask {
  flex: 0 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.search-dialog .search-no-result { flex: 1 1 auto; }
