.decision-page { max-width: 980px; padding-bottom: 5rem; }
.tool-intro { padding: 5rem 0 2.5rem; max-width: 760px; }
.tool-intro h1 { margin: .35rem 0 1rem; }
.decision-form { display: grid; gap: 2rem; }
.decision-form fieldset, #scores-section, .decision-result { border: 1px solid var(--line); padding: clamp(1rem, 3vw, 1.5rem); }
.decision-form legend { padding: 0 .5rem; font-weight: 700; }
.field-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; }
.decision-form label { display: grid; gap: .45rem; font-size: .9rem; }
.decision-form input, .decision-form select { width: 100%; box-sizing: border-box; padding: .75rem; border: 1px solid var(--line); background: #0f1216; color: inherit; font: inherit; }
.criterion-row { display: grid; grid-template-columns: minmax(0, 1fr) 100px auto; gap: .75rem; align-items: end; margin-bottom: .75rem; }
.field-help, .muted, .tool-footnote { color: var(--muted); }
.secondary-button, .primary-button, .remove-button { min-height: 44px; padding: .65rem .9rem; border: 1px solid var(--line); background: transparent; color: inherit; font: inherit; cursor: pointer; }
.primary-button { margin-top: 1rem; background: var(--text); color: var(--bg); border-color: var(--text); }
button:disabled { opacity: .45; cursor: not-allowed; }
.score-grid { overflow-x: auto; }
.score-grid table { width: 100%; border-collapse: collapse; min-width: 420px; }
.score-grid th, .score-grid td { padding: .65rem; border-bottom: 1px solid var(--line); text-align: left; }
.score-grid td select { min-width: 68px; }
.decision-result { margin-top: 2rem; }
.decision-result ol { list-style: none; padding: 0; margin: 1rem 0; }
.decision-result li { display: flex; justify-content: space-between; gap: 1rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.tool-footnote { margin-top: 2rem; max-width: 700px; }
@media (max-width: 680px) {
  .tool-intro { padding-top: 3rem; }
  .field-row { grid-template-columns: 1fr; }
  .criterion-row { grid-template-columns: minmax(0, 1fr) 88px; }
  .criterion-row .remove-button { grid-column: 1 / -1; justify-self: start; }
}
