.book-finder { position:relative; min-width:0; width:min(360px,100%); align-self:start; font:14px/1.5 system-ui,sans-serif; }
.book-finder-label { display:grid; gap:6px; color:#e9d6b3; font-size:12px; font-weight:600; }
.book-finder input { width:100%; min-height:44px; padding:10px 13px; border:1px solid #80633b; border-radius:9px; background:#17120b; color:#f4e5cb; font:inherit; }
.book-finder input::placeholder { color:#b5a68f; opacity:1; }
.book-finder input:focus-visible { outline:2px solid #efc573; outline-offset:3px; }
.book-finder-results { position:absolute; top:calc(100% + 8px); inset-inline-end:0; z-index:80; width:min(540px,calc(100vw - 32px)); max-height:min(55dvh,480px); overflow:auto; padding:12px; border:1px solid #80633b; border-radius:12px; background:#19130c; box-shadow:0 18px 48px #0008; }
.book-finder-status { margin:0 0 8px; color:#d3c2a7; font-size:12px; }
.book-finder-status:empty { display:none; }
.book-finder-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; padding:12px 4px; border-top:1px solid #e0b77325; }
.book-finder-row strong { display:block; color:#f1d69e; font-size:14px; font-weight:600; }
.book-finder-row small { display:block; color:#bcaf9b; margin-top:4px; }
.book-finder-actions { display:flex; align-items:center; gap:6px; }
.book-finder-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:7px 10px; border:1px solid #d5b06c55; border-radius:7px; color:#f1d69e; text-decoration:none; white-space:nowrap; }
.book-finder-actions a:hover { background:#e4bd6f18; }
.book-finder-actions a:focus-visible { outline:2px solid #efc573; outline-offset:2px; }
[data-chapter-finder] { width:100%; padding:10px 12px; flex-shrink:0; }
#toc a[hidden],.book-finder-results[hidden] { display:none!important; }
@media(max-width:700px){#volumes .section-heading { flex-wrap:wrap;gap:10px; }#volumes .book-finder { width:100%; }.book-finder input{font-size:16px}.book-finder-row{grid-template-columns:1fr}.book-finder-actions{justify-content:flex-start}}
