.map-library { overflow:auto; }
.map-library .companion-main { max-width:1440px; margin:auto; }
.library-filters { display:flex; align-items:end; flex-wrap:wrap; gap:16px; }
.library-filters label { display:flex; flex-direction:column; gap:8px; min-width:150px; }
.library-filters label:first-child { flex:1; }
.library-filters .library-check { flex-direction:row; align-items:center; padding-bottom:10px; }
.library-check input { width:18px; }
.map-cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr)); gap:18px; }
.map-card { display:flex; flex-direction:column; margin:0; padding:0; overflow:hidden; }
.map-card>img { width:100%; height:180px; object-fit:contain; display:block; background:#101820; }
.map-card-body { display:flex; flex-direction:column; flex:1; padding:18px; }
.map-card h2 { font-size:19px; margin:0 0 12px; }
.map-card .toolbar { gap:8px; margin:0 0 12px; flex-wrap:wrap; }
.map-card-body>.button { margin-top:auto; }
.map-card p { color:var(--muted); font-size:13px; }
.map-card .boss-count { color:#ffd27d; }
.library-pagination { justify-content:center; align-items:center; margin:24px 0; }
@media(max-width:520px) { .library-filters { gap:12px; } .library-filters label:first-child { flex-basis:100%; } .map-card>img { height:160px; } }
