@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(/f/c771b4702e12.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/f/6b37b9cff371.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/f/6b37b9cff371.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* t-0001 夜蓝金：手机优先，390 宽无横向滚动，可点区域 ≥ 44px */
:root {
  --ink: #121620;
  --body: #262c38;
  --sub: #3a4252;
  --muted: #5b6474;
  --line: #e3e6ec;
  --line-hover: #c3c9d4;
  --bg: #f5f6f8;
  --card: #ffffff;
  --night: #0f1626;
  --night-2: #1a2336;
  --night-line: #1e2740;
  --night-ink: #f2f4f8;
  --night-muted: #a9b3c7;
  --night-border: #3a4560;
  --link: #1f5fd1;
  --link-hover: #163f8c;
  --accent: #FFB21E;
  --on-accent: #121620;
  --display: Archivo, Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --text: Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  -webkit-text-size-adjust: 100%;
  scroll-padding-top: 16px;
}
body {
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font: 400 16px/1.6 var(--text);
  overflow-wrap: break-word;
}
img {
  display: block;
  max-width: 100%;
  height: auto;
}
a {
  color: var(--link);
}
a:hover {
  color: var(--link-hover);
}
:focus-visible {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}
h1,
h2,
h3 {
  margin: 0;
  font-family: var(--display);
  line-height: 1.2;
  color: var(--ink);
}
.wrap {
  max-width: 1200px;
  margin: 0 auto;
  padding-left: 16px;
  padding-right: 16px;
}
@media (min-width: 768px) {
  .wrap {
    padding-left: 24px;
    padding-right: 24px;
  }
}
.sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.skip {
  position: absolute;
  left: -9999px;
  top: 8px;
  z-index: 10;
  padding: 10px 14px;
  background: #fff;
  color: var(--ink);
}
.skip:focus {
  left: 16px;
}

/* 按钮 */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 20px;
  border-radius: 10px;
  background: var(--accent);
  color: var(--on-accent);
  font-weight: 700;
  text-decoration: none;
  text-align: center;
}
.btn:hover {
  color: var(--on-accent);
  filter: brightness(1.06);
}
.btn-lg {
  min-height: 52px;
  padding: 0 28px;
  border-radius: 12px;
  font-size: 17px;
}
.btn-ghost {
  background: transparent;
  border: 1px solid var(--night-border);
  color: var(--night-ink);
  font-weight: 600;
}
.btn-ghost:hover {
  color: var(--night-ink);
  border-color: #56627f;
  filter: none;
}
.btn-block {
  display: flex;
  width: 100%;
}

/* 占位图：没有素材时的纯色块 */
.ph {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 44px;
  background: linear-gradient(135deg, #1a2336 0%, #2a3654 100%);
}
.ph::after {
  content: "";
  width: 34%;
  aspect-ratio: 1 / 1;
  border: 3px solid var(--accent);
  border-radius: 28%;
  opacity: 0.55;
}

/* H1 深色页头（类名 hdr） */
.hdr {
  background: var(--night);
  color: var(--night-ink);
}
.hdr .bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 16px;
  padding-top: 10px;
  padding-bottom: 6px;
}
.logo {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  min-height: 44px;
  margin-right: auto;
  color: var(--night-ink);
  text-decoration: none;
}
.logo:hover {
  color: var(--night-ink);
}
.logo-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 9px;
  background: var(--accent);
  color: var(--on-accent);
  font: 800 18px/1 var(--display);
  overflow: hidden;
}
.logo-mark img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.logo-name {
  min-width: 0;
  font: 800 20px/1.2 var(--display);
  overflow-wrap: anywhere;
}
.hdr nav {
  order: 3;
  flex: 1 1 100%;
}
.hdr nav ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0 22px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.hdr nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: #dce2ee;
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}
.hdr nav a:hover {
  color: #fff;
}
.hdr nav a[aria-current] {
  color: var(--accent);
}
.hdr .btn {
  order: 2;
}
@media (min-width: 768px) {
  .hdr .bar {
    gap: 16px 28px;
    padding-top: 14px;
    padding-bottom: 14px;
  }
  .logo {
    margin-right: 0;
  }
  .hdr nav {
    order: 0;
    flex: 1 1 auto;
  }
}

/* 面包屑 */
.crumbs {
  padding: 12px 0 4px;
  font-size: 14px;
  color: var(--muted);
}
.crumbs ol {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
.crumbs li + li::before {
  content: "/";
  margin: 0 8px;
}
.crumbs a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  text-decoration: none;
}

/* S1 左文右图首屏 */
.s1 {
  background: var(--night);
  color: var(--night-ink);
  border-top: 1px solid var(--night-line);
}
.s1 .in {
  display: grid;
  gap: 28px;
  align-items: center;
  padding-top: 32px;
  padding-bottom: 40px;
}
.kicker {
  margin: 0 0 12px;
  color: var(--accent);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 1px;
  text-transform: uppercase;
}
.s1 h1 {
  margin: 0 0 16px;
  color: var(--night-ink);
  font-size: 32px;
  font-weight: 800;
  line-height: 1.12;
}
.s1 .lead {
  max-width: 560px;
  margin: 0 0 24px;
  color: var(--night-muted);
  font-size: 17px;
}
.actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.trust {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 24px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  color: var(--night-muted);
  font-size: 14px;
}
.trust li {
  display: flex;
  align-items: center;
  gap: 8px;
}
.badge18 {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 22px;
  padding: 0 6px;
  border: 1.5px solid currentColor;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1;
}
.s1-fig {
  margin: 0;
  aspect-ratio: 16 / 10;
  border-radius: 20px;
  overflow: hidden;
  background: var(--night-2);
}
.s1-fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.s1-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.s1-tiles a {
  display: block;
  aspect-ratio: 3 / 4;
  border-radius: 14px;
  overflow: hidden;
  background: var(--night-2);
}
.s1-tiles img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 900px) {
  .s1 .in {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
    gap: 40px;
    padding-top: 56px;
    padding-bottom: 64px;
  }
  .s1 h1 {
    font-size: 46px;
  }
  .s1 .lead {
    font-size: 18px;
  }
}

/* 区块通用 */
.sec {
  padding-top: 40px;
}
.sec-last {
  padding-bottom: 56px;
}
.sec-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0 12px;
  margin-bottom: 12px;
}
.sec h2,
.h-sec {
  font-size: 24px;
  font-weight: 700;
}
.sec > h2,
.sec > .wrap > h2 {
  margin-bottom: 16px;
}
.more {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-weight: 600;
}
@media (min-width: 768px) {
  .sec {
    padding-top: 48px;
  }
  .sec h2,
  .h-sec {
    font-size: 28px;
  }
}

/* K1 分类卡 */
.k1 {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.k1 a {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 44px;
  border: 1px solid var(--line);
  border-radius: 14px;
  overflow: hidden;
  background: var(--card);
  color: var(--ink);
  text-decoration: none;
}
.k1 a:hover {
  border-color: var(--line-hover);
  color: var(--ink);
}
.k1-img {
  aspect-ratio: 16 / 9;
  background: var(--night);
}
.k1-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.k1-txt {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 16px;
}
.k1 b {
  font-size: 16px;
  font-weight: 700;
}
.k1-txt span {
  color: var(--muted);
  font-size: 14px;
}
@media (min-width: 640px) {
  .k1 {
    grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
    gap: 12px;
  }
}

/* C1 方图游戏卡（整卡可点） */
.c1-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.c1 {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  background: var(--card);
}
.c1:hover {
  border-color: var(--line-hover);
}
.c1:focus-within {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}
.c1-img {
  aspect-ratio: 3 / 4;
  background: var(--night);
}
.c1-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.c1-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px 14px;
}
.c1 h3 {
  font: 600 16px/1.3 var(--text);
}
.c1 h3 a {
  color: var(--ink);
  text-decoration: none;
}
.c1 h3 a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.c1 h3 a:focus-visible {
  outline: none;
}
.c1-cat {
  color: var(--muted);
  font-size: 13px;
}
.c1-more {
  margin-top: 6px;
  color: var(--link);
  font-size: 14px;
  font-weight: 600;
}
@media (min-width: 640px) {
  .c1-grid {
    grid-template-columns: repeat(auto-fill, minmax(176px, 1fr));
    gap: 16px;
  }
}

/* AC1 文章卡（整卡可点） */
.ac1-grid {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.ac1 {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
}
.ac1:hover {
  border-color: var(--line-hover);
}
.ac1:focus-within {
  outline: 3px solid var(--accent);
  outline-offset: 2px;
}
.tag {
  align-self: flex-start;
  color: var(--muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.4px;
  text-transform: uppercase;
}
.ac1 h3 {
  font-size: 19px;
  font-weight: 700;
  line-height: 1.3;
}
.ac1 h3 a {
  color: var(--ink);
  text-decoration: none;
}
.ac1 h3 a::after {
  content: "";
  position: absolute;
  inset: 0;
}
.ac1 h3 a:focus-visible {
  outline: none;
}
.ac1 p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}
.ac1 .meta {
  margin-top: auto;
  font-size: 13px;
}
@media (min-width: 640px) {
  .ac1-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 16px;
  }
}

/* 新手三步 */
.steps {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.steps li {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
}
.steps .n {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: var(--night);
  color: var(--night-ink);
  font-weight: 700;
}
.steps h3 {
  margin: 12px 0 4px;
  font: 600 18px/1.3 var(--text);
}
.steps p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
}
@media (min-width: 640px) {
  .steps {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 16px;
  }
}

/* Q1 折叠 FAQ */
.q1 {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 820px;
}
.q1 details {
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
}
.q1 summary {
  position: relative;
  min-height: 44px;
  padding: 14px 48px 14px 18px;
  font-weight: 600;
  cursor: pointer;
  list-style: none;
}
.q1 summary::-webkit-details-marker {
  display: none;
}
.q1 summary::after {
  content: "+";
  position: absolute;
  right: 18px;
  top: 12px;
  color: var(--muted);
  font-size: 22px;
  line-height: 1;
}
.q1 details[open] summary::after {
  content: "\2212";
}
.q1 details p {
  margin: 0;
  padding: 0 18px 16px;
  color: var(--muted);
  font-size: 15px;
}

/* 游戏目录 */
.page-head {
  padding: 8px 0 8px;
}
.page-head h1 {
  margin: 0 0 10px;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
}
.page-head p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
  font-size: 17px;
}
.chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 20px 0 0;
  padding: 0;
  list-style: none;
}
.chips a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 0 18px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--card);
  color: var(--ink);
  font-size: 15px;
  font-weight: 500;
  text-decoration: none;
}
.chips a:hover {
  border-color: var(--night);
}
.chips small {
  margin-left: 6px;
  color: var(--muted);
  font-size: 13px;
}
.empty {
  padding: 24px;
  border: 1px dashed var(--line-hover);
  border-radius: 14px;
  color: var(--muted);
}
@media (min-width: 768px) {
  .page-head h1 {
    font-size: 40px;
  }
}

/* 游戏页 */
.game {
  display: grid;
  gap: 24px;
  align-items: start;
  padding-top: 8px;
}
.game-side {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.game-img {
  aspect-ratio: 3 / 4;
  border-radius: 20px;
  overflow: hidden;
  background: var(--night);
}
.game-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.box {
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--card);
}
.box-note {
  margin: 10px 0 0;
  color: var(--muted);
  font-size: 13px;
  text-align: center;
}
.box h2 {
  margin: 0 0 12px;
  font: 700 16px/1.3 var(--text);
}
.info dl {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 16px;
  margin: 0;
  font-size: 14px;
}
.info dt {
  color: var(--muted);
}
.info dd {
  margin: 0;
  font-weight: 600;
}
.game-main h1 {
  margin: 0 0 14px;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.15;
}
.updated {
  margin: 0 0 8px;
  color: var(--muted);
  font-size: 13px;
}
.game-main .sec {
  padding-top: 32px;
}
.links {
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  list-style: none;
}
.links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 6px 0;
  font-size: 15px;
}
@media (min-width: 900px) {
  .game {
    grid-template-columns: minmax(0, 360px) minmax(0, 1fr);
    gap: 40px;
  }
  .game-main h1 {
    font-size: 40px;
  }
}

/* 正文排版 */
.prose {
  max-width: 760px;
  color: var(--body);
  font-size: 17px;
}
.prose .lead {
  margin: 0 0 20px;
  color: var(--sub);
  font-size: 19px;
}
.prose h2 {
  margin: 32px 0 12px;
  font-size: 24px;
  font-weight: 700;
  scroll-margin-top: 16px;
}
.prose p {
  margin: 0 0 16px;
}
.prose ul,
.prose ol {
  margin: 0 0 16px;
  padding-left: 22px;
}
.prose li + li {
  margin-top: 6px;
}
@media (min-width: 768px) {
  .prose h2 {
    font-size: 28px;
  }
}

/* 提示框 */
.note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 24px 0;
  padding: 16px 18px;
  border: 1px solid #f3d9a0;
  border-radius: 14px;
  background: #fff6e0;
  color: #5a3d00;
  font-size: 15px;
}
.note svg {
  flex-shrink: 0;
  margin-top: 2px;
}
.note p {
  margin: 0;
}

/* 文章页 */
.art-head {
  max-width: 820px;
  padding: 8px 0 24px;
}
.art-head h1 {
  margin: 4px 0 12px;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
}
.art-meta {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
}
.art-hero {
  margin: 0 0 24px;
  aspect-ratio: 16 / 9;
  border-radius: 18px;
  overflow: hidden;
  background: var(--night-2);
}
.art-hero img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.art {
  display: grid;
  gap: 24px;
  align-items: start;
  padding-bottom: 56px;
  grid-template-areas: "toc" "body" "rel";
  grid-template-columns: minmax(0, 1fr);
}
.art-body {
  grid-area: body;
  min-width: 0;
}
.toc {
  grid-area: toc;
}
.rel {
  grid-area: rel;
}
.toc p,
.rel p.h {
  margin: 0 0 6px;
  font-weight: 700;
}
.toc ol {
  margin: 0;
  padding-left: 20px;
  font-size: 15px;
}
.toc a {
  display: block;
  padding: 10px 0;
  line-height: 1.4;
}
.art-faq h2 {
  margin: 32px 0 12px;
  font-size: 24px;
}
@media (min-width: 768px) {
  .art-head h1 {
    font-size: 42px;
  }
}
@media (min-width: 1000px) {
  .art {
    grid-template-areas: "body toc" "body rel";
    grid-template-columns: minmax(0, 1fr) 300px;
    grid-template-rows: auto 1fr;
    column-gap: 48px;
  }
}

/* 文中导流卡 */
.cta-in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  margin: 28px 0;
  padding: 18px;
  border-radius: 18px;
  background: var(--night);
  color: var(--night-ink);
}
.cta-in-img {
  width: 88px;
  height: 88px;
  flex-shrink: 0;
  border-radius: 14px;
  overflow: hidden;
}
.cta-in-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.cta-in-txt {
  flex: 1 1 200px;
  min-width: 0;
}
.cta-in-txt p {
  margin: 0;
  color: var(--night-muted);
  font-size: 14px;
}
.cta-in-txt strong {
  display: block;
  font: 700 20px/1.3 var(--display);
  color: var(--night-ink);
}

/* 页尾导流带 */
.cta-band {
  background: var(--night);
  color: var(--night-ink);
}
.cta-band .in {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-top: 36px;
  padding-bottom: 36px;
}
.cta-band h2 {
  margin: 0 0 6px;
  color: var(--night-ink);
  font-size: 24px;
  font-weight: 800;
}
.cta-band p {
  margin: 0;
  color: var(--night-muted);
}

/* 分页 */
.pager ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
}
.pager a,
.pager span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--card);
  color: var(--ink);
  text-decoration: none;
}
.pager [aria-current] {
  border-color: var(--night);
  background: var(--night);
  color: var(--night-ink);
}

/* 固定页、404 */
.doc {
  padding-bottom: 56px;
}
.doc h1 {
  margin: 8px 0 16px;
  font-size: 30px;
  font-weight: 800;
  line-height: 1.15;
}
.doc-fig {
  max-width: 760px;
  margin: 0 0 24px;
  aspect-ratio: 2 / 1;
  border-radius: 18px;
  overflow: hidden;
  background: var(--night-2);
}
.doc-fig img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (min-width: 768px) {
  .doc h1 {
    font-size: 40px;
  }
}

/* F1 深色页脚 */
.f1 {
  background: var(--night);
  color: var(--night-muted);
  font-size: 14px;
}
.f1 .cols {
  display: grid;
  gap: 24px;
  padding-top: 40px;
  padding-bottom: 20px;
}
.f1-about {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}
.f1-name {
  color: var(--night-ink);
  font: 800 20px/1.2 var(--display);
}
.f1-about p {
  max-width: 340px;
  margin: 0;
}
.f1 .badge18 {
  height: 28px;
  padding: 0 10px;
  color: var(--night-ink);
  font-size: 13px;
}
.f1-h {
  margin: 0 0 2px;
  color: var(--night-ink);
  font-weight: 600;
}
.f1 ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.f1 nav a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: var(--night-muted);
  text-decoration: none;
}
.f1 nav a:hover {
  color: var(--night-ink);
  text-decoration: underline;
}
.f1 .legal {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 24px;
  padding-top: 18px;
  padding-bottom: 28px;
  border-top: 1px solid var(--night-line);
  font-size: 13px;
}
.f1 .legal p {
  margin: 0;
}
.f1 .legal a {
  color: var(--night-ink);
}
@media (min-width: 768px) {
  .f1 .cols {
    grid-template-columns: minmax(0, 2fr) repeat(3, minmax(0, 1fr));
    gap: 40px;
    padding-top: 48px;
  }
}

/* 正文区块（body-* 片段：表格、时间线、引用、清单条目、术语、例举、步骤） */
.t1-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.prose .t1-bt {
  margin: 0 0 20px;
}
.t1-bt-scroll {
  overflow-x: auto;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
}
.t1-bt-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 15px;
  line-height: 1.45;
}
.t1-bt-cap {
  padding: 10px 14px 0;
  text-align: left;
  font-weight: 600;
  color: var(--muted);
}
.t1-bt-table th,
.t1-bt-table td {
  min-width: 8em;
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--line);
}
.t1-bt-table thead th {
  vertical-align: bottom;
  background: var(--bg);
  border-bottom: 2px solid var(--accent);
}
.t1-bt-table tbody tr:last-child > * {
  border-bottom: 0;
}
.t1-bt-thumb {
  display: block;
  width: 48px;
  aspect-ratio: 3 / 4;
  margin-bottom: 6px;
  overflow: hidden;
  border-radius: 6px;
}
.t1-bt-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.t1-bt-name {
  display: block;
  font-family: var(--display);
}
.prose .t1-btl,
.prose .t1-bi,
.prose .t1-bx,
.prose .t1-bs {
  list-style: none;
  margin: 0 0 20px;
  padding: 0;
}
.prose .t1-btl {
  padding-left: 20px;
  border-left: 2px solid var(--line);
}
.t1-btl-item {
  position: relative;
  padding: 8px 0;
}
.prose li.t1-btl-item + li,
.prose li.t1-bi-item + li,
.prose li.t1-bx-item + li,
.prose li.t1-bs-item + li {
  margin-top: 0;
}
.t1-btl-item::before {
  content: "";
  position: absolute;
  left: -27px;
  top: 14px;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--accent);
}
.t1-btl-year {
  font: 800 17px/1.3 var(--display);
  color: var(--ink);
}
.prose .t1-btl-text {
  margin: 2px 0 0;
}
.prose .t1-bq {
  margin: 0 0 20px;
  padding: 12px 18px;
  border-left: 4px solid var(--accent);
  background: var(--card);
}
.prose .t1-bq-text {
  margin: 0;
  font-size: 19px;
  font-style: italic;
  color: var(--ink);
}
.t1-bq-cite {
  margin-top: 6px;
  font-size: 14px;
  color: var(--muted);
}
.t1-bi {
  display: grid;
  gap: 12px;
}
.t1-bi-item,
.t1-bx-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--card);
}
.t1-bi-media {
  flex: 0 0 88px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 8px;
}
.t1-bi-media img,
.t1-bx-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.t1-bi-ph {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: var(--night);
  color: var(--night-ink);
  font: 800 26px/1 var(--display);
}
.t1-bi-body,
.t1-bx-body {
  flex: 1;
  min-width: 0;
}
.t1-bi-n {
  display: block;
  font: 800 13px/1 var(--text);
  color: var(--link);
}
.t1-bi-title,
.t1-bx-title {
  margin: 4px 0 0;
  font-size: 18px;
}
.prose .t1-bi-text,
.prose .t1-bx-text {
  margin: 6px 0 0;
  font-size: 16px;
}
.t1-bx {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(min(240px, 100%), 1fr));
  gap: 12px;
}
.t1-bx-thumb {
  flex: 0 0 60px;
  aspect-ratio: 3 / 4;
  overflow: hidden;
  border-radius: 6px;
}
.prose .t1-bterm {
  margin: 0 0 20px;
}
.t1-bterm-item {
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
  scroll-margin-top: 16px;
}
.t1-bterm-item:target {
  background: var(--card);
}
.t1-bterm-term {
  font: 800 18px/1.3 var(--display);
  color: var(--ink);
}
.t1-bterm-def {
  margin: 4px 0 0;
}
.t1-bterm-ex {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-style: italic;
}
.t1-bs {
  display: grid;
  gap: 12px;
}
.t1-bs-item {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}
.t1-bs-n {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--accent);
  color: var(--on-accent);
  font: 800 15px/1 var(--text);
}
.t1-bs-body {
  flex: 1;
  min-width: 0;
}
.t1-bs-title {
  margin: 4px 0 0;
  font-size: 18px;
}
.prose .t1-bs-text {
  margin: 4px 0 0;
}

/* P4：分类 / 合集 / 厂商 / 专题页的引言、文章头标签链接 */
.hub-intro {
  max-width: 760px;
  margin-bottom: 8px;
}
.tag a {
  color: inherit;
  text-decoration: none;
}
