/* Compact archive catalogue, scoped to the browse page; forms and uploads are unchanged. */
.vault-filter-dialog{box-sizing:border-box;width:min(440px,96vw);max-height:88dvh;padding:0;border:3px outset #eee;background:#e6e3e7;color:#2c1746;overflow:auto}
.vault-filter-dialog::backdrop{background:rgb(44 23 70 / 40%)}
.vault-filter-dialog #vault-filters{display:block!important;position:static!important;max-height:none;border:0;padding:18px}
.vault-filter-dialog footer{position:sticky;bottom:0;background:#e6e3e7;padding:12px;border-top:1px solid #2c1746;display:flex;justify-content:flex-end;gap:12px}
@media(max-width:900px){.vault-catalog #main #vault-filters{display:none!important}.vault-catalog #main .filter-toggle{display:inline-flex}.vault-catalog #main .vault-masthead{display:none}.vault-catalog #main .vault-search-toolbar{grid-template-columns:minmax(0,1fr) auto}.vault-catalog #main .vault-search-toolbar>label:first-child{grid-column:1/-1}}
.vault-catalog #main .vault-toolbar h1{margin:0;font:32px CangErYuMo,sans-serif}
.vault-catalog #main .archive-layout{grid-template-columns:210px minmax(0,1fr);gap:22px}
.vault-catalog #main .vault-filters{padding:14px;font-size:14px}
.vault-catalog #main .filter-chips{display:grid;grid-template-columns:1fr}
.vault-catalog #main .filter-chips button{text-align:left;padding:8px 12px}
.vault-catalog #main .vault-search-toolbar{display:grid;grid-template-columns:minmax(0,1fr) 135px auto;gap:10px;align-items:end;padding:14px;border:1px solid var(--tad-line);background:#fff;margin-bottom:14px}
.vault-catalog #main .vault-list-head{display:none}
.vault-catalog #main .submission-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));grid-auto-rows:max-content;align-content:start;gap:18px}
.vault-catalog #main .submission-card{display:flex;flex-direction:column;height:auto;max-height:none;min-width:0;margin:0;border:1px solid var(--tad-line);background:#fff;overflow:hidden;text-decoration:none}
.vault-catalog #main .submission-card:hover,.vault-catalog #main .submission-card:focus-visible{border-color:var(--tad-red);box-shadow:3px 3px 0 var(--tad-gray)}
.vault-catalog #main .submission-artwork{position:relative;aspect-ratio:3/4;flex-shrink:0;background:var(--tad-gray);overflow:hidden}
.vault-catalog #main .submission-cover{position:absolute;inset:0;display:block;width:100%;height:100%;max-height:none;margin:0;object-fit:contain}
.vault-catalog #main .submission-cover-placeholder{height:100%;padding:24px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(135deg,#f4f1f5 70%,#e6e3e7 70%);border-bottom:4px solid var(--tad-red)}
.vault-catalog #main .submission-cover-placeholder[hidden]{display:none}
.vault-catalog #main .submission-cover-placeholder strong{font:80px CangErYuMo,sans-serif;color:var(--tad-red)}
.vault-catalog #main .submission-cover-placeholder span{font:25px CangErYuMo,sans-serif;overflow-wrap:anywhere}
.vault-catalog #main .submission-body{display:flex;flex-direction:column;padding:14px;gap:9px;flex:1}
.vault-catalog #main .submission-code{display:inline-block;align-self:start;width:auto;writing-mode:horizontal-tb;padding:3px 7px;font-size:12px;min-height:0}
.vault-catalog #main .submission-body h3{margin:0;font:23px CangErYuMo,sans-serif;overflow-wrap:anywhere}
.vault-catalog #main .submission-body p{margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vault-catalog #main .submission-stats{margin-top:auto;padding-top:8px;border-top:1px solid var(--tad-gray);font-size:12px}
.vault-catalog #main .submission-grid>.tad-empty{grid-column:1/-1}
.vault-catalog #main .ranking-preview{margin-top:26px}
@media(max-height:800px) and (min-width:901px){.vault-catalog #main .submission-artwork{height:150px;aspect-ratio:auto}.vault-catalog #main .submission-cover-placeholder{padding:14px}.vault-catalog #main .submission-cover-placeholder strong{font-size:46px}.vault-catalog #main .submission-cover-placeholder span{font-size:18px}}
@media(max-width:900px){.vault-catalog #main .archive-layout{grid-template-columns:1fr}.vault-catalog #main .filter-chips{grid-template-columns:repeat(3,1fr)}}
@media(max-width:540px){.vault-catalog #main .vault-search-toolbar{grid-template-columns:1fr auto}.vault-catalog #main .vault-search-toolbar>label:first-child{grid-column:1/-1}.vault-catalog #main .submission-grid{grid-template-columns:1fr}.vault-catalog #main .submission-artwork{aspect-ratio:4/3}}
/* Prioritise the catalogue over optional rankings in short or narrow windows. */
@media(max-width:900px),(max-height:720px){
  .vault-catalog #main .ranking-preview{display:none}
}
/* A desktop window can be narrow even when the browser itself is wide. */
@container(max-width:900px){
  .vault-catalog #main .archive-layout{grid-template-columns:minmax(0,1fr)}
  .vault-catalog #main #vault-filters{display:none!important}
  .vault-catalog #main .filter-toggle{display:inline-flex}
  .vault-catalog #main .ranking-preview,.vault-catalog #main .vault-masthead{display:none}
  .vault-catalog #main .vault-search-toolbar{grid-template-columns:minmax(0,1fr) auto}
  .vault-catalog #main .vault-search-toolbar>label:first-child{grid-column:1/-1}
}
@media(max-width:650px){
  /* Use one scroll surface on phones; the result grid must not shrink to zero. */
  .desktop-embedded:has(.archive-layout),.desktop-embedded:has(.archive-layout) body{height:auto;min-height:100%;overflow:auto}
  .desktop-embedded .vault-main:has(.archive-layout),.agency-window-view>.vault-main:has(.archive-layout){height:auto;min-height:100%;overflow:visible}
  .vault-catalog #main .archive-layout{display:block}
  .vault-catalog #main .submission-grid{overflow:visible;flex:none}
  .vault-catalog #main .vault-toolbar{flex-direction:row;flex-wrap:wrap;align-items:center;gap:10px}
  .vault-catalog #main .vault-toolbar h1{font-size:24px}
}
@media(max-width:900px){
  .vault-catalog #main .vault-search-toolbar button{grid-column:auto}
  .vault-catalog #main .submission-artwork{aspect-ratio:4/3;max-height:260px}
}
@container(max-width:900px){
  .vault-catalog #main .vault-search-toolbar button{grid-column:auto}
}
@media(max-width:540px){
  .vault-catalog #main .vault-locationbar{display:none}
  .vault-catalog #main .vault-search-toolbar{padding:10px;margin-bottom:10px}
}
