body { padding: 0; margin: 0; background: #231F20 }
#container { position: fixed; width: 100%; height: 100%; }
#canvas { width: 100%; height: 100%; background: #231F20 }
#loading-bar { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none }
#logo { width: 154px; height: 130px; background: url('logo-dark.png') no-repeat center }
#progress-bar-empty { margin-left: auto; margin-right: auto; width: 141px; height: 18px; margin-top: 10px; background: url('progress-bar-empty-dark.png') no-repeat center }
#progress-bar-full { width: 0%; height: 18px; margin-top: 10px; background: url('progress-bar-full-dark.png') no-repeat center }
#warning { position: absolute; left: 50%; top: 5%; transform: translate(-50%); background: white; padding: 10px; display: none }

.portrait-message { 
    display: flex; 
    min-height: 100vh;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.relative {
    position: relative;
}

.phone-icon {
    position: relative;
  animation: wiggle 1.5s ease-in-out infinite;
}

.phone-icon svg {
  color: #fafafa;
}

.arrow {
  animation: pulse 2s ease-in-out infinite;
  position: absolute;
  right: -32px;
  top: 50%;
  height: 32px;
  width: 32px;
  translate: 0 -50%;
  color: oklch(78.9% 0.154 211.53);
}

.arrow svg {
  color: #06b6d4;
}

.portrait-message h1 {
  color: white;
  font-size: 1.75rem;
  font-weight: 600;
  letter-spacing: -0.025em;
}

.portrait-message p {
  color: #a1a1aa;
  max-width: 280px;
  line-height: 1.5;
}

@media (orientation: landscape) {
  .portrait-message {
    display: none;
  }

  .container {
    display: block;
  }
}

@keyframes wiggle {
  0%, 100% {
    transform: rotate(0deg);
  }
  25% {
    transform: rotate(-15deg);
  }
  75% {
    transform: rotate(15deg);
  }
}

@keyframes pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
