.forge-card-badge-fx {
  position: absolute;
  inset: 0;
  z-index: 145;
  pointer-events: none;
  overflow: visible;
}

.forge-card-badge-fx__slot {
  --badge-rarity-primary: #d8e0e8;
  --badge-rarity-secondary: #687382;
  --badge-rarity-glow: rgba(174, 186, 201, .2);
  position: absolute;
  display: block;
  pointer-events: auto;
  cursor: help;
  isolation: isolate;
  transition: filter .24s ease, transform .24s ease;
  will-change: filter, transform;
}

.forge-card-badge-fx__slot > i {
  position: absolute;
  display: block;
  pointer-events: none;
}

.forge-card-badge-fx__aura {
  z-index: 0;
  inset: -18%;
  border-radius: 50%;
  background: radial-gradient(circle, var(--badge-rarity-glow), transparent 68%);
  filter: blur(calc(6cqw * var(--badge-effect-intensity)));
  opacity: 0;
}

.forge-card-badge-fx__ornament {
  z-index: 4;
  inset: 3%;
  border: .18cqw solid var(--badge-rarity-primary);
  border-radius: inherit;
  clip-path: inherit;
  box-shadow: 0 0 calc(1.1cqw * var(--badge-effect-intensity)) var(--badge-rarity-glow), inset 0 0 calc(.8cqw * var(--badge-effect-intensity)) var(--badge-rarity-glow);
  opacity: .66;
}

.forge-card-badge-fx__sweep {
  z-index: 3;
  inset: -22%;
  background: linear-gradient(112deg, transparent 34%, rgba(255,255,255,0) 42%, rgba(255,255,255,.25) 49%, rgba(255,255,255,.82) 52%, rgba(255,255,255,0) 59%, transparent 66%);
  transform: translateX(-82%) rotate(-9deg);
  mix-blend-mode: screen;
  opacity: 0;
}

.forge-card-badge-fx__particles {
  z-index: 7;
  inset: -28%;
  background: radial-gradient(circle at 16% 24%, var(--badge-rarity-primary) 0 .13cqw, transparent .25cqw), radial-gradient(circle at 84% 18%, #fff 0 .13cqw, transparent .25cqw), radial-gradient(circle at 76% 78%, var(--badge-rarity-primary) 0 .16cqw, transparent .28cqw), radial-gradient(circle at 24% 84%, #fff 0 .13cqw, transparent .25cqw), radial-gradient(circle at 50% 5%, var(--badge-rarity-secondary) 0 .13cqw, transparent .25cqw);
  filter: drop-shadow(0 0 .55cqw var(--badge-rarity-primary));
  opacity: 0;
  transform: scale(.78);
}

.forge-card-badge-fx__rays {
  z-index: 1;
  inset: -34%;
  border-radius: 50%;
  opacity: 0;
  transform: scale(.82);
}

.forge-card-badge-fx__ring {
  z-index: 5;
  inset: -14%;
  border-radius: 50%;
  opacity: 0;
}

.forge-card-badge-fx__wave {
  z-index: 1;
  inset: -34%;
  border-radius: 50%;
  opacity: 0;
}

.forge-card-badge-fx__noise {
  z-index: 6;
  inset: -8%;
  border-radius: inherit;
  clip-path: inherit;
  opacity: 0;
  mix-blend-mode: screen;
}

.family-pin,
.family-medal { border-radius: 50%; }

.family-shield {
  clip-path: polygon(50% 0, 92% 13%, 100% 58%, 78% 86%, 50% 100%, 22% 86%, 0 58%, 8% 13%);
}

.family-seal {
  clip-path: polygon(50% 0, 61% 10%, 75% 5%, 82% 18%, 95% 25%, 90% 40%, 100% 50%, 90% 61%, 95% 75%, 81% 82%, 75% 96%, 60% 91%, 50% 100%, 39% 90%, 25% 96%, 18% 82%, 5% 75%, 10% 60%, 0 50%, 10% 39%, 5% 25%, 19% 18%, 25% 5%, 40% 10%);
}

.rarity-core { filter: drop-shadow(0 .5cqw .8cqw rgba(0,0,0,.42)) saturate(.78); }
.rarity-core .forge-card-badge-fx__ornament { border-style: dashed; opacity: .38; box-shadow: none; }
.rarity-rare { --badge-rarity-primary:#7de7ff; --badge-rarity-secondary:#177ca7; --badge-rarity-glow:rgba(35,190,242,.34); filter:drop-shadow(0 0 .8cqw rgba(35,190,242,.28)); }
.rarity-elite { --badge-rarity-primary:#c19aff; --badge-rarity-secondary:#743ac7; --badge-rarity-glow:rgba(133,73,226,.4); filter:drop-shadow(0 0 1cqw rgba(133,73,226,.32)); }
.rarity-elite .forge-card-badge-fx__ornament { inset:0; border-width:.28cqw; box-shadow:0 0 0 .35cqw rgba(122,72,199,.17),0 0 1.2cqw rgba(133,73,226,.48),inset 0 0 .8cqw rgba(214,187,255,.3); }
.rarity-hero { --badge-rarity-primary:#ff79c8; --badge-rarity-secondary:#c72282; --badge-rarity-glow:rgba(255,48,154,.46); filter:drop-shadow(0 0 1.2cqw rgba(255,48,154,.36)); }
.rarity-hero .forge-card-badge-fx__ornament { inset:-3%; border:0; background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.82) 0 2deg,transparent 2deg 28deg); opacity:.65; mask:radial-gradient(circle,transparent 62%,#000 64%); -webkit-mask:radial-gradient(circle,transparent 62%,#000 64%); }
.rarity-legendary { --badge-rarity-primary:#ffe58b; --badge-rarity-secondary:#c78813; --badge-rarity-glow:rgba(255,191,42,.5); filter:drop-shadow(0 0 1.4cqw rgba(255,191,42,.42)); }
.rarity-legendary .forge-card-badge-fx__ornament { inset:-5%; border:0; background:repeating-conic-gradient(from 0deg,#fff3b1 0 3deg,transparent 3deg 18deg); opacity:.82; mask:radial-gradient(circle,transparent 58%,#000 60%); -webkit-mask:radial-gradient(circle,transparent 58%,#000 60%); filter:drop-shadow(0 0 .6cqw rgba(255,201,67,.7)); }
.rarity-icon { --badge-rarity-primary:#fff8d5; --badge-rarity-secondary:#a678ff; --badge-rarity-glow:rgba(176,137,255,.54); filter:drop-shadow(0 0 1.6cqw rgba(176,137,255,.48)) saturate(1.18); }
.rarity-icon .forge-card-badge-fx__ornament { inset:-6%; border:.3cqw solid transparent; background:conic-gradient(from 0deg,#fff,#71e8ff,#cd8cff,#ffe677,#72ffd0,#fff) border-box; opacity:.92; mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0); mask-composite:exclude; -webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0); -webkit-mask-composite:xor; filter:drop-shadow(0 0 .7cqw rgba(180,145,255,.8)); }

.effect-none .forge-card-badge-fx__aura,
.effect-none .forge-card-badge-fx__sweep,
.effect-none .forge-card-badge-fx__particles,
.effect-none .forge-card-badge-fx__rays,
.effect-none .forge-card-badge-fx__ring,
.effect-none .forge-card-badge-fx__wave,
.effect-none .forge-card-badge-fx__noise,
.trigger-none .forge-card-badge-fx__aura,
.trigger-none .forge-card-badge-fx__sweep,
.trigger-none .forge-card-badge-fx__particles,
.trigger-none .forge-card-badge-fx__rays,
.trigger-none .forge-card-badge-fx__ring,
.trigger-none .forge-card-badge-fx__wave,
.trigger-none .forge-card-badge-fx__noise { display: none; }

.effect-soft-glow .forge-card-badge-fx__aura { animation: forgeBadgeAura var(--badge-effect-duration) ease-in-out infinite paused; }
.effect-light-sweep .forge-card-badge-fx__sweep { animation: forgeBadgeSweep var(--badge-effect-duration) cubic-bezier(.24,.7,.28,1) infinite paused; }
.effect-pulse { animation: forgeBadgePulse var(--badge-effect-duration) ease-in-out infinite paused; transform-origin:center; }
.effect-orbit .forge-card-badge-fx__ornament { animation: forgeBadgeOrbit var(--badge-effect-duration) linear infinite paused; transform-origin:center; }
.effect-sparkles .forge-card-badge-fx__particles { animation: forgeBadgeSparkles var(--badge-effect-duration) ease-in-out infinite paused; }
.effect-prism .forge-card-badge-fx__aura { background:conic-gradient(from 0deg,rgba(114,232,255,.45),rgba(216,142,255,.48),rgba(255,230,119,.45),rgba(100,255,207,.45),rgba(114,232,255,.45)); animation:forgeBadgePrism var(--badge-effect-duration) linear infinite paused; }
.effect-prism .forge-card-badge-fx__sweep { animation:forgeBadgeSweep calc(var(--badge-effect-duration) * .72) cubic-bezier(.24,.7,.28,1) infinite paused; }
.effect-prism .forge-card-badge-fx__ornament { animation:forgeBadgeOrbit var(--badge-effect-duration) linear infinite paused; }
.effect-neon-aura .forge-card-badge-fx__aura { inset:-24%; background:radial-gradient(circle,transparent 40%,color-mix(in srgb,var(--badge-rarity-primary) 70%,#00f5ff) 53%,transparent 69%); filter:blur(calc(4cqw * var(--badge-effect-intensity))); animation:forgeBadgeNeonAura calc(var(--badge-effect-duration) * .72) steps(2,end) infinite paused; }
.effect-neon-aura .forge-card-badge-fx__ring { inset:-8%; border:.28cqw solid color-mix(in srgb,var(--badge-rarity-primary) 72%,#ff49da); box-shadow:0 0 calc(1.3cqw * var(--badge-effect-intensity)) currentColor,inset 0 0 calc(.9cqw * var(--badge-effect-intensity)) currentColor; animation:forgeBadgeNeonRing var(--badge-effect-duration) ease-in-out infinite paused; }
.effect-holo-scan .forge-card-badge-fx__noise { inset:2%; background:repeating-linear-gradient(0deg,rgba(120,238,255,.04) 0 .25cqw,rgba(120,238,255,.22) .25cqw .4cqw,transparent .4cqw .75cqw); opacity:.5; animation:forgeBadgeHoloNoise calc(var(--badge-effect-duration) * .5) linear infinite paused; }
.effect-holo-scan .forge-card-badge-fx__sweep { inset:-8% 0; background:linear-gradient(180deg,transparent 0 42%,rgba(157,247,255,.12) 46%,rgba(225,255,255,.95) 50%,rgba(104,229,255,.18) 54%,transparent 58%); transform:translateY(-65%); animation:forgeBadgeHoloScan var(--badge-effect-duration) linear infinite paused; }
.effect-electric-arc .forge-card-badge-fx__ring { inset:-10%; background:repeating-conic-gradient(from 12deg,transparent 0 9deg,#fff 10deg 11deg,var(--badge-rarity-primary) 12deg 15deg,transparent 16deg 31deg); mask:radial-gradient(circle,transparent 57%,#000 59% 66%,transparent 68%); -webkit-mask:radial-gradient(circle,transparent 57%,#000 59% 66%,transparent 68%); filter:drop-shadow(0 0 .55cqw var(--badge-rarity-primary)); animation:forgeBadgeElectricArc calc(var(--badge-effect-duration) * .42) steps(5,end) infinite paused; }
.effect-electric-arc .forge-card-badge-fx__particles { animation:forgeBadgeElectricSparks calc(var(--badge-effect-duration) * .6) steps(3,end) infinite paused; }
.effect-plasma-ring .forge-card-badge-fx__ring { inset:-16%; background:conic-gradient(from 0deg,transparent 0 12%,var(--badge-rarity-primary) 19%,#fff 23%,var(--badge-rarity-secondary) 31%,transparent 39% 58%,var(--badge-rarity-primary) 68%,transparent 77%); mask:radial-gradient(circle,transparent 55%,#000 58% 68%,transparent 71%); -webkit-mask:radial-gradient(circle,transparent 55%,#000 58% 68%,transparent 71%); filter:blur(.05cqw) drop-shadow(0 0 .75cqw var(--badge-rarity-primary)); animation:forgeBadgePlasmaRing calc(var(--badge-effect-duration) * .76) linear infinite paused; }
.effect-plasma-ring .forge-card-badge-fx__aura { background:radial-gradient(circle,transparent 38%,var(--badge-rarity-glow) 55%,transparent 72%); animation:forgeBadgeAura calc(var(--badge-effect-duration) * .8) ease-in-out infinite paused; }
.effect-flame-crown .forge-card-badge-fx__rays { inset:-38% -24% -10%; background:repeating-conic-gradient(from 248deg at 50% 62%,transparent 0 7deg,#ffcf54 8deg 11deg,#ff5b25 12deg 16deg,transparent 17deg 27deg); clip-path:polygon(0 0,100% 0,100% 58%,0 58%); filter:blur(.06cqw) drop-shadow(0 0 .6cqw #ff5b25); transform-origin:50% 62%; animation:forgeBadgeFlameCrown calc(var(--badge-effect-duration) * .48) ease-in-out infinite paused; }
.effect-flame-crown .forge-card-badge-fx__aura { background:radial-gradient(ellipse at 50% 35%,rgba(255,197,60,.7),rgba(255,63,18,.26) 40%,transparent 70%); animation:forgeBadgeFlameGlow calc(var(--badge-effect-duration) * .6) ease-in-out infinite paused; }
.effect-frost-bloom .forge-card-badge-fx__rays { inset:-27%; background:repeating-conic-gradient(from 0deg,transparent 0 13deg,rgba(226,252,255,.95) 14deg 16deg,rgba(84,210,255,.68) 17deg 20deg,transparent 21deg 45deg); mask:radial-gradient(circle,transparent 46%,#000 48% 65%,transparent 67%); -webkit-mask:radial-gradient(circle,transparent 46%,#000 48% 65%,transparent 67%); filter:drop-shadow(0 0 .55cqw #7be8ff); animation:forgeBadgeFrostBloom var(--badge-effect-duration) ease-in-out infinite paused; }
.effect-frost-bloom .forge-card-badge-fx__aura { background:radial-gradient(circle,rgba(218,250,255,.5),rgba(82,206,255,.18) 48%,transparent 70%); animation:forgeBadgeFrostAura var(--badge-effect-duration) ease-in-out infinite paused; }
.effect-shadow-smoke .forge-card-badge-fx__aura { inset:-34%; background:radial-gradient(ellipse at 30% 58%,rgba(0,0,0,.78),transparent 46%),radial-gradient(ellipse at 74% 40%,rgba(69,38,94,.55),transparent 48%),radial-gradient(circle,rgba(10,9,18,.72),transparent 68%); filter:blur(calc(8cqw * var(--badge-effect-intensity))); animation:forgeBadgeShadowSmoke calc(var(--badge-effect-duration) * 1.3) ease-in-out infinite paused; }
.effect-shadow-smoke .forge-card-badge-fx__noise { inset:-28%; background:radial-gradient(ellipse at 20% 60%,rgba(130,89,157,.34),transparent 28%),radial-gradient(ellipse at 80% 35%,rgba(32,25,44,.7),transparent 32%),radial-gradient(ellipse at 55% 82%,rgba(0,0,0,.74),transparent 29%); filter:blur(.8cqw); animation:forgeBadgeSmokeDrift calc(var(--badge-effect-duration) * 1.15) ease-in-out infinite paused; }
.effect-cosmic-dust .forge-card-badge-fx__aura { inset:-30%; background:radial-gradient(circle at 40% 50%,rgba(88,70,190,.42),rgba(8,17,56,.45) 42%,transparent 72%); animation:forgeBadgeCosmicAura calc(var(--badge-effect-duration) * 1.2) ease-in-out infinite paused; }
.effect-cosmic-dust .forge-card-badge-fx__particles { inset:-39%; background:radial-gradient(circle at 12% 18%,#fff 0 .12cqw,transparent .24cqw),radial-gradient(circle at 25% 78%,#7de7ff 0 .15cqw,transparent .28cqw),radial-gradient(circle at 48% 9%,#fff4b7 0 .1cqw,transparent .22cqw),radial-gradient(circle at 69% 68%,#c19aff 0 .16cqw,transparent .3cqw),radial-gradient(circle at 91% 31%,#fff 0 .12cqw,transparent .24cqw),radial-gradient(circle at 78% 92%,#7de7ff 0 .1cqw,transparent .22cqw),radial-gradient(circle at 6% 56%,#ff79c8 0 .1cqw,transparent .22cqw); filter:drop-shadow(0 0 .35cqw #a68cff); animation:forgeBadgeCosmicDust calc(var(--badge-effect-duration) * 1.15) linear infinite paused; }
.effect-confetti-burst .forge-card-badge-fx__particles { inset:-38%; background:linear-gradient(22deg,transparent 48%,#ffdc67 49% 52%,transparent 53%) 13% 18%/.9cqw .9cqw no-repeat,linear-gradient(78deg,transparent 47%,#5ee7ff 48% 53%,transparent 54%) 82% 22%/1cqw 1cqw no-repeat,linear-gradient(135deg,transparent 47%,#ff6ebe 48% 53%,transparent 54%) 74% 82%/1cqw 1cqw no-repeat,linear-gradient(45deg,transparent 47%,#8cff9b 48% 53%,transparent 54%) 19% 78%/.9cqw .9cqw no-repeat,radial-gradient(circle at 50% 4%,#fff 0 .18cqw,transparent .32cqw),radial-gradient(circle at 6% 48%,#ff8d47 0 .18cqw,transparent .32cqw),radial-gradient(circle at 94% 55%,#a981ff 0 .18cqw,transparent .32cqw); animation:forgeBadgeConfettiBurst var(--badge-effect-duration) cubic-bezier(.18,.72,.2,1) infinite paused; }
.effect-comet-trail .forge-card-badge-fx__ring { inset:-18%; background:conic-gradient(from 0deg,transparent 0 72%,rgba(255,255,255,.1) 76%,var(--badge-rarity-primary) 84%,#fff 88%,transparent 92%); mask:radial-gradient(circle,transparent 54%,#000 58% 65%,transparent 69%); -webkit-mask:radial-gradient(circle,transparent 54%,#000 58% 65%,transparent 69%); filter:drop-shadow(0 0 .7cqw var(--badge-rarity-primary)); animation:forgeBadgeCometTrail calc(var(--badge-effect-duration) * .72) linear infinite paused; }
.effect-comet-trail .forge-card-badge-fx__particles { background:radial-gradient(circle at 86% 16%,#fff 0 .2cqw,transparent .38cqw),radial-gradient(circle at 72% 10%,var(--badge-rarity-primary) 0 .13cqw,transparent .26cqw),radial-gradient(circle at 94% 33%,var(--badge-rarity-secondary) 0 .13cqw,transparent .26cqw); animation:forgeBadgeCometParticles calc(var(--badge-effect-duration) * .72) linear infinite paused; }
.effect-pixel-glitch { animation:forgeBadgePixelGlitch calc(var(--badge-effect-duration) * .5) steps(8,end) infinite paused; }
.effect-pixel-glitch .forge-card-badge-fx__noise { inset:0; background:repeating-linear-gradient(0deg,transparent 0 .65cqw,rgba(81,229,255,.28) .75cqw .9cqw,transparent 1cqw 1.45cqw),repeating-linear-gradient(90deg,rgba(255,65,176,.12) 0 .25cqw,transparent .25cqw 1cqw); mix-blend-mode:screen; animation:forgeBadgePixelNoise calc(var(--badge-effect-duration) * .38) steps(6,end) infinite paused; }
.effect-sonic-wave .forge-card-badge-fx__wave { background:repeating-radial-gradient(circle,transparent 0 18%,color-mix(in srgb,var(--badge-rarity-primary) 65%,transparent) 20% 22%,transparent 24% 36%); filter:drop-shadow(0 0 .35cqw var(--badge-rarity-primary)); animation:forgeBadgeSonicWave calc(var(--badge-effect-duration) * .82) ease-out infinite paused; }
.effect-rune-rotation .forge-card-badge-fx__ring { inset:-17%; background:repeating-conic-gradient(from 0deg,transparent 0 8deg,var(--badge-rarity-primary) 9deg 11deg,transparent 12deg 28deg,var(--badge-rarity-secondary) 29deg 31deg,transparent 32deg 45deg); mask:radial-gradient(circle,transparent 54%,#000 57% 64%,transparent 67%); -webkit-mask:radial-gradient(circle,transparent 54%,#000 57% 64%,transparent 67%); filter:drop-shadow(0 0 .5cqw var(--badge-rarity-primary)); animation:forgeBadgeRuneRotation var(--badge-effect-duration) linear infinite paused; }
.effect-rune-rotation .forge-card-badge-fx__ornament { animation:forgeBadgeRuneCounterRotation calc(var(--badge-effect-duration) * 1.4) linear infinite paused; }
.effect-liquid-metal { animation:forgeBadgeLiquidMetal var(--badge-effect-duration) ease-in-out infinite paused; }
.effect-liquid-metal .forge-card-badge-fx__sweep { inset:-8%; background:linear-gradient(105deg,transparent 15%,rgba(255,255,255,.08) 28%,rgba(255,255,255,.9) 44%,var(--badge-rarity-primary) 52%,rgba(255,255,255,.16) 65%,transparent 82%); filter:blur(.12cqw); mix-blend-mode:screen; animation:forgeBadgeLiquidSweep calc(var(--badge-effect-duration) * .9) ease-in-out infinite paused; }

.trigger-auto,
.trigger-both,
.trigger-auto > i,
.trigger-both > i { animation-play-state: running; }

.trigger-hover:hover,
.trigger-hover:hover > i { animation-play-state: running; }

.trigger-hover:hover,
.trigger-both:hover {
  transform: translateY(-.28cqw) scale(calc(1 + .025 * var(--badge-effect-intensity)));
  filter: drop-shadow(0 0 calc(1.5cqw * var(--badge-effect-intensity)) var(--badge-rarity-glow)) saturate(1.12);
}

@keyframes forgeBadgeAura { 0%,100%{opacity:.12;transform:scale(.92)} 50%{opacity:var(--badge-effect-opacity);transform:scale(calc(1 + .09 * var(--badge-effect-intensity)))}}
@keyframes forgeBadgeSweep { 0%,16%{opacity:0;transform:translateX(-82%) rotate(-9deg)} 28%{opacity:var(--badge-effect-opacity)} 48%{opacity:0;transform:translateX(82%) rotate(-9deg)} 100%{opacity:0;transform:translateX(82%) rotate(-9deg)}}
@keyframes forgeBadgePulse { 0%,100%{transform:scale(1)} 50%{transform:scale(calc(1 + .035 * var(--badge-effect-intensity)))}}
@keyframes forgeBadgeOrbit { to{transform:rotate(360deg)}}
@keyframes forgeBadgeSparkles { 0%,100%{opacity:.12;transform:scale(.8) rotate(0)} 38%{opacity:var(--badge-effect-opacity);transform:scale(calc(.94 + .08 * var(--badge-effect-intensity))) rotate(7deg)} 68%{opacity:.28;transform:scale(.9) rotate(-5deg)}}
@keyframes forgeBadgePrism { 0%{opacity:.28;transform:rotate(0) scale(.9)} 50%{opacity:var(--badge-effect-opacity);transform:rotate(180deg) scale(calc(1 + .08 * var(--badge-effect-intensity)))} 100%{opacity:.28;transform:rotate(360deg) scale(.9)}}
@keyframes forgeBadgeNeonAura { 0%,100%{opacity:.32;transform:scale(.94);filter:blur(calc(4cqw * var(--badge-effect-intensity))) brightness(1)} 48%{opacity:var(--badge-effect-opacity);transform:scale(1.08);filter:blur(calc(7cqw * var(--badge-effect-intensity))) brightness(1.45)} 52%{opacity:.55;transform:scale(1.02)}}
@keyframes forgeBadgeNeonRing { 0%,100%{opacity:.3;transform:scale(.94)} 50%{opacity:var(--badge-effect-opacity);transform:scale(1.04)}}
@keyframes forgeBadgeHoloNoise { to{background-position:0 3cqw}}
@keyframes forgeBadgeHoloScan { 0%{opacity:0;transform:translateY(-68%)} 12%{opacity:var(--badge-effect-opacity)} 50%{opacity:.7} 88%{opacity:var(--badge-effect-opacity)} 100%{opacity:0;transform:translateY(68%)}}
@keyframes forgeBadgeElectricArc { 0%{opacity:.22;transform:rotate(0) scale(.98)} 30%{opacity:var(--badge-effect-opacity);transform:rotate(7deg) scale(1.03)} 55%{opacity:.38;transform:rotate(-4deg) scale(.99)} 100%{opacity:.7;transform:rotate(18deg) scale(1.01)}}
@keyframes forgeBadgeElectricSparks { 0%,100%{opacity:.1;transform:scale(.84) rotate(0)} 35%{opacity:var(--badge-effect-opacity);transform:scale(1.08) rotate(4deg)} 66%{opacity:.35;transform:scale(.92) rotate(-7deg)}}
@keyframes forgeBadgePlasmaRing { to{opacity:var(--badge-effect-opacity);transform:rotate(360deg) scale(1.03)}}
@keyframes forgeBadgeFlameCrown { 0%,100%{opacity:.3;transform:scale(.92) rotate(-2deg)} 50%{opacity:var(--badge-effect-opacity);transform:scale(1.08) rotate(2deg)}}
@keyframes forgeBadgeFlameGlow { 0%,100%{opacity:.18;transform:translateY(4%) scale(.92)} 50%{opacity:var(--badge-effect-opacity);transform:translateY(-4%) scale(1.06)}}
@keyframes forgeBadgeFrostBloom { 0%,100%{opacity:.24;transform:scale(.72) rotate(0)} 50%{opacity:var(--badge-effect-opacity);transform:scale(1.06) rotate(15deg)}}
@keyframes forgeBadgeFrostAura { 0%,100%{opacity:.12;filter:blur(.5cqw)} 50%{opacity:.8;filter:blur(1cqw)}}
@keyframes forgeBadgeShadowSmoke { 0%,100%{opacity:.18;transform:translate(-4%,3%) scale(.92)} 50%{opacity:var(--badge-effect-opacity);transform:translate(5%,-4%) scale(1.08)}}
@keyframes forgeBadgeSmokeDrift { 0%,100%{opacity:.18;transform:translateX(-8%) rotate(-4deg) scale(.9)} 50%{opacity:.75;transform:translateX(8%) rotate(5deg) scale(1.08)}}
@keyframes forgeBadgeCosmicAura { 0%,100%{opacity:.22;transform:scale(.94) rotate(0)} 50%{opacity:.78;transform:scale(1.08) rotate(10deg)}}
@keyframes forgeBadgeCosmicDust { 0%{opacity:.22;transform:rotate(0) scale(.9)} 50%{opacity:var(--badge-effect-opacity);transform:rotate(12deg) scale(1.04)} 100%{opacity:.22;transform:rotate(24deg) scale(.9)}}
@keyframes forgeBadgeConfettiBurst { 0%,12%{opacity:0;transform:scale(.35) rotate(-12deg)} 34%{opacity:var(--badge-effect-opacity);transform:scale(1.15) rotate(4deg)} 62%{opacity:.45;transform:scale(1.02) rotate(10deg)} 100%{opacity:0;transform:scale(1.28) rotate(18deg)}}
@keyframes forgeBadgeCometTrail { to{opacity:var(--badge-effect-opacity);transform:rotate(360deg)}}
@keyframes forgeBadgeCometParticles { 0%{opacity:.15;transform:rotate(0) scale(.88)} 40%{opacity:var(--badge-effect-opacity)} 100%{opacity:.15;transform:rotate(360deg) scale(1.05)}}
@keyframes forgeBadgePixelNoise { 0%{opacity:.18;transform:translate(0)} 20%{opacity:.72;transform:translate(-.35cqw,.12cqw)} 40%{opacity:.35;transform:translate(.25cqw,-.12cqw)} 60%{opacity:.8;transform:translate(.12cqw,.25cqw)} 80%{opacity:.28;transform:translate(-.12cqw,-.25cqw)} 100%{opacity:.5;transform:translate(0)}}
@keyframes forgeBadgePixelGlitch { 0%,82%,100%{transform:translate(0);filter:none} 84%{transform:translate(-.25cqw,.12cqw);filter:hue-rotate(45deg) contrast(1.35)} 88%{transform:translate(.25cqw,-.12cqw);filter:hue-rotate(-50deg) brightness(1.2)} 92%{transform:translate(-.12cqw,-.12cqw);filter:saturate(1.5)}}
@keyframes forgeBadgeSonicWave { 0%{opacity:.65;transform:scale(.35)} 75%{opacity:.18} 100%{opacity:0;transform:scale(1.18)}}
@keyframes forgeBadgeRuneRotation { to{opacity:var(--badge-effect-opacity);transform:rotate(360deg)}}
@keyframes forgeBadgeRuneCounterRotation { to{transform:rotate(-360deg)}}
@keyframes forgeBadgeLiquidSweep { 0%,100%{opacity:.1;transform:translateX(-58%) skewX(-8deg)} 50%{opacity:var(--badge-effect-opacity);transform:translateX(58%) skewX(8deg)}}
@keyframes forgeBadgeLiquidMetal { 0%,100%{filter:brightness(.95) contrast(1.05) saturate(.8)} 50%{filter:brightness(1.35) contrast(1.2) saturate(1.18)}}

.motion-disabled .forge-card-badge-fx__slot,
.motion-disabled .forge-card-badge-fx__slot > i { animation-play-state: paused !important; }
.motion-disabled .forge-card-badge-fx__slot { transform: none !important; }

@media (prefers-reduced-motion: reduce) {
  .forge-card-badge-fx__slot,
  .forge-card-badge-fx__slot > i { animation: none !important; transition: none !important; }
  .forge-card-badge-fx__aura,
  .forge-card-badge-fx__sweep,
  .forge-card-badge-fx__particles,
  .forge-card-badge-fx__rays,
  .forge-card-badge-fx__ring,
  .forge-card-badge-fx__wave,
  .forge-card-badge-fx__noise { display: none !important; }
}
