:root {
  --paper-ink: #20252d;
  --paper-muted: #607278;
  --paper-line: #d6e8e7;
  --paper-teal: #2cc6c6;
  --paper-dark: #071e25;
  --paper-shell: min(1240px, calc(100% - 48px));
  font-family: "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; color: var(--paper-ink); background: #f3f8f8; }
.paper-shell { width: var(--paper-shell); margin-inline: auto; }

.paper-hero {
  padding: 38px 0 64px;
  color: #fff;
  background: linear-gradient(135deg, #061a21 0%, #092d34 62%, #0d4549 100%);
}

.paper-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: #91b8b9;
  font-size: 13px;
}

.paper-breadcrumb a { color: #c7e4e3; }
.paper-heading {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 56px;
  align-items: end;
  padding-top: 64px;
}

.paper-kicker {
  margin: 0 0 16px;
  color: #67ddd6;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .12em;
}

.paper-heading h1 {
  max-width: 880px;
  margin: 0;
  color: #fff;
  font-size: clamp(40px, 5.2vw, 68px);
  font-weight: 650;
  line-height: 1.18;
  letter-spacing: -.035em;
}

.paper-tagline {
  margin: 24px 0 0;
  color: #8ce4df;
  font-size: 22px;
  font-weight: 650;
}

.paper-meta { margin: 18px 0 0; color: #91b6b7; font-size: 13px; }
.paper-actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: flex-end; }
.paper-button {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border: 1px solid transparent;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
}

.paper-button-primary { color: #08272c; background: var(--paper-teal); }
.paper-button-primary:hover { background: #57d6d3; }
.paper-button-secondary { color: #e5f5f4; border-color: #6b9c9d; background: transparent; }
.paper-button-secondary:hover { border-color: #8bd4d1; background: rgba(255,255,255,.06); }
.paper-button:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }

.paper-document { padding: 72px 0 96px; background: #fff; }
.paper-layout { display: grid; grid-template-columns: 230px minmax(0, 900px); gap: 64px; justify-content: center; }
.paper-toc {
  position: sticky;
  top: 110px;
  align-self: start;
  padding: 20px 0;
  border-top: 2px solid #0c8e8e;
  border-bottom: 1px solid var(--paper-line);
}
.paper-toc > p { margin: 0 0 12px; color: #0c7778; font-size: 13px; font-weight: 700; letter-spacing: .12em; }
.paper-toc ol { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.paper-toc a { display: block; padding: 7px 0; color: #65777d; font-size: 13px; line-height: 1.45; text-decoration: none; }
.paper-toc a:hover,
.paper-toc a:focus-visible { color: #087b7c; }

.paper-document-heading { margin-bottom: 38px; padding-bottom: 34px; border-bottom: 1px solid var(--paper-line); }
.paper-document-heading .paper-kicker { color: #0c8e8e; }
.paper-document-heading h2 { margin: 0; color: var(--paper-ink); font-size: clamp(30px, 3.6vw, 46px); line-height: 1.3; }
.paper-document-heading > p { margin: 16px 0 0; color: var(--paper-muted); font-size: 14px; line-height: 1.8; }

.paper-content > section { padding-top: 8px; margin-top: 70px; scroll-margin-top: 112px; }
.paper-content > section + section { padding-top: 70px; border-top: 1px solid var(--paper-line); }
.paper-content h2 { margin: 0 0 28px; color: var(--paper-ink); font-size: clamp(28px, 3.2vw, 42px); line-height: 1.3; }
.paper-content h3 { margin: 34px 0 14px; color: #263b40; font-size: 20px; line-height: 1.5; }
.paper-content p,
.paper-content li { color: var(--paper-muted); font-size: 16px; line-height: 1.95; }
.paper-content p { margin: 0 0 18px; }
.paper-content ul,
.paper-content ol { display: grid; gap: 9px; margin: 18px 0 24px; padding-left: 24px; }
.paper-content li strong { color: #294f52; }
.paper-content .paper-note { margin-top: 32px; padding: 18px 20px; border-left: 3px solid #48beba; background: #eef8f7; font-size: 14px; }

.paper-properties { margin-bottom: 70px; }
.paper-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0 0 36px; border: 1px solid var(--paper-line); }
.paper-stats div { padding: 22px 18px; border-right: 1px solid var(--paper-line); background: #f1f9f8; }
.paper-stats div:last-child { border-right: 0; }
.paper-stats strong { display: block; color: #087f80; font-size: 24px; }
.paper-stats span { display: block; margin-top: 5px; color: #688083; font-size: 12px; }
.paper-flow { padding: 22px 24px; border: 1px solid #b8dfdd; color: #215b5d !important; background: #eff9f8; font-weight: 700; text-align: center; }

.paper-table-wrap { overflow-x: auto; margin: 24px 0 30px; border: 1px solid var(--paper-line); }
.paper-table { width: 100%; border-collapse: collapse; margin: 24px 0 30px; }
.paper-table-wrap .paper-table { min-width: 660px; margin: 0; }
.paper-table-wide { min-width: 820px !important; }
.paper-table th,
.paper-table td { padding: 15px 17px; border: 1px solid var(--paper-line); text-align: left; vertical-align: top; font-size: 14px; line-height: 1.75; }
.paper-table th { color: #244f52; background: #eaf6f5; }
.paper-table td { color: #5c6f75; background: #fff; }
.paper-table td:first-child { color: #28575a; font-weight: 700; }

@media (max-width: 900px) {
  .paper-heading { grid-template-columns: 1fr; gap: 28px; }
  .paper-actions { justify-content: flex-start; }
  .paper-layout { grid-template-columns: 1fr; gap: 42px; }
  .paper-toc { position: static; columns: 2; }
  .paper-toc > p { column-span: all; }
}

@media (max-width: 560px) {
  :root { --paper-shell: min(100% - 28px, 1240px); }
  .paper-hero { padding: 28px 0 46px; }
  .paper-heading { padding-top: 44px; }
  .paper-heading h1 { font-size: 38px; }
  .paper-tagline { font-size: 19px; }
  .paper-actions { align-items: stretch; flex-direction: column; }
  .paper-button { width: 100%; }
  .paper-document { padding: 48px 0 64px; }
  .paper-toc { columns: 1; }
  .paper-content > section { margin-top: 52px; }
  .paper-content > section + section { padding-top: 52px; }
  .paper-stats { grid-template-columns: 1fr 1fr; }
  .paper-stats div:nth-child(2) { border-right: 0; }
  .paper-stats div:nth-child(-n+2) { border-bottom: 1px solid var(--paper-line); }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}
