.library-search { padding: 22px; margin: 0 0 18px; border: 1px solid #dbc5a7; border-radius: 16px; background: #fff8e9; }
.library-search h2 { margin: 0 0 8px; font-size: 1.5rem; }
.library-search p { margin: 0 0 18px; font-size: .88rem; }
.library-search-fields { display: grid; grid-template-columns: minmax(0, 1fr) 155px; gap: 12px; }
.library-search label { display: block; margin-bottom: 6px; font-size: .85rem; font-weight: 800; }
.library-search input, .library-search select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #927e69; border-radius: 8px; color: #32252a; background: #fff; font: inherit; }
.library-search button { margin-top: 14px; }
.library-search button:disabled { opacity: .5; cursor: default; transform: none; box-shadow: none; }
.library-count { font-weight: 700; font-size: .85rem; }
.library-empty { padding: 20px; margin-bottom: 28px; border: 1px dashed #9c8370; border-radius: 12px; }
.library-terms { margin: 20px 0; }
.library-term { padding: 20px 0; border-bottom: 1px solid #e0d3c3; }
.library-term dt { font-weight: 800; font-size: 1.1rem; }
.library-term dt a { text-decoration-thickness: 1px; text-underline-offset: 4px; }
.library-term dd { margin: 10px 0 0; }
.library-term dd p { margin: 0; }
.library-jumps { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 14px 0; list-style: none; }
.library-jumps a { display: inline-block; padding: 6px 10px; border: 1px solid #d0b38e; border-radius: 8px; background: #fff6e5; text-decoration: none; font-size: .8rem; }
@media (max-width: 560px) {
  .library-search { padding: 16px; }
  .library-search-fields { grid-template-columns: minmax(0, 1fr); }
}
