/* ===== 决策矩阵打分器（玻璃拟态） ===== */

.dm-matrix-wrap { overflow-x: auto; }
.dm-matrix { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 13.5px; min-width: 520px; }
.dm-matrix th, .dm-matrix td { padding: 8px 10px; text-align: center; border-bottom: 1px solid rgba(31, 45, 90, .1); }
html[data-theme="dark"] .dm-matrix th,
html[data-theme="dark"] .dm-matrix td { border-bottom-color: rgba(255, 255, 255, .12); }
.dm-matrix thead th {
  position: sticky; top: 0; background: rgba(255, 255, 255, .65);
  color: var(--c-text); font-weight: 700; z-index: 1;
}
html[data-theme="dark"] .dm-matrix thead th { background: rgba(20, 18, 51, .7); }
.dm-matrix tbody th {
  text-align: left; font-weight: 600; color: var(--c-text); white-space: nowrap;
  background: rgba(255, 255, 255, .4);
}
html[data-theme="dark"] .dm-matrix tbody th { background: rgba(255, 255, 255, .05); }
.dm-matrix .dm-w { display: block; font-size: 11px; font-weight: 500; color: var(--c-text-muted); margin-top: 2px; }
.dm-score {
  width: 64px; padding: 6px 8px; border-radius: 9px; text-align: center;
  border: 1px solid rgba(31, 45, 90, .14); background: rgba(255, 255, 255, .7);
  color: var(--c-text); font-size: 14px; font-weight: 600; outline: none;
}
.dm-score:focus { border-color: var(--c-primary); box-shadow: 0 0 0 3px color-mix(in srgb, var(--c-primary) 22%, transparent); }
.dm-score::-webkit-outer-spin-button, .dm-score::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
html[data-theme="dark"] .dm-score { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .16); }

/* 结果 */
.dm-results { display: flex; flex-direction: column; gap: 12px; }
.dm-result {
  display: flex; align-items: center; gap: 14px; padding: 12px 16px; border-radius: 14px;
  background: rgba(255, 255, 255, .5); border: 1px solid rgba(31, 45, 90, .1);
  transition: all .2s;
}
.dm-result.winner {
  background: linear-gradient(135deg, color-mix(in srgb, var(--c-primary) 16%, transparent), color-mix(in srgb, #ff5fa2 14%, transparent));
  border-color: color-mix(in srgb, var(--c-primary) 35%, transparent);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--c-primary) 22%, transparent);
}
html[data-theme="dark"] .dm-result { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .12); }
.dm-rank {
  flex-shrink: 0; width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center;
  font-weight: 800; font-size: 14px; color: #fff; background: var(--c-text-muted);
}
.dm-result.winner .dm-rank { background: linear-gradient(135deg, var(--c-primary), #ff5fa2); }
.dm-res-name { flex-shrink: 0; width: 120px; font-weight: 700; color: var(--c-text); font-size: 14px; }
.dm-bar { flex: 1; height: 12px; border-radius: 999px; background: rgba(31, 45, 90, .1); overflow: hidden; }
html[data-theme="dark"] .dm-bar { background: rgba(255, 255, 255, .12); }
.dm-bar-fill { height: 100%; border-radius: 999px; background: linear-gradient(90deg, var(--c-primary), #ff5fa2); transition: width .3s ease; }
.dm-score-val { flex-shrink: 0; width: 64px; text-align: right; font-weight: 800; font-size: 16px; color: var(--c-text); }
.dm-score-val small { font-size: 11px; color: var(--c-text-muted); font-weight: 500; }
.dm-crown { flex-shrink: 0; font-size: 18px; }

.dm-empty { color: var(--c-text-muted); font-size: 13.5px; padding: 8px 2px; }
.dm-table { width: 100%; border-collapse: separate; border-spacing: 0; margin-top: 14px; font-size: 13px; }
.dm-table th, .dm-table td { padding: 7px 10px; text-align: center; border-bottom: 1px solid rgba(31, 45, 90, .1); color: var(--c-text-sub); }
.dm-table th:first-child, .dm-table td:first-child { text-align: left; color: var(--c-text); font-weight: 600; }
.dm-table thead th { color: var(--c-text); }
html[data-theme="dark"] .dm-table th, html[data-theme="dark"] .dm-table td { border-bottom-color: rgba(255, 255, 255, .12); }
