html,
body,
#app {
  width: 100%;
  min-width: 0;
  min-height: 100%;
  margin: 0;
  overflow-x: hidden;
  background: #fff !important;
}

.face-auth-container,
.page {
  width: 100% !important;
  max-width: 430px !important;
  margin: 0 auto !important;
}

.face-auth-container,
.start-page,
.result-page {
  background-color: #fff !important;
}

.header {
  display: none !important;
}

.bottom-line {
  display: none !important;
}

.face-auth-container.auth-active {
  max-width: none !important;
  margin: 0 !important;
}

.page.auth-page {
  width: 100%;
  max-width: none !important;
}

.auth-page .auth-content {
  margin-right: auto;
  margin-left: auto;
}

.content,
.auth-content {
  width: 100%;
  max-width: 430px;
}

.start-page .content {
  padding-top: max(env(safe-area-inset-top), 48px) !important;
}

.start-page .title {
  display: none;
}

.icon-circle,
.icon-svg {
  width: min(78vw, 334px) !important;
  height: min(78vw, 334px) !important;
}

.start-page .icon-circle {
  order: 1;
  background: url('https://face.modelpk.cn/assets/face-shield-reference.png') center / contain no-repeat;
}

.start-page .icon-circle svg {
  opacity: 0;
}

.business-copy {
  order: 2;
  width: 100%;
  margin: 14px 0 0;
  color: #303844;
  font-size: 17px;
  line-height: 1.65;
}

.business-copy a,
.service-link {
  color: #1688ef;
}

.privacy-note {
  order: 3;
  width: 100%;
  margin: 34px 0 0;
  color: #999;
  font-size: 15px;
  line-height: 1.6;
}

.start-page .agreement {
  order: 4;
  align-self: flex-start;
  margin-top: 26px;
}

.start-page .checkmark {
  width: 20px !important;
  height: 20px !important;
  border: 0 !important;
  background: transparent !important;
}

.start-page .agreement-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.start-page .btn-primary {
  order: 5;
  margin-top: 34px;
}

.start-page .model-loading-tip {
  order: 6;
}

video,
canvas {
  max-width: 477px !important;
  max-height: 477px !important;
}

.auth-page.camera-active {
  background-color: #fff !important;
}

.auth-page.camera-active video,
.auth-page.camera-active canvas,
.auth-page.camera-active .video-container {
  top: 45% !important;
}

.auth-page.camera-active .video-container {
  max-width: 334px !important;
  max-height: 334px !important;
}

.auth-page.camera-active .tip-text {
  top: calc(45% - min(31vw, 167px) - 70px) !important;
  width: calc(100% - 40px);
  font-size: 20px !important;
  line-height: 1.4;
  white-space: normal;
}

.auth-page.camera-active .brightness-tip {
  top: calc(45% + min(31vw, 167px) + 70px) !important;
  width: calc(100% - 40px);
  color: #111 !important;
  font-size: 18px !important;
  line-height: 1.4;
  white-space: normal;
}

.auth-page.camera-active .video-guide::after {
  position: absolute;
  inset: 5%;
  content: '';
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cpath d='M150 285 C205 285 230 220 230 190 C255 180 255 120 230 110 C230 50 205 15 150 15 C95 15 70 50 70 110 C45 120 45 180 70 190 C70 220 95 285 150 285 Z' fill='none' stroke='white' stroke-width='2.5' stroke-dasharray='10 8' stroke-linecap='round' opacity='.9'/%3E%3C/svg%3E") center / contain no-repeat;
  pointer-events: none;
}

.auth-page.camera-active .video-guide svg path {
  display: none;
}

@media (max-width: 430px) {
  .content,
  .auth-content {
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

@media (max-width: 360px) {
  .auth-page.camera-active video,
  .auth-page.camera-active canvas,
  .auth-page.camera-active .video-container {
    top: 44% !important;
  }

  .auth-page.camera-active .tip-text {
    top: calc(44% - 31vw - 56px) !important;
    font-size: 18px !important;
  }

  .auth-page.camera-active .brightness-tip {
    top: calc(44% + 31vw + 52px) !important;
    font-size: 16px !important;
  }
}
