/* 亲子共读 · 读本排版（PDF 生成器与在线打印版共用；改这里两边同时生效） */
@page { size: A4; margin: 16mm 15mm 15mm; }
* { box-sizing: border-box; }
html, body { margin:0; padding:0; }
body {
  font-family: "Microsoft YaHei","微软雅黑","DengXian","SimHei",sans-serif;
  color:#2e2a3c; font-size:14pt; line-height:1.85;
}
.emoji, .leaf-art, .cover-emoji, .bk-emoji, .story-emoji {
  font-family:"Segoe UI Emoji","Microsoft YaHei",sans-serif;
}
h1,h2,h3 { margin:0; font-weight:700; letter-spacing:.5px; }
p { margin:0; }
a { color:#5b4bd6; text-decoration:none; }

/* 封面 */
.cover { page-break-after:always; padding-top:52mm; text-align:center; }
.cover-emoji { font-size:76pt; line-height:1.2; }
.cover-kicker { font-size:12pt; letter-spacing:5px; color:#8b84a3; margin-top:10mm; }
.cover h1 { font-size:42pt; line-height:1.35; margin-top:8mm; color:#2b2440; }
.cover-hi { font-size:19pt; color:#6b62a8; font-weight:400; margin-top:2mm; }
.cover-sub { font-size:13pt; color:#6a6480; margin-top:14mm; }
.cover-rule { width:56mm; height:1.2mm; background:linear-gradient(90deg,#a89bf0,#f0a6c8); margin:16mm auto 0; }
.cover-meta { font-size:11pt; color:#9a94ad; margin-top:10mm; line-height:2; }
.cover-note { font-size:11pt; color:#7a748e; margin-top:24mm; line-height:2; }

/* 目录 / 说明 */
.section { page-break-after:always; }
.section h2 { font-size:25pt; color:#2b2440; margin-bottom:4mm; }
.section .lead { font-size:12pt; color:#7a748e; margin-bottom:9mm; }
.toc { list-style:none; padding:0; margin:0; }
.toc li { padding:3.2mm 0; border-bottom:1px dotted #ddd8e8; font-size:13pt; }
.toc .no { display:inline-block; width:14mm; color:#a29ac0; font-size:11pt; }
.toc .nm { font-weight:700; }
.toc .sb { color:#8b84a3; font-size:10.5pt; margin-left:3mm; }
.toc .mi { float:right; color:#8b84a3; font-size:10.5pt; }
.guide-box { border:1px solid #e4dff2; background:#faf8ff; border-radius:4mm;
             padding:7mm 8mm; margin-bottom:7mm; page-break-inside:avoid; }
.guide-box h3 { font-size:15pt; color:#5b4bd6; margin-bottom:3mm; }
.guide-box p { font-size:12.5pt; color:#514b66; line-height:1.9; }
.guide-num { display:inline-block; width:9mm; height:9mm; line-height:9mm; text-align:center;
             background:#5b4bd6; color:#fff; border-radius:50%; font-size:11pt; margin-right:3mm; }
.linkbox { border:1px dashed #b9aef0; border-radius:3mm; padding:5mm 6mm;
           font-size:11.5pt; color:#5b4bd6; margin-top:6mm; word-break:break-all; }

/* 分辑页（合集用） */
.divider { page-break-before:always; page-break-after:always; padding-top:70mm; text-align:center; }
.divider .bk-emoji { font-size:64pt; }
.divider h2 { font-size:34pt; margin-top:10mm; color:#2b2440; }
.divider p { font-size:14pt; color:#7a748e; margin-top:6mm; }

/* 故事 */
.story { page-break-before:always; }
.story-head { border-bottom:1.2mm solid #ece7fa; padding-bottom:5mm; margin-bottom:7mm; }
.story-no { font-size:10.5pt; letter-spacing:3px; color:#a29ac0; }
.story-head h2 { font-size:27pt; color:#2b2440; margin-top:2mm; }
.story-emoji { font-size:24pt; margin-left:3mm; }
.story-sub { font-size:13pt; color:#6b62a8; margin-top:2mm; }
.story-meta { font-size:10.5pt; color:#9a94ad; margin-top:4mm; line-height:1.7; }
.leaf { page-break-inside:avoid; margin-bottom:6mm; padding:0 0 4mm 7mm;
        border-left:1mm solid #e9e3f8; }
.leaf-art { font-size:24pt; line-height:1.3; color:#5b4bd6; }
.leaf-pinyin { font-size:10pt; color:#a29ac0; letter-spacing:1px; margin-bottom:1mm; }
.leaf-text p { font-size:14.5pt; line-height:1.9; margin-bottom:1mm; }
.leaf-tip { font-size:9.5pt; color:#8b84a3; border-top:1px dashed #e2dcf0;
            padding-top:2mm; margin-top:3mm; line-height:1.65; }
.moral { page-break-inside:avoid; margin-top:5mm; padding:4mm 6mm; background:#faf8ff;
         border-radius:3mm; font-size:12.5pt; color:#5b4bd6; }
.story-foot { font-size:9.5pt; color:#a9a3bb; margin-top:4mm; word-break:break-all; }

/* 附录 */
.appendix { page-break-before:always; }
.appendix h2 { font-size:24pt; color:#2b2440; margin-bottom:3mm; }
.lite { page-break-inside:avoid; border:1px solid #eee9f7; border-radius:3mm;
        padding:5mm 6mm; margin-bottom:5mm; }
.lite-t { font-size:14pt; font-weight:700; color:#4a4270; }
.lite-tag { font-size:9.5pt; color:#8b84a3; margin-left:3mm; font-weight:400; }
.lite-b { font-size:12.5pt; line-height:1.85; margin-top:2mm; white-space:pre-line; }
.lite-h { font-size:10pt; color:#8b84a3; margin-top:2mm; }
.checkin { page-break-before:always; }
.checkin h2 { font-size:24pt; margin-bottom:3mm; }
.checkin p { font-size:12pt; color:#7a748e; margin-bottom:8mm; }
table { width:100%; border-collapse:collapse; font-size:11pt; }
th, td { border:1px solid #dcd6ec; padding:4mm 3mm; text-align:left; height:13mm; }
th { background:#f6f3ff; color:#5b4bd6; font-weight:700; font-size:10.5pt; }
.backcover { page-break-before:always; padding-top:70mm; text-align:center; }
.backcover h2 { font-size:30pt; color:#2b2440; }
.backcover p { font-size:13pt; color:#7a748e; margin-top:8mm; line-height:2; }
.backcover .bk-emoji { font-size:52pt; margin-bottom:10mm; }

/* 在线打印版专用：屏幕上的工具条，打印时隐藏 */
.toolbar { position:sticky; top:0; z-index:9; display:flex; flex-wrap:wrap; gap:10px;
           align-items:center; padding:12px 16px; background:#2b2440; color:#fff;
           font-family:"Microsoft YaHei",sans-serif; font-size:13px; }
.toolbar a { color:#cfc6ff; }
.toolbar .btn { background:#5b4bd6; color:#fff; border:0; border-radius:8px;
                padding:9px 16px; font-size:13px; cursor:pointer; }
.toolbar .hint { color:#b8b1d4; font-size:12px; }
@media screen {
  body.printbody { background:#efedf7; }
  .sheet { width:210mm; margin:16px auto; padding:0; background:#fff;
           box-shadow:0 6px 30px rgba(40,30,80,.14); }
  .sheet > * { padding-left:15mm; padding-right:15mm; }
  .sheet .cover, .sheet .backcover { padding-left:15mm; padding-right:15mm; }
}
@media print {
  .toolbar { display:none !important; }
  body.printbody { background:#fff; }
  .sheet { width:auto; margin:0; box-shadow:none; }
  .sheet > * { padding-left:0; padding-right:0; }
}
