/* ==========================================================================
   三轴页（/explore/ /knowledge/ /insight/）页面级补充
   缘由：本文件诞生于 main.css 尚未合并新版设计系统时期，曾把 design/styles.css
   的轴页组件整块移植过来；main.css 合并后已于本文件去重——与 main.css 等价的
   规则已全部删除，本文件只保留 main.css 缺失的页面级补充
   （main.css 是设计系统单一事实源，数值冲突以 main.css 为准）。
   保留块清单（均经 grep main.css 确认无等价规则）：
   - .explore-map { position: relative }：.map-empty/.map-fallback 绝对定位的挂点
   - .map-grat { fill: none }：经纬网与球面轮廓由 JS 画成 <path>，缺此句会实心填充
   - .map-border（含深色两套主题覆写）：国界发丝线
   - .map-empty 一族：geo 为空时居中叠放的诚实空态卡（njk 渲染）
   - .map-fallback：世界底图加载失败的降级说明（explore-map.js 注入）
   - .anchor-cross/.anchor-ring 默认隐藏 + .anchor-g（可点光标）+ is-active 显形：
     锚点展开态联动（explore-map.js 切换 is-active）
   - .gc-dim.is-highlight：锚点点击后的维度高亮（explore-map.js 切换）
   - .gc-empty：维度/图谱的空清单弱化签（njk 无 JS 兜底，含 knowledge 页 noscript）
   - .kg-panel { position: relative }：.kg-back 绝对定位的挂点
   - .kg-hull-hit：簇命中区（整簇可点 + 键盘可达，knowledge-graph.js 创建）
   - .kg-star：未入簇碎星
   - .kg-node { cursor: pointer }：成员节点可点（节点样式本身在 main.css）
   - .kg-back：返回全景按钮（knowledge-graph.js 注入，仅放大态出现）
   - .peel-title（含 ≥48rem 竖排）：无 peel.core 时题名顶替引句位
   - .pl-pending：尚未剥落层的弱化占位签
   - .axis-drill：页尾沿轴下钻行
   曾在此重复、现已交还 main.css 的典型项：--ax-* 令牌与 [data-axis] 语境、
   .axis-head 一族、.explore-map/.map-arc/.anchor 系列/.map-label 等基础、
   .geo-card/.gc-* 基础与 @container .ledger--loc、.kg-panels/.kg-* 基础、
   .cluster-index/.ci-*、.peel-flow/.peel-* 基础、reduced-motion 的 .anchor-halo。
   另：.kg-node-label 的 text-anchor（knowledge-graph.js 以属性直出）与
   .anchor-g/.kg-hull-hit 的 :focus-visible（main.css base 层已统一接管）也已删。
   令牌方向与 main.css 一致：深空为默认，白昼走 prefers-color-scheme + data-theme。
   ========================================================================== */

/* ---- 行路 · 世界地图补充 ---- */

/* 空态卡与降级说明是绝对定位，.explore-map 必须是定位上下文（main.css 未设 position） */
.explore-map { position: relative; }

/* 经纬网与球面轮廓（Sphere）由 explore-map.js 画成 <path>，必须关掉 SVG 默认黑填充 */
.map-grat { fill: none; }

/* 国界：深空下即设计稿的 #2A2C32 发丝线；白昼取 --rule-strong 保证可读 */
.map-border { fill: none; stroke: #bfb5a0; stroke-width: 1; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .map-border { stroke: #2a2c32; }
}
:root[data-theme="dark"] .map-border { stroke: #2a2c32; }

/* 锚点展开态：十字与选中环默认隐藏（描边样式在 main.css），锚点被点选时显形 */
.anchor-cross, .anchor-ring { display: none; }
.anchor-g { cursor: pointer; }
.anchor-g.is-active .anchor-cross,
.anchor-g.is-active .anchor-ring { display: block; }

/* geo 为空时居中叠放的诚实空态卡（地图照常渲染在其下方） */
.map-empty {
  position: absolute;
  inset: 50% auto auto 50%;
  transform: translate(-50%, -50%);
  width: min(92%, 30rem);
  border: var(--rule-w) solid var(--rule-strong);
  background: var(--surface);
  padding: var(--space-4) var(--space-5);
}
.map-empty-title {
  font-family: var(--font-sans);
  font-size: var(--text-md);
  font-weight: 600;
  margin-bottom: var(--space-2);
}
.map-empty p {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  line-height: 1.8;
  color: var(--ink-soft);
}
.map-empty code {
  font-family: var(--font-mono);
  font-size: var(--text-xs);
  background: var(--paper-inset);
  padding: 0.1em 0.4em;
}
.map-fallback { /* 世界数据加载失败时的说明（explore-map.js 注入） */
  position: absolute;
  inset: auto auto var(--space-4) var(--space-4);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--ink-soft);
}

/* ---- 锚点四维卡片补充 ---- */

/* 锚点点击后的维度高亮态（explore-map.js 切换 is-highlight） */
.gc-dim.is-highlight {
  background: var(--paper-inset);
  box-shadow: inset 3px 0 0 var(--ax-x);
}
/* 维度内空清单的弱化签（njk 无 JS 兜底；.gc-empty 亦用于 knowledge 页 noscript） */
.gc-empty {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--ink-faint);
}

/* ---- 格物 · 两级语义簇图补充 ---- */

/* 返回按钮是绝对定位，.kg-panel 必须是定位上下文（main.css 未设 position） */
.kg-panel { position: relative; }
/* 簇命中区：整簇可点（含键盘）的透明命中层 */
.kg-hull-hit { fill: transparent; stroke: none; cursor: pointer; }
/* 未入簇碎星 */
.kg-star { fill: var(--ink-faint); opacity: 0.35; }
/* 成员节点可点（描边与填充在 main.css） */
.kg-node { cursor: pointer; }
/* 返回全景按钮（仅放大态出现，knowledge-graph.js 注入；层级面包屑样式见 main.css .kg-path-note） */
.kg-back {
  position: absolute;
  top: var(--space-3);
  right: var(--space-3);
  z-index: 1;
  border: var(--rule-w) solid var(--rule-strong);
  background: var(--surface);
  padding: var(--space-1) var(--space-3);
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  min-height: 2rem;
}
.kg-back:hover { background: var(--paper-inset); }

/* ---- 见心 · 层剥卡片流补充 ---- */

/* 无 peel.core 时以题名顶替引句位（同一栅格列，字号收敛） */
.peel-title {
  font-size: var(--text-lg);
  line-height: 1.5;
  border-bottom: var(--rule-w) solid var(--rule-strong);
  padding-bottom: var(--space-3);
  margin-bottom: 0;
}
.peel-title a { text-decoration: none; }
.peel-title a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
@media (min-width: 48rem) {
  .peel-title {
    writing-mode: vertical-rl;
    max-height: 22rem;
    border-bottom: 0;
    border-right: var(--rule-w) solid var(--rule-strong);
    padding-bottom: 0;
    padding-right: var(--space-4);
  }
}
/* 尚未剥落层的弱化占位签 */
.pl-pending {
  font-family: var(--font-sans);
  font-size: var(--text-sm);
  color: var(--ink-faint);
  border-left: var(--rule-w) dashed var(--rule-strong);
  padding-left: var(--space-4);
}

/* ---- 页尾第二层下钻（轴覆盖分区的入口行） ---- */
.axis-drill {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: var(--space-3) var(--space-7);
}
.axis-drill li { display: inline-flex; align-items: center; gap: 0.6em; }
.axis-drill a {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  min-height: 2.75rem;
  font-family: var(--font-sans);
  font-size: var(--text-md);
  text-decoration: none;
}
.axis-drill a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.axis-drill .n { font-family: var(--font-mono); font-size: var(--text-xs); color: var(--ink-faint); }
