/* CBB2C finish effects approved for reuse by matching physical finish. */
.cbb2c-finish{display:block;position:relative;isolation:isolate;overflow:hidden!important;line-height:0}
.collection-binder-thumb>.cbb2c-finish,.binder-thumb>.cbb2c-finish{width:100%;height:100%;border-radius:11px}
.card-art>.cbb2c-finish{width:100%;border-radius:12px}
.collection-binder-thumb.cbb2c-finish-host::before,.collection-binder-thumb.cbb2c-finish-host::after{display:none}
.cbb2c-finish::before,.cbb2c-finish::after{content:"";position:absolute;pointer-events:none;inset:0;opacity:0;z-index:2}
.cbb2c-finish .sparkle,.cbb2c-finish .foil-ring{z-index:3}
.cbb2c-finish.effect-mirror::before{inset:-10% -85%;background:linear-gradient(112deg,transparent 33%,rgba(85,230,255,.18) 39%,rgba(255,255,255,.75) 48%,rgba(251,127,228,.38) 53%,rgba(255,246,150,.28) 59%,transparent 67%);mix-blend-mode:screen;opacity:.88;animation:cbb2c-mirror 2.6s linear infinite}
.cbb2c-finish.effect-mirror::after{opacity:1;box-shadow:inset 0 0 0 2px rgba(174,242,255,.7),inset 0 0 13px rgba(242,132,250,.5)}
.cbb2c-finish.effect-confetti .sparkle{position:absolute;z-index:2;left:var(--x);top:var(--y);color:var(--color);font-size:var(--size);font-family:Georgia,serif;line-height:1;-webkit-text-stroke:.8px #153153;text-shadow:0 1px 2px #051027,0 0 4px #fff,0 0 10px var(--color),0 0 18px var(--color);pointer-events:none;opacity:0;transform:translate(-50%,-50%) scale(.35)}
.cbb2c-finish.effect-confetti .sparkle{animation:cbb2c-confetti-flash 1.9s ease-in-out var(--delay) infinite}
.cbb2c-finish.effect-circles .foil-ring{position:absolute;z-index:2;left:var(--x);top:var(--y);width:var(--size);aspect-ratio:1;border-radius:50%;background:conic-gradient(from 25deg,rgba(255,255,255,.1),rgba(105,231,255,.95),rgba(255,255,255,.8),rgba(252,146,226,.9),rgba(255,231,135,.9),rgba(255,255,255,.1));-webkit-mask:radial-gradient(farthest-side,transparent 54%,#000 63% 78%,transparent 86%);mask:radial-gradient(farthest-side,transparent 54%,#000 63% 78%,transparent 86%);filter:drop-shadow(0 0 4px rgba(220,249,255,.9));pointer-events:none;opacity:0;transform:translate(-50%,-50%) rotate(0deg) scale(.75)}
.cbb2c-finish.effect-circles .foil-ring{animation:cbb2c-foil-rings 4.2s ease-in-out var(--delay) infinite}
.cbb2c-finish.effect-stamp::before{inset:-55% 0;background:linear-gradient(180deg,transparent 33%,rgba(98,233,255,.22) 41%,rgba(255,247,177,.48) 49%,rgba(255,255,255,.52) 52%,rgba(255,137,216,.45) 58%,transparent 68%);mix-blend-mode:screen;opacity:1;animation:cbb2c-vertical 3s ease-in-out infinite}
.cbb2c-finish.effect-stamp::after{opacity:.65;box-shadow:inset 0 0 0 2px rgba(255,221,246,.50),inset 0 0 14px rgba(255,168,233,.38)}
.cbb2c-finish.effect-holofoil::before{inset:-55% 0;background:linear-gradient(180deg,transparent 32%,rgba(111,202,255,.36) 41%,rgba(255,255,255,.60) 50%,rgba(255,181,74,.38) 59%,transparent 68%);mix-blend-mode:screen;opacity:1;animation:cbb2c-vertical 3.1s ease-in-out infinite}
.cbb2c-finish.effect-holofoil::after{opacity:.8;box-shadow:inset 0 0 0 2px rgba(187,229,255,.56),inset 0 0 14px rgba(145,213,255,.5)}
.cbb2c-finish.effect-fullart::before{inset:-15% -85%;background:linear-gradient(105deg,transparent 29%,rgba(74,190,255,.30) 39%,rgba(255,255,255,.68) 49%,rgba(248,164,255,.55) 54%,rgba(255,235,122,.40) 61%,transparent 70%);mix-blend-mode:screen;opacity:.95;animation:cbb2c-mirror 3.1s ease-in-out infinite}
.cbb2c-finish.effect-fullart::after{opacity:.75;box-shadow:inset 0 0 0 2px rgba(230,238,255,.55),inset 0 0 15px rgba(180,202,255,.52)}
.cbb2c-finish.effect-rainbow::before{inset:-18% -95%;background:linear-gradient(112deg,transparent 22%,rgba(255,48,85,.85) 30%,rgba(255,192,48,.85) 38%,rgba(76,226,107,.85) 46%,rgba(49,169,255,.85) 54%,rgba(178,72,255,.85) 62%,transparent 72%);mix-blend-mode:color;opacity:.82;animation:cbb2c-mirror 3.2s linear infinite}
.cbb2c-finish.effect-rainbow::after{opacity:.58;background:linear-gradient(125deg,rgba(255,61,99,.55),rgba(255,219,70,.55),rgba(78,229,132,.55),rgba(67,177,255,.55),rgba(184,82,255,.55));background-size:180% 180%;mix-blend-mode:color;animation:cbb2c-rainbow-shift 5.5s ease-in-out infinite alternate}
@keyframes cbb2c-mirror{from{transform:translateX(-45%)}to{transform:translateX(45%)}}
@keyframes cbb2c-vertical{from{transform:translateY(-38%)}to{transform:translateY(38%)}}
@keyframes cbb2c-confetti-flash{0%,100%{opacity:0;transform:translate(-50%,-50%) scale(.25)}35%,58%{opacity:1;transform:translate(-50%,-50%) scale(1.15)}75%{opacity:.22;transform:translate(-50%,-50%) scale(.65)}}
@keyframes cbb2c-foil-rings{0%,100%{opacity:.08;transform:translate(-50%,-50%) rotate(0deg) scale(.78)}35%{opacity:.9;transform:translate(-50%,-50%) rotate(70deg) scale(1.05)}70%{opacity:.24;transform:translate(-50%,-50%) rotate(150deg) scale(.92)}}
@keyframes cbb2c-rainbow-shift{from{background-position:0 0}to{background-position:100% 100%}}
@media(prefers-reduced-motion:reduce){.cbb2c-finish::before,.cbb2c-finish::after{animation:none!important;transform:none!important;opacity:.55}.cbb2c-finish.effect-confetti .sparkle{animation:none;opacity:.75;transform:translate(-50%,-50%) scale(.85)}.cbb2c-finish.effect-circles .foil-ring{animation:none;opacity:.65;transform:translate(-50%,-50%) scale(1)}}
.card-art>.cbb2c-finish.effect-confetti .sparkle{font-size:clamp(20px,4vw,29px)}
