.site-search-dialog {
  --search-bg: #faf7f0; --search-ink: #211b32; --search-muted: #766f82; --search-border: #e4ded5; --search-active: #eee7d8; --search-gold: #946b27;
  position: fixed; inset: 14vh 0 auto; width: min(680px, calc(100vw - 24px)); max-width: none; max-height: min(72dvh, 720px); margin: 0 auto; padding: 0;
  overflow: hidden; color: var(--search-ink); background: var(--search-bg); border: 1px solid var(--search-border); border-radius: 20px;
  box-shadow: 0 24px 100px #10091c40, 0 4px 20px #10091c20; font: 400 14px/1.5 Manrope, -apple-system, BlinkMacSystemFont, sans-serif;
}
html.dark .site-search-dialog { --search-bg: #1c1628; --search-ink: #f2ecdf; --search-muted: #b2a8c0; --search-border: #393044; --search-active: #302637; --search-gold: #dfbb73; }
.site-search-dialog[open] { display: flex; flex-direction: column; animation: site-search-in 140ms ease-out; }
.site-search-dialog::backdrop { background: #100b1e55; backdrop-filter: blur(7px); }
.site-search-dialog *, .site-search-dialog *::before { box-sizing: border-box; }
.site-search-dialog__bar { display: flex; flex-shrink: 0; align-items: center; gap: 12px; padding: 14px 18px; border-bottom: 1px solid var(--search-border); }
.site-search-dialog__icon { position: relative; flex: 0 0 18px; width: 18px; height: 18px; margin: 0 6px 3px 2px; border: 2px solid var(--search-gold); border-radius: 50%; }
.site-search-dialog__icon::after { content: ""; position: absolute; width: 8px; height: 2px; right: -6px; bottom: -3px; background: var(--search-gold); transform: rotate(45deg); border-radius: 2px; }
.site-search-dialog .site-search-dialog__input { width: 0; min-width: 0; flex: 1; height: 44px; border: 0; padding: 0; outline: none; background: transparent; color: var(--search-ink); font: inherit; font-size: 18px; box-shadow: none; }
.site-search-dialog__input::placeholder { color: var(--search-muted); opacity: 1; }
.site-search-dialog__input::-webkit-search-cancel-button { display: none; }
.site-search-dialog button { flex-shrink: 0; cursor: pointer; color: var(--search-muted); background: transparent; font: inherit; }
.site-search-dialog button:focus-visible, .site-search-dialog a:focus-visible { outline: 2px solid var(--search-gold); outline-offset: -2px; }
.site-search-dialog__clear, .site-search-dialog__close { min-width: 44px; min-height: 44px; border: 1px solid var(--search-border); border-radius: 10px; }
.site-search-dialog__clear { font-size: 22px !important; border: 0; }
.site-search-dialog__status { flex-shrink: 0; margin: 0; padding: 14px 22px 10px; color: var(--search-muted); font-size: 12px; }
.site-search-dialog__results { min-height: 0; overflow-y: auto; overscroll-behavior: contain; padding: 0 10px 10px; }
.site-search-dialog__result { display: flex; flex-direction: column; gap: 3px; padding: 13px 14px; margin: 2px 0; border-radius: 12px; color: var(--search-ink); text-decoration: none !important; }
.site-search-dialog__result[aria-selected="true"], .site-search-dialog__result:hover { color: var(--search-ink); background: var(--search-active); }
.site-search-dialog__category { color: var(--search-gold); font-size: 11px; }
.site-search-dialog__title { font-weight: 600; font-size: 15px; }
.site-search-dialog__description { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; color: var(--search-muted); font-size: 12px; }
.site-search-dialog__more { flex-shrink: 0; min-height: 44px; margin: 0 20px 10px; border: 1px solid var(--search-border); border-radius: 10px; }
.site-search-dialog__footer { display: flex; flex-shrink: 0; justify-content: space-between; gap: 12px; padding: 10px 22px; border-top: 1px solid var(--search-border); color: var(--search-muted); font-size: 11px; }
.site-search-dialog [hidden] { display: none !important; }
@keyframes site-search-in { from { opacity: 0; transform: translateY(-8px) scale(.99); } to { opacity: 1; transform: none; } }
@media (max-width: 639px) {
  .site-search-dialog { top: max(12px, env(safe-area-inset-top)); max-height: calc(100dvh - 24px); border-radius: 16px; }
  .site-search-dialog__bar { padding: 10px 12px; gap: 8px; }
  .site-search-dialog .site-search-dialog__input { font-size: 16px; }
  .site-search-dialog__footer { display: none; }
  .site-search-dialog__icon { display: none; }
}
@media (prefers-reduced-motion: reduce) { .site-search-dialog[open] { animation: none; } }
