/**
 * 官方 130341635 登录页一比一（手机竖屏）
 * 设计宽 375：--mp1 = 100vw/375
 *
 * 关键：login-content 在 top/bottom:0 时拉满高度（非整块垂直居中），
 * logo 从顶部 margin-top:59 往下排。
 */

html.is-mobile {
  --mp1: calc(100vw / 375);
  --white: #fff;
  --black: #000;
}

/* 桌面 1280×720 舞台：按高度映射手机设计，logo 约在 100px 处 */
html:not(.is-mobile) {
  --mp1: 1.65px;
  --white: #fff;
  --black: #000;
}

/* 登录页：#app 禁止滚动，避免内容被顶偏 */
html.is-mobile #app:has(> .login-root) {
  overflow: hidden !important;
  touch-action: none;
}

@keyframes authShimmer {
  0% { left: -55%; }
  100% { left: 125%; }
}

/* ========== 登录 ========== */
html.is-mobile #app > .login-root,
html:not(.is-mobile) #app > .login-root {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background-image:
    linear-gradient(0deg, #3e300f, #807136 30%, #c2b25d 50%, #807136 80%, #3e300f),
    linear-gradient(0deg, #ddb137, #000) !important;
  background-blend-mode: normal, normal;
  color: #fff;
  z-index: 1;
}

html.is-mobile #app > .login-root {
  position: fixed !important;
  width: 100vw !important;
  height: 100% !important;
  height: 100dvh !important;
  min-height: 100dvh !important;
  /* 刘海/安全区 */
  padding-top: env(safe-area-inset-top, 0px) !important;
  padding-bottom: env(safe-area-inset-bottom, 0px) !important;
}

.login-root .auth-lang {
  position: absolute !important;
  left: auto !important;
  right: calc(var(--mp1) * 20) !important;
  top: calc(var(--mp1) * 20) !important;
  bottom: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: calc(var(--mp1) * 12) !important;
  line-height: 1.2 !important;
  color: #fff !important;
  z-index: 5 !important;
  transform: none !important;
  width: auto !important;
  height: auto !important;
}

/*
 * 官方关键：top/bottom/left/right 全 0 + width 固定 + height:auto
 * → 绝对定位高度被拉满视口，内容从顶部向下排（不是整块垂直居中）
 */
.login-root .login-content {
  position: absolute !important;
  top: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: calc(var(--mp1) * 335) !important;
  max-width: none !important;
  /* 切勿 fit-content，否则会变成整块居中、logo 过低 */
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  transform: none !important;
  box-sizing: border-box !important;
  z-index: 2;
  overflow: visible !important;
}

.login-root .auth-logo {
  width: calc(var(--mp1) * 127) !important;
  height: calc(var(--mp1) * 90) !important;
  margin: calc(var(--mp1) * 59) 0 0 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  background: url(../assets/logo-official.png) 0 0 / 100% 100% no-repeat !important;
  position: relative !important;
  overflow: hidden !important;
  left: auto !important;
  top: auto !important;
  right: auto !important;
  transform: none !important;
  filter: none !important;
}

.login-root .auth-logo:before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 0 !important;
  left: -55% !important;
  width: 50% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  filter: none !important;
  background: linear-gradient(
    90deg,
    hsla(0, 0%, 100%, 0.04),
    hsla(0, 0%, 100%, 0.7),
    hsla(0, 0%, 100%, 0.75)
  ) !important;
  transform: skewX(-30deg) !important;
  animation: authShimmer 3s infinite !important;
  pointer-events: none !important;
}

.login-root .login-form {
  margin: calc(var(--mp1) * 33) 0 0 0 !important;
  width: 100% !important;
  padding: 0 0 calc(var(--mp1) * 20) 0 !important;
  border: solid calc(var(--mp1) * 1) #f9e683 !important;
  border-radius: calc(var(--mp1) * 10) !important;
  background-image:
    linear-gradient(90deg, #3e300f, #807136 20%, #c2b25d 50%, #807136 80%, #3e300f),
    linear-gradient(90deg, #3e300f, #c2b25d 45%, #3e300f) !important;
  box-shadow: 0 calc(var(--mp1) * 2) calc(var(--mp1) * 3) 0 rgba(0, 0, 0, 0.16) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.login-root .login-form .input {
  width: calc(var(--mp1) * 310) !important;
  max-width: none !important;
  height: calc(var(--mp1) * 40) !important;
  margin: calc(var(--mp1) * 25) 0 0 0 !important;
  padding: 0 !important;
  background: #f2dcab !important;
  border: solid calc(var(--mp1) * 1) #000 !important;
  border-radius: calc(var(--mp1) * 5) !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  color: #000 !important;
  font-size: calc(var(--mp1) * 12) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  position: relative !important;
  flex-shrink: 0 !important;
}

.login-root .login-form > .input:first-of-type {
  margin-top: calc(var(--mp1) * 25) !important;
}

.login-root .login-form .input .label {
  margin: 0 calc(var(--mp1) * 17) !important;
  padding: 0 !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
  flex-shrink: 0 !important;
  font-size: calc(var(--mp1) * 13) !important;
  color: #000 !important;
  line-height: 1 !important;
  position: static !important;
  left: auto !important;
  top: auto !important;
  height: auto !important;
  pointer-events: none;
  align-self: center !important;
}

.login-root .login-form .input input {
  all: unset !important;
  flex: 1 1 auto !important;
  width: 0 !important;
  height: 100% !important;
  min-width: 0 !important;
  color: #000 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  -webkit-user-select: text !important;
  user-select: text !important;
  box-sizing: border-box !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 calc(var(--mp1) * 8) 0 0 !important;
  margin: 0 !important;
}

.login-root .capcha-group {
  margin: calc(var(--mp1) * 25) 0 0 0 !important;
  width: calc(var(--mp1) * 310) !important;
  height: calc(var(--mp1) * 40) !important;
  display: flex !important;
  flex-direction: row !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
}

.login-root .capcha-group > .input {
  flex: 1 1 auto !important;
  width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
}

.login-root .capcha-group > .capcha {
  width: calc(var(--mp1) * 66) !important;
  height: 100% !important;
  margin: 0 0 0 calc(var(--mp1) * 20) !important;
  background: #fff !important;
  color: #000 !important;
  font-size: calc(var(--mp1) * 20) !important;
  font-weight: 400 !important;
  letter-spacing: 1px;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer;
  flex-shrink: 0 !important;
  user-select: none;
  font-family: Arial, "Microsoft YaHei", sans-serif !important;
}

.login-root .error {
  color: #fa5655 !important;
  font-size: calc(var(--mp1) * 14) !important;
  height: calc(var(--mp1) * 40) !important;
  min-height: calc(var(--mp1) * 40) !important;
  max-width: calc(var(--mp1) * 310) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  flex-shrink: 0 !important;
}

.login-root .bar-line {
  width: calc(var(--mp1) * 310) !important;
  height: calc(var(--mp1) * 2) !important;
  margin: 0 0 calc(var(--mp1) * 10) 0 !important;
  border-bottom: solid calc(var(--mp1) * 1) #f7e589 !important;
  border-top: solid calc(var(--mp1) * 1) #8f8147 !important;
  box-sizing: border-box !important;
  background: none !important;
  flex-shrink: 0 !important;
}

.login-root .buttons {
  width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

.login-root .buttons .submit {
  width: calc(var(--mp1) * 125) !important;
  height: calc(var(--mp1) * 40) !important;
  border-radius: calc(var(--mp1) * 5) !important;
  border: solid calc(var(--mp1) * 1) #000 !important;
  background: #000 !important;
  color: #fff !important;
  font-size: calc(var(--mp1) * 14) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  cursor: pointer;
  user-select: none;
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  clip-path: none !important;
  filter: none !important;
  box-shadow: none !important;
}

.login-root .buttons .submit .btn-label {
  position: relative;
  z-index: 1;
  pointer-events: none;
}

.login-root .buttons .submit:after {
  content: "" !important;
  position: absolute !important;
  top: calc(var(--mp1) * 2) !important;
  left: calc(var(--mp1) * 2) !important;
  right: calc(var(--mp1) * 2) !important;
  height: 46% !important;
  width: calc(100% - var(--mp1) * 4) !important;
  border-radius: calc(var(--mp1) * 5) !important;
  background-image:
    linear-gradient(0deg, #535353, #818181 60%, #afafaf),
    linear-gradient(#000, #000) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  display: block !important;
  animation: none !important;
  filter: none !important;
  transform: none !important;
}

.login-root .auth-cs {
  position: absolute !important;
  top: auto !important;
  right: calc(var(--mp1) * 22) !important;
  bottom: calc(var(--mp1) * 95) !important;
  left: auto !important;
  font-size: calc(var(--mp1) * 11) !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  cursor: pointer;
  z-index: 5 !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

.login-root .auth-cs > svg,
.login-root .auth-cs > svg.icon-service {
  width: calc(var(--mp1) * 25) !important;
  height: calc(var(--mp1) * 25) !important;
  margin: 0 0 calc(var(--mp1) * 3) 0 !important;
  display: block !important;
  overflow: visible !important;
}

.login-root .auth-foot {
  position: absolute !important;
  top: auto !important;
  bottom: calc(var(--mp1) * 10) !important;
  left: 0 !important;
  right: 0 !important;
  margin: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  color: #f1d99a !important;
  font-size: calc(var(--mp1) * 9) !important;
  z-index: 3 !important;
  pointer-events: none;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  overflow: visible !important;
  line-height: normal !important;
}

.login-root .auth-foot .image-wrap {
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  margin: 0 0 calc(var(--mp1) * 10) 0 !important;
}

.login-root .auth-foot .fc {
  width: calc(var(--mp1) * 147) !important;
  height: calc(var(--mp1) * 28) !important;
  background: url(../assets/visa-fc.png) 0 0 / 100% 100% no-repeat !important;
}

.login-root .auth-foot .ceza {
  width: calc(var(--mp1) * 100) !important;
  height: calc(var(--mp1) * 34) !important;
  margin-left: calc(var(--mp1) * 8) !important;
  background: url(../assets/visa-ceza.png) 0 0 / 100% 100% no-repeat !important;
}

.login-root .auth-foot .footer-text {
  max-width: calc(var(--mp1) * 340) !important;
  text-align: center !important;
  line-height: 1.45 !important;
  font-family: KaiTi, simkai, "Microsoft YaHei", serif !important;
  padding: 0 8px !important;
  color: #f1d99a !important;
  font-size: calc(var(--mp1) * 9) !important;
  white-space: normal !important;
}

/* ========== 线路选择 ========== */
html.is-mobile #app > .server-select-root,
html:not(.is-mobile) #app > .server-select-root {
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  display: block !important;
  overflow: hidden !important;
  box-sizing: border-box !important;
  background-image:
    linear-gradient(0deg, #3e300f, #807136 30%, #c2b25d 50%, #807136 80%, #3e300f),
    linear-gradient(0deg, #ddb137, #000) !important;
  background-blend-mode: normal, normal;
  color: #fff;
  z-index: 1;
}

html.is-mobile #app > .server-select-root {
  min-height: 100dvh !important;
  height: 100% !important;
  position: fixed !important;
}

/* 官方：form 铺满，内容从上往下；logo 顶距 59 */
.server-select-root .form {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  bottom: 0 !important;
  right: 0 !important;
  margin: auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  height: 100% !important;
  transform: none !important;
  box-sizing: border-box !important;
}

.server-select-root .auth-lang {
  position: absolute !important;
  right: calc(var(--mp1) * 20) !important;
  top: calc(var(--mp1) * 20) !important;
  left: auto !important;
  bottom: auto !important;
  font-size: calc(var(--mp1) * 12) !important;
  color: #fff !important;
  z-index: 5 !important;
  margin: 0 !important;
  transform: none !important;
}

.server-select-root .auth-logo {
  width: calc(var(--mp1) * 127) !important;
  height: calc(var(--mp1) * 90) !important;
  margin: calc(var(--mp1) * 59) 0 0 0 !important;
  padding: 0 !important;
  flex-shrink: 0 !important;
  background: url(../assets/logo-official.png) 0 0 / 100% 100% no-repeat !important;
  position: relative !important;
  overflow: hidden !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
  filter: none !important;
}

.server-select-root .auth-logo:before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  z-index: 2 !important;
  top: 0 !important;
  left: -55% !important;
  width: 50% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  filter: none !important;
  background: linear-gradient(
    90deg,
    hsla(0, 0%, 100%, 0.04),
    hsla(0, 0%, 100%, 0.7),
    hsla(0, 0%, 100%, 0.75)
  ) !important;
  transform: skewX(-30deg) !important;
  animation: authShimmer 3s infinite !important;
  pointer-events: none !important;
}

.server-select-root .form-wrap {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: calc(var(--mp1) * 20) 0 0 0 !important;
  width: calc(var(--mp1) * 355) !important;
  max-width: 94vw !important;
  border: solid calc(var(--mp1) * 1) #f9e683 !important;
  border-radius: calc(var(--mp1) * 10) !important;
  background-image:
    linear-gradient(90deg, #3e300f, #807136 20%, #c2b25d 50%, #807136 80%, #3e300f),
    linear-gradient(90deg, #3e300f, #c2b25d 45%, #3e300f) !important;
  box-sizing: border-box !important;
  padding: 0 0 calc(var(--mp1) * 8) 0 !important;
  position: relative !important;
  left: auto !important;
  top: auto !important;
  transform: none !important;
}

.server-select-root .form-title {
  margin: calc(var(--mp1) * 16) 0 !important;
  color: #fff !important;
  font-size: calc(var(--mp1) * 16) !important;
  font-weight: 500 !important;
  text-align: center !important;
}

.server-select-root .form-info {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  max-width: calc(var(--mp1) * 355) !important;
  padding: 0 calc(var(--mp1) * 10) !important;
  box-sizing: border-box !important;
}

.server-select-root .form-info .p1,
.server-select-root .form-info .p2 {
  color: #fff !important;
  font-size: calc(var(--mp1) * 10) !important;
  text-align: center !important;
  line-height: calc(var(--mp1) * 20) !important;
  margin: 0 !important;
}

.server-select-root .form-info .p1 {
  margin: calc(var(--mp1) * 5) !important;
  display: block !important;
}

.server-select-root .form-info .icon-check {
  color: #05d363 !important;
  font-weight: 700 !important;
  margin: 0 calc(var(--mp1) * 5) !important;
}

.server-select-root .form-info .icon-x {
  color: #f23b40 !important;
  font-weight: 700 !important;
  margin: 0 calc(var(--mp1) * 5) !important;
}

.server-select-root .form-group {
  width: calc(var(--mp1) * 355) !important;
  max-width: 100% !important;
  margin: calc(var(--mp1) * 30) 0 calc(var(--mp1) * 34) 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.server-select-root .btn-group {
  display: flex !important;
  flex-direction: row !important;
  width: 100% !important;
  justify-content: center !important;
  gap: 0 !important;
}

.server-select-root .btn-group .btn {
  width: calc(var(--mp1) * 88) !important;
  height: calc(var(--mp1) * 25) !important;
  margin: 0 0 0 calc(var(--mp1) * 25) !important;
  font-size: calc(var(--mp1) * 10) !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  background: #000 !important;
  color: #fff !important;
  border-radius: calc(var(--mp1) * 5) !important;
  box-sizing: border-box !important;
  border: 0 !important;
  padding: 0 !important;
  clip-path: none !important;
  filter: none !important;
  box-shadow: none !important;
  min-width: 0 !important;
}

.server-select-root .btn-group .btn:first-child {
  margin-left: 0 !important;
}

.server-select-root .btn-group .btn .btn-label {
  flex: 1 1 auto !important;
  width: 0 !important;
  margin-left: calc(var(--mp1) * 15) !important;
  text-align: center !important;
  position: relative;
  z-index: 1;
  pointer-events: none;
  white-space: nowrap !important;
  color: #fff !important;
  font-size: calc(var(--mp1) * 10) !important;
}

.server-select-root .btn-group .btn .btn-icon {
  width: calc(var(--mp1) * 19) !important;
  height: calc(var(--mp1) * 19) !important;
  border-radius: 50% !important;
  margin-right: calc(var(--mp1) * 10) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: calc(var(--mp1) * 12) !important;
  font-weight: 700 !important;
  position: relative;
  z-index: 1;
  pointer-events: none;
  flex-shrink: 0 !important;
}

.server-select-root .btn-group .btn .btn-icon.ok { color: #05d363 !important; }
.server-select-root .btn-group .btn .btn-icon.bad { color: #f23b40 !important; }

.server-select-root .btn-group .btn.disabled {
  background: rgba(0, 0, 0, 0.5) !important;
  cursor: not-allowed !important;
  pointer-events: none !important;
}

.server-select-root .btn-group .btn:after,
.server-select-root .input-group .btn:after {
  content: "" !important;
  position: absolute !important;
  top: calc(var(--mp1) * 2) !important;
  left: calc(var(--mp1) * 2) !important;
  right: calc(var(--mp1) * 2) !important;
  height: 46% !important;
  width: calc(100% - var(--mp1) * 4) !important;
  border-radius: calc(var(--mp1) * 3) !important;
  background-image:
    linear-gradient(0deg, #535353, #818181 60%, #afafaf),
    linear-gradient(#000, #000) !important;
  z-index: 0 !important;
  pointer-events: none !important;
  display: block !important;
  animation: none !important;
  filter: none !important;
  transform: none !important;
}

.server-select-root .input-group {
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  margin: calc(var(--mp1) * 30) 0 0 0 !important;
  width: calc(var(--mp1) * 313) !important;
  max-width: 92vw !important;
  height: calc(var(--mp1) * 29) !important;
  box-sizing: border-box !important;
}

.server-select-root .input-group .input {
  all: unset !important;
  flex: 1 1 auto !important;
  width: 0 !important;
  height: calc(var(--mp1) * 29) !important;
  font-size: 16px !important;
  padding: 0 calc(var(--mp1) * 12) !important;
  box-sizing: border-box !important;
  color: #000 !important;
  background: #f2dcab !important;
  border: solid calc(var(--mp1) * 1) #000 !important;
  border-radius: calc(var(--mp1) * 2) !important;
  -webkit-user-select: text !important;
  user-select: text !important;
  display: block !important;
}

.server-select-root .input-group .input::placeholder {
  color: rgba(0, 0, 0, 0.5) !important;
}

.server-select-root .input-group .btn {
  width: calc(var(--mp1) * 88) !important;
  height: calc(var(--mp1) * 29) !important;
  margin: 0 0 0 calc(var(--mp1) * 10) !important;
  font-size: calc(var(--mp1) * 10) !important;
  cursor: pointer;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  background: #000 !important;
  color: #fff !important;
  border-radius: calc(var(--mp1) * 5) !important;
  flex-shrink: 0 !important;
  border: 0 !important;
  padding: 0 !important;
  clip-path: none !important;
  filter: none !important;
  box-shadow: none !important;
  min-width: 0 !important;
}

.server-select-root .input-group .btn .btn-label {
  position: relative;
  z-index: 1;
  pointer-events: none;
  text-align: center;
  width: 100%;
  color: #fff !important;
}

.server-select-root .auth-cs {
  position: absolute !important;
  top: auto !important;
  right: calc(var(--mp1) * 22) !important;
  bottom: calc(var(--mp1) * 95) !important;
  left: auto !important;
  font-size: calc(var(--mp1) * 11) !important;
  color: #fff !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  cursor: pointer;
  z-index: 5 !important;
  margin: 0 !important;
}

.server-select-root .auth-cs > svg,
.server-select-root .auth-cs > svg.icon-service {
  width: calc(var(--mp1) * 25) !important;
  height: calc(var(--mp1) * 25) !important;
  margin: 0 0 calc(var(--mp1) * 3) 0 !important;
  display: block !important;
  overflow: visible !important;
}

.server-select-root .auth-foot {
  position: absolute !important;
  top: auto !important;
  bottom: calc(var(--mp1) * 10) !important;
  left: 0 !important;
  right: 0 !important;
  margin: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  color: #f1d99a !important;
  font-size: calc(var(--mp1) * 9) !important;
  z-index: 3 !important;
  pointer-events: none;
  width: auto !important;
  height: auto !important;
  background: transparent !important;
  overflow: visible !important;
}

.server-select-root .auth-foot .image-wrap {
  display: flex !important;
  align-items: center !important;
  margin: 0 0 calc(var(--mp1) * 10) 0 !important;
}

.server-select-root .auth-foot .fc {
  width: calc(var(--mp1) * 147) !important;
  height: calc(var(--mp1) * 28) !important;
  background: url(../assets/visa-fc.png) 0 0 / 100% 100% no-repeat !important;
}

.server-select-root .auth-foot .ceza {
  width: calc(var(--mp1) * 100) !important;
  height: calc(var(--mp1) * 34) !important;
  margin-left: calc(var(--mp1) * 8) !important;
  background: url(../assets/visa-ceza.png) 0 0 / 100% 100% no-repeat !important;
}

.server-select-root .auth-foot .footer-text {
  max-width: calc(var(--mp1) * 340) !important;
  text-align: center !important;
  line-height: 1.45 !important;
  font-family: KaiTi, simkai, "Microsoft YaHei", serif !important;
  padding: 0 8px !important;
  color: #f1d99a !important;
  font-size: calc(var(--mp1) * 9) !important;
  white-space: normal !important;
}

/* 桌面舞台：根节点铺满 1280×720 */
html:not(.is-mobile) #app > .login-root,
html:not(.is-mobile) #app > .server-select-root {
  width: 1280px !important;
  height: 720px !important;
  position: absolute !important;
}

/* 桌面登录：内容区水平居中、顶对齐（官方 PC top 较小） */
html:not(.is-mobile) .login-root .login-content {
  width: calc(var(--mp1) * 335) !important;
}
html:not(.is-mobile) .login-root .auth-lang {
  right: 52px !important;
  top: 40px !important;
  font-size: 18px !important;
}
html:not(.is-mobile) .login-root .auth-cs {
  right: 28px !important;
  bottom: 110px !important;
  font-size: 14px !important;
}
html:not(.is-mobile) .login-root .auth-cs > svg {
  width: 28px !important;
  height: 28px !important;
}
