.manual-hero {
  color: var(--cream);
  background: radial-gradient(ellipse at 78% 30%, #35243b, #211a2a 48%, var(--night) 85%);
  border-bottom: 1px solid #614358;
}
.manual-hero .wrap { padding-block: clamp(42px, 7vw, 78px); }
.manual-hero .eyebrow { color: var(--gold); }
.manual-hero h1 { margin-top: 15px; font-size: clamp(2.9rem, 7.6vw, 5.65rem); }
.manual-hero p:last-child { color: #ddcdd9; margin-top: 18px; max-width: 61ch; }
.manual-layout {
  display: grid;
  grid-template-columns: minmax(185px, 235px) minmax(0, 800px);
  gap: clamp(25px, 5vw, 75px);
  justify-content: space-between;
  align-items: start;
  padding-block: 42px 72px;
}
.manual-contents { display: block; position: sticky; top: 20px; }
.manual-toc {
  display: block;
  max-height: calc(100vh - 40px);
  overflow: auto;
  border: 1px solid var(--line);
  background: #f2e9e0;
  border-radius: 8px;
  padding: 14px 15px;
}
.manual-toc summary { color: var(--wine); cursor: pointer; font-weight: 750; font-size: .83rem; }
.manual-toc ol { margin: 10px 0 0; padding: 0; list-style: none; }
.manual-toc li + li { margin-top: 2px; }
.manual-toc a { display: block; padding: 4px 6px; border-radius: 4px; color: #514151; font-size: .78rem; line-height: 1.35; }
.manual-toc a:hover, .manual-toc a:focus-visible { color: #562b42; background: #e8d9d5; }
.manual-article { min-width: 0; overflow-wrap: anywhere; }
.manual-article h2 { font-size: clamp(1.9rem, 4vw, 2.95rem); letter-spacing: -.045em; line-height: 1.08; margin: 2.15em 0 .58em; padding-top: .54em; border-top: 1px solid var(--line); }
#enhanced-analysis-guide { margin-top: 0; }
.manual-article .manual-stage-label { margin-top: 3em; padding-top: 1.25em; border-top: 1px solid var(--line); }
.manual-article h3 { font: 400 clamp(1.35rem, 2.7vw, 1.75rem)/1.22 var(--serif); margin: 1.4em 0 .55em; }
.manual-article :is(h2, h3, h4) { scroll-margin-top: 22px; }
.manual-article :is(h2, h3, h4):target { color: var(--wine); }
.manual-article p, .manual-article ul, .manual-article ol { margin: 0 0 1em; }
.manual-article li { margin: .3em 0; }
.manual-article li > p { margin-bottom: .35em; }
.manual-article a, .manual-top { color: var(--wine); text-underline-offset: 3px; }
.manual-note {
  margin: 0 0 1.5rem;
  border-left: 3px solid var(--wine);
  background: #efe2dc;
  border-radius: 0 6px 6px 0;
  padding: 13px 16px;
  font-size: .91rem;
}
.manual-note p { margin: 0; }
.manual-note p + p { margin-top: .55em; }
.manual-article blockquote { margin: 1em 0; padding: 10px 16px; border-left: 3px solid #a9798b; background: #f1e7df; }
.manual-article blockquote > :last-child { margin-bottom: 0; }
.manual-article code { border-radius: 3px; background: #ece1da; color: #4b3448; padding: .12em .28em; font-size: .88em; }
.manual-article pre { margin: 0 0 1.2em; padding: 14px 16px; overflow: auto; border-radius: 6px; background: #262032; color: #faf0e4; font-size: .84rem; line-height: 1.6; }
.manual-article pre code { color: inherit; background: none; padding: 0; font-size: inherit; }
.manual-table { margin: 0 0 1.25em; overflow-x: auto; border: 1px solid var(--line); border-radius: 6px; }
.manual-table table { border-collapse: collapse; width: 100%; min-width: 420px; background: #fbf6ef; font-size: .88rem; }
.manual-table :is(th, td) { padding: 9px 11px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.manual-table th { background: #eee1db; color: #493244; }
.manual-table tr:last-child td { border-bottom: 0; }
.manual-table tbody tr:nth-child(even) { background: #f6ede4; }
.manual-figure { margin: 0 0 1.35em; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: #fbf6ef; }
.manual-figure figcaption { font-weight: 720; color: #493244; margin-bottom: 7px; }
.manual-diagram-scroll { overflow-x: auto; }
.manual-diagram-scroll svg { display: block; width: 100%; min-width: 530px; height: auto; }
.manual-figure details { margin-top: 9px; }
.manual-figure summary { color: var(--wine); cursor: pointer; font-size: .85rem; }
.manual-figure pre { margin: 8px 0 0; }
.manual-schema .manual-table { margin-bottom: 0; }
.manual-top { display: inline-block; margin-top: 1.2em; }
@media (max-width: 760px) {
  .manual-layout { grid-template-columns: minmax(0, 1fr); gap: 24px; padding-block: 24px 45px; }
  .manual-contents { position: static; }
  .manual-toc { max-height: none; }
  .manual-article h2 { margin-top: 1.55em; }
}
