/* Search stays inside the existing outline: no extra banner above the lesson. */
.reader-search { margin: 0 0 5px; min-width: 0; }
.reader-search-field { display: flex; align-items: center; gap: 3px; border: 1px solid #d5e2e9; border-radius: 7px; background: #fff; }
.reader-search-field:focus-within { outline: 2px solid #117985; outline-offset: 1px; }
.reader-search-field input[type=search] { flex: 1; min-width: 0; width: 100%; height: 36px; padding: 6px 9px; border: 0; background: transparent; outline: 0; font: inherit; font-size: 14px; box-shadow: none; }
.reader-search-field input[type=search]::-webkit-search-cancel-button { appearance: none; }
.reader-search-field button { flex: 0 0 28px; width: 28px; margin-right: 2px; font-size: 19px; }
.reader-search button { min-height: 28px; border: 0; border-radius: 5px; color: #175563; background: transparent; cursor: pointer; font-family: inherit; }
.reader-search button:hover { background: #eaf4f5; }
.reader-search button:focus-visible { outline: 2px solid #117985; outline-offset: 1px; }
.reader-search button:disabled { opacity: .48; cursor: default; }
.reader-search-options { display: flex; align-items: center; justify-content: space-between; gap: 4px; min-height: 27px; }
.reader-search-options > button { font-size: 10px; padding: 2px 1px; text-align: left; }
.reader-search-occurrences { display: flex; align-items: center; gap: 2px; font-size: 10px; white-space: nowrap; }
.reader-search-occurrences button { width: 24px; padding: 1px; }
.reader-search-summary { margin: 2px 0 5px; font-size: 11px; line-height: 1.35; color: #576d7a; }
.reader-search-results { display: grid; gap: 4px; padding: 2px; }
.reader-search .reader-search-result { display: block; width: 100%; text-align: left; padding: 7px 8px; border: 1px solid #e3eaee; line-height: 1.35; background: #fff; }
.reader-search-result[aria-current=step] { border-color: #83bdc2; background: #eaf4f5; }
.reader-search-result strong { display: block; color: #173d50; font-size: 12px; }
.reader-search-result small { display: block; margin: 3px 0; color: #667e8c; font-size: 10px; }
.reader-search-result .reader-search-excerpt { display: block; font-size: 11px; color: #405d6b; overflow-wrap: anywhere; }
.reader-search-results mark, #module-screen mark.reader-search-hit { background: #ffeb9a; color: #283c49; border-radius: 2px; padding: 0; }
#module-screen mark.reader-search-hit.is-current { background: #ffd35c; outline: 2px solid #c77700; outline-offset: 1px; }
.reader-search [hidden] { display: none !important; }
#module-fs-shell[data-compact="1"] .reader-search { display: none; }
#module-fs-shell[data-searching="1"] #module-fs-outline,
#module-fs-shell[data-searching="1"] .ref-fs-sidebar-tools { display: none; }
@media (max-width: 600px) {
  .reader-search-field input[type=search] { font-size: 16px; height: 36px; }
  .reader-search-options button, .reader-search-result { min-height: 32px; }
}
