/* 咕噜·循环 · 公共样式（book.html 的样式在页内，这里只管头部与目录页）
   配色一律用咕噜统一色板（接入手册 §5.1）：主色橙 #FC8E20 / 深 #C96810 / 墨 #1F1B16 / 淡底 #FFF7EE */
:root{
  --orange:#FC8E20; --deep:#C96810; --ink:#1F1B16; --sub:#8A8070; --muted:#9A8F80;
  --border:#F2E4D0; --border2:#EFD9B4; --card:#fff; --wash:#FBEFD9; --bg:#FFF7EE;
  --ok:#2F8F5B; --no:#B23B3B;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);
  font:15px/1.72 -apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;
  -webkit-font-smoothing:antialiased}
a{color:var(--deep);text-decoration:none}
.hdlink{flex:none;margin-left:10px;font-size:13px;color:var(--sub);border:1px solid var(--border);
  border-radius:99px;padding:3px 12px;background:#fff}
.hdlink:hover{border-color:var(--orange);color:var(--deep)}

/* 头部等级小块：与 lv.js 的兜底样式同款，页面里先声明避免闪 */
.lvTag{display:none;flex:none;font-size:12px;font-weight:800;line-height:1.2;color:var(--deep);
  background:var(--wash);border:1px solid var(--border2);padding:4px 8px;border-radius:8px;
  white-space:nowrap;text-decoration:none;margin-right:6px}

/* ── 目录页 ─────────────────────────────────────── */
.wrap{max-width:1000px;margin:0 auto;padding:0 18px 64px}
.top{display:flex;align-items:center;gap:9px;padding:14px 0 4px;flex-wrap:wrap}
.top .lg{flex:none;display:block;line-height:0}
.top img{width:38px;height:38px;display:block;background:transparent;border:0;border-radius:0}
.top h1{font-size:21px;margin:0;letter-spacing:.5px}
.top .sub{font-size:12.5px;color:var(--sub)}
.hero{margin:14px 0 6px;background:linear-gradient(160deg,#FFF7EE,#fffdf9 62%);
  border:1px solid var(--border);border-radius:16px;padding:20px 22px}
.hero .big{font-size:17.5px;line-height:1.75;margin:0 0 8px;font-weight:700}
.hero .big b{color:var(--deep);border-bottom:2px solid var(--border2)}
.hero .lead{margin:0;color:var(--sub);font-size:13.5px;line-height:1.8}
.hero .row{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);background:#fff;
  color:var(--ink);border-radius:11px;padding:8px 15px;font-size:13.5px;font-weight:700;cursor:pointer}
.btn.pri{background:linear-gradient(135deg,var(--orange),var(--deep));border-color:var(--deep);color:#fff}
.btn:hover{transform:translateY(-1px)}
.chap{margin:26px 0 0}
.chap h2{font-size:15px;margin:0 0 4px;display:flex;align-items:baseline;gap:8px}
.chap h2 i{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:var(--orange);
  border-radius:6px;padding:1px 7px;letter-spacing:1px}
.chap h2 span{font-size:12px;color:var(--sub);font-weight:400}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.node{display:block;background:var(--card);border:1px solid var(--border);border-radius:13px;
  padding:12px 14px;color:var(--ink);position:relative}
.node:hover{border-color:var(--border2);box-shadow:0 4px 16px rgba(201,104,16,.10)}
.node .t{font-size:14.5px;font-weight:700;margin-bottom:3px;display:flex;align-items:center;gap:6px}
.node .q{font-size:12.5px;color:var(--sub);line-height:1.65}
.node .no{position:absolute;right:12px;top:11px;font-size:11px;color:#C6B49B;font-weight:800;letter-spacing:.5px}
.node .seal{color:var(--ok);font-size:12px}
.node.done{border-color:#D8EBDD;background:#FAFDFB}
.node .pg{font-size:11.5px;color:var(--deep);margin-top:6px}
.foot{margin-top:34px;padding-top:16px;border-top:1px dashed var(--border);font-size:12.5px;color:var(--sub);line-height:1.9}
.foot b{color:var(--ink)}
@media (max-width:640px){ .grid{grid-template-columns:1fr} .hero .big{font-size:16px} }

/* ── 排行榜 ─────────────────────────────────────── */
.rows{margin-top:12px}
.row{display:flex;align-items:center;gap:12px;background:#fff;border:1px solid var(--border);
  border-radius:12px;padding:11px 14px;margin-bottom:8px}
.row .rank{width:30px;flex:none;text-align:center;font-weight:800;color:var(--sub)}
.row .nm{flex:1;font-size:14px;font-weight:700}
.row .nm i{font-style:normal;font-size:11px;color:#fff;background:var(--orange);border-radius:6px;padding:1px 6px;margin-left:6px}
.row .pt{font-size:15px;font-weight:800;color:var(--deep)}
.row .pt small{font-size:11px;color:var(--sub);font-weight:400;margin-left:2px}
.row.top1{border-color:#EFD9B4;background:#FFFBF2}
.row.me{border-color:var(--border2);background:#FFF7EE}
.empty{background:#fff;border:1px dashed var(--border);border-radius:12px;padding:26px;text-align:center;color:var(--sub)}
.empty .b{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:4px}
