.sourcebook--tgs1 {
  --tgs1-rarity-common: #767676;
  --tgs1-rarity-uncommon: #17871f;
  --tgs1-rarity-rare: #1f6fc4;
  --tgs1-rarity-very-rare: #8a1bc9;
  --tgs1-rarity-legendary: #b86e00;
  --tgs1-rarity-artifact: #9c6f4c;
  --tgs1-rarity-varies: #c40e12;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .content-ref[data-rarity='common'] {
  --content-ref-color: var(--tgs1-rarity-common);
  color: var(--content-ref-color);
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .content-ref[data-rarity='uncommon'] {
  --content-ref-color: var(--tgs1-rarity-uncommon);
  color: var(--content-ref-color);
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .content-ref[data-rarity='rare'] {
  --content-ref-color: var(--tgs1-rarity-rare);
  color: var(--content-ref-color);
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .content-ref[data-rarity='very-rare'] {
  --content-ref-color: var(--tgs1-rarity-very-rare);
  color: var(--content-ref-color);
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .content-ref[data-rarity='legendary'] {
  --content-ref-color: var(--tgs1-rarity-legendary);
  color: var(--content-ref-color);
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .content-ref[data-rarity='artifact'] {
  --content-ref-color: var(--tgs1-rarity-artifact);
  color: var(--content-ref-color);
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .content-ref[data-rarity='varies'] {
  --content-ref-color: var(--tgs1-rarity-varies);
  color: var(--content-ref-color);
}

.sourcebook--tgs1 .sourcebook-reader-content .tgs1-rarity-legend {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(5.5rem, 1fr));
  align-items: start;
  gap: 0.75rem 1rem;
  width: 100%;
  margin-block: 0.75em 1em;
}

.sourcebook--tgs1 .sourcebook-reader-content .tgs1-rarity-item {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: center;
  gap: 0.4rem;
}

.sourcebook--tgs1 .sourcebook-reader-content .tgs1-rarity-swatch {
  width: 100%;
  max-width: 10.625rem;
  height: clamp(2.5rem, 5vw, 4.5rem);
  box-shadow: inset 0 0 0 1px rgb(0 0 0 / 8%);
}

.sourcebook--tgs1 .sourcebook-reader-content .tgs1-rarity-label {
  color: var(--rh-sourcebook-text);
  font-size: clamp(0.65rem, 1.1vw, 0.9rem);
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .tgs1-rarity-common
  .tgs1-rarity-swatch {
  background: #e9e9e9;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .tgs1-rarity-uncommon
  .tgs1-rarity-swatch {
  background: #16c710;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .tgs1-rarity-rare
  .tgs1-rarity-swatch {
  background: #4e93df;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .tgs1-rarity-very-rare
  .tgs1-rarity-swatch {
  background: #9c0ee3;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .tgs1-rarity-legendary
  .tgs1-rarity-swatch {
  background: #ffa326;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .tgs1-rarity-artifact
  .tgs1-rarity-swatch {
  background: #c08f77;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  .tgs1-rarity-varies
  .tgs1-rarity-swatch {
  background: #eb0000;
}

.sourcebook--tgs1
  .sourcebook-reader-content
  table.tgs1-overview
  > :is(thead, tbody)
  > tr
  > :first-child {
  overflow-wrap: normal;
  word-break: normal;
}
