.guide-sidebar, .guide-mobile {
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 1rem;
  padding: 1.25rem;
  box-shadow: 0 1px 2px rgba(0, 0, 0, .04);
}
.guide-sidebar h3 { font-weight: 700; color: #111827; margin-bottom: .75rem; padding-bottom: .875rem; border-bottom: 1px solid #edf0f2; }
.guide-sidebar nav { max-height: 65vh; overflow-y: auto; scrollbar-gutter: stable; }
.guide-tree { list-style: none; padding: 0; margin: 0; }
.guide-tree > li { margin: .25rem 0; }
.guide-tree .guide-tree { border-left: 1px solid #dce9dd; margin: .35rem 0 .65rem .5rem; padding-left: .65rem; }
.guide-link { display: block; padding: .5rem .6rem; border-radius: .5rem; color: #4b5563; font-size: .875rem; line-height: 1.55; overflow-wrap: anywhere; }
.guide-link:hover { color: #2e7d32; background: #f0f7f0; }
.guide-branch > summary { display: flex; align-items: baseline; cursor: pointer; list-style: none; }
.guide-branch > summary::-webkit-details-marker, .guide-mobile > summary::-webkit-details-marker { display: none; }
.guide-branch > summary .guide-link { flex: 1; font-weight: 600; }
.guide-summary-text { display: block; flex: 1; min-width: 0; }
.guide-description { display: block; padding: 0 .6rem .65rem; color: #6b7280; font-size: .9375rem; font-weight: 400; line-height: 1.7; }
.guide-toggle { display: inline-block; color: #2e7d32; font-size: 1.2rem; line-height: 1; }
.guide-branch[open] > summary > .guide-toggle { transform: rotate(90deg); }
.guide-mobile > summary { display: flex; justify-content: space-between; gap: 1rem; cursor: pointer; font-weight: 700; list-style: none; }
.guide-mobile[open] > summary { margin-bottom: .75rem; }
.guide-index > .guide-tree > li { padding: 1rem 0; border-bottom: 1px solid #e5e7eb; }
.guide-index > .guide-tree > li:first-child { padding-top: 0; }
.guide-index > .guide-tree > li:last-child { border-bottom: 0; }
.guide-index > .guide-tree > li > .guide-branch > summary .guide-link { font-size: 1.2rem; color: #164e36; }
.guide-index .guide-link { font-size: 1rem; padding-top: .65rem; padding-bottom: .65rem; }
.guide-link:focus-visible, .guide-branch > summary:focus-visible, .guide-mobile > summary:focus-visible { outline: 2px solid #2e7d32; outline-offset: 3px; }

/* Sidebar navigation: only the current page receives a mint background. */
.guide-navigation .guide-nav-row { align-items: stretch; min-height: 2.75rem; border-radius: .5rem; }
.guide-navigation .guide-nav-row:hover { background: #f4f7f5; }
.guide-navigation .guide-nav-row > .guide-link { display: flex; align-items: center; min-width: 0; padding: .65rem .65rem; background: transparent; }
.guide-navigation .guide-nav-row > .guide-toggle { display: flex; align-items: center; justify-content: center; align-self: stretch; flex-shrink: 0; width: 2.75rem; color: #6b7280; }
.guide-navigation .guide-toggle > svg { width: 1rem; height: 1rem; transition: transform .15s; }
.guide-navigation .guide-branch[open] > .guide-nav-row > .guide-toggle { transform: none; }
.guide-navigation .guide-branch[open] > .guide-nav-row > .guide-toggle > svg { transform: rotate(90deg); }
.guide-navigation .guide-link.is-current { background: #eaf7f0; color: #111827; font-weight: 700; }
.guide-navigation .guide-nav-row.is-ancestor > .guide-link { color: #374151; }
.guide-navigation .guide-nav-row.is-current { background: #eaf7f0; }
.guide-navigation .guide-nav-row.is-current > .guide-link { background: transparent; }
.guide-navigation .guide-nav-row.is-current > .guide-toggle { color: #374151; }
.guide-navigation .guide-tree > li > .guide-link { min-height: 2.75rem; padding: .65rem .65rem; }
.guide-navigation .guide-tree .guide-tree { margin-top: .35rem; margin-bottom: .5rem; }
@media (prefers-reduced-motion: reduce) {
  .guide-navigation .guide-toggle > svg { transition: none; }
}

/* Group landing pages list direct children; the sidebar supplies the full tree. */
.guide-group-intro { line-height: 1.75; }
.guide-group-intro p { margin: 0; }
.guide-group-intro p + p { margin-top: 1rem; }
.guide-section-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: .5rem 1rem; padding-bottom: .85rem; border-bottom: 1px solid #e5e7eb; }
.guide-section-heading h2 { margin: 0; font-size: 1rem; font-weight: 700; color: #111827; }
.guide-section-heading > span { font-size: .8125rem; color: #6b7280; }
.guide-article-list { list-style: none; margin: 0; padding: 0; }
.guide-article-list > li { margin: 0; border-bottom: 1px solid #edf0f2; }
.guide-article-list > li:last-child { border-bottom: 0; }
.guide-article-link { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3.5rem; padding: 1rem .75rem; border-radius: .5rem; font-size: 1rem; font-weight: 500; line-height: 1.55; color: #374151; text-decoration: none; transition: background-color .15s, color .15s; }
.guide-article-link > span { min-width: 0; overflow-wrap: anywhere; }
.guide-article-link > svg, .guide-article-link > i { flex-shrink: 0; width: 1.125rem; height: 1.125rem; color: #9ca3af; }
.guide-article-link:hover { background: #f0f7f0; color: #216025; }
.guide-article-link:hover > svg { color: #2e7d32; }
.guide-article-link:focus-visible { outline: 2px solid #2e7d32; outline-offset: -2px; background: #f0f7f0; }
/* Flat root indexes use the shared article rows, without an extra heading. */
.guide-root-articles .guide-article-list > li { border-bottom-color: #e5e7eb; }
.guide-root-articles .guide-article-link { box-sizing: border-box; min-height: 4rem; font-size: 1.0625rem; line-height: 1.5; }
@media (max-width: 639px) {
  .guide-article-link { padding-right: .25rem; padding-left: .25rem; }
  .guide-root-articles .guide-article-link { padding-right: .5rem; padding-left: .5rem; }
}
