/* 环境检测页样式 */
.score-card {
  display: flex; gap: 20px; align-items: center;
  background: linear-gradient(135deg, #1a1f2b, #171a21);
  border: 1px solid var(--border); border-radius: var(--radius);
  padding: 20px; margin-bottom: 16px;
}
.score-left { text-align: center; min-width: 110px; }
.score-num { font-size: 46px; font-weight: 800; line-height: 1; color: var(--accent-2); }
.score-num.warn { color: var(--warn); }
.score-num.bad { color: var(--danger); }
.score-label { font-size: 13px; color: var(--muted); margin-top: 6px; }
.score-right { flex: 1; }
.score-stats { display: flex; gap: 18px; font-size: 13px; color: var(--muted); margin-bottom: 10px; }
.score-stats b { color: var(--text); font-size: 15px; }
.score-stats b.bad { color: var(--danger); }
.progress, .score-bar {
  height: 6px; background: var(--panel-2); border-radius: 3px; overflow: hidden; margin-bottom: 8px;
}
.progress > div, .score-bar > div {
  height: 100%; width: 0; border-radius: 3px; transition: width 0.25s ease;
}
.progress > div { background: var(--accent); }
.score-bar > div { background: var(--accent-2); }

.log-card { padding: 14px 20px; }
.log-card h2 { margin-bottom: 8px; }
.log {
  font-family: ui-monospace, Consolas, monospace; font-size: 12px; line-height: 1.7;
  color: var(--muted); max-height: 130px; overflow-y: auto; padding-top: 2px;
}
.log .t { color: #5c6474; }
.log .ok { color: var(--accent-2); }
.log .warn { color: var(--warn); }

/* 分区 */
.sec { background: var(--panel); border: 1px solid var(--border); border-radius: var(--radius); margin-bottom: 14px; overflow: hidden; }
.sec > summary {
  list-style: none; cursor: pointer; padding: 13px 18px; font-size: 14px; font-weight: 600;
  display: flex; align-items: center; gap: 8px; user-select: none;
}
.sec > summary::-webkit-details-marker { display: none; }
.sec > summary::after { content: "▾"; margin-left: auto; color: var(--muted); transition: transform 0.2s; }
.sec[open] > summary::after { transform: rotate(180deg); }
.sec > summary .cnt { font-size: 12px; color: var(--muted); font-weight: 400; }
.sec-body { border-top: 1px solid var(--border); }

.row {
  display: grid; grid-template-columns: 190px 1fr; gap: 12px;
  padding: 8px 18px; border-bottom: 1px solid rgba(42, 47, 58, 0.5);
  font-size: 13px; align-items: start;
}
.row:last-child { border-bottom: none; }
.row .k { color: var(--muted); }
.row .v { word-break: break-word; }
.row .v.mono { font-family: ui-monospace, Consolas, monospace; font-size: 12px; }
.row.pending .v { color: #4a5162; }
.row .tag { font-size: 11px; padding: 1px 6px; border-radius: 4px; margin-left: 6px; vertical-align: middle; }
.tag.ok { background: rgba(53,192,142,.15); color: var(--accent-2); }
.tag.warn { background: rgba(224,169,85,.15); color: var(--warn); }
.tag.bad { background: rgba(224,85,85,.15); color: var(--danger); }

/* 交叉校验结果 */
.check { display: flex; gap: 10px; padding: 9px 18px; border-bottom: 1px solid rgba(42,47,58,.5); font-size: 13px; }
.check:last-child { border-bottom: none; }
.check .icon { flex-shrink: 0; width: 16px; }
.check .name { width: 240px; flex-shrink: 0; color: var(--muted); }
.check .detail { flex: 1; word-break: break-word; }
.check.pass .icon { color: var(--accent-2); }
.check.warn .icon { color: var(--warn); }
.check.fail .icon { color: var(--danger); }
.check.fail .detail { color: var(--danger); }
.check.warn .detail { color: var(--warn); }

#findings .finding {
  padding: 9px 12px; border-radius: 8px; background: rgba(224,85,85,.08);
  border-left: 3px solid var(--danger); margin-bottom: 8px; font-size: 13px;
}
#findings .finding.warn { background: rgba(224,169,85,.08); border-color: var(--warn); }

@media (max-width: 560px) {
  .row { grid-template-columns: 1fr; gap: 2px; }
  .row .k { font-size: 12px; }
  .check { flex-wrap: wrap; }
  .check .name { width: 100%; }
  .score-card { flex-direction: column; text-align: center; }
}
