/* Library V1: isolated overrides, approved 1440 / 1360 layout. */
.hailang-library.library-page { background: #f2f7fb; color: #14243c; }
.hailang-library .page-main { padding: 20px 0 24px; }
.hailang-library .breadcrumb { font-size: 14px; margin: 0 0 22px; line-height: 20px; color: #738197; }
.hailang-library .page-heading { display: flex; align-items: center; justify-content: flex-start; gap: 24px; margin: 0 0 18px; min-height: 42px; }
.hailang-library .page-heading h1 { font-size: 28px; line-height: 40px; margin: 0; }
.hailang-library .page-lead { margin: 0; font-size: 14px; color: #738197; }
.hailang-library .filter-panel { background: white; border: 1px solid #e0eaf2; padding: 4px 23px 22px; }
.hailang-library .filter-row { min-height: 60px; padding: 10px 0; grid-template-columns: 80px minmax(0,1fr); border-color: #edf1f6; }
.hailang-library .filter-label { color: #738197; font-size: 14px; font-weight: 400; }
.hailang-library .filter-options { flex-wrap: wrap; gap: 8px 14px; }
.hailang-library .filter-options a,.hailang-library .filter-options a:first-child { min-width: 58px; min-height: 32px; padding: 4px 13px; font-size: 16px; line-height: 24px; }
.hailang-library .filter-options a:hover,.hailang-library .filter-options a.is-active { background: #087df0; color: white; }
.hailang-library .library-results { margin-top: 20px; }
.hailang-library .library-toolbar { min-height: 60px; padding: 0 23px; margin: 0 0 20px; gap: 22px; border-color: #e0eaf2; }
.hailang-library .library-sort-tabs { gap: 40px; align-self: stretch; }
.hailang-library .library-sort-tabs a { min-width: 0; height: 59px; padding: 0; border-radius: 0; border-bottom: 3px solid transparent; font-size: 16px; color: #738197; }
.hailang-library .library-sort-tabs a:hover,.hailang-library .library-sort-tabs a.is-active { color: #087df0; background: transparent; border-bottom-color: #087df0; }
.hailang-library .library-total { margin-left: auto; color: #738197; font-size: 14px; }
.hailang-library .library-reset { color: #087df0; font-size: 14px; white-space: nowrap; }
.hailang-library .library-book-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; padding: 0; }
.hailang-library .library-card { display: grid; grid-template-columns: 92px minmax(0,1fr); grid-template-rows: minmax(126px,max-content) 30px; gap: 8px 14px; padding: 17px 15px 0; min-height: 184px; border: 1px solid #e0eaf2; border-radius: 4px; background: white; box-shadow: none; }
.hailang-library .library-card .book-cover { width: 92px; height: 126px; margin: 0; border-radius: 1px; aspect-ratio: auto; }
.hailang-library .library-card .book-cover img { width: 100%; height: 100%; object-fit: cover; }
.hailang-library .library-card-body { min-width: 0; height: auto; padding: 0; overflow: hidden; }
.hailang-library .library-card .book-name { font-size: 17px; font-weight: 700; line-height: 24px; margin: 0 0 8px; white-space: normal; overflow-wrap: anywhere; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.hailang-library .library-card-author { color: #738197; font-size: 14px; line-height: 20px; margin: 0 0 10px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hailang-library .library-card-tags { flex-wrap: nowrap; gap: 10px; margin: 0 0 15px; height: 24px; }
.hailang-library .library-card-tags span { max-width: 85px; color: #087df0; background: #f0f7ff; border: 0; font-size: 13px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; display: block; line-height: 24px; padding: 0 8px; }
.hailang-library .library-card-tags span:empty { display: none; }
.hailang-library .library-card-tags small { font-size: 14px; color: #738197; line-height: 24px; white-space: nowrap; }
.hailang-library .library-detail { font-size: 14px; line-height: 20px; color: #087df0; }
.hailang-library .library-card-chapter { grid-column: 1 / -1; border-top: 1px solid #edf1f6; margin: 0; font-size: 14px; line-height: 29px; color: #738197; }
.hailang-library .library-empty { padding: 64px 24px; margin: 0; border: 1px solid #e0eaf2; background: white; color: #738197; text-align: center; }
.hailang-library .library-pagination { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-top: 28px; padding: 14px 23px; min-height: 66px; border: 1px solid #e0eaf2; border-radius: 4px; background: white; font-size: 14px; color: #738197; }
.hailang-library .pager { margin: 0; gap: 8px; }
.hailang-library .pager a,.hailang-library .pager span { height: 36px; min-width: 40px; border-color: #e0eaf2; }
.hailang-library .pager .on { background: #087df0; border-color: #087df0; color: white; }
@media (max-width: 1199px) { .hailang-library .library-book-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } .hailang-library .library-sort-tabs { gap: 20px; } }
@media (max-width: 900px) { .hailang-library .library-book-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } .hailang-library .library-toolbar { flex-wrap: wrap; gap: 12px; padding-bottom: 12px; } .hailang-library .library-total { margin-left: 0; } }
@media (max-width: 600px) {
  .hailang-library .page-main { padding-top: 16px; }
  .hailang-library .page-heading { display: block; margin-bottom: 16px; }
  .hailang-library .page-heading h1 { font-size: 24px; }
  .hailang-library .filter-panel { padding: 0 12px; }
  .hailang-library .filter-row { grid-template-columns: 44px minmax(0,1fr); }
  .hailang-library .filter-options { gap: 6px; }
  .hailang-library .filter-options a,.hailang-library .filter-options a:first-child { font-size: 14px; min-width: 42px; padding-inline: 8px; }
  .hailang-library .library-toolbar { padding-inline: 12px; }
  .hailang-library .library-sort-tabs { width: 100%; justify-content: space-between; gap: 10px; }
  .hailang-library .library-sort-tabs a { font-size: 14px; }
  .hailang-library .library-book-grid { grid-template-columns: minmax(0,1fr); gap: 12px; }
  .hailang-library .library-pagination { flex-wrap: wrap; padding: 12px; }
  .hailang-library .pager { width: 100%; order: 3; }
}
