:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f8f7f4;--surface:#fff;--surface-muted:#f0eee9;--text:#1c1b19;--muted:#6b6862;--border:#ddd9d2;--accent:#1f5c4a;--accent-contrast:#fff;--available:#1d6b3c;--available-bg:#dff3e6;--unavailable:#9a3412;--unavailable-bg:#fde8dd;--shadow:0 1px 2px #1c1b1914, 0 6px 18px #1c1b190f;background:var(--bg);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#141514;--surface:#1e201f;--surface-muted:#272a28;--text:#f2f1ed;--muted:#a5a29a;--border:#353936;--accent:#7fc8ad;--accent-contrast:#10221c;--available:#8fe0b0;--available-bg:#173526;--unavailable:#ffb48c;--unavailable-bg:#3c2216;--shadow:0 1px 2px #0000004d, 0 8px 24px #00000040}}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button{font:inherit;color:inherit}code{background:var(--surface-muted);border-radius:4px;padding:.1rem .35rem;font-size:.9em}.page{max-width:1200px;margin:0 auto;padding:1.25rem 1rem 3rem}.site-header{border-bottom:1px solid var(--border);flex-direction:column;gap:.75rem;margin-bottom:1.25rem;padding-bottom:1.25rem;display:flex}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:700}h1{margin:.15rem 0 0;font-size:clamp(1.8rem,5vw,2.6rem);line-height:1.05}.refresh-note{color:var(--muted);margin:0;font-size:.9rem}.refresh-note strong{color:var(--text);font-weight:600}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.controls{flex-direction:column;gap:.75rem;margin-bottom:1rem;display:flex}.search-field input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:999px;padding:.65rem .9rem}.search-field input:focus-visible,.sort-controls select:focus-visible,.sort-controls button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.sort-controls{flex-wrap:wrap;align-items:end;gap:.6rem;display:flex}.sort-controls label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.78rem;font-weight:600;display:flex}.sort-controls select,.sort-controls button{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:8px;padding:.5rem .75rem}.sort-controls button{cursor:pointer}.header-status{flex-direction:column;gap:.35rem;display:flex}.crawler-health{color:var(--muted);align-items:center;gap:.4rem;margin:0;font-size:.82rem;display:flex}.crawler-dot{background:var(--muted);border-radius:999px;flex:none;width:.5rem;height:.5rem}.crawler-health.is-ok .crawler-dot{background:var(--available)}.crawler-health.is-warn .crawler-dot{background:var(--unavailable)}.result-count{color:var(--muted);margin:0 0 .9rem;font-size:.9rem}.status{color:var(--muted);padding:1rem 0}.status-error{color:var(--unavailable)}.status-error button{border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;margin-top:.5rem;padding:.45rem .9rem}.scroll-sentinel{height:1px}.book-grid{grid-template-columns:repeat(auto-fill,minmax(138px,1fr));gap:1rem .85rem;margin:0;padding:0;list-style:none;display:grid}.book-card{border-radius:8px;flex-direction:column;gap:.35rem;width:100%;display:flex;position:relative}.book-card-open{z-index:1;cursor:pointer;background:0 0;border:0;border-radius:8px;width:100%;padding:0;position:absolute;inset:0}.book-card-open:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.book-card-body{flex-direction:column;gap:.35rem;display:flex}.book-card-badges{z-index:2;flex-wrap:wrap;align-items:center;gap:.3rem;display:inline-flex;position:relative}.cover-image,.cover-placeholder{aspect-ratio:300/455;background:var(--surface-muted);width:100%;box-shadow:var(--shadow);object-fit:cover;border-radius:6px;display:block}.cover-placeholder{border:1px dashed var(--border);color:var(--muted);background-image:linear-gradient(135deg, var(--surface-muted), var(--surface));place-items:center;font-family:Georgia,Times New Roman,serif;font-size:clamp(2rem,8vw,3.4rem);font-weight:600;display:grid}.book-card:hover .cover-image,.book-card:hover .cover-placeholder{transition:transform .12s ease-out;transform:translateY(-2px)}.book-card-title{margin-top:.25rem;font-size:.94rem;font-weight:650;line-height:1.25}.book-card-author{color:var(--muted);font-size:.82rem;line-height:1.3}.book-card-meta{flex-wrap:wrap;align-items:center;gap:.3rem;margin-top:.1rem;display:flex}.book-card-meta .badge{padding:.15rem .45rem;font-size:.68rem}.book-card-holds{color:var(--muted);font-size:.74rem;font-weight:600}.book-card-rating{color:var(--text);flex-wrap:wrap;align-items:center;gap:.25rem;font-size:.78rem;font-weight:650;display:flex}.book-card-rating-count{color:var(--muted);font-weight:500}.detail-dialog{border:1px solid var(--border);background:var(--surface);width:min(880px,100vw - 1.5rem);max-height:min(90vh,900px);color:var(--text);border-radius:14px;padding:0;overflow:auto;box-shadow:0 24px 80px #00000059}.detail-dialog::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0c0c0c8c}.detail-close{z-index:1;float:right;border:1px solid var(--border);background:var(--surface);cursor:pointer;border-radius:999px;width:2.4rem;height:2.4rem;margin:.6rem .6rem 0 0;font-size:1.4rem;line-height:1;position:sticky;top:.6rem}.detail-layout{gap:1.25rem;padding:1.1rem;display:grid}.detail-cover{max-width:220px;margin:0 auto}.detail-main h2{margin:.4rem 0 .2rem;font-size:clamp(1.4rem,4vw,2rem);line-height:1.15}.detail-author{color:var(--muted);margin:0 0 .75rem;font-size:1rem}.detail-badges{flex-wrap:wrap;gap:.45rem;margin-bottom:.4rem;display:flex}.badge{font:inherit;letter-spacing:.02em;border:0;border-radius:999px;padding:.2rem .6rem;font-size:.76rem;font-weight:700;display:inline-block}button.badge{cursor:pointer}.badge-available{color:var(--available);background:var(--available-bg)}.badge-unavailable,.badge-low-sample,.badge-unmatched{color:var(--unavailable);background:var(--unavailable-bg)}.badge-unmatched{background:var(--surface-muted);color:var(--muted)}.badge-group{flex-wrap:wrap;align-items:center;gap:.3rem;display:inline-flex}.explanation-wrapper{align-items:center;display:inline-flex;position:relative}.explanation-popover{z-index:20;border:1px solid var(--border);background:var(--surface);width:max-content;max-width:min(18rem,100vw - 2rem);color:var(--text);box-shadow:var(--shadow);letter-spacing:normal;text-align:left;border-radius:8px;padding:.55rem .7rem;font-size:.82rem;font-weight:500;line-height:1.45;display:none;position:absolute;top:calc(100% + .4rem);left:0}.explanation-popover.is-open{display:block}.info-hint{border:1px solid var(--accent);width:1.15rem;height:1.15rem;color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:999px;place-items:center;padding:0;font-size:.68rem;font-weight:800;line-height:1;display:inline-grid}.info-hint:focus-visible,.badge:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.detail-section{border-top:1px solid var(--border);margin-top:.9rem;padding-top:.9rem}.detail-section h3{letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:0 0 .4rem;font-size:.78rem}.detail-heading-row{align-items:center;gap:.4rem;margin-bottom:.4rem;display:flex}.detail-heading-row h3{margin:0}.detail-section p{margin:0 0 .4rem;line-height:1.55}.circulation-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.5rem;margin:0;display:grid}.circulation-grid div{background:var(--surface-muted);border-radius:8px;padding:.5rem .55rem}.circulation-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.7rem}.circulation-grid dd{margin:.15rem 0 0;font-size:1.25rem;font-weight:700}.enrichment-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.5rem;margin:0 0 .4rem;display:grid}.enrichment-grid div{background:var(--surface-muted);border-radius:8px;padding:.5rem .55rem}.enrichment-grid dt{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.7rem}.enrichment-grid dd{overflow-wrap:anywhere;margin:.15rem 0 0;font-weight:700}.detail-link{color:var(--accent);text-underline-offset:2px;font-weight:700;text-decoration:underline}.detail-link:hover{filter:brightness(1.08)}.detail-link:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.chip-list{flex-wrap:wrap;gap:.35rem;margin:0;padding:0;list-style:none;display:flex}.chip{border:1px solid var(--border);background:var(--surface-muted);border-radius:999px;padding:.18rem .55rem;font-size:.8rem}.chip-subject{border-style:solid;border-color:var(--accent);background:0 0}.muted{color:var(--muted)}.detail-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:1rem;padding-top:1rem;display:flex}.detail-footer p{margin:0;font-size:.82rem}.detail-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.copy-link{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:.55rem 1rem;font-weight:700}.copy-link:hover{background:var(--surface-muted)}.libib-link{background:var(--accent);color:var(--accent-contrast);border-radius:999px;padding:.55rem 1rem;font-weight:700;text-decoration:none;display:inline-block}.libib-link:hover{filter:brightness(1.08)}@media (width>=640px){.page{padding:2rem 1.5rem 4rem}.site-header{flex-direction:row;justify-content:space-between;align-items:flex-end}.controls{flex-direction:row;align-items:end;gap:1rem}.search-field{flex:1}.sort-controls{flex-wrap:nowrap}.book-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1.4rem 1.1rem}.detail-layout{grid-template-columns:220px minmax(0,1fr);gap:1.6rem;padding:1.6rem}.detail-cover{margin:0}}.filters{border:1px solid var(--border);background:var(--surface);border-radius:12px;flex-direction:column;gap:.85rem;margin-bottom:1rem;padding:.9rem 1rem;display:flex}.filters-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.filters-title{color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:.78rem}.filters-toggle{color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.4rem;padding:.1rem .2rem;display:inline-flex}.filters-chevron{font-size:.7rem;transition:transform .12s ease-out;display:inline-block}.filters-chevron.is-open{transform:rotate(90deg)}.filters-body{flex-direction:column;gap:.85rem;display:flex}.filters-body[hidden]{display:none}.filters-summary{color:var(--muted);align-items:center;gap:.6rem;font-size:.82rem;display:flex}.clear-filters{border:1px solid var(--border);background:var(--surface-muted);cursor:pointer;border-radius:999px;padding:.25rem .65rem;font-size:.8rem}.clear-filters:hover{border-color:var(--accent);color:var(--accent)}.filter-field{color:var(--muted);flex-direction:column;gap:.3rem;font-size:.78rem;font-weight:600;display:flex}.filter-field input{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);font:inherit;border-radius:8px;padding:.55rem .85rem}.filter-group{border:0;min-width:0;margin:0;padding:0}.filter-group legend{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.35rem;padding:0;font-size:.72rem;font-weight:700}.filter-options{flex-wrap:wrap;gap:.4rem .8rem;display:flex}.filter-options[hidden]{display:none}.facet-toggle{border:1px solid var(--border);background:var(--surface-muted);width:100%;color:var(--text);text-align:left;cursor:pointer;border-radius:8px;flex-wrap:wrap;align-items:baseline;gap:.5rem;margin-bottom:.45rem;padding:.4rem .65rem;font-size:.85rem;display:flex}.facet-toggle:hover{border-color:var(--accent)}.facet-toggle-action{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin-left:auto;font-size:.75rem;font-weight:700}.filter-option{cursor:pointer;align-items:center;gap:.3rem;font-size:.88rem;display:inline-flex}.filter-option input,.filter-toggle input{width:1rem;height:1rem;accent-color:var(--accent)}.filter-option-count{color:var(--muted);font-size:.75rem}.filter-options-subjects{max-height:13rem;padding-right:.35rem;overflow-y:auto}.author-filter{flex-direction:column;gap:.5rem;display:flex}.author-selection{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.author-chips{flex:auto}.author-chip{background:var(--surface);color:var(--text);font:inherit;cursor:pointer;align-items:center;gap:.15rem;display:inline-flex}.author-chip:hover,.author-chip:focus-visible{border-color:var(--accent);color:var(--accent)}.filter-options-authors{flex-direction:column;align-items:flex-start;max-height:14rem;padding-right:.35rem;overflow-y:auto}.filter-range{align-items:flex-end;gap:.75rem}.clear-group{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:999px;padding:.4rem .7rem;font-size:.78rem;font-weight:600}.clear-group:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.clear-group:disabled{opacity:.45;cursor:default}.filter-range .filter-field{width:8.5rem}.filter-range .filter-field input{padding:.45rem .6rem}.rating-cell{flex-wrap:wrap;align-items:center;gap:.15rem;display:inline-flex}.filter-empty{margin:0;font-size:.85rem}.filter-toggle{cursor:pointer;align-items:center;gap:.45rem;font-size:.9rem;font-weight:600;display:inline-flex}.filter-field input:focus-visible,.clear-filters:focus-visible,.clear-group:focus-visible,.filters-toggle:focus-visible,.facet-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.results-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.6rem;margin-bottom:.9rem;display:flex}.results-toolbar .result-count{margin:0}.view-toggle{border:1px solid var(--border);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.view-toggle button{color:var(--muted);cursor:pointer;background:0 0;border:0;padding:.4rem .9rem;font-size:.85rem;font-weight:600}.view-toggle button[aria-pressed=true]{background:var(--accent);color:var(--accent-contrast)}.view-toggle button:focus-visible{outline:3px solid var(--accent);outline-offset:-3px}.book-table{border-collapse:collapse;width:100%}.book-table thead{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.book-table tbody{gap:.75rem;display:grid}.book-table tr{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:12px;padding:.75rem .85rem;display:block}.book-table td{text-align:right;justify-content:space-between;align-items:center;gap:1rem;padding:.28rem 0;display:flex}.book-table td:before{content:attr(data-label);color:var(--muted);letter-spacing:.06em;text-transform:uppercase;text-align:left;font-size:.72rem;font-weight:700}.book-table td.cell-title{text-align:left;padding:0 0 .55rem;display:block}.book-table td.cell-title:before{content:none}.table-title-button{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:.7rem;width:100%;padding:0;display:flex}.table-title-button:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:8px}.table-cover{flex:none;width:48px}.table-cover .cover-image,.table-cover .cover-placeholder{width:48px;height:auto;box-shadow:none;border-radius:4px;font-size:1.1rem}.table-title-text{font-size:.98rem;font-weight:650;line-height:1.25}@media (width>=760px){.book-table{border-collapse:collapse;display:table}.book-table thead{clip:auto;white-space:normal;width:auto;height:auto;margin:0;display:table-header-group;position:static;overflow:visible}.book-table tbody{display:table-row-group}.book-table tr{box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:table-row}.book-table th{border-bottom:1px solid var(--border);color:var(--muted);letter-spacing:.06em;text-align:left;text-transform:uppercase;padding:.55rem .75rem;font-size:.72rem}.book-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.6rem .75rem;display:table-cell}.book-table td:before{content:none}.book-table td.cell-title{padding:.6rem .75rem}.book-table tbody tr:hover{background:var(--surface-muted)}.table-cover,.table-cover .cover-image,.table-cover .cover-placeholder{width:40px}}.site-footer{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-top:2.5rem;padding-top:1.1rem;font-size:.85rem;display:flex}.site-footer p{margin:0}.site-footer a,.back-link{color:var(--accent);text-underline-offset:2px;font-weight:700;text-decoration:underline}.site-footer a:hover,.back-link:hover{filter:brightness(1.08)}.status-page .site-header{align-items:flex-start}.status-section{border:1px solid var(--border);background:var(--surface);box-shadow:var(--shadow);border-radius:14px;margin-bottom:1.5rem;padding:1rem}.status-section-head{margin-bottom:.9rem}.status-section-head h2{margin:0;font-size:1.25rem}.status-section-head p{margin:.25rem 0 0;font-size:.86rem}.run-summary{border:1px solid var(--border);background:var(--surface-muted);border-radius:12px;padding:.9rem}.run-summary.is-live{border-color:var(--accent)}.run-summary-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.6rem;margin-bottom:.75rem;display:flex}.run-kicker{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:.72rem;font-weight:700}.run-trigger{color:var(--muted);margin:0;font-size:.82rem}.run-summary-meta,.panel-meta{gap:.55rem;margin:0 0 .75rem;display:grid}.run-summary-meta dt,.panel-meta dt,.run-counts dt,.count-summary dt{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:.68rem;font-weight:700}.run-summary-meta dd,.panel-meta dd,.run-counts dd,.count-summary dd{overflow-wrap:anywhere;margin:.1rem 0 0;font-size:.9rem;font-weight:650}.run-counts,.count-summary{flex-wrap:wrap;gap:.5rem;margin:0 0 .75rem;display:flex}.run-counts>div,.count-summary>div{border:1px solid var(--border);background:var(--surface);border-radius:8px;min-width:5.5rem;padding:.4rem .6rem}.run-status{letter-spacing:.03em;background:var(--surface-muted);color:var(--muted);border-radius:999px;flex:none;align-items:center;padding:.2rem .55rem;font-size:.72rem;font-weight:750;display:inline-flex}.run-status.is-ok{background:var(--available-bg);color:var(--available)}.run-status.is-partial,.run-status.is-running{background:var(--unavailable-bg);color:var(--unavailable)}.run-status.is-failed{background:var(--unavailable-bg);color:var(--unavailable);box-shadow:inset 0 0 0 1px var(--unavailable)}.run-error{color:var(--unavailable);overflow-wrap:anywhere;margin:.4rem 0 0;font-size:.85rem}.run-note,.run-finished,.run-history-end{color:var(--muted);margin:.4rem 0 0;font-size:.8rem}.run-history-title{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:1.1rem 0 .4rem;font-size:.82rem}.run-history-list{border-top:1px solid var(--border);margin:0;padding:0;list-style:none}.run-history-row{border-bottom:1px solid var(--border);padding:.65rem 0}.run-history-head{flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.82rem;display:flex}.run-history-head time{color:var(--muted)}.run-duration{color:var(--muted);font-variant-numeric:tabular-nums}.run-history-row .run-counts{margin:.5rem 0 0}.run-history-row .run-counts>div{padding:.3rem .5rem}.load-more-runs{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;margin-top:.8rem;padding:.5rem .9rem;font-weight:700}.load-more-runs:hover:not(:disabled){background:var(--surface-muted)}.load-more-runs:disabled{cursor:progress;opacity:.7}.status-panel{border:1px solid var(--border);background:var(--surface);border-radius:12px;margin-bottom:1rem;padding:.9rem}.status-panel h3{margin:0 0 .6rem;font-size:1rem}.sweep-progress-label{margin:0 0 .4rem;font-size:.9rem;font-weight:650}.sweep-progress{width:100%;height:.65rem;accent-color:var(--accent);margin-bottom:.8rem;display:block}.sweep-audit-link{margin:.4rem 0 0;font-size:.88rem}.sweep-audit-link a{color:var(--accent);font-weight:700}@media (width>=640px){.status-section{padding:1.25rem}.run-summary-meta,.panel-meta{grid-template-columns:repeat(3,minmax(0,1fr))}}
