/* --- поиск по базе: кнопка в шапке, поле на главной, окно-диалог --- */
.kb-search-open { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px 8px 12px; border-radius: 9px; border: 1px solid var(--journal-edge);
  background: var(--journal-soft); color: var(--journal-muted); font: 600 13px var(--font-body); cursor: pointer; white-space: nowrap; transition: border-color .15s, color .15s; }
.kb-search-open:hover { border-color: var(--journal-accent); color: var(--journal-ink); }
.kb-search-open kbd, .kb-search-hero kbd { padding: 1px 6px; border-radius: 5px; border: 1px solid var(--journal-edge); font: 600 11px var(--font-body); color: var(--journal-muted); }
.kb-search-hero { display: flex; align-items: center; gap: 12px; width: min(100%, 520px); margin: 0 0 24px; padding: 14px 16px; border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--journal-accent) 40%, var(--journal-edge)); background: color-mix(in srgb, var(--journal-panel) 80%, transparent);
  color: var(--journal-muted); font: 500 15px var(--font-body); text-align: left; cursor: text; box-shadow: 0 10px 40px #0004; transition: border-color .2s, box-shadow .2s; }
.kb-search-hero span { flex: 1; }
.kb-search-hero:hover { border-color: var(--journal-accent); box-shadow: 0 10px 44px color-mix(in srgb, var(--journal-accent) 18%, transparent); }
.kb-search-icon { flex: none; }
.kb-search { width: min(640px, calc(100vw - 24px)); max-height: min(70vh, 640px); margin: 12vh auto auto; padding: 0; border-radius: 16px; border: 1px solid var(--journal-edge);
  background: var(--journal-panel); color: var(--journal-ink); box-shadow: 0 30px 90px #000a; overflow: hidden; }
.kb-search[open] { display: flex; flex-direction: column; animation: kb-pop .18s ease-out; }
.kb-search::backdrop { background: #07050dcc; backdrop-filter: blur(4px); }
@keyframes kb-pop { from { opacity: 0; transform: translateY(-8px) scale(.98); } }
.kb-search-box { display: flex; align-items: center; gap: 10px; padding: 14px 16px; border-bottom: 1px solid var(--journal-edge); color: var(--journal-muted); }
.kb-search-box input { flex: 1; min-width: 0; border: 0; outline: 0; background: transparent; color: var(--journal-ink); font: 500 17px var(--font-body); }
.kb-search-box input::-webkit-search-cancel-button { display: none; }
.kb-search-close { padding: 3px 8px; border-radius: 6px; border: 1px solid var(--journal-edge); background: transparent; color: var(--journal-muted); font: 600 11px var(--font-body); cursor: pointer; }
.kb-search ul { list-style: none; margin: 0; padding: 6px; overflow: hidden auto; overscroll-behavior: contain; }
.kb-search li { min-width: 0; }
.kb-search li a { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 12px; border-radius: 9px; color: var(--journal-ink); text-decoration: none; }
.kb-search li b { font-weight: 600; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kb-search li small { flex: none; color: var(--journal-muted); font-size: 12px; }
.kb-search li[aria-selected="true"] a, .kb-search li a:hover { background: var(--journal-soft); box-shadow: inset 2px 0 0 var(--journal-accent); }
.kb-search-status { margin: 0; padding: 0 18px; color: var(--journal-muted); font-size: 14px; }
.kb-search-status:not(:empty) { padding: 16px 18px 20px; }
html[data-faction="elyos"] .kb-search li b[style] { filter: brightness(.62) saturate(1.2); }
@media (max-width: 760px) { .kb-search-open span, .kb-search-open kbd { display: none; } .kb-search { margin-top: 8px; max-height: 80vh; } }
@media (pointer: coarse) { .kb-search-hero kbd { display: none; } }
@media (prefers-reduced-motion: reduce) { .kb-search[open] { animation: none; } .kb-search-open, .kb-search-hero { transition: none; } }
/* фокус поля поиска — подсветкой всей строки, а не рамкой вокруг текста */
.kb-search-box input:focus-visible { outline: none; }
.kb-search-box:focus-within { box-shadow: inset 0 -2px 0 var(--journal-accent); color: var(--journal-accent); }

/* Поиск: заголовки разделов в выдаче, «Все результаты», форма на странице поиска */
.kb-search li.kb-search-group { padding: 10px 14px 4px; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--journal-muted); pointer-events: none; }
.kb-search li.kb-search-all a b { color: var(--journal-accent); }
.kb-search-page { display: flex; gap: 8px; max-width: 560px; margin: 14px 0 6px; }
.kb-search-page input { flex: 1; min-width: 0; padding: 10px 14px; border-radius: 10px; border: 1px solid var(--journal-edge); background: var(--journal-panel); color: var(--journal-ink); font: inherit; }
.kb-search-page input:focus-visible, .kb-search-page button:focus-visible { outline: 2px solid var(--journal-accent); outline-offset: 2px; }
.kb-search-page button { padding: 10px 16px; border-radius: 10px; border: 1px solid var(--journal-accent); background: color-mix(in srgb, var(--journal-accent) 18%, transparent); color: var(--journal-ink); font: inherit; cursor: pointer; }
