/* GENERATED by tools/gen-signature.py: Signature scene choreography (18 s loop). Do not edit by hand. */
.sig-camera { animation: sig-camera 18s linear infinite; }
.sig-card-a { animation: sig-a 18s linear infinite; }
.sig-card-b { animation: sig-b 18s linear infinite; }
.sig-card-c { animation: sig-c 18s linear infinite; }
.sig-shadow-a { animation: sig-sa 18s linear infinite; }
.sig-shadow-b { animation: sig-sb 18s linear infinite; }
.sig-shadow-c { animation: sig-sc 18s linear infinite; }
.sig-token { animation: sig-token 18s linear infinite; }
.sig-dot { animation-duration: 18s; animation-timing-function: linear; animation-iteration-count: infinite; }
@keyframes sig-camera {
  0% { transform: translateZ(0px) rotateY(0deg) rotateX(0deg); animation-timing-function: cubic-bezier(.45,0,.2,1); }
  6% { transform: translateZ(0px) rotateY(0deg) rotateX(0deg); animation-timing-function: cubic-bezier(.45,0,.2,1); }
  22% { transform: translateZ(70px) rotateY(-5deg) rotateX(2deg); animation-timing-function: cubic-bezier(.45,0,.2,1); }
  44% { transform: translateZ(58px) rotateY(3deg) rotateX(1deg); animation-timing-function: cubic-bezier(.45,0,.2,1); }
  66% { transform: translateZ(80px) rotateY(2deg) rotateX(1.5deg); animation-timing-function: cubic-bezier(.45,0,.2,1); }
  84% { transform: translateZ(70px) rotateY(0deg) rotateX(1deg); animation-timing-function: cubic-bezier(.45,0,.2,1); }
  100% { transform: translateZ(0px) rotateY(0deg) rotateX(0deg); animation-timing-function: cubic-bezier(.45,0,.2,1); }
}
@keyframes sig-a {
  0% { transform: translate3d(-116.0px,84.0px,110.0px) rotateX(12.00deg) rotateY(22.00deg) rotateZ(-2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  6% { transform: translate3d(-116.0px,84.0px,110.0px) rotateX(12.00deg) rotateY(22.00deg) rotateZ(-2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  22% { transform: translate3d(-120.0px,86.0px,140.0px) rotateX(13.00deg) rotateY(25.00deg) rotateZ(-3.00deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  33% { transform: translate3d(44.0px,-176.0px,-10.0px) rotateX(18.00deg) rotateY(-4.00deg) rotateZ(5.00deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  44% { transform: translate3d(146.0px,-100.0px,-150.0px) rotateX(10.00deg) rotateY(-22.00deg) rotateZ(2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  84% { transform: translate3d(146.0px,-100.0px,-150.0px) rotateX(10.00deg) rotateY(-22.00deg) rotateZ(2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  92% { transform: translate3d(-30.0px,150.0px,70.0px) rotateX(5.00deg) rotateY(6.00deg) rotateZ(-5.00deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  100% { transform: translate3d(-116.0px,84.0px,110.0px) rotateX(12.00deg) rotateY(22.00deg) rotateZ(-2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
}
@keyframes sig-b {
  0% { transform: translate3d(146.0px,-100.0px,-150.0px) rotateX(10.00deg) rotateY(-22.00deg) rotateZ(2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  6% { transform: translate3d(146.0px,-100.0px,-150.0px) rotateX(10.00deg) rotateY(-22.00deg) rotateZ(2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  22% { transform: translate3d(160.0px,-110.0px,-200.0px) rotateX(10.00deg) rotateY(-24.00deg) rotateZ(3.00deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  33% { transform: translate3d(-30.0px,150.0px,70.0px) rotateX(5.00deg) rotateY(6.00deg) rotateZ(-5.00deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  44% { transform: translate3d(-116.0px,84.0px,110.0px) rotateX(12.00deg) rotateY(22.00deg) rotateZ(-2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  84% { transform: translate3d(-116.0px,84.0px,110.0px) rotateX(12.00deg) rotateY(22.00deg) rotateZ(-2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  92% { transform: translate3d(44.0px,-176.0px,-10.0px) rotateX(18.00deg) rotateY(-4.00deg) rotateZ(5.00deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  100% { transform: translate3d(146.0px,-100.0px,-150.0px) rotateX(10.00deg) rotateY(-22.00deg) rotateZ(2.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
}
@keyframes sig-c {
  0% { transform: translate3d(-236.0px,-206.0px,-560.0px) rotateX(14.00deg) rotateY(14.00deg) rotateZ(-1.00deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  50% { transform: translate3d(-220.0px,-216.0px,-540.0px) rotateX(14.00deg) rotateY(18.00deg) rotateZ(-1.50deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
  100% { transform: translate3d(-236.0px,-206.0px,-560.0px) rotateX(14.00deg) rotateY(14.00deg) rotateZ(-1.00deg); animation-timing-function: cubic-bezier(.65,0,.35,1); }
}
@keyframes sig-sa {
  0% { transform: translate3d(-116.0px,245px,110.0px) rotateX(90deg) scale(0.968); opacity: 0.424; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  6% { transform: translate3d(-116.0px,245px,110.0px) rotateX(90deg) scale(0.968); opacity: 0.424; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  22% { transform: translate3d(-120.0px,245px,140.0px) rotateX(90deg) scale(0.972); opacity: 0.426; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  33% { transform: translate3d(44.0px,245px,-10.0px) rotateX(90deg) scale(0.562); opacity: 0.107; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  44% { transform: translate3d(146.0px,245px,-150.0px) rotateX(90deg) scale(0.681); opacity: 0.199; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  84% { transform: translate3d(146.0px,245px,-150.0px) rotateX(90deg) scale(0.681); opacity: 0.199; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  92% { transform: translate3d(-30.0px,245px,70.0px) rotateX(90deg) scale(1.072); opacity: 0.504; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  100% { transform: translate3d(-116.0px,245px,110.0px) rotateX(90deg) scale(0.968); opacity: 0.424; animation-timing-function: cubic-bezier(.65,0,.35,1); }
}
@keyframes sig-sb {
  0% { transform: translate3d(146.0px,245px,-150.0px) rotateX(90deg) scale(0.681); opacity: 0.199; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  6% { transform: translate3d(146.0px,245px,-150.0px) rotateX(90deg) scale(0.681); opacity: 0.199; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  22% { transform: translate3d(160.0px,245px,-200.0px) rotateX(90deg) scale(0.665); opacity: 0.187; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  33% { transform: translate3d(-30.0px,245px,70.0px) rotateX(90deg) scale(1.072); opacity: 0.504; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  44% { transform: translate3d(-116.0px,245px,110.0px) rotateX(90deg) scale(0.968); opacity: 0.424; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  84% { transform: translate3d(-116.0px,245px,110.0px) rotateX(90deg) scale(0.968); opacity: 0.424; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  92% { transform: translate3d(44.0px,245px,-10.0px) rotateX(90deg) scale(0.562); opacity: 0.107; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  100% { transform: translate3d(146.0px,245px,-150.0px) rotateX(90deg) scale(0.681); opacity: 0.199; animation-timing-function: cubic-bezier(.65,0,.35,1); }
}
@keyframes sig-sc {
  0% { transform: translate3d(-236.0px,245px,-560.0px) rotateX(90deg) scale(0.440); opacity: 0.040; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  50% { transform: translate3d(-220.0px,245px,-540.0px) rotateX(90deg) scale(0.440); opacity: 0.040; animation-timing-function: cubic-bezier(.65,0,.35,1); }
  100% { transform: translate3d(-236.0px,245px,-560.0px) rotateX(90deg) scale(0.440); opacity: 0.040; animation-timing-function: cubic-bezier(.65,0,.35,1); }
}
@keyframes sig-token {
  0%, 48.5% { transform: translate3d(76.0px,-50.0px,-140.0px) scale(.2); opacity: 0; }
  50.0% { transform: translate3d(76.0px,-50.0px,-140.0px) scale(1); opacity: 1; }
  51.00% { transform: translate3d(76.4px,-49.4px,-139.4px) scale(1.027); opacity: 1; }
  52.00% { transform: translate3d(79.5px,-45.4px,-135.4px) scale(1.049); opacity: 1; }
  53.00% { transform: translate3d(87.5px,-34.8px,-124.5px) scale(1.067); opacity: 1; }
  54.00% { transform: translate3d(101.2px,-15.6px,-103.9px) scale(1.082); opacity: 1; }
  55.00% { transform: translate3d(118.6px,11.7px,-71.7px) scale(1.092); opacity: 1; }
  56.00% { transform: translate3d(132.6px,42.5px,-27.7px) scale(1.098); opacity: 1; }
  57.00% { transform: translate3d(128.2px,65.8px,25.5px) scale(1.100); opacity: 1; }
  58.00% { transform: translate3d(96.0px,65.9px,69.3px) scale(1.098); opacity: 1; }
  59.00% { transform: translate3d(55.7px,51.7px,94.8px) scale(1.092); opacity: 1; }
  60.00% { transform: translate3d(20.7px,35.6px,109.2px) scale(1.082); opacity: 1; }
  61.00% { transform: translate3d(-3.7px,23.3px,116.9px) scale(1.067); opacity: 1; }
  62.00% { transform: translate3d(-17.2px,16.1px,120.5px) scale(1.049); opacity: 1; }
  63.00% { transform: translate3d(-22.3px,13.4px,121.8px) scale(1.027); opacity: 1; }
  64.00% { transform: translate3d(-23.0px,13.0px,122.0px) scale(1.000); opacity: 1; }
  65.20% { transform: translate3d(-23.0px,13.0px,122.0px) scale(1.7); opacity: 0; }
  100% { transform: translate3d(76.0px,-50.0px,-140.0px) scale(.2); opacity: 0; }
}
.sig-dot:nth-child(1) { transform: translate3d(84.2px,-39.1px,-129.0px); animation-name: sig-dot-0; }
@keyframes sig-dot-0 { 0%, 52.40% { opacity: 0; } 52.70% { opacity: .85; } 61.70% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(2) { transform: translate3d(98.8px,-19.0px,-107.6px); animation-name: sig-dot-1; }
@keyframes sig-dot-1 { 0%, 53.59% { opacity: 0; } 53.88% { opacity: .85; } 62.88% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(3) { transform: translate3d(110.9px,-0.9px,-87.1px); animation-name: sig-dot-2; }
@keyframes sig-dot-2 { 0%, 54.29% { opacity: 0; } 54.59% { opacity: .85; } 63.59% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(4) { transform: translate3d(120.5px,15.0px,-67.4px); animation-name: sig-dot-3; }
@keyframes sig-dot-3 { 0%, 54.81% { opacity: 0; } 55.11% { opacity: .85; } 64.11% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(5) { transform: translate3d(127.6px,28.9px,-48.6px); animation-name: sig-dot-4; }
@keyframes sig-dot-4 { 0%, 55.27% { opacity: 0; } 55.56% { opacity: .85; } 64.56% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(6) { transform: translate3d(132.1px,40.8px,-30.7px); animation-name: sig-dot-5; }
@keyframes sig-dot-5 { 0%, 55.65% { opacity: 0; } 55.95% { opacity: .85; } 64.95% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(7) { transform: translate3d(134.1px,50.5px,-13.6px); animation-name: sig-dot-6; }
@keyframes sig-dot-6 { 0%, 56.00% { opacity: 0; } 56.30% { opacity: .85; } 65.30% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(8) { transform: translate3d(133.7px,58.2px,2.7px); animation-name: sig-dot-7; }
@keyframes sig-dot-7 { 0%, 56.32% { opacity: 0; } 56.62% { opacity: .85; } 65.62% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(9) { transform: translate3d(130.7px,63.7px,18.1px); animation-name: sig-dot-8; }
@keyframes sig-dot-8 { 0%, 56.59% { opacity: 0; } 56.89% { opacity: .85; } 65.89% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(10) { transform: translate3d(125.2px,67.2px,32.7px); animation-name: sig-dot-9; }
@keyframes sig-dot-9 { 0%, 56.84% { opacity: 0; } 57.14% { opacity: .85; } 66.14% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(11) { transform: translate3d(117.2px,68.7px,46.4px); animation-name: sig-dot-10; }
@keyframes sig-dot-10 { 0%, 57.12% { opacity: 0; } 57.42% { opacity: .85; } 66.42% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(12) { transform: translate3d(106.6px,68.0px,59.2px); animation-name: sig-dot-11; }
@keyframes sig-dot-11 { 0%, 57.44% { opacity: 0; } 57.73% { opacity: .85; } 66.73% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(13) { transform: translate3d(93.6px,65.3px,71.2px); animation-name: sig-dot-12; }
@keyframes sig-dot-12 { 0%, 57.79% { opacity: 0; } 58.09% { opacity: .85; } 67.09% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(14) { transform: translate3d(78.1px,60.4px,82.4px); animation-name: sig-dot-13; }
@keyframes sig-dot-13 { 0%, 58.17% { opacity: 0; } 58.47% { opacity: .85; } 67.47% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(15) { transform: translate3d(60.0px,53.5px,92.7px); animation-name: sig-dot-14; }
@keyframes sig-dot-14 { 0%, 58.62% { opacity: 0; } 58.92% { opacity: .85; } 67.92% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(16) { transform: translate3d(39.4px,44.6px,102.1px); animation-name: sig-dot-15; }
@keyframes sig-dot-15 { 0%, 59.15% { opacity: 0; } 59.45% { opacity: .85; } 68.45% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(17) { transform: translate3d(16.3px,33.5px,110.7px); animation-name: sig-dot-16; }
@keyframes sig-dot-16 { 0%, 59.85% { opacity: 0; } 60.15% { opacity: .85; } 69.15% { opacity: .28; } 80%, 100% { opacity: 0; } }
.sig-dot:nth-child(18) { transform: translate3d(-9.3px,20.4px,118.4px); animation-name: sig-dot-17; }
@keyframes sig-dot-17 { 0%, 61.04% { opacity: 0; } 61.34% { opacity: .85; } 70.34% { opacity: .28; } 80%, 100% { opacity: 0; } }
