/* V2.13.2 R019 - Transformation and Doll codex home aligned with equipment codex */
.transformation-page{background:radial-gradient(circle at 50% 14%,rgba(166,126,55,.07),transparent 32%),#090c0a}
.character-codex-hero--tf .weapon-codex-hero__emblem strong{font-size:48px}
.character-codex-hero--doll .weapon-codex-hero__emblem strong{font-size:50px}
.transformation-page .tf-codex-body{padding-top:30px}
.transformation-page .tf-codex-breadcrumb{margin:0 0 24px;padding-bottom:13px;border-bottom:1px solid rgba(173,139,72,.14)}
.transformation-page .tf-rarity-gateway{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:28px;max-width:none}
.transformation-page .character-rarity-card{--tier-accent:#c7c3b8;--tier-border:rgba(199,195,184,.55);--tier-glow:rgba(199,195,184,.13);position:relative;min-height:640px;display:flex;flex-direction:column;padding:0;overflow:hidden;text-align:left;cursor:pointer;border:1px solid var(--tier-border);background:linear-gradient(90deg,rgba(255,232,177,.035),transparent 14%,transparent 86%,rgba(72,42,17,.12)),repeating-linear-gradient(0deg,rgba(255,244,208,.018) 0,rgba(255,244,208,.018) 1px,transparent 1px,transparent 5px),radial-gradient(ellipse at 50% 22%,var(--tier-glow) 0,transparent 43%),linear-gradient(155deg,#302718 0,#211b12 38%,#15130f 70%,#0c0e0b 100%);box-shadow:inset 0 0 65px rgba(0,0,0,.58),inset 0 0 0 1px rgba(239,208,139,.045),0 20px 48px rgba(0,0,0,.36);transition:transform .24s ease,border-color .24s ease,box-shadow .24s ease}
.transformation-page .character-rarity-card:after{content:"";position:absolute;inset:10px;border:1px solid rgba(226,195,127,.12);pointer-events:none;box-shadow:inset 0 0 26px rgba(20,10,3,.24)}
.transformation-page .character-rarity-card.advanced{--tier-accent:#6fc983;--tier-border:rgba(111,201,131,.68);--tier-glow:rgba(76,190,100,.17)}
.transformation-page .character-rarity-card.rare{--tier-accent:#68adf2;--tier-border:rgba(104,173,242,.70);--tier-glow:rgba(61,135,218,.18)}
.transformation-page .character-rarity-card.hero{--tier-accent:#ec7168;--tier-border:rgba(236,113,104,.72);--tier-glow:rgba(211,70,61,.18)}
.transformation-page .character-rarity-card.legendary{--tier-accent:#bd82e7;--tier-border:rgba(189,130,231,.72);--tier-glow:rgba(151,76,205,.20)}
.transformation-page .character-rarity-card.mythic{--tier-accent:#e8bd59;--tier-border:rgba(232,189,89,.76);--tier-glow:rgba(210,153,36,.21)}
.transformation-page .character-rarity-card:hover,.transformation-page .character-rarity-card:focus{transform:translateY(-5px);border-color:var(--tier-accent);box-shadow:inset 0 0 65px rgba(0,0,0,.58),0 27px 60px rgba(0,0,0,.45),0 0 30px var(--tier-glow);outline:0}
.transformation-page .character-rarity-card.is-empty{opacity:.38;cursor:not-allowed;filter:grayscale(.65)}
.transformation-page .character-rarity-card .rarity-hall-card__content{position:relative;z-index:3;min-height:188px;padding:28px 28px 22px;border:0;background:transparent;box-shadow:none}
.transformation-page .character-rarity-card .rarity-hall-card__english{margin-bottom:9px;color:var(--tier-accent);font-size:12px;letter-spacing:.24em}
.transformation-page .character-rarity-card .rarity-hall-card__content h2{margin:0 0 12px;color:var(--tier-accent);font:30px Georgia,"Noto Serif TC",serif;text-shadow:0 0 18px var(--tier-glow)}
.transformation-page .character-rarity-card .rarity-hall-card__content p{min-height:0;margin:0;color:#b9ad96;font-size:15px;line-height:1.75}
.transformation-page .character-rarity-card .rarity-hall-card__divider{position:relative;z-index:3;height:1px;margin:0 28px;background:linear-gradient(90deg,transparent,var(--tier-border) 13%,var(--tier-border) 87%,transparent)}
.transformation-page .character-rarity-card .rarity-hall-card__display{position:relative;z-index:2;flex:1 1 auto;display:flex;align-items:center;justify-content:center;height:350px;min-height:350px;padding:20px 24px 10px}
.transformation-page .character-rarity-card .rarity-hall-card__display img{position:static;width:auto;height:auto;max-width:94%;max-height:330px;object-fit:contain;transform:none!important;filter:none!important;transition:transform .24s ease}
.transformation-page .character-rarity-card:hover .rarity-hall-card__display img,.transformation-page .character-rarity-card:focus .rarity-hall-card__display img{transform:translateY(-5px) scale(1.035)!important}
.transformation-page .character-rarity-card .rarity-hall-card__showcase{position:relative;z-index:4;display:flex;flex-direction:column;align-items:center;gap:8px;padding:0 24px 28px;text-align:center}
.transformation-page .character-rarity-card .rarity-hall-card__showcase small{color:#9b907a;font-size:11px;letter-spacing:.18em}
.transformation-page .character-rarity-card .rarity-hall-card__showcase strong{display:inline-flex;align-items:center;justify-content:center;min-height:38px;max-width:100%;padding:8px 16px;border:1px solid var(--tier-border);background:rgba(9,11,9,.72);color:var(--tier-accent);font:600 15px "Noto Serif TC",serif;letter-spacing:.05em;box-shadow:inset 0 0 18px rgba(0,0,0,.35)}
.transformation-page .character-rarity-card .rarity-hall-card__fallback{font:48px Georgia;color:var(--tier-accent)}
@media(max-width:1180px){.transformation-page .tf-rarity-gateway{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.transformation-page .tf-rarity-gateway{grid-template-columns:1fr;gap:16px}.transformation-page .character-rarity-card{min-height:560px}.transformation-page .character-rarity-card .rarity-hall-card__display{height:330px;min-height:330px}.transformation-page .character-rarity-card .rarity-hall-card__display img{max-height:305px}}

/* R020 transformation homepage error state */
.transformation-page .tf-api-error{display:flex;min-height:150px;flex-direction:column;align-items:center;justify-content:center;gap:10px;border:1px dashed rgba(210,174,92,.28);color:#c8bda8;text-align:center}
.transformation-page .tf-api-error strong{color:#e4c46f;font:600 17px 'Noto Serif TC',serif}
.transformation-page .tf-api-error small{max-width:680px;color:#887f70;line-height:1.7}

/* R021 — transformation showcase image centering fix
   components.css applies absolute positioning with !important. Keep the
   showcase asset anchored at the true center and preserve centering on hover. */
.transformation-page .character-rarity-card .rarity-hall-card__display{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.transformation-page .character-rarity-card .rarity-hall-card__display img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center center!important;
  object-position:center center;
}
.transformation-page .character-rarity-card:hover .rarity-hall-card__display img,
.transformation-page .character-rarity-card:focus .rarity-hall-card__display img{
  transform:translate(-50%,calc(-50% - 5px)) scale(1.035)!important;
}

/* R022 — remove the unwanted inner top accent from Hero transformation cards. */
.transformation-page .character-rarity-card.hero:after{
  border-top-color:transparent!important;
}

/* R023 — use the proven weapon-codex fix: remove the Hero inner-frame
   pseudo element completely. This preserves only the real outer border. */
.transformation-page .character-rarity-card.hero:after,
.transformation-page .character-rarity-card.hero:hover:after,
.transformation-page .character-rarity-card.hero:focus:after,
.transformation-page .character-rarity-card.hero:focus-visible:after{
  display:none!important;
  content:none!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
.transformation-page .character-rarity-card.hero,
.transformation-page .character-rarity-card.hero:hover,
.transformation-page .character-rarity-card.hero:focus,
.transformation-page .character-rarity-card.hero:focus-visible{
  border-top:1px solid var(--tier-border)!important;
}
.transformation-page .character-rarity-card.hero:before,
.transformation-page .character-rarity-card.hero .rarity-hall-card__content,
.transformation-page .character-rarity-card.hero .rarity-hall-card__divider{
  border-top:0!important;
  box-shadow:none!important;
}

/* R023 — Doll homepage now follows the finalized transformation layout. */
.doll-page .character-rarity-card .rarity-hall-card__display{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.doll-page .character-rarity-card .rarity-hall-card__display img{
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  margin:0!important;
  transform:translate(-50%,-50%)!important;
  transform-origin:center center!important;
  object-position:center center;
}
.doll-page .character-rarity-card:hover .rarity-hall-card__display img,
.doll-page .character-rarity-card:focus .rarity-hall-card__display img{
  transform:translate(-50%,calc(-50% - 5px)) scale(1.035)!important;
}
