.npc-form { grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)) !important; }
.npc-wide { grid-column: 1 / -1; }
.npc-hint { font: 400 0.8125rem/1.4 var(--f-body); color: var(--ink-soft); letter-spacing: 0; }
.npc-opt { display: flex !important; align-items: flex-start; gap: 10px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--rule); border-radius: var(--radius);
  background: var(--paper-light); font: 400 0.975rem/1.35 var(--f-body) !important; color: var(--ink) !important; letter-spacing: 0 !important; cursor: pointer; }
.npc-opt:has(input:checked) { border-color: var(--ink); box-shadow: inset 0 0 0 1px var(--ink); background: color-mix(in srgb, var(--ochre) 35%, var(--paper-light)); }
.npc-opt input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--teal); flex: none; }
.npc-opt:has(input:focus-visible) { outline: 3px solid var(--teal); outline-offset: 2px; }
.npc .tool-actions { margin-top: 16px; }
.npc-out { display: grid; gap: 16px; }
.npc-out > * { margin-block: 0; }
.npc-diagrams { display: grid; gap: 16px; grid-template-columns: repeat(auto-fit, minmax(min(100%, 320px), 1fr)); }
.npc-diagrams figure { margin: 0; border: 1px solid var(--rule); background: #fff; padding: 10px 12px; }
.npc-diagrams figcaption { margin-top: 6px; font-size: 0.9rem; color: var(--ink); }
.npc-own { display: block; margin-top: 6px; font: 400 0.8125rem var(--f-mono); color: var(--ink-soft); }
.npc .tool-result th small { font: inherit; color: var(--ink-soft); }
.npc .tool-result tbody th { width: 40%; }
.npc-ledger { border: 1px solid var(--rule); background: #fff; padding: 14px 16px; }
.npc-ledger p { margin: 0; }
.npc-ledger__h { font: 600 1.05rem/1.3 var(--f-display); color: var(--ink); }
.npc-ledger ul { margin: 8px 0; padding-left: 1.2em; display: grid; gap: 6px; font-size: 0.95rem; }
