:root {
  --bg-w: min(100vw, calc(100vh * 1920 / 1080));
  --bg-h: min(100vh, calc(100vw * 1080 / 1920));
  --bg-offset-x: calc((100vw - var(--bg-w)) / 2);
  --bg-offset-y: calc((100vh - var(--bg-h)) / 2);
}

html {
  font-size: min(5.20833vw, 9.25926vh);
}

body {
  height: 100%;
  margin: 0;
  overflow: hidden;
  background-color: #181613;
}

.page-container {
  width: 100%;
  height: 100%;
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background-color: #181613;
  background-image: url(../image/desktop/bg.png?v=68761687880);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  box-sizing: border-box;
}

.page-header {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: calc(var(--bg-offset-y) + min(1.85vh, 2.08vw)) calc(var(--bg-offset-x) + min(3.65vw, 4.17vh)) 0;
  box-sizing: border-box;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: min(0.52vw, 0.93vh);
}

.header-actions img {
  height: min(4.17vw, 7.41vh);
  width: auto;
  cursor: pointer;
  flex-shrink: 0;
}

.page-main {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 0;
  padding: 0 calc(var(--bg-offset-x) + min(5.21vw, 9.26vh));
  box-sizing: border-box;
}

.main-content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: min(52vw, 92vh);
  max-width: 1000px;
}

.main-title {
  width: 100%;
  height: auto;
  display: block;
}

.page-scan {
  flex-shrink: 0;
  display: flex;
  justify-content: flex-start;
  align-items: flex-end;
  padding: 0 calc(var(--bg-offset-x) + min(3.65vw, 6.48vh)) calc(var(--bg-offset-y) + min(2.78vh, 4.95vw));
  box-sizing: border-box;
}

.scan-area {
  display: flex;
  align-items: flex-end;
}

.scan-bg-wrap {
  position: relative;
  display: block;
  line-height: 0;
  width: 9.36rem;
  height: 1.56rem;
  aspect-ratio: 936 / 156;
}

.scan-bg {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: fill;
}

.qr-slot {
  position: absolute;
  top: 0;
  left: 0;
  width: 1.56rem;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}

.qrcode {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.qrcode img,
.qrcode canvas {
  display: block;
  width: 1.46rem !important;
  height: 1.46rem !important;
  flex-shrink: 0;
}

@media screen and (max-width: 1200px) {
  .main-content {
    width: min(58vw, 85vh);
  }

  .header-actions img {
    height: min(5vw, 6.5vh);
  }
}

@media screen and (max-height: 720px) {
  html {
    font-size: min(4.8vw, 8vh);
  }

  .page-main {
    justify-content: flex-end;
    padding-bottom: min(1vh, 1.5vw);
  }

  .main-content {
    width: min(48vw, 70vh);
  }

  .page-scan {
    padding-bottom: calc(var(--bg-offset-y) + min(1.5vh, 2.5vw));
  }
}

@media screen and (min-width: 1920px) {
  .header-actions img {
    height: min(3.65vw, 7.41vh);
    max-height: 80px;
  }

  .main-content {
    max-width: 920px;
  }

  .scan-bg-wrap {
    width: 936px;
    height: 156px;
  }
}

@media screen and (min-aspect-ratio: 21/9) {
  .main-content {
    width: min(40vw, 80vh);
  }

  .page-main {
    justify-content: center;
  }
}
