
/* v5.5.45 · Collapse specialization cards to three typography sizes:
   13.5px primary, 11.5px content, 9px meta/support. */
#specializationCards{
  --spec-type-primary:13.5px;
  --spec-type-content:11.5px;
  --spec-type-meta:9px;
}

/* Primary */
#specializationCards .spec-card-title h3{
  font-size:var(--spec-type-primary)!important;
  line-height:1.15!important;
  font-weight:780!important;
  letter-spacing:-.012em!important;
}

/* Content */
#specializationCards .spec-info-block strong,
#specializationCards .spec-info-block .signature-style,
#specializationCards .spec-playstyle-block .spec-main-emphasis,
#specializationCards .spec-extra-perk-block .spec-main-emphasis,
#specializationCards .base-perk-block .spec-perk-top span,
#specializationCards .spec-extra-perk-block .spec-perk-top span,
#specializationCards .spec-requirement>span,
#specializationCards .spec-requirement strong,
#specializationCards .spec-action-btn{
  font-size:var(--spec-type-content)!important;
  line-height:1.25!important;
}

/* Meta/support */
#specializationCards .spec-card-title>span,
#specializationCards .spec-card-status,
#specializationCards .spec-base-visual>span,
#specializationCards .spec-info-block>label,
#specializationCards .spec-requirements>label,
#specializationCards .spec-reward-row label,
#specializationCards .spec-info-block small,
#specializationCards .spec-inline-note,
#specializationCards .base-perk-block .spec-perk-top b,
#specializationCards .spec-extra-perk-block .spec-perk-top b,
#specializationCards .spec-perk-desc,
#specializationCards .spec-reward-desc,
#specializationCards .spec-requirement strong em,
#specializationCards .spec-requirement .ok,
#specializationCards .spec-requirement.met::after{
  font-size:var(--spec-type-meta)!important;
  line-height:1.38!important;
}

/* Let weight/colour carry hierarchy instead of extra font sizes. */
#specializationCards .spec-card-title>span{
  font-weight:720!important;
  letter-spacing:.035em!important;
}
#specializationCards .spec-info-block>label,
#specializationCards .spec-requirements>label{
  font-weight:760!important;
  letter-spacing:.045em!important;
}
#specializationCards .spec-requirement strong{
  font-weight:800!important;
}
#specializationCards .spec-action-btn{
  font-weight:720!important;
  letter-spacing:.015em!important;
}

/* PlayStyle+ with corresponding gold shield/icon. */
#specializationCards .spec-main-emphasis.has-spec-ps-badge,
#specializationCards .signature-style.has-spec-ps-badge{
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  min-width:0!important;
}
#specializationCards .spec-ps-badge{
  position:relative;
  flex:0 0 25px;
  width:25px;
  height:28px;
  display:grid;
  place-items:center;
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.28)) drop-shadow(0 0 8px rgba(219,185,83,.10));
}
#specializationCards .spec-ps-badge::before{
  content:"";
  position:absolute;
  inset:0;
  clip-path:polygon(50% 0,91% 18%,84% 72%,50% 100%,16% 72%,9% 18%);
  background:
    linear-gradient(145deg,rgba(246,222,145,.98),rgba(205,164,61,.92) 48%,rgba(122,88,23,.94));
  box-shadow:inset 0 0 0 1px rgba(255,242,190,.34);
}
#specializationCards .spec-ps-badge::after{
  content:"";
  position:absolute;
  inset:2px;
  clip-path:polygon(50% 0,91% 18%,84% 72%,50% 100%,16% 72%,9% 18%);
  background:linear-gradient(145deg,rgba(30,27,18,.94),rgba(16,18,20,.98));
}
#specializationCards .spec-ps-badge img{
  position:relative;
  z-index:2;
  width:16px;
  height:16px;
  object-fit:contain;
  filter:brightness(1.15) saturate(.88);
}
#specializationCards .spec-ps-badge-fallback{
  position:relative;
  z-index:2;
  color:#ead58b;
  font-size:8px;
  line-height:1;
  font-weight:900;
}
#specializationCards .spec-playstyle-block .spec-main-emphasis,
#specializationCards .base-signature-block .signature-style.plus{
  color:#dfc568!important;
}

/* Keep narrow cards comfortable after type normalization. */
@media(min-width:1281px){
  #specializationCards .spec-card-title{
    padding-left:12px!important;
    padding-right:12px!important;
  }
  #specializationCards .spec-requirement{
    min-height:25px!important;
  }
}
