/* ==========================================================================
   基础层 base
   ========================================================================== */

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
  scroll-behavior: smooth;
}

body {
  margin: 0;
  padding: 0;
  background-color: #f5f6f7;
  color: #1c2226;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

h1,
h2,
h3,
h4,
p,
figure,
figcaption,
dl,
dd,
dt,
ul,
ol {
  margin: 0;
  padding: 0;
}

ul,
ol {
  list-style: none;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 0;
}

a {
  color: #0e6e6a;
  text-decoration: none;
  text-underline-offset: 3px;
  transition: color 120ms ease, background-color 120ms ease, border-color 120ms ease;
}

a:hover {
  text-decoration: underline;
}

button {
  font-family: inherit;
  cursor: pointer;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  width: 100%;
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

:focus-visible {
  outline: 2px solid #0e6e6a;
  outline-offset: 2px;
}

/* ==========================================================================
   布局层 layout：站点骨架
   ========================================================================== */

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background-color: #ffffff;
  border-bottom: 1px solid #dfe3e6;
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  max-width: 1120px;
  margin: 0 auto;
  padding: 0 32px;
  height: 64px;
}

.brand {
  flex: 0 0 auto;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.3;
  color: #1c2226;
  letter-spacing: 0;
  white-space: nowrap;
}

.brand:hover {
  color: #0e6e6a;
  text-decoration: none;
}

.site-nav {
  flex: 1 1 auto;
  display: flex;
  justify-content: flex-end;
  min-width: 0;
}

.nav-list {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: wrap;
}

.nav-item {
  display: block;
}

.nav-item > a {
  display: block;
  padding: 8px 12px;
  font-size: 15px;
  line-height: 1.4;
  color: #3b454c;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
}

.nav-item > a:hover {
  color: #0e6e6a;
  background-color: #e6f2f1;
  text-decoration: none;
}

.nav-item.is-current > a,
.nav-item > a.is-current {
  color: #0e6e6a;
  font-weight: 600;
  border-bottom-color: #0e6e6a;
}

.nav-toggle {
  display: none;
  flex: 0 0 auto;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 44px;
  height: 44px;
  padding: 0 10px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 4px;
}

.nav-toggle-bar {
  display: block;
  width: 100%;
  height: 2px;
  background-color: #1c2226;
  border-radius: 1px;
}

.mobile-nav {
  display: none;
  background-color: #ffffff;
  border-bottom: 1px solid #dfe3e6;
}

.mobile-nav[hidden] {
  display: none;
}

.mobile-nav-list {
  max-width: 1120px;
  margin: 0 auto;
  padding: 8px 20px 16px;
}

.mobile-nav-list > li > a {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 0 8px;
  font-size: 16px;
  color: #1c2226;
  border-bottom: 1px solid #eef1f2;
}

.mobile-nav-list > li > a:hover,
.mobile-nav-list > li > a.is-current {
  color: #0e6e6a;
  text-decoration: none;
}

.site-notice {
  max-width: 1120px;
  margin: 0 auto;
  padding: 8px 32px;
  font-size: 13px;
  line-height: 1.6;
  color: #5a6670;
  letter-spacing: 0.01em;
}

.site-main {
  display: block;
  background-color: #f5f6f7;
}

.home-main {
  max-width: 1120px;
  margin: 0 auto;
  padding: 24px 32px 56px;
}

.inner-main {
  max-width: 1120px;
  margin: 0 auto;
  padding: 20px 32px 56px;
}

/* 面包屑 */

.breadcrumb {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  min-height: 40px;
  max-width: 100%;
  padding: 0;
  font-size: 13px;
  line-height: 1.6;
  color: #5a6670;
}

.breadcrumb-sep {
  color: #a8b1b7;
}

.breadcrumb-current {
  color: #1c2226;
  font-weight: 600;
}

.breadcrumb-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  font-size: 13px;
  line-height: 1.6;
  color: #5a6670;
}

.breadcrumb-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.breadcrumb-item + .breadcrumb-item::before {
  content: "/";
  color: #a8b1b7;
}

.breadcrumb-item.is-current {
  color: #1c2226;
  font-weight: 600;
}

/* 页面标题区 */

.page-header {
  padding: 20px 0 8px;
}

.page-title {
  font-size: 28px;
  line-height: 1.35;
  font-weight: 700;
  color: #1c2226;
  letter-spacing: 0;
}

.page-description,
.page-lead {
  max-width: 720px;
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.75;
  color: #4a555d;
}

.page-head {
  padding: 12px 0 4px;
}

.anchor-nav,
.anchor-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-top: 16px;
  padding-top: 14px;
  border-top: 1px solid #dfe3e6;
  font-size: 14px;
  line-height: 1.6;
}

.anchor-nav a,
.anchor-row a {
  color: #0e6e6a;
  text-decoration: underline;
  text-decoration-color: #b6d6d3;
}

.anchor-nav a:hover,
.anchor-row a:hover {
  text-decoration-color: #0e6e6a;
}

/* 页脚 */

.site-footer {
  background-color: #ffffff;
  border-top: 1px solid #dfe3e6;
}

.footer-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px;
  max-width: 1120px;
  margin: 0 auto;
  padding: 40px 32px 28px;
}

.footer-brand {
  min-width: 0;
}

.footer-name {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.footer-intro {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.footer-col {
  min-width: 0;
}

.footer-title {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.6;
  color: #1c2226;
  letter-spacing: 0.02em;
}

.footer-links {
  margin-top: 10px;
}

.footer-links > li + li {
  margin-top: 6px;
}

.footer-links a {
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.footer-links a:hover {
  color: #0e6e6a;
}

.footer-statement {
  max-width: 1120px;
  margin: 0 auto;
  padding: 16px 32px 28px;
  border-top: 1px solid #eef1f2;
}

.footer-statement p {
  font-size: 13px;
  line-height: 1.7;
  color: #5a6670;
}

.footer-copy {
  margin-top: 6px;
  color: #7b858c;
}

/* ==========================================================================
   组件层 components：通用模块
   ========================================================================== */

.section {
  padding: 36px 0 0;
}

.section-head {
  max-width: 720px;
}

.section-title,
.section-head h2,
.section > h2 {
  font-size: 21px;
  line-height: 1.4;
  font-weight: 700;
  color: #1c2226;
  letter-spacing: 0;
}

.section-desc,
.section-intro {
  max-width: 720px;
  margin-top: 10px;
  font-size: 15px;
  line-height: 1.75;
  color: #5a6670;
}

.section-conclusion {
  max-width: 720px;
  margin-top: 12px;
  padding: 12px 16px;
  font-size: 15px;
  line-height: 1.75;
  color: #1c2226;
  background-color: #e6f2f1;
  border-left: 3px solid #0e6e6a;
  border-radius: 4px;
}

/* 按钮 */

.btn-primary,
.btn-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  border-radius: 6px;
  border: 1px solid transparent;
}

.btn-primary {
  background-color: #0e6e6a;
  color: #ffffff;
}

.btn-primary:hover {
  background-color: #0b5754;
  color: #ffffff;
  text-decoration: none;
}

.btn-secondary {
  background-color: #ffffff;
  color: #0e6e6a;
  border-color: #0e6e6a;
}

.btn-secondary:hover {
  background-color: #e6f2f1;
  color: #0b5754;
  text-decoration: none;
}

/* 折叠问答 */

.faq-item {
  border: 1px solid #dfe3e6;
  border-radius: 6px;
  background-color: #ffffff;
}

.faq-item + .faq-item {
  margin-top: 10px;
}

.faq-question {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 48px;
  padding: 12px 18px;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #1c2226;
  cursor: pointer;
  list-style: none;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question::after {
  content: "+";
  flex: 0 0 auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 18px;
  font-weight: 400;
  color: #0e6e6a;
}

.faq-item[open] .faq-question::after {
  content: "−";
}

.faq-item[open] .faq-question {
  color: #0e6e6a;
}

.faq-answer {
  max-width: 720px;
  padding: 0 18px 16px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

/* 提示条与清单块 */

.boundary-note,
.overlap-tip,
.checklist-note,
.feedback-scope-note {
  margin-top: 18px;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.7;
  color: #4a555d;
  background-color: #fbf7f2;
  border-left: 3px solid #c2703d;
  border-radius: 4px;
}

.checklist-aside {
  padding: 20px;
  background-color: #fbf7f2;
  border: 1px solid #ecdfd1;
  border-radius: 6px;
}

.checklist > .checklist-item,
.check-list > .check-item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}

.checklist > .checklist-item + .checklist-item,
.check-list > .check-item + .check-item {
  margin-top: 12px;
}

.check-box {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin-top: 4px;
  border: 1.5px solid #c2703d;
  border-radius: 3px;
  background-color: #ffffff;
}

.check-text {
  font-size: 15px;
  line-height: 1.7;
  color: #3b454c;
}

.checklist-note {
  margin-top: 16px;
  margin-bottom: 0;
  font-size: 13px;
  background-color: transparent;
  border-left: 0;
  padding: 0;
  color: #5a6670;
}

/* 对照表 */

.table-scroll {
  margin-top: 18px;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.compare-table {
  min-width: 100%;
  font-size: 14px;
  line-height: 1.6;
}

.compare-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  color: #ffffff;
  background-color: #0e6e6a;
  border-bottom: 1px solid #0b5754;
  white-space: nowrap;
}

.compare-table tbody th,
.compare-table tbody td {
  padding: 10px 14px;
  text-align: left;
  vertical-align: top;
  color: #3b454c;
  border-bottom: 1px solid #eef1f2;
}

.compare-table tbody th {
  font-weight: 600;
  color: #1c2226;
  background-color: #f7faf9;
}

.compare-table tbody tr:last-child th,
.compare-table tbody tr:last-child td {
  border-bottom: 0;
}

.compare-table tbody tr:hover th,
.compare-table tbody tr:hover td {
  background-color: #e6f2f1;
}

.compare-more {
  margin-top: 14px;
  font-size: 15px;
  line-height: 1.7;
}

.compare-more a {
  font-weight: 600;
  text-decoration: underline;
}

/* 下一步入口列表（通用） */

.next-list,
.next-links,
.next-step-list {
  margin-top: 18px;
}

.next-item,
.next-step-item {
  padding: 14px 16px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.next-item + .next-item,
.next-step-item + .next-step-item,
.next-links > li + li {
  margin-top: 10px;
}

.next-item > a,
.next-step-item > a,
.next-links a {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #0e6e6a;
  text-decoration: underline;
  text-decoration-color: #b6d6d3;
}

.next-item > a:hover,
.next-step-item > a:hover,
.next-links a:hover {
  text-decoration-color: #0e6e6a;
}

.next-item > p,
.next-step-desc,
.next-links > li > p {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

/* 相关内容条 */

.related-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 18px;
  margin-top: 40px;
  padding-top: 18px;
  border-top: 1px solid #dfe3e6;
  font-size: 14px;
  line-height: 1.6;
}

.related-links-label {
  font-weight: 600;
  color: #1c2226;
}

.related-links-item {
  color: #0e6e6a;
  text-decoration: underline;
  text-decoration-color: #b6d6d3;
}

/* 图片容器 */

.form-figure,
.guide-figure,
.media-figure,
.compare-figure,
.feedback-figure {
  margin-top: 20px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
  overflow: hidden;
}

.form-figure img,
.guide-figure img,
.media-figure img,
.compare-figure img,
.feedback-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  background-color: #eef1f2;
}

.form-figure figcaption,
.guide-figure figcaption,
.media-figure figcaption,
.figure-caption {
  padding: 12px 16px;
  font-size: 13px;
  line-height: 1.7;
  color: #5a6670;
  border-top: 1px solid #eef1f2;
}

/* ==========================================================================
   页面层 pages：首页
   ========================================================================== */

.home-main .hero {
  display: grid;
  grid-template-columns: minmax(0, 4fr) minmax(0, 6fr);
  gap: 32px;
  align-items: start;
  padding: 12px 0 8px;
}

.hero-text {
  min-width: 0;
}

.hero-text h1 {
  font-size: 32px;
  line-height: 1.3;
  font-weight: 700;
  color: #1c2226;
  letter-spacing: 0;
}

.hero-lead {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.75;
  color: #4a555d;
}

.step-list {
  margin-top: 22px;
  border-top: 1px solid #dfe3e6;
}

.step-item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  row-gap: 2px;
  padding: 12px 10px;
  border-bottom: 1px solid #dfe3e6;
  border-radius: 4px;
}

.step-item:hover {
  background-color: #e6f2f1;
}

.step-num {
  grid-row: span 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  font-weight: 700;
  color: #c2703d;
  background-color: #fbf7f2;
  border: 1px solid #ecdfd1;
  border-radius: 50%;
}

.step-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #1c2226;
}

.step-desc {
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

.hero-figure {
  min-width: 0;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
  overflow: hidden;
}

.hero-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background-color: #eef1f2;
}

.meta-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid #dfe3e6;
}

.meta-cell {
  min-width: 0;
  padding: 10px 14px;
}

.meta-cell + .meta-cell {
  border-left: 1px solid #eef1f2;
}

.meta-label {
  display: block;
  font-size: 12px;
  line-height: 1.5;
  color: #5a6670;
  letter-spacing: 0.02em;
}

.meta-value {
  display: block;
  margin-top: 2px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;
  color: #1c2226;
  overflow-wrap: anywhere;
}

/* 频道索引清单 */

.channel-index .section-head {
  max-width: 720px;
}

.channel-list {
  margin-top: 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
  overflow: hidden;
}

.channel-row {
  display: grid;
  grid-template-columns: minmax(180px, 3fr) minmax(0, 7fr);
  gap: 16px;
  align-items: start;
  padding: 14px 18px;
}

.channel-row + .channel-row {
  border-top: 1px solid #eef1f2;
}

.channel-row:hover {
  background-color: #e6f2f1;
}

.channel-name {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.channel-num {
  flex: 0 0 auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  font-weight: 700;
  color: #0e6e6a;
  letter-spacing: 0.04em;
}

.channel-title {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
  color: #1c2226;
}

.channel-need {
  min-width: 0;
}

.channel-need p {
  font-size: 15px;
  line-height: 1.7;
  color: #3b454c;
}

.channel-need a {
  display: inline-block;
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.6;
  color: #0e6e6a;
  text-decoration: underline;
  text-decoration-color: #b6d6d3;
}

/* 精选专题序列 */

.work-row {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
  gap: 24px;
  align-items: center;
  margin-top: 18px;
  padding: 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.work-row + .work-row {
  margin-top: 14px;
}

.work-row-reverse .work-figure {
  order: 2;
}

.work-row-reverse .work-meta {
  order: 1;
}

.work-figure {
  min-width: 0;
  border: 1px solid #eef1f2;
  border-radius: 4px;
  overflow: hidden;
}

.work-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background-color: #eef1f2;
}

.work-meta {
  min-width: 0;
}

.work-title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  color: #1c2226;
}

.meta-list {
  margin-top: 12px;
}

.meta-pair,
.meta-item {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  padding: 6px 0;
  font-size: 14px;
  line-height: 1.65;
}

.meta-pair + .meta-pair,
.meta-item + .meta-item {
  border-top: 1px solid #f0f3f4;
}

.meta-pair dt,
.meta-item dt {
  color: #5a6670;
}

.meta-pair dd,
.meta-item dd {
  color: #1c2226;
  overflow-wrap: anywhere;
}

.work-link {
  display: inline-block;
  margin-top: 12px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: #0e6e6a;
  text-decoration: underline;
  text-decoration-color: #b6d6d3;
}

.work-link:hover {
  text-decoration-color: #0e6e6a;
}

/* 题材对照预览 */

.compare-preview .table-scroll {
  margin-top: 16px;
}

/* 来源与核验摘要 */

.source-summary {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 4fr);
  gap: 28px;
  align-items: start;
  padding: 36px 0 0;
}

.source-text {
  min-width: 0;
}

.source-text h2 {
  font-size: 21px;
  line-height: 1.4;
  font-weight: 700;
  color: #1c2226;
}

.source-text p {
  max-width: 720px;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.source-link {
  font-weight: 600;
}

.source-link a {
  text-decoration: underline;
}

.checklist-aside h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.checklist-aside .checklist {
  margin-top: 12px;
}

/* 首页问答 */

.home-faq .faq-item:first-of-type {
  margin-top: 18px;
}

/* ==========================================================================
   页面层 pages：频道分类
   ========================================================================== */

.method-section .section-intro {
  margin-top: 10px;
}

.method-item {
  margin-top: 18px;
  padding: 18px 20px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.method-subtitle {
  font-size: 17px;
  font-weight: 600;
  line-height: 1.5;
  color: #1c2226;
}

.method-item p {
  max-width: 720px;
  margin-top: 8px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.channel-block {
  display: grid;
  grid-template-columns: minmax(160px, 2fr) minmax(0, 6fr) minmax(150px, 2fr);
  gap: 20px;
  align-items: start;
  margin-top: 14px;
  padding: 18px 20px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.channel-block:hover {
  border-color: #b6d6d3;
}

.channel-id {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.channel-block .channel-num {
  font-size: 13px;
  font-weight: 700;
}

.channel-block .channel-name {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.45;
  color: #1c2226;
}

.channel-desc {
  min-width: 0;
}

.channel-desc p {
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.channel-desc p + p {
  margin-top: 6px;
  font-size: 14px;
  color: #5a6670;
}

.channel-link {
  min-width: 0;
}

.channel-link a {
  display: inline-block;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.6;
  color: #0e6e6a;
  text-decoration: underline;
  text-decoration-color: #b6d6d3;
}

.overlap-section > p {
  max-width: 720px;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.form-section > p {
  max-width: 720px;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

/* ==========================================================================
   页面层 pages：专题片单
   ========================================================================== */

.section-intro h2,
.section-intro > p {
  max-width: 720px;
}

.section-intro > p {
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.intro-points {
  margin-top: 16px;
  max-width: 720px;
}

.intro-point {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  padding: 10px 0;
  font-size: 15px;
  line-height: 1.7;
  color: #3b454c;
  border-top: 1px solid #dfe3e6;
}

.point-label {
  font-size: 14px;
  font-weight: 600;
  color: #0e6e6a;
}

.collection-row {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 5fr);
  gap: 24px;
  align-items: center;
  margin-top: 18px;
  padding: 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.collection-row.is-reversed .collection-figure {
  order: 2;
}

.collection-row.is-reversed .collection-meta {
  order: 1;
}

.collection-figure {
  min-width: 0;
  border: 1px solid #eef1f2;
  border-radius: 4px;
  overflow: hidden;
}

.collection-figure img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  background-color: #eef1f2;
}

.collection-meta {
  min-width: 0;
}

.collection-name {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.45;
  color: #1c2226;
}

.meta-link {
  display: inline-block;
  margin-top: 12px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: #0e6e6a;
  text-decoration: underline;
  text-decoration-color: #b6d6d3;
}

.principles-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.principle-col {
  min-width: 0;
  padding: 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.principle-col h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.principle-col p {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.75;
  color: #3b454c;
}

.section-maintain > p {
  max-width: 720px;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.section-next .next-links {
  max-width: 720px;
}

/* ==========================================================================
   页面层 pages：题材对照
   ========================================================================== */

.conclusion-list {
  margin-top: 18px;
}

.conclusion-item {
  padding: 14px 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-left: 3px solid #0e6e6a;
  border-radius: 6px;
}

.conclusion-item + .conclusion-item {
  margin-top: 10px;
}

.conclusion-text {
  font-size: 16px;
  font-weight: 600;
  line-height: 1.6;
  color: #1c2226;
}

.conclusion-note {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.table-section .table-scroll {
  margin-top: 16px;
}

.sortable {
  padding: 0;
}

.sort-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  color: #ffffff;
  background-color: transparent;
  border: 0;
  white-space: nowrap;
}

.sort-button:hover {
  background-color: #0b5754;
}

.sort-indicator {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  color: #c9e6e4;
}

.compare-thead th {
  padding: 0;
}

.table-footnote {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.table-footnote a {
  font-weight: 600;
  text-decoration: underline;
}

.dimension-list {
  margin-top: 18px;
}

.dimension-item {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr);
  gap: 20px;
  padding: 14px 0;
  border-top: 1px solid #dfe3e6;
}

.dimension-term {
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  color: #1c2226;
}

.dimension-desc {
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.misjudge-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-top: 18px;
}

.misjudge-item {
  min-width: 0;
  padding: 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.misjudge-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.misjudge-desc {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.75;
  color: #3b454c;
}

.next-step-section .next-step-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.next-step-item {
  margin-top: 0;
}

/* ==========================================================================
   页面层 pages：观看指南
   ========================================================================== */

.flow-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.flow-step {
  min-width: 0;
  padding: 16px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.flow-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  font-weight: 700;
  color: #c2703d;
  background-color: #fbf7f2;
  border: 1px solid #ecdfd1;
  border-radius: 50%;
}

.flow-name {
  margin-top: 10px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.flow-desc {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.step-block {
  display: grid;
  grid-template-columns: minmax(200px, 3fr) minmax(0, 7fr);
  gap: 24px;
  align-items: start;
  margin-top: 16px;
  padding: 20px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.step-head {
  display: flex;
  align-items: baseline;
  gap: 10px;
  min-width: 0;
}

.step-index {
  flex: 0 0 auto;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 13px;
  font-weight: 700;
  color: #c2703d;
  letter-spacing: 0.04em;
}

.step-head h3 {
  font-size: 17px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.step-body {
  min-width: 0;
}

.step-body > p {
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.step-body > p a {
  text-decoration: underline;
}

.step-points {
  margin-top: 10px;
}

.step-points > li {
  position: relative;
  padding-left: 16px;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.step-points > li + li {
  margin-top: 4px;
}

.step-points > li::before {
  content: "";
  position: absolute;
  top: 10px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #0e6e6a;
  border-radius: 50%;
}

.step-points a {
  text-decoration: underline;
}

.check-list > .check-item {
  display: block;
  padding: 14px 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.check-list > .check-item + .check-item {
  margin-top: 10px;
}

.check-item h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.check-item p {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.75;
  color: #3b454c;
}

.verify-list {
  margin-top: 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
  overflow: hidden;
}

.verify-item {
  display: grid;
  grid-template-columns: minmax(150px, 3fr) minmax(0, 7fr);
  gap: 18px;
  align-items: start;
  padding: 14px 18px;
}

.verify-item + .verify-item {
  border-top: 1px solid #eef1f2;
}

.verify-item:hover {
  background-color: #e6f2f1;
}

.verify-target {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: #1c2226;
}

.verify-standard {
  font-size: 14px;
  line-height: 1.7;
  color: #3b454c;
}

.faq-section .faq-item:first-of-type {
  margin-top: 18px;
}

/* ==========================================================================
   页面层 pages：来源与署名
   ========================================================================== */

.content-shell {
  max-width: 1120px;
}

.principle-section > p,
.organize-section > p,
.correction-section > p {
  max-width: 720px;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.table-wrap {
  margin-top: 16px;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.data-table {
  font-size: 14px;
  line-height: 1.65;
}

.table-caption {
  padding: 12px 16px;
  font-size: 13px;
  line-height: 1.6;
  text-align: left;
  color: #5a6670;
  background-color: #f7faf9;
  border-bottom: 1px solid #dfe3e6;
}

.fields-table thead th {
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  text-align: left;
  color: #ffffff;
  background-color: #0e6e6a;
  white-space: nowrap;
}

.fields-table tbody th,
.fields-table tbody td {
  padding: 12px 16px;
  text-align: left;
  vertical-align: top;
  color: #3b454c;
  border-top: 1px solid #eef1f2;
}

.fields-table tbody th {
  font-weight: 600;
  color: #1c2226;
  background-color: #f7faf9;
  white-space: nowrap;
}

.point-list {
  margin-top: 14px;
  max-width: 720px;
}

.point-list > li {
  position: relative;
  padding-left: 18px;
  font-size: 15px;
  line-height: 1.75;
  color: #3b454c;
}

.point-list > li + li {
  margin-top: 8px;
}

.point-list > li::before {
  content: "";
  position: absolute;
  top: 11px;
  left: 0;
  width: 6px;
  height: 6px;
  background-color: #0e6e6a;
  border-radius: 50%;
}

.notice-box {
  max-width: 720px;
  margin-top: 16px;
  padding: 12px 16px;
  font-size: 14px;
  line-height: 1.7;
  color: #4a555d;
  background-color: #fbf7f2;
  border-left: 3px solid #c2703d;
  border-radius: 4px;
}

.notice-box a {
  text-decoration: underline;
}

.next-section .next-list {
  max-width: 720px;
}

.next-section .next-list > li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 10px;
}

.next-section .next-list > li > span {
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

/* ==========================================================================
   页面层 pages：内容反馈
   ========================================================================== */

.feedback-type-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.feedback-type-card {
  min-width: 0;
  padding: 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.feedback-type-name {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.feedback-type-desc {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.75;
  color: #3b454c;
}

.feedback-type-hint {
  margin-top: 8px;
  padding-top: 8px;
  font-size: 13px;
  line-height: 1.7;
  color: #5a6670;
  border-top: 1px dashed #dfe3e6;
}

.feedback-checklist .check-list {
  margin-top: 18px;
}

.feedback-checklist .check-item {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.feedback-checklist .check-item + .check-item {
  margin-top: 10px;
}

.check-body {
  min-width: 0;
}

.check-title {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: #1c2226;
}

.check-desc {
  margin-top: 4px;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.field-list {
  margin-top: 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
  overflow: hidden;
}

.field-item {
  display: grid;
  grid-template-columns: 160px minmax(0, 1fr);
  gap: 18px;
  padding: 14px 18px;
}

.field-item + .field-item {
  border-top: 1px solid #eef1f2;
}

.field-name {
  font-size: 15px;
  font-weight: 600;
  line-height: 1.6;
  color: #1c2226;
}

.field-desc {
  font-size: 14px;
  line-height: 1.7;
  color: #3b454c;
}

.process-list {
  margin-top: 18px;
}

.process-step {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px 18px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.process-step + .process-step {
  margin-top: 10px;
}

.process-num {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  font-weight: 700;
  color: #c2703d;
  background-color: #fbf7f2;
  border: 1px solid #ecdfd1;
  border-radius: 50%;
}

.process-body {
  min-width: 0;
}

.process-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.process-desc {
  margin-top: 6px;
  font-size: 14px;
  line-height: 1.75;
  color: #3b454c;
}

.feedback-faq .faq-list {
  margin-top: 18px;
}

.next-step .next-step-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.next-step .next-step-item {
  margin-top: 0;
}

/* ==========================================================================
   页面层 pages：404
   ========================================================================== */

.error-main {
  max-width: 1120px;
  margin: 0 auto;
  padding: 56px 32px 64px;
}

.error-panel {
  max-width: 640px;
  padding: 32px;
  background-color: #ffffff;
  border: 1px solid #dfe3e6;
  border-radius: 6px;
}

.error-code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  color: #c2703d;
  letter-spacing: 0.08em;
}

.error-panel h1 {
  margin-top: 8px;
  font-size: 28px;
  line-height: 1.35;
  font-weight: 700;
  color: #1c2226;
}

.error-lead {
  margin-top: 12px;
  font-size: 16px;
  line-height: 1.75;
  color: #3b454c;
}

.error-hint {
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.7;
  color: #5a6670;
}

.error-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-top: 20px;
  padding: 10px 20px;
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
  background-color: #0e6e6a;
  border-radius: 6px;
}

.error-action:hover {
  background-color: #0b5754;
  color: #ffffff;
  text-decoration: none;
}

.error-links {
  margin-top: 32px;
}

.error-links-title {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #1c2226;
}

.error-links-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
  margin-top: 12px;
  font-size: 15px;
  line-height: 1.6;
}

.error-links-list a {
  text-decoration: underline;
  text-decoration-color: #b6d6d3;
}

/* ==========================================================================
   响应式层 responsive
   ========================================================================== */

@media (max-width: 960px) {
  .header-inner {
    padding: 0 20px;
    gap: 12px;
  }

  .site-nav {
    display: none;
  }

  .nav-toggle {
    display: flex;
  }

  .mobile-nav:not([hidden]) {
    display: block;
  }

  .site-notice,
  .home-main,
  .inner-main,
  .error-main {
    padding-left: 20px;
    padding-right: 20px;
  }

  .footer-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    padding: 32px 20px 24px;
  }

  .footer-statement {
    padding: 14px 20px 24px;
  }

  .home-main .hero {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }

  .hero-text h1 {
    font-size: 28px;
  }

  .channel-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }

  .work-row,
  .collection-row {
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
  }

  .work-row-reverse .work-figure,
  .collection-row.is-reversed .collection-figure {
    order: 0;
  }

  .work-row-reverse .work-meta,
  .collection-row.is-reversed .collection-meta {
    order: 0;
  }

  .source-summary {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .channel-block {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .channel-link {
    padding-top: 4px;
  }

  .principles-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .flow-steps {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .step-block {
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
  }

  .verify-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .misjudge-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .next-step-section .next-step-list,
  .next-step .next-step-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .dimension-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .feedback-type-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .field-item {
    grid-template-columns: minmax(0, 1fr);
    gap: 4px;
  }

  .error-panel {
    padding: 24px;
  }
}

@media (max-width: 640px) {
  body {
    font-size: 16px;
  }

  .header-inner {
    height: 60px;
  }

  .brand {
    font-size: 16px;
  }

  .site-notice {
    font-size: 12px;
    padding-top: 6px;
    padding-bottom: 6px;
  }

  .home-main,
  .inner-main {
    padding-top: 16px;
    padding-bottom: 40px;
  }

  .page-title {
    font-size: 24px;
  }

  .hero-text h1 {
    font-size: 24px;
  }

  .section {
    padding-top: 28px;
  }

  .section-title,
  .section-head h2,
  .section > h2,
  .source-text h2 {
    font-size: 19px;
  }

  .meta-band {
    grid-template-columns: minmax(0, 1fr);
  }

  .meta-cell + .meta-cell {
    border-left: 0;
    border-top: 1px solid #eef1f2;
  }

  .step-item {
    grid-template-columns: 34px minmax(0, 1fr);
    padding: 10px 6px;
  }

  .step-num {
    width: 28px;
    height: 28px;
    font-size: 13px;
  }

  .hero-actions .btn-primary,
  .hero-actions .btn-secondary {
    flex: 1 1 auto;
  }

  .meta-pair,
  .meta-item {
    grid-template-columns: 84px minmax(0, 1fr);
  }

  .intro-point {
    grid-template-columns: minmax(0, 1fr);
    gap: 2px;
  }

  .flow-steps {
    grid-template-columns: minmax(0, 1fr);
  }

  .footer-inner {
    grid-template-columns: minmax(0, 1fr);
    gap: 20px;
  }

  .compare-table {
    font-size: 13px;
  }

  .compare-table thead th,
  .compare-table tbody th,
  .compare-table tbody td {
    padding: 8px 10px;
  }

  .fields-table thead th,
  .fields-table tbody th,
  .fields-table tbody td {
    padding: 8px 10px;
  }

  .faq-question {
    font-size: 15px;
    padding: 12px 14px;
  }

  .faq-answer {
    padding: 0 14px 14px;
  }

  .error-panel h1 {
    font-size: 24px;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  a {
    transition: none;
  }
}
