/* 武器图鉴 */
.weapons-panel { grid-column: 1; min-width: 0; }
.weapons-panel h1 { border-bottom-color: var(--gold); }
.weapons-lead { margin: 0 0 1rem; color: var(--muted); font-size: .9rem; }
.weapons-toolbar { display: grid; gap: 1rem; margin: 1.5rem 0; padding: 1rem; border: 1px solid rgb(193 153 118 / .35); background: var(--surface); }
#weapon-search { width: 100%; padding: .6rem .75rem; border: 1px solid #4a5968; color: var(--paper); background: #0a0e12; font-size: .95rem; }
#weapon-search:focus-visible { border-color: var(--gold); outline: 2px solid var(--gold-light); outline-offset: 2px; }
.weapons-filters { display: grid; gap: .6rem; }
.filter-group { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; }
.filter-group > span { min-width: 5rem; color: var(--gold); font-family: var(--serif); font-size: .72rem; letter-spacing: .12em; }
.weapon-filter { padding: .32rem .5rem; border: 1px solid #516172; color: #cdd4d9; background: #10171e; font-size: .7rem; line-height: 1.3; }
.weapon-filter:hover, .weapon-filter.active { border-color: var(--gold); color: #15110a; background: var(--gold-light); }
.weapons-summary { color: var(--muted); font-size: .78rem; }
.weapon-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; margin-top: 1.5rem; }
.weapon-card { position: relative; display: grid; gap: .5rem; min-height: 10rem; padding: 1rem; border: 1px solid rgb(193 153 118 / .35); color: var(--paper); text-align: left; background: var(--surface); box-shadow: none; }
.weapon-card:hover, .weapon-card:focus-visible { border-color: var(--gold); background: var(--surface-hover); }
.weapon-card.chapter-one { border-left: 1px solid var(--green); }
.weapon-card.chapter-two { border-left: 1px solid var(--blue); }
.weapon-card.chapter-three { border-left: 1px solid var(--blood); }
.weapon-card.chapter-unknown { border-left: 1px solid var(--muted); }
.w-name { color: #fff0c2; font-family: var(--serif); font-size: 1rem; line-height: 1.3; }
.w-en { color: var(--muted); font-size: .7rem; }
.w-meta { display: flex; flex-wrap: wrap; gap: .35rem; }
.badge { display: inline-block; padding: .08rem .38rem; border: 1px solid currentColor; font-family: var(--ui); font-size: .68rem; white-space: nowrap; }
.badge-rarity-common, .badge-common { color: var(--muted); }
.badge-rarity-uncommon, .badge-uncommon { color: var(--green); }
.badge-rarity-rare, .badge-rare { color: var(--blue); }
.badge-rarity-very-rare, .badge-very-rare { color: #b98ce0; }
.badge-rarity-legendary, .badge-legendary { color: var(--gold-light); }
.badge-miss { color: var(--blood-light); }
.badge-pending { color: var(--muted); }
.w-acq { color: #b7c0c8; font-size: .78rem; line-height: 1.5; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.weapon-empty { margin: 1.5rem 0; color: var(--muted); }
.weapon-detail { margin-top: 1.5rem; padding: 1.25rem; border: 1px solid rgb(193 153 118 / .4); background: var(--surface); box-shadow: none; }
.weapon-detail[hidden] { display: none; }
.detail-head { display: flex; flex-wrap: wrap; gap: .6rem 1rem; justify-content: space-between; align-items: baseline; }
.detail-head h2 { margin: 0; color: #f1dcaa; font-family: var(--serif); font-size: 1.6rem; }
.detail-head small { color: var(--muted); font-size: .78rem; }
.detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem 1rem; margin-top: 1rem; }
.detail-field { padding: .75rem; border: 1px solid rgb(193 153 118 / .25); background: #090806; }
.detail-field dt { color: var(--gold); font-size: .68rem; letter-spacing: .14em; }
.detail-field dd { margin: .25rem 0 0; color: #d4d9dc; font-size: .85rem; line-height: 1.6; white-space: pre-wrap; overflow-wrap: anywhere; }
.detail-field.full { grid-column: 1 / -1; }
.detail-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1rem; }
@media (max-width: 760px) {
  .detail-grid { grid-template-columns: 1fr; }
  .detail-field.full { grid-column: 1; }
  .weapon-list { grid-template-columns: 1fr; }
  .weapons-panel { padding-left: 1rem; padding-right: 1rem; }
}

/* 移动端修正 */
.filter-group, .weapons-toolbar, .weapon-list, .weapons-panel { min-width: 0; }
.weapon-filter { max-width: 100%; white-space: normal; overflow-wrap: anywhere; }
.waypoint-link { white-space: nowrap; }
@media (max-width: 760px) {
  .weapons-panel { padding-left: .6rem; padding-right: .6rem; }
  .weapon-filter { font-size: .66rem; padding: .28rem .38rem; }
  .weapon-list { grid-template-columns: 1fr; }
  .detail-grid { grid-template-columns: 1fr; }
  .detail-field.full { grid-column: 1; }
}

@media (max-width: 760px) {
  .filter-group { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .filter-group > span { grid-column: 1 / -1; }
  .weapon-filter { width: 100%; text-align: left; }
}

.weapons-quick { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0; }
.weapons-feature { margin-top: 1.6rem; padding-top: 1rem; border-top: 1px solid rgb(197 163 105 / .35); }
.weapons-feature h2 { margin: 0 0 1rem; color: #f1dcaa; font-family: var(--serif); font-size: clamp(1.3rem, 2.4vw, 1.7rem); }
.weapons-feature-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .7rem; }
.feature-item { min-height: 8.5rem; }

.weapon-acquired { justify-self: start; margin-top: .2rem; padding: .28rem .45rem; border: 1px solid #516172; color: #cdd4d9; background: #10171e; font-size: .7rem; line-height: 1.3; }
.weapon-acquired:hover { border-color: var(--gold); color: #15110a; background: var(--gold-light); }
.weapon-acquired[aria-pressed="true"] { border-color: var(--green); color: #0c1319; background: var(--green); }
.detail-head { align-items: center; }

.weapon-thumb { width: calc(100% + 2rem); height: auto; aspect-ratio: 3 / 2; margin: -1rem -1rem .5rem; border-bottom: 1px solid rgb(193 153 118 / .35); object-fit: cover; background: #080706; }
.weapon-detail-visual { margin: -1.25rem -1.25rem 1.25rem; border-bottom: 1px solid rgb(193 153 118 / .35); background: #080706; }
.weapon-detail-image { display: block; width: 100%; height: auto; max-height: 34rem; object-fit: cover; }
.feature-item .weapon-thumb { max-height: 10rem; }
