/*

  V MAX
  Adapted from simeydotme/pokemon-cards-css for HypePull.
  Inlined `:not(.masked)` overrides — using the vmaxbg.jpg foil and 60%/30%
  sizing gives the authentic VMAX texture even without per-card masks.
  Dropped `[data-supertype="pokémon"]` qualifier.

*/

.card-body.card[data-rarity="rare holo vmax"] .card__shine {

  --space: 6%;
  --angle: 133deg;
  --foil: url("/twitch/img/vmaxbg.jpg");
  --imgsize: 60% 30%;

  background-image:
    var(--foil),
    repeating-linear-gradient( -33deg,
      hsl(2, 70%, 47%) calc(var(--space)*1),
      hsl(228, 60%, 64%) calc(var(--space)*2),
      hsl(176, 55%, 39%) calc(var(--space)*3),
      hsl(123, 68%, 35%) calc(var(--space)*4),
      hsl(283, 75%, 57%) calc(var(--space)*5),
      hsl(2, 70%, 47%) calc(var(--space)*6)
    ),
    repeating-linear-gradient(
      var(--angle),
      hsla(227, 53%, 12%, 0.5) 0%,
      hsl(180, 10%, 50%) 2.5%,
      hsl(83, 50%, 35%) 5%,
      hsl(180, 10%, 50%) 7.5%,
      hsla(227, 53%, 12%, 0.5) 10%,
      hsla(227, 53%, 12%, 0.5) 15%
      ),
    radial-gradient(
      farthest-corner circle
      at var(--pointer-x) var(--pointer-y),
      hsla(189, 76%, 77%, 0.6) 0%,
      hsla(147, 59%, 77%, 0.6) 25%,
      hsla(271, 55%, 69%, 0.6) 50%,
      hsla(355, 56%, 72%, 0.6) 75%
    );

  background-blend-mode: difference, luminosity, soft-light;
  background-size: var(--imgsize), 1100% 1100%, 600% 600%, 200% 200%;
  background-position:
    center,
    var(--background-x) var(--background-y),
    var(--background-x) var(--background-y),
    var(--background-x) var(--background-y);

  filter: brightness(calc((var(--pointer-from-center) * .4) + .8)) contrast(2) saturate(1.6);

}

.card-body.card[data-rarity="rare holo vmax"] .card__shine:after {

  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%
  );

  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);

  mix-blend-mode: lighten;
  opacity: calc( (0.6 * var(--card-opacity)) + var(--card-opacity) * var(--pointer-from-center) * 0.5 );
  filter: saturate(1.8);

}

/*

  GLARE LAYERS

*/

.card-body.card[data-rarity="rare holo vmax"] .card__glare {

  mix-blend-mode: hard-light;
  filter: brightness(1) contrast(1);

  background-image:
    radial-gradient(
      farthest-corner circle at
      var(--glare-x) var(--glare-y),
      hsla(0, 0%, 100%, 0.75) 0%,
      hsl(0, 0%, 0%) 120%
    );

    opacity: calc( (0.2 * var(--card-opacity)) + var(--card-opacity) * var(--pointer-from-center) * 0.8 );

}
