:root {
  --qla-accent: #e46d2e;
  --qla-accent-2: #e4bc61;
}

.qla-hero__art img {
  object-position: 58% 52%;
  filter: saturate(.92) contrast(1.08) brightness(.78);
}

.qla-hero::after {
  content: "";
  position: absolute;
  right: clamp(2rem, 7vw, 8rem);
  top: 50%;
  width: min(32vw, 390px);
  aspect-ratio: 1;
  translate: 0 -50%;
  border-radius: 50%;
  pointer-events: none;
  opacity: .2;
  border: 1px solid color-mix(in srgb, var(--qla-accent-2) 48%, transparent);
  background:
    radial-gradient(circle, transparent 0 34%, color-mix(in srgb, var(--qla-accent) 22%, transparent) 34.5% 35%, transparent 35.5% 55%, color-mix(in srgb, var(--qla-accent-2) 24%, transparent) 55.5% 56%, transparent 56.5%),
    repeating-conic-gradient(from 0deg, color-mix(in srgb, var(--qla-accent) 38%, transparent) 0deg 1deg, transparent 1deg 30deg);
  animation: qla-ring-turn 36s linear infinite;
}

.qla-chapter[data-chapter="primer"] { --chapter-accent: #b88954; }
.qla-chapter[data-chapter="home"] { --chapter-accent: #d69a58; }
.qla-chapter[data-chapter="first-ring"] { --chapter-accent: #e27135; }
.qla-chapter[data-chapter="approach"] { --chapter-accent: #db6433; }
.qla-chapter[data-chapter="burning-work"] { --chapter-accent: #c44d32; }
.qla-chapter[data-chapter="heart"] { --chapter-accent: #a93632; }
.qla-chapter[data-chapter="morning-ash"] { --chapter-accent: #8d8172; }

.qla-chapter[data-chapter="first-ring"] .qla-chapter__mast,
.qla-chapter[data-chapter="approach"] .qla-chapter__mast,
.qla-chapter[data-chapter="burning-work"] .qla-chapter__mast,
.qla-chapter[data-chapter="heart"] .qla-chapter__mast {
  background-image:
    linear-gradient(120deg, rgba(228,109,46,.10), transparent 46%),
    repeating-radial-gradient(circle at 88% 50%, transparent 0 28px, rgba(228,188,97,.035) 29px 30px, transparent 31px 58px);
}

.encounter-checks {
  margin: 1rem 0;
  padding: .35rem 0 .35rem 1rem;
  border-left: 2px solid color-mix(in srgb, var(--chapter-accent, var(--qla-accent)) 58%, transparent);
}

.encounter-checks p {
  margin: .45rem 0;
}

.qla-item-gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .85rem;
  margin: 1rem 0 1.4rem;
}

.qla-item-gallery .item-dossier {
  margin: 0;
}

.item-dossier img,
.npc-card img {
  object-fit: contain;
}

.npc-card img {
  object-position: center bottom;
}

.item-dossier--feature img {
  max-height: 420px;
}

.statblock .ability-grid .ability span {
  white-space: nowrap;
}

@keyframes qla-ring-turn {
  to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
  .qla-hero::after { animation: none; }
}

@media (max-width: 760px) {
  .qla-hero::after {
    width: 72vw;
    right: -20vw;
    opacity: .09;
  }

  .qla-item-gallery {
    grid-template-columns: 1fr;
  }
}
