* {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html,
body {
  height: 100%;
}

body {
  height: 100%;
  color: #333;
  font-family: Arial;
  font-size: 0.28rem;
  -webkit-user-select: none;
  line-height: 1;
  margin: 0 auto;
  background: #fff;
}

input,
textarea,
select {
  font-size: inherit;
}

[v-cloak] {
  display: none;
}

.fade-enter-active, .fade-leave-active {
  transition: opacity .4s;
}

.fade-enter, .fade-leave-to {
  opacity: 0;
}

#app {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  line-height: 1;
  overflow: hidden;
  user-select: none;
  margin: 0 auto;
}

.page {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 0;
  opacity: 0;
  transition: opacity 0.5s;
}

.page.active {
  opacity: 1;
  z-index: 1;
}

.loading {
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  background: #baa588 url(../img/loading-bg.jpg) no-repeat center / 100% 100%;
  color: #47342d;
  flex-direction: column;
}

.loading .title {
  font-weight: bold;
  font-size: 0.46rem;
}

.loading .progress {
  font-weight: bold;
  font-size: 0.36rem;
}

.loading .desc {
  font-size: 0.36rem;
  padding: 0.1rem 0;
}

.loading .progress {
  margin: 0.1rem 0 0.2rem;
}

.loading .tips {
  color: #fff;
  animation: pulse 1s infinite;
}

.home {
  background: url(../img/home-bg.jpg) no-repeat center / cover;
}

.home .newspaper {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  overflow: hidden;
  z-index: 10;
}

.home .newspaper canvas {
  width: 100%;
  height: 100%;
}

.home .box {
  position: absolute;
  width: 100%;
  height: 100%;
  background: url(../img/home-box.png) no-repeat center / 100% 100%;
  left: 0;
  top: 0;
}

.home .box .inner {
  width: 13.33rem;
  position: absolute;
  height: 100%;
  top: 0;
  left: 50%;
  margin-left: -6.665rem;
}

.home .title {
  position: absolute;
  width: 4.4rem;
  height: 1.82rem;
  background: url(../img/home-title.png) no-repeat center / 100% 100%;
  left: 0.9rem;
  top: 0.8rem;
  animation: fadeIn 0.6s both;
  z-index: 9;
}


.home .subtitle {
  position: absolute;
  width: 3.29rem;
  height: 0.58rem;
  background: url(../img/home-subtitle.png) no-repeat center / 100% 100%;
  left: 7.3rem;
  top: 1rem;
  animation: fadeIn 0.6s both;
}

.home .desc {
  position: absolute;
  width: 4.4rem;
  height: 3.9rem;
  background: rgba(255, 255, 255, 0.3);
  left: 0.9rem;
  top: 3rem;
  color: #5b524b;
  font-size: 0.26rem;
  padding: 0.05rem 0.1rem;
  font-weight: bold;
  animation: fadeIn 0.6s both;
}

.home .desc .row {
  animation: fadeIn 0.6s;
  display: flex;
  height: 0.38rem;
  align-items: center;
}

.home .swipe {
  position: absolute;
  left: 6rem;
  top: 4rem;
  animation: fadeInRight 2s infinite;
  z-index: 3;
}

.home .swipe .icon {
  width: 0.6rem;
  height: 0.48rem;
  float: left;
  background: url(../img/home-swipe.png) no-repeat center / 100% 100%;
}

.home .swipe .text {
  width: 2.35rem;
  height: 0.29rem;
  float: left;
  margin-left: 0.1rem;
  margin-top: 0.1rem;
  background: url(../img/home-swipe-tip.png) no-repeat center / 100% 100%;
}

.home .photo {
  position: absolute;
  z-index: 2;
}

@keyframes homePhoto {
  0% {
    transform: translate3d(11rem, 0, 0) rotate(20deg);

  }
  100% {
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
}

.home .photo1 {
  width: 6.31rem;
  height: 3.83rem;
  left: 5.64rem;
  top: 3.09rem;
  background: url(../img/home-photo1.png) no-repeat center / 100% 100%;
  animation: homePhoto 1s ease-in-out 0s both;
}

.home .photo2 {
  width: 6.37rem;
  height: 3.95rem;
  left: 5.86rem;
  top: 1.68rem;
  background: url(../img/home-photo2.png) no-repeat center / 100% 100%;
  animation: homePhoto 1s ease-in-out 0.5s both;
}

.home .photo3 {
  width: 6.34rem;
  height: 3.90rem;
  left: 5.90rem;
  top: 1.76rem;
  background: url(../img/home-photo3.png) no-repeat center / 100% 100%;
  animation: homePhoto 1s ease-in-out 1s both;
}

.home .photo4 {
  width: 6.48rem;
  height: 4.16rem;
  left: 5.38rem;
  top: 1.92rem;
  background: url(../img/home-photo4.png) no-repeat center / 100% 100%;
  animation: homePhoto 1s ease-in-out 1.5s both;
}

.home .photo5 {
  width: 6.24rem;
  height: 3.71rem;
  left: 6.16rem;
  top: 2.08rem;
  background: url(../img/home-photo5.png) no-repeat center / 100% 100%;
  animation: homePhoto 1s ease-in-out 2s both;
}

.home .photo6 {
  width: 6.49rem;
  height: 4.18rem;
  left: 5.45rem;
  top: 2.54rem;
  background: url(../img/home-photo6.png) no-repeat center / 100% 100%;
  animation: homePhoto 1s ease-in-out 2.5s both;
}

.home .photo7 {
  width: 6.45rem;
  height: 4.11rem;
  left: 5.61rem;
  top: 2.16rem;
  background: url(../img/home-photo7.png) no-repeat center / 100% 100%;
  animation: homePhoto 1s ease-in-out 3s both;
}

.home .photo8 {
  width: 6.17rem;
  height: 3.58rem;
  left: 5.75rem;
  top: 2.73rem;
  background: url(../img/home-photo8.png) no-repeat center / 100% 100%;
  animation: homePhoto 1s ease-in-out 3.5s both;
}

.scene .slider {
  width: 100%;
  height: 100%;

}

.scene .slider .wrapper {
  display: flex;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

.scene .slider .wrapper::-webkit-scrollbar {
  display: none;
}

.scene .slider .photo {
  position: relative;
  width: 13.34rem;
  height: 7.5rem;
  flex-shrink: 0;
  margin-left: -1px;
}

.scene .photo canvas {
  width: 100%;
  height: 100%;
}

.scene .photo1 {
  background: url(../img/keyframes/1/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo2 {
  background: url(../img/keyframes/2/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo3 {
  background: url(../img/keyframes/3/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo4 {
  background: url(../img/keyframes/4/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo5 {
  background: url(../img/keyframes/5/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo6 {
  background: url(../img/keyframes/6/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo7 {
  background: url(../img/keyframes/7/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo8 {
  background: url(../img/keyframes/8/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo9 {
  background: url(../img/keyframes/9/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo10 {
  background: url(../img/keyframes/10/0000.jpg) no-repeat center / 100% 100%;
}

.scene .photo {
  display: flex;
  align-items: center;
  justify-content: center;
}

.scene .photo .button {
  position: absolute;
}

.scene .photo .desc {
  position: absolute;
  width: 100%;
  height: 0.56rem;
  bottom: 0.4rem;
  left: 0;
  background-size: auto 100%;
  background-position: center;
  background-repeat: no-repeat;
}

.scene .photo .button.find .icon {
  width: 0.48rem;
  height: 0.72rem;
  background: url(../img/scene-click.png) no-repeat center / 100% 100%;
  float: right;
  animation: pulse 1s infinite;
}

.scene .photo .button.find .text {
  width: 1.33rem;
  height: 0.29rem;
  background: url(../img/scene-click-tip.png) no-repeat center / 100% 100%;
  float: left;
  margin-top: 0.4rem;
  margin-right: 0.1rem;
}

.scene .photo .button.sound .icon {
  width: 0.53rem;
  height: 0.53rem;
  background: url(../img/scene-play.png) no-repeat center / 100% 100%;
  float: right;
  animation: pulse 1s infinite;
}

.scene .photo .button.sound.pause .icon {
  background: url(../img/scene-pause.png) no-repeat center / 100% 100%;
}

.scene .photo .button.sound .text {
  width: 0.77rem;
  height: 0.29rem;
  background: url(../img/scene-play-tip.png) no-repeat center / 100% 100%;
  float: left;
  margin-top: 0.12rem;
  margin-right: 0.1rem;
}

.scene .photo2 .button.find .icon,
.scene .photo2 .button.sound .icon,
.scene .photo3 .button.find .icon,
.scene .photo3 .button.sound .icon,
.scene .photo5 .button.find .icon,
.scene .photo5 .button.sound .icon,
.scene .photo7 .button.find .icon,
.scene .photo7 .button.sound .icon,
.scene .photo9 .button.find .icon,
.scene .photo9 .button.sound .icon {
  float: left;
  margin-right: 0.1rem;
}

.scene .photo2 .button.find .text,
.scene .photo2 .button.sound .text,
.scene .photo3 .button.find .text,
.scene .photo3 .button.sound .text,
.scene .photo5 .button.find .text,
.scene .photo5 .button.sound .text,
.scene .photo7 .button.find .text,
.scene .photo7 .button.sound .text,
.scene .photo9 .button.find .text,
.scene .photo9 .button.sound .text {
  float: right;
  margin-right: 0;
}

.scene .photo1 .button.find {
  left: 4.2rem;
  top: 1.4rem;
}

.scene .photo1 .button.sound {
  left: 4.8rem;
  top: 2.4rem;
}

.scene .photo2 .button.find {
  left: 1.6rem;
  top: 2.8rem;
}

.scene .photo2 .button.sound {
  left: 1.6rem;
  top: 3.8rem;
}

.scene .photo3 .button.find {
  left: 5.6rem;
  top: 3.4rem;
}

.scene .photo3 .button.sound {
  left: 5.6rem;
  top: 4.4rem;
}

.scene .photo4 .button.find {
  left: 1.5rem;
  top: 2rem;
}

.scene .photo4 .button.sound {
  left: 2.1rem;
  top: 3rem;
}

.scene .photo5 .button.find {
  left: 10.2rem;
  top: 4rem;
}

.scene .photo5 .button.sound {
  left: 10.2rem;
  top: 5rem;
}

.scene .photo6 .button.find {
  left: 4.8rem;
  top: 4rem;
}

.scene .photo6 .button.sound {
  left: 5.4rem;
  top: 5rem;
}

.scene .photo7 .button.find {
  left: 8.2rem;
  top: 2.3rem;
}

.scene .photo7 .button.sound {
  left: 8.2rem;
  top: 3.3rem;
}

.scene .photo8 .button.find {
  left: 2rem;
  top: 4.2rem;
}

.scene .photo8 .button.sound {
  left: 2.6rem;
  top: 5.2rem;
}

.scene .photo9 .button.find {
  left: 2.3rem;
  top: 3.6rem;
}

.scene .photo9 .button.sound {
  left: 2.3rem;
  top: 4.6rem;
}

.scene .photo10 .button.find {
  left: 6.4rem;
  top: 0.8rem;
}

.scene .photo10 .button.sound {
  left: 7rem;
  top: 1.8rem;
}

.scene .dialog {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  opacity: 0;
  transform: translateZ(0) scale(0);
  transition: all 0.4s;
  z-index: 9;
}

.scene .dialog .desc {
  position: absolute;
  top: 1.07rem;
  height: 5.36rem;
}

.scene .dialog .desc img {
  max-height: 100%;
}

.scene .dialog .old .desc {
  left: 0.5rem;
}

.scene .dialog .new .desc {
  right: 0.5rem;
}

.scene .desc .col {
  font-size: 0.3rem;
  width: 0.28rem;
  word-break: break-all;
  text-align: center;
  margin: 0 0.05rem;
  line-height: 1.2;
}

.scene .desc .col .symbol {
  display: block;
}

.scene .dialog.show {
  opacity: 1;
  transform: translateZ(0) scale(1);
}

.scene .dialog .old,
.scene .dialog .new {
  position: absolute;
  width: 50%;
  height: 100%;
  top: 0;
  overflow: hidden;
  transition: width 1s;
}

.scene .dialog .old {
  left: 0;
}

.scene .dialog .old .photo {
  left: 0;
}

.scene .dialog .new {
  right: 0;
}

.scene .dialog .new .photo {
  right: 0;
}

.scene .dialog .photo {
  top: 0;
  position: absolute;
  width: 100vw;
  height: 100%;
}

.scene .dialog .mask {
  position: absolute;
  width: 100%;
  height: 100%;
  z-index: 9;
  background: url(../img/scene-border.png) no-repeat center / 100% 100%;
}

.scene .dialog .mask .tips {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  pointer-events: none;
}

.scene .dialog .mask .icon {
  width: 0.52rem;
  height: 0.48rem;
  background: url(../img/scene-longtap-icon.png) no-repeat center / 100% 100%;
}

.scene .dialog .mask .text {
  width: 1.83rem;
  height: 0.63rem;
  margin-top: 0.2rem;
  background: url(../img/scene-longtap-text.png) no-repeat center / 100% 100%;
}

.scene .dialog .close {
  width: 0.69rem;
  height: 0.69rem;
  position: absolute;
  right: 0.25rem;
  top: 0.25rem;
  z-index: 10;
  background: url(../img/scene-close.png) no-repeat center / 100% 100%;
}


.scene .swipe {
  position: absolute;
  right: 0.3rem;
  top: 50%;
  margin-top: -0.24rem;
  animation: fadeInRight 2s infinite;
  z-index: 3;
}

.scene .swipe .icon {
  width: 0.6rem;
  height: 0.48rem;
  float: left;
  background: url(../img/home-swipe.png) no-repeat center / 100% 100%;
}

.scene .swipe .text {
  width: 2.35rem;
  height: 0.29rem;
  float: left;
  margin-left: 0.1rem;
  margin-top: 0.1rem;
  background: url(../img/home-swipe-tip.png) no-repeat center / 100% 100%;
  display: none;
}

.result {
  position: relative;
  width: 100%;
  height: 100%;
  flex-shrink: 0;
  background: #baa588 url(../img/loading-bg.jpg) no-repeat center / 100% 100%;
  overflow: hidden;
}

.result .share-tips {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  left: 0;
  top: 0;
  z-index: 99;
  transform: translateZ(0);
}

.result .share-tips .icon {
  width: 3.58rem;
  height: 3.39rem;
  background: url(../img/scene-share.png) no-repeat center / 100% 100%;
  margin-left: 0.3rem;
  margin-top: 0.3rem;
  transform: scale(0.8);
  transform-origin: left top;
}

.result .inner {
  position: absolute;
  width: 14rem;
  height: 100%;
  left: 50%;
  margin-left: -7rem;
  top: 0;
}

.result .photo {
  position: absolute;
}

.result .photo1 {
  width: 3.16rem;
  height: 2.03rem;
  left: 1.77rem;
  top: 0.56rem;
  background: url(../img/result-photo1.png) no-repeat center / 100% 100%;
}

.result .photo2 {
  width: 3.21rem;
  height: 2.07rem;
  left: 5.12rem;
  top: 0.52rem;
  background: url(../img/result-photo2.png) no-repeat center / 100% 100%;
}

.result .photo3 {
  width: 3.02rem;
  height: 1.99rem;
  left: 8.83rem;
  top: 0.6rem;
  background: url(../img/result-photo3.png) no-repeat center / 100% 100%;
}

.result .photo4 {
  width: 2.68rem;
  height: 1.79rem;
  left: 2.42rem;
  top: 2.23rem;
  background: url(../img/result-photo4.png) no-repeat center / 100% 100%;
  z-index: 1;
}

.result .photo5 {
  width: 3.37rem;
  height: 2.10rem;
  left: 5.31rem;
  top: 2.12rem;
  background: url(../img/result-photo5.png) no-repeat center / 100% 100%;
  z-index: 1;
}

.result .photo6 {
  width: 2.91rem;
  height: 2.06rem;
  left: 8.57rem;
  top: 2.29rem;
  background: url(../img/result-photo6.png) no-repeat center / 100% 100%;
}

.result .photo7 {
  width: 2.81rem;
  height: 1.75rem;
  left: 1.35rem;
  top: 3.87rem;
  background: url(../img/result-photo7.png) no-repeat center / 100% 100%;
}

.result .photo8 {
  width: 2.88rem;
  height: 1.88rem;
  left: 4.02rem;
  top: 3.78rem;
  background: url(../img/result-photo8.png) no-repeat center / 100% 100%;
}

.result .photo9 {
  width: 2.79rem;
  height: 1.80rem;
  left: 6.88rem;
  top: 3.95rem;
  background: url(../img/result-photo9.png) no-repeat center / 100% 100%;
}

.result .photo10 {
  width: 2.76rem;
  height: 1.70rem;
  left: 9.75rem;
  top: 3.89rem;
  background: url(../img/result-photo10.png) no-repeat center / 100% 100%;
}

.result .restart {
  position: absolute;
  width: 2.27rem;
  height: 0.88rem;
  left: 2.33rem;
  top: 6.13rem;
  background: url(../img/result-restart.png) no-repeat center / 100% 100%;
}

.result .desc {
  position: absolute;
  width: 2.38rem;
  height: 0.80rem;
  left: 5.52rem;
  top: 6.14rem;
  background: url(../img/result-desc.png) no-repeat center / 100% 100%;
}

.result .share {
  position: absolute;
  width: 2.27rem;
  height: 0.88rem;
  left: 8.87rem;
  top: 6.13rem;
  background: url(../img/result-share.png) no-repeat center / 100% 100%;
}

@keyframes H5Rotate {
  from {
    transform: rotate(0);
  }

  to {
    transform: rotate(1turn);
  }
}

.music {
  position: absolute;
  width: 0.5rem;
  height: 0.5rem;
  background: url(../img/music.png) no-repeat center / 100% 100%;
  right: 0.2rem;
  top: 0.2rem;
  z-index: 10;
}

.music.play {
  animation: H5Rotate 1s linear infinite;
}

.lock-tip {
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background: #000 url(../img/lock-tip.jpg) no-repeat center / contain;
  z-index: 999;
}


.result.active .photo1 {
  animation: fadeInLeft 1s 0.5s both;
}

.result.active .photo4 {
  animation: fadeInLeft 1s 0.8s both;
}

.result.active .photo8 {
  animation: fadeInLeft 1s 1.1s both;
}

.result.active .photo7 {
  animation: fadeInLeft 1s 1.4s both;
}

.result.active .photo3 {
  animation: fadeInRight 1s 0.5s both;
}

.result.active .photo6 {
  animation: fadeInRight 1s 0.8s both;
}

.result.active .photo9 {
  animation: fadeInRight 1s 1.1s both;
}

.result.active .photo10 {
  animation: fadeInRight 1s 1.4s both;
}

.result.active .photo2 {
  animation: fadeInDown 1s 0.5s both;
}

.result.active .photo5 {
  animation: zoomIn 1s 0.5s both;
}

.result.active .restart,
.result.active .share,
.result.active .desc {
  animation: fadeInUp 1s 1s both;
}
