.reader-search-results:empty { display: none; }
.reader-search-results { max-height: min(62vh, 650px); overflow-y: auto; margin: 12px 0 18px; padding: 4px; border: 1px solid #dfe8e2; border-radius: 9px; background: #f9fbf8; scrollbar-width: thin; }
.reader-search-summary { margin: 0; padding: 10px 9px; color: #52675b; font-size: 12px; font-weight: 700; line-height: 1.4; }
.reader-search-hit { padding: 11px 9px; border-top: 1px solid #e1e8e2; }
.reader-search-hit__open { display: block; width: 100%; padding: 0; border: 0; background: transparent; color: #14563d; cursor: pointer; text-align: left; font-size: 13px; font-weight: 800; line-height: 1.35; }
.reader-search-hit__open:hover, .reader-search-hit__open:focus-visible { text-decoration: underline; text-underline-offset: 2px; }
.reader-search-hit p { margin: 6px 0; color: #47594d; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
.reader-search-hit a { color: #14563d; font-size: 11px; font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.reader-search-more { width: 100%; padding: 11px; border: 0; border-top: 1px solid #dce6dc; background: #eaf3e9; color: #14563d; cursor: pointer; font-size: 12px; font-weight: 800; }
mark.reader-hit { padding: 0 2px; border-radius: 2px; background: #ffe7a6; color: inherit; box-shadow: 0 0 0 2px #ffe7a6; }
@media (min-width: 761px) and (max-width: 1120px) { .reader-toc { display: block; position: static; padding: 16px; margin-bottom: 18px; border: 1px solid #dfe4df; border-radius: 9px; background: #fff; } .reader-toc nav { display: none; } .reader-search-results { max-height: 340px; } }
@media (max-width: 760px) { .reader-search-results { max-height: none; } }
