.kb-page-outline { color:var(--ink-3,#667085); font:13px/1.6 var(--font-body,Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif); }
.kb-page-outline summary { cursor:pointer; font-weight:600; padding:12px 0; }
.kb-page-outline nav { max-height:65vh; overflow:auto; overscroll-behavior:contain; padding:0 0 12px; }
.kb-page-outline a { display:block; padding:6px 12px; border-left:1px solid var(--line,#e4e8ef); color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.kb-page-outline .subheading { padding-left:24px; font-size:12px; }
.kb-page-outline a:hover,.kb-page-outline a[aria-current] { color:var(--accent,#2563eb); border-left-color:currentColor; }
.kb-page-outline a[aria-current] { font-weight:600; }
.kb-page-outline a:focus-visible { outline:2px solid var(--accent,#2563eb); outline-offset:-2px; }
[data-theme='dark'] .kb-page-outline { color:var(--ink-3,#a6a6a6); }
[data-theme='dark'] .kb-page-outline a { border-color:var(--line,#303030); }
[data-theme='dark'] .kb-page-outline a:hover,[data-theme='dark'] .kb-page-outline a[aria-current] { color:var(--accent,#69a8ff); border-left-color:currentColor; }
.kb-compact-outline { border-block:1px solid var(--kb-line,var(--line,#e4e8ef)); margin:24px 0; }
.kb-reader { display:flex; flex-direction:column; min-width:0; }
.kb-reader>.kb-page-outline { order:-1; margin-bottom:24px; }
@media(min-width:1280px) {
  /* Every semantic article gets the same desktop frame, outline or not: the outline is added by script after
     render, so sizing by .kb-reader made pages without it narrower and every page jump on load (owner, 22.10). */
  .article-shell:has(.kb-prose) { max-width:1580px; }
  .article:has(.kb-prose) { max-width:none; }
  .article>.kb-prose { margin-right:242px; }
  .kb-reader { display:grid; grid-template-columns:minmax(0,1fr) 210px; gap:32px; align-items:start; }
  .kb-reader>.kb-page-outline { position:sticky; top:96px; order:0; max-height:calc(100vh - 120px); overflow:auto; }
  .kb-reader>.kb-page-outline>summary { display:block; cursor:default; pointer-events:none; }
  .kb-reader>.kb-page-outline>nav { display:block; max-height:none; }
  .kb-reader .kb-prose { min-width:0; }
}
