/* Clip horizontal overflow without making body a scroll container for sticky navigation. */
.docs-page { overflow-x: clip; }
.docs-workspace { background: var(--fc-light); min-height: 60vh; }
.docs-columns { display: grid; grid-template-columns: 265px minmax(0, 1fr); gap: 2rem; align-items: start; }
.docs-columns > * { min-width: 0; }
.docs-sidebar { padding: 0 1rem 0 0; display: block; }
.docs-nav-home { display: flex; align-items: center; gap: .5rem; color: var(--fc-dark); font-weight: 700; text-decoration: none; }
.docs-nav-home span { margin-left: auto; color: var(--fc-primary-dark); background: #eaf2ff; border-radius: 4px; padding: .1rem .4rem; font-size: .75rem; }
.docs-nav-group { border-bottom: 1px solid #dbe3ef; padding: .65rem 0; }
.docs-nav-group > summary { display: flex; gap: .6rem; align-items: center; font-size: .88rem; font-weight: 650; color: #334155; cursor: pointer; list-style: none; padding: .4rem; }
.docs-nav-group > summary::before { content: '›'; font-size: 1.1rem; transition: transform .15s; }
.docs-nav-group[open] > summary::before { transform: rotate(90deg); }
.docs-nav-group > summary::-webkit-details-marker { display: none; }
.docs-nav-group > ul { list-style: none; padding: 0 0 0 .8rem; margin: .3rem 0; border-left: 1px solid #dbe3ef; }
.docs-tree .nav-link { font-size: .85rem; line-height: 1.5; }
.docs-tree .nav-link.active { border-left: 3px solid var(--fc-primary-dark); color: var(--fc-primary-dark); }
.docs-tree .guide-module { padding: .5rem 0 .5rem .5rem; }
.docs-tree .guide-module ol { padding-left: .4rem; }
.docs-release-note { padding-bottom: 1rem; border-bottom: 1px solid #e2e8f0; }
.docs-release-note summary { color: #475569; font-size: .8rem; cursor: pointer; }
.docs-on-page { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: .8rem; padding-bottom: 1.5rem; }
.docs-on-page strong { width: 100%; color: #475569; }
.docs-on-page a { color: var(--fc-primary-dark); text-decoration: none; }
.docs-on-page a:hover { text-decoration: underline; }
.docs-pagination { display: flex; justify-content: space-between; gap: 1rem; margin-top: 2rem; padding-top: 1.5rem; border-top: 1px solid #dbe3ef; }
.docs-pagination a { display: flex; flex-direction: column; color: var(--fc-primary-dark); text-decoration: none; }
.docs-pagination small { color: #64748b; margin-bottom: .4rem; }
.docs-pagination .docs-next { margin-left: auto; text-align: right; }
.docs-start-paths { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.docs-start-paths .topic-card { display: flex; flex-direction: column; gap: .5rem; }
.docs-start-paths .topic-card span { font-size: .9rem; color: #475569; }
.docs-topic-directory summary { color: var(--fc-primary-dark); cursor: pointer; font-weight: 600; }
.docs-topic-directory h2 { margin: 0; padding: 0; border: 0; }
.docs-topic-directory ul { padding-left: 1.2rem; font-size: .85rem; line-height: 1.9; }
#docs-content { scroll-margin-top: 90px; }
.doc-content :is(h2, h3, section[id]) { scroll-margin-top: 90px; }
.doc-content { overflow-wrap: anywhere; }
.doc-content pre { overflow-wrap: normal; }
.docs-skip { position: fixed; left: 1rem; top: -100px; padding: .75rem; background: white; z-index: 2000; }
.docs-skip:focus { top: 1rem; }
.docs-workspace :focus-visible { outline: 3px solid var(--fc-primary); outline-offset: 3px; }
.docs-workspace [hidden] { display: none !important; }
@media (min-width: 992px) {
    .docs-offcanvas { position: sticky; top: 85px; }
    .docs-offcanvas .offcanvas-body { position: static; max-height: calc(100vh - 105px); overflow-y: auto; }
}
@media (max-width: 991px) {
    .docs-columns { display: block; }
    .docs-sidebar { position: static; max-height: none; padding: 1rem; }
    .docs-offcanvas { --bs-offcanvas-width: min(360px, 90vw); }
    .docs-offcanvas .offcanvas-body { overflow-y: auto; }
}
@media (max-width: 575px) { .docs-start-paths { grid-template-columns: 1fr; } }
@media print {
    .docs-offcanvas, .docs-on-page, .docs-skip { display: none !important; }
    .docs-columns { display: block; }
    .doc-card { border: 0; box-shadow: none; }
}
