.quest-catalogue { max-width: 1120px; margin-inline: auto; }
.catalogue-filters { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.catalogue-filters label { display: flex; flex-direction: column; gap: .4rem; min-width: 0; }
.catalogue-filters input:not([type=checkbox]), .catalogue-filters select { width: 100%; box-sizing: border-box; min-width: 0; }
.catalogue-filters .catalogue-checkbox { flex-direction: row; align-items: center; grid-column: 1 / -1; }
.catalogue-checkbox input { flex: none; width: 1.1rem; height: 1.1rem; margin: 0; padding: 0; }
.catalogue-filter-actions { display: flex; align-items: center; gap: 1rem; }
.catalogue-zone-heading { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 1rem; margin-bottom: 1rem; }
.catalogue-zone-heading h2 { margin: 0; }
.catalogue-quests { list-style: none; padding: 0; margin: 0; }
.catalogue-quests > li + li { border-top: 1px solid var(--line); }
.catalogue-quest { display: grid; grid-template-columns: 2.5rem minmax(0,1fr) 7rem 10rem; align-items: center; gap: .8rem; padding-block: 1rem; color: inherit; text-decoration: none; border-radius: 2px; }
.catalogue-quest:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.catalogue-title { font-weight: 600; overflow-wrap: anywhere; }
.catalogue-quest:hover .catalogue-title { color: var(--accent); text-decoration: underline; }
.catalogue-title small { white-space: nowrap; font-weight: normal; }
.catalogue-level { text-align: center; font-weight: 700; color: var(--accent); }
.catalogue-faction { display: flex; align-items: center; gap: .4rem; font-size: .85rem; }
.catalogue-faction img { flex: none; }
.catalogue-details { padding: 1.5rem; overflow-wrap: anywhere; }
.catalogue-description { white-space: pre-line; }
.catalogue-variant { border-left: 2px solid var(--line); padding-left: 1rem; margin-block: 1rem; }
.catalogue-pagination { display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 1rem; margin-block: 1.5rem; }
.quest-back { display: inline-block; margin-bottom: 1.5rem; }
.quest-detail h1 { overflow-wrap: anywhere; }
.quest-metadata { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.5rem; margin-bottom: 1.5rem; }
.catalogue-quests > li { scroll-margin-top: 2rem; }
@media(max-width: 650px) {
 .catalogue-filters { grid-template-columns: minmax(0,1fr); }
 .catalogue-quest { grid-template-columns: 2rem minmax(0,1fr); gap: .5rem; }
 .catalogue-quest .catalogue-faction, .catalogue-quest .catalogue-instance { grid-column: 2; }
 .catalogue-details { padding: 1rem; }
}

.leveling-code { display: block; width: 100%; max-width: 100%; box-sizing: border-box; font-family: monospace; overflow-wrap: anywhere; }

.zone-quest-row { padding-block: .65rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: .4rem 1rem; }
.zone-quest-row p { flex-basis: 100%; margin: 0; }
.zone-quest-complete { color: #8fce8a; }
