/* tina4press's search modal rules, copied from its theme.css by scripts/build-home.mjs */
.tp-search-results {
  scrollbar-width: thin; scrollbar-color: var(--tp-border-2) transparent;
}
.tp-search-foot kbd {
  background: var(--tp-bg-mute); border: 1px solid var(--tp-border); border-radius: 4px;
  padding: 1px 5px; font-size: 11px; font-family: var(--tp-mono); color: var(--tp-fg-3);
}
.tp-search-modal[hidden] { display: none; }
.tp-search-modal {
  position: fixed; inset: 0; z-index: 50; background: hsl(var(--tp-shadow) / .5);
  backdrop-filter: blur(2px);
  display: flex; align-items: flex-start; justify-content: center; padding-top: 12vh;
}
.tp-search-box {
  width: min(640px, 92vw); background: var(--tp-bg); border: 1px solid var(--tp-border-2);
  border-radius: 14px; box-shadow: 0 24px 64px hsl(var(--tp-shadow) / .45); overflow: hidden;
}
#tp-search-input {
  width: 100%; border: none; border-bottom: 1px solid var(--tp-border); background: none;
  color: var(--tp-fg); font-size: 17px; padding: var(--sp-4) var(--sp-5); outline: none; font-family: var(--tp-font);
}
.tp-search-results { max-height: 56vh; overflow-y: auto; }
.tp-sr { display: block; padding: 11px var(--sp-5); border-bottom: 1px solid var(--tp-border); }
.tp-sr:hover, .tp-sr.tp-sel { background: var(--tp-bg-soft); text-decoration: none; }
.tp-sr.tp-sel { box-shadow: inset 3px 0 0 var(--tp-brand); }
.tp-sr-title { font-weight: 600; color: var(--tp-fg); font-size: 14px; }
.tp-sr-crumb { color: var(--tp-fg-3); font-size: 12px; }
.tp-sr-ctx { color: var(--tp-fg-2); font-size: 13px; margin-top: 2px; }
.tp-sr-ctx mark { background: var(--tp-sel); color: inherit; border-radius: 3px; padding: 0 2px; }
.tp-search-foot { padding: var(--sp-2) var(--sp-4); font-size: 12px; color: var(--tp-fg-3); display: flex; gap: var(--sp-3); }
.tp-search-empty { padding: var(--sp-5); color: var(--tp-fg-3); text-align: center; }
