/* 《炸翻天斗地主》官网（boomddz.com）。配色和字跟游戏里一套（深青底、米黄纸、描金边、楷体）。
   首页 2026-10-08 重排：整屏主视觉，往下一幕一幕（朱印编号的大标题），字少图大；文字页（公告、规则、协议、三十六计、斗地主规则）仍是米黄纸。 */
:root {
  --bg: #0f2c33; --deep: #0b2228; --night: #071a1f; --gold: #d9b56a; --gold2: #f6e2a6; --paper: #f0e3c2; --ink: #f0e3c2; --dim: #a9b8ae;
  --mo: #2a2118; --mo2: #6b5b45; --red: #b9392c; --hd: 54px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: var(--hd); }
html, body { margin: 0; background: var(--night); color: var(--ink); font: 400 17px/1.7 "Times New Roman", Times, "KaiTi", "STKaiti", "楷体", "Kaiti SC", "Noto Serif SC", serif; font-variant-numeric: lining-nums; -webkit-tap-highlight-color: transparent; }
/* 花纹压暗：游戏里它只垫在窄窄一条面板底下，官网整屏铺开时原样太亮，字压不住 */
body { background: linear-gradient(#071a1fe6, #071a1fe6), var(--bg) url(/zhafantian/img/pattern.webp) 50% 0/480px auto; }
[hidden] { display: none !important; }
a { color: var(--gold2); }
img { max-width: 100%; display: block; }
h1, h2, h3, h4 { font-weight: 700; margin: 0; line-height: 1.3; }
p { margin: 0; }
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 20px; }

/* 顶栏 */
.hd { position: sticky; top: 0; z-index: 9; background: #071a1fe8; -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid #d9b56a66; }
.hd .wrap { display: flex; align-items: center; gap: 18px; min-height: var(--hd); }
/* 左上角：立体美术字的 logo，比顶栏高一截，往下探出去 */
.hd .logo { position: relative; flex: none; width: 102px; height: var(--hd); }
.hd .logo img { position: absolute; left: 0; top: 2px; width: 102px; height: auto; filter: drop-shadow(0 3px 6px #000a); transition: transform .15s; }
.hd .logo:hover img { transform: scale(1.05); }
.hd nav { flex: 1; display: flex; align-items: center; gap: 22px; justify-content: flex-end; }
.hd nav a { color: var(--dim); text-decoration: none; white-space: nowrap; letter-spacing: 1px; }
.hd nav a:hover { color: var(--gold2); }
/* 栏目名：加粗、米白（原先是细的灰绿字，压在深底上发虚）；鼠标移上去变金、底下出一道金线 */
.hd nav a:not(.go):not(.login) { position: relative; padding: 4px 0; color: var(--paper); font-weight: 700; font-size: 18px; letter-spacing: 3px; text-shadow: 0 1px 0 #000a; }
.hd nav a:not(.go):not(.login)::after { content: ""; position: absolute; left: 0; right: 3px; bottom: 0; height: 2px; background: var(--gold); transform: scaleX(0); transition: transform .18s; }
.hd nav a:not(.go):not(.login):hover { color: var(--gold2); }
.hd nav a:not(.go):not(.login):hover::after { transform: scaleX(1); }
.hd nav a.login { color: var(--gold2); padding: 2px 14px; border: 1px solid #d9b56a99; border-radius: 6px; }
.hd nav a.login:hover { background: #d9b56a22; }
.hd nav a.login.me { font: 400 15px/1.6 system-ui, sans-serif; letter-spacing: 0; }
/* 顶栏的「开始游戏」：红底金字、一闪一闪 */
.hd nav a.go { color: #fff3c4; background: linear-gradient(#d8483a, #a52a1e); border-color: var(--gold2); text-shadow: 0 1px 0 #0008; animation: goblink 1.1s ease-in-out infinite; }
.hd nav a.go:hover { color: #fff; background: linear-gradient(#e85a4b, #b63427); }
@keyframes goblink {
  0%, 100% { transform: scale(1); box-shadow: 0 2px 0 #0006, 0 0 0 0 #ffd45a00; filter: brightness(1); }
  50% { transform: scale(1.06); box-shadow: 0 2px 0 #0006, 0 0 14px 3px #ffd45acc; filter: brightness(1.2); }
}

/* 按钮：和游戏里一个样 */
.go { display: inline-block; font: inherit; font-weight: 700; color: var(--mo); background: linear-gradient(#fff6dc, #ead9ae); border: 2px solid var(--gold); border-radius: 8px; padding: 10px 34px; font-size: 20px; letter-spacing: 4px; text-decoration: none; box-shadow: 0 3px 0 #0006, 0 0 0 1px #2a211866 inset; cursor: pointer; white-space: nowrap; }
.go:hover { background: linear-gradient(#fffbe9, #f3e4bd); }
.go:active { transform: translateY(1px); }
.go.sm { padding: 5px 16px; font-size: 16px; letter-spacing: 2px; box-shadow: 0 2px 0 #0006; }
/* 首屏和结尾的大键：红底金字 */
.go.xl { padding: 14px 56px; font-size: 26px; letter-spacing: 8px; color: #fff3c4; background: linear-gradient(#dc4c3d, #9d2519); border-color: var(--gold2); text-shadow: 0 2px 0 #0008; box-shadow: 0 4px 0 #0008, 0 0 28px #ffb84a66; }
.go.xl:hover { color: #fff; background: linear-gradient(#ea5d4e, #b02c1f); }
/* 手机上底部常驻的「开始游戏」（电脑上顶栏一直有，不出这一条） */
.go.bar { display: none; }
body.cta-on .go.bar, body[data-pg="kefu"] .go.bar, body[data-pg="shangwu"] .go.bar, html.popon .go.bar { display: none !important; }

/* 置顶的通知 */
.pin { background: var(--red); color: #fff; }
.pin .wrap { padding-top: 10px; padding-bottom: 10px; text-align: center; }
.pin a { color: #fff; font-size: 18px; font-weight: 700; letter-spacing: 1px; text-decoration: none; }
.pin a:hover { text-decoration: underline; }

/* ── 首屏：主视觉铺满，字在左边 ── */
.hero { position: relative; height: calc(100svh - var(--hd) - 70px); min-height: 480px; max-height: 860px; overflow: hidden; background: var(--night); }
.hero .key { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 40%; }
.hero::before { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #071a1ff2 0%, #071a1fb8 28%, #071a1f00 58%), linear-gradient(0deg, #071a1f 0%, #071a1f00 22%); }
.hero .wrap { position: relative; z-index: 2; height: 100%; display: flex; align-items: center; }
.herotxt { max-width: 470px; }
.hero h1 img { width: min(100%, 400px); height: auto; margin-left: -10px; filter: drop-shadow(0 6px 18px #000a); }
.hero .sub { margin-top: 2px; font-size: 34px; font-weight: 700; letter-spacing: 8px; color: var(--gold2); text-shadow: 0 2px 0 #000a, 0 0 22px #000; }
.hero .say { margin-top: 12px; font-size: 20px; line-height: 1.75; text-shadow: 0 1px 0 #000, 0 0 14px #000; }
.hero .acts { margin-top: 22px; display: flex; align-items: center; gap: 18px; }
.hero .acts span { color: var(--paper); font-size: 17px; line-height: 1.55; text-shadow: 0 1px 0 #000, 0 0 10px #000; }
.hero .down { position: absolute; z-index: 2; left: 50%; bottom: 12px; width: 26px; height: 26px; margin-left: -13px; border-right: 2px solid var(--gold2); border-bottom: 2px solid var(--gold2); transform: rotate(45deg); opacity: .8; animation: down 1.6s ease-in-out infinite; }
@keyframes down { 50% { transform: translateY(6px) rotate(45deg); opacity: .4; } }

/* ── 一幕一幕 ── */
section { padding: 44px 0 50px; }
section.hero { padding: 0; }
.band { background: #0b2228cc; border-top: 1px solid #d9b56a44; border-bottom: 1px solid #d9b56a44; }
h2.act { display: flex; align-items: center; justify-content: center; gap: 14px; font-size: 38px; letter-spacing: 10px; color: var(--gold2); text-shadow: 0 2px 0 #0008; }
h2.act span { margin-right: -10px; }
h2.act::before, h2.act::after { content: ""; flex: 1; max-width: 220px; height: 1px; background: linear-gradient(90deg, transparent, var(--gold)); }
h2.act::after { background: linear-gradient(270deg, transparent, var(--gold)); }
/* 朱印 */
.seal { flex: none; display: inline-grid; place-items: center; width: 1.25em; height: 1.25em; font-style: normal; font-size: .62em; letter-spacing: 0; line-height: 1; color: #fbe9d0; background: var(--red); border-radius: 5px; box-shadow: 0 0 0 1px #fbe9d066 inset, 0 2px 0 #0006; text-shadow: none; }
.lead { margin: 10px auto 0; width: fit-content; max-width: 100%; text-align: left; color: var(--dim); font-size: 18px; }
h2.act + *, .lead + * { margin-top: 26px; }
.more { margin-top: 14px; }
.more a { text-decoration: none; border-bottom: 1px solid #f6e2a688; }
.frame { margin: 0; border: 2px solid var(--gold); outline: 1px solid #2a2118; outline-offset: -6px; border-radius: 8px; overflow: hidden; box-shadow: 0 10px 34px #000b; background: var(--night); }
.frame img, .frame video { display: block; width: 100%; height: auto; }

/* 故事 */
.st2 { display: grid; grid-template-columns: 1fr 1.25fr; gap: 40px; align-items: center; }
.sttxt p { font-size: 20px; line-height: 1.9; }
.sttxt p + p { margin-top: 14px; }
.sttxt p.more { font-size: 17px; }

/* 三十六计：六套六行 */
.jgrid { display: grid; gap: 10px; }
.jrow { display: grid; grid-template-columns: 92px repeat(6, 1fr); gap: 10px; align-items: stretch; }
.jrow b { display: grid; place-items: center; font-size: 19px; letter-spacing: 3px; color: var(--gold2); border-right: 1px solid #d9b56a66; }
.jrow a { position: relative; display: block; padding: 13px 6px 12px; text-align: center; font-size: 21px; font-weight: 700; letter-spacing: 2px; color: var(--mo); text-decoration: none; white-space: nowrap; background: linear-gradient(#f6ebcd, #e6d6ac); border: 1px solid var(--gold); border-radius: 6px; box-shadow: 0 2px 0 #0007; transition: transform .15s, box-shadow .15s; }
.jrow a i { position: absolute; left: 5px; top: 3px; font-style: normal; font-weight: 400; font-size: 12px; letter-spacing: 0; color: var(--mo2); }
.jrow a:hover { transform: translateY(-3px); box-shadow: 0 6px 14px #000a, 0 0 0 1px var(--gold2); }
.jrow a.L { background: linear-gradient(#fbe6b0, #e7b85c); border-color: #fff0b8; }
.jrow a.E { background: linear-gradient(#efe3f2, #d3bfdf); }
.mini { margin-top: 34px; text-align: center; font-size: 22px; letter-spacing: 6px; color: var(--gold); }
.mini + * { margin-top: 16px; }
.jis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.jic { overflow: hidden; border: 1px solid #d9b56a88; border-radius: 8px; background: #0b2228; }
.jic.jmore { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; padding: 16px; text-align: center; text-decoration: none; background: #0b2228 radial-gradient(ellipse at 50% 40%, #d9b56a22, #0b222800 70%); }
.jic.jmore b { font-size: 26px; letter-spacing: 6px; color: var(--gold2); }
.jic.jmore span { font-size: 15px; color: var(--dim); }
.jic.jmore i { font-style: normal; color: var(--gold2); border-bottom: 1px solid #f6e2a688; }
.jic.jmore:hover { border-color: var(--gold2); }
.jic video { display: block; width: 100%; height: auto; aspect-ratio: 16/9; background: var(--night); }
.jic div { padding: 9px 12px 12px; }
.jic h4 { font-size: 19px; letter-spacing: 2px; display: flex; align-items: baseline; gap: 8px; }
.jic h4 a { text-decoration: none; }
.jic h4 i, .rar { font-style: normal; font-size: 13px; letter-spacing: 0; padding: 0 8px; border-radius: 4px; background: #6b5b45; color: #fff; font-weight: 400; }
i.L, .rar.L { background: var(--red); }
i.E, .rar.E { background: #7a4a9a; }
i.R, .rar.R { background: #2d6a8a; }
.jic p { margin-top: 3px; font-size: 15px; line-height: 1.55; color: var(--dim); }

/* 伙伴：大立绘，点小头像换人 */
.pshow { max-width: 900px; margin-left: auto; margin-right: auto; }
.pstack { display: grid; }
.pstack .pbig { grid-area: 1 / 1; visibility: hidden; opacity: 0; transition: opacity .5s, visibility 0s .5s; }
.pstack .pbig.on { visibility: visible; opacity: 1; transition: opacity .5s; }
section.peek { padding: 30px 0 34px; }
.peek .lead { margin-top: 16px; }
.end .endsub { margin: 16px auto 0; font-size: 16px; font-weight: 400; letter-spacing: 2px; color: var(--paper); text-shadow: 0 1px 0 #000; }
.pbig { display: grid; grid-template-columns: 290px 1fr; gap: 40px; align-items: center; }
.pbig img, .pbig video { width: 100%; height: auto; aspect-ratio: 3/4; object-fit: cover; object-position: 50% 0; border: 2px solid var(--gold); outline: 1px solid #2a2118; outline-offset: -6px; border-radius: 8px; box-shadow: 0 10px 34px #000b; }
.pbig .rar { display: inline-block; font-size: 14px; }
.pbig h3 { margin-top: 6px; font-size: 44px; letter-spacing: 6px; color: var(--gold2); }
.pbig .hall { color: var(--dim); }
.pbig .bio { margin-top: 10px; max-width: 30em; font-size: 18px; line-height: 1.75; }
.pbig .jn { margin-top: 16px; font-size: 26px; font-weight: 700; letter-spacing: 4px; }
.pbig .jn a { text-decoration: none; border-bottom: 1px solid #f6e2a688; }
.pbig .jd { margin-top: 4px; font-size: 19px; }
.pbig .go { margin-top: 22px; }
.pth { margin-top: 20px; display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; }
.pth button { padding: 0; width: 62px; height: 62px; border: 2px solid #d9b56a66; border-radius: 50%; overflow: hidden; background: var(--deep); cursor: pointer; opacity: .6; transition: opacity .15s, transform .15s; }
.pth button img { width: 100%; height: 100%; object-fit: cover; }
.pth button:hover { opacity: 1; }
.pth button.on { opacity: 1; border-color: var(--gold2); transform: scale(1.12); box-shadow: 0 0 14px #ffd45a88; }

/* 玩法：图铺满，字压在图脚 */
.frame.wide { max-width: 900px; margin-left: auto; margin-right: auto; }
.feats { margin-top: 22px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.feat { position: relative; overflow: hidden; border: 1px solid #d9b56a88; border-radius: 8px; aspect-ratio: 16/10; background: var(--deep); }
.feat img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; transition: transform .4s; }
.feat:hover img { transform: scale(1.05); }
.feat div { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 16px 12px; background: linear-gradient(0deg, #071a1ff5 45%, #071a1f00); }
.feat h3 { font-size: 23px; letter-spacing: 4px; color: var(--gold2); }
.feat p { margin-top: 2px; font-size: 15px; line-height: 1.55; }

/* 问答和公告并排 */
.two { display: grid; grid-template-columns: 1.15fr 1fr; gap: 44px; align-items: start; }
.two h2.act { font-size: 28px; letter-spacing: 6px; justify-content: flex-start; }
.two h2.act span { margin-right: 0; }
.two h2.act::before { display: none; }
.two h2.act::after { max-width: none; }
.two h2.act + * { margin-top: 14px; }
.faq details { border-bottom: 1px solid #d9b56a44; }
.faq summary { padding: 11px 0; font-weight: 700; font-size: 19px; cursor: pointer; }
.faq details p { padding: 0 0 14px; color: var(--dim); }
.news { list-style: none; margin: 0; padding: 0; }
.news li { display: flex; gap: 12px; align-items: baseline; padding: 10px 0; border-bottom: 1px solid #d9b56a44; }
.news time { color: var(--dim); white-space: nowrap; font-size: 15px; }
.news .tag { flex: none; font-size: 13px; padding: 0 8px; border: 1px solid var(--gold); color: var(--gold2); border-radius: 4px; white-space: nowrap; }
.news a { flex: 1; min-width: 0; text-decoration: none; font-weight: 700; color: var(--ink); }
.news a:hover { text-decoration: underline; }

/* 收尾 */
.end { position: relative; overflow: hidden; padding: 90px 0; text-align: center; background: var(--night); }
.end .key { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 45%; }
.end::before { content: ""; position: absolute; inset: 0; z-index: 1; background: radial-gradient(ellipse at 50% 50%, #071a1f99 0%, #071a1fe0 75%); }
.end .wrap { position: relative; z-index: 2; }
.end p { margin: 0 auto 22px; width: fit-content; max-width: 100%; text-align: left; font-size: 30px; font-weight: 700; letter-spacing: 5px; color: var(--gold2); text-shadow: 0 2px 0 #000, 0 0 18px #000; }

/* 页脚 */
.ft { background: var(--night); border-top: 1px solid #d9b56a66; padding: 26px 0 30px; color: var(--dim); font-size: 15px; }
.ft a { color: var(--dim); text-decoration: none; }
.ft a:hover { color: var(--gold2); }
/* 页尾整个居中（2026-10-08 站长定） */
.ft { text-align: center; }
.ftop { display: grid; gap: 22px; justify-items: center; }
.fbrand { display: grid; justify-items: center; }
.fbrand img { width: 150px; height: auto; }
.fbrand p { margin: 2px 0 10px; color: var(--gold2); letter-spacing: 3px; margin-right: -3px; }
.fbrand .go { color: var(--mo); }
.ft .cols { display: grid; grid-template-columns: repeat(5, auto); gap: 18px 64px; justify-content: center; }
.ft .cols p { display: grid; gap: 5px; align-content: start; justify-items: center; }
.ft .cols b { color: var(--gold2); letter-spacing: 2px; white-space: nowrap; margin-bottom: 2px; }
.fmid { margin-top: 24px; padding-top: 18px; border-top: 1px solid #d9b56a33; display: flex; gap: 18px; align-items: center; justify-content: center; font-size: 14px; }
.fmid div { text-align: left; }
.fmid p + p { margin-top: 3px; }
.adv span { margin-right: 10px; white-space: nowrap; display: inline-block; }
/* 适龄提示的牌子（自己画的，不是哪家的认证标） */
.ft a.age { flex: none; display: grid; place-items: center; align-content: center; width: 62px; height: 72px; border: 2px solid var(--gold); border-radius: 8px; background: #d9b56a1a; color: var(--gold2); }
.age b { font: 700 24px/1 "Times New Roman", serif; }
.age i { margin-top: 5px; font-style: normal; font-size: 12px; letter-spacing: 1px; }
.fbot { margin-top: 16px; font-size: 13px; color: #7f8f87; }
.fbot span { margin-left: 14px; }

/* 首页：首屏还在眼前时顶栏不出小 logo（下面就是大的） */
body[data-pg="home"] .hd .logo { opacity: 0; pointer-events: none; transition: opacity .25s; }
body[data-pg="home"].past .hd .logo { opacity: 1; pointer-events: auto; }
/* 首屏会动的那一版：盖在静图上，播起来了才淡入 */
.hero video.key { opacity: 0; transition: opacity .8s; }
.hero video.key.on { opacity: 1; }
/* 三十六计的小弹层 */
.jpop { text-align: left; padding: 24px 28px 26px; }
.jpop .jno { color: var(--mo2); font-size: 15px; }
.jpop h2 { margin-top: 2px; font-size: 34px; letter-spacing: 6px; }
.jpop .jbai { margin-top: 10px; font-size: 19px; }
.jpop .jlab { margin-top: 16px; font-size: 14px; color: var(--mo2); letter-spacing: 2px; }
.jpop .jeff { font-size: 19px; font-weight: 700; color: #8a3a12; }
.jpop .jact { margin-top: 20px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.jpop .jact .go { color: #fff3c4; background: linear-gradient(#d8483a, #a52a1e); border-color: #8a3a12; text-shadow: 0 1px 0 #0008; padding: 8px 28px; }
/* 斗地主规则：牌型配图（用样式画的牌） */
.pts { margin-top: 12px; display: grid; gap: 0; }
.pt { display: grid; grid-template-columns: 1fr auto; gap: 8px 18px; align-items: center; padding: 12px 0; border-bottom: 1px dashed #2a211844; }
.pt h3 { margin: 0; font-size: 19px; }
.pt p { margin: 2px 0 0; }
.cds { display: flex; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
.cd { position: relative; display: inline-grid; align-content: start; justify-items: start; width: 40px; height: 56px; margin-left: -14px; padding: 3px 0 0 5px; background: #fffdf6; border: 1px solid #2a211888; border-radius: 5px; box-shadow: 1px 1px 3px #0005; font: 700 17px/1 "Times New Roman", serif; }
.cd:first-child, .plus + .cd { margin-left: 0; }
.cd i { font-style: normal; font-size: 15px; margin-top: 1px; }
.cd.r { color: #c22b20; }
.cd.k { color: #1d1a17; }
.cd.jk { font: 700 14px/1.15 "KaiTi", "STKaiti", serif; padding-top: 5px; }
.plus { margin: 0 8px; font-style: normal; font-size: 14px; color: var(--mo2); }
/* 没有这一页 */
.nf { padding: 70px 16px 90px; text-align: center; }
.nfn { font-size: 22px; letter-spacing: 10px; color: var(--gold); }
.nf h1 { margin-top: 6px; font-size: 40px; letter-spacing: 6px; color: var(--gold2); }
.nf p { margin-top: 10px; color: var(--dim); }
.nfa { margin-top: 26px !important; display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 12px 22px; }
.nfa .go { color: #fff3c4; background: linear-gradient(#d8483a, #a52a1e); border-color: var(--gold2); text-shadow: 0 1px 0 #0008; }

/* 伙伴图鉴 */
.more.ctr { text-align: center; margin-top: 18px; }
.gal .lead { max-width: 820px; }
.gal .toc { margin-top: 16px; display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 10px; }
.gal .toc a { padding: 2px 14px; border: 1px solid #d9b56a99; border-radius: 5px; text-decoration: none; }
.gal section { padding: 30px 0 6px; }
.gal h2.act { font-size: 28px; letter-spacing: 8px; }
.gcs { display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.gc { overflow: hidden; border: 1px solid #d9b56a88; border-radius: 8px; background: #0b2228; display: flex; flex-direction: column; }
.gimg { aspect-ratio: 3/4; overflow: hidden; background: var(--paper); display: grid; place-items: center; }
.gimg img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 0; transition: transform .4s; }
.gc:hover .gimg img { transform: scale(1.05); }
.gc.hid .gimg { background: #0b2228 url(/zhafantian/img/pattern.webp) 50%/240px; }
.gc.hid .gimg b { font-size: 72px; color: var(--gold); }
.gc > div:last-child { padding: 9px 12px 12px; }
.gc h3 { font-size: 19px; letter-spacing: 1px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; color: var(--gold2); }
.gc h3 i { font-style: normal; font-size: 12px; letter-spacing: 0; padding: 0 7px; border-radius: 4px; background: #6b5b45; color: #fff; font-weight: 400; }
.gc .gh { color: var(--dim); font-size: 14px; }
.gc .gb { margin-top: 5px; }
.gc .gj { margin-top: 6px; font-weight: 700; font-size: 17px; letter-spacing: 2px; }
.gc .gj a { text-decoration: none; border-bottom: 1px solid #f6e2a688; }
.gc p { font-size: 14px; line-height: 1.55; }
.gend { margin: 34px 0 46px; text-align: center; }
.gend p { margin-bottom: 14px; font-size: 22px; font-weight: 700; letter-spacing: 3px; color: var(--gold2); }
.gend .go { color: #fff3c4; background: linear-gradient(#d8483a, #a52a1e); border-color: var(--gold2); text-shadow: 0 1px 0 #0008; }
.jtable.noimg { grid-template-columns: 1fr; }

/* 联系客服、商务合作：独立页上表单摆正中；别的页上点了就地弹出来（.pop） */
.pgt { margin: 30px 0 4px; text-align: center; font-size: 34px; letter-spacing: 8px; color: var(--gold2); }
.contact .cbox { max-width: 600px; margin: 30px auto 0; }
html.popon { overflow: hidden; }
.pop { position: fixed; inset: 0; z-index: 30; display: grid; place-items: center; padding: 16px; background: #030d10cc; overflow-y: auto; animation: popin .16s ease-out; }
.pop .cbox { position: relative; width: min(100%, 560px); margin: auto; box-shadow: 0 18px 60px #000d; }
.popx { position: absolute; right: 8px; top: 6px; width: 38px; height: 38px; border: 0; background: none; font: 400 30px/1 serif; color: var(--mo2); cursor: pointer; }
.popx:hover { color: var(--red); }
@keyframes popin { from { opacity: 0; transform: scale(.97); } }
.cbox { padding: 22px 26px 24px; }
.cbox h2 { font-size: 24px; letter-spacing: 3px; }
.cnote { margin-top: 4px; color: var(--mo2); font-size: 15px; }
.cform { margin-top: 12px; display: grid; gap: 12px; }
.cform label { display: grid; gap: 4px; font-weight: 700; font-size: 16px; }
.cform input, .cform select, .cform textarea { width: 100%; font: 400 16px/1.5 system-ui, "Microsoft YaHei", sans-serif; color: var(--mo); background: #fffaf0; border: 1px solid #a8926a; border-radius: 6px; padding: 8px 10px; }
.cform textarea { resize: vertical; min-height: 110px; }
.cform input:focus, .cform select:focus, .cform textarea:focus { outline: 2px solid #b9392c88; border-color: #b9392c; }
.cform .f2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.cform .trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.fend { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.fend .go { color: #fff3c4; background: linear-gradient(#d8483a, #a52a1e); border-color: #8a3a12; text-shadow: 0 1px 0 #0008; padding: 8px 36px; }
.fend .go:disabled { opacity: .55; cursor: default; }
.ftip { flex: 1; min-width: 180px; font-size: 15px; }
.ftip.ok { color: #2f6b34; font-weight: 700; }
.ftip.bad { color: #a52a1e; font-weight: 700; }
.cmail { margin: 18px auto 46px; width: fit-content; max-width: 100%; color: var(--dim); font-size: 15px; }

/* ── 文字页：公告正文、规则、协议、三十六计、斗地主规则（米黄纸） ── */
.paper { --ink: #2a2118; --dim: #6b5b45; background: var(--paper); color: var(--mo); border: 2px solid var(--gold); outline: 1px solid #2a211866; outline-offset: -5px; border-radius: 8px; box-shadow: 0 3px 8px #0007; }
.paper a { color: #8a3a12; }
.doc { max-width: 860px; margin: 30px auto 50px; padding: 26px 32px 34px; }
.doc h1 { font-size: 32px; letter-spacing: 2px; }
.doc .crumb { margin: 0 0 8px; font-size: 14px; color: var(--mo2); }
.doc .meta { margin-top: 6px; color: var(--mo2); font-size: 15px; }
.doc h2 { margin-top: 28px; font-size: 23px; padding-bottom: 4px; border-bottom: 1px solid #2a211844; display: flex; align-items: center; gap: 10px; }
.doc h2 .seal { font-size: .8em; }
.doc h3 { margin-top: 16px; font-size: 18px; }
.doc p, .doc ul, .doc ol, .doc blockquote { margin: 12px 0 0; }
.doc h3 + p { margin-top: 4px; }
.doc ul, .doc ol { padding-left: 1.4em; }
.doc li { margin-top: 4px; }
.doc table { margin-top: 14px; border-collapse: collapse; width: 100%; }
.doc th, .doc td { border: 1px solid #2a211855; padding: 7px 12px; text-align: left; }
.doc th { background: #2a211814; }
.doc td.num, .doc th.num { text-align: right; white-space: nowrap; }
.doc .back { margin-top: 30px; }
.doc .news li { border-bottom: 1px dashed #2a211844; }
.doc .news a { color: var(--mo); }
.doc .news time { color: var(--mo2); }
.doc .news .tag { border-color: #8a3a12; color: #8a3a12; }
.tablewrap { overflow-x: auto; }
.doc blockquote { padding: 10px 16px; border-left: 4px solid var(--red); background: #2a21180f; font-size: 19px; }
.doc .bai { font-size: 21px; font-weight: 700; }
.doc .src { color: var(--mo2); font-size: 15px; }
.doc .toc { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.doc .toc a { padding: 2px 12px; border: 1px solid #8a3a12; border-radius: 5px; text-decoration: none; }
.doc .cta { margin-top: 26px; padding: 16px 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; background: #2a211812; border-radius: 8px; }
.doc .cta p { margin: 0; flex: 1; min-width: 200px; font-weight: 700; font-size: 19px; }
.doc .cta .go, .jtable .go { color: #fff3c4; background: linear-gradient(#d8483a, #a52a1e); border-color: #8a3a12; text-shadow: 0 1px 0 #0008; }
.jrows { list-style: none; padding: 0 !important; }
.jrows li { margin: 0; padding: 10px 0; border-bottom: 1px dashed #2a211844; }
.jrows li a { font-size: 20px; text-decoration: none; }
.jrows li p { margin: 2px 0 0; }
.jrows .an { color: var(--mo2); font-size: 15px; }
.doc .jw { margin-top: 10px; }
.doc .jw b { display: inline-block; margin-right: 12px; padding: 0 9px; border: 1px solid #8a3a12; border-radius: 4px; color: #8a3a12; font-size: 15px; }
.doc .jz { margin-top: 6px; }
.jtable { margin-top: 14px; display: grid; grid-template-columns: 200px 1fr; gap: 22px; align-items: start; }
.jtable img { width: 100%; height: auto; border: 2px solid var(--gold); border-radius: 6px; }
.jtable p:first-child { margin-top: 0; }
.jtable .who { color: #3d3226; }
.jtable .eff { font-size: 19px; color: #8a3a12; }
.jtable .go { margin-top: 14px; }
.jclip { display: block; width: 100%; height: auto; margin-top: 16px; border: 2px solid var(--gold); border-radius: 6px; background: var(--night); }
.mates { list-style: none; padding: 0 !important; }
.pn { margin-top: 26px !important; display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pn a { text-decoration: none; }

@media (prefers-reduced-motion: reduce) { .hd nav a.go, .hero .down { animation: none; } html { scroll-behavior: auto; } }

@media (max-width: 980px) {
  .hd nav a:not(.go):not(.login) { display: none; }
  .jis { grid-template-columns: repeat(2, 1fr); }
  .st2 { grid-template-columns: 1fr; gap: 22px; }
  .two { grid-template-columns: 1fr; gap: 34px; }
  .ft .cols { grid-template-columns: repeat(3, auto); gap: 18px 56px; }
  .gcs { grid-template-columns: repeat(4, 1fr); }
}
@media (max-width: 700px) {
  body { font-size: 16px; padding-bottom: 62px; }
  .wrap { padding: 0 16px; }
  .hd .logo, .hd .logo img { width: 88px; }
  .hd .logo img { top: 1px; }
  .hd nav { gap: 10px; }
  .go.bar { display: block; position: fixed; z-index: 8; left: 12px; right: 12px; bottom: calc(8px + env(safe-area-inset-bottom)); text-align: center; padding: 10px; font-size: 21px; letter-spacing: 8px; color: #fff3c4; background: linear-gradient(#dc4c3d, #9d2519); border-color: var(--gold2); text-shadow: 0 2px 0 #0008; box-shadow: 0 4px 0 #0008, 0 0 20px #000c; }
  section { padding: 30px 0 34px; }
  h2.act { font-size: 28px; letter-spacing: 6px; }
  h2.act span { margin-right: -6px; }
  .lead { font-size: 16px; }
  h2.act + *, .lead + * { margin-top: 18px; }
  /* 首屏：图取中间一条，字压在图脚 */
  .hero { height: calc(100svh - var(--hd) - 62px - 48px); min-height: 460px; }
  .hero .key { object-position: 50% 30%; }
  .hero::before { background: linear-gradient(0deg, #071a1f 0%, #071a1fd9 34%, #071a1f00 62%), linear-gradient(180deg, #071a1f99 0%, #071a1f00 22%); }
  .hero .wrap { align-items: flex-end; padding-bottom: 34px; }
  .herotxt { max-width: none; width: 100%; text-align: center; }
  .hero h1 img { width: 230px; margin: 0 auto; }
  .hero .sub { font-size: 25px; letter-spacing: 6px; margin-right: -6px; }
  .hero .say { margin: 6px auto 0; width: fit-content; text-align: left; font-size: 16px; line-height: 1.6; }
  .hero .acts { margin-top: 12px; flex-direction: column; gap: 8px; }
  .hero .acts span { font-size: 14px; text-align: center; }
  .hero .down { display: none; }
  .go.xl { padding: 11px 44px; font-size: 22px; letter-spacing: 6px; }
  .sttxt p { font-size: 17px; line-height: 1.8; }
  .jrow { grid-template-columns: repeat(3, 1fr); gap: 7px; }
  .jrow b { grid-column: 1 / -1; justify-content: start; place-items: start; border: 0; margin-top: 8px; font-size: 18px; }
  .jrow a { padding: 11px 2px 9px; font-size: 17px; letter-spacing: 0; }
  .jrow a i { font-size: 11px; left: 4px; top: 1px; }
  .jis { gap: 10px; }
  .jic div { padding: 7px 9px 10px; }
  .jic h4 { font-size: 16px; letter-spacing: 0; flex-wrap: wrap; gap: 2px 6px; }
  .jic p { font-size: 14px; }
  .pbig { grid-template-columns: 42% 1fr; gap: 16px; }
  .pbig h3 { font-size: 27px; letter-spacing: 2px; }
  .pbig .bio { margin-top: 6px; font-size: 14px; line-height: 1.6; }
  .pbig .jn { margin-top: 8px; font-size: 20px; letter-spacing: 2px; }
  .pbig .jd { font-size: 15px; line-height: 1.55; }
  .pbig .go { margin-top: 12px; padding: 7px 14px; font-size: 16px; letter-spacing: 1px; }
  .pth { gap: 6px; }
  .pth button { width: 36px; height: 36px; }
  .feats { grid-template-columns: 1fr 1fr; gap: 10px; }
  .feat { aspect-ratio: 4/5; }
  .feat div { padding: 30px 10px 9px; }
  .feat h3 { font-size: 18px; letter-spacing: 2px; }
  .feat p { font-size: 13px; line-height: 1.45; }
  .two h2.act { font-size: 24px; }
  .news li { flex-wrap: wrap; gap: 2px 10px; }
  .news a { flex-basis: 100%; }
  .end { padding: 56px 0; }
  .end p { font-size: 21px; letter-spacing: 2px; }
  .ft { padding-bottom: 20px; }
  .ft .cols { grid-template-columns: repeat(2, 1fr); gap: 16px 20px; }
  .fmid { flex-direction: column; gap: 12px; }
  .fmid div { text-align: center; }
  .adv span { display: block; margin: 0; }
  .pgt { margin-top: 18px; font-size: 26px; letter-spacing: 5px; }
  .cbox { padding: 16px 16px 20px; }
  .cform .f2 { grid-template-columns: 1fr; }
  .gcs { grid-template-columns: repeat(2, 1fr); gap: 10px; }
  .gal h2.act { font-size: 23px; }
  .pt { grid-template-columns: 1fr; }
  .cds { justify-content: flex-start; }
  .cd { width: 34px; height: 48px; margin-left: -12px; font-size: 15px; }
  .jpop h2 { font-size: 28px; }
  .nf h1 { font-size: 28px; letter-spacing: 3px; }
  .doc { margin: 14px auto 30px; padding: 18px 16px 24px; }
  .doc h1 { font-size: 25px; }
  .doc h2 { font-size: 20px; }
  .jtable { grid-template-columns: 110px 1fr; gap: 14px; }
}
/* 电脑上窗口不高时：首屏的 logo 和字收一档，别把大键挤到下一幕里 */
@media (min-width: 701px) and (max-height: 780px) {
  .hero h1 img { width: min(100%, 300px); }
  .hero .sub { font-size: 28px; letter-spacing: 6px; }
  .hero .say { margin-top: 8px; font-size: 18px; line-height: 1.6; }
  .hero .acts { margin-top: 14px; }
  .go.xl { padding: 11px 44px; font-size: 23px; }
}
/* 手机横屏、矮窗口：首屏别把字挤出去 */
@media (max-height: 520px) and (orientation: landscape) {
  .hero { height: calc(100svh - var(--hd)); min-height: 300px; }
  .hero h1 img { width: 200px; }
  .hero .sub { font-size: 22px; letter-spacing: 4px; }
  .hero .say { margin-top: 4px; font-size: 15px; line-height: 1.5; }
  .hero .acts { margin-top: 10px; }
  .go.xl { padding: 8px 34px; font-size: 20px; }
  .hero .down { display: none; }
}
