/* Docs page: layout */
.docs-wrap { display: flex; gap: 2rem; margin-top: 1rem; align-items: flex-start; }
.docs-toc {
  width: 220px; flex-shrink: 0; position: sticky; top: 1rem;
  background: #fff; border-radius: var(--radius); box-shadow: var(--shadow);
  padding: 1rem; max-height: calc(100vh - 2rem); overflow-y: auto;
}
.docs-toc a { display: block; padding: .35rem 0; font-size: .8125rem; color: var(--gray-600); text-decoration: none; border-radius: 4px; }
.docs-toc a:hover { color: var(--primary); }
.docs-toc a.active { color: var(--primary); font-weight: 500; }
.docs-content { flex: 1; min-width: 0; }
.docs-search { margin-bottom: 1rem; }
.docs-search input { width: 100%; max-width: 400px; padding: .5rem .75rem; border: 1px solid var(--gray-300); border-radius: var(--radius); font-size: .875rem; }
.docs-search input:focus { outline: none; border-color: var(--primary); }
.docs-section { margin-bottom: 2rem; scroll-margin-top: 1rem; }
.docs-section.hidden-by-search { display: none; }
.docs-section h2 { font-size: 1.25rem; margin-bottom: .75rem; color: var(--gray-800); border-bottom: 1px solid var(--gray-200); padding-bottom: .35rem; }
.docs-section h3 { font-size: 1rem; margin: 1rem 0 .5rem; color: var(--gray-700); }
.docs-section p { margin-bottom: .75rem; font-size: .875rem; line-height: 1.6; }
.docs-section ul { margin: .5rem 0 .75rem 1.25rem; font-size: .875rem; }
.docs-section li { margin-bottom: .25rem; }
/* Tables */
.docs-section table { width: 100%; border-collapse: collapse; font-size: .875rem; margin: .75rem 0; }
.docs-section th, .docs-section td { padding: .5rem .75rem; text-align: left; border: 1px solid var(--gray-200); }
.docs-section th { background: var(--gray-50); font-weight: 600; color: var(--gray-700); }
.docs-section tr:hover td { background: var(--gray-50); }
/* Code / paths */
.docs-section code, .docs-section .path { font-family: ui-monospace, monospace; font-size: .8125rem; background: var(--gray-100); padding: .15rem .4rem; border-radius: 4px; }
.docs-section pre { font-family: ui-monospace, monospace; font-size: .75rem; background: var(--gray-100); padding: 1rem; border-radius: var(--radius); overflow-x: auto; margin: .75rem 0; }
.docs-section pre code { padding: 0; background: none; }
/* Note / warning blocks */
.docs-note { padding: .75rem 1rem; border-radius: var(--radius); margin: .75rem 0; font-size: .875rem; border-left: 4px solid var(--warning); background: #fffbeb; color: var(--gray-800); }
.docs-warn { padding: .75rem 1rem; border-radius: var(--radius); margin: .75rem 0; font-size: .875rem; border-left: 4px solid var(--danger); background: #fef2f2; color: var(--gray-800); }

@media (max-width: 768px) {
  .docs-wrap { flex-direction: column; gap: 1rem; margin-top: .75rem; }
  .docs-toc {
    width: 100%; position: static; max-height: none;
    display: flex; flex-wrap: wrap; gap: .35rem; padding: .75rem;
    border: 1px solid var(--gray-200); border-radius: var(--radius);
  }
  .docs-toc a { padding: .4rem .6rem; font-size: .8rem; white-space: nowrap; }
  .docs-search { margin-bottom: .75rem; }
  .docs-search input { max-width: none; min-height: 44px; font-size: 16px; }
  .docs-content { max-width: 100%; overflow-wrap: break-word; word-wrap: break-word; }
  .docs-section { margin-bottom: 1.5rem; scroll-margin-top: .5rem; max-width: 100%; }
  .docs-section h2 { font-size: 1.1rem; }
  .docs-section h3 { font-size: .95rem; margin: .75rem 0 .35rem; }
  .docs-section p, .docs-section ul { font-size: .875rem; }
  .docs-section table { font-size: .8125rem; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .docs-section th, .docs-section td { padding: .4rem .5rem; }
  .docs-section pre {
    font-size: .7rem; padding: .75rem;
    white-space: pre-wrap; word-break: break-word; overflow-x: auto;
    max-width: 100%; -webkit-overflow-scrolling: touch;
  }
  .docs-section code { word-break: break-word; max-width: 100%; }
  .docs-note, .docs-warn { padding: .6rem .75rem; font-size: .8125rem; max-width: 100%; }
}
