#rh-toc { --rh-accent: #b95648; --rh-top: 160px; --rh-width: 280px; position: static; z-index: 900; box-sizing: border-box; color: #343434; font-family: inherit; font-size: 15px; font-weight: 400; line-height: 1.45; text-align: left; }
#rh-toc *, #rh-toc *::before, #rh-toc *::after { box-sizing: border-box; }
#rh-toc[hidden], #rh-toc [hidden] { display: none !important; }
#rh-toc .rh-toc-title { margin: 0 0 18px; padding: 0; font-family: inherit; font-size: 18px; line-height: 1.4; font-weight: 600; color: #343434; }
#rh-toc .rh-toc-list { position: relative; list-style: none; margin: 0; padding: 0 0 0 18px; border-left: 1px solid #d8d3cd; }
#rh-toc .rh-toc-item { margin: 0; padding: 0; list-style: none; position: static; }
#rh-toc .rh-toc-item::before { display: none; }
#rh-toc .rh-toc-link { display: block; padding: 8px 0; margin: 0; border: 0; background: none; box-shadow: none; text-decoration: none; color: #53504c; font: inherit; line-height: 1.45; overflow-wrap: anywhere; transition: color .18s; }
#rh-toc .rh-toc-text { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
#rh-toc .rh-toc-link:hover, #rh-toc .rh-toc-link[aria-current="location"] { color: var(--rh-accent); }
#rh-toc .rh-toc-link[aria-current="location"] { font-weight: 600; }
#rh-toc .rh-toc-h3 .rh-toc-link { padding-left: 14px; font-size: .92em; }
#rh-toc .rh-toc-indicator { position: absolute; left: -2px; top: 0; width: 3px; height: 0; background: var(--rh-accent); border-radius: 2px; pointer-events: none; transition: top .26s ease, height .26s ease; }
#rh-toc .rh-toc-scroll { overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; padding: 2px 8px 18px 2px; }
#rh-toc.rh-toc-wide { top: var(--rh-top); width: var(--rh-width); }
#rh-toc.rh-toc-wide .rh-toc-scroll { max-height: max(0px, min(calc(100vh - var(--rh-top) - var(--rh-heading-space, 48px) - 80px), calc(var(--rh-content-space, 100vh) - var(--rh-heading-space, 48px)))); }
#rh-toc .rh-toc-toggle { appearance: none; display: block; border: 1px solid #d8d3cd; border-radius: 7px; background: #fff; color: #343434; box-shadow: 0 3px 16px #00000012; padding: 10px 16px; font: inherit; font-weight: 600; line-height: 1.5; cursor: pointer; }
#rh-toc .rh-toc-toggle::after { content: ' +'; color: var(--rh-accent); }
#rh-toc .rh-toc-toggle[aria-expanded="true"]::after { content: ' −'; }
#rh-toc.rh-toc-compact { left: max(16px, env(safe-area-inset-left)); bottom: max(36px, env(safe-area-inset-bottom)); width: min(340px, calc(100vw - 32px)); }
#rh-toc.rh-toc-compact .rh-toc-panel { margin-bottom: 10px; padding: 20px 16px 16px; background: #fff; border: 1px solid #e5e1dc; border-radius: 8px; box-shadow: 0 8px 32px #00000018; }
#rh-toc.rh-toc-compact .rh-toc-scroll { max-height: min(55vh, 480px); }
#rh-toc .rh-toc-link:focus-visible, #rh-toc .rh-toc-toggle:focus-visible { outline: 2px solid var(--rh-accent); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) { #rh-toc .rh-toc-indicator, #rh-toc .rh-toc-link { transition: none; } }
@media print { #rh-toc { display: none !important; } }

/* Server-rendered fallback stays usable when JavaScript is disabled. */
#rh-toc.rh-toc-fallback { margin: 0 0 32px; }
#rh-toc.rh-toc-fallback .rh-toc-indicator { display: none; }
html.rh-toc-js #rh-toc:not(.rh-toc-ready) { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
#rh-toc.rh-toc-ready { position: fixed; }
