 .spark-toc{position:sticky;bottom:0;right:72px;margin-left:auto;margin-top:-200px;width:max-content;z-index:var(--sprk-toc-z,100);max-height:40vh;overflow-y:auto;padding:var(--sprk-space-2,16px) 0;opacity:0;-webkit-mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%);mask-image:linear-gradient(to bottom,transparent 0%,black 10%,black 90%,transparent 100%)}.spark-toc::-webkit-scrollbar{width:0;background:transparent}.spark-toc{scrollbar-width:none;-ms-overflow-style:none}.spark-toc__dots{padding:var(--sprk-space-3,24px) 0}.spark-toc__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--sprk-space-1,8px)}.spark-toc__item{margin:0;padding:0;position:relative}.spark-toc__list--depth-1,.spark-toc__list--depth-2,.spark-toc__list--depth-3{margin:0;padding-top:var(--sprk-space-1,8px)}.spark-toc__link{display:flex;flex-direction:row-reverse;align-items:center;justify-content:flex-start;gap:var(--sprk-space-2,16px);text-decoration:none;color:inherit;transition:var(--sprk-transition-base,all .2s ease)}.spark-toc__link:hover,.spark-toc__link:focus{text-decoration:none;outline:none}.spark-toc__dot{display:flex;align-items:center;justify-content:center;width:12px;height:12px;flex-shrink:0;position:relative}.spark-toc__dot::before{content:'';display:block;width:7px;height:7px;border-radius:50%;background-color:var(--sprk-color-border-light,#ccc);transition:var(--sprk-transition-base,all .2s ease)}.spark-toc__link:hover .spark-toc__dot::before{background-color:var(--sprk-color-text-secondary,#666);transform:scale(1.2)}.spark-toc__item.is-active>.spark-toc__link:hover>.spark-toc__dot::before{transform:none}.spark-toc__item.is-active>.spark-toc__link>.spark-toc__dot::before{background-color:var(--sprk-color-text-primary,#333);width:10px;height:10px}.spark-toc__text{font-size:var(--sprk-font-size-sm,14px);line-height:1.4;color:var(--sprk-color-text-primary,#333);text-align:right;white-space:nowrap;text-overflow:ellipsis;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease;max-width:200px;overflow:hidden}.spark-toc__item.is-active>.spark-toc__link>.spark-toc__text{opacity:1;visibility:visible;font-weight:bold}.spark-toc__item--h2>.spark-toc__link>.spark-toc__text,.spark-toc__item--h3>.spark-toc__link>.spark-toc__text{font-size:var(--sprk-font-size-sm)}.spark-toc__item--h4>.spark-toc__link>.spark-toc__text,.spark-toc__item--h5>.spark-toc__link>.spark-toc__text,.spark-toc__item--h6>.spark-toc__link>.spark-toc__text{font-size:var(--sprk-font-size-xs)}.spark-toc--highlight-subheadings .spark-toc__item.is-in-active-section>.spark-toc__link>.spark-toc__dot::before{background-color:var(--sprk-color-text-secondary,#666)}.spark-toc--highlight-subheadings .spark-toc__item.is-active>.spark-toc__link>.spark-toc__dot::before{background-color:var(--sprk-color-text-primary,#333);width:10px;height:10px}.spark-toc--always-show-titles .spark-toc__text{opacity:1;visibility:visible;font-weight:normal}.spark-toc--always-show-titles .spark-toc__item.is-active>.spark-toc__link>.spark-toc__text{font-weight:bold}.spark-toc--show-on-scroll{max-height:25vh}.spark-toc--show-on-scroll .spark-toc__list{gap:4px}.spark-toc--show-on-scroll .spark-toc__list--depth-1,.spark-toc--show-on-scroll .spark-toc__list--depth-2,.spark-toc--show-on-scroll .spark-toc__list--depth-3{padding-top:4px}.spark-toc--show-on-scroll .spark-toc__link:hover>.spark-toc__text,.spark-toc--show-on-scroll .spark-toc__item.is-active>.spark-toc__link>.spark-toc__text{opacity:1;visibility:visible}.spark-toc--dots-only .spark-toc__text{display:none}.spark-toc.spark-toc--ready{opacity:0;transform:translateY(40px);transition:opacity .25s ease,transform .25s ease}.spark-toc.spark-toc--ready.spark-toc--scrolled{opacity:1;transform:translateY(0);transition:opacity .5s ease-out,transform .5s ease-out}@media (max-width:1024px){.spark-toc{display:none}}.spark-toc__link:focus{outline:2px solid var(--sprk-color-text-primary,#333);outline-offset:4px}@media (prefers-reduced-motion:reduce){.spark-toc,.spark-toc__dot::before,.spark-toc__text,.spark-toc__link{transition:none}}@media (prefers-contrast:high){.spark-toc__dot::before{border:2px solid currentColor}.spark-toc__item.is-active>.spark-toc__link>.spark-toc__dot::before{background-color:currentColor}}