/* 安全白皮书 · 阅读与打印样式（只写 .wp-* 自有前缀，不重定义全站组件） */

.wp { padding: calc(var(--envbar-h) + var(--header-h) + 4rem) 0 8rem; background: #fff; }
.wp-cover { padding-bottom: 4.8rem; border-bottom: 1px solid var(--line); }
.wp-kicker { font-family: var(--font-mono); font-size: 1.2rem; letter-spacing: .16em; color: var(--cyan-ink); margin: 0 0 1.6rem; }
.wp-cover h1 { font-size: clamp(3.2rem, 5vw, 4.8rem); font-weight: 600; line-height: 1.15; letter-spacing: -.01em; margin: 0 0 1.4rem; color: var(--ink); }
.wp-sub { font-size: clamp(1.6rem, 2vw, 2rem); line-height: 1.6; color: #3d586e; max-width: 74rem; margin: 0 0 1.6rem; }
.wp-meta { font-size: 1.3rem; color: var(--ink-3); line-height: 1.7; max-width: 80rem; margin: 0 0 2.8rem; }
.wp-actions { display: flex; flex-wrap: wrap; gap: 1.2rem; }

.wp-body { display: grid; grid-template-columns: 24rem 1fr; gap: 5.6rem; padding-top: 4.8rem; align-items: start; }
.wp-toc { position: sticky; top: calc(var(--header-h) + 2.4rem); border-left: 2px solid var(--line); padding-left: 2rem; }
.wp-toc h2 { font-size: 1.2rem; font-family: var(--font-mono); letter-spacing: .14em; color: var(--ink-3); margin: 0 0 1.4rem; text-transform: uppercase; }
.wp-toc a { display: block; font-size: 1.4rem; line-height: 1.5; color: #3d586e; padding: .55rem 0; text-decoration: none; border-bottom: 1px solid transparent; }
.wp-toc a:hover { color: var(--cyan-ink); border-bottom-color: var(--line); }

.wp-doc { max-width: 82rem; color: #24405a; }
.wp-doc h2 { font-size: clamp(2.2rem, 3vw, 2.9rem); font-weight: 600; line-height: 1.3; color: var(--ink); margin: 5.2rem 0 1.8rem; padding-top: 2.4rem; border-top: 1px solid var(--line); }
.wp-doc h2:first-child { margin-top: 0; padding-top: 0; border-top: none; }
.wp-doc h3 { font-size: 1.85rem; font-weight: 600; color: var(--ink); margin: 3.4rem 0 1.2rem; }
.wp-doc h4 { font-size: 1.55rem; font-weight: 600; color: #2b5470; margin: 2.4rem 0 1rem; }
.wp-doc p { font-size: 1.55rem; line-height: 1.85; margin: 0 0 1.5rem; }
.wp-doc ul, .wp-doc ol { margin: 0 0 1.8rem; padding-left: 2.4rem; }
.wp-doc li { font-size: 1.5rem; line-height: 1.8; margin-bottom: .7rem; }
.wp-doc strong { color: var(--ink); font-weight: 600; }
.wp-doc code { font-family: var(--font-mono); font-size: 1.35rem; background: #f2f6f8; border: 1px solid var(--line); border-radius: .4rem; padding: .15rem .5rem; }
.wp-doc blockquote { margin: 2.4rem 0; padding: 1.6rem 2rem; background: #f6fafb; border-left: .3rem solid var(--cyan-ink); border-radius: .6rem; }
.wp-doc blockquote p { margin: 0 0 .6rem; font-size: 1.45rem; color: #2b5470; }
.wp-doc blockquote p:last-child { margin-bottom: 0; }
.wp-doc hr { border: none; border-top: 1px solid var(--line); margin: 4rem 0; }

.wp-table-wrap { overflow-x: auto; margin: 2rem 0 2.6rem; }
.wp-doc table { width: 100%; border-collapse: collapse; font-size: 1.4rem; line-height: 1.65; }
.wp-doc th { text-align: left; font-family: var(--font-mono); font-size: 1.15rem; letter-spacing: .06em; color: #4a6a80; background: #f6f9fb; border-bottom: 1px solid var(--line-2); padding: 1.1rem 1.2rem; white-space: nowrap; }
.wp-doc td { padding: 1.15rem 1.2rem; border-bottom: 1px solid var(--line); vertical-align: top; color: #2b4661; }

@media (max-width: 1000px) {
  .wp-body { grid-template-columns: 1fr; gap: 3.2rem; }
  .wp-toc { position: static; border-left: none; border-top: 2px solid var(--line); padding: 2rem 0 0; }
}

/* ---------- 打印 / PDF ---------- */
@page { size: A4; margin: 16mm 14mm 18mm; }
@media print {
  :root { --header-h: 0px; --envbar-h: 0px; }
  #header, #drawer, footer, .wp-actions, .wp-toc, .env-bar, .bottom-dock { display: none !important; }
  html, body { background: #fff !important; }
  .wp { padding: 0 !important; }
  .wp-body { display: block !important; padding-top: 3rem !important; }
  .wp-cover { border-bottom: 1px solid #ccc; padding-bottom: 2.4rem; }
  .wp-cover h1 { font-size: 30pt; }
  .wp-sub { font-size: 12pt; }
  .wp-doc { max-width: none; }
  .wp-doc h2 { font-size: 17pt; margin: 22pt 0 10pt; padding-top: 12pt; page-break-after: avoid; }
  .wp-doc h3 { font-size: 13pt; margin: 16pt 0 8pt; page-break-after: avoid; }
  .wp-doc p, .wp-doc li { font-size: 10.5pt; line-height: 1.7; orphans: 3; widows: 3; }
  .wp-doc table { font-size: 9pt; page-break-inside: auto; }
  .wp-doc tr { page-break-inside: avoid; }
  .wp-doc thead { display: table-header-group; }
  .wp-table-wrap { overflow: visible !important; }
  .wp-doc blockquote { background: #f6fafb !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  a { color: inherit !important; text-decoration: none !important; }
}
.wp-fig{margin:3.2rem 0 4rem;padding:0}
.wp-fig img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:1rem;background:#fff;cursor:zoom-in}
.wp-fig img:focus-visible{outline:2px solid var(--cyan-ink);outline-offset:3px}
.wp-fig figcaption{margin-top:1.2rem;font-size:1.3rem;color:var(--ink-3);text-align:center}
@media print{.wp-fig{page-break-inside:avoid}.wp-fig img{border-color:#ddd}}
