.collection-page { padding-bottom: 2.5rem; }
.topic-guide-page > .topic-guide-help { margin:0 0 1rem; color:var(--text-muted); font-size:var(--type-ui-size); line-height:1.6; }
.topic-guide-page > .wb-section-tabs--page { position:sticky; top:var(--shell-header-height); z-index:3; margin-bottom:1rem; }
.collection-starter-rewards { margin-top:.75rem; padding-top:.75rem; border-top:1px solid var(--entity-rule); }
.collection-starter-rewards > h3 { margin:0 0 .5rem; font-size:var(--entity-meta-size); line-height:1.5; color:var(--text-muted); font-weight:400; }
.collection-guide-group { grid-column:1/-1; min-width:0; }
.collection-guide-group > h3 { margin:0 0 .75rem; color:var(--text-secondary); font-size:var(--type-section-title-size); line-height:var(--type-section-title-line); font-weight:600; }
.collection-guide-group + .collection-guide-group { margin-top:.75rem; }
.collection-guide-group .collection-results--cards { align-items:start; }
.collection-page .gear-views[hidden] { display:none; }
.collection-query-row { display:flex; align-items:end; gap:1rem; }
.collection-query-row .gear-query { flex:1; }
.collection-level { display:grid; gap:.25rem; flex:0 0 8rem; color:var(--text-muted); font-size:var(--entity-meta-size); }
.collection-level { --wb-input-width:100%; }
.collection-level[hidden] { display:none; }
.collection-results { scroll-margin-top:calc(var(--shell-header-height) + 1rem); }
.collection-results--cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; align-items:stretch; }
.collection-entry { min-width:0; padding:1rem; border:1px solid var(--entity-rule); border-radius:var(--radius-lg); background:var(--lu4-bg-elevated); }
.collection-identity { --wb-entity-icon-size:2.75rem; --wb-entity-gap:.75rem; --wb-entity-primary-size:1rem; --wb-entity-primary-line:1.5; --wb-entity-secondary-size:var(--entity-meta-size); --wb-entity-secondary-line:1.5; --wb-entity-secondary-gap:0; }
.collection-name { font-weight:600; }
.collection-name .lu4-inline-grade { margin-left:.375rem; vertical-align:.1em; }
.collection-identity:hover .collection-name:not(.entity-name--rare) { color:var(--link-hover); }
.collection-entry-body { min-width:0; }
.collection-entry.collection-boss { --wb-attached-background:var(--lu4-bg-elevated); display:flex; flex-direction:column; padding:0; }
.collection-boss.is-selected { border-color:var(--selection-border); }
.collection-boss > .boss-portrait { border-radius:calc(var(--radius-lg) - 1px) calc(var(--radius-lg) - 1px) 0 0; }
.collection-boss[data-floating].is-preview-above:not(.wb-attached-card--popover) > .boss-portrait { border-radius:0; }
.collection-boss__body { display:flex; flex:1; flex-direction:column; padding:1rem; }
.collection-boss__heading { display:flex; align-items:center; justify-content:space-between; gap:.75rem; }
.collection-boss__heading .collection-identity { flex:1; }
.collection-boss__level { flex:none; }
.collection-boss__map { --lu4-control-height:var(--lu4-touch-target); position:absolute; z-index:1; top:var(--space-3); right:var(--space-3); }
/* Keep the same map link reachable when a portrait is absent or fails to load,
   without introducing another action row or covering the level badge. */
.collection-boss:not(:has(> .boss-portrait:not([hidden]))) > .collection-boss__map { --wb-map-overlay-color:var(--text); --wb-map-overlay-shadow:none; top:1rem; right:1rem; }
.collection-boss:not(:has(> .boss-portrait:not([hidden]))) .collection-boss__heading { padding-inline-end:calc(var(--lu4-touch-target) + var(--space-2)); }
.collection-boss__tools { margin-top:.75rem; }
.collection-boss__tool { border-top:1px solid var(--entity-rule); }
.collection-boss__tool > summary { display:flex; align-items:center; gap:.5rem; min-height:2.5rem; color:var(--text-secondary); font-size:var(--entity-meta-size); }
.collection-boss__tool > summary > span { flex:1; }
.collection-boss__tool > summary > small { color:var(--lu4-accent); font-size:var(--type-micro-size); }
.collection-boss__tool > summary > small[hidden] { display:none; }
.collection-boss__tool > summary:hover { color:var(--link-hover); }
.collection-boss__tool-body { min-width:0; }
.collection-boss[data-floating] .collection-boss__tool-body { z-index:2; }
.collection-boss:not([data-floating]) .collection-boss__tool[open] > .collection-boss__tool-body { padding-block:0 .75rem; }
.collection-boss__tool-body > .boss-timer--compact,.collection-boss__tool-body [data-boss-tool-content] > .boss-timer--compact { margin-block:0; }
.collection-boss__period { display:flex; flex-wrap:wrap; justify-content:space-between; gap:.25rem .75rem; margin:0 0 .625rem; color:var(--text-secondary); font-size:var(--entity-meta-size); line-height:1.5; }
.collection-boss__period strong { color:var(--text); font-weight:500; }
.collection-boss__notice { margin:.25rem 0; color:var(--text-muted); font-size:var(--entity-meta-size); line-height:1.5; }
.collection-boss-loot__group + .collection-boss-loot__group { margin-top:1rem; }
.collection-boss-loot__group > header { display:flex; justify-content:space-between; flex-wrap:wrap; gap:.25rem .75rem; padding-block:.375rem; color:var(--text-muted); font-size:var(--type-micro-size); }
.collection-boss-loot__group > header > strong { font-weight:500; }
.collection-boss-loot__items { display:grid; margin:0; padding:0; list-style:none; }
.collection-boss-loot__items > li { min-width:0; padding-block:.625rem; border-bottom:1px solid var(--entity-rule); }
.collection-boss-loot__values { display:flex; flex-wrap:wrap; gap:.125rem .75rem; margin-top:.25rem; padding-left:2.5rem; color:var(--text-secondary); font-size:var(--type-micro-size); line-height:1.5; font-variant-numeric:tabular-nums; }
/* Keep useful slider travel on phones; long English captions may wrap in
   the common label column rather than squeezing the range to two thumbs. */
@media (max-width:639px) {
  :is([data-collection="quests"],[data-collection="bosses"]) .gear-controls[data-catalog-locale="en"] { --wb-catalog-label-width:4.5rem; }
}
.collection-facts, .collection-recipe-facts { display:flex; flex-wrap:wrap; gap:.375rem 1.25rem; margin-top:1rem; }
.collection-fact { display:inline-flex; flex-wrap:wrap; gap:.375rem; color:var(--text-muted); font-size:var(--entity-meta-size); }
.collection-fact strong { color:var(--text-secondary); font-weight:500; font-variant-numeric:tabular-nums; }
.collection-inline-links { display:flex; flex-wrap:wrap; gap:.375rem .75rem; margin-top:.75rem; }
.collection-inline-links a, .collection-parent a { color:var(--text-secondary); text-decoration:none; }
.collection-inline-links a:hover, .collection-parent a:hover { color:var(--link-hover); }
.collection-map { display:inline-flex; padding:.375rem 0; margin-top:.375rem; color:var(--lu4-accent); font-size:var(--entity-meta-size); text-decoration:none; }
.collection-parent { display:flex; gap:.5rem; margin-top:.625rem; font-size:var(--entity-meta-size); }
.collection-parent>span { color:var(--text-muted); }
.collection-disclosure { border-top:1px solid var(--entity-rule); margin-top:.75rem; }
.collection-disclosure:not(.collection-card-disclosure) summary { padding:.625rem 0; cursor:pointer; color:var(--text-secondary); font-size:var(--entity-meta-size); }
.collection-disclosure summary:hover { color:var(--lu4-accent); }
.collection-disclosure>div { padding:0 0 .25rem; }
.collection-related { display:grid; list-style:none; margin:.5rem 0 0; padding:0; gap:.75rem; }
.collection-related li { display:flex; justify-content:space-between; align-items:start; gap:.5rem; min-width:0; }
.collection-identity--small { --wb-entity-icon-size:2rem; --wb-entity-gap:.5rem; --wb-entity-primary-size:var(--entity-meta-size); }
.collection-amount { flex-shrink:0; color:var(--text-secondary); font-size:var(--entity-meta-size); padding-top:.25rem; }
.collection-recipe h3 { color:var(--text-muted); font-size:var(--entity-meta-size); font-weight:500; margin:1rem 0 .5rem; }
.collection-recipe-option+.collection-recipe-option { margin-top:1rem; }
/* Bilingual names wrap naturally; keep the shared per-row stretch rather
   than leaving shorter workshop cards above the row's bottom edge. */
.collection-workshop { --wb-attached-background:var(--lu4-bg-elevated); }
.collection-workshop .collection-facts { margin-top:.625rem; gap:.25rem .875rem; }
.collection-workshop .collection-description { margin-top:.5rem; }
.collection-description + .collection-alchemy-recipe { margin-top:.875rem; }
.collection-workshop-panel { margin-top:.75rem; padding-top:.75rem; border-top:1px solid var(--entity-rule); }
.collection-workshop-panel[hidden] { display:none; }
.collection-material-source + .collection-material-source { border-top:1px solid var(--entity-rule); }
.collection-material-source > summary { display:flex; align-items:center; gap:.5rem; min-height:2.5rem; color:var(--text-secondary); font-size:var(--entity-meta-size); }
.collection-material-source > summary > span { flex:1; }
.collection-material-source > summary > small { color:var(--text-muted); font-size:var(--type-micro-size); font-variant-numeric:tabular-nums; }
.collection-material-source > .wb-disclosure__body { padding-block:0 .625rem; min-width:0; }
.collection-material-source__list { display:grid; gap:0; list-style:none; margin:0; padding:0; }
.collection-material-source__list > li { min-width:0; padding:.5rem 0; }
.collection-material-source__list > li + li { border-top:1px solid var(--entity-rule); }
.collection-material-source__values { display:flex; flex-wrap:wrap; gap:.125rem .75rem; margin-top:.125rem; padding-left:2.5rem; color:var(--text-secondary); font-size:var(--type-micro-size); line-height:1.5; font-variant-numeric:tabular-nums; }
.collection-material-source .collection-amount { align-self:center; padding:0; }
.collection-output-group { margin-top:.625rem; }
.collection-section-label { display:block; margin:.625rem 0 .375rem; color:var(--text-muted); font-size:var(--entity-meta-size); font-weight:500; }
.collection-output-group > .collection-section-label { margin:0; }
.collection-output-group .collection-related { margin-top:.375rem; }
.collection-workshop .collection-related { gap:.5rem; }
.collection-workshop-panel .collection-recipe-option + .collection-recipe-option { margin-top:.875rem; padding-top:.875rem; border-top:1px solid var(--entity-rule); }
.collection-recipe-heading { min-width:0; }
.collection-alchemy-recipe { display:grid; gap:.625rem; padding:.75rem; border:1px solid var(--entity-rule); border-radius:var(--radius-md); background:var(--lu4-bg-base); }
.collection-workshop-panel .collection-alchemy-recipe + .collection-alchemy-recipe { padding:.75rem; }
.collection-alchemy-recipe .collection-recipe-meta { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-template-rows:auto auto; grid-auto-flow:column; gap:.125rem .75rem; margin:0; padding:.5rem 0; border-block:1px solid var(--entity-rule); }
.collection-recipe-meta .collection-fact { display:contents; line-height:var(--entity-meta-line); }
.collection-recipe-meta .collection-fact > * { min-width:0; }
.collection-recipe-meta .collection-fact strong { color:var(--text); font-weight:500; }
.collection-alchemy-recipe > .collection-output-group,.collection-alchemy-recipe > .collection-recipe-inputs { display:grid; gap:.125rem; min-width:0; margin:0; }
.collection-alchemy-recipe .collection-section-label { margin:0; line-height:1.5; }
.collection-alchemy-recipe .collection-related { gap:0; margin:0; }
.collection-alchemy-recipe .collection-related > li,.collection-cache-contents .collection-related > li { align-items:center; padding:.375rem 0; }
.collection-alchemy-recipe .collection-related > li + li,.collection-cache-contents .collection-related > li + li { border-top:1px solid var(--entity-rule); }
.collection-alchemy-recipe .collection-amount,.collection-cache-contents .collection-amount { padding-top:0; font-variant-numeric:tabular-nums; }
.collection-contents-heading { display:flex; justify-content:space-between; align-items:baseline; gap:.75rem; margin-bottom:.5rem; }
.collection-contents-heading .collection-section-label { margin:0; }
.collection-description { white-space:pre-line; line-height:1.6; margin:.75rem 0 0; font-size:var(--entity-meta-size); color:var(--text-secondary); }
.collection-start { margin-top:.75rem; }
.collection-start>span { display:block; margin:.375rem 0 0 2.5rem; font-size:var(--entity-meta-size); color:var(--text-muted); }
.collection-requirement { font-size:var(--entity-meta-size); color:var(--text-secondary); line-height:1.6; margin:.75rem 0 0; }
.collection-transfer-quests { margin-top:1rem; padding-top:.75rem; border-top:1px solid var(--entity-rule); }
.collection-list-head { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:1rem 2rem; padding:0 .75rem .5rem; border-bottom:1px solid var(--entity-rule); }
.collection-results--list .collection-entry { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.7fr); gap:1rem 2rem; border:0; border-bottom:1px solid var(--entity-rule); border-radius:0; background:transparent; padding:.75rem; }
.collection-results--list .collection-facts { margin-top:0; }
.collection-results--list .collection-description { max-width:46rem; }
.collection-results--list .collection-related { grid-template-columns:repeat(2,minmax(0,1fr)); }
.collection-results--quests { --quest-columns:4.25rem minmax(0,1.15fr) 4rem minmax(0,.8fr) minmax(0,1.1fr) minmax(0,.8fr) minmax(0,1.3fr); }
.collection-results--quests .collection-list-head,.collection-results--quests .collection-quest-row { grid-template-columns:var(--quest-columns); gap:.625rem 1rem; align-items:start; }
.collection-results--quests .collection-list-head { align-items:center; }
.collection-results--quests .collection-list-head > span { color:var(--text-muted); font-size:var(--entity-meta-size); }
.collection-quest-name,.collection-quest-type,.collection-quest-requirement,.collection-quest-start,.collection-quest-place { min-width:0; }
.collection-quest-level { color:var(--text-secondary); font-size:var(--entity-meta-size); line-height:1.5rem; font-variant-numeric:tabular-nums; white-space:nowrap; }
.collection-quest-name .wb-entity-link__qualifier { display:none; }
.collection-quest-type,.collection-quest-requirement,.collection-quest-place { color:var(--text-secondary); font-size:var(--entity-meta-size); line-height:1.5rem; overflow-wrap:anywhere; }
.collection-quest-row .wb-entity-link { --wb-entity-primary-line:1.5rem; }
.collection-quest-requirement > div > span:first-child { display:block; }
.collection-quest-label { display:none; }
.collection-quest-reward.collection-disclosure { margin:0; border:0; }
.collection-quest-reward.collection-disclosure > summary { padding:.125rem 0; }
.collection-quest-reward .collection-rewards { padding-top:.5rem; }
.collection-quest-reward,.collection-quest-preview { min-width:0; overflow-wrap:anywhere; }
.collection-quest-reward .collection-rewards { max-width:100%; overflow-x:auto; }
.collection-quest-preview { --reward-font-size:var(--entity-meta-size); --reward-line-height:1.5rem; --reward-item-block-space:0; }
.collection-quest-preview .quest-rewards { display:flow-root; margin:0; }
.collection-quest-preview.collection-rewards .reward-summary-rule { margin:0; }
[data-collection="starters"] .collection-quest-reward .collection-rewards { padding-top:0; }
.gear-controls .wb-search-select { width:min(100%,24rem); }
/* Seven independent columns need a reading-width container, not just a
   desktop-width viewport. Switch before long English names become slivers. */
@container (max-width:70rem) {
  .collection-results--list.collection-results--quests .collection-quest-row { grid-template-columns:minmax(0,1fr); }
  .collection-results--quests .collection-list-head { display:flex; gap:1rem; }
  .collection-results--quests .collection-list-head > span { display:none; }
  .collection-quest-name { grid-column:1/-1; grid-row:1; }
  .collection-quest-level { display:none; }
  .collection-quest-name .wb-entity-link__qualifier { display:inline-block; }
  .collection-quest-type,.collection-quest-requirement,.collection-quest-start,.collection-quest-place,.collection-quest-reward,.collection-quest-preview { grid-column:1/-1; }
  .collection-quest-type,.collection-quest-requirement,.collection-quest-start,.collection-quest-place { display:grid; grid-template-columns:var(--quest-label-width,4.75rem) minmax(0,1fr); gap:.5rem; }
  [data-collection="starters"] .collection-quest-reward { display:grid; grid-template-columns:var(--quest-label-width,4.75rem) minmax(0,1fr); gap:.5rem; }
  .collection-quest-label { display:block; overflow-wrap:normal; word-break:normal; color:var(--text-muted); font-size:var(--entity-meta-size); line-height:1.5; }
}
html[lang="en"] .collection-results--quests { --quest-label-width:6.25rem; }
/* Mid-width reading rows keep two separate fact pairs side by side; phones
   keep one. This avoids both seven cramped columns and a mostly empty row. */
@container (min-width:40rem) and (max-width:70rem) {
  .collection-results--list.collection-results--quests .collection-quest-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collection-quest-type,.collection-quest-start { grid-column:1; }
  .collection-quest-requirement,.collection-quest-place { grid-column:2; }
}
.collection-empty { grid-column:1/-1; text-align:center; padding:3rem 1rem; color:var(--text-muted); }
.collection-rewards { min-width:0; font-size:var(--entity-meta-size); }
.collection-rewards .reward-summary-rule { margin:.5rem 0; }
.collection-page a:focus-visible,.collection-page summary:focus-visible,.collection-page input:focus-visible { outline:2px solid var(--lu4-focus-ring); outline-offset:3px; }
@media(max-width:959px) { .collection-results--cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .collection-results--list .collection-entry,.collection-list-head { grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:1rem; } .collection-results--list .collection-related { grid-template-columns:1fr; } }
@media(max-width:639px) { .collection-results--cards { grid-template-columns:1fr; } .collection-results--list .collection-entry { grid-template-columns:1fr; gap:.625rem; padding:.75rem 0; } .collection-query-row { flex-wrap:wrap; gap:.5rem; } .collection-query-row .gear-query { flex-basis:100%; } .collection-level { flex:1; grid-template-columns:auto 6rem; align-items:center; justify-content:end; } .collection-entry { padding:.875rem; } }
