/* 规矩清单（#/kgflow 默认视图）。类名一律 kl- 前缀，与 kf- 共用同一套 CSS 变量。 */

.kl-root{max-width:960px}

/* 第一屏：四行大白话，不做整屏红条，也不做免责声明 */
.kl-head{margin:8px 0 12px;padding:14px 18px 13px;border:1px solid var(--line);border-left:3px solid var(--accent);
  border-radius:9px;background:linear-gradient(100deg,var(--accent-soft) 0%,var(--panel) 62%)}
.kl-headtop{display:flex;gap:12px;align-items:baseline;flex-wrap:wrap}
.kl-h{margin:0;font-size:15.5px;font-weight:600;line-height:1.5;color:var(--ink)}
.kl-how{margin-left:auto;font-size:12px;color:var(--muted)}
.kl-how>summary{cursor:pointer;color:var(--info);list-style:none}
.kl-how>summary::-webkit-details-marker{display:none}
.kl-how>p{margin:6px 0 0;max-width:520px;font-size:12px;line-height:1.75;color:var(--muted)}
.kl-lines{margin:9px 0 0}
.kl-line{margin:0 0 3px;font-size:13.5px;line-height:1.85;color:var(--ink)}
.kl-line:last-child{color:var(--muted);font-size:12.5px}
.kl-tomap{display:inline-block;margin:8px 0 0;font-size:12px;color:var(--info);text-decoration:underline dotted}
.kl-tomap:hover{color:var(--accent)}

/* 后端字段没上线时的降级提示，以及空结果提示 */
.kl-notice{margin:0 0 12px;padding:10px 14px;border:1px solid var(--line);border-left:3px solid var(--tan);
  border-radius:8px;background:var(--panel2)}
.kl-notice b{font-size:13px;color:var(--ink)}
.kl-notice p{margin:4px 0 0;font-size:12.5px;line-height:1.75;color:var(--muted)}

/* 分组 */
.kl-block{margin:0 0 14px;padding:12px 14px 6px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.kl-blocktitle{margin:0;font-size:13.5px;font-weight:600;color:var(--ink)}
.kl-blocknote{margin:3px 0 8px;font-size:11.5px;line-height:1.7;color:var(--faint)}
.kl-review{border-left:3px solid var(--warn);background:var(--panel)}
.kl-retired{border-left:3px solid var(--line2);background:var(--panel2)}
.kl-items{display:block}

/* 每条三行：可读句 / 语气·参数·出处 / 确认状态＋看依据 */
.kl-item{padding:10px 0;border-top:1px solid var(--line2)}
.kl-item:first-child{border-top:none}
.kl-label{margin:0;font-size:13.5px;line-height:1.8;color:var(--ink);word-break:break-word}
.kl-rewrite{margin-left:6px;padding:1px 6px;border:1px solid var(--line2);border-radius:999px;
  font-size:10.5px;color:var(--faint);background:var(--panel2);white-space:nowrap;cursor:help}
/* 第二行是「语气 · 参数 · 出处」一句中文，不再是等宽的文件路径 */
.kl-src{margin:3px 0 0;font:12px/1.7 -apple-system,"PingFang SC",sans-serif;color:var(--muted);word-break:break-word}
.kl-foot{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin:6px 0 0;padding:4px 9px;
  border-radius:6px;background:var(--panel2)}
.kl-status{font-size:11.5px;color:var(--muted)}
.kl-why{font-size:11.5px;margin-left:auto}
.kl-why>summary{cursor:pointer;color:var(--info);list-style:none}
.kl-why>summary::-webkit-details-marker{display:none}
.kl-why-body{margin:6px 0 2px}
.kl-why-row{display:flex;gap:8px;align-items:baseline;padding:2px 0;font-size:12px;line-height:1.75}
.kl-why-k{flex:0 0 118px;color:var(--faint)}
.kl-why-v{flex:1 1 auto;color:var(--muted);word-break:break-word}

/* 折叠区：点开才渲染条目 */
.kl-foldblock{padding:10px 14px}
.kl-foldbtn{width:100%;text-align:left;padding:7px 10px;border:1px dashed var(--line);border-radius:7px;
  background:var(--panel2);color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer}
.kl-foldbtn:hover{border-color:var(--muted);background:var(--accent-soft)}
.kl-foldbody{margin:8px 0 4px}
.kl-foldline{padding:7px 0;border-top:1px solid var(--line2)}
.kl-foldtext{margin:0;font-size:12.5px;line-height:1.75;color:var(--ink)}
.kl-foldwhy{margin:2px 0 0;font-size:11.5px;line-height:1.7;color:var(--faint)}

/* 页脚：计数自检与一句实话 */
.kl-pagefoot{margin:10px 0 24px}
.kl-pagefoot p{margin:0 0 4px;font-size:11.5px;line-height:1.75;color:var(--faint)}
.kl-pagefoot .kl-warn{color:var(--err);font-size:12px}

/* 顶栏「清单｜图谱」 */
.kf-viewswitch{display:inline-flex;gap:0;margin-right:8px;border:1px solid var(--line);border-radius:7px;overflow:hidden}
.kf-viewswitch button{padding:5px 12px;border:none;border-radius:0;background:var(--panel);color:var(--muted);
  font:inherit;font-size:12.5px;cursor:pointer}
.kf-viewswitch button + button{border-left:1px solid var(--line)}
.kf-viewswitch button.on{background:var(--accent);color:#fff}

/* ---------------- 分页版（mountPaged）：工具条、按段落接着长的分组、「再看 50 条」 ---------------- */
.kl-tools{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0 0 12px}
.kl-q{flex:1 1 220px;min-width:0;padding:6px 10px;border:1px solid var(--line);border-radius:7px;
  background:var(--panel);color:var(--ink);font:inherit;font-size:13px}
.kl-q:focus{outline:2px solid var(--accent-soft);border-color:var(--accent)}
.kl-shelf{padding:6px 8px;border:1px solid var(--line);border-radius:7px;background:var(--panel);color:var(--ink);
  font:inherit;font-size:12.5px}
.kl-secchip{display:inline-flex;gap:4px;align-items:center;padding:3px 4px 3px 10px;border:1px solid var(--line);
  border-radius:999px;background:var(--accent-soft);font-size:12px;color:var(--ink)}
.kl-secchip[hidden]{display:none}
.kl-secclear{padding:0 7px;border:none;border-radius:999px;background:transparent;color:var(--muted);
  font:inherit;font-size:14px;line-height:1.3;cursor:pointer}
.kl-secclear:hover{background:var(--panel2);color:var(--ink)}
.kl-count{margin-left:auto;font-size:12px;color:var(--faint)}
.kl-grouphead{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.kl-only{margin-left:auto;padding:1px 8px;border:1px solid var(--line2);border-radius:999px;background:var(--panel2);
  color:var(--info);font:inherit;font-size:11.5px;cursor:pointer}
.kl-only:hover{border-color:var(--muted)}
.kl-pgroup .kl-blocknote{margin-bottom:4px}
/* 「看依据」的 summary 本身就是那条灰底脚注：确认状态在左、看依据在右，少一层包裹 */
.kl-pwhy{margin:6px 0 0;font-size:11.5px}
.kl-pwhy>summary.kl-foot{cursor:pointer;list-style:none;margin:0}
.kl-pwhy>summary::-webkit-details-marker{display:none}
.kl-whylink{margin-left:auto;color:var(--info)}
.kl-pwhy[open] .kl-whylink{color:var(--muted)}
.kl-pwhy>.kl-why-body{padding:0 9px}
.kl-more{display:block;width:100%;margin:2px 0 14px;padding:8px 10px;border:1px dashed var(--line);border-radius:8px;
  background:var(--panel2);color:var(--muted);font:inherit;font-size:12.5px;cursor:pointer}
.kl-more:hover{border-color:var(--muted);background:var(--accent-soft)}
.kl-more[disabled]{cursor:progress;opacity:.7}
.kl-more[hidden]{display:none}
.kl-pstatus{margin:0 0 6px;font-size:12px;color:var(--muted)}
.kl-pstatus:empty{display:none}
.kl-foldbody .kl-pgroup{padding:8px 10px 4px;margin:0 0 8px;border-style:dashed}

@media (max-width:760px){
  .kl-why-k{flex:0 0 100%}
  .kl-why{margin-left:0}
  .kl-count{margin-left:0;flex:1 1 100%}
  .kl-only{margin-left:0}
}
