/* 客户端过滤依赖 [hidden]；自带兜底以免宿主外壳缺全局规则（原版外壳 base.css:2 有全局规则） */
[hidden] { display: none !important; }
/* 人体专业知识模块 · 适配 monochrome-dark-v1 与设计库 layout.combined-navigation / case.dashboard 参考结构 */
.human-knowledge {
    --hk-panel: var(--tblr-bg-surface, #141414);
    --hk-panel-secondary: var(--tblr-bg-surface-secondary, #242424);
    --hk-border: var(--tblr-border-color, #303030);
    --hk-border-strong: var(--tblr-border-dark, #3a3a3a);
    --hk-muted: var(--tblr-secondary, #b3b3b3);
    --hk-faint: #7a7a7a;
    --hk-strong: var(--tblr-body-color, #e5e5e5);
}
.human-knowledge img { filter: invert(1); height: 1.1rem; opacity: .72; width: 1.1rem; }
.human-knowledge .hk-type-icon img { height: 1.15rem; width: 1.15rem; }

/* ── 页头工具栏：标题 + 搜索 ─────────────────────────── */
.hk-toolbar { align-items: flex-end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.25rem; }
.hk-toolbar-heading { min-width: 0; }
.hk-toolbar-heading .page-title { font-size: 1.45rem; letter-spacing: .01em; margin-bottom: .2rem; }
.hk-toolbar-heading .text-secondary { font-size: .82rem; }
.hk-search { width: min(30rem, 100%); }
.hk-search .form-hint { color: var(--hk-faint); font-size: .72rem; margin-top: .3rem; }
.hk-search .input-icon-addon { padding: 0 .5rem; }

/* ── 四空间主导航（组合导航顶层） ─────────────────────── */
.hk-primary { border-bottom: 1px solid var(--hk-border-strong); display: flex; gap: .15rem; margin-bottom: 1.25rem; overflow-x: auto; }
.hk-primary-link {
    align-items: center; border-bottom: 2px solid transparent; color: var(--hk-muted); display: inline-flex; font-size: .875rem;
    font-weight: 600; gap: .45rem; margin-bottom: -1px; padding: .65rem .9rem; text-decoration: none; white-space: nowrap;
}
.hk-primary-link img { height: 1rem; width: 1rem; }
.hk-primary-link:hover { color: var(--hk-strong); }
.hk-primary-link.active { border-bottom-color: var(--hk-strong); color: var(--hk-strong); }
.hk-primary-link.active img { opacity: 1; }

/* ── 三栏布局 ───────────────────────────────────────── */
.hk-layout { align-items: start; display: grid; gap: 1rem; grid-template-columns: 13rem minmax(0, 1fr) minmax(17rem, .55fr); }
.hk-secondary { background: var(--hk-panel); border: 1px solid var(--hk-border); border-radius: .5rem; padding: .8rem; position: sticky; top: 1rem; }
.hk-secondary-title { color: var(--hk-faint); font-size: .68rem; font-weight: 700; letter-spacing: .1em; margin-bottom: .6rem; text-transform: uppercase; }
.hk-secondary-links { display: grid; gap: .15rem; }
.hk-secondary-link { align-items: center; border-radius: .35rem; color: var(--hk-muted); display: flex; font-size: .8rem; gap: .5rem; padding: .5rem .6rem; text-decoration: none; }
.hk-secondary-link img { height: .95rem; width: .95rem; }
.hk-secondary-link:hover { background: var(--hk-panel-secondary); color: var(--hk-strong); }
.hk-secondary-link.active { background: var(--hk-panel-secondary); color: var(--hk-strong); }
.hk-secondary-link.active img { opacity: 1; }
.hk-secondary-note { border-top: 1px solid var(--hk-border); color: var(--hk-faint); display: grid; font-size: .68rem; gap: .4rem; margin-top: .8rem; padding-top: .8rem; }
.hk-main { min-width: 0; }

/* ── 卡片通用：头部动作 / 档案头 / 空隙 ──────────────── */
.human-knowledge .card-header { display: flex; align-items: center; gap: .5rem; padding: .8rem 1rem; }
.human-knowledge .card-title { font-size: .95rem; font-weight: 600; margin: 0; }
.hk-card-action { align-items: center; color: var(--hk-muted); display: inline-flex; font-size: .78rem; gap: .2rem; margin-left: auto; text-decoration: none; white-space: nowrap; }
.hk-card-action:hover { color: var(--hk-strong); }
.hk-card-action img { height: .85rem; width: .85rem; }
.hk-rows { margin-top: 1rem; }
.hk-dossier-head .card-body { padding: 1.1rem 1.25rem; }
.hk-kicker { color: var(--hk-faint); font-size: .68rem; font-weight: 700; letter-spacing: .14em; margin-bottom: .35rem; text-transform: uppercase; }
.hk-dossier-head .card-title { font-size: 1.2rem; }
.hk-dossier-actions { display: flex; flex-wrap: wrap; gap: .5rem; }
.hk-dossier-actions img { height: .9rem; width: .9rem; }
.hk-sub-title { color: var(--hk-muted); font-size: .8rem; font-weight: 700; letter-spacing: .05em; margin-bottom: .75rem; }

/* ── 首屏 hero ──────────────────────────────────────── */
.hk-hero { display: grid; grid-template-columns: 1fr auto; }
.hk-hero .card-body { padding: 1.25rem 1.5rem; }
.hk-hero-kicker { color: var(--hk-faint); font-size: .68rem; font-weight: 700; letter-spacing: .14em; margin-bottom: .4rem; }
.hk-hero-title { font-size: clamp(1.15rem, 2vw, 1.6rem); font-weight: 700; }
.hk-hero-meta { border-left: 1px solid var(--hk-border); display: grid; gap: .15rem; padding: 1.25rem 1.5rem; }
.hk-hero-meta strong { color: var(--hk-strong); font-size: .8rem; }
.hk-stats { margin-top: 1rem; }
.hk-stat-head { align-items: center; color: var(--hk-muted); display: flex; font-size: .78rem; gap: .45rem; margin-bottom: .3rem; }
.hk-stat-head img { height: 1rem; width: 1rem; }
.hk-stat-value { color: var(--hk-strong); font-size: 1.9rem; font-variant-numeric: tabular-nums; font-weight: 700; line-height: 1.2; }

/* ── 列表行：图标 + 标题块 + 箭头 ────────────────────── */
.hk-entry { align-items: center; display: flex; gap: .8rem; padding: .7rem 1rem; }
.hk-entry .hk-id { flex: none; }
.human-knowledge .avatar { background: var(--hk-panel-secondary); border: 1px solid var(--hk-border); border-radius: .45rem; height: 2.2rem; width: 2.2rem; }
.hk-chevron { flex: none; height: .95rem !important; opacity: .5; width: .95rem !important; }
.hk-entry:hover .hk-chevron { opacity: 1; }
.hk-result-title { align-items: center; display: flex; flex-wrap: wrap; gap: .45rem; }
.hk-result-desc { font-size: .78rem; margin-top: .15rem; }
.hk-id { border: 1px solid var(--hk-border-strong); border-radius: .3rem; color: var(--hk-muted); font-family: var(--tblr-font-monospace, monospace); font-size: .7rem; padding: .1rem .35rem; }
.hk-reason { color: var(--hk-faint); flex: none; font-size: .72rem; }
.hk-result-list { max-height: 36rem; overflow-y: auto; }
.hk-result-item { align-items: center; color: inherit; display: flex; gap: .8rem; }

/* ── 滚动列表 / 表象选择器 ──────────────────────────── */
.hk-scroll-list { max-height: 30rem; overflow-y: auto; }
.hk-obs-item { align-items: center; display: flex; gap: .6rem; padding: .5rem 1rem; }
.hk-obs-item.active { background: var(--hk-panel-secondary); color: var(--hk-strong); }

/* ── 部位卡片网格 ───────────────────────────────────── */
.hk-part-grid { display: grid; gap: .75rem; grid-template-columns: repeat(auto-fill, minmax(13rem, 1fr)); }
.hk-part-card { border: 1px solid var(--hk-border); border-radius: .5rem; color: inherit; display: grid; gap: .3rem; padding: .85rem; text-decoration: none; }
.hk-part-card:hover { background: var(--hk-panel-secondary); }
.hk-part-card.active { border-color: var(--hk-strong); }
.hk-part-card strong { color: var(--hk-strong); }
.hk-part-card .text-secondary { font-size: .74rem; line-height: 1.45; }
.hk-part-card .hk-id { justify-self: start; }

/* ── OLP 角色卡 ─────────────────────────────────────── */
.hk-role-grid { display: grid; gap: .6rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hk-role-card { border: 1px solid var(--hk-border); border-radius: .45rem; color: inherit; display: grid; gap: .3rem; padding: .7rem; text-decoration: none; }
.hk-role-card:hover { background: var(--hk-panel-secondary); }
.hk-role-card strong { color: var(--hk-strong); font-size: .82rem; }
.hk-role-card .text-secondary { font-size: .7rem; }

/* ── 关系 / 对象 chip 列表 ──────────────────────────── */
.hk-chip-list { display: grid; gap: .5rem; }
.hk-chip { align-items: center; border: 1px solid var(--hk-border); border-radius: .45rem; color: inherit; display: grid; gap: .35rem .6rem; grid-template-columns: auto 1fr; padding: .55rem .7rem; text-decoration: none; }
.hk-chip:hover { background: var(--hk-panel-secondary); }
.hk-chip span { color: var(--hk-faint); font-family: var(--tblr-font-monospace, monospace); font-size: .68rem; }
.hk-chip em { color: var(--hk-strong); font-size: .8rem; font-style: normal; }

/* ── 步骤时间线 ─────────────────────────────────────── */
.hk-steps { counter-reset: step; display: grid; gap: 1rem; list-style: none; margin: 0; padding: 0; }
.hk-steps li { display: flex; gap: .8rem; }
.hk-step-num { align-items: center; border: 1px solid var(--hk-border-strong); border-radius: 999px; color: var(--hk-muted); display: inline-flex; flex: none; font-size: .7rem; font-weight: 700; height: 2rem; justify-content: center; width: 2rem; }
.hk-steps-sm li { align-items: center; }
.hk-steps-sm { gap: .65rem; }

/* ── 陈述 / 证据 ────────────────────────────────────── */
.hk-statement-list { display: grid; gap: .9rem; }
.hk-statement { border-left: 2px solid var(--hk-border-strong); padding-left: .9rem; }
.hk-statement-text { color: var(--hk-strong); font-size: .86rem; line-height: 1.55; }
.hk-statement-limits { color: var(--hk-muted); font-size: .76rem; margin: .45rem 0 0; padding-left: 1.1rem; }
.hk-statement-limits li { margin-bottom: .2rem; }
.hk-statement-evidence { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.hk-evidence { align-items: center; background: var(--hk-panel-secondary); border: 1px solid var(--hk-border); border-radius: .35rem; color: var(--hk-muted); display: inline-flex; font-size: .72rem; gap: .35rem; padding: .25rem .5rem; }
.hk-evidence img { height: .85rem !important; width: .85rem !important; }
.hk-detail-list { display: grid; gap: .75rem; list-style: none; margin: 0; padding: 0; }
.hk-detail-list li { border-bottom: 1px solid var(--hk-border); display: grid; gap: .2rem; padding-bottom: .65rem; }
.hk-detail-list li:last-child { border-bottom: 0; }
.hk-detail-list span { color: var(--hk-faint); font-size: .74rem; }

/* ── 对象浏览器分组 ─────────────────────────────────── */
.hk-group > summary { cursor: pointer; list-style: none; user-select: none; }
.hk-group > summary::-webkit-details-marker { display: none; }
.hk-group > summary:hover { background: var(--hk-panel-secondary); border-radius: .5rem .5rem 0 0; }

/* ── 追溯表 / 哈希 ──────────────────────────────────── */
.human-knowledge .card-table td { border-color: var(--hk-border); font-size: .84rem; padding: .65rem 1rem; }
.hk-hash { font-size: .72rem; overflow-wrap: anywhere; }

/* ── 详情面板 ───────────────────────────────────────── */
.hk-detail { min-width: 0; }
.hk-detail-sticky, .hk-detail-empty { background: var(--hk-panel); border: 1px solid var(--hk-border); border-radius: .5rem; padding: 1rem; position: sticky; top: 1rem; }
.hk-detail-empty { color: var(--hk-muted); }
.hk-detail-empty h3 { color: var(--hk-strong); }
.hk-detail-sticky .btn img { height: .9rem !important; width: .9rem !important; }

/* ── 错误 / 空状态 ──────────────────────────────────── */
.hk-error-card .empty-icon img { height: 2.2rem !important; opacity: .8; width: 2.2rem !important; }
.human-knowledge .empty .empty-icon img { height: 1.8rem !important; opacity: .6; width: 1.8rem !important; }

/* ── 响应式：平板收起详情列，窄屏单列 ────────────────── */
@media (max-width: 1150px) {
    .hk-layout { grid-template-columns: 11.5rem minmax(0, 1fr); }
    .hk-detail { grid-column: 2; }
    .hk-detail-sticky, .hk-detail-empty { position: static; }
}
@media (max-width: 760px) {
    .hk-toolbar { align-items: stretch; flex-direction: column; gap: .8rem; }
    .hk-search { width: 100%; }
    .hk-layout { display: block; }
    .hk-secondary { margin-bottom: 1rem; position: static; }
    .hk-secondary-links { display: flex; flex-wrap: wrap; gap: .35rem; }
    .hk-secondary-link { border: 1px solid var(--hk-border); flex: 1 1 8rem; }
    .hk-main { margin-bottom: 1rem; }
    .hk-hero { grid-template-columns: 1fr; }
    .hk-hero-meta { border-left: 0; border-top: 1px solid var(--hk-border); padding: 1rem 1.5rem; }
    .hk-role-grid { grid-template-columns: 1fr; }
    .hk-entry { flex-wrap: wrap; }
    .hk-reason { display: none; }
}

/* ── 加载中状态：human-knowledge.js 在空间导航点击时置 aria-busy（状态矩阵"加载中"） ── */
[data-hk-root][aria-busy="true"] { cursor: progress; }
[data-hk-root][aria-busy="true"] .hk-primary,
[data-hk-root][aria-busy="true"] .hk-secondary { opacity: .6; transition: opacity .12s ease; }

/* ── 栏目内即时搜索框（还原原版 body/collection/sampling/improvement-search；monochrome-dark-v1 适配） ── */
.body-search, .collection-search, .sampling-search, .improvement-search { display: grid; gap: .3rem; margin: .65rem 0; }
.body-search > span, .collection-search > span, .sampling-search > span,
.improvement-search label { color: var(--hk-faint); font-size: .7rem; font-weight: 700; letter-spacing: .06em; }
.body-search input, .collection-search input, .sampling-search input, .improvement-search input {
    background: var(--hk-panel-secondary); border: 1px solid var(--hk-border); border-radius: .45rem;
    color: var(--hk-strong); font-size: .8rem; padding: .45rem .6rem; width: 100%;
}
.body-search input:focus, .collection-search input:focus, .sampling-search input:focus, .improvement-search input:focus {
    border-color: var(--hk-border-strong); outline: none;
}
.collection-search-row { align-items: end; display: flex; gap: .4rem; }
.collection-search-row .collection-search { flex: 1; margin: .65rem 0; }
.collection-clear {
    background: var(--hk-panel-secondary); border: 1px solid var(--hk-border); border-radius: .45rem;
    color: var(--hk-muted); font-size: .75rem; margin-bottom: .35rem; padding: .45rem .6rem;
}
.collection-clear:hover { color: var(--hk-strong); }
.collection-filter-tabs a.active { border-color: var(--hk-border-strong); background: var(--hk-panel); color: var(--hk-strong); }

/* ── 全站即时搜索面板（还原原版 app.js:756-873 结构，10-app-shell.css:400-560 布局；monochrome-dark-v1 适配） ── */
.global-search-panel {
    background: var(--hk-panel); border: 1px solid var(--hk-border-strong); border-radius: .5rem;
    box-shadow: 0 20px 42px rgba(0, 0, 0, .5); left: var(--global-search-panel-left, 12px);
    max-height: min(70vh, 560px); overflow: auto; padding: .5rem; position: fixed;
    top: var(--global-search-panel-top, 110px); width: var(--global-search-panel-width, min(620px, calc(100vw - 36px))); z-index: 1200;
}
.global-search-panel[hidden] { display: none; }
.global-search-panel-head, .global-search-group-head { align-items: flex-start; display: flex; gap: .75rem; justify-content: space-between; }
.global-search-panel-head { border-bottom: 1px solid var(--hk-border); padding: .5rem .5rem .6rem; }
.global-search-panel-head div { display: grid; gap: 2px; min-width: 0; }
.global-search-panel-head strong { color: var(--hk-strong); font-size: .875rem; }
.global-search-panel-head p { color: var(--hk-muted); font-size: .75rem; line-height: 1.45; margin: 0; }
.global-search-panel-head > span, .global-search-group-head span {
    background: var(--hk-panel-secondary); border: 1px solid var(--hk-border); border-radius: 999px;
    color: var(--hk-strong); flex: 0 0 auto; font-size: .72rem; font-weight: 800; padding: .2rem .5rem;
}
.global-search-group + .global-search-group { border-top: 1px solid var(--hk-border); margin-top: .4rem; padding-top: .4rem; }
.global-search-group-head { padding: .35rem .5rem; }
.global-search-group-head strong { color: var(--hk-muted); font-size: .75rem; letter-spacing: .06em; }
.global-search-group-list { display: grid; gap: 2px; padding: 0 .25rem .25rem; }
.global-search-result, .global-search-empty {
    background: transparent; border: 1px solid transparent; border-radius: .4rem; color: var(--hk-strong);
    cursor: pointer; display: grid; gap: 3px; padding: .5rem .6rem; text-align: left; width: 100%;
}
.global-search-result:hover, .global-search-result:focus-visible { background: var(--hk-panel-secondary); border-color: var(--hk-border); outline: none; }
.global-search-result-head { align-items: baseline; display: flex; gap: .5rem; }
.global-search-type { color: var(--hk-faint); font-size: .7rem; font-weight: 700; white-space: nowrap; }
.global-search-result p { color: var(--hk-muted); font-size: .75rem; margin: 0; }
.global-search-result-meta { color: var(--hk-faint); display: flex; flex-wrap: wrap; gap: .6rem; font-size: .7rem; }
.global-search-reason { border: 1px solid var(--hk-border); border-radius: 999px; padding: 0 .45rem; }
.global-search-empty { color: var(--hk-muted); cursor: default; font-size: .8rem; }

/* ── 搜索落点高亮（还原 app.js:889-1004 + 10-app-shell.css:574-600；彩色脉冲按灰阶合同改为灰度） ── */
.search-landing-highlight {
    animation: search-landing-pulse 1.4s ease-out 1; box-shadow: 0 0 0 6px var(--hk-chip-bg) !important;
    outline: 3px solid var(--hk-strong, #e5e5e5); outline-offset: 3px; position: relative; scroll-margin: 96px;
}
@keyframes search-landing-pulse {
    0% { box-shadow: 0 0 0 0 var(--hk-border-active, #525252); outline-color: var(--hk-strong, #e5e5e5); }
    100% { box-shadow: 0 0 0 6px var(--hk-chip-bg); outline-color: var(--hk-strong, #e5e5e5); }
}
/* 系统开启"减弱动态效果"时取消脉冲（三路轮 4.2 收口，2026-09-28） */
@media (prefers-reduced-motion: reduce) {
    .search-landing-highlight { animation: none; }
}

/* ── 正文编号令牌（components/entity-links.js 移植：服务端直出 <a>） ── */
.link-token { border-bottom: 1px dashed var(--hk-border-strong); color: var(--hk-strong); text-decoration: none; }
.link-token:hover { border-bottom-style: solid; color: var(--hk-strong); }
