@layer pages {
  /* 架构示意：三端 + SignalR 连接 */
  .arch { position: relative; border: 1px solid var(--line-strong); border-radius: var(--r-lg); background: var(--surface); box-shadow: var(--hilite); padding: var(--s-5); overflow: hidden; }
  .arch svg { width: 100%; height: auto; display: block; }
  .arch .box { fill: var(--raised); stroke: var(--line-strong); }
  .arch .box-main { stroke: var(--cyan); }
  .arch .lbl { font-family: var(--font-cjk); font-size: 11px; font-weight: 600; fill: var(--text); }
  .arch .sub { font-family: var(--font-mono); font-size: 8px; fill: var(--muted); letter-spacing: .1em; }
  .arch .link { fill: none; stroke: var(--cyan); stroke-width: 1.5; stroke-dasharray: 4 4; animation: dash 6s linear infinite; }
  .arch .link-amber { stroke: var(--amber); }
  .arch .bus { fill: none; stroke: var(--line-strong); stroke-width: 1; }
  .arch .node { fill: var(--cyan); } .arch .node-b { fill: var(--amber); }
  .arch .screen { fill: #0A1019; stroke: var(--line-strong); }
  .arch .screen-lit { fill: rgb(0 212 255 / .12); stroke: var(--cyan); }
  @keyframes dash { to { stroke-dashoffset: -80; } }
  @media (prefers-reduced-motion: reduce) { .arch .link { animation: none; } }

  .highlights { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--s-4); counter-reset: hl; }
  .highlight { display: grid; gap: var(--s-2); padding: var(--s-5); border: 1px solid var(--line); border-radius: var(--r-md); background: var(--surface); box-shadow: var(--hilite); position: relative; }
  .highlight::before { counter-increment: hl; content: "T" counter(hl, decimal-leading-zero); font-family: var(--font-mono); font-size: var(--t-xs); letter-spacing: .14em; color: var(--cyan-ink); }
  .highlight h3 { font-size: var(--t-base); }
  .highlight p { font-size: var(--t-sm); color: var(--muted); }

  /* 对比表：首列固定宽，● ○ 对齐 */
  .compare-table th:first-child, .compare-table td:first-child { min-width: 180px; font-weight: 500; }
  .compare-table td:not(:first-child), .compare-table th:not(:first-child) { text-align: center; width: 20%; }
  .compare-legend { display: flex; flex-wrap: wrap; gap: var(--s-4); font-size: var(--t-xs); color: var(--muted); font-family: var(--font-mono); margin-top: var(--s-3); }

  /* 新旧对比 */
  .upgrade-table td:nth-child(2) { width: 32%; }
  .upgrade-table td:nth-child(3), .upgrade-table td:nth-child(4) { width: 30%; }
  .upgrade-intro { display: grid; grid-template-columns: 7fr 5fr; gap: var(--s-7); align-items: end; }
  @media (max-width: 1023px) { .upgrade-intro { grid-template-columns: 1fr; } }
}
