/* 系统看板:指标卡 + 进程表 + 网络简报(Warm Paper,全令牌配色)。 数字一律 tabular-nums 等宽对齐(design-system §4)。 */ .board { flex: 1; min-width: 0; overflow-y: auto; padding: 36px 48px 48px; } .board-head { margin-bottom: 28px; } .board-head h1 { font-size: 30px; } .board-sub { margin: 6px 0 0; font-size: 13.5px; color: var(--text-secondary); font-variant-numeric: tabular-nums; } /* ── 指标卡 ─────────────────────────────────────────────────────── */ .board-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; } .metric-card { display: flex; flex-direction: column; padding: 20px 22px 18px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--bg-elevated); } .metric-label { font-size: 13px; color: var(--text-secondary); } .metric-value { margin-top: 6px; font-family: var(--font-serif); font-size: 40px; font-weight: 600; line-height: 1.15; letter-spacing: -0.01em; color: var(--text); font-variant-numeric: tabular-nums; } .metric-unit { margin-left: 2px; font-size: 20px; color: var(--text-secondary); } .metric-bar { margin-top: 12px; height: 6px; border-radius: 3px; background: var(--bg-sunken); overflow: hidden; } .metric-bar-fill { height: 100%; border-radius: 3px; transition: background-color var(--dur) var(--ease); } .metric-note { margin-top: 10px; font-size: 12.5px; line-height: 1.5; color: var(--text-secondary); font-variant-numeric: tabular-nums; } /* 语义色:<70% success / 70–85% warning / >85% danger 2026-10-23 修复:必须带填充物类作用域——裸 .is-success 会匹配全 App 所有 is-success 元素(曾把验收卡整卡刷成实心绿)。 */ .metric-bar-fill.is-success, .core-bar-fill.is-success { background: var(--success); } .metric-bar-fill.is-warning, .core-bar-fill.is-warning { background: var(--warning); } .metric-bar-fill.is-danger, .core-bar-fill.is-danger { background: var(--danger); } /* CPU 每核迷你竖条 */ .core-bars { display: flex; align-items: flex-end; gap: 3px; height: 22px; margin-top: 12px; } .core-bar { flex: 1; min-width: 0; height: 100%; display: flex; align-items: flex-end; border-radius: 2px; background: var(--bg-sunken); overflow: hidden; } .core-bar-fill { width: 100%; min-height: 2px; border-radius: 2px; transition: background-color var(--dur) var(--ease); } /* 数值变化只做 150ms 淡入,不做数字滚动(design-system §6) */ .board-num { display: inline-block; animation: board-fade var(--dur) var(--ease); } @keyframes board-fade { from { opacity: 0.35; } to { opacity: 1; } } /* ── 下方两个面板 ───────────────────────────────────────────────── */ .board-panels { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 16px; margin-top: 16px; align-items: start; } .panel { padding: 20px 22px; border: 1px solid var(--border); border-radius: var(--radius-card); background: var(--bg-elevated); } .panel h2 { font-size: 16px; margin-bottom: 12px; } .panel-note { margin: 4px 0; font-size: 13px; color: var(--text-tertiary); } .panel-foot { margin: 12px 0 0; font-size: 12px; color: var(--text-tertiary); } /* ── 进程表 ─────────────────────────────────────────────────────── */ .proc-table { width: 100%; border-collapse: collapse; font-size: 13px; font-variant-numeric: tabular-nums; } .proc-table th { padding: 6px 8px; text-align: left; font-weight: 500; font-size: 12px; color: var(--text-secondary); border-bottom: 1px solid var(--border); } .proc-table th.num, .proc-table td.num { text-align: right; } .proc-table td { padding: 7px 8px; border-bottom: 1px solid var(--border); } .proc-table tbody tr { transition: background-color var(--dur) var(--ease); } /* hover 行底色 = accent-soft 的 40%(design-system §7) */ .proc-table tbody tr:hover { background: color-mix(in srgb, var(--accent-soft) 40%, transparent); } .proc-table tbody tr:last-child td { border-bottom: none; } .proc-name { max-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .sort-btn { padding: 0; border: none; background: transparent; color: inherit; font: inherit; font-variant-numeric: tabular-nums; cursor: pointer; } .sort-btn:hover { color: var(--text); } .sort-btn.is-active { color: var(--accent); } .sort-arrow { font-size: 10px; } /* ── 网络简报 ───────────────────────────────────────────────────── */ .net-public { display: flex; align-items: baseline; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--border); } .net-public-label { flex-shrink: 0; font-size: 12.5px; color: var(--text-secondary); } .net-public-value { font-family: var(--font-mono); font-size: 15px; color: var(--text); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; } .iface-list { list-style: none; margin: 10px 0 0; padding: 0; } .iface { display: flex; align-items: baseline; gap: 10px; padding: 7px 0; font-size: 13px; } .iface + .iface { border-top: 1px solid var(--border); } .iface-name { flex-shrink: 0; min-width: 56px; font-family: var(--font-mono); font-size: 12.5px; color: var(--text); } .iface-ips { flex: 1; min-width: 0; color: var(--text-secondary); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; } .iface-mac { flex-shrink: 0; font-family: var(--font-mono); font-size: 11.5px; color: var(--text-tertiary); } /* ── 空态(衬线大字一句话,design-system §7)─────────────────────── */ .board-empty { padding: 56px 0 24px; } .board-empty-title { margin: 0; font-family: var(--font-serif); font-size: 24px; font-weight: 600; color: var(--text); } .board-empty-sub { margin: 10px 0 0; font-size: 13.5px; color: var(--text-secondary); } /* ── CPU 异构分组(Apple Silicon 性能核/能效核)────────────── */ .core-groups { display: flex; flex-direction: column; gap: 6px; } .core-group-row { display: flex; align-items: center; gap: 10px; } .core-group-label { flex-shrink: 0; width: 60px; font-size: 12px; color: var(--text-secondary); } .core-group-count { font-family: var(--font-mono); font-variant-numeric: tabular-nums; color: var(--text-tertiary); } .core-group-row .core-bars { flex: 1; } .core-group-avg { flex-shrink: 0; width: 38px; text-align: right; font-family: var(--font-mono); font-size: 12px; font-variant-numeric: tabular-nums; color: var(--text-secondary); }