/* clockwise.scss */
@keyframes venus-incoming-transition-__builtin__clockwise {
  0% {
    clip-path: polygon(50% 50%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
  }

  12.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 0%,
      100% 0%,
      100% 0%,
      100% 0%
    );
  }

  37.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 100%,
      100% 100%,
      100% 100%,
      100% 100%
    );
  }

  62.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 100%,
      0% 100%,
      0% 100%,
      0% 100%
    );
  }

  87.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 100%,
      0% 100%,
      0% 0%,
      0% 0%
    );
  }

  100% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 100%,
      0% 100%,
      0% 0%,
      50% 0%
    );
  }
}

@keyframes venus-incoming-transition-backward-__builtin__clockwise {
  0% {
    clip-path: polygon(50% 50%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
  }

  12.5% {
    clip-path: polygon(50% 50%, 50% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
  }

  37.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      0% 0%,
      0% 100%,
      0% 100%,
      0% 100%,
      0% 100%
    );
  }

  62.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      0% 0%,
      0% 100%,
      100% 100%,
      100% 100%,
      100% 100%
    );
  }

  87.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      0% 0%,
      0% 100%,
      100% 100%,
      100% 0%,
      100% 0%
    );
  }

  100% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      0% 0%,
      0% 100%,
      100% 100%,
      100% 0%,
      50% 0%
    );
  }
}


/* counterclockwise.scss */
@keyframes venus-incoming-transition-__builtin__counterclockwise {
  0% {
    clip-path: polygon(50% 50%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
  }

  12.5% {
    clip-path: polygon(50% 50%, 50% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%, 0% 0%);
  }

  37.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      0% 0%,
      0% 100%,
      0% 100%,
      0% 100%,
      0% 100%
    );
  }

  62.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      0% 0%,
      0% 100%,
      100% 100%,
      100% 100%,
      100% 100%
    );
  }

  87.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      0% 0%,
      0% 100%,
      100% 100%,
      100% 0%,
      100% 0%
    );
  }

  100% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      0% 0%,
      0% 100%,
      100% 100%,
      100% 0%,
      50% 0%
    );
  }
}

@keyframes venus-incoming-transition-backward-__builtin__counterclockwise {
  0% {
    clip-path: polygon(50% 50%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%, 50% 0%);
  }

  12.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 0%,
      100% 0%,
      100% 0%,
      100% 0%
    );
  }

  37.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 100%,
      100% 100%,
      100% 100%,
      100% 100%
    );
  }

  62.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 100%,
      0% 100%,
      0% 100%,
      0% 100%
    );
  }

  87.5% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 100%,
      0% 100%,
      0% 0%,
      0% 0%
    );
  }

  100% {
    clip-path: polygon(
      50% 50%,
      50% 0%,
      100% 0%,
      100% 100%,
      0% 100%,
      0% 0%,
      50% 0%
    );
  }
}


/* cover.scss */
@keyframes venus-incoming-transition-__builtin__cover {
  from {
    opacity: 0;
    transform: translateX(10%);
    animation-timing-function: ease-out;
  }

  to {
    transform: translateX(0%);
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__cover {
  from {
    animation-timing-function: ease-out;
    transform: translateX(0%);
  }

  to {
    opacity: 0;
    transform: translateX(10%);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__cover {
  from { z-index: -1; } to { z-index: -1; }
}


/* coverflow.scss */
@keyframes venus-outgoing-transition-__builtin__coverflow {
  from {
    animation-timing-function: ease-in-out;
    transform: perspective(50vw) translateX(0) rotateY(0) translateZ(0);
    z-index: 1;
  }

  to {
    filter: brightness(0.5);
    transform: perspective(50vw)
      translateX(calc(var(--venus-transition-direction, 1) * -60vw))
      rotateY(calc(var(--venus-transition-direction, 1) * 70deg))
      translateZ(-50vw);
    z-index: 0;
  }
}

@keyframes venus-incoming-transition-__builtin__coverflow {
  from {
    animation-timing-function: ease-in-out;
    filter: brightness(0.5);
    transform: perspective(50vw)
      translateX(calc(var(--venus-transition-direction, 1) * 60vw))
      rotateY(calc(var(--venus-transition-direction, 1) * -70deg))
      translateZ(-50vw);
    z-index: 0;
  }

  to {
    transform: perspective(50vw) translateX(0) rotateY(0) translateZ(0);
    z-index: 1;
  }
}


/* cube.scss */
@keyframes venus-outgoing-transition-__builtin__cube {
  from {
    z-index: 1;
    transform: perspective(100vw) translateZ(-50vw) rotateY(0deg)
      translateZ(50vw);
    animation-timing-function: ease-in-out;
  }

  to {
    z-index: 0;
    filter: brightness(0.5);
    transform: perspective(100vw) translateZ(-50vw)
      rotateY(calc(var(--venus-transition-direction, 1) * -90deg))
      translateZ(50vw);
  }
}

@keyframes venus-incoming-transition-__builtin__cube {
  from {
    z-index: 0;
    filter: brightness(0.5);
    transform: perspective(100vw) translateZ(-50vw)
      rotateY(calc(var(--venus-transition-direction, 1) * 90deg))
      translateZ(50vw);
    animation-timing-function: ease-in-out;
  }

  to {
    z-index: 1;
    transform: perspective(100vw) translateZ(-50vw) rotateY(0deg)
      translateZ(50vw);
  }
}


/* cylinder.scss */
@keyframes venus-outgoing-transition-__builtin__cylinder {
  from {
    transform: perspective(100vw) translateZ(50vw) rotateY(0deg)
      translateZ(-50vw);
    animation-timing-function: ease-in-out;
  }

  to {
    filter: brightness(0.5);
    transform: perspective(100vw) translateZ(50vw)
      rotateY(calc(var(--venus-transition-direction, 1) * 90deg))
      translateZ(-50vw);
  }
}

@keyframes venus-incoming-transition-__builtin__cylinder {
  from {
    filter: brightness(0.5);
    transform: perspective(100vw) translateZ(50vw)
      rotateY(calc(var(--venus-transition-direction, 1) * -90deg))
      translateZ(-50vw);
    animation-timing-function: ease-in-out;
  }

  to {
    transform: perspective(100vw) translateZ(50vw) rotateY(0deg)
      translateZ(-50vw);
  }
}


/* diamond.scss */
@keyframes venus-incoming-transition-__builtin__diamond {
  0% {
    clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
  }

  100% {
    clip-path: polygon(50% -50%, 150% 50%, 50% 150%, -50% 50%);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__diamond {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-outgoing-transition-backward-__builtin__diamond {
  0% {
    clip-path: polygon(50% -50%, 150% 50%, 50% 150%, -50% 50%);
  }

  100% {
    clip-path: polygon(50% 50%, 50% 50%, 50% 50%, 50% 50%);
  }
}


/* drop.scss */
:root {
  --saturn-venus-transition-drop-shadow:
    0 0.3vh 0.6vh rgb(0 0 0 / 39%), rgb(0 0 0 / 30%) 0 3vh 5vh,
    rgb(0 0 0 / 22%) 0 2vh 1.5vh;
}

// [Safari CSS hack]
// In Safari, applying shadow causes a rendering issue
_::-webkit-full-page-media,
_:future,
:root {
  --saturn-venus-transition-drop-shadow: none;
}

@keyframes venus-incoming-transition-__builtin__drop {
  0% {
    transform: translateY(-100%);
    box-shadow: var(--saturn-venus-transition-drop-shadow);
  }

  35% {
    transform: none;
    animation-timing-function: ease-out;
  }

  60% {
    transform: translateY(-10%);
    animation-timing-function: ease-in;
  }

  85% {
    transform: none;
    animation-timing-function: ease-out;
  }

  92.5% {
    transform: translateY(-1%);
    animation-timing-function: ease-in;
    box-shadow: var(--saturn-venus-transition-drop-shadow);
  }
}

@keyframes venus-outgoing-transition-__builtin__drop {
  35% {
    filter: none;
  }

  100% {
    filter: brightness(0.5);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__drop {
  0% {
    filter: brightness(0.5);
    animation-timing-function: ease-in;
  }

  65% {
    filter: none;
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__drop {
  0% {
    z-index: 1;
    transform: translateY(0);
    animation-timing-function: ease-in;
    box-shadow: var(--saturn-venus-transition-drop-shadow);
  }

  100% {
    z-index: 1;
    transform: translateY(-100%);
    box-shadow: var(--saturn-venus-transition-drop-shadow);
  }
}


/* explode.scss */
@keyframes venus-incoming-transition-__builtin__explode {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-outgoing-transition-__builtin__explode {
  from {
    animation-timing-function: ease-out;
  }

  to {
    transform: scale(1.2);
    opacity: 0;
  }
}

@keyframes venus-incoming-transition-backward-__builtin__explode {
  from {
    animation-timing-function: ease-out;
    transform: scale(1.2);
    opacity: 0;
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__explode {
}


/* fade-out.scss */
@keyframes venus-transition-__builtin__fade-out {
  0% {
    opacity: 1;
  }

  50% {
    opacity: 0;
  }

  100% {
    opacity: 0;
  }
}


/* fade.scss */
@keyframes venus-outgoing-transition-__builtin__fade {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

@keyframes venus-incoming-transition-__builtin__fade {
  from {
    mix-blend-mode: plus-lighter;
    opacity: 0;
  }

  to {
    mix-blend-mode: plus-lighter;
    opacity: 1;
  }
}


/* fall.scss */
@keyframes venus-incoming-transition-__builtin__fall {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-outgoing-transition-__builtin__fall {
  from {
    animation-timing-function: cubic-bezier(0.4, 0, 1, 0.6);
    transform: perspective(100vmax) rotateX(0);
    transform-origin: 50% 100%;
  }

  to {
    transform: perspective(100vmax) rotateX(-90deg);
    transform-origin: 50% 100%;
    filter: brightness(0.75);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__fall {
  from {
    animation-timing-function: cubic-bezier(0, 0.4, 0.6, 1);
    filter: brightness(0.75);
    transform: perspective(100vmax) rotateX(-90deg);
    transform-origin: 50% 100%;
  }

  to {
    transform: perspective(100vmax) rotateX(0);
    transform-origin: 50% 100%;
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__fall {
}


/* flip.scss */
@keyframes venus-outgoing-transition-__builtin__flip {
  0% {
    animation-timing-function: ease-in;
  }

  50% {
    transform: perspective(75vw)
      rotateY(calc(var(--venus-transition-direction, 1) * -90deg));
    opacity: 0.75;
    animation-timing-function: step-start;
  }

  100% {
    opacity: 0;
  }
}

@keyframes venus-incoming-transition-__builtin__flip {
  0% {
    opacity: 0;
    animation-timing-function: step-end;
  }

  50% {
    transform: perspective(75vw)
      rotateY(calc(var(--venus-transition-direction, 1) * 90deg));
    opacity: 0.75;
    animation-timing-function: ease-out;
  }
}


/* glow.scss */
@keyframes venus-outgoing-transition-__builtin__glow {
  50% {
    filter: blur(10px) contrast(0) brightness(2);
    opacity: 1;
    animation-timing-function: step-start;
  }

  100% {
    opacity: 0;
  }
}

@keyframes venus-incoming-transition-__builtin__glow {
  from { z-index: -1; } to { z-index: -1; }

  0% {
    filter: blur(10px) contrast(0) brightness(2);
  }

  50% {
    filter: blur(10px) contrast(0) brightness(2);
  }
}


/* implode.scss */
@keyframes venus-incoming-transition-__builtin__implode {
  from {
    animation-timing-function: ease-out;
    transform: scale(1.2);
    opacity: 0;
  }
}

@keyframes venus-incoming-transition-backward-__builtin__implode {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-outgoing-transition-backward-__builtin__implode {
  from {
    animation-timing-function: ease-out;
  }

  to {
    transform: scale(1.2);
    opacity: 0;
  }
}


/* in-out.scss */
@keyframes venus-outgoing-transition-__builtin__in-out {
  0% {
    animation-timing-function: ease-out;
  }

  50% {
    filter: brightness(1);
    transform: translateX(calc(var(--venus-transition-direction, 1) * -25%))
      scale(0.45);
    animation-timing-function: ease-out;
  }

  100% {
    filter: brightness(0.75);
    transform: translateX(calc(var(--venus-transition-direction, 1) * -25%))
      scale(0.45) translateX(calc(var(--venus-transition-direction, 1) * -25vw));
  }
}

@keyframes venus-incoming-transition-__builtin__in-out {
  0% {
    z-index: -1;
    filter: brightness(0.75);
    transform: translateX(calc(var(--venus-transition-direction, 1) * 25%))
      scale(0.45) translateX(calc(var(--venus-transition-direction, 1) * 25vw));
    animation-timing-function: ease-out;
  }

  50% {
    filter: brightness(1);
    transform: translateX(calc(var(--venus-transition-direction, 1) * 25%))
      scale(0.45);
    animation-timing-function: ease-out;
  }

  100% {
    z-index: 0;
  }
}


/* iris-in.scss */
@keyframes venus-incoming-transition-__builtin__iris-in {
  from {
    clip-path: circle(0);
  }

  to {
    clip-path: circle(75vmax);
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__iris-in {
  from {
    clip-path: circle(75vmax);
  }

  to {
    clip-path: circle(0);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__iris-in {
  from { z-index: -1; } to { z-index: -1; }
}


/* iris-out.scss */
@keyframes venus-outgoing-transition-__builtin__iris-out {
  from {
    clip-path: circle(75vmax);
  }

  to {
    clip-path: circle(0);
  }
}

@keyframes venus-incoming-transition-__builtin__iris-out {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-incoming-transition-backward-__builtin__iris-out {
  from {
    clip-path: circle(0);
  }

  to {
    clip-path: circle(75vmax);
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__iris-out {
}


/* melt.scss */
@keyframes venus-incoming-transition-__builtin__melt {
  0% {
    clip-path: polygon(
      100% -50%,
      0% -50%,
      0% 0%,
      1.56% -0.29%,
      3.13% -1.22%,
      4.69% -2.51%,
      6.25% -3.65%,
      7.81% -4.44%,
      9.38% -4.94%,
      10.94% -5.19%,
      12.5% -5.28%,
      12.5% -5.28%,
      14.06% -5.19%,
      15.63% -4.92%,
      17.19% -4.31%,
      18.75% -3.22%,
      20.31% -1.78%,
      21.88% -0.67%,
      23.44% -0.14%,
      25% 0%,
      25% 0%,
      26.56% -0.32%,
      28.13% -1.4%,
      29.69% -3.46%,
      31.25% -6.39%,
      32.81% -9.32%,
      34.38% -11.38%,
      35.94% -12.46%,
      37.5% -12.78%,
      37.5% -12.78%,
      39.06% -12.47%,
      40.63% -11.5%,
      42.19% -9.76%,
      43.75% -7.32%,
      45.31% -4.53%,
      46.88% -2.07%,
      48.44% -0.5%,
      50% 0%,
      50% 0%,
      51.56% -0.67%,
      53.13% -3.18%,
      54.69% -7.19%,
      56.25% -10.49%,
      57.81% -12.53%,
      59.38% -13.69%,
      60.94% -14.28%,
      62.5% -14.44%,
      62.5% -14.44%,
      64.06% -14.28%,
      65.63% -13.69%,
      67.19% -12.51%,
      68.75% -10.43%,
      70.31% -7.04%,
      71.88% -3.03%,
      73.44% -0.61%,
      75% 0%,
      75% 0%,
      76.56% -0.14%,
      78.13% -0.62%,
      79.69% -1.42%,
      81.25% -2.28%,
      82.81% -2.93%,
      84.38% -3.33%,
      85.94% -3.56%,
      87.5% -3.61%,
      87.5% -3.61%,
      89.06% -3.56%,
      90.63% -3.37%,
      92.19% -3.06%,
      93.75% -2.61%,
      95.31% -2.01%,
      96.88% -1.29%,
      98.44% -0.51%,
      100% 0%
    );
    opacity: 0.8;
  }

  30% {
    opacity: 1;
    animation-timing-function: ease-out;
  }

  100% {
    clip-path: polygon(
      100% -50%,
      0% -50%,
      0% 100%,
      1.56% 104.1%,
      3.13% 117.13%,
      4.69% 135.17%,
      6.25% 151.1%,
      7.81% 162.29%,
      9.38% 169.21%,
      10.94% 172.82%,
      12.5% 173.89%,
      12.5% 173.89%,
      14.06% 173.05%,
      15.63% 170.01%,
      17.19% 163.62%,
      18.75% 152.2%,
      20.31% 136.8%,
      21.88% 125.05%,
      23.44% 119.5%,
      25% 118.06%,
      25% 118.06%,
      26.56% 118.32%,
      28.13% 119.24%,
      29.69% 120.99%,
      31.25% 123.47%,
      32.81% 125.95%,
      34.38% 127.7%,
      35.94% 128.62%,
      37.5% 128.89%,
      37.5% 128.89%,
      39.06% 128.31%,
      40.63% 126.43%,
      42.19% 123.07%,
      43.75% 118.33%,
      45.31% 112.93%,
      46.88% 108.16%,
      48.44% 105.14%,
      50% 104.17%,
      50% 104.17%,
      51.56% 106.55%,
      53.13% 115.67%,
      54.69% 130.19%,
      56.25% 142.09%,
      57.81% 149.48%,
      59.38% 153.69%,
      60.94% 155.79%,
      62.5% 156.39%,
      62.5% 156.39%,
      64.06% 156.07%,
      65.63% 154.98%,
      67.19% 152.75%,
      68.75% 148.82%,
      70.31% 142.45%,
      71.88% 134.87%,
      73.44% 130.33%,
      75% 129.17%,
      75% 129.17%,
      76.56% 133.7%,
      78.13% 149.12%,
      79.69% 174.71%,
      81.25% 202.03%,
      82.81% 222.99%,
      84.38% 236.17%,
      85.94% 243%,
      87.5% 245%,
      87.5% 245%,
      89.06% 242.66%,
      90.63% 235.41%,
      92.19% 222.89%,
      93.75% 204.82%,
      95.31% 181.05%,
      96.88% 152.08%,
      98.44% 120.6%,
      100% 100%
    );
  }
}

@keyframes venus-incoming-transition-backward-__builtin__melt {
  0% {
    clip-path: polygon(
      100% 150%,
      0% 150%,
      0% 100%,
      1.56% 100.29%,
      3.13% 101.22%,
      4.69% 102.51%,
      6.25% 103.65%,
      7.81% 104.44%,
      9.38% 104.94%,
      10.94% 105.19%,
      12.5% 105.28%,
      12.5% 105.28%,
      14.06% 105.19%,
      15.63% 104.92%,
      17.19% 104.31%,
      18.75% 103.22%,
      20.31% 101.78%,
      21.88% 100.67%,
      23.44% 100.14%,
      25% 100%,
      25% 100%,
      26.56% 100.32%,
      28.13% 101.4%,
      29.69% 103.46%,
      31.25% 106.39%,
      32.81% 109.32%,
      34.38% 111.38%,
      35.94% 112.46%,
      37.5% 112.78%,
      37.5% 112.78%,
      39.06% 112.47%,
      40.63% 111.5%,
      42.19% 109.76%,
      43.75% 107.32%,
      45.31% 104.53%,
      46.88% 102.07%,
      48.44% 100.5%,
      50% 100%,
      50% 100%,
      51.56% 100.67%,
      53.13% 103.18%,
      54.69% 107.19%,
      56.25% 110.49%,
      57.81% 112.53%,
      59.38% 113.69%,
      60.94% 114.28%,
      62.5% 114.44%,
      62.5% 114.44%,
      64.06% 114.28%,
      65.63% 113.69%,
      67.19% 112.51%,
      68.75% 110.43%,
      70.31% 107.04%,
      71.88% 103.03%,
      73.44% 100.61%,
      75% 100%,
      75% 100%,
      76.56% 100.14%,
      78.13% 100.63%,
      79.69% 101.42%,
      81.25% 102.28%,
      82.81% 102.93%,
      84.38% 103.33%,
      85.94% 103.56%,
      87.5% 103.61%,
      87.5% 103.61%,
      89.06% 103.56%,
      90.63% 103.38%,
      92.19% 103.06%,
      93.75% 102.61%,
      95.31% 102.01%,
      96.88% 101.29%,
      98.44% 100.51%,
      100% 100%
    );
    opacity: 0.8;
  }

  30% {
    opacity: 1;
    animation-timing-function: ease-out;
  }

  100% {
    clip-path: polygon(
      100% 150%,
      0% 150%,
      0% 0%,
      1.56% -4.1%,
      3.13% -17.13%,
      4.69% -35.17%,
      6.25% -51.1%,
      7.81% -62.29%,
      9.38% -69.21%,
      10.94% -72.82%,
      12.5% -73.89%,
      12.5% -73.89%,
      14.06% -73.05%,
      15.63% -70.01%,
      17.19% -63.62%,
      18.75% -52.2%,
      20.31% -36.8%,
      21.88% -25.05%,
      23.44% -19.5%,
      25% -18.06%,
      25% -18.06%,
      26.56% -18.32%,
      28.13% -19.24%,
      29.69% -20.99%,
      31.25% -23.47%,
      32.81% -25.95%,
      34.38% -27.7%,
      35.94% -28.62%,
      37.5% -28.89%,
      37.5% -28.89%,
      39.06% -28.31%,
      40.63% -26.43%,
      42.19% -23.07%,
      43.75% -18.33%,
      45.31% -12.93%,
      46.88% -8.16%,
      48.44% -5.14%,
      50% -4.17%,
      50% -4.17%,
      51.56% -6.55%,
      53.13% -15.67%,
      54.69% -30.19%,
      56.25% -42.09%,
      57.81% -49.48%,
      59.38% -53.69%,
      60.94% -55.79%,
      62.5% -56.39%,
      62.5% -56.39%,
      64.06% -56.07%,
      65.63% -54.98%,
      67.19% -52.75%,
      68.75% -48.82%,
      70.31% -42.45%,
      71.88% -34.87%,
      73.44% -30.33%,
      75% -29.17%,
      75% -29.17%,
      76.56% -33.7%,
      78.13% -49.12%,
      79.69% -74.71%,
      81.25% -102.03%,
      82.81% -122.99%,
      84.38% -136.17%,
      85.94% -143%,
      87.5% -145%,
      87.5% -145%,
      89.06% -142.66%,
      90.63% -135.41%,
      92.19% -122.89%,
      93.75% -104.82%,
      95.31% -81.05%,
      96.88% -52.08%,
      98.44% -20.6%,
      100% 0%
    );
  }
}


/* overlap.scss */
@keyframes venus-outgoing-transition-__builtin__overlap {
  50% {
    filter: contrast(1);
  }

  100% {
    filter: contrast(0);
  }
}

@keyframes venus-incoming-transition-__builtin__overlap {
  0% {
    mix-blend-mode: overlay;
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  100% {
    mix-blend-mode: overlay;
  }
}


/* pivot.scss */
@keyframes venus-incoming-transition-__builtin__pivot {
  from {
    transform-origin: left top;
    transform: rotate(-90deg);
    animation-timing-function: ease-out;
  }

  to {
    transform-origin: left top;
  }
}

@keyframes venus-incoming-transition-backward-__builtin__pivot {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-outgoing-transition-backward-__builtin__pivot {
  from {
    transform-origin: left top;
    transform: rotate(0deg);
    animation-timing-function: ease-in;
  }

  to {
    transform-origin: left top;
    transform: rotate(-90deg);
  }
}


/* pull.scss */
@keyframes venus-outgoing-transition-__builtin__pull {
  from {
    animation-timing-function: ease-out;
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

@keyframes venus-incoming-transition-__builtin__pull {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-incoming-transition-backward-__builtin__pull {
  from {
    animation-timing-function: ease-out;
    transform: translateX(-100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__pull {
}


/* push.scss */
@keyframes venus-incoming-transition-__builtin__push {
  from {
    animation-timing-function: ease-out;
    transform: translateX(100%);
  }

  to {
    transform: translateX(0);
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__push {
  from {
    animation-timing-function: ease-out;
    transform: translateX(0);
  }

  to {
    transform: translateX(100%);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__push {
  from { z-index: -1; } to { z-index: -1; }
}


/* reveal.scss */
@keyframes venus-outgoing-transition-__builtin__reveal {
  from {
    animation-timing-function: ease-out;
    transform: translateX(0%);
  }

  to {
    opacity: 0;
    transform: translateX(-10%);
  }
}

@keyframes venus-incoming-transition-__builtin__reveal {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-outgoing-transition-backward-__builtin__reveal {
}

@keyframes venus-incoming-transition-backward-__builtin__reveal {
  from {
    opacity: 0;
    transform: translateX(-10%);
    animation-timing-function: ease-out;
  }

  to {
    transform: translateX(0%);
  }
}


/* rotate.scss */
@keyframes venus-outgoing-transition-__builtin__rotate {
  from {
    z-index: 1;

    // NOTE: 0.0001deg is a workaround for a bug in Safari
    transform: perspective(100vw) translateZ(-50vw) rotateY(0.0001deg)
      translateZ(50vw);
    animation-timing-function: ease-in-out;
  }

  to {
    z-index: 0;
    transform: perspective(100vw) translateZ(-50vw)
      rotateY(calc(var(--venus-transition-direction, 1) * -180deg))
      translateZ(50vw)
      rotateY(calc(var(--venus-transition-direction, 1) * 180deg));
    opacity: 0;
  }
}

@keyframes venus-incoming-transition-__builtin__rotate {
  from {
    opacity: 0;
    z-index: 0;
    transform: perspective(100vw) translateZ(-50vw)
      rotateY(calc(var(--venus-transition-direction, 1) * 180deg))
      translateZ(50vw)
      rotateY(calc(var(--venus-transition-direction, 1) * -180deg));
    animation-timing-function: ease-in-out;
  }

  to {
    z-index: 1;
    transform: perspective(100vw) translateZ(-50vw) rotateY(0.0001deg)
      translateZ(50vw);
  }
}


/* slide.scss */
@keyframes venus-incoming-transition-__builtin__slide {
  from {
    transform: translateX(calc(var(--venus-transition-direction, 1) * 100vw));
    animation-timing-function: ease-in-out;
  }
}

@keyframes venus-outgoing-transition-__builtin__slide {
  from {
    transform: translateX(0);
    animation-timing-function: ease-in-out;
  }

  to {
    transform: translateX(calc(var(--venus-transition-direction, 1) * -100vw));
  }
}


/* star.scss */
@keyframes venus-incoming-transition-__builtin__star {
  0% { clip-path: polygon(50% 0%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%); }
  100% { clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
}
@keyframes venus-incoming-transition-backward-__builtin__star {
  0% { clip-path: polygon(50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35%); }
  100% { clip-path: polygon(50% 0%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%, 50% 50%); }
}

/* swap.scss */
@keyframes venus-outgoing-transition-__builtin__swap {
  0% {
    z-index: 1;
    transform: none;
    transform-origin: calc(var(--venus-transition-direction, 1) * 50% + 50%)
      calc(var(--venus-transition-direction, 1) * 50% + 50%);
    animation-timing-function: ease-in-out;
  }

  50% {
    transform: translateY(calc(var(--venus-transition-direction, 1) * -50%))
      rotate(5deg);
    animation-timing-function: ease-in-out;
  }

  100% {
    transform: none;
    transform-origin: calc(var(--venus-transition-direction, 1) * 50% + 50%)
      calc(var(--venus-transition-direction, 1) * 50% + 50%);
    filter: brightness(0.5);
    z-index: 0;
  }
}

@keyframes venus-incoming-transition-__builtin__swap {
  0% {
    filter: brightness(0.75);
    transform: none;
    transform-origin: calc(var(--venus-transition-direction, 1) * -50% + 50%)
      calc(var(--venus-transition-direction, 1) * -50% + 50%);
    animation-timing-function: ease-in-out;
  }

  50% {
    transform: translateY(calc(var(--venus-transition-direction, 1) * 50%))
      rotate(5deg);
    animation-timing-function: ease-in-out;
  }

  100% {
    transform: none;
    transform-origin: calc(var(--venus-transition-direction, 1) * -50% + 50%)
      calc(var(--venus-transition-direction, 1) * -50% + 50%);
  }
}


/* swipe.scss */
:root {
  --saturn-venus-transition-swipe-shadow: 6px 6px 10px 6px rgb(0 0 0 / 25%);
}

// [Safari CSS hack]
// In Safari, applying shadow causes a rendering issue
_::-webkit-full-page-media,
_:future,
:root {
  --saturn-venus-transition-swipe-shadow: none;
}

@keyframes venus-outgoing-transition-__builtin__swipe {
  0% {
    animation-timing-function: ease-in;
    box-shadow: var(--saturn-venus-transition-swipe-shadow);
    transform: none;
    transform-origin: 100% 100%;
    z-index: 1;
  }

  100% {
    box-shadow: var(--saturn-venus-transition-swipe-shadow);
    transform: translate(calc(-100vw - 30px), -30vh) rotate(-30deg);
    transform-origin: 100% 100%;
    z-index: 1;
  }
}

@keyframes venus-incoming-transition-__builtin__swipe {
  0% {
    animation-timing-function: ease-in-out;
    filter: brightness(0.5);
    transform: scale(0.95);
  }

  100% {
    filter: none;
    transform: scale(1);
  }
}

@keyframes venus-outgoing-transition-backward-__builtin__swipe {
  0% {
    transform: none;
    animation-timing-function: ease-in-out;
  }

  100% {
    filter: brightness(0.5);
    transform: scale(0.95);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__swipe {
  0% {
    animation-timing-function: ease-out;
    box-shadow: var(--saturn-venus-transition-swipe-shadow);
    transform: translate(calc(-100vw - 30px), 30vh) rotate(30deg);
    transform-origin: 100% 0%;
    z-index: 1;
  }

  100% {
    box-shadow: var(--saturn-venus-transition-swipe-shadow);
    transform: none;
    transform-origin: 100% 0%;
    z-index: 1;
  }
}


/* swoosh.scss */
@keyframes venus-incoming-transition-__builtin__swoosh {
  from {
    transform: translate(-10vw, 0) scale(0) perspective(100vw)
      translate3d(100vw, -100vh, -100vw) rotateX(90deg) rotateZ(90deg);
  }

  to {
    transform: translate(0, 0) scale(1) perspective(100vw);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__swoosh {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-outgoing-transition-backward-__builtin__swoosh {
  from {
    transform: translate(0, 0) scale(1) perspective(100vw);
  }

  to {
    transform: translate(-10vw, 0) scale(0) perspective(100vw)
      translate3d(100vw, -100vh, -100vw) rotateX(90deg) rotateZ(90deg);
  }
}


/* wipe.scss */
@keyframes venus-incoming-transition-__builtin__wipe {
  0% { mask-image: linear-gradient(to right, transparent 100vw, #000 110vw, #000); mask-size: 210vw 100vh; mask-position: left top; }
  100% { mask-image: linear-gradient(to right, transparent 100vw, #000 110vw, #000); mask-size: 210vw 100vh; mask-position: right top; }
}
@keyframes venus-incoming-transition-backward-__builtin__wipe {
  0% { mask-image: linear-gradient(to left, transparent 100vw, #000 110vw, #000); mask-size: 210vw 100vh; mask-position: right top; }
  100% { mask-image: linear-gradient(to left, transparent 100vw, #000 110vw, #000); mask-size: 210vw 100vh; mask-position: left top; }
}

/* wiper.scss */
@keyframes venus-incoming-transition-__builtin__wiper {
  0% {
    clip-path: polygon(50% 100%, 0% 100%, 0% 100%, 0% 100%, 0% 100%);
    animation-timing-function: ease-in;
  }

  33% {
    clip-path: polygon(50% 100%, 0% 100%, 0% 0%, 0% 0%, 0% 0%);
    animation-timing-function: linear;
  }

  66% {
    clip-path: polygon(50% 100%, 0% 100%, 0% 0%, 100% 0%, 100% 0%);
    animation-timing-function: ease-out;
  }

  100% {
    clip-path: polygon(50% 100%, 0% 100%, 0% 0%, 100% 0%, 100% 100%);
  }
}

@keyframes venus-incoming-transition-backward-__builtin__wiper {
  0% {
    clip-path: polygon(50% 100%, 100% 100%, 100% 100%, 100% 100%, 100% 100%);
    animation-timing-function: ease-in;
  }

  33% {
    clip-path: polygon(50% 100%, 100% 100%, 100% 0%, 100% 0%, 100% 0%);
    animation-timing-function: linear;
  }

  66% {
    clip-path: polygon(50% 100%, 100% 100%, 100% 0%, 0% 0%, 0% 0%);
    animation-timing-function: ease-out;
  }

  100% {
    clip-path: polygon(50% 100%, 100% 100%, 100% 0%, 0% 0%, 0% 100%);
  }
}


/* zoom.scss */
@keyframes venus-incoming-transition-__builtin__zoom {
  from {
    opacity: 0;
    transform: scale(0);
    animation-timing-function: ease-out;
  }
}

@keyframes venus-incoming-transition-backward-__builtin__zoom {
  from { z-index: -1; } to { z-index: -1; }
}

@keyframes venus-outgoing-transition-backward-__builtin__zoom {
  from {
    transform: none;
    animation-timing-function: ease-in;
  }

  to {
    opacity: 0;
    transform: scale(0);
  }
}

