/* Shared, native in-page wayfinding. Article TOCs retain their sidebar layout. */
html { scroll-padding-top: 104px; }
.topbar { background: #0a0a0a; mix-blend-mode: normal; }
.topbar .topbar-mark, .topbar .menu-btn { color: #f1efe7; }
.topbar .menu-btn { border-color: #f1efe7; }
.topbar .menu-btn .bars span { background: currentColor; }
.page-toc { margin: 0; padding: 24px max(24px, calc((100% - 1248px) / 2)); background: #e7e3d6; color: #0a0a0a; border-bottom: 1px solid currentColor; }
.page-toc summary { cursor: pointer; font-weight: 700; font-size: 16px; line-height: 1.5; padding: 8px 0; }
.page-toc ol { display: flex; flex-wrap: wrap; gap: 0 28px; list-style: none; padding: 8px 0 0; margin: 0; }
.page-toc li { margin: 0; max-width: 100%; }
.page-toc a { display: inline-block; padding: 10px 0; color: inherit; font-size: 15px; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; overflow-wrap: anywhere; }
.page-toc a:hover, .page-toc a[aria-current="location"] { color: #b9250e; }
.page-toc a:focus-visible, .page-toc summary:focus-visible { outline: 3px solid #b9250e; outline-offset: 4px; }
.legal-copy .page-toc { padding: 16px 20px; margin-block: 24px 40px; }
.content-preparation, .content-handoff { font-size: 16px; line-height: 1.75; margin-block: 28px; }
.content-preparation { max-width: 78ch; }
.content-handoff p + p { margin-top: 16px; }
.content-preparation a, .content-handoff a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.content-cluster pre { max-width: 100%; padding: 20px; background: #e7e3d6; color: #0a0a0a; white-space: pre-wrap; overflow-wrap: anywhere; font: 14px/1.7 'IBM Plex Mono', monospace; }
.content-cluster .article-content h2 { overflow-wrap: anywhere; }
.article-toc { max-height: calc(100dvh - 120px); overflow-y: auto; scrollbar-color: #625f58 #e7e3d6; }
@media (max-width: 1100px) { .article-toc { max-height: none; overflow: visible; } }
@media (max-width: 600px) { .page-toc { padding: 16px 24px; } .page-toc ol { display: grid; grid-template-columns: minmax(0,1fr); gap: 0; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }
