/* A full-width collection directory replaces the narrow, nested sidebar. */
.browser.library-browser { display:block; }
.collection-directory {
  color-scheme:light;
  --directory-ink:#302014; --directory-muted:#59412b; --directory-line:#b89a71;
  margin-bottom:1.5rem; border:1px solid var(--directory-line); border-radius:8px;
  background:#e4cba5; color:var(--directory-ink); overflow:hidden;
  box-shadow:0 6px 18px #08040238;
}
[data-room="wood"] .collection-directory {
  background-image:linear-gradient(#efd7b0eb,#e3c398f0),var(--wood-texture);
  background-size:auto,768px auto;
}
.collection-directory > summary {
  display:flex; align-items:center; justify-content:space-between; gap:1.5rem;
  padding:1.35rem 1.5rem; cursor:pointer; list-style:none;
}
.collection-directory > summary::-webkit-details-marker { display:none; }
.directory-heading { font:500 1.4rem/1.3 var(--display); }
.directory-heading > span { display:block; margin-top:.4rem; font:.875rem/1.5 var(--sans); color:var(--directory-muted); }
.directory-toggle { display:flex; align-items:center; gap:1rem; font:.875rem/1.4 var(--sans); flex-shrink:0; }
.directory-chevron { font:1.5rem/1 var(--sans); }
.collection-directory[open] .directory-chevron { transform:rotate(180deg); }
.collection-directory[open] .directory-closed-label,.collection-directory:not([open]) .directory-open-label { display:none; }
.directory-content { padding:0 1.5rem 1.25rem; }
.directory-tools { display:grid; grid-template-columns:minmax(0,1fr) minmax(200px,280px); gap:1.5rem; padding:1.25rem 0 1.5rem; border-top:1px solid var(--directory-line); }
.directory-tools label { font:500 .875rem/1.5 var(--sans); min-width:0; }
.directory-tools input,.directory-tools select { display:block; width:100%; min-width:0; height:48px; margin-top:.5rem; padding:.7rem .9rem; border:1px solid #ac885b; border-radius:5px; background:#f8ecd7; color:#302014; font:1rem/1.4 var(--sans); }
.directory-tools input::placeholder { color:#6c5134; opacity:1; }
.directory-tools select { padding-right:1.75rem; }
.directory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.collection-card {
  display:flex; align-items:center; justify-content:space-between; gap:.75rem; min-width:0; min-height:88px;
  padding:1rem; text-align:left; border:1px solid #bea17a; border-radius:5px;
  background:#f8ecd7b3; color:#302014; box-shadow:inset 0 1px #fff8e98c;
  transition:background .15s,border-color .15s;
}
.collection-card:hover { background:#fff1d9; border-color:#805834; }
.collection-card[aria-current="true"] { background:#49311f; color:#fff0d6; border-color:#49311f; box-shadow:inset 0 0 0 1px #d8b47875; }
.collection-card-copy { min-width:0; }
.collection-card-name { display:block; font:500 1rem/1.35 var(--sans); overflow-wrap:anywhere; }
.collection-card-language { display:block; margin-top:.4rem; font:.8125rem/1.4 var(--sans); color:#59412b; }
.collection-card-meta { flex:none; display:flex; flex-direction:column; align-items:flex-end; gap:.15rem; }
.collection-card-count { font:500 .9375rem/1.4 var(--sans); font-variant-numeric:tabular-nums; white-space:nowrap; }
.collection-card-unit { font:.75rem/1.4 var(--sans); color:#59412b; }
.collection-card[aria-current="true"] .collection-card-language,.collection-card[aria-current="true"] .collection-card-unit { color:#e2c6a1; }
.directory-footer { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding-top:1.25rem; font:.875rem/1.5 var(--sans); color:#59412b; }
.directory-more { min-height:44px; padding:.5rem .9rem; border:1px solid #a48359; border-radius:4px; background:transparent; color:#302014; font:500 .875rem/1.4 var(--sans); }
.directory-more:hover { background:#f8ecd7; }
.directory-empty { grid-column:1/-1; margin:0; padding:1rem 0; font:1rem/1.6 var(--sans); color:#59412b; }
.collection-directory :focus-visible { outline:3px solid #79502d; outline-offset:3px; }
.collection-directory > summary:focus-visible { outline-offset:-4px; }
.collection-card[aria-current="true"]:focus-visible { outline-color:#79502d; }
.library-browser .addr-bar { min-height:58px; }
@media(max-width:1100px) { .directory-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) {
  .directory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .directory-tools { grid-template-columns:minmax(0,1fr); gap:1rem; }
  .collection-directory > summary { padding:1.1rem; gap:1rem; }
  .directory-content { padding:0 1.1rem 1rem; }
  .directory-heading { font-size:1.2rem; }
  .directory-toggle { font-size:.8125rem; gap:.5rem; }
  .collection-card { padding:.8rem; min-height:94px; }
}
@media(max-width:420px) {
  .directory-grid { grid-template-columns:minmax(0,1fr); }
  .collection-card { min-height:78px; }
  .directory-footer { align-items:flex-start; flex-direction:column; gap:.5rem; }
  .directory-toggle .directory-open-label,.directory-toggle .directory-closed-label { display:none; }
}
