.kbl-dialog { color:var(--ink); background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:0; width:min(920px,calc(100vw - 32px)); max-height:90dvh; box-shadow:var(--shadow-lift); }
.kbl-dialog::backdrop { background:rgba(7,20,18,.45); }
.kbl-head { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 24px; border-bottom:1px solid var(--line); position:sticky; top:0; background:var(--surface); z-index:2; }
.kbl-head h2 { margin:0; font-size:18px; }
.kbl-body { padding:24px; overflow-wrap:anywhere; }
.kbl-body h3 { font-size:21px; margin:8px 0 12px; line-height:1.5; }
.kbl-body h4 { font-size:16px; margin:22px 0 10px; }
.kbl-body p { line-height:1.8; margin:8px 0; }
.kbl-muted { color:var(--ink-soft); font-size:13px; }
.kbl-kicker { color:var(--accent); font-size:12px; letter-spacing:.08em; font-weight:650; }
.kbl-row { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; padding:18px 0; border-bottom:1px solid var(--line); }
.kbl-main { flex:1; min-width:0; }
.kbl-title { font-size:16px; font-weight:600; text-align:left; background:none; border:0; padding:0; color:var(--ink); cursor:pointer; line-height:1.6; }
.kbl-title:hover { color:var(--accent); }
.kbl-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin:14px 0; }
.kbl-row > .kbl-actions { margin:0; flex-shrink:0; }
.kbl-body button:focus-visible,.kbl-body input:focus-visible,.kbl-body textarea:focus-visible,.kbl-body select:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.kbl-body button:disabled { opacity:.5; cursor:not-allowed; }
.kbl-field { display:flex; flex-direction:column; gap:8px; margin:18px 0; font-size:14px; color:var(--ink-soft); }
.kbl-field input,.kbl-field textarea,.kbl-field select,.kbl-search { width:100%; border:1px solid var(--line-strong); border-radius:8px; padding:11px 12px; background:var(--surface); color:var(--ink); font:inherit; box-sizing:border-box; }
.kbl-field textarea { min-height:110px; resize:vertical; line-height:1.8; }
.kbl-field textarea.kbl-answer { min-height:190px; }
.kbl-check { display:flex; gap:12px; align-items:flex-start; cursor:pointer; line-height:1.7; }
.kbl-check input { margin-top:6px; accent-color:var(--accent); flex-shrink:0; }
.kbl-quote { margin:12px 0; border-left:3px solid var(--line-strong); padding:4px 14px; color:var(--ink-soft); font-size:13px; white-space:pre-wrap; line-height:1.8; }
.kbl-panel { padding:18px 20px; background:var(--surface-2); border-radius:10px; margin:18px 0; }
.kbl-feedback { white-space:pre-wrap; line-height:1.9; }
.kbl-error { padding:12px 16px; margin:0 0 18px; color:var(--warn); background:var(--warn-soft); border-radius:8px; line-height:1.6; }
.kbl-progress { width:100%; height:7px; accent-color:var(--accent); margin:16px 0; }
.kbl-split { display:grid; grid-template-columns:minmax(0,1.5fr) minmax(220px,1fr); gap:36px; }
.kbl-stats { display:flex; gap:20px; flex-wrap:wrap; margin:18px 0; color:var(--ink-soft); font-size:13px; }
.kbl-stats strong { color:var(--ink); font-size:24px; font-variant-numeric:tabular-nums; margin-right:6px; }
.kbl-source { color:var(--accent); border:0; padding:0; background:transparent; cursor:pointer; text-align:left; font:inherit; font-size:13px; }
.kbl-status { display:inline-block; font-size:12px; background:var(--accent-soft); color:var(--accent); padding:3px 8px; border-radius:5px; margin:4px 8px 4px 0; }
@media(max-width:600px) {
  .kbl-dialog { width:calc(100vw - 16px); max-height:94dvh; border-radius:12px; }
  .kbl-head { padding:15px 16px; }
  .kbl-body { padding:18px 16px; }
  .kbl-split { display:block; }
  .kbl-row { flex-wrap:wrap; gap:12px; }
  .kbl-row > .kbl-actions { width:100%; }
  .kbl-body .btn { min-height:40px; }
}
