/* Search overlay styling */
.no-scroll { overflow: hidden; }
.search-button { background: transparent; border: 0; font-size: 1.1rem; cursor: pointer; }
.search-overlay { position: fixed; inset: 0; display: none; z-index: 9999; }
.search-overlay[aria-hidden="false"] { display: block; }
.search-overlay-backdrop { position: absolute; inset: 0; background: rgba(0,0,0,0.55); }
.search-overlay-panel { position: relative; margin: 6vh auto; max-width: 900px; background: var(--bg-color,#fff); color: var(--text-color,#1a1b26); border-radius: 10px; box-shadow: 0 10px 40px rgba(0,0,0,.25); padding: 16px 16px 8px; }
.search-overlay-header { display: flex; gap: 8px; align-items: center; }
#search-input { flex: 1; padding: 12px 14px; font-size: 1rem; border: 1px solid rgba(0,0,0,0.1); border-radius: 8px; }
.search-close { background: transparent; border: 0; font-size: 22px; cursor: pointer; }
.search-stats { margin: 10px 2px; font-size: .9rem; color: #666; }
.search-results { list-style: none; margin: 0; padding: 0; max-height: 60vh; overflow: auto; }
.search-result { padding: 12px 8px; border-top: 1px solid rgba(0,0,0,0.06); }
.search-result a { text-decoration: none; color: inherit; }
.search-result .meta { font-size: .85rem; color: #666; margin-top: 4px; }
.search-result p { margin: 6px 0 0; color: #333; font-size: .95rem; }

@media (prefers-color-scheme: dark) {
  .search-overlay-panel { background: #1e1f2b; color: #e5e7eb; }
  #search-input { background: #11121a; color: #e5e7eb; border-color: rgba(255,255,255,0.12); }
  .search-result p { color: #cbd5e1; }
  .search-result .meta { color: #9aa3b2; }
}

