#all-key-browser { margin: 1.5rem 0; border: 1px solid var(--border, #817963); padding: 1rem; border-radius: 8px; }
#all-key-browser > summary { cursor: pointer; font-size: 1.2rem; font-weight: bold; }
.key-catalog-filters { display: flex; flex-wrap: wrap; gap: .75rem; margin: 1rem 0; }
.key-catalog-filters label { display: grid; gap: .35rem; flex: 1 1 170px; min-width: 0; }
.key-catalog-filters input, .key-catalog-filters select { width: 100%; box-sizing: border-box; padding: .6rem; color: inherit; background: var(--bg-input, #14160f); border: 1px solid var(--border, #817963); }
.key-catalog-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: .75rem; }
.key-catalog-card { border: 1px solid var(--border, #817963); padding: .75rem; display: grid; gap: .5rem; min-width: 0; overflow-wrap: anywhere; }
.key-catalog-card > a { display: flex; align-items: center; gap: .5rem; }
.key-catalog-card img { width: 40px; height: 40px; object-fit: contain; }
.key-catalog-maps { display: flex; flex-wrap: wrap; gap: .5rem; font-size: .85rem; }
.key-catalog-card small { opacity: .8; }
