.kbr-dialog {
  width: min(760px, calc(100vw - 32px)); max-height: calc(100dvh - 40px);
  padding: 0; border: 1px solid var(--line); border-radius: var(--r);
  background: var(--surface); color: var(--ink); box-shadow: var(--shadow-lift);
  font-family: var(--sans);
}
.kbr-dialog::backdrop { background: rgba(10, 20, 19, .48); }
.kbr-head { display: flex; align-items: center; gap: 12px; padding: 18px 24px; border-bottom: 1px solid var(--line); }
.kbr-head h2 { font-size: 19px; margin: 0; flex: 1; }
.kbr-body { padding: 20px 24px; overflow-wrap: anywhere; }
.kbr-sub { color: var(--ink-soft); font-size: 13px; line-height: 1.7; margin: 0 0 18px; }
.kbr-row { display: flex; align-items: center; gap: 12px; padding: 15px 0; border-top: 1px solid var(--line); }
.kbr-row-main { flex: 1; min-width: 0; }
.kbr-title { display: block; padding: 0; text-align: left; background: none; color: var(--ink); border: 0; font: inherit; font-weight: 600; cursor: pointer; }
.kbr-title:hover { color: var(--accent); }
.kbr-meta { display: block; font-size: 12px; color: var(--ink-soft); margin-top: 6px; }
.kbr-acts { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; align-items: center; }
.kbr-pages { display: flex; gap: 12px; align-items: center; justify-content: center; padding-top: 20px; }
.kbr-pages span { font-size: 13px; color: var(--ink-soft); }
.kbr-text { display: block; box-sizing: border-box; width: 100%; min-height: 260px; max-height: 50dvh; resize: vertical; padding: 14px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface-2); color: var(--ink); font: 14px/1.8 var(--sans); }
.kbr-error { color: var(--warn); background: var(--warn-soft); padding: 12px; border-radius: 6px; line-height: 1.7; }
.kbr-dialog button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.edit-conflict { margin-top: 16px; padding: 14px; background: var(--warn-soft); border-radius: 6px; }
.edit-conflict p { color: var(--warn); margin: 0 0 10px; line-height: 1.6; }
@media (max-width: 600px) {
  .kbr-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 24px); }
  .kbr-head, .kbr-body { padding: 16px; }
  .kbr-row { align-items: flex-start; }
}
