/* ============================================================
   My Dream Home · 大脑认知
   把「家有一个大脑」从一句口号，落成两个能看的图：
   ① 认知环 —— 感知/记忆/理解/推理/执行/学习 六能力闭环
   ② 决策链 —— 07:00 延后开窗帘的完整推理四步
   与 style.css / life.css 共用主题令牌；类名前缀：cog / dc
   ============================================================ */

/* ============================================================
   一、认知环 —— 大脑六能力闭环
   ============================================================ */
.cognition{ margin:0 0 12px; }

.cog__stage{
  border-top:1px solid var(--rule-2);
  border-bottom:1px solid var(--rule-2);
  padding:30px 0 18px;
  position:relative;
}
.cog__stage svg{ width:100%; height:auto; display:block; }

/* 环轨道 */
.cog-orbit{
  fill:none; stroke:var(--rule-2); stroke-width:1;
  stroke-dasharray:2 6;
}
/* 环上流动信号：两段弧沿环跑，像信号在神经里转 */
.cog-flow{
  fill:none; stroke:var(--sig); stroke-width:1.6; stroke-linecap:round;
  stroke-opacity:.7; stroke-dasharray:26 520;
  animation:cogFlow 7s linear infinite;
}
.cog-flow--2{
  stroke:var(--sig-2); stroke-opacity:.5;
  animation-delay:3.5s;
}
@keyframes cogFlow{ to{ stroke-dashoffset:-546; } }

/* 学习 → 感知 的回环：学习会反哺下一次感知与判断 */
.cog-loop{
  fill:none; stroke:var(--sig-2); stroke-width:1.2;
  stroke-opacity:.55; stroke-dasharray:4 6;
  animation:cogFlow 9s linear infinite reverse;
}

/* 中心核心 */
.cog-core{ fill:var(--sig-wash); stroke:var(--sig-dip); stroke-width:1.4; }
.cog-core--in{ fill:var(--panel); stroke:var(--rule-3); stroke-width:1; }
.cog-pulse{
  fill:none; stroke:var(--sig); stroke-width:1.2;
  transform-box:fill-box; transform-origin:center;
  animation:brainPulse 3.2s var(--ease) infinite;
}
.cog-pulse--2{ animation-delay:1.6s; }

/* 中心 → 节点的神经连接 */
.cog-link{ stroke:var(--rule-2); stroke-width:1; }
.cog-link--on{ stroke:var(--sig-dip); }

/* 节点卡片 */
.cog-node rect{ fill:var(--panel); stroke:var(--rule-2); stroke-width:1; }
.cog-node:hover rect{ stroke:var(--sig-dip); }
.cog-node--hot rect{ fill:var(--sig-wash); stroke:var(--sig-dip); stroke-width:1.2; }
.cog-node__t{
  font-family:var(--font-cn); font-size:16px; font-weight:600;
  fill:var(--ink); letter-spacing:.02em;
}
.cog-node__s{
  font-family:var(--font-mono); font-size:8.5px; letter-spacing:.18em;
  fill:var(--ink-3);
}
.cog-node--hot .cog-node__t{ fill:var(--sig); }
.cog-node--hot .cog-node__s{ fill:var(--sig); opacity:.75; }
/* 节点信号点（脉冲延迟由内联 style 控制，实现绕环依次亮起） */
.cog-dot{ fill:var(--sig); animation:synBlip 2.6s var(--ease) infinite; }

.cog-core__t{
  font-family:var(--font-din); font-size:17px; font-weight:600;
  letter-spacing:.1em; fill:var(--sig);
}
.cog-core__s{
  font-family:var(--font-mono); font-size:8.5px; letter-spacing:.18em;
  fill:var(--ink-3);
}

/* 认知环下方的六条一句话说明 */
.cog-keys{
  display:grid; grid-template-columns:repeat(6,1fr);
  gap:0; border-top:1px solid var(--rule-2);
}
.cog-key{
  display:block;
  padding:22px 22px 6px 0;
  border-right:1px solid var(--rule);
  transition:background .3s var(--ease);
}
.cog-key:last-child{ border-right:0; padding-right:0; }
.cog-key:hover{ background:var(--wash); }
.cog-key b{
  display:flex; align-items:baseline; gap:8px;
  margin-bottom:10px;
  font-family:var(--font-din); font-size:13px; font-weight:600;
  letter-spacing:.08em; color:var(--sig);
}
.cog-key b i{
  font-style:normal; font-family:var(--font-mono); font-size:9px;
  font-weight:400; letter-spacing:.12em; color:var(--ink-3);
}
.cog-key span{
  display:block; font-size:12.5px; line-height:1.75; color:var(--ink-2);
}
.cog-key a{ color:inherit; text-decoration:none; }

/* ============================================================
   二、决策链 —— 07:00 延后开窗帘的推理四步
   ============================================================ */
.decide{ margin:0 0 12px; }

.dc__stage{
  border-top:1px solid var(--rule-2);
  border-bottom:1px solid var(--rule-2);
  padding:30px 0 20px;
}
.dc__stage svg{ width:100%; height:auto; display:block; }

/* 步骤卡片 */
.dc-card rect{ fill:var(--panel); stroke:var(--rule-2); stroke-width:1; }
.dc-card--final rect{ fill:var(--sig-wash); stroke:var(--sig-dip); stroke-width:1.3; }

.dc-step{
  font-family:var(--font-mono); font-size:10px; letter-spacing:.14em;
  fill:var(--ink-3);
}
.dc-en{
  font-family:var(--font-din); font-size:11px; font-weight:600;
  letter-spacing:.16em; fill:var(--sig);
}
.dc-card--final .dc-en{ fill:var(--sig); }

.dc-title{
  font-family:var(--font-cn); font-size:15px; font-weight:600;
  fill:var(--ink); letter-spacing:.01em;
}
.dc-card--final .dc-title{ fill:var(--sig); }

/* 卡内的数据行 */
.dc-fact{ font-family:var(--font-cn); font-size:11px; fill:var(--ink-2); letter-spacing:.02em; }
.dc-fact--dim{ fill:var(--ink-3); }
.dc-mono{ font-family:var(--font-mono); font-size:10px; fill:var(--ink-3); letter-spacing:.04em; }
.dc-mono--sig{ fill:var(--sig); }

/* 被划掉的定时 */
.dc-strike{ stroke:var(--ink-3); stroke-width:1.3; stroke-linecap:round; }
.dc-off{ font-family:var(--font-cn); font-size:11px; fill:var(--ink-3); letter-spacing:.02em; }

/* 决策结果（琥珀高亮大字） */
.dc-on{
  font-family:var(--font-cn); font-size:14px; font-weight:600;
  fill:var(--sig); letter-spacing:.02em;
}
.dc-on--sub{
  font-family:var(--font-cn); font-size:10px; fill:var(--ink-2); letter-spacing:.03em;
}

/* 步骤间的信号线 */
.dc-link{
  fill:none; stroke:var(--sig); stroke-width:1.2; stroke-opacity:.55;
  stroke-dasharray:5 7; animation:dashflow 1.1s linear infinite;
}
.dc-link__lbl{
  font-family:var(--font-cn); font-size:10px; fill:var(--ink-3); letter-spacing:.05em;
}
.dc-pkt{ fill:var(--sig); }
.dc-pkt--warm{ fill:var(--sig-2); }

/* 底部注解 */
.dc-note{
  margin:18px 0 0; padding:0;
  font-size:13px; line-height:1.9; color:var(--ink-2);
  max-width:860px;
}
.dc-note b{ color:var(--sig); font-weight:600; }

/* ============================================================
   响应式
   ============================================================ */
@media (max-width:1080px){
  .cog-keys{ grid-template-columns:repeat(3,1fr); }
  .cog-key{ padding:18px 18px 6px 0; }
  .cog-key:nth-child(3n){ border-right:0; }
  .cog-key:nth-child(n+4){ border-top:1px solid var(--rule); padding-top:20px; }
}

@media (max-width:860px){
  .cog__stage{ padding:20px 0 10px; }
  .cog-keys{ grid-template-columns:repeat(2,1fr); }
  .cog-key:nth-child(3n){ border-right:1px solid var(--rule); }
  .cog-key:nth-child(2n){ border-right:0; }
  .cog-key:nth-child(n+3){ border-top:1px solid var(--rule); padding-top:20px; }
}

@media (max-width:520px){
  .cog-keys{ grid-template-columns:1fr; }
  .cog-key{ border-right:0 !important; padding-right:0; }
  .cog-key + .cog-key{ border-top:1px solid var(--rule); padding-top:18px; }
}

/* 减少动态 */
@media (prefers-reduced-motion: reduce){
  .cog-flow,.cog-flow--2,.cog-loop,.cog-pulse,.cog-pulse--2,.cog-dot,
  .dc-link{ animation:none !important; }
}
