/* QQ login theme v4 - relative + inline fallback
   文件名已更换，且 qq.jsp 还内嵌同样规则，避免绝对路径或缓存导致不生效。
   特别按键：新区、功能选项、弹出框 => button-text-sanguo
   区名按键：所有普通区名 => button-text-gold
*/
html,
body.lh-page-root {
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0;
  background: #050407 !important;
}

body.lh-page-root {
  position: relative;
  isolation: isolate;
  overflow-x: hidden;
  color: #f5ead2;
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", system-ui, sans-serif;
}

.lh-bg-slideshow-v4 {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #050407;
  contain: strict;
}

.lh-bg-slide-v4 {
  position: absolute;
  inset: -3px;
  opacity: 0;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 100% 100%;
  transform: translateZ(0);
  will-change: opacity;
  transition: opacity 5s linear;
}

.lh-bg-slide-v4.is-visible { opacity: 1; }

.lh-bg-slide-v4:nth-child(1) { background-image: url("../images/qq-v4-bg-asura.jpg"); }
.lh-bg-slide-v4:nth-child(2) { background-image: url("../images/qq-v4-bg-base-0button.jpg"); }
.lh-bg-slide-v4:nth-child(3) { background-image: url("../images/qq-v4-bg-dragon-0button-frame.jpg"); }
.lh-bg-slide-v4:nth-child(4) { background-image: url("../images/qq-v4-bg-fight-8button.jpg"); }
.lh-bg-slide-v4:nth-child(5) { background-image: url("../images/qq-v4-bg-hell-0button-frame.jpg"); }
.lh-bg-slide-v4:nth-child(6) { background-image: url("../images/qq-v4-bg-mecha-0button.jpg"); }
.lh-bg-slide-v4:nth-child(7) { background-image: url("../images/qq-v4-bg-sanguo-0button.jpg"); }
.lh-bg-slide-v4:nth-child(8) { background-image: url("../images/qq-v4-bg-extra-01.jpg"); }
.lh-bg-slide-v4:nth-child(9) { background-image: url("../images/qq-v4-bg-extra-02.jpg"); }
.lh-bg-slide-v4:nth-child(10) { background-image: url("../images/qq-v4-bg-extra-03.jpg"); }

body.lh-page-root::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    radial-gradient(circle at 50% 25%, rgba(255, 218, 135, .07), transparent 34%),
    linear-gradient(180deg, rgba(0,0,0,.22), rgba(0,0,0,.14) 45%, rgba(0,0,0,.30));
}

body.lh-page-root .site-frame-bg { display: none !important; }
body.lh-page-root .fantasy-page,
body.lh-page-root .realm-shell { position: relative; z-index: 3; background: transparent !important; }

body.lh-page-root .realm-shell {
  width: min(85vw, 720px);
  min-height: 100vh;
  min-height: 100dvh;
  margin: 0 auto;
  padding: max(14px, env(safe-area-inset-top)) 0 max(16px, env(safe-area-inset-bottom));
}

body.lh-page-root .realm-card {
  position: relative;
  overflow: hidden;
  border-radius: 20px;
  border: 1px solid rgba(230, 190, 112, .32);
  background: linear-gradient(180deg, rgba(9, 8, 10, .52), rgba(14, 10, 8, .42)) !important;
  box-shadow: inset 0 0 0 1px rgba(255, 238, 178, .08), 0 0 24px rgba(0,0,0,.45);
  backdrop-filter: blur(1.5px);
  -webkit-backdrop-filter: blur(1.5px);
}

body.lh-page-root .realm-scroll-area {
  position: relative;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  padding: clamp(12px, 3vw, 24px) clamp(14px, 4.2vw, 28px) clamp(14px, 3.2vw, 24px);
  background: transparent !important;
}

body.lh-page-root .realm-hero,
body.lh-page-root .server-list,
body.lh-page-root .lh-text-zone,
body.lh-page-root .terms-box,
body.lh-page-root .notice-scroll,
body.lh-page-root .intro-panel,
body.lh-page-root .add-weixin-footer { position: relative; z-index: 2; }

body.lh-page-root .realm-hero {
  display: flex;
  flex-direction: column;
  align-items: center;
}

body.lh-page-root .realm-hero .game-logo-wrap {
  position: relative;
  display: inline-block;
  width: min(100%, 720px);
  margin: 2px auto 4px;
}

body.lh-page-root .realm-hero .game-logo-wrap::before {
  content: "";
  position: absolute;
  inset: -4px;
  pointer-events: none;
  border: 0;
  border-radius: 10px;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 224, 145, .12), rgba(255, 224, 145, 0) 58%),
    radial-gradient(circle at 50% 50%, rgba(118, 205, 255, .08), rgba(118, 205, 255, 0) 68%);
  filter: blur(6px);
  opacity: .26;
  z-index: 1;
  animation: lhLogoAuraSlow 5s linear infinite;
}

body.lh-page-root .realm-hero .game-logo-wrap::after {
  content: none;
  display: none;
}

body.lh-page-root .realm-hero .game-logo-img {
  position: relative;
  z-index: 3;
  display: block;
  width: 100%;
  height: auto;
}

body.lh-page-root .realm-hero p {
  position: relative;
  z-index: 5;
}

@keyframes lhLogoAuraSlow {
  0% { opacity: .18; transform: scale(.994); }
  20% { opacity: .28; transform: scale(.998); }
  40% { opacity: .40; transform: scale(1.003); }
  60% { opacity: .47; transform: scale(1.006); }
  80% { opacity: .30; transform: scale(1.000); }
  100% { opacity: .18; transform: scale(.994); }
}
  50% { opacity: .90; transform: scale(1.012); }
}

body.lh-page-root .realm-hero p,
body.lh-page-root .terms-box,
body.lh-page-root .notice-scroll,
body.lh-page-root .intro-panel,
body.lh-page-root .lh-center-gray {
  color: #f5ead2 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.82);
}

/* 强制清除原按钮伪层，避免旧按钮盖住图片按钮 */
html body.lh-page-root .server-list a::before,
html body.lh-page-root .server-list a:before,
html body.lh-page-root .huifu a::before,
html body.lh-page-root .huifu a:before,
html body.lh-page-root .lh-modal-wrap a::before,
html body.lh-page-root .lh-modal-wrap a:before,
html body.lh-page-root .tcbox a::before,
html body.lh-page-root .tcbox a:before {
  display: none !important;
  content: none !important;
}

/* 通用按钮基底 */
html body.lh-page-root .server-list {
  text-align: center;
}

html body.lh-page-root a.lh-btn-area-v4,
html body.lh-page-root a.lh-btn-special-v4,
html body.lh-page-root .server-list a.lh-btn-area-v4,
html body.lh-page-root .server-list a.lh-btn-special-v4,
html body.lh-page-root .terms-box a,
html body.lh-page-root .notice-scroll a,
html body.lh-page-root .intro-panel a,
html body.lh-page-root .bookmark-note a,
html body.lh-page-root .huifu a,
html body.lh-page-root .lh-close-btn,
html body.lh-page-root .lh-modal-wrap a,
html body.lh-page-root .tcbox a,
html body.lh-page-root a[data-lh-action],
html body.lh-page-root #buttom {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: auto !important;
  max-width: 100%;
  min-height: 1.86em;
  min-width: 0 !important;
  margin: .11em .06em !important;
  padding: .10em .38em .16em !important;
  border: 0 !important;
  border-radius: 10px;
  box-sizing: border-box;
  color: #fff4c9 !important;
  -webkit-text-fill-color: #fff4c9 !important;
  font-size: clamp(13px, 2.65vw, 17px);
  font-weight: 800;
  letter-spacing: .012em;
  line-height: 1.04;
  text-decoration: none !important;
  white-space: nowrap;
  text-align: center;
  vertical-align: middle;
  background-color: transparent !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: 100% 100% !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.92), 0 0 8px rgba(255, 229, 150, .18);
  box-shadow: none !important;
  transition: transform .14s ease, filter .14s ease;
}

html body.lh-page-root .server-list a[data-areaid],
html body.lh-page-root .server-list a.lh-btn-area-v4,
html body.lh-page-root .server-list a.lh-btn-special-v4 {
  padding: .10em .34em .15em !important;
  margin: .10em .05em !important;
}

/* 区名按键：普通区名 */
html body.lh-page-root .server-list a.lh-btn-area-v4,
html body.lh-page-root .server-list a[data-areaid].lh-btn-area-v4,
html body.lh-page-root a.lh-btn-area-v4 {
  background-image: url("../images/qq-v4-button-text-gold.png") !important;
  background: url("../images/qq-v4-button-text-gold.png") center center / 100% 100% no-repeat !important;
}

/* 特别按键：新区、功能选项、弹出框 */
html body.lh-page-root a.lh-btn-special-v4,
html body.lh-page-root .server-list a.lh-btn-special-v4,
html body.lh-page-root .server-list a[data-areaid].lh-btn-special-v4,
html body.lh-page-root .terms-box a,
html body.lh-page-root .notice-scroll a:not([data-areaid]),
html body.lh-page-root .intro-panel a:not([data-areaid]),
html body.lh-page-root .bookmark-note a:not([data-areaid]),
html body.lh-page-root .huifu a,
html body.lh-page-root .lh-close-btn,
html body.lh-page-root .lh-modal-wrap a,
html body.lh-page-root .tcbox a,
html body.lh-page-root a[data-lh-action],
html body.lh-page-root #buttom {
  background-image: url("../images/qq-v4-button-text-sanguo.png") !important;
  background: url("../images/qq-v4-button-text-sanguo.png") center center / 100% 100% no-repeat !important;
}

html body.lh-page-root .huifu,
html body.lh-page-root .huifu span,
html body.lh-page-root .close,
html body.lh-page-root .close em {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body.lh-page-root .lh-close-btn,
html body.lh-page-root .close a,
html body.lh-page-root .close a.lh-close-btn {
  background: transparent !important;
  background-image: none !important;
  min-width: 0 !important;
  padding: 0 .1em !important;
  margin: 0 !important;
  color: #f8efc8 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,.8);
}

/* 验证码区域不套按钮背景图 */
html body.lh-page-root #codeimage,
html body.lh-page-root #codeimage a,
html body.lh-page-root #codeimage span {
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
}

html body.lh-page-root #codeimage a {
  display: inline-block !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  text-shadow: none !important;
}

html body.lh-page-root #codeimage img {
  display: block;
  background: transparent !important;
}

/* 确认 / 提交按键：使用独立背景图，并缩窄到贴合文字 */
html body.lh-page-root #tanchu1 .huifu a,
html body.lh-page-root #tanchu2 .huifu a,
html body.lh-page-root #tanchu_truename .huifu a,
html body.lh-page-root #tanchu1 #buttom,
html body.lh-page-root #tanchu2 #buttom,
html body.lh-page-root #tanchu_truename #buttom {
  background-image: url("../images/qq-v4-button-text-gold.png") !important;
  background: url("../images/qq-v4-button-text-gold.png") center center / 100% 100% no-repeat !important;
  width: auto !important;
  min-width: 7.2em !important;
  max-width: 12em !important;
  min-height: 2.18em !important;
  height: auto !important;
  padding: .24em 1.05em .30em !important;
  margin: 0 auto !important;
}

html body.lh-page-root a.lh-btn-area-v4:hover,
html body.lh-page-root a.lh-btn-area-v4:active,
html body.lh-page-root a.lh-btn-special-v4:hover,
html body.lh-page-root a.lh-btn-special-v4:active,
html body.lh-page-root a[data-lh-action]:hover,
html body.lh-page-root a[data-lh-action]:active {
  transform: translate3d(0, 1px, 0) scale(.985);
  filter: brightness(1.10) saturate(1.04);
}

@media (max-width: 480px) {
  body.lh-page-root .realm-shell { padding-left: 0; padding-right: 0; }
  body.lh-page-root .realm-scroll-area { padding: 12px 14px 16px; }
  html body.lh-page-root a.lh-btn-area-v4,
  html body.lh-page-root a.lh-btn-special-v4,
  html body.lh-page-root .terms-box a,
  html body.lh-page-root .notice-scroll a,
  html body.lh-page-root .intro-panel a,
  html body.lh-page-root .huifu a,
  html body.lh-page-root .lh-close-btn {
    min-width: 0 !important;
    padding-left: .34em !important;
    padding-right: .34em !important;
    margin: .10em .05em !important;
  }
}


/* 20260602_05: 修复 qq.jsp 背景层被 body 背景压住的问题，并保证首帧立即可见。 */
html body.lh-page-root { isolation:isolate !important; background:#050407 url("../images/qq-v4-bg-asura.jpg") center center / 100% 100% no-repeat fixed !important; }
html body.lh-page-root .lh-bg-slideshow-v4 { z-index:0 !important; display:block !important; opacity:1 !important; }
html body.lh-page-root .lh-bg-slide-v4 { display:block !important; }
html body.lh-page-root::before { z-index:1 !important; }
html body.lh-page-root .floating-stars { z-index:2 !important; }
html body.lh-page-root .fantasy-page,
html body.lh-page-root .realm-shell,
html body.lh-page-root .realm-card { position:relative !important; z-index:3 !important; }


/* 20260603_04: 确认弹窗提交按钮背景强制修正，覆盖旧 CSS 中的蓝色按钮 */
html body.lh-page-root #tanchu1 .tcbox2 .huifu a,
html body.lh-page-root #tanchu2 .tcbox2 .huifu a,
html body.lh-page-root #tanchu_truename .tcbox2 .huifu a,
html body.lh-page-root #tanchu1 #buttom,
html body.lh-page-root #tanchu2 #buttom,
html body.lh-page-root #tanchu_truename #buttom {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 5.8em !important;
  max-width: 9.2em !important;
  height: auto !important;
  min-height: 2.05em !important;
  padding: .16em .70em .22em !important;
  margin: 0 auto !important;
  border: 0 !important;
  border-radius: 10px !important;
  background-color: transparent !important;
  background-image: url("../images/qq-v4-button-text-gold.png") !important;
  background: url("../images/qq-v4-button-text-gold.png") center center / 100% 100% no-repeat !important;
  box-shadow: none !important;
  color: #fff6d1 !important;
  -webkit-text-fill-color: #fff6d1 !important;
  font-weight: 800 !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.9), 0 0 7px rgba(255, 226, 150, .28) !important;
}