/* rykum.css · 漫画分镜：白底、黑色粗线框、钴蓝点缀 */
:root {
  --ink: #111111;
  --paper: #ffffff;
  --co: #0047ab;
  --co-deep: #00347e;
  --co-tint: #e7eef9;
  --mute: #555555;
  --soft: #f3f3f0;
  --bw: 3px;
  --gap: 26px;
  --f: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fn: "Arial Black", "Segoe UI Black", "Helvetica Neue", Arial, var(--f);
  --fm: ui-monospace, "SFMono-Regular", Menlo, Consolas, "Liberation Mono", monospace;
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: var(--f);
  font-size: 17px;
  line-height: 1.85;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; }
a { color: var(--co); text-underline-offset: 3px; text-decoration-thickness: 1.5px; }
a:hover { color: var(--co-deep); }
:focus-visible { outline: 3px solid var(--co); outline-offset: 2px; }
p, li, td, th, summary, figcaption { overflow-wrap: anywhere; }
h1, h2, h3, h4 { line-height: 1.3; margin: 0; font-weight: 900; }
.ge-guo { position: absolute; left: -9999px; top: 8px; background: var(--ink); color: #fff; padding: 8px 14px; z-index: 50; }
.ge-guo:focus { left: 12px; }

/* —— 页头 —— */
.ge-tiao { border-bottom: var(--bw) solid var(--ink); background: var(--paper); }
.ge-tiao-in { max-width: 1120px; margin: 0 auto; padding: 0 16px; min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ge-zi { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); text-decoration: none; font-family: var(--fn); font-weight: 900; font-size: 19px; letter-spacing: .08em; min-height: 44px; }
.ge-zi:hover { color: var(--ink); }
.ge-biao { flex: none; }
.ge-biao-co { fill: var(--co); }
.ge-dao { display: flex; gap: 4px; }
.ge-dao a { color: var(--ink); text-decoration: none; font-size: 15px; font-weight: 700; padding: 10px 10px; min-height: 44px; display: inline-flex; align-items: center; border-bottom: 3px solid transparent; }
.ge-dao a:hover { border-bottom-color: var(--ink); color: var(--ink); }
.ge-dao a[aria-current="page"] { border-bottom-color: var(--co); }

/* —— 版心 —— */
.ge-ban { max-width: 1120px; margin: 0 auto; padding: 28px 16px 0; }
.ge-wen { max-width: 880px; margin: 0 auto; }
.ge-kai + .ge-wen { margin-top: 34px; }

/* —— 角标：每一格左上角的编号 + 短标签 —— */
.ge-jiao { position: absolute; top: calc(var(--bw) * -1); left: calc(var(--bw) * -1); margin: 0; display: flex; align-items: stretch; line-height: 1; z-index: 2; }
.ge-jiao b { background: var(--ink); color: #fff; font-family: var(--fn); font-size: 17px; letter-spacing: .04em; padding: 9px 12px 8px; }
.ge-jiao span { background: var(--paper); border: var(--bw) solid var(--ink); border-left: 0; font-size: 13.5px; font-weight: 800; padding: 6px 11px 5px; display: flex; align-items: center; }

/* —— 首屏：一大格 —— */
.ge-kai { position: relative; border: var(--bw) solid var(--ink); padding: 56px 34px 32px; display: grid; grid-template-columns: minmax(0, 1fr) 250px; grid-template-areas: "wen ji" "ka ji"; column-gap: 40px; row-gap: 24px; align-items: start; overflow: hidden; }
.ge-kai::after { content: ""; position: absolute; right: 0; top: 0; bottom: 0; width: 44%; background-image: radial-gradient(var(--co) 1.4px, transparent 1.7px); background-size: 11px 11px; -webkit-mask-image: linear-gradient(to left, rgba(0,0,0,.65), transparent 92%); mask-image: linear-gradient(to left, rgba(0,0,0,.65), transparent 92%); pointer-events: none; z-index: 0; }
.ge-kai > :not(.ge-jiao) { position: relative; z-index: 1; }
.ge-kai-wen { grid-area: wen; }
.ge-kai-e { margin: 0 0 10px; font-size: 14px; font-weight: 800; color: var(--co); letter-spacing: .04em; }
.ge-kai h1 { font-size: clamp(27px, 4.4vw, 50px); line-height: 1.16; letter-spacing: -.005em; text-wrap: balance; }
.ge-kai-d { margin: 16px 0 0; font-size: 17.5px; line-height: 1.7; color: #2b2b2b; max-width: 36em; }
.ge-kai .ge-ka { grid-area: ka; }
.ge-kai .ge-ji { grid-area: ji; justify-self: end; margin: 0; }

/* —— 码卡 —— */
.ge-ka { border: var(--bw) solid var(--ink); background: var(--paper); box-shadow: 7px 7px 0 var(--co); padding: 16px 18px 14px; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "ma qu" "xi xi"; gap: 10px 22px; align-items: center; margin: 0 7px 7px 0; }
.ge-ka-ma { grid-area: ma; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ge-ka-l { margin: 0; font-size: 13px; font-weight: 800; background: var(--ink); color: #fff; padding: 3px 8px; line-height: 1.4; }
.ge-ka-code { font-family: var(--fn); font-size: 30px; letter-spacing: .07em; line-height: 1; user-select: all; }
.ge-ka-fu { font: inherit; font-size: 15px; font-weight: 800; min-height: 44px; min-width: 64px; padding: 0 14px; border: var(--bw) solid var(--ink); background: var(--paper); color: var(--ink); cursor: pointer; }
.ge-ka-fu:hover { background: var(--ink); color: #fff; }
.ge-ka-fu.is-ok { background: var(--co); border-color: var(--co); color: #fff; }
.ge-ka-qu { grid-area: qu; display: flex; flex-direction: column; gap: 7px; }
.ge-ka-go { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 22px; background: var(--co); color: #fff; border: var(--bw) solid var(--ink); font-size: 17px; font-weight: 900; text-decoration: none; letter-spacing: .02em; }
.ge-ka-go::after { content: "↗"; margin-left: 8px; font-weight: 700; }
.ge-ka-go:hover { background: var(--co-deep); color: #fff; }
.ge-ka-li { margin: 0; font-size: 14.5px; line-height: 1.55; font-weight: 700; }
.ge-ka-xi { grid-area: xi; margin: 0; font-size: 13px; line-height: 1.6; color: var(--mute); border-top: 2px solid var(--ink); padding-top: 8px; }
.ge-ka-xi span { display: block; margin-top: 2px; }
.ge-wen .ge-ka { margin: 26px 7px 32px 0; }

/* —— CSS 手机屏 —— */
.ge-ji { width: 250px; max-width: 100%; margin: 26px auto; }
.ge-ji-k { border: var(--bw) solid var(--ink); border-radius: 32px; padding: 26px 10px 16px; background: var(--paper); position: relative; box-shadow: 6px 6px 0 var(--ink); }
.ge-ji-k::before { content: ""; position: absolute; top: 10px; left: 50%; width: 54px; height: 7px; margin-left: -27px; border-radius: 4px; background: var(--ink); }
.ge-ji-top { margin: 0 0 8px; font-family: var(--fm); font-size: 11px; line-height: 1.4; background: var(--soft); border: 1.5px solid var(--ink); border-radius: 12px; padding: 4px 9px; text-align: center; overflow-wrap: anywhere; }
.ge-ji-p { background: #0b0b0b; color: #f1f1f1; border-radius: 18px; padding: 16px 12px 18px; min-height: 300px; display: flex; flex-direction: column; gap: 9px; }
.ge-ji-p p { margin: 0; font-size: 12.5px; line-height: 1.45; }
.ge-ji-p .ji-h { font-size: 19px; font-weight: 900; line-height: 1.25; margin: 4px 0 6px; }
.ge-ji-p .ji-tx { color: #d6d6d6; }
.ge-ji-p .ji-xs { color: #9a9a9a; font-size: 11px; text-align: center; }
.ge-ji-p .ji-in { border: 1.5px solid #777; border-radius: 8px; padding: 8px 10px; color: #bdbdbd; background: #1b1b1b; }
.ge-ji-p .ji-bt { border: 1.5px solid #6a6a6a; border-radius: 10px; padding: 9px 10px; text-align: center; font-weight: 700; background: #1d1d1d; }
.ge-ji-p .ji-hi { border: 2px solid #fff; border-radius: 10px; padding: 9px 10px; text-align: center; font-weight: 900; background: var(--co); color: #fff; box-shadow: 0 0 0 3px rgba(0,71,171,.35); }
.ge-ji-p .ji-ln { text-decoration: underline; text-underline-offset: 3px; color: #fff; font-weight: 700; }
.ge-qp, .ge-zt, .ge-ju { display: flow-root; }
.ge-ji figcaption { margin-top: 14px; font-size: 13.5px; line-height: 1.6; color: var(--mute); text-align: center; }

/* —— 分镜目录 —— */
.ge-mu { margin: 36px 0 34px; }
.ge-mu-t { margin: 0 0 12px; font-size: 15px; font-weight: 900; display: flex; align-items: center; gap: 10px; }
.ge-mu-t::before { content: ""; width: 14px; height: 14px; background: var(--co); border: 2px solid var(--ink); }
.ge-mu-g { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; }
.ge-mu-g a { display: flex; flex-direction: column; height: 100%; min-height: 112px; border: var(--bw) solid var(--ink); padding: 8px 10px 10px; color: var(--ink); text-decoration: none; background: var(--paper); }
.ge-mu-g a:hover { background: var(--ink); color: #fff; }
.ge-mu-g a:hover b { color: #fff; }
.ge-mu-g b { font-family: var(--fn); font-size: 22px; line-height: 1.1; color: var(--co); }
.ge-mu-g strong { font-size: 15px; line-height: 1.35; margin-top: 6px; }
.ge-mu-g span { font-size: 12px; line-height: 1.45; margin-top: 4px; opacity: .72; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* —— 一格分镜 —— */
.ge-ge { position: relative; border: var(--bw) solid var(--ink); padding: 60px 36px 30px; margin: 0 0 var(--gap); background: var(--paper); }
.ge-ge > h2 { font-size: clamp(23px, 2.7vw, 31px); margin: 0 0 16px; scroll-margin-top: 20px; }
.ge-ge:nth-of-type(3n+2) .ge-jiao b { background: var(--co); }
.ge-wen p { margin: 0 0 16px; }
.ge-wen h3 { font-size: 20px; font-weight: 900; margin: 30px 0 10px; display: flex; gap: 10px; align-items: baseline; scroll-margin-top: 20px; }
.ge-wen h3::before { content: ""; flex: none; width: 11px; height: 11px; background: var(--co); border: 2px solid var(--ink); transform: translateY(-1px); }
.ge-wen ul, .ge-wen ol { margin: 0 0 18px; padding-left: 1.4em; }
.ge-wen li { margin: 0 0 6px; }
.ge-wen li::marker { font-weight: 900; }
.ge-wen strong { font-weight: 900; }
.ge-wen code { font-family: var(--fm); font-size: .9em; background: var(--soft); border: 1px solid #d9d9d4; padding: 0 5px; }
.ge-wen blockquote { margin: 0 0 18px; padding: 10px 16px; border-left: 6px solid var(--ink); background: var(--soft); }
.ge-wen hr { border: 0; border-top: var(--bw) solid var(--ink); margin: 30px 0; }

/* —— 对话气泡（note）—— */
.ge-qp { position: relative; border: var(--bw) solid var(--ink); border-radius: 20px; padding: 14px 20px 6px; margin: 22px 0 32px; background: var(--paper); }
.ge-qp::after { content: ""; position: absolute; left: 34px; bottom: -14px; width: 22px; height: 22px; background: inherit; border-right: var(--bw) solid var(--ink); border-bottom: var(--bw) solid var(--ink); transform: rotate(45deg) skew(12deg, 12deg); }
.ge-qp-t { margin: 0 0 6px !important; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.ge-qp-k { font-size: 12.5px; font-weight: 900; background: var(--ink); color: #fff; padding: 2px 9px; line-height: 1.6; }
.ge-qp-t b { font-size: 16.5px; font-weight: 900; }
.ge-qp p { margin-bottom: 10px; }
.ge-qp.is-ok .ge-qp-k { background: var(--co); }
.ge-qp.is-warn { background-image: repeating-linear-gradient(135deg, transparent 0 9px, rgba(0,71,171,.07) 9px 12px); background-color: var(--paper); }
.ge-qp.is-warn::after { background: var(--paper); }
.ge-qp.is-stop { background: var(--ink); color: #f3f3f3; }
.ge-qp.is-stop .ge-qp-k { background: #fff; color: var(--ink); }
.ge-qp.is-stop a { color: #9fc0ff; }
.ge-qp.is-stop::after { background: var(--ink); }

/* —— 屏幕状态（state）—— */
.ge-zt { border: var(--bw) solid var(--ink); margin: 20px 0 22px; background: var(--paper); }
.ge-zt-s { margin: 0 !important; padding: 12px 16px; background: var(--co-tint); border-bottom: var(--bw) solid var(--ink); display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 10px; }
.ge-zt-s span { font-size: 12.5px; font-weight: 900; background: var(--ink); color: #fff; padding: 1px 8px; }
.ge-zt-s q { font-size: 17px; font-weight: 900; quotes: "「" "」"; }
.ge-zt-d { padding: 12px 16px 2px; }

/* —— 依据（basis）—— */
.ge-ju { border: 2px dashed var(--ink); padding: 14px 18px 4px; margin: 24px 0; font-size: 15px; line-height: 1.75; background: var(--paper); }
.ge-ju::before { content: "依据 · 对照于 " attr(data-checked); display: inline-block; font-size: 12px; font-weight: 900; color: var(--co); margin-bottom: 4px; letter-spacing: .03em; }
.ge-ju-t { font-weight: 900; margin: 0 0 6px !important; }
.ge-ju p { margin-bottom: 10px; }

/* —— 注册步骤条 —— */
.ge-bu { list-style: none; margin: 20px 0 24px !important; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; counter-reset: none; }
.ge-bu li { position: relative; border: var(--bw) solid var(--ink); padding: 12px 14px 12px 64px; margin: 0; min-height: 84px; }
.ge-bu-n { position: absolute; left: 0; top: 0; bottom: 0; width: 48px; background: var(--ink); color: #fff; font-family: var(--fn); font-size: 22px; display: flex; align-items: center; justify-content: center; }
.ge-bu li:nth-child(3n+2) .ge-bu-n { background: var(--co); }
.ge-bu b { display: block; font-size: 16.5px; font-weight: 900; line-height: 1.45; }
.ge-bu p { margin: 4px 0 0 !important; font-size: 14.5px; line-height: 1.65; color: #2b2b2b; }

/* —— 表格 —— */
.ge-biao { border: var(--bw) solid var(--ink); margin: 20px 0 24px; overflow-x: auto; }
.ge-biao table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.6; }
.ge-biao th { background: var(--ink); color: #fff; text-align: left; padding: 10px 12px; font-weight: 800; }
.ge-biao td { padding: 10px 12px; border-top: 1.5px solid var(--ink); vertical-align: top; }
.ge-biao td + td, .ge-biao th + th { border-left: 1.5px solid #bdbdbd; }

/* —— 图 —— */
.ge-shot, .ge-fig, .ge-feng { margin: 24px 0 26px; }
.ge-feng { max-width: 880px; margin-left: auto; margin-right: auto; }
.ge-shot-k, .ge-fig img, .ge-feng img { border: var(--bw) solid var(--ink); display: block; }
.ge-shot.is-phone .ge-shot-k { max-width: 300px; margin: 0 auto; border-radius: 28px; padding: 14px 8px; box-shadow: 6px 6px 0 var(--ink); }
.ge-shot.is-phone .ge-shot-k img { border-radius: 16px; }
.ge-shot figcaption, .ge-fig figcaption, .ge-feng figcaption { margin-top: 10px; font-size: 13.5px; line-height: 1.6; color: var(--mute); }
.ge-pair { margin: 24px 0; }
.ge-pair-g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.ge-pair-g figure { margin: 0; }
.ge-pair-c { font-size: 13.5px; color: var(--mute); margin: 10px 0 0 !important; }

/* —— 问答一格 —— */
.ge-wd::after { content: ""; position: absolute; right: 0; top: 0; width: 200px; height: 120px; background-image: radial-gradient(var(--co) 1.3px, transparent 1.6px); background-size: 10px 10px; -webkit-mask-image: linear-gradient(225deg, rgba(0,0,0,.55), transparent 70%); mask-image: linear-gradient(225deg, rgba(0,0,0,.55), transparent 70%); pointer-events: none; }
.ge-wd > :not(.ge-jiao) { position: relative; z-index: 1; }
.ge-wd-x { border-top: 2px solid var(--ink); }
.ge-wd-x:last-of-type { border-bottom: 2px solid var(--ink); }
.ge-wd-x summary { list-style: none; cursor: pointer; padding: 14px 40px 14px 0; position: relative; font-size: 17px; font-weight: 800; line-height: 1.55; display: flex; gap: 10px; align-items: flex-start; min-height: 44px; }
.ge-wd-x summary::-webkit-details-marker { display: none; }
.ge-wd-x summary::after { content: "+"; position: absolute; right: 4px; top: 10px; font-family: var(--fn); font-size: 24px; line-height: 1; }
.ge-wd-x[open] summary::after { content: "−"; }
.ge-wd-x i { flex: none; font-style: normal; width: 28px; height: 28px; border-radius: 50%; background: var(--ink); color: #fff; font-size: 13px; font-weight: 900; display: inline-flex; align-items: center; justify-content: center; margin-top: 1px; }
.ge-wd-x p { margin: 0; padding: 0 0 16px; display: flex; gap: 10px; align-items: flex-start; font-size: 16px; line-height: 1.8; }
.ge-wd-x p i { background: var(--co); }

/* —— 署名框 —— */
.ge-shu { border: var(--bw) solid var(--ink); padding: 18px 22px 6px; margin: 0 0 var(--gap); font-size: 15px; line-height: 1.75; position: relative; }
.ge-shu::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 10px; background: var(--co); border-right: var(--bw) solid var(--ink); }
.ge-shu > * { margin-left: 8px !important; }
.ge-shu-a { display: flex; align-items: baseline; gap: 12px; margin-bottom: 6px !important; }
.ge-shu-a b { font-size: 19px; font-weight: 900; }
.ge-shu-a span { color: var(--mute); font-size: 14px; }
.ge-shu-d { color: var(--mute); font-size: 13.5px; }

/* —— 文章条目（一小格）—— */
.ge-xin { max-width: 880px; margin: 40px auto 0; }
.ge-xin > h2 { font-size: 22px; margin: 0 0 14px; display: flex; align-items: center; gap: 10px; }
.ge-xin > h2::before { content: ""; width: 16px; height: 16px; background: var(--ink); }
.ge-xin-q { margin: 14px 0 0; font-weight: 800; }
.ge-tms { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ge-tm a { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "n b" "n d" "n t"; column-gap: 14px; height: 100%; border: var(--bw) solid var(--ink); padding: 14px 16px; color: var(--ink); text-decoration: none; background: var(--paper); }
.ge-tm a:hover { box-shadow: 6px 6px 0 var(--co); }
.ge-tm-n { grid-area: n; font-family: var(--fn); font-size: 26px; line-height: 1.1; color: var(--co); }
.ge-tm b { grid-area: b; font-size: 17px; font-weight: 900; line-height: 1.45; }
.ge-tm-d { grid-area: d; font-size: 14px; line-height: 1.65; color: #3a3a3a; margin-top: 4px; }
.ge-tm time { grid-area: t; font-size: 12.5px; color: var(--mute); margin-top: 6px; }

/* —— 列表页 / 站务页的页头 —— */
.ge-lu { max-width: 880px; font-size: 13.5px; color: var(--mute); margin: 0 auto 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 8px; }
.ge-lu a { color: var(--ink); min-height: 32px; display: inline-flex; align-items: center; }
.ge-lu i { font-style: normal; color: #999; }
.ge-tou { max-width: 880px; margin: 0 auto 26px; border-bottom: var(--bw) solid var(--ink); padding-bottom: 18px; }
.is-lie .ge-lu, .is-lie .ge-tou, .is-lie .ge-tms, .is-lie .ge-fan, .is-lie .ge-zus { max-width: 960px; margin-left: auto; margin-right: auto; }
.ge-tou-e { margin: 0 0 8px; font-size: 13.5px; font-weight: 800; color: var(--co); }
.ge-tou h1 { font-size: clamp(26px, 3.8vw, 42px); line-height: 1.2; text-wrap: balance; }
.ge-tou-d { margin-top: 12px; font-size: 17px; color: #2b2b2b; }
.ge-tou-d p { margin: 0 0 10px; }
.ge-tou-by { margin: 14px 0 0; font-size: 14px; color: var(--mute); display: flex; flex-wrap: wrap; gap: 4px 14px; }

/* —— 翻页行 —— */
.ge-fan { margin: 22px 0 0; border: var(--bw) solid var(--ink); display: flex; align-items: stretch; justify-content: space-between; font-size: 15px; font-weight: 800; }
.ge-fan a, .ge-fan span { padding: 10px 16px; min-height: 46px; display: inline-flex; align-items: center; }
.ge-fan a { color: var(--ink); text-decoration: none; }
.ge-fan a:hover { background: var(--ink); color: #fff; }
.ge-fan-x { color: #aaa; }
.ge-fan-n { border-left: 2px solid var(--ink); border-right: 2px solid var(--ink); flex: 1; justify-content: center; }

/* —— 标签索引 —— */
.ge-zus { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ge-zus a { display: flex; flex-direction: column; border: var(--bw) solid var(--ink); padding: 14px 16px; color: var(--ink); text-decoration: none; height: 100%; }
.ge-zus a:hover { box-shadow: 6px 6px 0 var(--co); }
.ge-zus b { font-size: 18px; font-weight: 900; }
.ge-zus span { font-size: 14px; color: #3a3a3a; margin: 4px 0 6px; }
.ge-zus i { font-style: normal; font-size: 13px; font-weight: 800; color: var(--co); margin-top: auto; }

/* —— 标签条 —— */
.ge-qian { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 var(--gap) !important; font-size: 14px; }
.ge-qian span { font-weight: 900; }
.ge-qian a, .ge-qian em { font-style: normal; border: 2px solid var(--ink); padding: 3px 10px; min-height: 34px; display: inline-flex; align-items: center; color: var(--ink); text-decoration: none; }
.ge-qian a:hover { background: var(--ink); color: #fff; }
.ge-qian em { border-style: dashed; color: var(--mute); }

/* —— 站务页正文 —— */
.ge-zhanwu { border: var(--bw) solid var(--ink); padding: 30px 34px 16px; position: relative; }
.ge-zhanwu h2 { font-size: 22px; margin: 28px 0 10px; padding-top: 18px; border-top: 2px solid var(--ink); }
.ge-zhanwu h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }

/* —— 404 —— */
.ge-kong { position: relative; max-width: 880px; margin: 0 auto; border: var(--bw) solid var(--ink); padding: 62px 34px 28px; }
.ge-kong h1 { font-size: clamp(24px, 3.4vw, 36px); margin-bottom: 12px; }
.ge-kong-l { list-style: none; padding: 0; margin: 20px 0 0; display: grid; gap: 12px; }
.ge-kong-l a { display: flex; flex-direction: column; border: var(--bw) solid var(--ink); padding: 12px 16px; color: var(--ink); text-decoration: none; }
.ge-kong-l a:hover { box-shadow: 6px 6px 0 var(--co); }
.ge-kong-l b { font-weight: 900; }
.ge-kong-l span { font-size: 14px; color: #3a3a3a; }

/* —— 宽屏左侧格号条 —— */
.ge-hao { display: none; }
@media (min-width: 1300px) {
  .ge-hao { display: block; position: fixed; left: max(14px, calc(50vw - 640px)); top: 50%; transform: translateY(-50%); z-index: 10; }
  .ge-hao ol { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
  .ge-hao a { width: 40px; height: 36px; display: flex; align-items: center; justify-content: center; border: 2px solid var(--ink); background: var(--paper); color: var(--ink); text-decoration: none; font-family: var(--fn); font-size: 13px; }
  .ge-hao a:hover, .ge-hao a.is-on { background: var(--ink); color: #fff; }
  .ge-hao-ma { margin-top: 12px; background: var(--co) !important; color: #fff !important; font-family: var(--f) !important; font-weight: 900; font-size: 14px !important; }
}

/* —— 页脚 —— */
.ge-wei { margin-top: 64px; background: var(--ink); color: #e6e6e6; border-top: var(--bw) solid var(--ink); }
.ge-wei-in { max-width: 1120px; margin: 0 auto; padding: 38px 16px 42px; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr); gap: 20px 48px; }
.ge-wei .ge-zi { color: #fff; }
.ge-wei-a p { margin: 12px 0 0; font-size: 14.5px; line-height: 1.8; }
.ge-wei a { color: #fff; }
.ge-wei-b { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2px 16px; align-content: start; }
.ge-wei-b a { font-size: 14.5px; min-height: 44px; display: flex; align-items: center; text-decoration: none; border-bottom: 1px solid #3a3a3a; }
.ge-wei-b a:hover { text-decoration: underline; }
.ge-wei-c { grid-column: 1 / -1; margin: 6px 0 0; font-size: 13px; color: #a8a8a8; }

/* —— 宽屏：格子里的手机屏挂在右边，正文绕排 —— */
@media (min-width: 980px) {
  .ge-ge > .ge-ji { float: right; width: 236px; margin: 6px 0 22px 32px; }
  .ge-ge::after { content: ""; display: block; clear: both; }
}

/* —— 窄屏 —— */
@media (max-width: 980px) {
  .ge-kai { grid-template-columns: minmax(0, 1fr) 210px; column-gap: 26px; padding: 54px 24px 26px; }
  .ge-kai .ge-ji { width: 210px; }
  .ge-mu-g { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ge-ka { grid-template-columns: minmax(0, 1fr); grid-template-areas: "ma" "qu" "xi"; }
}
@media (max-width: 760px) {
  body { font-size: 16.5px; line-height: 1.8; }
  .ge-ban { padding-top: 18px; }
  .ge-kai { grid-template-columns: minmax(0, 1fr); grid-template-areas: "wen" "ka" "ji"; padding: 48px 16px 20px; row-gap: 16px; }
  .ge-kai::after { width: 70%; height: 200px; }
  .ge-kai .ge-ji { justify-self: center; width: 230px; }
  .ge-kai-d { font-size: 15.5px; margin-top: 10px; }
  .ge-ge { padding: 54px 18px 18px; }
  .ge-mu-g { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ge-mu-g a { min-height: 96px; }
  .ge-bu { grid-template-columns: minmax(0, 1fr); }
  .ge-tms, .ge-zus { grid-template-columns: minmax(0, 1fr); }
  .ge-zhanwu { padding: 22px 18px 8px; }
  .ge-kong { padding: 56px 18px 22px; }
  .ge-pair-g { grid-template-columns: minmax(0, 1fr); }
  .ge-wei-in { grid-template-columns: minmax(0, 1fr); }
  .ge-biao.is-ka { border: 0; overflow: visible; }
  .ge-biao.is-ka table, .ge-biao.is-ka tbody, .ge-biao.is-ka tr, .ge-biao.is-ka td { display: block; width: 100%; }
  .ge-biao.is-ka thead { display: none; }
  .ge-biao.is-ka tr { border: var(--bw) solid var(--ink); margin-bottom: 10px; }
  .ge-biao.is-ka td { border: 0; border-top: 1.5px solid #cfcfcf; padding: 8px 12px; }
  .ge-biao.is-ka td:first-child { border-top: 0; background: var(--soft); font-weight: 800; }
  .ge-biao.is-ka td + td { border-left: 0; }
  .ge-biao.is-ka td::before { content: attr(data-l); display: block; font-size: 12px; font-weight: 900; color: var(--co); }
}
@media (max-width: 560px) {
  .ge-tiao-in { min-height: 54px; padding: 0 12px; }
  .ge-zi { font-size: 17px; gap: 7px; }
  .ge-dao a { font-size: 14px; padding: 10px 7px; }
  .ge-kai h1 { font-size: 25px; line-height: 1.24; }
  .ge-kai-e { font-size: 13px; margin-bottom: 6px; }
  .ge-kai-d { display: none; }
  .ge-ka { padding: 12px 12px 10px; gap: 9px; box-shadow: 5px 5px 0 var(--co); margin-right: 5px; }
  .ge-ka-ma { display: grid; grid-template-columns: auto auto; justify-content: start; align-items: center; gap: 6px 12px; }
  .ge-ka-l { grid-column: 1 / -1; justify-self: start; }
  .ge-ka-code { font-size: 26px; }
  .ge-ka-go { min-height: 48px; font-size: 16px; }
  .ge-ka-li { font-size: 13.5px; }
  .ge-ka-xi { font-size: 13px; line-height: 1.5; }
  .ge-jiao b { font-size: 15px; padding: 8px 10px 7px; }
  .ge-jiao span { font-size: 12.5px; padding: 5px 9px 4px; }
  .ge-ge > h2 { font-size: 22px; }
  .ge-shot.is-phone .ge-shot-k { max-width: 240px; }
  .ge-wen h3 { font-size: 18.5px; }
  .ge-qp { padding: 12px 14px 4px; }
  .ge-wd-x summary { font-size: 16px; }
  .ge-fan { font-size: 13.5px; }
  .ge-fan a, .ge-fan span { padding: 8px 10px; }
}
@media (max-width: 360px) {
  .ge-dao a { padding: 10px 5px; }
  .ge-kai h1 { font-size: 23.5px; }
}
@media print {
  .ge-tiao, .ge-wei, .ge-hao, .ge-mu { display: none; }
  .ge-ge, .ge-kai { break-inside: avoid; }
}
