.docs { display: grid; grid-template-columns: 260px minmax(0, 1fr) 220px; gap: var(--s-6); width: min(100% - 2 * var(--s-4), var(--docs-maxw)); margin-inline: auto; padding-block: var(--s-6) var(--s-8); }
.docs-side, .toc { position: sticky; top: 72px; align-self: start; max-height: calc(100vh - 88px); overflow: auto; font-size: var(--fs-sm); }
.docs-nav ul, .toc ul, #doc-search-results { list-style: none; margin: 0; padding: 0; }
.docs-nav a, .toc a, #doc-search-results a { display: block; padding: .3rem .6rem; color: var(--text-1); text-decoration: none; border-left: 2px solid transparent; }
.docs-nav a:hover, .toc a:hover, #doc-search-results a:hover { color: var(--text-0); }
.docs-nav a[aria-current="page"] { color: var(--text-0); border-left-color: var(--accent); background: var(--accent-dim); }
.docs-nav-group { margin-bottom: var(--s-5); }
.docs-nav-title, .toc-title { font: 600 var(--fs-xs)/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-2); margin: 0 0 var(--s-2); padding-inline: .6rem; }
.docs-nav-toggle { display: none; width: 100%; background: var(--bg-1); color: var(--text-0); border: 1px solid var(--line-strong); border-radius: var(--r-2); padding: var(--s-3) var(--s-4); font: 600 var(--fs-sm) var(--font-sans); text-align: left; cursor: pointer; }
.doc-search { margin-bottom: var(--s-4); }
.doc-search input { width: 100%; background: var(--bg-1); color: var(--text-0); border: 1px solid var(--line-strong); border-radius: var(--r-2); padding: .6rem .8rem; font: var(--fs-sm) var(--font-sans); }
.doc-search input::placeholder { color: var(--text-2); }
#doc-search-results { margin-top: var(--s-2); }
.prose { min-width: 0; max-width: 78ch; }
.prose > h1 { font-size: var(--fs-3xl); margin-bottom: var(--s-3); }
.prose h2 { margin-top: var(--s-7); padding-top: var(--s-5); border-top: 1px solid var(--line); }
.prose h3 { margin-top: var(--s-6); }
.prose ul, .prose ol { padding-left: 1.25rem; margin: 0 0 var(--s-4); }
.prose li { margin-bottom: var(--s-2); }
.prose dt { color: var(--text-0); font-weight: 600; margin-top: var(--s-3); }
.prose dd { margin: 0 0 var(--s-3); }
.prose .page-meta { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-bottom: var(--s-5); }
.prose img { border: 1px solid var(--line); border-radius: var(--r-2); background: var(--bg-1); }
.prose figure { margin: 0 0 var(--s-5); }
.prose figcaption { color: var(--text-2); font-size: var(--fs-sm); margin-top: var(--s-2); }
.pager { display: flex; justify-content: space-between; gap: var(--s-4); margin-top: var(--s-7); padding-top: var(--s-5); border-top: 1px solid var(--line); }
@media (max-width: 1100px) { .docs { grid-template-columns: 240px minmax(0, 1fr); } .toc { display: none; } }
@media (max-width: 820px) {
  .docs { grid-template-columns: 1fr; gap: var(--s-4); }
  .docs-side { position: static; max-height: none; }
  .docs-nav-toggle { display: block; }
  #docs-nav-list { display: none; padding-top: var(--s-3); }
  #docs-nav-list.open { display: block; }
}
.prose > pre { overflow-x: auto; max-width: 100%; background: var(--bg-3); border: 1px solid var(--line); border-radius: var(--r-2); padding: var(--s-3) var(--s-4); font-size: var(--fs-sm); }
