/* === Ascendant Rarity Card Styles === */
/* Visual treatment matched to the Ascension Pack art:
   iridescent holographic foil border (lavender → teal →
   gold → pink → deep purple), cosmic-navy interior with
   a faint scattered starfield, a gold sacred-geometry
   seal glowing behind the portrait, and gold filigree
   accents echoing the pack's winged-blade emblems. The
   intent is "this is what came out of THAT pack" — same
   palette, same materials, same feeling.

   Motion is calm and reverent: foil hue cycles slowly,
   shimmer sweeps gently, stardust drifts upward, the
   seal rotates barely-perceptibly. Nothing flickers. */

@keyframes ascendant-halo-pulse {
    0%, 100% {
        box-shadow:
            0 0 25px rgba(160,120,255,0.38),
            0 0 60px rgba(120,200,240,0.20),
            0 0 100px rgba(212,175,55,0.10);
    }
    50% {
        box-shadow:
            0 0 35px rgba(180,140,255,0.55),
            0 0 80px rgba(140,210,250,0.30),
            0 0 130px rgba(232,180,80,0.16);
    }
}

@keyframes ascendant-border-iridescent {
    /* Cycles through the pack's holographic palette so
       the border literally "is" the foil. 8s linear so
       the eye doesn't catch the loop. */
    0%   { border-color: #a47fff; }   /* lavender */
    20%  { border-color: #5fc8e8; }   /* teal      */
    40%  { border-color: #f4d878; }   /* gold      */
    60%  { border-color: #ff8ec0; }   /* pink      */
    80%  { border-color: #7060e0; }   /* deep      */
    100% { border-color: #a47fff; }
}

@keyframes ascendant-stardust-rise {
    0%   { transform: translateY(0)     scale(1);    opacity: 0;    }
    20%  {                                            opacity: 0.95; }
    80%  {                                            opacity: 0.6;  }
    100% { transform: translateY(-200px) scale(0.35); opacity: 0;    }
}

@keyframes ascendant-shimmer-sweep {
    0%   { left: -60%; }
    100% { left: 120%; }
}

@keyframes ascendant-seal-rotate {
    /* Barely perceptible spin so the seal feels alive
       without competing with the portrait. 90s loop. */
    0%   { transform: rotate(0deg);   }
    100% { transform: rotate(360deg); }
}

@keyframes ascendant-banner-shimmer {
    0%, 100% {
        box-shadow:
            inset 0 1px 0 rgba(212,175,55,0.5),
            inset 0 -1px 0 rgba(160,120,255,0.3),
            0 0 14px rgba(160,120,255,0.4),
            0 4px 10px rgba(0,0,0,0.7);
    }
    50% {
        box-shadow:
            inset 0 1px 0 rgba(232,200,90,0.6),
            inset 0 -1px 0 rgba(180,140,255,0.4),
            0 0 22px rgba(180,140,255,0.55),
            0 4px 10px rgba(0,0,0,0.7);
    }
}

@keyframes ascendant-gem-twinkle {
    0%, 100% { filter: drop-shadow(0 0 8px rgba(212,175,55,0.6));   }
    50%      { filter: drop-shadow(0 0 18px rgba(212,175,55,0.85)); }
}

/* Outer wrapper — purple-teal-gold halo, no longer pure
   gold. Reads as "iridescent foil glow" instead of
   "celestial marble." */
.ascendant .card-wrapper {
    box-shadow:
        0 0 25px rgba(160,120,255,0.38),
        0 0 60px rgba(120,200,240,0.20),
        0 0 100px rgba(212,175,55,0.10);
    border-radius: 10px;
    animation: ascendant-halo-pulse 4.5s ease-in-out infinite;
}

/* Border = the foil. Hue cycles through the pack's
   palette — this is the single strongest visual link
   between card and pack. */
.ascendant .card-border {
    position: absolute; inset: 0;
    border: 3px solid #a47fff;
    border-radius: 10px;
    pointer-events: none;
    z-index: 4;
    animation: ascendant-border-iridescent 8s linear infinite;
    box-shadow: 0 0 14px rgba(160,120,255,0.45);
}

.ascendant .card-inner-frame {
    border: 1px solid rgba(212,175,55,0.5);
    box-shadow: inset 0 0 24px rgba(0,0,0,0.7);
}

.ascendant .card-side-accent-left,
.ascendant .card-side-accent-right {
    background: linear-gradient(180deg,
        transparent 0%,
        rgba(212,175,55,0.3) 20%,
        rgba(212,175,55,0.6) 50%,
        rgba(212,175,55,0.3) 80%,
        transparent 100%);
}

.ascendant .card-corner-dot {
    background: radial-gradient(circle, rgba(212,175,55,0.85) 0%, transparent 70%);
}

/* Card face — cosmic dark navy, mirrors the pack's
   inner window. Starfield dots scattered across via
   ::before overlay so the surface feels like deep
   space rather than a flat dark panel. */
.ascendant .card-face {
    background: linear-gradient(180deg,
        rgb(20,15,40)  0%,
        rgb(12,10,28) 40%,
        rgb(8,6,20)   100%);
}
.ascendant .card-face::before {
    content: '';
    position: absolute;
    inset: 6px;
    z-index: 0;
    pointer-events: none;
    background-image:
        radial-gradient(circle 1px at 12% 18%, rgba(255,235,160,0.7), transparent),
        radial-gradient(circle 1px at 28% 62%, rgba(200,220,255,0.6), transparent),
        radial-gradient(circle 1px at 76% 28%, rgba(255,235,160,0.7), transparent),
        radial-gradient(circle 1px at 86% 78%, rgba(200,220,255,0.6), transparent),
        radial-gradient(circle 1px at 48% 88%, rgba(255,235,160,0.5), transparent),
        radial-gradient(circle 1px at 36% 12%, rgba(200,220,255,0.5), transparent),
        radial-gradient(circle 1px at 62% 52%, rgba(255,235,160,0.6), transparent),
        radial-gradient(circle 1px at 18% 92%, rgba(200,220,255,0.5), transparent),
        radial-gradient(circle 1.2px at 92% 50%, rgba(255,235,160,0.7), transparent),
        radial-gradient(circle 1.2px at 8%  48%, rgba(200,220,255,0.6), transparent);
}

/* Holographic shimmer sweep — multi-hue gradient instead
   of warm white. Reads like light catching foil.
   Extended bounds + silhouette mask so the sweep covers
   the portrait dome and badge overhangs while clipping
   to the card's actual outline. */
.ascendant-shimmer-overlay {
    position: absolute;
    inset: -12% -6% -5% -6%;
    overflow: hidden;
    z-index: 30;
    pointer-events: none;
    -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><rect x='5' y='10' width='90' height='86' rx='5' ry='5' fill='white'/><ellipse cx='50' cy='35' rx='40' ry='31' fill='white'/></svg>");
    mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'><rect x='5' y='10' width='90' height='86' rx='5' ry='5' fill='white'/><ellipse cx='50' cy='35' rx='40' ry='31' fill='white'/></svg>");
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
}
.ascendant-shimmer-overlay::after {
    content: '';
    position: absolute;
    top: 0; left: -60%; width: 60%; height: 100%;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(160,120,255,0.08) 20%,
        rgba(95,200,232,0.12) 40%,
        rgba(232,180,80,0.18) 50%,
        rgba(255,142,192,0.12) 60%,
        rgba(160,120,255,0.08) 80%,
        transparent 100%);
    animation: ascendant-shimmer-sweep 5s ease-in-out infinite;
}

/* Sacred-geometry seal — the centerpiece motif from the
   pack. Rendered as a hexagram (Star of David) inside a
   ring with six satellite circles. Sits behind the
   portrait, low opacity, very slow rotation, with a
   central gold radiance to echo the pack's bright
   centerpoint. */
.ascendant-seal {
    position: absolute;
    inset: -8%;
    z-index: 1;
    pointer-events: none;
    opacity: 0.32;
    background-image:
        radial-gradient(circle at 50% 50%,
            rgba(255,235,160,0.55) 0%,
            rgba(232,180,80,0.25) 18%,
            rgba(232,180,80,0) 38%),
        url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'><g fill='none' stroke='%23f4d878' stroke-width='0.7' stroke-linejoin='round'><circle cx='50' cy='50' r='44'/><circle cx='50' cy='50' r='30'/><polygon points='50,12 84,72 16,72'/><polygon points='50,88 16,28 84,28'/><circle cx='50' cy='12' r='5'/><circle cx='50' cy='88' r='5'/><circle cx='84' cy='28' r='5'/><circle cx='16' cy='28' r='5'/><circle cx='84' cy='72' r='5'/><circle cx='16' cy='72' r='5'/><circle cx='50' cy='50' r='3' fill='%23f4d878'/></g></svg>");
    background-size: contain, contain;
    background-repeat: no-repeat;
    background-position: center;
    animation: ascendant-seal-rotate 90s linear infinite;
    filter: drop-shadow(0 0 6px rgba(232,180,80,0.4));
}

/* Art frame — deep gold ring with iridescent halo
   bleeding outward (purple → gold). */
.ascendant .card-art-container .card-art-frame {
    position: absolute; inset: 0;
    border: 3px solid #d4af37;
    border-radius: 50%;
    z-index: 2;
    pointer-events: none;
    box-shadow:
        inset 0 0 22px rgba(0,0,0,0.7),
        0 0 20px rgba(160,120,255,0.5),
        0 0 44px rgba(232,180,80,0.22);
}

/* Frame coins — three rivets at the cardinal points of the art
   frame (12, 9, 3 o'clock). The top stud is gold (matching the
   card's gold trim) while the side rivets carry the Ascendant
   pack's accent palette: violet on the left, magenta on the
   right. Together they echo the iridescent purple→gold halo
   sweeping the outer border, so the chrome reads as one
   coordinated set rather than three identical gold beads.

   The card markup ships with four `.card-art-rivet` elements
   (top/bottom/left/right) but every rarity except `.original`
   hides them; we re-enable three and leave the bottom hidden
   because that position collides with the diamond rarity gem.

   All three share the same 14×14 size + dark-rim + soft glow
   shell so they read as one set; only the inner radial gradient
   differs by position. */
.ascendant .card-art-container .card-art-rivet {
    display: block;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    z-index: 5;
    box-shadow:
        0 0 0 1px rgba(106, 74, 20, 0.75),    /* dark rim */
        0 2px 3px rgba(0, 0, 0, 0.55);
}
/* Top — gold (anchors the frame's gold trim). */
.ascendant .card-art-container .card-art-rivet.top {
    top: -7px; left: 50%; transform: translateX(-50%);
    background: radial-gradient(circle at 35% 35%, #fff5d8 0%, #f4d878 35%, #d4af37 100%);
    box-shadow:
        0 0 0 1px rgba(106, 74, 20, 0.75),
        0 0 8px rgba(244, 216, 120, 0.75),
        0 2px 3px rgba(0, 0, 0, 0.55);
}
/* Left — violet gem set in a thin gold trim ring. The dark rim
   comes from box-shadow on the .card-art-rivet base; we lay a
   gold-trim layer via inset box-shadow and the violet face via
   a radial-gradient background. */
.ascendant .card-art-container .card-art-rivet.left {
    left: -7px; top: 50%; transform: translateY(-50%);
    background: radial-gradient(circle at 30% 30%, #c0a4ff 0%, #7a5cd8 55%, #38258a 100%);
    box-shadow:
        0 0 0 1px rgba(106, 74, 20, 0.75),    /* dark rim */
        inset 0 0 0 1px rgba(244, 216, 120, 0.65),  /* gold trim ring */
        0 0 8px rgba(160, 120, 255, 0.65),    /* violet halo */
        0 2px 3px rgba(0, 0, 0, 0.55);
}
/* Right — magenta gem in the same gold-trimmed ring. */
.ascendant .card-art-container .card-art-rivet.right {
    right: -7px; top: 50%; transform: translateY(-50%);
    background: radial-gradient(circle at 30% 30%, #ffb8d8 0%, #e068a0 60%, #802050 100%);
    box-shadow:
        0 0 0 1px rgba(106, 74, 20, 0.75),
        inset 0 0 0 1px rgba(244, 216, 120, 0.65),
        0 0 8px rgba(232, 120, 168, 0.55),    /* magenta halo */
        0 2px 3px rgba(0, 0, 0, 0.55);
}
/* Bottom rivet stays hidden — its position collides with the
   diamond rarity gem on the Ascendant card chrome. */
.ascendant .card-art-container .card-art-rivet.bottom {
    display: none;
}

/* Stardust particles — gold and lavender mix to echo
   the pack's two dominant accent colours. */
.ascendant-stardust {
    position: absolute;
    bottom: 4px;
    width: 4px; height: 4px;
    border-radius: 50%;
    filter: blur(0.5px);
    z-index: 6;
    pointer-events: none;
}
.ascendant-stardust.s1 {
    left: 14%;
    background: radial-gradient(circle, #fff8d0 0%, rgba(212,175,55,0.6) 50%, transparent 100%);
    animation: ascendant-stardust-rise 4.6s ease-out infinite 0s;
}
.ascendant-stardust.s2 {
    left: 32%; width: 5px; height: 5px;
    background: radial-gradient(circle, #d8c0ff 0%, rgba(160,120,255,0.5) 50%, transparent 100%);
    animation: ascendant-stardust-rise 5.4s ease-out infinite 0.7s;
}
.ascendant-stardust.s3 {
    left: 50%; width: 3px; height: 3px;
    background: radial-gradient(circle, #fff8d0 0%, rgba(212,175,55,0.6) 50%, transparent 100%);
    animation: ascendant-stardust-rise 4.8s ease-out infinite 1.4s;
}
.ascendant-stardust.s4 {
    left: 68%; width: 5px; height: 5px;
    background: radial-gradient(circle, #c0e8ff 0%, rgba(120,200,240,0.5) 50%, transparent 100%);
    animation: ascendant-stardust-rise 5.0s ease-out infinite 2.1s;
}
.ascendant-stardust.s5 {
    left: 86%;
    background: radial-gradient(circle, #fff8d0 0%, rgba(212,175,55,0.6) 50%, transparent 100%);
    animation: ascendant-stardust-rise 4.4s ease-out infinite 2.8s;
}

/* Name banner — cosmic navy stone with gold engraved
   text and a soft purple inner edge. Inverted from
   marble v1: the ascendant set lives on dark, like the
   pack's centre window does. */
.ascendant .card-name-banner {
    /* Simpler 3-stop gradient. Previous 7-stop version
       fought the gold text by varying the background
       luminance too aggressively across the banner —
       gold reads consistently across a tighter range. */
    background: linear-gradient(180deg,
        rgb(56,40,90)  0%,
        rgb(34,24,62) 50%,
        rgb(56,40,90) 100%);
    animation: ascendant-banner-shimmer 4s ease-in-out infinite;
}
.ascendant .card-name-banner::before,
.ascendant .card-name-banner::after {
    background: radial-gradient(circle at 35% 35%, #fff8d0, #d4af37);
    box-shadow: 0 0 4px rgba(232,180,80,0.7);
}
.ascendant .card-name {
    color: #f4d878;
    text-shadow:
        0 0 10px rgba(232,180,80,0.5),
        0 1px 2px rgba(0,0,0,0.85);
    letter-spacing: 2px;
}

/* Rarity gem — gold with iridescent halo */
.ascendant .rarity-gem::before {
    background: radial-gradient(circle,
        rgba(232,180,80,0.85) 0%,
        rgba(160,120,255,0.4) 50%,
        transparent 70%);
    animation: ascendant-gem-twinkle 2.4s ease-in-out infinite;
}
.ascendant .rarity-gem {
    filter: drop-shadow(0 0 10px rgba(232,180,80,0.6));
    width: 36px; height: 36px;
    top: calc(67% - 14px);
}
.ascendant .rarity-gem-frame {
    background: linear-gradient(180deg, #5a4828 0%, #3a2c14 40%, #20140a 60%, #4a3818 100%);
}
.ascendant .rarity-gem-trim {
    background: linear-gradient(180deg, #f4d878 0%, #d4af37 50%, #f4d878 100%);
}
.ascendant .rarity-gem-inner {
    background: linear-gradient(180deg, #fff0c0 0%, #d4af37 35%, #8a6820 65%, #f4d878 100%);
}

/* Mini-gems — Roman aureus seals: small gold coins
   ringing the portrait at the four cardinal points.
   Circular silhouette is unique to Ascendant — every
   other rarity in the game uses diamond clip-paths, so
   this single shape decision instantly distinguishes
   the type. The bottom gem is crowned with a laurel
   wreath, carrying the prestige cue from the ascension
   emblems straight onto the card itself.

   Each coin keeps a foil-palette hue at its face (gold
   / teal / lavender / pink) so the four pack-foil
   colours are still represented, but the lighting is
   tuned to read as polished metal: bright top-left
   highlight, concentric inset rings on the trim that
   simulate coin-edge milling, and a faint inner shadow
   on the disc for depth. */

.ascendant .mini-gem {
    position: absolute;
    width: 22px; height: 22px;
    z-index: 4;
    filter: drop-shadow(0 0 7px rgba(232,180,80,0.7));
}
.ascendant .mini-gem.top    { top: -11px;    left: 50%; transform: translateX(-50%); }
.ascendant .mini-gem.bottom { bottom: -11px; left: 50%; transform: translateX(-50%); }
.ascendant .mini-gem.left   { left: -11px;   top: 50%;  transform: translateY(-50%); }
.ascendant .mini-gem.right  { right: -11px;  top: 50%;  transform: translateY(-50%); }

/* Coloured halo behind each coin — bigger, brighter
   bloom so each gem looks like it's emitting light
   rather than just sitting on the card. */
.ascendant .mini-gem::before {
    content: ''; position: absolute; inset: -8px;
    border-radius: 50%; filter: blur(6px); z-index: -1;
    animation: ascendant-gem-twinkle 2.6s ease-in-out infinite;
}
.ascendant .mini-gem.top::before    { background: radial-gradient(circle, rgba(232,180,80,0.85) 0%, transparent 70%); }
.ascendant .mini-gem.bottom::before { background: radial-gradient(circle, rgba(95,200,232,0.85) 0%, transparent 70%); animation-delay: 0.6s; }
.ascendant .mini-gem.left::before   { background: radial-gradient(circle, rgba(160,120,255,0.85) 0%, transparent 70%); animation-delay: 1.2s; }
.ascendant .mini-gem.right::before  { background: radial-gradient(circle, rgba(255,142,192,0.85) 0%, transparent 70%); animation-delay: 1.8s; }

/* Outer dark frame ring — the deep recess that lets the
   gold trim catch light. Pure circle via border-radius. */
.ascendant .mini-gem-frame {
    position: absolute; inset: 0;
    background: linear-gradient(180deg, #5a4828 0%, #3a2c14 40%, #20140a 60%, #4a3818 100%);
    border-radius: 50%;
    box-shadow: 0 2px 4px rgba(0,0,0,0.7);
}

/* Gold trim is the coin's milled edge. Triple inset
   box-shadow lays down three concentric rings (dark /
   light / dark) that read as the bevelled rim of a
   struck coin without trying to draw individual milling
   dots at this scale. */
.ascendant .mini-gem-trim {
    position: absolute; inset: 1px;
    background: radial-gradient(circle at 35% 30%, #ffe89c 0%, #d4af37 50%, #8a6820 100%);
    border-radius: 50%;
    box-shadow:
        inset 0 0 0 0.5px rgba(60,40,10,0.7),
        inset 0 0 0 1.5px rgba(232,180,80,0.5),
        inset 0 0 0 2.5px rgba(60,40,10,0.55);
}

/* Inner disc — the coin's struck face. Coloured radial
   gradient lit from above-left, with a faint inset
   shadow at the top edge so the disc looks pressed into
   the trim rather than sitting flush with it. overflow
   hidden clips the specular highlight to the circle. */
.ascendant .mini-gem-inner {
    position: absolute; inset: 5px;
    z-index: 1;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: inset 0 1px 3px rgba(0,0,0,0.5);
}
.ascendant .mini-gem.top    .mini-gem-inner { background: radial-gradient(circle at 32% 28%, #fff4c0 0%, #f4d878 22%, #d4af37 55%, #6a4a14 100%); }
.ascendant .mini-gem.bottom .mini-gem-inner { background: radial-gradient(circle at 32% 28%, #e8f8ff 0%, #80d8f0 22%, #4ab4d8 55%, #1a5878 100%); }
.ascendant .mini-gem.left   .mini-gem-inner { background: radial-gradient(circle at 32% 28%, #ece0ff 0%, #b890ff 22%, #8060e0 55%, #382880 100%); }
.ascendant .mini-gem.right  .mini-gem-inner { background: radial-gradient(circle at 32% 28%, #ffe0ec 0%, #ff9ec8 22%, #e068a0 55%, #802050 100%); }

/* Specular highlight — small bright spot upper-left of
   each disc. Sells the "polished metal" feel. */
.ascendant .mini-gem-inner::after {
    content: '';
    position: absolute;
    top: 8%; left: 18%;
    width: 36%; height: 36%;
    background: radial-gradient(circle, rgba(255,255,255,0.85) 0%, rgba(255,255,255,0.15) 50%, transparent 80%);
    border-radius: 50%;
    z-index: 2;
    pointer-events: none;
    filter: blur(1px);
}


/* Lore panel — pushed darker (near-black core) so the
   brightened gold text really pops, but kept a navy
   tint at the edges so it doesn't lose its connection
   to the cosmic theme. The gold inner border is
   stronger now (0.85 alpha vs 0.7) for clearer framing. */
.ascendant .card-lore-panel {
    background: linear-gradient(180deg,
        rgb(14,10,32) 0%,
        rgb(4,3,14)  50%,
        rgb(14,10,32) 100%);
    border: 2px solid rgba(232,180,80,0.85);
    box-shadow:
        inset 0 2px 8px rgba(0,0,0,0.7),
        inset 0 0 24px rgba(160,120,255,0.18);
}
.ascendant .card-lore-panel::before {
    border-top: 1px solid rgba(212,175,55,0.7);
    border-left: 1px solid rgba(212,175,55,0.7);
}
.ascendant .card-lore-panel::after {
    border-bottom: 1px solid rgba(212,175,55,0.7);
    border-right: 1px solid rgba(212,175,55,0.7);
}
.ascendant .card-lore {
    /* Pushed brighter to match the name-banner gold
       (#f4d878) so the type system reads as one
       material — engraved gold throughout. Stronger
       gold glow (0.45 vs 0.32) and a heavier black
       drop-shadow give the text real weight against the
       darker lore-panel background. */
    color: #f4d878;
    font-style: italic;
    text-shadow:
        0 0 10px rgba(232,180,80,0.45),
        0 1px 3px rgba(0,0,0,0.95);
}

/* Type bar — gold trim on cosmic navy */
.ascendant .card-type-bar::before {
    background: linear-gradient(180deg, #f4d878 0%, #d4af37 50%, #f4d878 100%);
}
.ascendant .card-type-bar::after {
    background: linear-gradient(180deg,
        rgb(20,15,40) 0%,
        rgb(10,8,25)  50%,
        rgb(20,15,40) 100%);
}
.ascendant .card-type-label {
    color: #f4d878;
    text-shadow: 0 1px 2px rgba(0,0,0,0.8);
}

/* Stat + mana badges — gold trim, cosmic navy interior
   with a faint purple inner glow. */
.ascendant .stat-badge::before {
    background: linear-gradient(180deg, #f4d878 0%, #d4af37 50%, #8a6820 100%);
}
.ascendant .stat-badge.atk::after {
    background: linear-gradient(180deg, #1c1838 0%, #100c20 50%, #08051a 100%);
    box-shadow: inset 0 0 8px rgba(160,120,255,0.28);
}
.ascendant .stat-badge.def::after {
    background: linear-gradient(180deg, #1c1838 0%, #100c20 50%, #08051a 100%);
    box-shadow: inset 0 0 8px rgba(160,120,255,0.28);
}
.ascendant .stat-badge .stat-value {
    color: #f4d878;
    text-shadow: 0 0 8px rgba(232,180,80,0.55), 0 1px 2px rgba(0,0,0,0.85);
}

.ascendant .mana-badge { filter: drop-shadow(0 2px 8px rgba(160,120,255,0.6)); }
.ascendant .mana-badge::before {
    background: linear-gradient(180deg, #f4d878 0%, #d4af37 50%, #8a6820 100%);
}
.ascendant .mana-badge::after {
    background: linear-gradient(180deg, #1c1838 0%, #100c20 50%, #08051a 100%);
    box-shadow: inset 0 0 8px rgba(160,120,255,0.4);
}
.ascendant .mana-badge .mana-value {
    color: #c0a4ff;
    text-shadow: 0 0 10px rgba(160,120,255,0.65), 0 1px 2px rgba(0,0,0,0.85);
}

