/* v25: cleaned player cut-outs reveal ability colour behind the person. */
.avatar.player-portrait{
 position:relative;
 overflow:hidden;
 background-color:var(--portrait-bg,#dce7e2);
 background-repeat:no-repeat;
 background-clip:padding-box;
}
.avatar.player-portrait[data-quality="ivory"]{--portrait-bg:#f1eadc}
.avatar.player-portrait[data-quality="green"]{--portrait-bg:#d6e9dc}
.avatar.player-portrait[data-quality="blue"]{--portrait-bg:#d4e4f5}
.avatar.player-portrait[data-quality="purple"]{--portrait-bg:#e5d8f0}
.avatar.player-portrait[data-quality="gold"]{--portrait-bg:#f4dda0}

/* The artwork owns the ability treatment; text stays neutral and readable. */
.player-card[data-card-quality]{background:#fffdf7;color:#342d26;border-color:#d7d1c6}
.player-card[data-card-quality] .player-info{background:#fffdf7;color:#342d26}
.player-card[data-card-quality] .player-info:before,
.player-card[data-card-quality] .player-info:after{display:none}
.player-card[data-card-quality] .player-art{
 position:relative;
 isolation:isolate;
 overflow:hidden;
 border:0;
 background:var(--card-bg);
 box-sizing:border-box;
}
.player-card[data-card-quality] .player-art>.avatar{
 position:absolute;
 inset:0;
 display:block;
 width:100%;
 height:100%;
 z-index:1;
 background-color:transparent;
}

/* High-ability decoration lives behind the transparent person, not over the face. */
.player-card[data-card-quality="purple"] .player-art:before,
.player-card[data-card-quality="gold"] .player-art:before{
 content:'✦';
 position:absolute;
 inset:0;
 z-index:0;
 pointer-events:none;
 color:#fff;
 opacity:.78;
 font-size:28px;
 text-shadow:22px 18px 0 #fff8,118px 36px 0 #fff7,62px 114px 0 #fff8,180px 126px 0 #fff6;
 background:linear-gradient(135deg,#ffffff70,transparent 42%,#ffffff45);
}
.player-card[data-card-quality="gold"] .player-art:after{
 content:'';
 position:absolute;
 inset:-20%;
 z-index:0;
 pointer-events:none;
 background:linear-gradient(110deg,transparent 34%,#fff9 48%,transparent 62%);
 transform:translateX(-115%);
 animation:portrait-card-shine 8s ease-in-out infinite;
}
@keyframes portrait-card-shine{0%,64%{transform:translateX(-115%)}90%,100%{transform:translateX(115%)}}
@media(prefers-reduced-motion:reduce){.player-card[data-card-quality="gold"] .player-art:after{display:none;animation:none}}

