/* ============ Booster FX (shop): rune circle, orbiting sparks, entrance, periodic pulse, embers ============ */
body.shop-page .vault .pack-stage { --pw: min(540px, calc((100vh - 245px) * .653)); isolation: isolate; overflow: visible; }
body.shop-page .vault .pack-tilt { z-index: 5; }
.vault .pack-stage > .vf-runes, .vault .pack-stage > .vf-aura, .vault .pack-stage > .vf-orbit, .vault .pack-stage > .vf-shock,
.vault .pack-stage > .vf-pulse, .vault .pack-stage > .vf-flash, .vault .pack-stage > .vf-burst { position: absolute; left: 50%; top: 50%; pointer-events: none; }

/* rune circle behind the pack */
.vf-runes { width: calc(var(--pw) * 1.62); height: calc(var(--pw) * 1.62); z-index: 1; overflow: visible; translate: -50% -50%; opacity: .92;
  filter: drop-shadow(0 0 6px rgba(233,191,85,.55)) drop-shadow(0 0 22px rgba(155,123,224,.35));
  animation: vf-runes-in 1.6s .25s cubic-bezier(.2,.9,.2,1) backwards, vf-runes-flare 7s 2.4s ease-in-out infinite; transition: scale .6s, filter .6s, opacity .4s; }
.vf-outer { transform-origin: 300px 300px; animation: vf-spin 50s linear infinite; }
.vf-inner { transform-origin: 300px 300px; animation: vf-spin 34s linear infinite reverse; }
@keyframes vf-spin { to { transform: rotate(360deg); } }
@keyframes vf-runes-in { 0% { opacity: 0; scale: .35; rotate: -90deg; } 60% { opacity: 1; } 100% { opacity: .92; scale: 1; rotate: 0deg; } }
@keyframes vf-runes-flare { 76% { filter: drop-shadow(0 0 10px rgba(255,236,170,.95)) drop-shadow(0 0 40px rgba(233,191,85,.6)); } }

/* warm breathing aura right behind the pack */
.vf-aura { width: calc(var(--pw) * 1.5); height: calc(var(--pw) * 1.5); translate: -50% -50%; z-index: 2; border-radius: 50%;
  background: radial-gradient(circle, rgba(255,232,160,.3) 0%, rgba(217,179,90,.15) 25%, rgba(111,76,177,.26) 48%, transparent 68%); filter: blur(18px);
  animation: vf-fade 1s .5s backwards, vf-breath 4.5s ease-in-out infinite; }
@keyframes vf-breath { 50% { scale: 1.12; } }
@keyframes vf-fade { from { opacity: 0; } }

/* sparks orbiting on an ellipse: in front of the pack on the lower half, behind it on the upper half */
.vf-orbit { width: 0; height: 0; animation: vf-fade 1s 1.2s backwards; transition: opacity .4s; }
.vf-orbit i { position: absolute; left: 0; top: var(--oy); width: 0; height: 0;
  animation: vf-ox 3.5s var(--dl) ease-in-out infinite alternate, vf-oz 7s var(--dl) linear infinite; }
.vf-orbit b { position: absolute; width: 9px; height: 9px; margin: -4.5px; border-radius: 50%; background: #fff4c2;
  box-shadow: 0 0 8px 3px rgba(255,220,130,.95), 0 0 26px 8px rgba(233,191,85,.55);
  animation: vf-oy 3.5s calc(var(--dl) - 1.75s) ease-in-out infinite alternate; }
.vf-orbit b.v { background: #efe6ff; box-shadow: 0 0 8px 3px rgba(200,170,255,.95), 0 0 26px 8px rgba(124,77,255,.6); }
@keyframes vf-ox { from { translate: calc(var(--pw) * -.82) 0; } to { translate: calc(var(--pw) * .82) 0; } }
@keyframes vf-oy { from { translate: 0 calc(var(--pw) * -.16); scale: .55; } to { translate: 0 calc(var(--pw) * .16); scale: 1.25; } }
@keyframes vf-oz { 0%, 49.9% { z-index: 8; opacity: 1; } 50%, 100% { z-index: 3; opacity: .5; } }

/* rising embers */
.vf-embers { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
.vf-embers i { position: absolute; left: var(--x); bottom: 12%; width: var(--s); height: var(--s); border-radius: 50%; background: #ffe7a0; opacity: 0;
  box-shadow: 0 0 6px 2px rgba(255,200,90,.8); animation: vf-ember var(--t) var(--d) ease-out infinite; }
.vf-embers i:nth-child(3n) { background: #e2d4ff; box-shadow: 0 0 6px 2px rgba(155,123,224,.9); }
@keyframes vf-ember { 0% { opacity: 0; translate: 0 0; } 15% { opacity: .9; } 100% { opacity: 0; translate: var(--dx) calc(var(--pw) * -1.3); } }

/* entrance: the pack drops in, then a flash, three shockwaves and a burst of sparks */
body.shop-page .vault .pack { animation: vf-enter 1.15s cubic-bezier(.2,.9,.25,1) backwards; }
body.shop-page .vault .pack.charging { animation: pack-shake .09s linear infinite; }
@keyframes vf-enter { 0% { opacity: 0; translate: 0 -70px; scale: .82; filter: brightness(3) blur(6px); } 55% { opacity: 1; filter: brightness(1.6) blur(0); } 100% { translate: 0 0; scale: 1; filter: brightness(1) blur(0); } }
.vf-flash { width: calc(var(--pw) * 1.9); height: calc(var(--pw) * 1.9); translate: -50% -50%; z-index: 9; border-radius: 50%; opacity: 0; mix-blend-mode: screen;
  background: radial-gradient(circle, rgba(255,250,225,.95) 0%, rgba(255,226,140,.55) 18%, rgba(155,123,224,.25) 40%, transparent 65%);
  animation: vf-flash 1.1s .6s ease-out both; }
@keyframes vf-flash { 0% { opacity: 0; scale: .3; } 15% { opacity: 1; } 100% { opacity: 0; scale: 1.25; } }
.vf-shock { width: calc(var(--pw) * .9); height: calc(var(--pw) * .9); translate: -50% -50%; border-radius: 50%; z-index: 4; opacity: 0;
  border: 3px solid rgba(255,236,170,.95); box-shadow: 0 0 30px rgba(233,191,85,.9), inset 0 0 30px rgba(233,191,85,.5);
  animation: vf-shock 1.4s .65s cubic-bezier(.1,.7,.3,1) both; }
.vf-shock.s2 { border-color: rgba(200,175,255,.85); box-shadow: 0 0 30px rgba(155,123,224,.8), inset 0 0 30px rgba(155,123,224,.5); animation-delay: .8s; }
.vf-shock.s3 { animation-delay: .98s; }
@keyframes vf-shock { 0% { opacity: 0; scale: .2; } 10% { opacity: 1; } 100% { opacity: 0; scale: 2.6; border-width: 1px; } }
.vf-burst { width: 0; height: 0; z-index: 9; }
.vf-burst b { position: absolute; width: var(--s); height: var(--s); margin: calc(var(--s) / -2); border-radius: 50%; background: #fff4c2; opacity: 0;
  box-shadow: 0 0 10px 2px rgba(255,210,110,.95); animation: vf-burst 1.3s calc(.65s + var(--d)) cubic-bezier(.1,.8,.3,1) both; }
.vf-burst b.v { background: #efe6ff; box-shadow: 0 0 10px 2px rgba(155,123,224,.95); }
@keyframes vf-burst { 0% { opacity: 1; transform: rotate(var(--a)) translateX(0) scale(1.4); } 70% { opacity: .9; } 100% { opacity: 0; transform: rotate(var(--a)) translateX(var(--r)) scale(.3); } }

/* periodic energy pulse (every 7 s, in sync with the rune flare and the foil shine) */
.vf-pulse { width: calc(var(--pw) * 1.05); height: calc(var(--pw) * 1.05); translate: -50% -50%; border-radius: 50%; z-index: 4; opacity: 0;
  border: 2px solid rgba(255,236,170,.8); box-shadow: 0 0 24px rgba(233,191,85,.7), inset 0 0 24px rgba(155,123,224,.5);
  animation: vf-pulse 7s 2.4s ease-out infinite; }
@keyframes vf-pulse { 0%, 72% { opacity: 0; scale: .5; } 74% { opacity: .9; } 92%, 100% { opacity: 0; scale: 1.9; } }

/* shine sweep across the foil, clipped to the booster's own shape */
.vf-shine { position: absolute; inset: 0; z-index: 4; pointer-events: none; mix-blend-mode: overlay;
  -webkit-mask: var(--pack-img) center / 100% 100% no-repeat; mask: var(--pack-img) center / 100% 100% no-repeat;
  background: linear-gradient(105deg, transparent 38%, rgba(255,250,230,.95) 50%, transparent 62%) no-repeat;
  background-size: 250% 100%; background-position: 130% 0; animation: vf-shine 7s 2.4s ease-in-out infinite; }
@keyframes vf-shine { 0%, 70% { background-position: 130% 0; } 86%, 100% { background-position: -30% 0; } }
.pack.charging .vf-shine, .pack.torn .vf-shine { display: none; }

/* while the pack charges the runes flare up; once torn, the circle fades away */
.vault .pack-stage:has(.pack.charging) .vf-runes { scale: 1.08; opacity: 1; filter: drop-shadow(0 0 12px rgba(255,236,170,1)) drop-shadow(0 0 50px rgba(233,191,85,.8)); }
.vault .pack-stage:has(.pack.torn) .vf-runes, .vault .pack-stage:has(.pack.torn) .vf-orbit { opacity: 0; }

@media (prefers-reduced-motion: reduce) {
  .vf-outer, .vf-inner, .vf-orbit i, .vf-orbit b, .vf-runes, .vf-aura, .vf-shine, body.shop-page .vault .pack { animation: none !important; }
  .vf-orbit, .vf-embers, .vf-flash, .vf-shock, .vf-burst, .vf-pulse { display: none; }
}

/* ============ Summoning (exceptional pulls in the pack opening) ============
   0.05s the summoning circle draws itself on the floor - 0.1s motes are sucked in - 0.7s a pillar of light rises
   1.4s the card materialises from white light, flash + shockwaves + burst - 2.0s the title */
.showcase-reveal .sr-stage { --cw: min(46vh, 400px); position: relative; isolation: isolate; }
.showcase-reveal.sr-epic .sr-stage { --cw: min(40vh, 340px); }
.showcase-reveal.in .sr-stage { animation: sc-quake .5s 1.42s ease-out; }
@keyframes sc-quake { 15% { translate: -7px 4px; } 30% { translate: 6px -5px; } 45% { translate: -4px 3px; } 60% { translate: 3px -2px; } 80% { translate: -1px 1px; } }

.sc-floor { position: absolute; left: 50%; bottom: calc(var(--cw) * .1); width: calc(var(--cw) * 1.75); aspect-ratio: 1; z-index: 0; pointer-events: none;
  transform: translate(-50%, 50%) rotateX(72deg); opacity: 0; }
.showcase-reveal.in .sc-floor { animation: sc-floor .4s .05s ease-out forwards; }
@keyframes sc-floor { to { opacity: 1; } }
.showcase-reveal.in .sc-floor { animation: sc-floor .4s .05s ease-out forwards, sc-dim .8s 2.1s ease forwards; }
@keyframes sc-dim { from { opacity: 1; } to { opacity: .6; } }
.sc-svg { width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 0 6px var(--t)) drop-shadow(0 0 18px var(--t)); }
.sc-rot { transform-origin: 300px 300px; animation: vf-spin 14s linear infinite; }
.sc-rot.rev { animation-duration: 10s; animation-direction: reverse; }
.sc-draw, .sc-node { fill: none; stroke: color-mix(in srgb, var(--t) 45%, #fff); stroke-width: 3; stroke-dasharray: 1; stroke-dashoffset: 1; }
.sc-draw.d2 { stroke-width: 1.5; } .sc-draw.d4 { stroke-width: 2; } .sc-draw.d5 { stroke-width: 2.5; }
.showcase-reveal.in .sc-draw { animation: sc-draw .8s .1s cubic-bezier(.5,0,.3,1) forwards; }
.showcase-reveal.in .sc-draw.d2 { animation-delay: .22s; }
.showcase-reveal.in .sc-draw.d3 { animation-delay: .32s; }
.showcase-reveal.in .sc-draw.d4 { animation-delay: .45s; }
.showcase-reveal.in .sc-draw.d5 { animation-delay: .6s; }
.showcase-reveal.in .sc-node { animation: sc-draw .45s .7s ease-out forwards; }
@keyframes sc-draw { to { stroke-dashoffset: 0; } }
.sc-ticks line { stroke: color-mix(in srgb, var(--t) 45%, #fff); stroke-width: 2.5; opacity: 0; }
.showcase-reveal.in .sc-ticks line { animation: vf-in .4s .55s forwards; }
.sc-text { font-size: 17px; font-weight: 900; letter-spacing: 7px; fill: color-mix(in srgb, var(--t) 35%, #fff); opacity: 0; }
.showcase-reveal.in .sc-text { animation: vf-in .5s .75s forwards; }
@keyframes vf-in { to { opacity: 1; } }
/* the circle flares when the card appears, then keeps glowing under it */
.showcase-reveal.in .sc-svg { animation: sc-flare 1.2s 1.4s ease-out; }
@keyframes sc-flare { 15% { filter: drop-shadow(0 0 10px #fff) drop-shadow(0 0 40px var(--t)) brightness(1.8); } }

/* pillar of light */
.sc-pillar { position: absolute; left: 50%; bottom: 0; width: calc(var(--cw) * 1.1); height: 170vh; z-index: 1; pointer-events: none; opacity: 0;
  transform: translateX(-50%) scale(.1, 0); transform-origin: 50% 100%; mix-blend-mode: screen;
  background: linear-gradient(to top, #fff 0%, color-mix(in srgb, var(--t) 40%, #fff) 6%, color-mix(in srgb, var(--t) 80%, transparent) 30%, transparent 75%);
  -webkit-mask: linear-gradient(90deg, transparent, #000 32%, #000 68%, transparent); mask: linear-gradient(90deg, transparent, #000 32%, #000 68%, transparent); }
.showcase-reveal.in .sc-pillar { animation: sc-pillar 1.9s .6s cubic-bezier(.3,.7,.3,1) forwards; }
@keyframes sc-pillar { 0% { opacity: 0; transform: translateX(-50%) scale(.08, 0); } 25% { opacity: .9; transform: translateX(-50%) scale(.3, 1); }
  42% { opacity: 1; transform: translateX(-50%) scale(1.25, 1); } 65% { opacity: .55; transform: translateX(-50%) scale(.85, 1); } 100% { opacity: .2; transform: translateX(-50%) scale(.75, 1); } }

/* motes of energy sucked into the summoning point */
.sc-motes { position: absolute; left: 50%; top: 50%; width: 0; height: 0; z-index: 3; pointer-events: none; }
.sc-motes i { position: absolute; width: var(--sz); height: var(--sz); margin: calc(var(--sz) / -2); border-radius: 50%; opacity: 0;
  background: color-mix(in srgb, var(--t) 50%, #fff); box-shadow: 0 0 10px 3px var(--t); }
.sc-motes i.w { background: #fff; box-shadow: 0 0 10px 3px #fff4c2; }
.showcase-reveal.in .sc-motes i { animation: sc-mote .85s var(--dl) cubic-bezier(.55,0,.95,.45) forwards; }
@keyframes sc-mote { 0% { opacity: 0; transform: translate(var(--sx), var(--sy)) scale(1.4); } 25% { opacity: 1; } 100% { opacity: 0; transform: translate(0, 0) scale(.3); } }

/* the card materialises out of white light */
.showcase-reveal.in .sr-card { animation: sc-summon 1.15s 1.35s cubic-bezier(.2,.9,.3,1) both, sr-float 4s ease-in-out 2.6s infinite; z-index: 2; }
@keyframes sc-summon {
  0% { opacity: 0; transform: translateY(40px) scale(.5, .04); filter: brightness(9) saturate(0) blur(4px); }
  30% { opacity: 1; transform: translateY(-24px) scale(.88, 1.12); filter: brightness(6) saturate(0) blur(1px); }
  60% { transform: translateY(-8px) scale(1.05); filter: brightness(1.7) saturate(1.2) blur(0); }
  100% { opacity: 1; transform: none; filter: brightness(1) saturate(1) blur(0); } }
.sc-flash { position: absolute; left: 50%; top: 50%; width: calc(var(--cw) * 2.6); aspect-ratio: 1; border-radius: 50%; z-index: 4; pointer-events: none; opacity: 0;
  translate: -50% -50%; mix-blend-mode: screen; background: radial-gradient(circle, #fff 0%, color-mix(in srgb, var(--t) 40%, #fff) 16%, color-mix(in srgb, var(--t) 50%, transparent) 36%, transparent 65%); }
.showcase-reveal.in .sc-flash { animation: vf-flash .9s 1.38s ease-out both; }

/* the rest of the showcase now follows the summon */
.showcase-reveal .sr-rays { transition-delay: 1.4s, 1.4s; }
.showcase-reveal.in .sr-rays { animation-delay: 2.4s; }
.showcase-reveal.in .sr-ring { animation-delay: 1.45s; }
.showcase-reveal.in .sr-ring.r2 { animation-delay: 1.62s; }
.showcase-reveal.in .sr-ring.r3 { animation-delay: 1.8s; }
.showcase-reveal.in .sr-title { animation-delay: 2s; position: relative; z-index: 5; }
.showcase-reveal.in .sr-tap { animation-delay: 2.8s; }
.showcase-reveal.in .sr-shine { animation-delay: 2.4s; }
.sr-mythic .sc-pillar { background: linear-gradient(to top, #fff 0%, #ffd6ee 6%, rgba(255,79,168,.8) 26%, rgba(155,227,255,.5) 48%, transparent 78%); }

@media (prefers-reduced-motion: reduce) { .sc-motes, .sc-pillar, .sc-flash { display: none; } .sc-draw, .sc-node { stroke-dashoffset: 0; } }

/* rarity title in the metal of the card frames: Epic = glitter silver, Legendary = glitter gold, Mythic = holographic chrome */
.showcase-reveal .sr-title b { position: relative; letter-spacing: .08em; -webkit-text-stroke: 1px rgba(255,255,255,.25);
  background-size: 7px 7px, 11px 11px, 100% 100%; -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 2px 0 rgba(0,0,0,.55)) drop-shadow(0 8px 26px color-mix(in srgb, var(--t) 55%, transparent)); }
.sr-epic .sr-title b {
  background-image: radial-gradient(circle, rgba(255,255,255,.95) 0 .7px, transparent 1.3px), radial-gradient(circle, rgba(120,130,150,.6) 0 .8px, transparent 1.5px),
    linear-gradient(180deg, #ffffff 0%, #e9edf5 22%, #a9b1c2 46%, #f4f6fb 52%, #8b93a6 74%, #d9dee8 100%); }
.sr-legendary .sr-title b {
  background-image: radial-gradient(circle, rgba(255,255,230,.95) 0 .7px, transparent 1.3px), radial-gradient(circle, rgba(140,90,10,.55) 0 .8px, transparent 1.5px),
    linear-gradient(180deg, #fff8d6 0%, #f9e08a 20%, #d9a63a 45%, #fff1b8 52%, #b07a1c 75%, #f2c95a 100%); }
.sr-mythic .sr-title b {
  background-image: radial-gradient(circle, rgba(255,255,255,.9) 0 .7px, transparent 1.3px), radial-gradient(circle, rgba(255,255,255,.35) 0 .8px, transparent 1.5px),
    linear-gradient(100deg, #ff9ad5, #ffe08a, #9dffc9, #8fd8ff, #c9a6ff, #ff9ad5);
  background-size: 7px 7px, 11px 11px, 300% 100%; animation: sc-holo 4s linear infinite; }
@keyframes sc-holo { to { background-position: 0 0, 0 0, 300% 0; } }
/* moving glint across the metal letters */
.showcase-reveal .sr-title b::after { content: attr(data-t); position: absolute; inset: 0; pointer-events: none; -webkit-text-stroke: 0; filter: none;
  background: linear-gradient(110deg, transparent 40%, rgba(255,255,255,.95) 50%, transparent 60%) no-repeat; background-size: 250% 100%; background-position: 140% 0;
  -webkit-background-clip: text; background-clip: text; color: transparent; animation: sc-glint 3.2s 2.6s ease-in-out infinite; }
@keyframes sc-glint { 0% { background-position: 140% 0; } 55%, 100% { background-position: -40% 0; } }
.sr-epic .sr-title small { color: #e6ebf4; } .sr-legendary .sr-title small { color: #f9e08a; } .sr-mythic .sr-title small { color: #ffd0ec; }

/* title legibility over bright rays: a dark halo behind the text, a darker outline, and softer silver rays for Epic */
.showcase-reveal .sr-title::before { content: ""; position: absolute; left: 50%; top: 52%; width: 150%; height: 150%; translate: -50% -50%; z-index: -1; pointer-events: none;
  background: radial-gradient(closest-side, rgba(4,5,15,.85), rgba(4,5,15,.55) 55%, transparent); filter: blur(6px); }
.showcase-reveal .sr-title b { -webkit-text-stroke: 1.5px rgba(10,12,28,.75);
  filter: drop-shadow(0 0 1px rgba(0,0,0,.9)) drop-shadow(0 3px 0 rgba(0,0,0,.6)) drop-shadow(0 8px 26px color-mix(in srgb, var(--t) 45%, transparent)); }
.sr-epic .sr-title b { -webkit-text-stroke: 1.5px rgba(22,26,44,.9);
  filter: drop-shadow(0 0 1px #05060f) drop-shadow(0 0 2px rgba(5,6,15,.9)) drop-shadow(0 3px 0 rgba(0,0,0,.7)) drop-shadow(0 0 22px rgba(223,229,240,.35)); }
.sr-epic .sr-rays { background: repeating-conic-gradient(rgba(223,229,240,.22) 0 4deg, transparent 4deg 12deg); }
.showcase-reveal .sr-title small, .showcase-reveal .sr-title span { text-shadow: 0 1px 2px rgba(0,0,0,.9), 0 0 12px rgba(0,0,0,.8); }

/* light behind the card slightly darker */
.showcase-reveal .sr-bg { background: radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--t) 18%, #08071a) 0%, rgba(4,5,15,.97) 55%); }
.showcase-reveal.in .sr-rays { opacity: .7; }
.sr-epic .sr-rays { background: repeating-conic-gradient(rgba(223,229,240,.16) 0 4deg, transparent 4deg 12deg); }
@keyframes sc-pillar { 0% { opacity: 0; transform: translateX(-50%) scale(.08, 0); } 25% { opacity: .9; transform: translateX(-50%) scale(.3, 1); }
  42% { opacity: 1; transform: translateX(-50%) scale(1.25, 1); } 65% { opacity: .4; transform: translateX(-50%) scale(.85, 1); } 100% { opacity: .1; transform: translateX(-50%) scale(.75, 1); } }
.showcase-reveal .sr-card { box-shadow: 0 0 0 3px var(--t), 0 0 40px color-mix(in srgb, var(--t) 70%, transparent), 0 0 100px color-mix(in srgb, var(--t) 35%, transparent), 0 40px 80px rgba(0,0,0,.7); }
.sr-epic .sr-card { box-shadow: 0 0 0 3px #dfe5f0, 0 0 30px rgba(223,229,240,.45), 0 0 80px rgba(223,229,240,.18), 0 40px 80px rgba(0,0,0,.75); }
.showcase-reveal .sr-shine { opacity: .6; }

/* pack opening: no rarity label under the cards, so the cards get the room */
.opening .rarity-label { display: none !important; }
.opening-inner { width: min(1500px, 96vw, calc((100vh - 230px) / 2 * (400 / 556) * 5 + 4 * var(--gap))) !important; }
.reveal-grid { row-gap: 1.4rem !important; margin-bottom: 1.6rem !important; }
/* no outline on the metal titles (the stroke drew inner lines on the letters) */
.showcase-reveal .sr-title b, .sr-epic .sr-title b, .showcase-reveal .sr-title b::after { -webkit-text-stroke: 0 !important; }

/* outlines follow the real corner of the card art (20px on 400 x 556 = 6.25% / 4.5%), no square ring around a rounded card */
.showcase-reveal .sr-card, .showcase-reveal .sr-card img, .showcase-reveal .sr-shine { border-radius: 6.25% / 4.5% !important; }
.opening .flip-card .flip-front, .opening .flip-card .flip-back, .flip-card.rare-glow .flip-front { border-radius: 6.25% / 4.5% !important; }
.opening .flip-card .flip-front .tcg-card { border-radius: 6.25% / 4.5% !important; }

/* no pedestal ring under the booster */
body.shop-page .vault .pedestal-disc, body.shop-page .vault .pack-stage::after { display: none !important; }
/* no floating card backs in the vault background */
body.shop-page .vault-bg .vb-cards { display: none !important; }
/* one layer of rays only: the big background rays; the rays right behind the booster are removed */
body.shop-page .vault .stage-rays { display: none !important; }
/* showcase rays a little darker */
.showcase-reveal.in .sr-rays { opacity: .42 !important; }
