.title-essence {
  margin: 0 auto 22px;
  padding: 14px 18px;
  border: 1px solid #4a3018;
  background: rgba(20, 12, 6, 0.55);
  width: fit-content;
  min-width: 360px;
  text-align: left;
  color: #d0a878;
  font-size: 12px;
  letter-spacing: 2px;
}

.te-row {
  display: flex; align-items: baseline; gap: 10px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #3a2a18;
}
.te-lbl  { color: #8a6040; }
.te-val  {
  color: #f0d070; font-size: 20px; letter-spacing: 4px; font-weight: bold;
  text-shadow: 0 0 8px rgba(240, 200, 100, 0.4);
}
.te-meta { color: #6a4828; font-size: 10px; letter-spacing: 2px; margin-left: auto; }

.te-perks { display: flex; flex-direction: column; gap: 6px; }
.te-perk  {
  display: grid;
  grid-template-columns: 1fr auto auto 64px;
  align-items: center;
  gap: 14px;
  padding: 6px 8px;
}

.tp-name  { color: #d0a878; }
.tp-stack { color: #8a6040; letter-spacing: 1px; font-size: 11px; }
.tp-cost  { color: #f0c070; letter-spacing: 2px; font-size: 11px; min-width: 30px; text-align: right; }

.tp-buy {
  font-family: inherit;
  font-size: 11px;
  letter-spacing: 3px;
  padding: 4px 10px;
  background: #2a1d0f;
  color: #f0c070;
  border: 1px solid #5a4020;
  cursor: pointer;
}
.tp-buy:hover:not([disabled]) {
  background: #3a2814;
  color: #fff;
  border-color: #8a6030;
}
.tp-buy[disabled] {
  color: #4a3818;
  border-color: #2a1d0f;
  cursor: default;
}

#mutator-badge {
  position: fixed;
  top: 14px;
  left: 168px;
  padding: 6px 12px;
  background: linear-gradient(180deg, #1a0d05, #0a0500);
  border: 1px solid #8aa0c0;
  box-shadow: inset 0 0 8px rgba(0, 0, 0, 0.8);
  z-index: 4;
  user-select: none;
  font-size: 11px;
  letter-spacing: 3px;
}
.mb-name { font-weight: bold; letter-spacing: 4px; }
.mb-sub  { font-size: 9px; letter-spacing: 2px; color: #7a8090; margin-top: 2px; }
