/* ============================================================================
   EGO · Calm Focus v3 —— 首页「信息密度」层（第 4 层样式）
   引入位置：必须排在 templates/index.html 最后一个内联 </style> 之后，
             且排在 ego-ui-v3-index.css / -enrich.css / -polish.css 之后。
   本轮目标：让首屏右栏从「空的图片槽」变成一台信息密度足够的仪器面板；
             新增内容全部为草稿文案，不改动任何既有句子。
   约束：纯离线零外链；不引 CDN / 外部字体 / 外部图片；不新造色相（沿用既有令牌）；
         所有示意图形只用 SVG / CSS，不用位图；不使用位图时页面必须完整。
   ========================================================================== */

/* ---------- 1. 首屏右栏：EGO 采集台面板（示意界面，不含任何实时数值） ---------- */
.ego-console{
  width:100%; max-width:560px; justify-self:end;
  padding:22px;
  border:1px solid rgba(255,255,255,.26); border-radius:var(--ego-radius);
  background:
    linear-gradient(158deg,rgba(255,255,255,.16),rgba(255,255,255,.05) 58%,rgba(19,184,166,.18)),
    rgba(8,22,48,.42);
  box-shadow:0 26px 60px rgba(8,22,48,.38);
  color:rgba(255,255,255,.94);
  font-size:var(--ego-fs-14);
}
.ego-console-hd{
  display:flex; align-items:center; gap:10px;
  padding-bottom:12px; border-bottom:1px solid rgba(255,255,255,.20);
}
.ego-console-hd b{font-size:var(--ego-fs-16); letter-spacing:.4px;}
.ego-console-hd .ic{width:18px; height:18px;}
.ego-console-flag{
  margin-left:auto; display:inline-flex; align-items:center; gap:7px;
  font-size:var(--ego-fs-12); padding:3px 10px; border-radius:999px;
  background:rgba(111,227,212,.16); border:1px solid rgba(111,227,212,.42); color:#BFF3EC;
}
.ego-console-flag i{width:7px; height:7px; border-radius:50%; background:#6FE3D4; display:inline-block;}
.ego-console-cap{margin:12px 0 0; font-size:var(--ego-fs-12); line-height:1.7; color:rgba(255,255,255,.74);}

/* 三路信号条：纯 SVG 示意，无刻度、无数字 */
.ego-scope{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-top:14px;}
.ego-scope figure{
  margin:0; padding:9px 10px 8px; border-radius:10px;
  background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.18);
}
.ego-scope svg{display:block; width:100%; height:34px; color:#9FE9DF;}
.ego-scope .sc-a{color:#9FE9DF;}
.ego-scope .sc-b{color:#AFC8FF;}
.ego-scope .sc-c{color:#E7D6A8;}
.ego-scope .sc-line{fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round;}
.ego-scope .sc-bar{fill:currentColor; opacity:.72;}
.ego-scope figcaption{display:block; margin-top:6px; font-size:var(--ego-fs-12); line-height:1.45; color:rgba(255,255,255,.80);}

/* 三路采集通道 */
.ego-lanes{display:grid; gap:8px; margin-top:14px;}
.ego-lane{
  display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr) auto; gap:10px; align-items:center;
  padding:9px 12px; border-radius:10px;
  background:rgba(255,255,255,.055); border:1px solid rgba(255,255,255,.18);
}
.ego-lane b{font-size:var(--ego-fs-14); white-space:nowrap;}
.ego-lane span{font-size:var(--ego-fs-12); line-height:1.5; color:rgba(255,255,255,.78);}
.ego-lane em{
  font-style:normal; font-size:var(--ego-fs-12); white-space:nowrap;
  padding:2px 9px; border-radius:999px;
  background:rgba(255,255,255,.14); border:1px solid rgba(255,255,255,.26); color:rgba(255,255,255,.9);
}

/* 信度读数：未判定态 —— 虚线框 + 无数字，视觉上明确区别于任何「分数」 */
.ego-readout{
  margin-top:14px; padding:12px 14px; border-radius:12px;
  border:1px dashed rgba(255,205,140,.62); background:rgba(245,158,11,.12);
}
.ego-readout-top{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.ego-readout-top span{font-size:var(--ego-fs-12); color:rgba(255,255,255,.78);}
.ego-readout-top b{
  font-size:var(--ego-fs-20); font-weight:800; letter-spacing:2px; color:#FFD79A;
  border:1px dashed rgba(255,205,140,.7); border-radius:8px; padding:0 12px;
}
.ego-readout-top .na{font-size:var(--ego-fs-12); color:#FFD79A; letter-spacing:1px;}
.ego-readout p{margin:7px 0 0; font-size:var(--ego-fs-12); line-height:1.65; color:rgba(255,255,255,.82);}

/* ---------- 2. 证据链（六步）：可读的横向链路，窄屏转纵向 ---------- */
.ego-chain{display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:14px; margin:0; padding:0; list-style:none;}
.ego-chain li{
  position:relative; padding:15px 15px 16px;
  background:var(--ego-card); border:1px solid var(--ego-line); border-radius:12px;
  box-shadow:var(--ego-shadow);
}
.ego-chain li::before{
  content:""; position:absolute; left:0; top:14px; bottom:14px; width:3px; border-radius:3px;
  background:var(--ego-primary);
}
.ego-chain li.s-teal::before{background:var(--ego-teal);}
.ego-chain li.s-amber::before{background:var(--ego-amber);}
.ego-chain li.s-purple::before{background:var(--ego-purple);}
.ego-chain li:not(:last-child)::after{
  content:"→"; position:absolute; right:-13px; top:20px; z-index:2;
  font-size:var(--ego-fs-14); font-weight:800; color:var(--ego-text-3); line-height:1;
}
.ego-chain .cn{
  display:inline-block; font-size:var(--ego-fs-12); font-weight:800; letter-spacing:1.5px; color:var(--ego-text-3);
}
.ego-chain b{display:block; margin:3px 0 5px; font-size:var(--ego-fs-15);}
.ego-chain span{display:block; font-size:var(--ego-fs-12); line-height:1.7; color:var(--ego-text-2);}

/* ---------- 3. 逐模态规格卡（采什么 / 客观量 / 什么情况下拒绝出数） ---------- */
.ego-spec{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px;}
.ego-spec article{
  background:var(--ego-card); border:1px solid var(--ego-line); border-radius:12px; padding:16px 17px;
  box-shadow:var(--ego-shadow);
}
.ego-spec h4{margin-bottom:2px;}
.ego-spec .sp-sub{display:block; font-size:var(--ego-fs-12); color:var(--ego-text-3); margin-bottom:8px;}
.ego-spec dl{margin:0;}
.ego-spec dt{
  font-size:var(--ego-fs-12); font-weight:800; letter-spacing:.6px; color:var(--ego-text-3);
  margin-top:10px; padding-top:9px; border-top:1px dashed var(--ego-line);
}
.ego-spec dt:first-of-type{margin-top:0; padding-top:0; border-top:0;}
.ego-spec dd{margin:3px 0 0; font-size:var(--ego-fs-13); line-height:1.72; color:var(--ego-text-2);}
.ego-spec .reject{color:#8A4B06;}
.ego-spec .reject dd{color:#8A4B06;}

/* ---------- 4. 「先判信度」重块 ---------- */
.cred-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; align-items:start;}
.cred-box{
  background:var(--ego-card); border:1px solid var(--ego-line); border-radius:var(--ego-radius);
  padding:22px 24px; box-shadow:var(--ego-shadow);
}
.cred-box h3{margin-bottom:10px;}
.cred-list{margin:0; padding:0; list-style:none;}
.cred-list li{
  position:relative; padding:10px 0 10px 26px; border-bottom:1px dashed var(--ego-line);
  font-size:var(--ego-fs-14); line-height:1.72; color:var(--ego-text-2);
}
.cred-list li:last-child{border-bottom:0; padding-bottom:0;}
.cred-list li b{color:var(--ego-text);}
.cred-list li::before{
  content:""; position:absolute; left:4px; top:19px; width:9px; height:9px; border-radius:50%;
  background:var(--ego-primary-soft); border:2px solid var(--ego-primary);
}
.cred-list li.c2::before{border-color:var(--ego-teal); background:var(--ego-teal-soft);}
.cred-list li.c3::before{border-color:var(--ego-amber); background:var(--ego-amber-soft);}
.cred-list li.c4::before{border-color:var(--ego-purple); background:var(--ego-purple-soft);}

/* 三态判据表（三行） */
.cred-states{display:grid; gap:12px;}
.cred-state{
  display:grid; grid-template-columns:180px minmax(0,1fr); gap:16px; align-items:start;
  padding:14px 16px; border:1px solid var(--ego-line); border-radius:12px; background:#FCFDFF;
}
.cred-state .st{
  font-size:var(--ego-fs-14); font-weight:800; display:flex; align-items:center; gap:8px;
}
.cred-state .st i{width:10px; height:10px; border-radius:50%; display:inline-block; flex:0 0 auto;}
.cred-state.ok .st{color:#0B7267;} .cred-state.ok .st i{background:var(--ego-teal);}
.cred-state.no .st{color:#8A4B06;} .cred-state.no .st i{background:var(--ego-amber);}
.cred-state.na{border-style:dashed; background:#FBFCFE;} .cred-state.na .st{color:var(--ego-text-2);} .cred-state.na .st i{background:var(--ego-text-3);}
.cred-state p{margin:0; font-size:var(--ego-fs-13); line-height:1.75; color:var(--ego-text-2);}
.cred-state b{color:var(--ego-text);}
.cred-state code{
  font-family:Consolas,"Courier New",monospace; font-size:var(--ego-fs-12);
  background:var(--ego-primary-soft); color:#2559C8; border-radius:5px; padding:1px 6px;
}

/* 红线块：判不了的时候页面显示什么 */
.cred-num{
  border:1px solid #F3D9A6; border-left:4px solid var(--ego-amber);
  border-radius:var(--ego-radius); background:linear-gradient(135deg,#FFFDF8,#FEF4E4);
  padding:22px 24px;
}
.cred-num h3{color:#8A4B06;}
.cred-num ol{margin:0; padding-left:22px;}
.cred-num li{font-size:var(--ego-fs-14); line-height:1.8; color:#6B3F0C; margin-bottom:6px;}
.cred-num li:last-child{margin-bottom:0;}
.cred-num b{color:#5A340A;}

/* 读数面板（示意：未判定态，无任何分数） */
.cred-panel{
  background:var(--ego-card); border:1px solid var(--ego-line); border-radius:var(--ego-radius);
  box-shadow:var(--ego-shadow); padding:22px 24px;
}
.cred-panel-hd{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  padding-bottom:12px; border-bottom:1px solid var(--ego-line);
}
.cred-panel-hd b{font-size:var(--ego-fs-16);}
.cred-panel-hd .tiny{margin-left:auto;}
.cred-rows{display:grid; gap:9px; margin-top:14px;}
.cred-row{
  display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr) auto; gap:12px; align-items:center;
  padding:10px 13px; border:1px solid var(--ego-line); border-radius:10px; background:#FCFDFF;
}
.cred-row .k{font-size:var(--ego-fs-13); font-weight:700;}
.cred-row .v{font-size:var(--ego-fs-12); color:var(--ego-text-2); line-height:1.6;}
.cred-row .s{
  font-size:var(--ego-fs-12); white-space:nowrap; padding:2px 10px; border-radius:999px;
  background:var(--ego-amber-soft); color:#8A4B06; border:1px dashed #EBC98C;
}
.cred-panel .cred-out{
  margin-top:14px; padding:14px 16px; border-radius:12px;
  border:1px dashed #EBC98C; background:var(--ego-amber-soft);
  display:grid; grid-template-columns:minmax(0,auto) minmax(0,1fr); gap:16px; align-items:center;
}
.cred-out .big{
  font-size:var(--ego-fs-28); font-weight:800; letter-spacing:3px; color:#8A4B06; white-space:nowrap;
}
.cred-out .big s{display:block; font-size:var(--ego-fs-12); font-weight:700; letter-spacing:1px; color:#8A4B06; text-decoration:none;}
.cred-out p{margin:0; font-size:var(--ego-fs-13); line-height:1.72; color:#6B3F0C;}

/* 可读性修正（本轮）：#pipeline 的 .eyebrow 原为 --ego-primary #2F6FED，
   在 --ego-bg #F4F7FB 上实测仅 4.23:1（< AA 4.5:1）。仅对新增区块 #pipeline 覆写为
   既有色阶 #2559C8（同文件 .cred-state code / index.html .tag-blue 已在用）：
   on #F4F7FB = 5.85:1。其余既有区块的 .eyebrow 不在本轮四项修正范围内，未改动。 */
#pipeline .eyebrow{color:#2559C8;}

/* ---------- 5. 图片槽内的信息型占位图（缺位图时也承载信息；有位图时被 ::after 覆盖） ---------- */
.ego-figure-fallback{color:rgba(19,184,166,.62);}
.ego-figure-referral .ego-figure-fallback{color:rgba(124,92,252,.6);}
.ego-deco{width:88%; height:88%;}
.ego-deco .d-line{fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round;}
.ego-deco .d-soft{fill:none; stroke:currentColor; stroke-width:1.2; stroke-dasharray:5 5; opacity:.75;}
.ego-deco .d-node{fill:#fff; stroke:currentColor; stroke-width:1.5;}
.ego-deco .d-t{font-size:11px; font-weight:700; fill:var(--ego-text-2);}
.ego-deco .d-t2{font-size:10px; fill:var(--ego-text-3);}
.ego-deco .d-bar{fill:currentColor; opacity:.5;}

/* ---------- 6. 响应式 ---------- */
@media (max-width:1280px){
  .ego-chain{grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px;}
  .ego-chain li:nth-child(3n)::after{content:"";}
  .ego-chain li:nth-child(3n){}
  .ego-spec{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:1024px){
  .ego-console{max-width:520px; justify-self:center;}
}
@media (max-width:900px){
  .cred-grid{grid-template-columns:1fr;}
  .ego-state, .cred-state{grid-template-columns:1fr; gap:6px;}
  .cred-panel .cred-out{grid-template-columns:1fr; gap:8px;}
}
@media (max-width:640px){
  .ego-chain{grid-template-columns:1fr;}
  .ego-chain li:not(:last-child)::after{content:"↓"; right:auto; left:50%; top:auto; bottom:-14px; transform:translateX(-50%);}
  .ego-spec{grid-template-columns:1fr;}
  .ego-scope{grid-template-columns:1fr;}
  .ego-lane{grid-template-columns:1fr auto; gap:6px 10px;}
  .ego-lane span{grid-column:1 / -1;}
  .ego-console{padding:18px;}
  .cred-row{grid-template-columns:1fr auto; gap:6px 10px;}
  .cred-row .v{grid-column:1 / -1;}
}
@media print{
  .ego-chain li,.ego-spec article,.cred-box{box-shadow:none;}
}
