/* ChatVille shares the shuffled palettes while retaining its sparkle effects. */
.catalog-programs .program-link--chatville {
  min-height:216px;
  border:2px solid transparent;
  background:linear-gradient(115deg,var(--p-start),var(--p-mid) 52%,var(--p-end)) padding-box,linear-gradient(120deg,var(--p-edge),var(--s2),var(--s3),var(--s4),var(--p-edge)) border-box;
  box-shadow:0 0 28px color-mix(in srgb,var(--p-edge) 13%,transparent),0 0 3px color-mix(in srgb,var(--p-edge) 55%,transparent),inset 0 0 32px color-mix(in srgb,var(--p-edge) 4%,transparent);
}
.program-link--chatville .program-foil--wash { opacity:.24; }
.program-link--chatville .program-foil--texture { opacity:.55; }
.program-link--chatville .program-foil--glare { opacity:.6; background:linear-gradient(112deg,transparent 15%,#f3e7b518 38%,#e8ffd43b 45%,#e2d4ff1a 52%,transparent 72%); background-size:240% 100%; animation:cv-banner-sheen 8s ease-in-out 2; }
.program-link--chatville .program-cube { animation-play-state:running; animation-duration:22s; }
.program-link--chatville .program-link__text>strong { color:var(--p-ink); text-shadow:0 0 16px color-mix(in srgb,var(--p-edge) 27%,transparent),2px 2px var(--p-mid); }
.program-link--chatville .program-link__text>.program-spotlight { align-self:flex-start; padding:3px 8px; margin-bottom:4px; border:1px solid color-mix(in srgb,var(--p-edge) 40%,transparent); border-radius:3px; color:var(--p-ink); background:color-mix(in srgb,var(--p-edge) 5%,transparent); font-size:10px; letter-spacing:.05em; }
.program-link--chatville>.program-twinkles { position:absolute; inset:0; z-index:3; pointer-events:none; }
.program-twinkles i { position:absolute; color:#ffeeb5; font-style:normal; font-size:18px; text-shadow:0 0 9px #f0e79a99; animation:cv-banner-twinkle 4s ease-in-out 4; }
.program-twinkles i:nth-child(1) { left:2%; top:15%; animation-delay:-1s; }
.program-twinkles i:nth-child(2) { left:14%; top:80%; font-size:12px; animation-delay:-3s; }
.program-twinkles i:nth-child(3) { left:48%; top:9%; font-size:11px; animation-delay:-2s; }
.program-twinkles i:nth-child(4) { left:77%; top:18%; animation-delay:-3s; }
.program-twinkles i:nth-child(5) { left:94%; top:75%; font-size:14px; animation-delay:-1s; }
.program-twinkles i:nth-child(6) { left:66%; top:87%; font-size:10px; animation-delay:-2s; }
@keyframes cv-banner-sheen { 0%,100% { background-position:140% 0; } 50% { background-position:-40% 0; } }
@keyframes cv-banner-twinkle { 0%,100% { opacity:.25; transform:scale(.65); } 50% { opacity:1; transform:scale(1.15); } }
@media (prefers-reduced-motion:reduce) {
  .program-link--chatville .program-foil--glare,.program-link--chatville .program-cube,.program-twinkles i { animation:none; }
}
