/* gradeneeded — tool-specific styles
   只放这个工具独有的东西（结论卡 + 四个数）。
   ★ 不写任何裸色值：一律走主题变量。 */

.gn-block {
  margin-top: 22px;
}

/* 结论卡：三态各一套配色。`data-status` 是 ui.js 直接给的，
   界面不靠"数值大不大"去猜状态 —— 状态是 model 的结论，不是渲染层的推断。 */
.gn-verdict {
  margin: 0 0 18px;
  padding: 16px 18px;
  border: 1px solid var(--accent-line);
  border-radius: var(--radius-sm);
  background: var(--accent-soft);
}

.gn-verdict__k {
  margin-bottom: 6px;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--accent);
}

.gn-verdict__v {
  font-family: var(--mono);
  font-size: 30px;
  font-weight: 600;
  line-height: 1.1;
  color: var(--fg);
}

.gn-verdict__note {
  margin: 10px 0 0;
  font-size: 13.5px;
  color: var(--fg-muted);
}

.gn-verdict[data-status='impossible'] {
  border-color: var(--err-line);
  background: var(--err-bg);
}

.gn-verdict[data-status='impossible'] .gn-verdict__k {
  color: var(--err-fg);
}

/* 四个数 */
.gn-kv {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 10px;
}

.gn-kv__item {
  min-width: 0;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius-sm);
  background: var(--surface);
}

.gn-kv__k {
  margin-bottom: 6px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--fg-faint);
}

.gn-kv__v {
  font-family: var(--mono);
  font-size: 15px;
  color: var(--fg);
  word-break: break-word;
}
