/* 写作要点 · 分页框架（四册共用）
   用法：每个页面 <link rel="stylesheet" href="_points_pagination.css">
        页内用 <section class="page" data-title="页名"> 分段
        页尾引入 _points_pagination.js 自动装配导航条与翻页 */
*{box-sizing:border-box;}
body{margin:0;background:#f7f8fa;color:#1f2937;
     font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Helvetica Neue",Arial,sans-serif;
     font-size:13.5px;line-height:1.95;}
.wrap{max-width:1040px;margin:0 auto;padding:16px 20px 60px;}

/* ── 顶部：册名 + 进度 + 本册页名 ── */
.topbar{position:sticky;top:0;z-index:30;background:#fff;border:1px solid #e5e7eb;
        border-radius:10px;margin:0 0 16px;box-shadow:0 2px 10px rgba(31,78,121,.07);}
.topbar .r1{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
            padding:9px 14px;border-bottom:1px solid #eef0f3;}
.topbar .r1 .bk{font-size:15.5px;font-weight:700;color:#1f4e79;}
.topbar .r1 .sp{flex:1 1 auto;}
.topbar .r1 .others a{display:inline-block;margin-left:12px;color:#1f4e79;text-decoration:none;}
.topbar .r1 .others a:hover{text-decoration:underline;}
.topbar .r1 .others a.cur{color:#b45309;font-weight:600;}
.topbar .r1 .pg{font-size:13.5px;color:#6b7280;white-space:nowrap;}
.topbar .r1 .pg b{color:#1f4e79;}
.topbar .r2{display:flex;gap:6px;flex-wrap:wrap;padding:9px 12px;}
.chip{border:1px solid #d7dee8;background:#f4f7fb;color:#1f4e79;border-radius:14px;
      padding:3px 12px;font-size:13.5px;line-height:1.7;cursor:pointer;white-space:nowrap;}
.chip:hover{background:#e8eff8;}
.chip.on{background:#1f4e79;color:#fff;border-color:#1f4e79;font-weight:600;}
.chip i{font-style:normal;color:#8fa3bb;margin-right:5px;}
.chip.on i{color:#cfe0f2;}

/* ── 页 ── */
.page{display:none;background:#fff;border:1px solid #e5e7eb;border-radius:12px;
      padding:18px 22px 22px;}
.page.on{display:block;}
.ptitle{font-size:17px;font-weight:700;color:#1f4e79;margin:0 0 4px;line-height:1.6;}
.psub{color:#6b7280;margin:0 0 12px;}
h2{font-size:16px;margin:20px 0 8px;color:#1f4e79;}
h2:first-child{margin-top:0;}
h3{font-size:14.5px;margin:16px 0 6px;color:#14532d;}
p{margin:6px 0;}

/* ── 底部翻页 ── */
.pager{display:flex;align-items:center;gap:10px;margin:16px 0 10px;}
.pbtn{flex:0 0 auto;background:#fff;border:1px solid #d7dee8;border-radius:10px;
      padding:9px 16px;font-size:13.5px;color:#1f4e79;cursor:pointer;line-height:1.7;}
.pbtn:hover{background:#eef3fa;}
.pbtn.off{opacity:.35;cursor:default;}
.pbtn .dir{color:#8fa3bb;}
.pmid{flex:1 1 auto;text-align:center;color:#6b7280;font-size:13.5px;}
.pmid b{color:#1f4e79;}

/* ── 正文组件 ── */
table{border-collapse:collapse;width:100%;background:#fff;font-size:13.5px;margin:8px 0;}
th{background:#1f4e79;color:#fff;text-align:left;padding:9px 12px;font-weight:600;}
td{padding:9px 12px;border-top:1px solid #f0f1f3;vertical-align:top;line-height:1.95;}
.num{font-family:ui-monospace,Menlo,monospace;color:#1f4e79;}
.ask{background:#fffaf0;border:1px solid #fde68a;border-left:3px solid #b45309;
     border-radius:8px;padding:10px 16px;margin:10px 0;}
.note{background:#f9fafb;border:1px solid #e5e7eb;border-left:3px solid #1f4e79;
      border-radius:8px;padding:12px 16px;margin:10px 0;}
.note p{margin:4px 0;}
.en{color:#14532d;}
.src{color:#6b7280;}
.eg{background:#f9fafb;border:1px dashed #d1d5db;border-radius:8px;padding:10px 14px;margin:8px 0;}
.eg .src{color:#6b7280;}
.eg .en{color:#14532d;margin:2px 0;}
ul,ol{margin:6px 0;padding-left:22px;}
li{margin-bottom:5px;}
.box{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;margin:12px 0;}
.box .t{font-size:15px;font-weight:700;color:#1f4e79;margin-bottom:4px;}
.step{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:14px 18px;margin:12px 0;}
.step .t{font-size:15px;font-weight:700;color:#1f4e79;margin-bottom:4px;}
.step .w{color:#374151;}
.tag{display:inline-block;padding:1px 8px;border-radius:10px;border:1px solid #bfdbfe;
     background:#eff6ff;color:#1d4ed8;margin:2px 4px 2px 0;font-size:13.5px;}
.model{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:16px 20px;margin:12px 0;
       font-size:14px;line-height:2.05;}
.model .ttl{font-weight:700;color:#1f4e79;margin-bottom:6px;}
.model .right{text-align:right;color:#374151;}

/* ── 句型库：位置 Tab ── */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 10px;}
.tabs .tb{border:1px solid #d7dee8;background:#f4f7fb;color:#1f4e79;border-radius:10px;
          padding:5px 14px;font-size:13.5px;cursor:pointer;line-height:1.75;}
.tabs .tb:hover{background:#e8eff8;}
.tabs .tb.on{background:#14532d;color:#fff;border-color:#14532d;font-weight:600;}
.tabs .tb span{opacity:.75;margin-left:4px;}
.pane{display:none;}
.pane.on{display:block;}
/* 一组超过 10 句时，默认只显示前 10 句，其余点按钮展开（控制页高） */
.pane .sent.extra{display:none;}
.pane.showall .sent.extra{display:block;}
.more{display:block;width:100%;background:#f4f7fb;border:1px dashed #c3cddb;border-radius:8px;
      padding:7px 12px;font-size:13.5px;color:#1f4e79;cursor:pointer;margin:8px 0 2px;}
.more:hover{background:#e8eff8;}
.sent{background:#fff;border:1px solid #e5e7eb;border-radius:8px;padding:9px 13px;margin:7px 0;}
.sent .s{color:#14532d;margin:1px 0;line-height:1.8;}
.sent .meta{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;}
.sent .n{color:#374151;flex:1 1 auto;}
.sent .src{color:#6b7280;flex:0 0 auto;}
.posgrp{background:#f9fafb;border:1px solid #e5e7eb;border-radius:10px;padding:12px 16px;margin:10px 0;}
.posgrp .h{font-weight:700;color:#1f4e79;margin-bottom:6px;}

/* ── 首页/末页的四册互跳 ── */
.booknav{background:#fff;border:1px solid #e5e7eb;border-radius:10px;padding:11px 14px;margin-top:6px;}
.booknav a{display:inline-block;margin-right:16px;color:#1f4e79;text-decoration:none;}
.booknav a:hover{text-decoration:underline;}
.booknav a.cur{color:#b45309;font-weight:600;}
a{color:#1f4e79;}
