body { 
  padding: 0; 
  margin: 0; 
  border: 0;
  overflow: hidden;
  width: 100vw;
  height: 100vh;
  background: #000000;
}

#unity-container { 
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  left: 0;
  top: 0;
  transform: none;
}

#unity-container.unity-desktop { 
  width: 100%;
  height: 100%;;
}

.unity-desktop #unity-canvas {
  background: #FFFFFF;
  max-width: 100%;
  max-height: 100%;
  width: auto !important;
  height: auto !important;
}

#unity-container.unity-mobile {
  width: 100%;
  height: 100%;
}

.unity-mobile #unity-canvas { 
  width: 100%; 
  height: 100%;
  background: #FFFFFF;
}

#loading { 
  position: absolute; 
  left: 50%; top: 50%; 
  transform: translate(-50%, -50%); 
  width: 100%; height: 100%; 
  background-color: #5e5e5e;
}

#loading .loading-box {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  position: absolute;
  bottom: 10vmin;
  right: 10vmin;
  user-select: none;
}

#loading .loading-box .loading-box-text {
  position: relative;
}

#loading .loading-box .loading-box-text p {
  color: #fff;
  font-size: clamp(24px, 3vw, 48px);
  text-align: left;
  font-weight: bolder;
  margin: 0;
}

#loading .loading-box .loading-box-text p::after {
  content: '';
  animation: loading 1.5s infinite;
  display: inline-block;
  width: 1em;
}

@keyframes loading {
  0% { content: ''; }
  25% { content: '.'; }
  50% { content: '..'; }
  75% { content: '...'; }
  100% { content: ''; }
}

#loading .loading-box .loading-box-img {
  width: 10vmax;
  max-width: 20vmin;
}

#portrait-mask {
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  pointer-events: none;
  background-color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

#portrait-mask.hidden {
  display: none;
}

#portrait-mask .portrait-mask-img {
  width: 25vw;
}

#portrait-mask .portrait-mask-text {
  color: #000;
  font-size: 18px;
  text-align: center;
}