.lpds-registry-card {
  --tier-color: #5cc7e8;
  --tier-glow: rgba(92,199,232,.45);

  position: relative;
  padding: 30px 26px;
  border-radius: 18px;
  background:
    radial-gradient(circle at top, var(--tier-glow), transparent 38%),
    linear-gradient(180deg, rgba(15,15,22,.98), rgba(3,3,6,.98));
  border: 1px solid color-mix(in srgb, var(--tier-color) 65%, transparent);
  box-shadow:
    0 0 28px rgba(0,0,0,.55),
    0 0 22px color-mix(in srgb, var(--tier-color) 28%, transparent);
  color: #f4ead7;
  text-align: center;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.lpds-registry-card:hover {
  transform: translateY(-6px);
  border-color: var(--tier-color);
  box-shadow:
    0 12px 34px rgba(0,0,0,.7),
    0 0 30px var(--tier-glow);
}

.lpds-registry-card__avatar {
  width: 108px;
  height: 108px;
  margin: 0 auto 20px;
  border-radius: 50%;
  padding: 4px;
  background: var(--tier-color);
  box-shadow: 0 0 24px var(--tier-glow);
}

.lpds-registry-card__avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  border: 3px solid rgba(0,0,0,.78);
}

.lpds-registry-card h3 {
  margin: 0;
  color: #fff;
  font-size: 1.45rem;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.lpds-registry-card__title {
  margin: 10px 0 20px;
  color: var(--tier-color);
  font-style: italic;
  text-shadow: 0 0 12px var(--tier-glow);
}

.lpds-registry-card__meta {
  display: grid;
  gap: 8px;
  margin: 20px 0 24px;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.12);
}

.lpds-registry-card__meta span {
  color: #f4ead7;
  opacity: .95;
}

.lpds-registry-card__meta span:first-child {
  color: var(--tier-color);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1.4px;
  text-shadow: 0 0 12px var(--tier-glow);
}

.lpds-registry-card__button {
  display: inline-block;
  width: 100%;
  max-width: 260px;
  padding: 13px 22px;
  border-radius: 999px;
  background: rgba(0,0,0,.22);
  border: 1px solid var(--tier-color);
  color: #fff;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: .9rem;
  font-weight: 700;
  box-shadow:
    inset 0 0 14px color-mix(in srgb, var(--tier-color) 18%, transparent),
    0 0 18px var(--tier-glow);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

.lpds-registry-card__button:hover {
  color: #fff;
  background: color-mix(in srgb, var(--tier-color) 22%, rgba(0,0,0,.35));
  transform: translateY(-3px);
  box-shadow:
    inset 0 0 18px color-mix(in srgb, var(--tier-color) 26%, transparent),
    0 0 28px var(--tier-glow);
}

.lpds-registry-card__button:active {
  transform: translateY(1px);
}

/* Tier colors */
.lpds-registry-card.tier-initiate {
  --tier-color: #5cc7e8;
  --tier-glow: rgba(92,199,232,.45);
}

.lpds-registry-card.tier-acolyte {
  --tier-color: #1aaf67;
  --tier-glow: rgba(26,175,103,.45);
}

.lpds-registry-card.tier-ascendant {
  --tier-color: #c1121f;
  --tier-glow: rgba(193,18,31,.45);
}

.lpds-registry-card.tier-keeper {
  --tier-color: #d7b46a;
  --tier-glow: rgba(215,180,106,.5);
}
/* Blood Moon corruption modifier */
.lpds-registry-card.is-blood-moon {
  --tier-color: #c1121f;
  --tier-glow: rgba(193,18,31,.58);

  background:
    radial-gradient(circle at top, rgba(193,18,31,.28), transparent 42%),
    linear-gradient(180deg, rgba(20,2,8,.98), rgba(3,0,2,.98));
  border-color: rgba(193,18,31,.78);
  box-shadow:
    0 0 30px rgba(0,0,0,.68),
    0 0 34px rgba(193,18,31,.48);
}

.lpds-registry-card.is-blood-moon::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,70,70,.18), transparent 24%),
    radial-gradient(circle at 80% 10%, rgba(193,18,31,.16), transparent 26%),
    linear-gradient(135deg, transparent, rgba(193,18,31,.12), transparent);
  opacity: .75;
}

.lpds-registry-card.is-blood-moon .lpds-registry-card__title,
.lpds-registry-card.is-blood-moon .lpds-registry-card__meta span:first-child {
  color: #ff5a5f;
  text-shadow: 0 0 14px rgba(193,18,31,.75);
}

.lpds-registry-card.is-blood-moon .lpds-registry-card__button {
  border-color: #ff5a5f;
  box-shadow:
    inset 0 0 18px rgba(193,18,31,.28),
    0 0 24px rgba(193,18,31,.58);
}
/* Blood Moon text corruption */
.lpds-registry-card.is-blood-moon h3,
.lpds-registry-card.is-blood-moon .lpds-registry-card__title,
.lpds-registry-card.is-blood-moon .lpds-registry-card__meta span:first-child {
  position: relative;
  animation: bloodMoonTextPulse 2.8s infinite ease-in-out;
}

.lpds-registry-card.is-blood-moon h3::before,
.lpds-registry-card.is-blood-moon h3::after {
  content: attr(data-text);
  position: absolute;
  inset: 0;
  pointer-events: none;
  opacity: 0;
}

.lpds-registry-card.is-blood-moon h3::before {
  color: #ff3344;
  transform: translateX(-1px);
  animation: bloodMoonGlitchA 4.2s infinite steps(1);
}

.lpds-registry-card.is-blood-moon h3::after {
  color: #5cc7e8;
  transform: translateX(1px);
  animation: bloodMoonGlitchB 5.1s infinite steps(1);
}

@keyframes bloodMoonTextPulse {
  0%, 100% {
    text-shadow: 0 0 10px rgba(193,18,31,.45);
  }
  50% {
    text-shadow:
      0 0 16px rgba(193,18,31,.85),
      0 0 28px rgba(255,90,95,.45);
  }
}

@keyframes bloodMoonGlitchA {
  0%, 92%, 100% { opacity: 0; clip-path: inset(0 0 0 0); }
  93% { opacity: .75; clip-path: inset(0 0 72% 0); }
  94% { opacity: .35; clip-path: inset(42% 0 28% 0); }
  95% { opacity: 0; }
}

@keyframes bloodMoonGlitchB {
  0%, 88%, 100% { opacity: 0; clip-path: inset(0 0 0 0); }
  89% { opacity: .55; clip-path: inset(70% 0 0 0); }
  90% { opacity: .35; clip-path: inset(22% 0 52% 0); }
  91% { opacity: 0; }
}
.lpds-registry-card.tier-veilmaster {
    --tier-color: #9b5cff;
    --tier-glow: rgba(155,92,255,.55);
}
.lpds-registry-card.tier-veilmaster {
  --tier-color: #9b5cff;
  --tier-glow: rgba(155,92,255,.58);
}

.lpds-registry-card.tier-veilmaster .lpds-registry-card__avatar {
  box-shadow:
    0 0 24px rgba(155,92,255,.58),
    0 0 42px rgba(155,92,255,.32);
}

.lpds-registry-card.tier-veilmaster::after {
  content: "✦";
  position: absolute;
  top: 14px;
  right: 18px;
  color: #9b5cff;
  text-shadow: 0 0 14px rgba(155,92,255,.8);
  font-size: 1.2rem;
}
/* Tier colors */
.lpds-registry-card.tier-initiate {
  --tier-color: #5cc7e8;
  --tier-glow: rgba(92,199,232,.45);
}

.lpds-registry-card.tier-acolyte {
  --tier-color: #1aaf67;
  --tier-glow: rgba(26,175,103,.45);
}

.lpds-registry-card.tier-ascendant {
  --tier-color: #c1121f;
  --tier-glow: rgba(193,18,31,.45);
}

.lpds-registry-card.tier-keeper {
  --tier-color: #d7b46a;
  --tier-glow: rgba(215,180,106,.5);
}

.lpds-registry-card.tier-veilmaster {
  --tier-color: #9b5cff;
  --tier-glow: rgba(155,92,255,.58);
}

/* Blood Moon corruption */
.lpds-registry-card.is-blood-moon:not(.tier-veilmaster) {
  --tier-color: #c1121f;
  --tier-glow: rgba(193,18,31,.58);
}

/* Veilmaster resists corruption differently */
.lpds-registry-card.tier-veilmaster.is-blood-moon {
  --tier-color: #9b5cff;
  --tier-glow: rgba(155,92,255,.7);
  border-color: rgba(155,92,255,.8);
}