@charset "utf-8";
/* 组件样式（沿用上一版） + 原版式补丁 */
.cg-location {
  font-size: 12px; color: #8c94a6; margin-bottom: 12px;
}
.cg-location a { color: #5d6472; }
.cg-location span { color: var(--cyan); }
.cg-panel {
  border: 1px solid var(--line); border-radius: 5px; overflow: hidden;
  box-shadow: 0 3px 14px rgba(27,47,92,.07);
}
.cg-panel > h2 {
  padding: 11px 18px; font-size: 16px; color: #fff; letter-spacing: 2px;
  background: linear-gradient(90deg, #3f6bb8 0%, #2c4478 70%, #1b2f5c 100%);
  border-bottom: 3px solid var(--gold);
}
.cg-panel-body { padding: 22px 26px 26px; background: #fff; }
.cg-note {
  margin-bottom: 18px; padding: 10px 14px; border-left: 3px solid var(--gold);
  background: #fbf7ee; color: #7a6a4c; font-size: 12px; line-height: 1.9;
}

.cg-form { width: 100%; max-width: 470px; margin: 0 auto; }
.cg-form .row { display: flex; align-items: center; margin-bottom: 16px; }
.cg-form .row > label {
  width: 130px; flex: 0 0 130px; text-align: right; padding-right: 14px;
  font-size: 13px; color: #46506a;
}
.cg-form .control { flex: 1; display: flex; align-items: center; gap: 10px; }
.cg-form input[type=text],
.cg-form input[type=password] {
  width: 100%; height: 36px; padding: 0 11px; box-sizing: border-box;
  border: 1px solid #cbd7e8; border-radius: 4px; background: #fbfdff;
  color: #2b3550; font-size: 13px; outline: none;
  transition: border-color .18s ease, box-shadow .18s ease;
}
.cg-form input:focus {
  border-color: #5b87d6; box-shadow: 0 0 0 3px rgba(91,135,214,.16); background: #fff;
}
.cg-form .captcha-img {
  width: 110px; height: 36px; border: 1px solid #cbd7e8; border-radius: 4px;
  cursor: pointer; flex: 0 0 110px; background: #fff;
}
.cg-form .captcha-tip { font-size: 11px; color: #98a1b3; }
.cg-form .actions { padding-left: 130px; }
.cg-btn, .cg-btn:link, .cg-btn:visited {
  display: inline-block; min-width: 138px; height: 40px; line-height: 40px;
  text-align: center; border: 0; border-radius: 4px; cursor: pointer;
  color: #fff; font-size: 14px; letter-spacing: 3px;
  background: linear-gradient(180deg, #6289d6 0%, #2c4478 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 3px 8px rgba(44,68,120,.24);
  transition: filter .18s ease, transform .18s ease;
}
.cg-btn:hover { color: #fff; filter: brightness(1.12); transform: translateY(-1px); }

/* 参考站 inner.css 的「交易放大镜」规则会把 pageContent 内的 submit 变成
   无背景纯文字，且优先级高于 .cg-btn。这里用更高特异性恢复自有功能页
   （注册 / 修改密码 / 找回密码）主按钮的渐变蓝底外观。 */
body.home2 .pageContent .cg-form .actions input[type="submit"].cg-btn,
body.home2 .pageContent .cg-form .actions button.cg-btn {
  display: inline-block; min-width: 138px; height: 40px; line-height: 40px;
  padding: 0 18px; border: 0; border-radius: 4px; box-sizing: border-box;
  background: linear-gradient(180deg, #6289d6 0%, #2c4478 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.32), 0 3px 8px rgba(44,68,120,.24);
  color: #fff; font-size: 14px; font-weight: 700; letter-spacing: 3px;
  text-align: center; text-decoration: none; text-shadow: none;
  filter: none; transform: none; cursor: pointer;
  transition: filter .18s ease, transform .18s ease;
}
body.home2 .pageContent .cg-form .actions input[type="submit"].cg-btn:hover,
body.home2 .pageContent .cg-form .actions button.cg-btn:hover {
  background: linear-gradient(180deg, #6289d6 0%, #2c4478 100%);
  color: #fff; text-decoration: none; filter: brightness(1.12); transform: translateY(-1px);
}
@media (max-width: 600px) {
  .cg-form .row > label { width: 92px; flex-basis: 92px; }
  .cg-form .actions { padding-left: 92px; }
}

.download-list { width: 100%; }
.download-list tr { border-bottom: 1px dashed #e4eaf4; }
.download-list tr:last-child { border-bottom: 0; }
.download-list td { padding: 14px 10px; font-size: 13px; color: #4c5872; }
.download-list td:first-child { width: 62%; }
.download-list a.dl-btn {
  display: inline-block; min-width: 150px; height: 38px; line-height: 38px;
  text-align: center; border-radius: 4px; color: #fff; font-size: 13px;
  background: linear-gradient(180deg, #6289d6, #2c4478);
}
.download-list a.dl-btn:hover { color: #fff; filter: brightness(1.12); }
.download-list code {
  display: inline-block; margin-left: 8px; padding: 1px 7px; border-radius: 3px;
  background: #fff2df; color: #a76a1c; font-family: inherit; font-size: 12px;
}

/* 结果页（PHP 提示） */
.cg-result { max-width: 560px; margin: 60px auto 80px; text-align: center; }
.cg-result .cg-panel-body { padding: 38px 32px 34px; }
.cg-result .mark {
  display: inline-flex; align-items: center; justify-content: center;
  width: 62px; height: 62px; border-radius: 50%; font-size: 30px; color: #fff;
  background: linear-gradient(160deg, #58b88a, #2e8b63); margin-bottom: 16px;
}
.cg-result.err .mark { background: linear-gradient(160deg, #e88b7d, #c0443a); }
.cg-result h2.msg { font-size: 19px; color: #2c4478; margin-bottom: 10px; }
.cg-result p.detail { font-size: 13px; color: #69738a; line-height: 2; margin-bottom: 24px; }
.cg-result .newpass {
  display: inline-block; margin: 6px 0 18px; padding: 10px 22px;
  border: 1px dashed #d0a24a; border-radius: 4px; background: #fffaf0;
  font-size: 22px; letter-spacing: 4px; color: #a76a1c; font-weight: 700;
}

/* ==========================================================================
   页脚
   ========================================================================== */
.cms-crumb { margin-bottom: 12px; font-size: 12px; color: #7a8497; }
.cms-crumb a { color: #5d6472; }
.cms-crumb a:hover { color: var(--cyan); }
.cms-crumb span { color: var(--cyan); }

.cms-panel > h2 span {
  float: right; font-size: 10px; letter-spacing: 1px; font-weight: 400;
  color: #cfe0ff; line-height: 22px;
}
.cms-panel .cg-panel-body { padding: 18px 22px 24px; }

.cms-groups {
  display: flex; gap: 6px; margin: 0 0 16px; padding: 0 0 12px;
  border-bottom: 1px solid #e4eaf4; list-style: none;
}
.cms-groups li { flex: 1; }
.cms-groups a, .cms-groups a:link, .cms-groups a:visited {
  display: block; height: 30px; line-height: 30px; text-align: center;
  border-radius: 3px; font-size: 12px; color: #4c5b78;
  background: #eef3fb; border: 1px solid #dce6f6;
}
.cms-groups a:hover { color: #fff; background: #4a6fc4; }
.cms-groups li.on a, .cms-groups li.on a:link {
  color: #fff; font-weight: 700;
  background: linear-gradient(180deg, #6289d6, #2c4478);
  border-color: #2c4478;
}

.cms-notice {
  margin-bottom: 16px; padding: 10px 14px; font-size: 12px; line-height: 1.8;
  color: #7a6a4c; background: #fbf7ee;
  border-left: 3px solid var(--gold); border-radius: 0 3px 3px 0;
}
.cms-notice code { padding: 1px 4px; background: #f0e7d3; border-radius: 2px; font-size: 11px; }

.cms-list { list-style: none; margin: 0; padding: 0; }
.cms-list li { padding: 11px 2px; border-bottom: 1px dashed #e4eaf4; }
.cms-list li:last-child { border-bottom: 0; }
.cms-row, .cms-row:link, .cms-row:visited {
  display: flex; align-items: center; gap: 8px; color: #2f3d59;
}
.cms-row:hover .cms-title { color: var(--cyan); }
.cms-row time {
  flex: 0 0 40px; text-align: center; font-size: 10px; color: #fff;
  background: #7e9bc9; border-radius: 2px; line-height: 17px;
}
.cms-row .tag {
  flex: 0 0 38px; text-align: center; font-size: 10px; line-height: 17px;
  border-radius: 2px; color: #b2621d; background: #fff2df;
}
.cms-row .tag.sys  { color: #2b6ca8; background: #e5f2ff; }
.cms-row .tag.act  { color: #b32c56; background: #ffe8ef; }
.cms-row .tag.news { color: #2b7a55; background: #e4f6ec; }
.cms-title {
  flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; font-size: 13px; font-weight: 600; color: #2f3d59;
}
.cms-excerpt {
  margin: 5px 0 0 92px; font-size: 11px; line-height: 1.6; color: #8a93a5;
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.cms-empty { padding: 24px 0; text-align: center; color: #8a93a5; font-size: 13px; }

.cms-pager {
  display: flex; align-items: center; justify-content: center; gap: 10px;
  margin-top: 18px; padding-top: 14px; border-top: 1px solid #e4eaf4;
}
.cms-pager .pg, .cms-pager .pg:link, .cms-pager .pg:visited {
  padding: 5px 12px; font-size: 12px; color: #fff; border-radius: 3px;
  background: linear-gradient(180deg, #6289d6, #2c4478);
}
.cms-pager .pg:hover { color: #fff; filter: brightness(1.12); }
.cms-pager .pg.off { color: #a8b2c4; background: #eef2f8; cursor: default; }
.cms-pager .pg-cur { font-size: 12px; color: #6b7690; }
.cms-back { margin-top: 20px; text-align: center; }

.cms-article h1 {
  margin: 0 0 10px; font-size: 19px; line-height: 1.5;
  color: #24365c; letter-spacing: 1px;
}
.cms-meta {
  display: flex; align-items: center; gap: 10px; padding-bottom: 12px;
  border-bottom: 1px solid #e4eaf4; font-size: 11px; color: #8a93a5;
}
.cms-meta .tag {
  padding: 1px 8px; border-radius: 2px; font-size: 10px;
  color: #b2621d; background: #fff2df;
}
.cms-meta .tag.sys  { color: #2b6ca8; background: #e5f2ff; }
.cms-meta .tag.act  { color: #b32c56; background: #ffe8ef; }
.cms-meta .tag.news { color: #2b7a55; background: #e4f6ec; }
.cms-content {
  padding: 16px 0 6px; font-size: 13px; line-height: 1.95; color: #414c62;
  overflow-wrap: break-word;
}
.cms-content p { margin: 0 0 12px; }
.cms-content h2, .cms-content h3 { margin: 16px 0 8px; color: #24365c; font-size: 15px; }
.cms-content img { max-width: 100%; height: auto; border-radius: 3px; }
.cms-content a { color: var(--link); text-decoration: underline; }
.cms-content ul, .cms-content ol { margin: 0 0 12px; padding-left: 22px; }
.cms-content blockquote {
  margin: 0 0 12px; padding: 8px 14px; border-left: 3px solid var(--gold);
  background: #fbf7ee; color: #7a6a4c;
}
.cms-content table { width: 100%; border-collapse: collapse; margin-bottom: 12px; }
.cms-content th, .cms-content td { border: 1px solid #dce6f6; padding: 6px 8px; }
.cms-source { margin-top: 6px; font-size: 12px; }
.cms-source a { color: var(--link); }
.cms-neighbor {
  display: flex; flex-direction: column; gap: 8px; margin-top: 18px;
  padding-top: 14px; border-top: 1px dashed #dce6f6;
}
.cms-neighbor a { font-size: 12px; color: #5d6472; }
.cms-neighbor a:hover { color: var(--cyan); }

.cg-news li.empty { color: #9aa4b6; font-size: 12px; text-align: center; }

/* ==========================================================================
   小尺寸适配
   ========================================================================== */
@media (max-width: 1000px) {
  body { min-width: 0; }
  #hd { height: 320px; }
  #hd .hd-logo { left: 12px; margin-left: 0; }
  #hd .hd-nav { width: 100%; left: 0; margin-left: 0; padding-top: 150px; }
  #hd .hd-col { flex: 1 1 0; min-width: 0; }
  #main { width: 100%; box-sizing: border-box; padding: 18px 14px; }
  .cg-columns { flex-wrap: wrap; gap: 16px; }
  .columnLeft, .columnCenter, .columnRight { width: 100%; flex: 1 1 100%; }
  .columnLeft { order: 2; }
  .columnCenter { order: 1; }
  .columnRight { order: 3; }
  .index_sideNav { grid-template-columns: repeat(4, 1fr); }
  .index_bannerMain, .index_bulletin { width: 100%; }
  .index_bulletin { float: none; margin-bottom: 18px; }
  .banner-slides img, .banner-slides .slide-cap { width: calc(100% - 90px); }
  #ft { height: auto; }
  #ft .ft-inner { width: 100%; padding: 24px 12px; box-sizing: border-box; }
}

/* ================= 原版式补丁（1:1 复刻） ================= */
:root {
  --blue:#2c4478; --blue-deep:#1b2f5c; --blue-light:#6aa6ee;
  --cyan:#088fb2; --link:#0a91c4; --gold:#e6b64a;
  --ink:#333; --ink-soft:#6b7280; --line:#dfe6f0; --panel:#f4f8fd;
}
html { -webkit-font-smoothing: antialiased; }
body.home2, body.home2 td, body.home2 th {
  font-family: "Microsoft YaHei", "PingFang SC", "Noto Sans SC", Arial, sans-serif;
}
#hd .hd-title { font-family: "Noto Serif TC", "Source Han Serif TC", "STSong", "SimSun", serif; }
#hd .hd-title span { font-family: "Microsoft YaHei", Arial, sans-serif; }

#ft .ft-icon { z-index: 4; }

/* 首页大轮播：淡入淡出 */
.index_bannerMain ul.showbox li { opacity: 0; transition: opacity .45s ease; }
.index_bannerMain ul.showbox li.selected { opacity: 1; z-index: 2; }
.index_bannerMain ul.link li a { cursor: pointer; font-size: 12px; }
.index_bannerSide ul.showbox li { opacity: 0; transition: opacity .45s ease; }
.index_bannerSide ul.showbox li.selected { opacity: 1; }
.index_bannerSide.no-dots ul.showbox li.selected { opacity: 1; }

/* 公告页签面板显示控制 */
.contentBulletin > ul[category]:not([category="more"]) { display: none; }
.contentBulletin > ul.active { display: block; }
.contentBulletin li a { display: inline; }
.contentBulletin li.feedWait { background: none; }
.tabBulletin a { cursor: pointer; }

/* 首页「玩家交流」栏目已移除：公告区与上方轮播同宽、左右对齐 */
body.home2 .index_bulletin { float: none; width: 100%; }
body.home2 .tabBulletin,
body.home2 .contentBulletin { width: 100%; box-sizing: border-box; }
body.home2 .tabBulletin li { width: 25%; }
body.home2 .tabBulletin a { width: 100%; }
body.home2 .tabBulletin .tab.active { background-size: 100% 100%; }

/* 4 个公告页签：格与灰条等高，选中块不再因 70x25 图片拉伸而上下错位 */
body.home2 .tabBulletin {
  height: 36px;
  padding-top: 0;
  box-sizing: border-box;
}
body.home2 .tabBulletin li { width: 25%; height: 36px; }
body.home2 .tabBulletin a {
  width: 100%;
  height: 36px;
  line-height: 36px;
  box-sizing: border-box;
}
body.home2 .tabBulletin .tab.active {
  background: #fbfcfd;
  background-image: none;
  border: 1px solid #c9ced3;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  box-sizing: border-box;
  color: #088fb2;
  cursor: pointer;
}

/* 列表行延伸至与页签栏相同的右边缘，宽度对齐可见 */
body.home2 .contentBulletin > ul[category]:not([category="more"]) li {
  border-bottom: 1px solid #eef1f6;
  box-sizing: border-box;
}
body.home2 .contentBulletin li.more { text-align: right; }

/* 内页：内容容器与面包屑 */
.pageContent .cg-location { margin: 0 0 16px; }
.pageContent .cg-panel { margin-bottom: 8px; }
.pageContent .cg-panel-body { padding: 20px 22px 26px; }
.pageContent .cg-form { max-width: 500px; }
.pageContent .download-list { width: 100%; }
.pageContent .cg-result { max-width: 100%; margin: 8px auto 20px; }
.cg-result .cg-panel-body { padding: 32px 26px 30px; }

/* 内页左栏 / 右栏 */
.columnLeft.page .page_sideNav li a { font-family: "Microsoft YaHei", Arial, sans-serif; }
.columnLeft.page .index_bannerSide { margin-top: 14px; }

/* 暂未开放提示 */
#siteToast {
  position: fixed; left: 50%; top: 22px; transform: translateX(-50%);
  z-index: 9999; padding: 10px 20px; border-radius: 6px;
  background: rgba(44, 68, 120, .96); color: #fff; font-size: 13px;
  box-shadow: 0 4px 16px rgba(20, 40, 80, .3); opacity: 0;
  transition: opacity .25s; pointer-events: none;
}
#siteToast.on { opacity: 1; }

/* ==========================================================================
   后台自定义菜单：图片按钮的文字覆盖层
   只有给 home_side 分配了菜单才加 .xy-custom；默认模式完全使用原版按钮图，
   不产生任何视觉变化。覆盖层保留原图圆形图标，仅替换下半部文字。
   ========================================================================== */
.index_sideNav.xy-custom li a { position: relative; }
.index_sideNav.xy-custom li a .xy-label {
  position: absolute; left: 0; top: 52px; width: 87px; height: 48px;
  display: block; box-sizing: border-box; overflow: hidden;
  text-indent: 0; text-align: center; background: #fff;
  color: #3a628c; font-family: "Microsoft YaHei", Arial, sans-serif;
  font-size: 13px; font-weight: 600; line-height: 24px;
}
.index_sideNav.xy-custom li a .xy-label::before {
  content: ""; position: absolute; left: 6px; right: 6px; top: 24px;
  border-top: 1px solid #dce9f3;
}
.index_sideNav.xy-custom li a .xy-label small {
  display: block; font-size: 9px; font-weight: 400; line-height: 22px;
  color: #8aa8c2; letter-spacing: .3px;
}
.index_sideNav.xy-custom li a:hover .xy-label { color: #1b4b86; }

/* 维护时间：原版文字印在背景图上。后台改过文案时切换为纯文字排版，
   避免新旧文字叠在一起；未改文案时不启用，保持 1:1。 */
.index_maintain.xy-custom {
  height: auto; min-height: 150px; box-sizing: border-box;
  background: #f6fafd; border: 1px solid #dce9f3;
}
.index_maintain.xy-custom h1 {
  display: block; margin: 0; padding: 10px 10px 8px;
  background: none; color: #2b4f86; font-size: 15px; line-height: 20px;
  border-bottom: 1px solid #dce9f3;
}
.index_maintain.xy-custom ul { padding: 8px 10px 12px; }
.index_maintain.xy-custom li {
  display: block; list-style: none; color: #4a6486;
  font-size: 12px; line-height: 22px;
}
.index_maintain.xy-custom li.charge {
  position: static; margin-top: 6px; padding-top: 6px;
  color: #8a97a8; border-top: 1px dashed #dce9f3;
}

/* ==========================================================================
   蓝色渐变按钮：文字统一为白色
   inner.css 的 body.home2 .pageContent a { color:#0099cc } 特异性高于
   .cg-btn / .dl-btn，会把按钮文字染成青蓝（hover 变深蓝 #0b57b3），
   在渐变蓝底上难以辨认，且 hover 会多出下划线。这里覆盖这两类按钮的
   全部状态，保证全站（公告正文、下载页、客服中心、注册/改密/找回、
   404、表单结果页）一致。
   ========================================================================== */
a.cg-btn, a.cg-btn:link, a.cg-btn:visited, a.cg-btn:hover, a.cg-btn:active,
a.dl-btn, a.dl-btn:link, a.dl-btn:visited, a.dl-btn:hover, a.dl-btn:active,
input.cg-btn, input.cg-btn:hover, input.cg-btn:focus,
button.cg-btn, button.cg-btn:hover, button.cg-btn:focus {
  color: #fff !important;
}
a.cg-btn:hover, a.cg-btn:active, a.dl-btn:hover, a.dl-btn:active {
  text-decoration: none !important;
}
