:root {
  --color-main: #2ebee6;
  --color-success: #39e691;
}

html {
  -ms-touch-action: none;
}

body,
canvas,
div {
  display: block;
  outline: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);

  user-select: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  -khtml-user-select: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

/* Remove spin of input type number */
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
  /* display: none; <- Crashes Chrome on hover */
  -webkit-appearance: none;
  margin: 0; /* <-- Apparently some margin are still there even though it's hidden */
}

body {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  margin: 0;

  cursor: default;
  color: #888;
  background-color: #333;

  text-align: center;
  font-family: Helvetica, Verdana, Arial, sans-serif;

  display: flex;
  flex-direction: column;
}

canvas {
  background-color: rgba(0, 0, 0, 0);
}

#GameDiv,
#Cocos3dGameContainer,
#GameCanvas {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

:root {
  --safe-top: env(safe-area-inset-top);
  --safe-right: env(safe-area-inset-right);
  --safe-bottom: env(safe-area-inset-bottom);
  --safe-left: env(safe-area-inset-left);
}

#splash-bg {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  background-color: white;
  transition: all 0.2s ease-out;
}

#splash-animation {
  width: 45%;
  height: 45%;
  position: absolute;
  background-color: white;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.2s ease-out;
}

#splash-video {
  width: 60%;
  height: 60%;
  position: absolute;
  background-color: white;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.2s ease-out;
}

@media screen and (max-width: 800px) {
  #splash-animation {
    width: 85%;
  }
  #splash-video {
    width: 100%;
  }
}

#splash-bg > div {
  display: none;
}

#splash-bg > div.show {
  display: block;
  height: 100%;
  width: 100%;
}

.loadingAnim {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;

  height: 100%;
  position: relative;
  z-index: 10;
}
.loadingAnim .dots {
  display: flex;
  gap: 4px;
  zoom: 1.7;
}
.loadingAnim .dots > div {
  width: 6px;
  height: 6px;
  border-radius: 100%;
  background-color: #205caa;
  margin-bottom: 10px;
}
.loadingAnim .dots > div:first-child {
  animation: anim 750ms linear infinite;
}
.loadingAnim .dots > div:nth-child(2) {
  animation: anim 750ms linear infinite 100ms;
}
.loadingAnim .dots > div:nth-child(3) {
  animation: anim 750ms linear infinite 200ms;
}
.loadingAnim .text {
  font-size: 12px;
  color: var(--color-text-emphasize);
}

@keyframes anim {
  50% {
    transform: translateY(8px);
  }
}

#ss_image {
  width: 100%;
  height: 100%;
  overflow: hidden;
}

#ss_image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#ss_text.show {
  display: flex !important;
  justify-content: center;
  align-items: center;
}

#splash-bg #ss_text > div {
  font-size: 45px;
}

#ss_default {
  background: #161616;
}

.ss_default-box {
  padding: 130px 45px 25px 45px;
}

.ss_default-text {
  font-size: 55px;
  text-align: left;
  border-bottom: 3px solid var(--color-main);
  padding-bottom: 12px;
  color: var(--color-main);
  letter-spacing: 1.3px;
}

.ss_default-text.success {
  border-bottom: 3px solid var(--color-success);
  color: var(--color-success);
}

.ss_default-desc {
  font-size: 21px;
  text-align: left;
  padding-bottom: 3px;
  letter-spacing: 1.5px;
  padding-top: 24px;
  color: #a9a9a9;
  opacity: 0;
}

.ss_default-desc.show {
  opacity: 1;
}