body {
    max-width: 460px;
    height: 100vh;
    overflow: hidden;
    margin: 0 auto;
}
.content {
    min-height: 100vh;
    height: 100%;
    overflow-y: hidden;
    position: relative;
}
.bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
.stage-01 {
    width: 100%;
    height: 100vh;
    opacity: 1;
    padding-top: 10%;
    padding-bottom: 5%;
    /* background-image: url('../img/bg-01.png');
    background-size: 100%; */
}
.stage-01 .logo {
    width: 100%;
    text-align: center;
    position: relative;
    font-style: italic;
    text-decoration: none;
    opacity: 0;
    color: #FFF;
    animation: fadeIn 15s forwards;
}
.stage-01 .logo p {
  line-height: 40px;
}
.stage-01 .logo img {
  width: 80px;
  position: absolute;
  right: 10%;
  top: 0;
}
.stage-01 .title {
    width: 90%;
    position: absolute;
    top: 28%;
    left: 5%;
    animation: flashAndZoom 2.5s infinite;
}
.stage-01 .sub-title {
    width: 100%;
    position: absolute;
    top: 42%;
    animation: fadeIn 2s forwards;
}
.stage-01 .snake {
    width: 60%;
    position: absolute;
    bottom: -8%;
    left: 5%;
    animation: animationRoate 20s infinite;
}
.stage-01 .footer-bg {
    width: 100%;
    position: absolute;
    bottom: 0;
    animation: fadeIn 2s forwards;
}

 /* 定义淡入动画 */
 @keyframes fadeIn {
    0% {
        opacity: 0; /* 初始时完全透明 */
    }
    100% {
        opacity: 1; /* 动画结束时完全可见 */
    }
}
@keyframes flashAndZoom {
    0% {
        transform: scale(1.1);
        opacity: 1;
    }
    10% {
        transform: scale(1.05);
        opacity: 0.9;
    }
    20% {
        transform: scale(1.1);
        opacity: 0.8;
    }
    30% {
        transform: scale(1.15);
        opacity: 0.7;
    }
    40% {
        transform: scale(1.1);
        opacity: 0.8;
    }
    50% {
        transform: scale(1.05);
        opacity: 0.9;
    }
    60% {
        transform: scale(1);
        opacity: 1;
    }
    70% {
        transform: scale(1.05);
        opacity: 0.9;
    }
    80% {
        transform: scale(1.1);
        opacity: 0.8;
    }
    90% {
        transform: scale(1.15);
        opacity: 0.7;
    }
    100% {
        transform: scale(1.1);
        opacity: 0.8;
    }
}
@keyframes animationRoate {
    0% {
        rotate: 5deg;
    }
    20% {
        rotate: -5deg;
    }
    40% {
        rotate: 5deg;
    }
    60% {
        rotate: -5deg;
    }
    80% {
        rotate: 5deg;
    }
    100% {
        rotate: -5deg;
    }
}
.chat-container {
  max-width: 600px;
  margin: 0 auto;
}

.message {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s ease;
  max-width: 95%;
  padding: 5px;
  display: grid;
}

.message.active {
  opacity: 1;
  transform: translateY(0);
}
.message .picture {
  object-fit: cover;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  overflow: hidden;
}
.message img {
  width: 100%;
}
.message-content {
  min-width: 75%;
  border-radius: 20px;
}
.message-content h3 {
  font-size: 16px;
  line-height: 0;
  margin: 10px 0;
}
.message-content p{
  font-size: 14px;
  margin: 0;
}
.left {
  grid-template-columns: 55px auto;
}
.right {
  grid-template-columns: auto 55px;
}
.left .message-content {
  background: #a10010;
  margin-right: auto;
  color: white;
  position: relative;
  padding: 10px;
}
.left .picture {
  margin-right: 10px;
}
.right .picture {
  margin-left: 10px;
}

.right .message-content{
  background: #ff4900;
  color: white;
  margin-left: auto;
  padding: 5px 10px;
}

/* 气泡小箭头 */
/* .left .message-content::before {
  content: '';
  position: absolute;
  left: -8px;
  top: 12px;
  border: 10px solid transparent;
  border-right-color: #a10010;
}

.right .message-content::after {
  content: '';
  position: absolute;
  right: -8px;
  top: 12px;
  border: 10px solid transparent;
  border-left-color: #ff4900;
} */

.stage-01, .stage-02, .stage-03 {
    width: 100%;
    height: 100vh;
    display: none;
    /* background-image: url('../img/liujin.gif');
    background-color: rgb(255, 0, 0); */
    /* background-image: url('../img/bg-01.png');
    background-size: 100%; */
    animation: fadeIn 2s forwards;
}

.stage-active {
    opacity: 1;
    display: block;
    transition: opacity 1s;
}


  
.to-top{
    position: absolute;
    left:50%;
    bottom:25px;
    z-index:9;
    width:60px;
    height:40px;
    cursor:pointer;
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transform: translateX(-50%);
  }
  .stage-01 .to-top {
    bottom: 50px;
  }
  /* .to-top.active{
    display:flex;
  } */
  .to-top .txt{
    color:white;
    font-size:.9rem;
    text-shadow:0 0 4px black;
  }
  .to-top .wrap{
    position: relative;
    margin:auto;
  }
  .to-top .chevron{
    width: 40px;
    height: 6px;
    opacity: 0;
    transform: translateY(12px);
    animation: moveTop 3s ease-out infinite;
  }
  .to-top .chevron:first-child {
    animation: moveTop 3s ease-out 1s infinite;
  }
  .to-top .chevron:nth-child(2) {
    animation: moveTop 3s ease-out 2s infinite;
  }
  .to-top .chevron::before,
  .to-top .chevron::after {
    content: '';
    position: absolute;
    top: 0;
    height: 100%;
    width: 51%;
    background-color: white;
  }
  .to-top.dark .chevron::before,
  .to-top.dark .chevron::after{
    background-color:#746666;
  }
  .to-top.dark .txt{
    color:#746666;
  }
  .to-top .chevron::before {
    left: 0;
    transform: skew(0deg, -30deg);
  }
  .to-top .chevron::after {
    right: 0;
    width: 50%;
    transform: skew(0deg, 30deg);
  }
  @-webkit-keyframes moveTop {
    25% {
      opacity: 1;
    }
    33% {
      transform: translateY(12px);
    }
    67% {
      transform: translateY(0);
    }
    100% {
      opacity: 0;
      transform: translateY(-20px);
    }
  }
  @keyframes moveTop {
    25% {
      opacity: 1;
    }
    33% {
      transform: translateY(12px);
    }
    67% {
      transform: translateY(0);
    }
    100% {
      opacity: 0;
      transform: translateY(-20px);
    }
  }
  
.video {
    width: 76%;
    position: absolute;
    top: 6%;
    left: 12%;
    /* box-shadow: 0px 0px 15px #999; */
}

.form {
    position: absolute;
    bottom: 15%;
    width: 80%;
    left: 10%;
    border-radius: 10px;
    height: 65px;
    background: #fff;
    display: flex;
    align-items: center;
    border: 2px dashed #333;
    z-index: 99999;
}
.form input {
    border: none;
    background: none;
    width: 75%;
    font-size: 20px;
    padding: 5px 10px;
    line-height: 65px;
}
.form input:focus {
    outline: none;
}
.form button {
    font-size: 20px;
    height: 45px;
    width: 20%;
    border: none;
    background: #333;
    color: #fff;
    padding: 5px 10px;
    border-radius: 10px;
    cursor: pointer;
}

#barrage-container {
    position: absolute;
    top: 40%;
    left: 0;
    width: 100%;
    height: 300px;
    z-index: 99;
    overflow: hidden;
    pointer-events: none; /* 确保弹幕不会干扰其他元素的点击事件 */
}

.barrage-item {
    max-width: 520px;
    position: absolute;
    white-space: nowrap;
    color: white;
    font-size: 18px;
    animation: moveBarrage 5s linear;
}

@keyframes moveBarrage {
    0% {
        right: -520px;  /* 从屏幕右侧开始 */
      }
      100% {
        right: 520px;  /* 向屏幕左侧滚动到结束 */
      }
}

.prism-big-play-btn {
    left: unset !important;
    right: 30px !important;
}

#alert-box {
    width: 76%;
    position: absolute;
    text-align: center;
    opacity: 0;
    bottom: 20%;
    left: 12%;
    background: #fff;
    font-size: 18px;
    line-height: 40px;
    border-radius: 10px;
    font-weight: bold;
    z-index: 99999;
}
.alert-box-active {
    animation: alertBoxActiveAnimation 4s ease-in-out;
}
@keyframes alertBoxActiveAnimation {
    0% {
        opacity: 1;
    }
    100% {
        opacity: 0;
    }
}

.prism-player {
  /* height: 590px !important; */
  background-color: unset !important;
}