@font-face {
  font-family: "Krylon";
  src: url("./assets/Krylon-Regular.otf") format("opentype");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

a {
  text-decoration: none;
  color: unset;
}

html {
  width: 100%;
  height: 100%;
  overflow-x: hidden;
}

body {
  font-family: "Krylon", serif;
  margin: 0 auto;
  overflow-x: hidden;
  background-image: url("assets/login_bg2_n.png"), url("assets/login_bg_n.png");
  background-repeat: no-repeat, no-repeat; /* 各自的 repeat */
  background-position: 0 0, left 0; /* 各自的位置 */
  background-size: 930px 100%, cover; /* 各自的尺寸 */
  background-clip: content-box, border-box;
}

.main {
  padding-left: 120px;
  display: flex;
  align-items: center;
  height: 100vh;
}

.main .logo {
  display: flex;
  gap: 30px;
}

.title {
  color: #fff;

  font-family: Krylon;
  font-size: 60px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  margin-top: 45px;
}

.intro {
  color: #fff;

  font-family: Krylon;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px; /* 130% */
  width: 468px;
}
.intro div {
  margin-top: 4px;
}

.btn img {
}

.privacy-notice {
  margin-top: 25px;
  margin-bottom: 0;
}

.checkbox-container {
  display: flex;
  cursor: pointer;
  color: #fdfdfd;
  font-family: Krylon;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.4;
}

.checkbox-container input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

.checkmark {
  height: 20px;
  width: 20px;
  background: rgba(255, 255, 255, 0.3);
  border: 2px solid #2d6043;
  border-radius: 4px;
  margin-right: 4px;
  position: relative;
  flex-shrink: 0;
}

.checkbox-container:hover input ~ .checkmark {
  border-color: #2d6043;
}

.checkbox-container input:checked ~ .checkmark {
  background-color: #fdfdfd;
  border-color: #2d6043;
}

.checkmark:after {
  content: "";
  position: absolute;
  display: none;
}

.checkbox-container input:checked ~ .checkmark:after {
  display: block;
}

.checkbox-container .checkmark:after {
  left: 50%;
  top: 50%;
  width: 5px;
  height: 9px;
  border: solid #2d6043;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -60%) rotate(45deg);
}

.privacy-text {
  max-width: 496px;
  color: #fff;
  font-family: Krylon;
  font-size: 20px;
  font-style: normal;
  font-weight: 400;
  line-height: 26px; /* 130% */
}

.btn {
  margin-top: 30px;
}

.btn.disabled {
  cursor: not-allowed;
}

.btn.disabled .connect {
  color: rgba(255, 255, 255, 0.4);
  cursor: not-allowed;
  pointer-events: none;
}

.connect {
  color: #ffe390;
  font-family: Krylon;
  font-size: 28px;
  font-style: normal;
  font-weight: 400;
  line-height: normal;
  text-decoration-line: underline;
  text-decoration-style: solid;
  text-decoration-skip-ink: auto;
  text-decoration-thickness: auto;
  text-underline-offset: auto;
  text-underline-position: from-font;
  cursor: pointer;
}
@media only screen and (max-width: 1799px) {
  body {
    background-image: url("assets/login_bg2_n1440.png"),
      url("assets/login_bg_n.png");
    background-repeat: no-repeat, no-repeat; /* 各自的 repeat */
    background-position: 0 0, left 0; /* 各自的位置 */
    background-size: 700px 100%, cover; /* 各自的尺寸 */
    background-clip: content-box, border-box;
  }

  .main {
    padding-left: 80px;
  }
  .title {
    color: #fff;
    font-family: Krylon;
    font-size: 48px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
  }

  .privacy-text {
    color: #fff;
    font-family: Krylon;
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
    line-height: 19.5px; /* 150% */
    width: 372px;
  }
  .connect{
    font-size: 20px;
  }
}
/* Mobile responsive styles */
@media only screen and (max-width: 980px) {
  body {
    background-image: unset;
    background-repeat: no-repeat, no-repeat;
    background-position: center top, center bottom;
    background-size: 100% auto, 100% 100%;
    background-attachment: scroll, fixed;
    /* 兼容 iOS 安全区高度：优先 100svh，其次 100vh，最后 100dvh 以避免旧版 iOS 地址栏塌陷 */
    min-height: 100svh;
    background-color: #376840;
  }

  .main {
    flex-direction: column;
    /* 保证主体也适配安全区高度 */
    min-height: 100svh;
    padding-left: 0px;
  }
  .login_bg_mob {
    display: block !important;
    width: 100%;
  }
  .container {
    width: 100%;
    text-align: left;
    padding-top: 40px;
    padding-left: 30px;
    padding-right: 30px;
    background-color: #376840;
    background-image: url("./assets/login_bg2_mob.png");
    background-size: 100% 100%;
    flex: 1;
    padding-bottom: calc(30px + env(safe-area-inset-bottom, 0px));
    padding-bottom: calc(30px + constant(safe-area-inset-bottom, 0px));
  }

  .main .logo {
    display: none;
    justify-content: flex-start;
    margin-bottom: 20px;
  }
  .logo_mob {
    display: block !important;
  }
  .main .logo img {
    max-width: 80px;
    height: auto;
  }
  .ms_img_mob {
    display: block !important;
  }
  .ms_img {
    display: none;
  }
  .title {
    font-size: 32px;
    margin-top: 20px;
    margin-bottom: 6px;
  }

  .intro {
    width: 100%;
    font-size: 12px;
    line-height: 22px;
    text-align: center;
    margin-bottom: 30px;
    text-align: left;
  }

  .intro div {
    margin-top: 0;
    color: rgba(255, 255, 255, 0.6);
  }

  .btn {
    margin-top: 60px;
    display: flex;
    flex-direction: column;
    gap: 10px;
  }

  .btn img {
    width: 86px;
    height: 22px;
    transform: none;
  }

  .connect {
    font-size: 24px;
  }

  .privacy-notice {
    margin-top: 16px;
    width: 100%;
  }

  .checkbox-container {
    text-align: left;
    font-size: 14px;
  }

  .privacy-text {
    font-size: 12px;
    width: 100%;
    max-width: 100%;
  }
}

@media only screen and (max-width: 480px) {
  .main {
    padding-left: 0px;
    padding-right: 0px;
  }

  .title {
    font-size: 28px;
  }

  .intro {
    font-size: 12px;
    line-height: 20px;
  }

  .connect {
    font-size: 20px;
  }

  .checkbox-container {
    font-size: 14px;
  }

  .privacy-text {
  }
}
