.pbz-catalog-page {
  --pbz-bg: #0f1417;
  --pbz-panel: #182126;
  --pbz-alt: #202c32;
  --pbz-line: #314047;
  --pbz-text: #eaf0ef;
  --pbz-muted: #9baeb3;
  --pbz-accent: #78d6c0;
  --pbz-gold: #cbb17a;
  --pbz-radius: 12px;
  --pbz-space-1: 4px;
  --pbz-space-2: 8px;
  --pbz-space-3: 12px;
  --pbz-space-4: 16px;
  --pbz-space-6: 24px;
  --pbz-space-8: 32px;
  background: var(--pbz-bg);
  color: var(--pbz-text);
  font-family: 'Microsoft YaHei', system-ui, sans-serif;
  line-height: 1.65;
}
.pbz-catalog-page * {
  box-sizing: border-box;
}
.pbz-catalog-page a {
  color: var(--pbz-gold);
  text-decoration: none;
}
.pbz-catalog-page a:hover {
  text-decoration: underline;
}
.pbz-catalog-page button,
.pbz-catalog-page input,
.pbz-catalog-page select {
  font: inherit;
  color: var(--pbz-text);
  border: 1px solid #536660;
  border-radius: 2px;
  background: #203237;
  padding: 7px 10px;
  max-width: 100%;
}
.pbz-catalog-page button {
  cursor: pointer;
}
.pbz-catalog-page button:hover {
  background: #354a49;
}
.pbz-catalog-page :focus-visible {
  outline: 2px solid #e8ce91;
  outline-offset: 3px;
}
.pbz-catalog-page input[type='search'] {
  min-width: 0;
  width: 100%;
}
.pbz-catalog-page [hidden] {
  display: none !important;
}
.pbz-catalog-page h1,
.pbz-catalog-page h2,
.pbz-catalog-page h3,
.pbz-catalog-page h4 {
  line-height: 1.45;
  overflow-wrap: anywhere;
}
.pbz-catalog-page h1 {
  font:
    600 2rem/1.4 'Songti SC',
    SimSun,
    serif;
  margin: 0;
}
.pbz-catalog-page h2 {
  font:
    600 1.3rem/1.5 'Songti SC',
    SimSun,
    serif;
  margin: 0 0 12px;
}
.pbz-catalog-page h3 {
  font-size: 1rem;
  margin: 0 0 8px;
}
.pbz-catalog-page h4 {
  font-size: 0.86rem;
  color: #b5c8ba;
  margin: 12px 0 5px;
}
.pbz-catalog-page p {
  margin: 7px 0 12px;
}
.pbz-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
}
.pbz-skip {
  position: fixed;
  top: -100px;
  left: 20px;
  z-index: 200;
  background: #1c3032;
  padding: 12px;
}
.pbz-skip:focus {
  top: 8px;
}
.pbz-local-header {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 13px 28px;
  border-bottom: 1px solid #3e504d;
  background: #17272b;
}
.pbz-local-brand {
  font:
    600 1.5rem 'Songti SC',
    SimSun,
    serif;
  color: #ead6ae !important;
}
.pbz-local-brand small {
  font:
    400 0.72rem 'Microsoft YaHei',
    sans-serif;
  color: #a8bbb1;
  display: block;
  margin-top: 3px;
}
.pbz-local-header nav {
  margin-left: auto;
  display: flex;
  gap: 24px;
  font-size: 0.85rem;
}
.pbz-local-menu {
  display: none;
}
.pbz-layout {
  max-width: 1700px;
  margin: auto;
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr);
  gap: 28px;
  padding: 24px 28px 40px;
}
.pbz-layout main {
  min-width: 0;
}
.pbz-sidebar {
  position: sticky;
  top: 20px;
  align-self: start;
  max-height: calc(100dvh - 30px);
  overflow-y: auto;
  padding-right: 14px;
  font-size: 0.83rem;
}
.pbz-sidebar-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 0.95rem;
  color: #d8c396;
  padding: 0 8px 10px;
  border-bottom: 1px solid #3c504b;
  margin-bottom: 7px;
}
.pbz-sidebar-heading button {
  display: none;
}
.pbz-sidebar nav > a,
.pbz-sidebar summary a,
.pbz-nav-category {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 9px;
  padding: 6px 8px;
}
.pbz-sidebar summary {
  cursor: pointer;
}
.pbz-sidebar details {
  border-bottom: 1px solid #2e4344;
  padding: 5px 0;
}
.pbz-sidebar summary a {
  display: inline-flex;
  width: calc(100% - 17px);
  padding-left: 0;
}
.pbz-sidebar .pbz-nav-category {
  font-size: 0.76rem;
  padding-left: 22px;
  color: #a9c0b9;
}
.pbz-sidebar span,
.pbz-sidebar small {
  color: #8fa8a0;
  font-size: 0.7rem;
}
.pbz-sidebar [aria-current] {
  background: #354840;
  color: #f2d9a6 !important;
}
.pbz-drawer-shade {
  display: none;
}
.pbz-crumbs {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  color: #9cafaa;
  font-size: 0.76rem;
  margin: 0 0 14px;
}
.pbz-eyebrow {
  font-size: 0.68rem;
  letter-spacing: 0.15em;
  color: #b3ac8b;
}
.pbz-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  padding-bottom: 15px;
  border-bottom: 1px solid var(--pbz-line);
  margin-bottom: 17px;
}
.pbz-title > span {
  font-size: 0.85rem;
  color: #b9ae8d;
  white-space: nowrap;
}
.pbz-home-heading {
  padding: 26px 28px;
  background: linear-gradient(105deg, #223b3c, #17272b);
  border: 1px solid #425751;
  margin-bottom: 20px;
}
.pbz-home-heading h1 {
  font-size: 2.8rem;
  letter-spacing: 0.13em;
}
.pbz-home-heading > p:not(.pbz-eyebrow) {
  color: #bdcbc2;
}
.pbz-home-search {
  display: flex;
  max-width: 670px;
  gap: 8px;
  margin: 20px 0;
}
.pbz-home-search input {
  flex: 1;
}
.pbz-home-search button {
  flex: none;
}
.pbz-home-counts {
  display: flex;
  gap: 22px;
  font-size: 0.75rem;
  color: #a9b9aa;
  flex-wrap: wrap;
}
.pbz-directory {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 18px 0;
}
.pbz-directory-group {
  background: #17282c;
  border: 1px solid #3c514e;
  padding: 16px;
}
.pbz-directory-group > header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 13px;
}
.pbz-directory-group > header > span:last-child {
  margin-left: auto;
  color: #a8b7a4;
}
.pbz-directory-group h2 {
  font-size: 1.14rem;
  margin: 0;
}
.pbz-directory-group p {
  font-size: 0.73rem;
  color: var(--pbz-muted);
  margin: 3px 0;
}
.pbz-directory-glyph {
  font:
    1.7rem 'Songti SC',
    SimSun,
    serif;
  color: #bfac83;
}
.pbz-category-links {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin: 13px 0;
}
.pbz-category-links a {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  font-size: 0.8rem;
  background: #24373a;
  border: 1px solid #43564e;
  padding: 5px 9px;
}
.pbz-category-links span {
  color: #9db2aa;
  font-size: 0.7rem;
}
.pbz-category-links [aria-current] {
  background: #465341;
  border-color: #a38d62;
  color: #f4dfb5;
}
.pbz-filters {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(130px, 210px) auto auto;
  gap: 8px;
  align-items: end;
  background: #1c2d31;
  border: 1px solid #3c514e;
  padding: 12px;
}
.pbz-filters label {
  display: block;
  color: var(--pbz-muted);
  font-size: 0.72rem;
  margin-bottom: 4px;
}
.pbz-filters select {
  width: 100%;
}
.pbz-filters button {
  font-size: 0.85rem;
}
.pbz-results-status {
  color: var(--pbz-muted);
  font-size: 0.77rem;
  margin: 10px 0 !important;
}
.pbz-entry-list {
  list-style: none;
  margin: 0;
  padding: 0;
  border-top: 1px solid var(--pbz-line);
}
.pbz-list-row {
  display: grid;
  grid-template-columns:
    minmax(150px, 27%) minmax(90px, 16%) minmax(0, 1fr)
    18px;
  gap: 14px;
  padding: 13px 12px;
  background: #192a2e;
  border-bottom: 1px solid #3a4d4b;
  align-items: start;
}
.pbz-list-row:nth-child(even) {
  background: #223438;
}
.pbz-row-name {
  display: flex;
  gap: 10px;
  align-items: center;
  font-size: 0.92rem;
  min-width: 0;
  overflow-wrap: anywhere;
}
.pbz-row-name strong { min-width: 0; }
.pbz-list-type {
  font-size: 0.76rem;
  color: #a2b6ae;
}
.pbz-list-row p {
  font-size: 0.86rem;
  margin: 0;
  white-space: pre-line;
  overflow-wrap: anywhere;
}
.pbz-icon,
.pbz-glyph {
  display: inline-block;
  width: 32px;
  height: 32px;
  flex: none;
  object-fit: contain;
}
.pbz-glyph {
  display: inline-grid;
  place-items: center;
  background: #2c4140;
  color: #b7bb99;
  font: 1.3rem SimSun;
}
.pbz-atlas {
  background-repeat: no-repeat;
}
.pbz-thumbnail {
  width: 96px;
  height: 96px;
  flex: 0 0 96px;
}
.pbz-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: center;
  margin: 20px 0;
}
.pbz-pagination a,
.pbz-pagination button {
  padding: 5px 10px;
  min-width: 34px;
  text-align: center;
  background: #23363a;
  border: 1px solid #43594f;
  font-size: 0.8rem;
}
.pbz-pagination [aria-current] {
  color: #f6e2b4;
  background: #5d573e;
  border-color: #c1a473;
}
.pbz-detail {
  max-width: 1220px;
}
.pbz-detail-heading {
  display: grid;
  grid-template-columns: minmax(180px, 32%) minmax(0, 1fr);
  gap: 26px;
  padding: 18px;
  background: #17272c;
  border: 1px solid #3e534e;
  align-items: center;
}
.pbz-detail-art {
  min-width: 0;
  height: 330px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #111e23;
}
.pbz-art {
  display: block;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}
.pbz-detail-art > .pbz-art {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}
.pbz-no-image {
  display: flex;
  min-height: 90px;
  align-items: center;
  justify-content: center;
  color: #8ca29b;
  font-size: 0.8rem;
}
.pbz-overview {
  color: #bbcbc1;
  font-size: 0.92rem;
  white-space: pre-line;
}
.pbz-category-link {
  font-size: 0.75rem;
}
.pbz-attributes {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(150px, 100%), 1fr));
  gap: 1px;
  background: #4a6058;
  border: 1px solid #4a6058;
  margin: 14px 0;
}
.pbz-attributes > div {
  background: #22383a;
  padding: 10px 12px;
  min-width: 0;
}
.pbz-attributes > div:nth-child(even) {
  background: #31453e;
}
.pbz-attributes dt {
  font-size: 0.68rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #acbfb2;
}
.pbz-attributes dd {
  margin: 3px 0 0;
  font-size: 1.05rem;
  font-weight: 600;
  color: #eeddb6;
  overflow-wrap: anywhere;
}
.pbz-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 17px;
  font-size: 0.76rem;
  border-bottom: 1px solid #3c514b;
  padding: 12px 0;
}
.pbz-section {
  margin: 24px 0;
  scroll-margin-top: 80px;
}
.pbz-section > h2 {
  border-bottom: 1px solid #40564f;
  padding-bottom: 8px;
  color: #dfd0ad;
}
.pbz-native-list {
  padding: 0;
  margin: 0;
  list-style: none;
}
.pbz-native-list > li {
  padding: 10px 12px;
  border-bottom: 1px solid #3a514c;
  background: #192b2f;
}
.pbz-native-list > li:nth-child(even) {
  background: #22363a;
}
.pbz-native-name {
  display: flex;
  align-items: baseline;
  gap: 10px;
  font-weight: 600;
  color: #dfc994;
  margin: 3px 0 8px;
}
.pbz-native-field {
  margin: 10px 0;
}
.pbz-native-field h3 {
  font-size: 0.88rem;
  font-weight: 500;
  color: #acbfb2;
}
.pbz-native-record > .pbz-attributes {
  margin: 8px 0;
}
.pbz-native-record > .pbz-attributes dd {
  font-size: 0.94rem;
}
.pbz-native-record .pbz-art {
  max-height: 280px;
  width: auto;
}
.pbz-inline-art {
  margin: 8px 0;
}
.pbz-inline-art .pbz-art {
  max-height: 330px;
  width: auto;
}
.pbz-prose {
  line-height: 1.9;
}
.pbz-prose p {
  margin: 8px 0;
}
.pbz-prose strong {
  color: #e0bf7d;
}
.pbz-input,
.pbz-direction {
  display: inline-block;
  padding: 0 6px;
  border: 1px solid #68786c;
  border-bottom: 2px solid #9aab86;
  border-radius: 3px;
  background: #2c4441;
  color: #f1dfb3;
  font-size: 0.82em;
  margin: 1px 3px;
  line-height: 1.8;
  vertical-align: baseline;
}
.pbz-direction {
  color: #c9dec7;
  background: #253b3a;
}
.pbz-ladder {
  color: #f0d395;
  font-variant-numeric: tabular-nums;
}
.pbz-condition {
  padding: 9px 12px;
  border-left: 2px solid #ae8f55;
  background: #332f23;
  color: #e0cda3;
  font-size: 0.82rem;
}
.pbz-table-wrap {
  max-width: 100%;
  overflow-x: auto;
  border: 1px solid #45594f;
  scrollbar-color: #728875 #142427;
}
.pbz-catalog-page table {
  border-collapse: separate;
  border-spacing: 1px;
  width: 100%;
  background: #45594f;
  font-size: 0.85rem;
  line-height: 1.65;
}
.pbz-catalog-page th,
.pbz-catalog-page td {
  text-align: left;
  vertical-align: top;
  padding: 9px 11px;
  overflow-wrap: anywhere;
  min-width: 75px;
}
.pbz-catalog-page thead th {
  background: #394c42;
  color: #ead8b4;
  font-size: 0.74rem;
  white-space: nowrap;
}
.pbz-catalog-page tbody th {
  background: #263d3b;
  color: #ded0ac;
}
.pbz-catalog-page tbody td {
  background: #172a2e;
}
.pbz-catalog-page tr:nth-child(even) > th {
  background: #314b43;
}
.pbz-catalog-page tr:nth-child(even) > td {
  background: #23383b;
}
.pbz-catalog-page td .pbz-native-list > li {
  padding: 2px 0;
  background: transparent;
  border: 0;
}
.pbz-catalog-page td .pbz-native-name {
  font-size: 0.8rem;
  margin: 0;
}
.pbz-catalog-page td .pbz-quantity {
  margin-left: auto;
}
.pbz-catalog-page td .pbz-attributes {
  border: 0;
  background: transparent;
  display: block;
  margin: 0;
}
.pbz-catalog-page td .pbz-attributes > div {
  background: transparent !important;
  display: flex;
  gap: 8px;
  padding: 1px 0;
}
.pbz-catalog-page td .pbz-attributes dt {
  font-size: 0.73rem;
}
.pbz-catalog-page td .pbz-attributes dd {
  font-size: 0.8rem;
  margin: 0;
}
.pbz-numeric {
  text-align: right !important;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.pbz-table-tools {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin: 10px 0;
  font-size: 0.76rem;
  color: #a7bbb0;
}
.pbz-table-tools select {
  padding: 3px 7px;
  margin-left: 8px;
}
.pbz-form {
  padding: 16px;
  background: #192b30;
  border: 1px solid #3c514c;
  margin: 12px 0;
}
.pbz-relations {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(290px, 100%), 1fr));
  gap: 1px;
  background: #3a514a;
  border: 1px solid #3a514a;
}
.pbz-relations > li {
  background: #1b3032;
  padding: 11px;
  font-size: 0.8rem;
}
.pbz-relations > li:nth-child(even) {
  background: #273c3c;
}
.pbz-relations > li > a {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}
.pbz-relations > li > span {
  display: block;
  color: #9cb5a8;
  font-size: 0.68rem;
}
.pbz-relations p {
  margin-bottom: 0;
}
.pbz-multiline {
  white-space: pre-line;
}
.pbz-unknown,
.pbz-empty-value {
  color: #91a69f;
}
.pbz-minimap-stage {
  position: relative;
  max-width: 620px;
  background: #111e23;
}
.pbz-minimap-stage > .pbz-art {
  width: 100%;
  max-height: none;
}
.pbz-mini-pin {
  position: absolute;
  transform: translate(-50%, -50%);
  font-size: 1.5rem;
  color: #f5d08a !important;
  text-shadow: 0 1px 4px black;
}
.pbz-minimap details {
  font-size: 0.8rem;
  margin: 9px 0;
}
.pbz-minimap > ul {
  font-size: 0.85rem;
}
.pbz-region-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 12px 0 17px;
}
.pbz-region-nav a {
  font-size: 0.76rem;
  padding: 5px 9px;
  background: #24383b;
  border: 1px solid #43574e;
}
.pbz-region-nav [aria-current] {
  background: #515640;
  border-color: #b59f6b;
  color: #f8e2b4;
}
.pbz-world-map {
  position: relative;
  background: #111f24;
  max-width: 1100px;
}
.pbz-world-map > .pbz-art {
  width: 100%;
}
.pbz-world-region {
  position: absolute;
  transform: translate(-50%, -50%);
  background: #172629e8;
  border: 1px solid #af9a6b;
  padding: 4px 9px;
  font-size: 0.8rem;
  white-space: nowrap;
}
.pbz-world-pins {
  columns: 3;
  column-gap: 24px;
  font-size: 0.78rem;
  list-style: none;
  padding: 0;
}
.pbz-world-pins li {
  break-inside: avoid;
  margin: 0 0 7px;
}
.pbz-world-pins span {
  display: block;
  color: #9eb5ab;
  font-size: 0.72rem;
}
.pbz-world-index details > summary {
  cursor: pointer;
  color: #bfc5ac;
}
.pbz-map-app {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.pbz-map-filters {
  padding: 12px;
  background: #192d31;
  border: 1px solid #3c534c;
  font-size: 0.78rem;
}
.pbz-map-filters > label {
  display: block;
  margin-bottom: 5px;
}
.pbz-map-filter-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin: 10px 0;
}
.pbz-map-filter-actions button {
  font-size: 0.68rem;
  padding: 3px 6px;
}
.pbz-map-filters fieldset {
  border: 0;
  border-top: 1px solid #40584e;
  padding: 8px 0;
  margin: 12px 0 0;
  min-width: 0;
}
.pbz-map-filters legend {
  padding: 0 5px;
  color: #e0cea2;
  font-size: 0.76rem;
}
.pbz-map-filters fieldset > label {
  display: flex;
  gap: 7px;
  align-items: center;
  padding: 4px 0;
}
.pbz-map-filters input[type='checkbox'] {
  accent-color: #ad9865;
  width: 15px;
  height: 15px;
  flex: none;
}
.pbz-map-filters .pbz-icon {
  width: 22px;
  height: 22px;
}
.pbz-map-filters small {
  margin-left: auto;
  color: #91ac9e;
  font-variant-numeric: tabular-nums;
}
.pbz-map-content {
  min-width: 0;
}
.pbz-map-toolbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 9px;
  flex-wrap: wrap;
  font-size: 0.72rem;
  background: #1b3033;
  padding: 9px;
  border: 1px solid #3b524b;
}
.pbz-map-toolbar button {
  font-size: 0.72rem;
  padding: 4px 8px;
}
.pbz-map-help {
  font-size: 0.7rem;
  color: #9aafa6;
  margin: 7px 0 !important;
}
.pbz-map-viewport {
  overflow: hidden;
  position: relative;
  width: 100%;
  height: min(70vh, 700px);
  min-height: 340px;
  touch-action: none;
  background: #101b21;
  border: 1px solid #4b6055;
  cursor: grab;
}
.pbz-map-viewport:active {
  cursor: grabbing;
}
.pbz-map-stage[data-map-stage] {
  position: relative;
  transform-origin: 0 0;
  width: 100%;
  will-change: transform;
}
.pbz-map-stage[data-map-stage] > .pbz-art {
  display: block;
  width: 100%;
  max-height: none;
  height: auto;
  user-select: none;
  pointer-events: none;
}
.pbz-map-pin {
  position: absolute;
  transform: translate(-50%, -50%) scale(calc(1 / var(--pbz-map-scale, 1)));
  transform-origin: center center;
  display: grid;
  place-items: center;
  padding: 0 !important;
  width: 19px;
  height: 19px;
  min-width: 19px;
  line-height: 1;
  font-size: 13px !important;
  border: 1px solid #e0d0a1 !important;
  border-radius: 50% !important;
  color: #eddcab !important;
  background: #26372cf0 !important;
  box-shadow: 0 1px 4px #000;
  cursor: pointer;
}
.pbz-pin-bell {
  color: #fff2be !important;
  background: #796532 !important;
}
.pbz-pin-boss {
  color: #ffb1a4 !important;
  background: #713b35 !important;
}
.pbz-pin-chest,
.pbz-pin-major-chest {
  color: #b7e5e2 !important;
  background: #315959 !important;
}
.pbz-map-pin.is-selected {
  z-index: 5;
  outline: 3px solid #fff0bd;
  outline-offset: 3px;
  background: #bd6e35 !important;
}
.pbz-pin-detail {
  margin: 12px 0;
  padding: 15px;
  background: #263a38;
  border: 1px solid #5b6b52;
  overflow-wrap: anywhere;
}
.pbz-pin-detail h2 {
  font-size: 1rem;
  color: #ddcdab;
}
.pbz-pin-detail h3 {
  margin: 4px 0 8px;
}
.pbz-pin-detail p,
.pbz-pin-detail ul {
  font-size: 0.84rem;
}
.pbz-pin-detail [data-pin-content] {
  display: flow-root;
}
.pbz-pin-art {
  float: left;
  max-width: 150px;
  margin: 0 15px 8px 0;
}
.pbz-pin-art .pbz-art {
  max-height: 140px;
  width: auto;
}
.pbz-pin-list-heading {
  font-size: 1.1rem !important;
  margin-top: 25px !important;
}
.pbz-pin-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  background: #3a514a;
  border: 1px solid #3a514a;
}
.pbz-pin-list > li {
  background: #192d31;
  padding: 12px;
  min-width: 0;
  font-size: 0.8rem;
  overflow-wrap: anywhere;
}
.pbz-pin-list > li:nth-child(even) {
  background: #243b3c;
}
.pbz-pin-list h3 {
  font-size: 0.91rem;
  margin: 0 0 5px;
}
.pbz-pin-list p {
  font-size: 0.75rem;
  margin: 4px 0;
}
.pbz-pin-list ul {
  padding-left: 18px;
  font-size: 0.76rem;
  margin: 5px 0;
}
.pbz-pin-list .pbz-pin-art {
  float: right;
  max-width: 54px;
  margin: 0 0 5px 8px;
}
.pbz-pin-list .pbz-pin-art .pbz-art {
  max-height: 60px;
}
.pbz-pin-list li > a:last-child {
  font-size: 0.7rem;
}
.pbz-pin-list .pbz-icon {
  width: 20px;
  height: 20px;
  vertical-align: middle;
  margin-right: 4px;
}
.pbz-coordinates {
  color: #8fa99d;
  font-variant-numeric: tabular-nums;
}
.pbz-search-error {
  padding: 10px;
  border: 1px solid #94785a;
  color: #e6c8a0;
  background: #332a22;
}
.pbz-drawer-open {
  overflow: hidden;
}
@media (min-width: 1700px) {
  .pbz-map-page .pbz-layout {
    max-width: 1900px;
  }
}
@media (max-width: 1200px) {
  .pbz-layout {
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 20px;
    padding: 20px;
  }
  .pbz-map-app {
    grid-template-columns: 190px minmax(0, 1fr);
  }
  .pbz-world-pins {
    columns: 2;
  }
  .pbz-list-row {
    grid-template-columns:
      minmax(140px, 30%) minmax(80px, 17%) minmax(0, 1fr)
      15px;
    gap: 10px;
  }
  .pbz-detail-art {
    height: 280px;
  }
}
@media (max-width: 900px) {
  .pbz-layout {
    display: block;
  }
  .pbz-local-menu {
    display: block;
    font-size: 0.8rem;
  }
  .pbz-local-header nav {
    margin-left: auto;
  }
  .pbz-sidebar {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    bottom: 0;
    width: min(330px, 88vw);
    max-height: none;
    z-index: 130;
    background: #14262b;
    padding: 16px 18px 30px;
    box-shadow: 12px 0 30px #0007;
    font-size: 0.94rem;
  }
  .pbz-sidebar.is-open {
    display: block;
  }
  .pbz-sidebar-heading {
    font-size: 1.1rem;
    position: sticky;
    top: -16px;
    background: #14262b;
    z-index: 2;
    padding-top: 7px;
  }
  .pbz-sidebar-heading button {
    display: block;
    width: 44px;
    height: 44px;
    font-size: 1.4rem;
    padding: 0;
  }
  .pbz-sidebar .pbz-nav-category {
    font-size: 0.85rem;
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .pbz-sidebar.is-open + .pbz-drawer-shade {
    display: block;
    position: fixed;
    inset: 0;
    background: #030a0cb8;
    z-index: 129;
    width: 100%;
    height: 100dvh;
    border: 0;
  }
  .pbz-detail-heading {
    grid-template-columns: 30% minmax(0, 1fr);
  }
  .pbz-map-viewport {
    height: 62vh;
  }
}
@media (max-width: 640px) {
  .pbz-local-header {
    padding: 12px 16px;
    gap: 12px;
  }
  .pbz-local-brand {
    font-size: 1.3rem;
  }
  .pbz-local-header nav {
    display: none;
  }
  .pbz-local-menu {
    margin-left: auto;
  }
  .pbz-layout {
    padding: 15px 16px 30px;
  }
  .pbz-catalog-page h1 {
    font-size: 1.75rem;
  }
  .pbz-home-heading {
    padding: 21px 18px;
    margin: 0 -4px 17px;
  }
  .pbz-home-heading h1 {
    font-size: 2.3rem;
  }
  .pbz-home-heading > p:not(.pbz-eyebrow) {
    font-size: 0.85rem;
  }
  .pbz-home-counts {
    gap: 10px 18px;
  }
  .pbz-home-search {
    gap: 5px;
  }
  .pbz-home-search input,
  .pbz-filters input,
  .pbz-filters select,
  .pbz-map-filters input[type='search'] {
    font-size: 16px;
  }
  .pbz-home-search button {
    font-size: 0.8rem;
  }
  .pbz-directory {
    grid-template-columns: minmax(0, 1fr);
  }
  .pbz-directory-group {
    padding: 14px;
  }
  .pbz-title {
    align-items: flex-start;
    gap: 10px;
  }
  .pbz-title > span {
    font-size: 0.75rem;
    line-height: 2.3;
  }
  .pbz-filters {
    grid-template-columns: minmax(0, 1fr) auto auto;
    padding: 10px;
  }
  .pbz-search-field {
    grid-column: 1/-1;
  }
  .pbz-filters button {
    padding: 8px 10px;
    font-size: 0.76rem;
  }
  .pbz-list-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    gap: 4px 8px;
    padding: 13px 11px;
  }
  .pbz-row-name {
    font-size: 0.94rem;
  }
  .pbz-list-type {
    grid-column: 1;
    margin-left: 106px;
    font-size: 0.72rem;
  }
  .pbz-list-row p {
    grid-column: 1/-1;
    font-size: 0.9rem;
    margin-top: 5px;
  }
  .pbz-row-open {
    grid-column: 2;
    grid-row: 1;
  }
  .pbz-detail-heading {
    display: block;
    padding: 13px;
  }
  .pbz-detail-art {
    height: 230px;
    margin-bottom: 15px;
  }
  .pbz-detail-heading h1 {
    font-size: 1.8rem;
  }
  .pbz-attributes {
    grid-template-columns: minmax(0, 1fr);
  }
  .pbz-attributes > div {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 13px;
    padding: 9px 12px;
  }
  .pbz-attributes dd {
    margin: 0;
    text-align: right;
  }
  .pbz-toc {
    font-size: 0.74rem;
    gap: 6px 13px;
  }
  .pbz-table-tools {
    align-items: flex-start;
    font-size: 0.7rem;
  }
  .pbz-table-tools > span {
    max-width: 45%;
  }
  .pbz-catalog-page th,
  .pbz-catalog-page td {
    padding: 8px;
    min-width: 75px;
  }
  .pbz-catalog-page td .pbz-native-name {
    min-width: 120px;
    flex-wrap: wrap;
    gap: 2px 6px;
  }
  .pbz-section {
    margin: 22px 0;
  }
  .pbz-native-list > li {
    padding: 10px;
  }
  .pbz-native-field .pbz-attributes dd {
    font-size: 0.9rem;
  }
  .pbz-native-field .pbz-attributes dt {
    font-size: 0.68rem;
  }
  .pbz-world-map {
    margin: 0 -4px;
  }
  .pbz-world-region {
    font-size: 0.62rem;
    padding: 3px 5px;
  }
  .pbz-world-pins {
    columns: 1;
  }
  .pbz-region-nav a {
    font-size: 0.72rem;
    padding: 5px 7px;
  }
  .pbz-map-app {
    display: block;
  }
  .pbz-map-filters {
    margin-bottom: 12px;
    padding: 11px;
  }
  .pbz-map-filters fieldset {
    display: flex;
    flex-wrap: wrap;
    gap: 0 13px;
  }
  .pbz-map-filters fieldset > label {
    width: calc(50% - 7px);
    font-size: 0.72rem;
  }
  .pbz-map-filters legend {
    font-size: 0.78rem;
  }
  .pbz-map-viewport {
    min-height: 320px;
    height: 55vh;
  }
  .pbz-map-toolbar {
    gap: 7px;
    padding: 7px;
  }
  .pbz-map-toolbar > span {
    width: 100%;
    font-size: 0.68rem;
  }
  .pbz-pin-list {
    grid-template-columns: minmax(0, 1fr);
  }
  .pbz-pin-list > li {
    padding: 12px;
  }
  .pbz-pin-list p {
    font-size: 0.82rem;
  }
  .pbz-pin-list ul {
    font-size: 0.8rem;
  }
  .pbz-pin-list h3 {
    font-size: 0.96rem;
  }
  .pbz-pin-art {
    max-width: 100px;
  }
  .pbz-pin-detail {
    padding: 12px;
  }
  .pbz-pin-detail p,
  .pbz-pin-detail ul {
    font-size: 0.88rem;
  }
}
@media (prefers-reduced-motion: reduce) {
  .pbz-catalog-page * {
    scroll-behavior: auto !important;
  }
}
@media print {
  .mw-header,
  .mw-footer,
  .pbz-local-header,
  .pbz-sidebar,
  .pbz-toc,
  .pbz-filters,
  .pbz-map-filters,
  .pbz-map-toolbar,
  .pbz-map-help {
    display: none !important;
  }
  .pbz-layout,
  .pbz-map-app {
    display: block;
    padding: 0;
  }
  .pbz-catalog-page {
    background: #fff;
    color: #000;
  }
  .pbz-catalog-page a {
    color: #000;
  }
  .pbz-table-wrap {
    overflow: visible;
  }
  .pbz-section {
    break-inside: avoid;
  }
  .pbz-map-viewport {
    height: auto;
    overflow: visible;
  }
  .pbz-pin-list {
    display: block;
  }
  .pbz-pin-list > li {
    break-inside: avoid;
  }
}

.pbz-detail-art {
  overflow: hidden;
}
.pbz-detail-art div {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
}
.pbz-detail-art .pbz-art {
  width: 100%;
  height: 100%;
  max-height: 100%;
  object-fit: contain;
}
.pbz-inline-icon {
  display: inline-block;
  vertical-align: -3px;
  object-fit: contain;
  margin: 0 3px;
}
.pbz-minimap-svg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 5/3;
  max-height: 380px;
}
.pbz-minimap li .pbz-icon {
  vertical-align: middle;
  margin-right: 7px;
}
.pbz-minimap .pbz-near-left {
  text-align: left;
}
.pbz-minimap .pbz-near-right {
  text-align: right;
}
.pbz-filter-group {
  border-top: 1px solid #40584e;
  margin-top: 12px;
  padding-top: 8px;
}
.pbz-filter-group > summary {
  cursor: pointer;
  color: #dfcca4;
  font-size: 0.78rem;
}
.pbz-map-filters .pbz-filter-group fieldset {
  border: 0;
  margin-top: 4px;
  padding-top: 4px;
}
.pbz-group-info {
  padding: 10px 13px;
  background: #1b3033;
  border: 1px solid #3c514b;
  margin: 12px 0;
  font-size: 0.8rem;
}
.pbz-group-info > summary {
  cursor: pointer;
  color: #c6c4a4;
}
.pbz-detail-extra-art {
  max-width: 90px;
  max-height: 90px;
}
.pbz-minimap details li {
  margin: 5px 0;
}
.pbz-native-name > .pbz-quantity {
  font-variant-numeric: tabular-nums;
}

.pbz-map-pin {
  width: 25px;
  height: 25px;
  min-width: 25px;
}
.pbz-map-pin > .pbz-icon {
  width: 19px;
  height: 21px;
  max-width: 19px;
  max-height: 21px;
  pointer-events: none;
}
.pbz-map-search-hint {
  font-size: 0.68rem;
  color: #9aafa6;
  margin: 7px 0 !important;
}
.pbz-overlap-choices {
  padding: 0 0 12px;
  margin-bottom: 13px;
  border-bottom: 1px solid #526b59;
}
.pbz-overlap-choices h3 {
  font-size: 0.8rem;
  color: #c8d2bd;
}
.pbz-overlap-choices button {
  display: inline-block;
  font-size: 0.73rem;
  padding: 5px 8px;
  margin: 3px 5px 3px 0;
}
.pbz-overlap-choices [aria-pressed='true'] {
  background: #675c3b;
  border-color: #d9bf83;
}
.pbz-table-name {
  display: flex;
  gap: 9px;
  align-items: center;
  min-width: 140px;
}
.pbz-related-comparison {
  min-width: 640px;
}
.pbz-related-comparison tbody th {
  width: 22%;
}
.pbz-related-comparison .pbz-native-field {
  margin: 5px 0;
}
.pbz-related-comparison .pbz-native-field h3 {
  font-size: 0.7rem;
  margin: 0 0 3px;
}
.pbz-stat-ranges {
  list-style: none;
  padding: 0;
  margin: 0 0 7px;
}
.pbz-stat-ranges > li {
  display: flex;
  gap: 12px;
  justify-content: space-between;
  font-size: 0.8rem;
}
.pbz-stat-ranges strong {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
.pbz-related-navigation {
  display: flex;
  flex-wrap: wrap;
  gap: 7px 14px;
  margin-top: 14px;
}
.pbz-related-navigation > a {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 0.8rem;
  padding: 5px 7px;
  background: #21373a;
  max-width: 100%;
  overflow-wrap: anywhere;
}
.pbz-currency {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin: 9px 0;
  font-size: 0.78rem;
  color: #b2c1ac;
}
.pbz-currency img {
  width: 24px;
  height: 24px;
}
.pbz-semantic-field {
  margin: 12px 0;
}
.pbz-semantic-field > h3 {
  font-size: 0.88rem;
  color: #c9c6a8;
  margin: 8px 0;
}
.pbz-body-fact {
  font-size: 0.85rem;
  color: #b5c4b6;
  margin: 9px 0;
}
.pbz-acquisition-row {
  border-top: 1px solid #3b534c;
  padding: 10px 0;
}
.pbz-acquisition-row .pbz-native-record > .pbz-art,
.pbz-acquisition-row .pbz-art {
  max-height: 100px;
  max-width: 100px;
}
.pbz-overview-context {
  display: inline-block;
  vertical-align: top;
  margin: 3px 16px 3px 0;
  font-size: 0.78rem;
}
.pbz-overview-context .pbz-native-name {
  margin: 0;
}
.pbz-overview-context .pbz-native-list {
  display: flex;
  gap: 8px;
}
.pbz-overview-context .pbz-native-list > li {
  padding: 3px 5px;
}
.pbz-overview-context .pbz-attributes {
  margin: 3px 0;
  font-size: 0.72rem;
}
.pbz-minimap .pbz-pin-art {
  float: right;
  max-width: 64px;
  margin: 0 0 5px 10px;
}
.pbz-minimap .pbz-pin-art .pbz-art {
  max-height: 60px;
}
.pbz-minimap > ul,
.pbz-minimap details > ul {
  list-style: none;
  padding: 0;
}
.pbz-minimap details li {
  padding: 8px 0;
  border-bottom: 1px solid #314b46;
  display: flow-root;
}
.pbz-minimap details li h3 {
  font-size: 0.8rem;
}
.pbz-minimap details li p {
  font-size: 0.73rem;
  margin: 3px 0;
}
.pbz-minimap details .pbz-pin-entry {
  font-size: 0.73rem;
}
.pbz-level-data > .pbz-table-tools {
  margin-top: 0;
}
.pbz-art-link {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}
.pbz-art-link:hover {
  background: #192c2e;
}
@media (max-width: 640px) {
  .pbz-detail-art {
    height: 165px;
  }
  .pbz-detail-heading {
    padding: 12px;
  }
  .pbz-detail-art {
    margin-bottom: 12px;
  }
}
.pbz-map-filter-panel > summary {
  display: none;
}
@media (max-width: 640px) {
  .pbz-map-filter-panel {
    border-top: 1px solid #40584e;
    padding-top: 9px;
    margin-top: 10px;
  }
  .pbz-map-filter-panel > summary {
    display: list-item;
    cursor: pointer;
    color: #dfcca4;
    font-size: 0.84rem;
    padding: 3px 0;
  }
  .pbz-map-filter-panel > div {
    margin-top: 8px;
  }
}
/* Weapon catalog: neutral surfaces, shared level context and readable attributes. */
.pbz-layout {
  max-width: 1540px;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: var(--pbz-space-6);
}
.pbz-catalog-page a { color: var(--pbz-accent); }
.pbz-catalog-page :focus-visible { outline-color: var(--pbz-accent); }
.pbz-catalog-page button,
.pbz-catalog-page input,
.pbz-catalog-page select {
  border-color: var(--pbz-line);
  border-radius: 8px;
  background: var(--pbz-alt);
}
.pbz-catalog-page button:hover { background: #2b3d43; }
.pbz-local-header { background: var(--pbz-panel); border-color: var(--pbz-line); }
.pbz-local-brand { color: var(--pbz-text) !important; }
.pbz-sidebar { padding-right: var(--pbz-space-4); }
.pbz-sidebar-heading { color: var(--pbz-text); border-color: var(--pbz-line); }
.pbz-sidebar .pbz-nav-group { border: 0; padding: var(--pbz-space-3) 0; }
.pbz-nav-group > summary {
  padding: var(--pbz-space-2);
  color: var(--pbz-muted);
  font-size: 0.75rem;
  font-weight: 600;
  list-style: none;
  display: flex;
  justify-content: space-between;
}
.pbz-nav-group > summary::-webkit-details-marker { display: none; }
.pbz-nav-group > summary::after { content: '−'; color: var(--pbz-muted); }
.pbz-nav-group:not([open]) > summary::after { content: '+'; }
.pbz-sidebar .pbz-nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--pbz-space-2);
  border-radius: 8px;
  padding: 9px var(--pbz-space-3);
  margin: var(--pbz-space-1) 0;
  color: var(--pbz-text);
}
.pbz-sidebar nav > a { color: var(--pbz-text); border-radius: 8px; padding: 9px var(--pbz-space-3); }
.pbz-sidebar a:hover { text-decoration: none; background: var(--pbz-panel); }
.pbz-sidebar [aria-current] {
  color: var(--pbz-accent) !important;
  background: #203b38 !important;
  box-shadow: inset 3px 0 var(--pbz-accent);
}
.pbz-sidebar span,
.pbz-sidebar small { color: var(--pbz-muted); }
.pbz-weapon-title { align-items: flex-start; margin-bottom: var(--pbz-space-4); }
.pbz-weapon-title h1 { font-size: clamp(1.65rem, 3vw, 2.2rem); }
.pbz-weapon-title p:not(.pbz-eyebrow) { margin: var(--pbz-space-2) 0 0; font-size: 0.875rem; color: var(--pbz-muted); }
.pbz-weapon-title > span { color: var(--pbz-muted); padding-top: var(--pbz-space-8); }
.pbz-collection-tabs { display: flex; flex-wrap: wrap; gap: var(--pbz-space-2); margin: var(--pbz-space-4) 0; }
.pbz-collection-tabs a { padding: 7px var(--pbz-space-3); border: 1px solid var(--pbz-line); border-radius: 8px; font-size: 0.8rem; color: var(--pbz-muted); }
.pbz-collection-tabs [aria-current] { border-color: var(--pbz-accent); color: var(--pbz-accent); background: #1a302e; }
.pbz-weapon-filters {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(115px, 170px) 100px auto auto;
  gap: var(--pbz-space-3);
  padding: var(--pbz-space-4);
  background: var(--pbz-panel);
  border: 1px solid var(--pbz-line);
  border-radius: var(--pbz-radius);
  align-items: end;
}
.pbz-weapon-filters label { display: block; margin-bottom: var(--pbz-space-2); font-size: 0.75rem; color: var(--pbz-muted); }
.pbz-weapon-filters input,
.pbz-weapon-filters select { width: 100%; min-height: 42px; font-size: 0.875rem; }
.pbz-weapon-filters button { min-height: 42px; font-size: 0.8rem; white-space: nowrap; }
.pbz-weapon-filters .pbz-filter-apply { background: var(--pbz-accent); border-color: var(--pbz-accent); color: #10221e; font-weight: 600; }
.pbz-weapon-context { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--pbz-space-2); margin: var(--pbz-space-4) 0; }
.pbz-weapon-context .pbz-results-status { margin: 0; color: var(--pbz-muted); font-size: 0.8rem; }
.pbz-weapon-context > span { font-size: 0.75rem; color: var(--pbz-muted); }
.pbz-weapon-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: var(--pbz-space-4); padding: 0; margin: 0; list-style: none; }
.pbz-weapon-card { min-width: 0; display: flex; flex-direction: column; padding: var(--pbz-space-4); background: var(--pbz-panel); border: 1px solid var(--pbz-line); border-radius: var(--pbz-radius); overflow-wrap: anywhere; transition: border-color 120ms ease, background 120ms ease; }
.pbz-weapon-card:hover { border-color: #52746e; background: #1b272b; }
.pbz-weapon-card:focus-within { border-color: var(--pbz-accent); }
.pbz-weapon-card-title { display: flex; gap: var(--pbz-space-3); align-items: center; min-height: 48px; color: var(--pbz-text) !important; }
.pbz-weapon-card-title:hover { text-decoration: none !important; }
.pbz-weapon-card-title .pbz-thumbnail { flex: 0 0 96px; width: 96px; height: 96px; }
.pbz-weapon-card-title h2 { min-width: 0; overflow-wrap: anywhere; font: 600 1.1rem/1.5 'Microsoft YaHei', system-ui, sans-serif; margin: 0; }
.pbz-card-arrow { flex: none; margin-left: auto; color: var(--pbz-muted); font-size: 1rem; }
.pbz-weapon-card-meta { display: flex; flex-wrap: wrap; gap: var(--pbz-space-2) var(--pbz-space-3); color: var(--pbz-muted); font-size: 0.75rem; padding: var(--pbz-space-3) 0; }
.pbz-rarity { color: var(--pbz-gold); }
.pbz-weapon-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: 0 0 var(--pbz-space-3); overflow: hidden; border: 1px solid var(--pbz-line); border-radius: 8px; background: var(--pbz-line); }
.pbz-weapon-stats:empty { display: none; }
.pbz-weapon-stats > div { min-width: 0; background: var(--pbz-alt); padding: var(--pbz-space-3); }
.pbz-weapon-stats > div:nth-child(even) { background: #1c272d; }
.pbz-weapon-stats dt { color: var(--pbz-muted); font-size: 0.75rem; }
.pbz-weapon-stats dd { margin: var(--pbz-space-1) 0 0; font-size: 1.25rem; font-weight: 600; color: var(--pbz-text); font-variant-numeric: tabular-nums; }
.pbz-weapon-card-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--pbz-space-2); border-top: 1px solid var(--pbz-line); padding-top: var(--pbz-space-3); margin-top: auto; font-size: 0.75rem; }
.pbz-weapon-card-footer > span { color: var(--pbz-muted); font-variant-numeric: tabular-nums; }
.pbz-card-acquisition { font-size: 0.8rem; white-space: pre-line; }
.pbz-card-acquisition > span { display: block; color: var(--pbz-muted); font-size: 0.75rem; margin-bottom: var(--pbz-space-1); }
.pbz-stat-gap { color: var(--pbz-gold); font-size: 0.75rem; }
.pbz-card-search-match { white-space: pre-line; font-size: 0.8rem; padding-top: var(--pbz-space-3); border-top: 1px solid var(--pbz-line); color: var(--pbz-text); }
.pbz-card-search-match > strong { display: block; font-size: 0.72rem; color: var(--pbz-accent); margin-bottom: var(--pbz-space-1); }
.pbz-weapon-empty { padding: var(--pbz-space-8) var(--pbz-space-4); text-align: center; background: var(--pbz-panel); border: 1px solid var(--pbz-line); border-radius: var(--pbz-radius); }
.pbz-weapon-empty h2 { font-size: 1rem; }
.pbz-weapon-empty p { color: var(--pbz-muted); font-size: 0.85rem; }
.pbz-pagination { gap: var(--pbz-space-2); margin: var(--pbz-space-6) 0; }
.pbz-pagination a,
.pbz-pagination button { border-radius: 8px; border-color: var(--pbz-line); background: var(--pbz-panel); color: var(--pbz-muted); min-width: 40px; min-height: 40px; }
.pbz-pagination [aria-current] { border-color: var(--pbz-accent); background: #203b38; color: var(--pbz-accent); }
.pbz-back-link { display: inline-block; font-size: 0.8rem; margin-bottom: var(--pbz-space-3); }
.pbz-weapon-detail .pbz-detail-heading { padding: var(--pbz-space-6); background: var(--pbz-panel); border: 1px solid var(--pbz-line); border-radius: var(--pbz-radius); gap: var(--pbz-space-6); grid-template-columns: minmax(180px, 30%) minmax(0, 1fr); }
.pbz-weapon-detail .pbz-detail-art { height: 300px; background: #121a1e; border-radius: 8px; }
.pbz-weapon-detail .pbz-overview { color: var(--pbz-muted); font-size: 0.875rem; }
.pbz-weapon-detail .pbz-art-link:hover { background: var(--pbz-alt); }
.pbz-weapon-detail .pbz-attributes { border-color: var(--pbz-line); background: var(--pbz-line); margin: var(--pbz-space-4) 0; }
.pbz-weapon-detail .pbz-attributes > div { background: var(--pbz-alt); }
.pbz-weapon-detail .pbz-attributes > div:nth-child(even) { background: #1c272d; }
.pbz-weapon-detail .pbz-attributes dt { color: var(--pbz-muted); }
.pbz-weapon-detail .pbz-attributes dd { color: var(--pbz-text); }
.pbz-current-level { padding-top: var(--pbz-space-4); border-top: 1px solid var(--pbz-line); margin-top: var(--pbz-space-4); }
.pbz-current-level-heading { display: flex; justify-content: space-between; align-items: center; gap: var(--pbz-space-3); margin-bottom: var(--pbz-space-3); }
.pbz-current-level-heading h2 { margin: 0; font-size: 0.9rem; font-family: inherit; }
.pbz-current-level-heading label { color: var(--pbz-muted); font-size: 0.75rem; white-space: nowrap; }
.pbz-current-level-heading select { padding: 5px var(--pbz-space-2); margin-left: var(--pbz-space-2); }
.pbz-level-note { font-size: 0.72rem; color: var(--pbz-muted); margin-bottom: 0 !important; }
.pbz-weapon-detail .pbz-overview-stats { font-size: 0.8rem; }
.pbz-weapon-detail .pbz-overview-stats dt small { display: inline-block; color: var(--pbz-muted); }
.pbz-weapon-detail .pbz-overview-stats dd { font-size: 0.875rem; }
.pbz-weapon-detail .pbz-toc { position: static; border: 1px solid var(--pbz-line); border-radius: var(--pbz-radius); background: var(--pbz-panel); padding: var(--pbz-space-3) var(--pbz-space-4); margin: var(--pbz-space-6) 0; }
.pbz-weapon-detail .pbz-section { padding: var(--pbz-space-6); background: var(--pbz-panel); border: 1px solid var(--pbz-line); border-radius: var(--pbz-radius); margin: var(--pbz-space-6) 0; overflow-wrap: anywhere; }
.pbz-weapon-detail .pbz-section > h2 { border-color: var(--pbz-line); font-size: 1.15rem; color: var(--pbz-text); }
.pbz-weapon-detail .pbz-section h3,
.pbz-weapon-detail .pbz-section h4 { color: var(--pbz-text); }
.pbz-weapon-detail .pbz-table-wrap { border-color: var(--pbz-line); border-radius: 8px; }
.pbz-weapon-detail th { background: #25343a; color: var(--pbz-text); border-color: var(--pbz-line); }
.pbz-weapon-detail td { background: var(--pbz-panel); border-color: var(--pbz-line); color: var(--pbz-text); }
.pbz-weapon-detail tr:nth-child(even) td { background: var(--pbz-alt); }
.pbz-weapon-detail .pbz-native-list,
.pbz-weapon-detail .pbz-relations { background: var(--pbz-line); border-color: var(--pbz-line); }
.pbz-weapon-detail .pbz-native-list > li,
.pbz-weapon-detail .pbz-relations > li { background: var(--pbz-alt); }
.pbz-weapon-detail .pbz-native-list > li:nth-child(even),
.pbz-weapon-detail .pbz-relations > li:nth-child(even) { background: #1c272d; }
.pbz-weapon-detail .pbz-related-navigation > a { background: var(--pbz-alt); border-radius: 8px; }
.pbz-weapon-detail .pbz-form { background: var(--pbz-alt); border-color: var(--pbz-line); border-radius: 8px; }
@media (max-width: 1200px) {
  .pbz-layout { grid-template-columns: 220px minmax(0, 1fr); gap: var(--pbz-space-6); padding: 24px; }
  .pbz-weapon-filters { grid-template-columns: minmax(0, 1fr) 110px 90px; }
  .pbz-weapon-filters .pbz-search-field { grid-column: 1 / -1; }
  .pbz-weapon-filters button { grid-row: 3; }
  .pbz-weapon-detail .pbz-detail-heading { grid-template-columns: minmax(140px, 27%) minmax(0, 1fr); padding: var(--pbz-space-4); }
}
@media (max-width: 900px) {
  .pbz-layout { display: block; }
  .pbz-sidebar,
  .pbz-sidebar-heading { background: var(--pbz-bg); }
  .pbz-sidebar { width: min(320px, 88vw); padding: var(--pbz-space-4); }
  .pbz-sidebar-heading { top: -16px; }
  .pbz-sidebar .pbz-nav-item { min-height: 44px; font-size: 0.875rem; }
  .pbz-local-menu { min-height: 44px; }
  .pbz-weapon-filters { grid-template-columns: minmax(0, 1fr) 110px 90px auto auto; }
  .pbz-weapon-filters .pbz-search-field { grid-column: auto; }
  .pbz-weapon-filters button { grid-row: auto; }
}
@media (max-width: 680px) {
  .pbz-layout { padding: var(--pbz-space-4) var(--pbz-space-4) var(--pbz-space-8); }
  .pbz-weapon-grid { grid-template-columns: minmax(0, 1fr); gap: var(--pbz-space-3); }
  .pbz-weapon-filters { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; gap: var(--pbz-space-3) var(--pbz-space-2); padding: var(--pbz-space-3); }
  .pbz-weapon-filters .pbz-search-field { grid-column: 1 / -1; }
  .pbz-weapon-filters input,
  .pbz-weapon-filters select { font-size: 16px; }
  .pbz-weapon-filters .pbz-filter-apply { grid-column: 1 / 3; grid-row: 3; }
  .pbz-weapon-filters button[type='reset'] { grid-column: 3; grid-row: 3; }
  .pbz-weapon-filters > div:nth-child(2) { grid-column: 1 / 3; }
  .pbz-weapon-filters > div:nth-child(3) { grid-column: 3; min-width: 86px; }
  .pbz-weapon-context > span { display: none; }
  .pbz-weapon-title > span { padding-top: var(--pbz-space-6); }
  .pbz-weapon-title p:not(.pbz-eyebrow) { font-size: 0.8rem; }
  .pbz-collection-tabs a { font-size: 0.75rem; padding: 7px var(--pbz-space-2); }
  .pbz-weapon-detail .pbz-detail-heading { display: block; padding: var(--pbz-space-4); }
  .pbz-weapon-detail .pbz-detail-art { height: 180px; margin-bottom: var(--pbz-space-4); }
  .pbz-weapon-detail .pbz-section { padding: var(--pbz-space-4); margin: var(--pbz-space-4) 0; }
  .pbz-weapon-detail .pbz-attributes { grid-template-columns: minmax(0, 1fr); }
  .pbz-weapon-detail .pbz-toc { padding: var(--pbz-space-3); gap: var(--pbz-space-2) var(--pbz-space-3); }
}
@media (prefers-reduced-motion: reduce) { .pbz-weapon-card { transition: none; } }
@media print {
  .pbz-weapon-filters,
  .pbz-collection-tabs,
  .pbz-back-link { display: none; }
  .pbz-weapon-detail .pbz-section,
  .pbz-weapon-detail .pbz-detail-heading { background: #fff; color: #000; border-color: #777; }
}
