.library-search-form {
  display: flex;
  align-items: center;
  gap: .35rem;
  margin: 0;
}
.library-search-form input { min-width: 0; }
.library-search-form > button { flex: none; display: grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0; }
#continue-grid {
  position: relative;
  grid-template-columns: none;
  grid-auto-flow: column;
  grid-auto-columns: clamp(155px, 34vw, 236px);
  overflow-x: auto;
  scroll-snap-type: x proximity;
  padding-bottom: .5rem;
}
#continue-grid > .film-card { scroll-snap-align: start; }
#report-panel { margin-top: .6rem; }
#report-panel summary { cursor: pointer; color: var(--muted, #bcbcc5); }
#report-form, .library-filters, .library-result-nav {
  display: flex;
  gap: .6rem;
  align-items: end;
  flex-wrap: wrap;
  margin-block: .8rem;
}
#report-form label, .library-filters label { display: grid; gap: .25rem; }
.library-filters label { flex: 1 1 9rem; min-width: 0; }
.library-filters label:first-child { flex-basis: 15rem; }
.library-filters input { width: 100%; }
.library-result-list { display: grid; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.library-result-list li { display: flex; align-items: center; gap: .5rem; padding: .45rem; border: 1px solid #393940; border-radius: .45rem; }
.library-result-list li > a { display: flex; flex: 1; align-items: center; gap: .65rem; min-width: 0; color: inherit; text-decoration: none; overflow-wrap: anywhere; }
.library-result-list li > button { flex: none; }
.library-result-list img { width: clamp(60px, 17vw, 112px); height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: .25rem; }
.library-result-list small { display: block; color: var(--muted, #bcbcc5); }
#saved-status:empty { display: none; }
#catalog-filter-dialog { box-sizing: border-box; width: min(760px, calc(100% - 24px)); max-height: 90dvh; padding: 0; border: 1px solid #414149; border-radius: .75rem; background: #19191f; color: #fff; }
#catalog-filter-dialog::backdrop { background: #000a; }
#catalog-filter-dialog form { margin: 0; padding: 1rem; }
.filter-heading, .filter-actions { display: flex; align-items: center; gap: .6rem; justify-content: space-between; }
.filter-heading h2 { margin: 0; }
.filter-fields { display: grid; gap: .7rem; grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr)); }
.filter-fields fieldset { min-width: 0; padding: .65rem; border: 1px solid #414149; border-radius: .4rem; }
.filter-fields input[type=search] { width: 100%; font-size: 16px; }
.filter-options { max-height: 9rem; overflow: auto; margin: .4rem 0; }
.filter-options label { display: flex; align-items: center; gap: .5rem; min-height: 32px; overflow-wrap: anywhere; }
.filter-options input { flex: none; width: 1.05rem; height: 1.05rem; margin: 0; }
.filter-actions { position: sticky; bottom: 0; padding: .75rem 0; background: #19191f; }
.catalog-view-switch button[data-active=true] { border-color: #ff7381; color: #ff8995; }
