/*

  RAINBOW HOLO
  Matched to Vue Card.vue implementation

*/




/*

  SHINE LAYERS

*/

.card[data-rarity="rare rainbow"] .card__shine,
.card-body.card[data-rarity="rare rainbow"] .card__shine {

  --space: 5%;
  --angle: 133deg;

  background-image:
    repeating-linear-gradient(0deg,
      var(--sunpillar-clr-1) calc(var(--space)*1),
      var(--sunpillar-clr-2) calc(var(--space)*2),
      var(--sunpillar-clr-3) calc(var(--space)*3),
      var(--sunpillar-clr-4) calc(var(--space)*4),
      var(--sunpillar-clr-5) calc(var(--space)*5),
      var(--sunpillar-clr-6) calc(var(--space)*6),
      var(--sunpillar-clr-1) calc(var(--space)*7)
    ),
    repeating-linear-gradient(var(--angle),
      #0e152e 0%,
      hsl(180, 10%, 60%) 3.8%,
      hsl(180, 29%, 66%) 4.5%,
      hsl(180, 10%, 60%) 5.2%,
      #0e152e 10%,
      #0e152e 12%
    ),
    radial-gradient(
      farthest-corner circle at var(--pointer-x) var(--pointer-y),
      hsla(0, 0%, 0%, 0.1) 12%,
      hsla(0, 0%, 0%, 0.15) 20%,
      hsla(0, 0%, 0%, 0.25) 120%
    );

  background-blend-mode: hue, hard-light;
  background-size: 200% 700%, 300% 100%, 200% 100%;
  background-position: 0% var(--background-y), var(--background-x) var(--background-y), var(--background-x) var(--background-y);

  filter: brightness(calc((var(--pointer-from-center) * .3) + .85)) contrast(1.5) saturate(1.2);

}

.card[data-rarity="rare rainbow"] .card__shine:after,
.card-body.card[data-rarity="rare rainbow"] .card__shine:after {

  content: "";

  background-size: 200% 400%, 195% 100%, 200% 100%;
  filter: brightness(calc((var(--pointer-from-center) * .3) + .8)) contrast(1.2) saturate(1.2);
  mix-blend-mode: exclusion;

}

.card[data-rarity="rare rainbow"] .card__shine:before,
.card-body.card[data-rarity="rare rainbow"] .card__shine:before {

  content: none;
  display: none;

}




/*

  GLARE LAYERS

*/

.card[data-rarity="rare rainbow"] .card__glare,
.card-body.card[data-rarity="rare rainbow"] .card__glare {

  filter: brightness(.85) contrast(1.3);

  background-image:
    radial-gradient(
      farthest-corner circle at var(--glare-x) var(--glare-y),
      hsla(195, 90%, 95%, 0.5) 5%,
      hsla(300, 3%, 70%, 0.35) 60%,
      hsla(350, 0%, 20%, 0.2) 150%
    );

  mix-blend-mode: hard-light;
  opacity: calc(var(--card-opacity) * 0.55 * (0.4 + var(--pointer-from-center) * 0.6));

}
