.rpg-form { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)) !important; }
.rpg fieldset { padding: 14px 16px; gap: 8px; background: #fff; }
.rpg legend { font: 600 1rem/1.3 var(--f-display); color: var(--ink); letter-spacing: -0.01em; padding: 0 6px; }
.rpg-hint { font: 400 0.8125rem/1.4 var(--f-body); color: var(--ink-soft); letter-spacing: 0; }
.rpg-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.95rem/1.35 var(--f-body) !important; color: var(--ink) !important; letter-spacing: 0 !important; cursor: pointer; }
.rpg-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)); }
.rpg-opt input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--teal); flex: none; }
.rpg-opt:has(input:focus-visible) { outline: 3px solid var(--teal); outline-offset: 2px; }
.rpg .tool-actions { margin-top: 16px; }
.rpg-out { display: grid; gap: 16px; }
.rpg-out > * { margin-block: 0; }
.rpg .tool-result__big { font-size: clamp(1.8rem, 4.4vw, 2.8rem); }
.rpg-ladder { list-style: none; padding: 0; display: grid; gap: 10px; }
.rpg-rung, .rpg-box { border: 1px solid var(--rule); border-left: 4px solid var(--teal); background: #fff; padding: 14px 16px; display: grid; gap: 8px; min-width: 0; }
.rpg-rung p, .rpg-box p { margin: 0; }
.rpg-rung--optional { border-left-color: var(--ochre); }
.rpg-rung--skip { border-left-color: var(--rule); background: var(--paper); color: var(--ink-soft); }
.rpg-rung__head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 700 1.1rem/1.3 var(--f-display); color: var(--ink); }
.rpg-n { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ink); color: var(--paper); font: 600 0.8125rem var(--f-mono); }
.rpg-status { padding: 2px 8px; border: 1px solid var(--ink); font: 600 0.75rem var(--f-mono); letter-spacing: 0.02em; color: var(--ink); }
.rpg-rung--required .rpg-status { background: var(--ink); color: var(--paper); }
.rpg-dl { margin: 0; display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: 4px 12px; font-size: 0.95rem; }
.rpg-dl dt { font: 400 0.8125rem/1.7 var(--f-mono); color: var(--ink-soft); }
.rpg-dl dd { margin: 0; }
.rpg-sub, .rpg-box__h { font: 600 0.95rem var(--f-display); color: var(--ink); }
.rpg-box__h { font-size: 1.1rem; }
.rpg-checks { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 0.95rem; }
.rpg-checks li { padding-left: 26px; position: relative; overflow-wrap: anywhere; }
.rpg-checks li::before { content: ""; position: absolute; left: 2px; top: 0.3em; width: 13px; height: 13px; border: 1.5px solid var(--ink); background: #fff; }
.rpg-back { font-size: 0.95rem; }
.rpg-quote { margin: 0; padding: 0 0 0 14px; border-left: 3px solid var(--teal); font-style: italic; font-size: 0.95rem; color: var(--ink); }
.rpg-quote cite { display: block; margin-top: 2px; font: 400 0.8125rem var(--f-mono); font-style: normal; color: var(--ink-soft); }
