/* Shared public Support and guide, within the DonutStudio theme. */
.manual-page { width: min(1180px, 100%); margin: 0 auto; padding: 2rem 1.5rem 5rem; color: var(--text-primary, #fff); }
.manual-page a { color: var(--theme-primary, #80dfb1); text-underline-offset: .2em; }
.manual-page a:hover { text-decoration: underline; }
.manual-page :focus { outline: 2px solid var(--theme-primary, #80dfb1); outline-offset: 4px; }
.manual-page h1 { font-size: clamp(2rem, 5vw, 3.6rem); line-height: 1.12; margin: .5rem 0 1.5rem; }
.manual-page h2 { font-size: 1.65rem; margin: 0 0 1rem; }
.manual-page h3 { font-size: 1.2rem; margin: 0 0 .8rem; }
.manual-page p, .manual-page li { line-height: 1.75; }
.manual-page p { margin-bottom: 1rem; }
.manual-page ul, .manual-page ol { padding-left: 1.3rem; }
.manual-page [hidden] { display: none; }
.manual-breadcrumb { display: flex; flex-wrap: wrap; gap: .7rem; font-size: .85rem; margin-bottom: 1.2rem; }
.manual-edition { font-size: .82rem; color: var(--text-secondary, #c9ded4); }
.manual-edition span { display: block; margin-top: .3rem; }
.manual-eyebrow { text-transform: uppercase; letter-spacing: .1em; font-size: .75rem; color: var(--theme-primary, #80dfb1); }
.manual-layout { display: grid; grid-template-columns: minmax(240px, 310px) minmax(0, 1fr); gap: 3rem; align-items: start; margin-top: 2rem; }
.manual-toc { border-radius: 1.1rem; padding: 1.3rem; position: sticky; top: 9rem; max-height: calc(100dvh - 10rem); overflow-y: auto; }
.manual-toc nav > ol, .manual-toc nav > ul { margin: 1.3rem 0 0; }
.manual-toc li { margin: .5rem 0; font-size: .9rem; }
.manual-toc li li { font-size: .82rem; }
.manual-toc [aria-current], .support-index [aria-current] { color: var(--text-primary, #fff); font-weight: 700; }
.manual-search label { display: block; font-weight: 600; font-size: .9rem; margin-bottom: .6rem; }
.manual-search > div { display: flex; gap: .5rem; flex-wrap: wrap; }
.manual-search input { color: inherit; background: rgba(0,0,0,.24); border: 1px solid rgba(255,255,255,.3); border-radius: .6rem; padding: .8rem; width: 100%; min-width: 0; font: inherit; }
.manual-search input::placeholder { color: var(--text-secondary, #c9ded4); opacity: .8; }
.manual-search button { padding: .65rem 1rem; }
.manual-article { min-width: 0; }
.manual-section { margin: 2.4rem 0; scroll-margin-top: 10rem; }
.manual-section > .manual-section { margin: 1.5rem 0; }
.manual-permalink { font-size: .8em; padding: .3rem; }
.manual-links { margin-bottom: 1.5rem; }
.manual-chapters { list-style: none; padding: 0 !important; }
.manual-chapters li { padding: 1.4rem 0; border-top: 1px solid rgba(255,255,255,.16); }
.manual-chapters a { font-size: 1.2rem; font-weight: 600; }
.manual-chapters p { font-size: .95rem; margin: .4rem 0 0; }
.manual-pager { display: flex; justify-content: space-between; gap: 2rem; border-top: 1px solid rgba(255,255,255,.18); padding-top: 1.5rem; margin-top: 3rem; }
.support-header { max-width: 760px; }
.support-header .manual-search { margin: 2rem 0; }
.support-header .manual-search input { flex: 1; width: auto; min-width: 180px; }
.support-manual-link { display: grid; gap: .6rem; padding: 1.5rem; border-radius: 1rem; text-decoration: none; margin: 1.5rem 0; }
.support-manual-link strong { font-size: 1.4rem; }
.support-manual-link span { color: var(--text-primary, #fff); }
.support-index { display: flex; flex-wrap: wrap; gap: .7rem; border-block: 1px solid rgba(255,255,255,.18); padding: 1rem 0; margin: 2rem 0; }
.support-index a { border-radius: .6rem; padding: .6rem .9rem; background: rgba(255,255,255,.06); }
.support-group { margin: 3rem 0; }
.support-categories { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem; }
.support-question { margin: .8rem 0; border-radius: .8rem; scroll-margin-top: 10rem; }
.support-question::before, .support-question::after { content: none; }
.support-question summary { cursor: pointer; padding: 1.1rem; line-height: 1.6; }
.support-question > div { padding: 0 1.1rem 1.1rem; }
.support-show-all { display: inline-block; margin: .6rem 0; }
.manual-search-count { margin: 1rem 0; font-size: .9rem; }
@media (max-width: 800px) {
  .manual-layout { grid-template-columns: 1fr; gap: 2rem; }
  .manual-toc { position: static; max-height: none; overflow: visible; }
  .manual-toc nav { max-height: min(16rem, 40dvh); overflow-y: auto; overscroll-behavior-y: contain; scrollbar-gutter: stable; }
  .manual-toc a { overflow-wrap: anywhere; }
  .support-categories { grid-template-columns: 1fr; }
  .manual-page { padding: 1.5rem 1rem 3rem; }
  .manual-pager { flex-direction: column; gap: 1rem; }
}
