/* 站内搜索：顶栏按钮 + 弹出面板。
   首页 / 新闻页属于「能搜的东西很多」的场景，其余页面同样挂一个入口，
   保证任何地方都能一次点开。 */
.nav-search {
  display: inline-flex; align-items: center; gap: 6px;
  margin-left: 10px; padding: 3px 8px;
  border: 1px solid var(--line); border-radius: 4px;
  background: var(--card); color: var(--ink-soft);
  font: inherit; font-size: 13.5px; line-height: 1.4; cursor: pointer;
}
.nav-search:hover { background: #f0ece4; color: var(--ink); }
.nav-search svg { flex: none; opacity: .75; }
/* 窄屏只留图标（文字由 aria-label 提供） */
@media (max-width: 900px) {
  .nav-search { margin-left: 8px; padding: 4px 6px; }
  .nav-search-text { display: none; }
}

.search-panel {
  position: fixed; inset: 0; z-index: 60;
  display: flex; justify-content: center; align-items: flex-start;
  padding: 8vh 16px 16px; background: rgba(27, 36, 48, .38);
}
.search-panel[hidden] { display: none; }
.search-box {
  width: min(720px, 100%); max-height: 78vh; overflow: hidden;
  display: flex; flex-direction: column;
  background: var(--card); border: 1px solid var(--line); border-radius: 8px;
  box-shadow: 0 12px 40px rgba(27, 36, 48, .18);
}
.search-field {
  display: flex; align-items: center; gap: 8px;
  padding: 12px 14px; border-bottom: 1px solid var(--line);
}
.search-field .search-icon { color: var(--muted); flex: none; }
.search-field input {
  flex: 1 1 auto; border: 0; outline: 0; background: transparent;
  font: inherit; font-size: 17px; color: var(--ink); min-width: 0;
}
.search-field input::-webkit-search-cancel-button { display: none; }
.search-close {
  border: 0; background: transparent; color: var(--muted);
  font-size: 22px; line-height: 1; cursor: pointer; padding: 0 2px;
}
.search-close:hover { color: var(--ink); }
.search-status {
  margin: 0; padding: 8px 16px 0; font-size: 13px; color: var(--muted);
}
.search-status:empty { display: none; }
.search-results {
  list-style: none; margin: 0; padding: 6px 0 4px;
  overflow-y: auto; overscroll-behavior: contain;
}
.search-results li { margin: 0; }
.search-results a {
  display: block; padding: 9px 16px;
  border-left: 2px solid transparent;
}
.search-results a:hover,
.search-results a[aria-selected="true"] {
  background: #f6f3ec; border-left-color: var(--accent);
}
.search-results .r-title { display: block; font-size: 15.5px; color: var(--ink); }
.search-results .r-sub {
  display: block; margin-top: 2px;
  font-size: 12.5px; color: var(--muted);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.search-results mark { background: #fbe8b5; color: inherit; padding: 0 1px; }
.search-hint {
  margin: 0; padding: 6px 16px 10px; border-top: 1px solid var(--line);
  font-size: 12px; color: var(--muted);
}
@media (max-width: 560px) {
  .search-panel { padding: 4vh 10px 10px; }
  .search-field input { font-size: 16px; } /* ≥16px 才不会触发 iOS 自动放大 */
  .search-hint { display: none; }
}
