/**
 * Avatar frame per-type effects — bronze through neon (transform/opacity/filter only).
 */

.nx-frame--bronze .nx-afe__border,
.nx-frame--silver .nx-afe__border,
.nx-frame--gold .nx-afe__border,
.nx-frame--gold-glow .nx-afe__border,
.nx-frame--gold_glow .nx-afe__border,
.nx-frame--diamond .nx-afe__border,
.nx-frame--diamond-ice .nx-afe__border,
.nx-frame--diamond_ice .nx-afe__border,
.nx-frame--neon .nx-afe__border,
.nx-frame--cyber .nx-afe__border,
.nx-frame--elite .nx-afe__border,
.nx-frame--master .nx-afe__border,
.nx-frame--legend .nx-afe__border,
.nx-frame--mythic .nx-afe__border {
	padding: var(--nx-afe-ring);
	-webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
}

.nx-anim--bronze .nx-afe__border,
.nx-frame--bronze .nx-afe__border {
	background: conic-gradient(from 200deg, #cd7f32, #8b5a2b, #e8a862, #cd7f32);
	animation: nx-fx-bronze var(--nx-rarity-speed, 5s) linear infinite;
}
@keyframes nx-fx-bronze {
	0% { filter: brightness(1) drop-shadow(0 0 6px rgba(205,127,50,.35)); transform: rotate(0deg); }
	50% { filter: brightness(1.12) drop-shadow(0 0 10px rgba(205,127,50,.5)); }
	100% { filter: brightness(1) drop-shadow(0 0 6px rgba(205,127,50,.35)); transform: rotate(360deg); }
}

.nx-anim--silver .nx-afe__border,
.nx-frame--silver .nx-afe__border {
	background: conic-gradient(from 0deg, #e8e8e8, #9aa0a6, #f5f5f5, #9aa0a6, #e8e8e8);
	animation: nx-fx-silver var(--nx-rarity-speed, 4s) ease-in-out infinite;
}
@keyframes nx-fx-silver {
	0%, 100% { opacity: 0.92; filter: drop-shadow(0 0 10px rgba(192,192,192,.35)); }
	50% { opacity: 1; filter: drop-shadow(0 0 18px rgba(255,255,255,.45)); }
}

.nx-anim--gold .nx-afe__border,
.nx-frame--gold .nx-afe__border,
.nx-frame--gold-glow .nx-afe__border,
.nx-frame--gold_glow .nx-afe__border {
	background: conic-gradient(from 0deg, #ffd700, #ffec8b, #c9a227, #fff3a0, #ffd700);
	animation: nx-fx-gold var(--nx-rarity-speed, 4s) linear infinite;
}
@keyframes nx-fx-gold {
	0% { filter: drop-shadow(0 0 10px rgba(255,215,0,.4)); transform: rotate(0deg); }
	100% { filter: drop-shadow(0 0 16px rgba(255,215,0,.65)); transform: rotate(360deg); }
}

.nx-anim--diamond .nx-afe__border,
.nx-frame--diamond .nx-afe__border,
.nx-frame--diamond-ice .nx-afe__border,
.nx-frame--diamond_ice .nx-afe__border {
	background: conic-gradient(from 180deg, #7fdbff, #e0f7ff, #4a90d9, #b8ecff, #7fdbff);
	animation: nx-fx-diamond var(--nx-rarity-speed, 3.5s) linear infinite;
}
@keyframes nx-fx-diamond {
	0% { filter: hue-rotate(0deg) drop-shadow(0 0 12px rgba(127,219,255,.45)); }
	100% { filter: hue-rotate(25deg) drop-shadow(0 0 18px rgba(127,219,255,.6)); }
}

.nx-anim--elite .nx-afe__border,
.nx-frame--elite .nx-afe__border,
.nx-frame--master .nx-afe__border {
	background: conic-gradient(from 90deg, #9b59b6, #6c5ce7, #a29bfe, #9b59b6);
	animation: nx-fx-elite var(--nx-rarity-speed, 3s) linear infinite;
}
@keyframes nx-fx-elite {
	0% { transform: rotate(0deg) scale(1); opacity: 0.95; }
	50% { transform: rotate(180deg) scale(1.02); opacity: 1; }
	100% { transform: rotate(360deg) scale(1); opacity: 0.95; }
}

.nx-anim--legend .nx-afe__border,
.nx-frame--legend .nx-afe__border {
	background: conic-gradient(from 0deg, #ff6b6b, #ffa502, #ff6348, #ff6b6b);
	animation: nx-fx-legend var(--nx-rarity-speed, 3s) ease-in-out infinite;
}
@keyframes nx-fx-legend {
	0%, 100% { filter: drop-shadow(0 0 14px rgba(255,107,53,.45)); transform: scale(1); }
	50% { filter: drop-shadow(0 0 22px rgba(255,165,2,.65)); transform: scale(1.02); }
}

.nx-anim--mythic .nx-afe__border,
.nx-frame--mythic .nx-afe__border {
	background: conic-gradient(from 0deg, #ff2d55, #a855f7, #00f5ff, #ff6b6b, #ff2d55);
	animation: nx-fx-mythic var(--nx-rarity-speed, 2.5s) linear infinite;
}
.nx-anim--mythic .nx-afe__glow,
.nx-frame--mythic .nx-afe__glow {
	animation: nx-fx-mythic-glow var(--nx-rarity-speed, 2.5s) ease-in-out infinite;
}
@keyframes nx-fx-mythic {
	0% { transform: rotate(0deg); filter: drop-shadow(0 0 16px rgba(255,45,85,.45)); }
	100% { transform: rotate(360deg); filter: drop-shadow(0 0 24px rgba(168,85,247,.55)); }
}
@keyframes nx-fx-mythic-glow {
	0%, 100% { opacity: 0.55; transform: scale(1); }
	50% { opacity: 0.9; transform: scale(1.1); }
}

.nx-anim--cyber .nx-afe__border,
.nx-frame--cyber .nx-afe__border {
	background: linear-gradient(135deg, #00ffa3, #00c8ff 50%, #7c3aed);
	animation: nx-fx-cyber var(--nx-rarity-speed, 3s) ease-in-out infinite;
}
.nx-anim--cyber .nx-afe__reflection,
.nx-frame--cyber .nx-afe__reflection {
	animation: nx-fx-cyber-scan 2s linear infinite;
}
@keyframes nx-fx-cyber {
	0%, 100% { filter: drop-shadow(0 0 12px rgba(0,255,163,.4)); opacity: 0.95; }
	50% { filter: drop-shadow(0 0 20px rgba(0,200,255,.55)); opacity: 1; }
}
@keyframes nx-fx-cyber-scan {
	0% { transform: translateY(-30%) rotate(0deg); opacity: 0.15; }
	50% { transform: translateY(10%) rotate(0deg); opacity: 0.45; }
	100% { transform: translateY(30%) rotate(0deg); opacity: 0.15; }
}

.nx-anim--neon .nx-afe__border,
.nx-frame--neon .nx-afe__border {
	background: conic-gradient(from 0deg, #00f5ff, #ff2d55, #a855f7, #00f5ff);
	animation: nx-fx-neon var(--nx-rarity-speed, 2.5s) ease-in-out infinite;
}
@keyframes nx-fx-neon {
	0%, 100% { filter: drop-shadow(0 0 14px rgba(0,245,255,.55)); opacity: 1; }
	33% { filter: drop-shadow(0 0 18px rgba(255,45,85,.55)); }
	66% { filter: drop-shadow(0 0 18px rgba(168,85,247,.55)); }
}
