/* Documentation uses the shared Datamule theme. */
.docs-main { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 4rem; flex: 1; width: min(100% - 3rem, 1200px); margin: 70px auto 0; padding-block: 3rem 5rem; }
.docs-sidebar { position: sticky; top: 102px; align-self: start; max-height: calc(100vh - 134px); overflow-y: auto; padding-right: 1.5rem; border-right: 1px solid var(--border); }
.docs-sidebar-title { margin: 0 0 1rem; color: var(--primary); font-weight: 700; }
.docs-menu ul { display: grid; gap: .25rem; margin: 0; padding: 0; list-style: none; }
.docs-menu a { display: block; padding: .55rem .75rem; border-radius: 6px; color: var(--text-light); font-size: .9rem; text-decoration: none; }
.docs-menu a:hover, .docs-menu a:focus-visible { background: var(--soft); color: var(--primary); }
.docs-menu a[aria-current="page"] { background: #fff0e9; color: var(--accent); font-weight: 700; }
.docs-menu-toggle { display: none; }
.docs-content { min-width: 0; max-width: 820px; overflow-wrap: break-word; }
.docs-content > * + * { margin-top: 1.25rem; }
.docs-content h1 { margin-bottom: 1.5rem; font-size: clamp(2.2rem, 5vw, 3rem); letter-spacing: -.035em; }
.docs-content h2 { margin-top: 2.75rem; padding-top: .5rem; }
.docs-content h3 { margin-top: 2rem; }
.docs-content :is(h1, h2, h3, h4, h5, h6) { scroll-margin-top: 100px; }
.docs-content p, .docs-content li { line-height: 1.8; }
.docs-content ul, .docs-content ol { padding-left: 1.5rem; }
.docs-content li + li { margin-top: .35rem; }
.docs-content li > ul, .docs-content li > ol { margin-block: .5rem; }
.docs-content :not(pre) > code { padding: .15rem .35rem; border-radius: 4px; background: var(--soft); font-size: .9em; overflow-wrap: anywhere; }
.docs-content blockquote { margin-inline: 0; padding-left: 1.25rem; border-left: 3px solid var(--accent); color: var(--text-light); }
.docs-content hr { margin-block: 2rem; border: 0; border-top: 1px solid var(--border); }
.docs-content table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.docs-content th, .docs-content td { padding: .65rem .9rem; border: 1px solid var(--border); text-align: left; }
.docs-content th { background: var(--soft); }
.docs-code-group { overflow: hidden; border: 1px solid var(--border); border-radius: 8px; background: var(--soft); }
.docs-code-tabs { display: flex; overflow-x: auto; padding-inline: 1rem; border-bottom: 1px solid var(--border); background: var(--surface); }
.docs-code-tabs button { flex: none; padding: .65rem .25rem; margin-right: 1.25rem; border: 0; border-bottom: 2px solid transparent; background: transparent; color: var(--text-light); font-size: .85rem; }
.docs-code-tabs button[aria-selected="true"] { border-bottom-color: var(--accent); color: var(--accent); font-weight: 700; }
.docs-content .article-code-toolbar { display: flex; justify-content: flex-end; padding: .5rem .75rem 0; }
.docs-content .article-code-copy { padding: .2rem .5rem; border: 1px solid var(--border); border-radius: 4px; background: var(--surface); color: var(--text-light); font-size: .75rem; }
.docs-content .article-code-copy:hover, .docs-content .article-code-copy:focus-visible { border-color: var(--accent); color: var(--accent); }
.docs-content pre { overflow-x: auto; margin: 0; padding: .5rem 1rem 1.25rem; font: .85rem/1.7 Consolas, 'Courier New', monospace; }
.docs-content pre code { font: inherit; }
.docs-content .hljs-keyword, .docs-content .hljs-selector-tag, .docs-content .hljs-literal { color: #a33b18; }
.docs-content .hljs-string, .docs-content .hljs-attr { color: #287044; }
.docs-content .hljs-number, .docs-content .hljs-built_in { color: #7651a0; }
.docs-content .hljs-title, .docs-content .hljs-function { color: #285f8f; }
.docs-content .hljs-comment { color: var(--text-light); font-style: italic; }

@media (max-width: 900px) {
    .docs-main { grid-template-columns: 200px minmax(0, 1fr); gap: 2rem; }
}

@media (max-width: 700px) {
    .docs-main { grid-template-columns: minmax(0, 1fr); gap: 2rem; padding-top: 1.5rem; }
    .docs-sidebar { position: static; max-height: none; padding: 0; border: 0; }
    .docs-menu-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; padding: .75rem 1rem; border: 1px solid var(--border); border-radius: 6px; background: var(--surface); color: var(--primary); text-align: left; font-weight: 700; }
    .docs-menu { display: none; padding-top: .75rem; }
    .docs-menu.is-open { display: block; }
    .docs-sidebar-title { display: none; }
}
