/* ============================================================
   legal.css · 协议中心 / 协议详情（M8）
   仅引用 tokens.css 变量，不写死颜色，跟随主题与深色模式
   ============================================================ */

.lg-page{max-width:1180px;margin:0 auto;padding:26px 26px 64px}

/* ── 页头 ── */
.lg-head{padding:6px 2px 22px;border-bottom:1px solid var(--line)}
.lg-head h1{font-size:var(--fs-xl);font-weight:700;color:var(--ink);letter-spacing:.3px;margin:0 0 8px}
.lg-head p{margin:0;color:var(--g2);font-size:var(--fs);line-height:1.7}
.lg-head .meta{margin-top:12px;display:flex;gap:8px;flex-wrap:wrap}

.lg-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 10px;border-radius:var(--r-pill);
  font-size:var(--fs-xs);background:var(--orange-50);color:var(--brand);border:1px solid var(--orange-200)}
.lg-chip.mute{background:transparent;color:var(--g2);border-color:var(--line-strong)}

/* ── 分组 ── */
.lg-sec{margin-top:34px}
.lg-sec-t{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:var(--fs-md);font-weight:600;color:var(--ink)}
.lg-sec-t i{width:3px;height:15px;border-radius:2px;background:var(--brand);display:block}
.lg-sec-t span{font-size:var(--fs-xs);font-weight:400;color:var(--g3);letter-spacing:.6px}

/* ── 卡片网格 ── */
.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.lg-card{display:block;padding:18px 18px 16px;border:1px solid var(--line);border-radius:var(--r);
  background:#fff;text-decoration:none;transition:box-shadow .18s,border-color .18s,transform .18s}
.lg-card:hover{border-color:var(--orange-200);box-shadow:var(--sh-h);transform:translateY(-1px)}
.lg-card h3{margin:0 0 8px;font-size:var(--fs-md);color:var(--ink);font-weight:600;display:flex;align-items:center;gap:7px}
.lg-card h3 .need{font-size:10px;font-weight:500;color:var(--brand);background:var(--orange-50);
  border:1px solid var(--orange-200);border-radius:4px;padding:1px 5px;line-height:1.5}
.lg-card p{margin:0;color:var(--g2);font-size:var(--fs-sm);line-height:1.7;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lg-card .ft{margin-top:12px;display:flex;align-items:center;justify-content:space-between;
  font-size:var(--fs-xs);color:var(--g3)}
.lg-card .ft b{font-weight:500;color:var(--g1)}

/* ── 详情：正文 + 目录 ── */
.lg-doc{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:34px;align-items:start;margin-top:26px}
.lg-body{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:34px 40px 40px;min-width:0}
.lg-body h2{font-size:var(--fs-lg);font-weight:600;color:var(--ink);margin:34px 0 12px;padding-top:6px;
  scroll-margin-top:80px}
.lg-body h2:first-child{margin-top:0}
.lg-body h3{font-size:var(--fs-md);font-weight:600;color:var(--ink-2);margin:26px 0 10px;scroll-margin-top:80px}
.lg-body p{margin:0 0 12px;color:var(--ink-2);font-size:var(--fs);line-height:1.95;text-align:justify}
.lg-body ul,.lg-body ol{margin:0 0 14px;padding-left:22px}
.lg-body li{margin:0 0 9px;color:var(--ink-2);font-size:var(--fs);line-height:1.85}
.lg-body li::marker{color:var(--g3)}
.lg-body strong{color:var(--ink);font-weight:600}
.lg-body code{background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:1px 5px;
  font-size:var(--fs-sm);color:var(--brand-d)}
.lg-body blockquote{margin:22px 0 0;padding:14px 16px;background:var(--orange-50);border-left:3px solid var(--orange-200);
  border-radius:0 var(--r-sm) var(--r-sm) 0;color:var(--g1);font-size:var(--fs-sm);line-height:1.8}
.lg-body blockquote p{margin:0;color:inherit;font-size:inherit}
.lg-body hr{border:0;border-top:1px solid var(--line);margin:26px 0}

/* ── 侧栏目录 ── */
.lg-toc{position:sticky;top:22px;font-size:var(--fs-sm)}
.lg-toc .box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 8px 14px 14px}
.lg-toc .tt{font-size:var(--fs-xs);color:var(--g3);letter-spacing:1px;margin:0 0 10px;padding-left:2px}
.lg-toc a{display:block;padding:5px 8px;border-radius:var(--r-sm);color:var(--g1);text-decoration:none;
  line-height:1.5;border-left:2px solid transparent}
.lg-toc a:hover{background:var(--bg);color:var(--ink)}
.lg-toc a.on{color:var(--brand);background:var(--orange-50);border-left-color:var(--brand);font-weight:500}
.lg-toc .acts{margin-top:14px;display:flex;flex-direction:column;gap:8px}
.lg-toc .acts a,.lg-toc .acts button{display:flex;align-items:center;justify-content:center;gap:6px;height:34px;
  border-radius:var(--r-sm);border:1px solid var(--line-strong);background:#fff;color:var(--g1);
  font-size:var(--fs-sm);cursor:pointer;text-decoration:none;font-family:inherit}
.lg-toc .acts a:hover,.lg-toc .acts button:hover{border-color:var(--orange-200);color:var(--brand)}

/* ── 顶部返回 ── */
.lg-crumb{display:flex;align-items:center;gap:7px;font-size:var(--fs-sm);color:var(--g3);margin-bottom:18px}
.lg-crumb a{color:var(--g1);text-decoration:none}
.lg-crumb a:hover{color:var(--brand)}
.lg-crumb span{color:var(--line-strong)}

/* ── 底部同意条（详情页在需同意时才出现） ── */
.lg-agree{margin-top:22px;padding:16px 18px;border:1px dashed var(--orange-200);border-radius:var(--r);
  background:var(--orange-50);display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.lg-agree .tx{flex:1;min-width:200px;font-size:var(--fs-sm);color:var(--g1);line-height:1.7}
.lg-agree .btn{height:36px;padding:0 20px;border-radius:var(--r-pill);border:0;background:var(--brand);color:#fff;
  font-size:var(--fs);cursor:pointer;font-family:inherit}
.lg-agree .btn:disabled{background:var(--line-strong);color:var(--g3);cursor:not-allowed}

/* ── 空态 ── */
.lg-empty{padding:60px 0;text-align:center;color:var(--g3);font-size:var(--fs)}

/* ── 响应式 ── */
@media (max-width:980px){
  /* 注意：不能用裸 1fr —— 目录条横排 chip 的 min-content 会把整列撑到 465px+，
     正文跟着超宽被裁；minmax(0,1fr) 才允许收缩，溢出交给 toc-list 自己横向滚动 */
  .lg-doc{grid-template-columns:minmax(0,1fr)}
  .lg-toc{position:static;order:-1;min-width:0}
  .lg-toc .box{padding:10px 12px}
  .lg-toc .tt{margin-bottom:6px}
  .lg-toc .toc-list{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
  .lg-toc .toc-list a{white-space:nowrap;border-left:0;border-bottom:2px solid transparent;padding:5px 10px}
  .lg-toc .toc-list a.on{border-left:0;border-bottom-color:var(--brand)}
  .lg-toc .acts{flex-direction:row;margin-top:10px}
  .lg-toc .acts a,.lg-toc .acts button{flex:1;height:32px}
}
@media (max-width:640px){
  .lg-page{padding:16px 14px 48px}
  .lg-head h1{font-size:var(--fs-lg)}
  .lg-body{padding:22px 18px 28px}
  .lg-body p,.lg-body li{font-size:var(--fs);line-height:1.9}
  .lg-grid{grid-template-columns:1fr}
  .lg-agree .btn{width:100%}
}
