body { padding: 0; margin: 0 }
#tuanjie-container { position: absolute }
#tuanjie-container.tuanjie-desktop { left: 50%; top: 50%; transform: translate(-50%, -50%) }
#tuanjie-container.tuanjie-mobile { position: fixed; width: 100%; height: 100% }
#tuanjie-canvas { background: #FFFFFF }
.tuanjie-mobile #tuanjie-canvas { width: 100%; height: 100% }
/*#tuanjie-loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }*/
/*#tuanjie-logo { width: 154px; height: 130px; background: url('tuanjie-logo-dark.png') no-repeat center }*/
/*#tuanjie-progress-bar-empty { width: 141px; height: 18px; margin-top: 10px; margin-left: 6.5px; background: url('progress-bar-empty-dark.png') no-repeat center }*/
/*#tuanjie-progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }*/
#tuanjie-footer { position: relative }
.tuanjie-mobile #tuanjie-footer { display: none }
#tuanjie-webgl-logo { float:left; width: 204px; height: 38px; background: url('webgl-logo.png') no-repeat center }
#tuanjie-build-title { float: right; margin-right: 10px; line-height: 38px; font-family: arial; font-size: 18px }
#tuanjie-fullscreen-button { cursor:pointer; float: right; width: 38px; height: 38px; background: url('fullscreen-button.png') no-repeat center }
#tuanjie-warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }

/* 全屏覆盖层 */
.loader-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
  transition: opacity 0.5s;
}

/* 加载动画容器样式 */
.loading-container {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  height: 100vh;
  transition: opacity 0.5s; /* 淡出过渡效果 */
}

.jumping-dot {
  animation: jump 1s ease-in-out infinite;  /* 动画持续1秒，无限循环 */
}

/* 定义跳跃动画 */
@keyframes jump {
  0%, 100% { transform: translateY(0); }  /* 起始和结束位置 */
  50% { transform: translateY(-20px); }   /* 跳跃高度 */
}

/* 设置每个图片的延迟 */
.jumping-dot:nth-child(1) { animation-delay: 0s; }
.jumping-dot:nth-child(2) { animation-delay: 0.25s; }
.jumping-dot:nth-child(3) { animation-delay: 0.5s; }
.jumping-dot:nth-child(4) { animation-delay: 0.75s; }

