/* Opt-in presentation; the normal article width and global header remain unchanged. */
:root { --ds-anchor-offset: 8rem; }
.ds-has-toc { position: relative; }
.ds-toc-target { scroll-margin-top: var(--ds-anchor-offset); }
.ds-toc-target:focus-visible { outline: 3px solid var(--wp--preset--color--sky-deep); outline-offset: var(--wp--preset--spacing--20); }
.ds-toc-rail { display: none; }
.ds-toc-mobile {
 max-width: var(--wp--style--global--content-size);
 margin: var(--wp--preset--spacing--40) auto;
 padding-block: var(--wp--preset--spacing--20);
 border-block: var(--ds-border);
 font-size: var(--wp--preset--font-size--medium);
}
.ds-toc-mobile summary { cursor: pointer; padding: var(--wp--preset--spacing--20); color: var(--wp--preset--color--sky-deep); }
.ds-toc-mobile summary:focus-visible { outline: 3px solid var(--wp--preset--color--sky-deep); outline-offset: var(--wp--preset--spacing--20); }
.ds-toc ul { list-style: none; padding: 0; margin: 0; }
.ds-toc li { margin: 0; }
.ds-toc a {
 display: block; padding: var(--wp--preset--spacing--20);
 border-inline-start: 3px solid transparent; overflow-wrap: anywhere;
 color: var(--wp--preset--color--sky-deep); text-decoration: none; line-height: 1.5;
}
.ds-toc a:hover { text-decoration: underline; }
.ds-toc a[aria-current="location"] {
 border-inline-start-color: currentColor; font-weight: 700; text-decoration: underline;
 background: var(--wp--preset--color--sky);
}
.ds-toc-title { margin: 0 0 var(--wp--preset--spacing--30); font-weight: 600; }
@media (min-width: 1280px) {
 .ds-has-toc.ds-toc-ready .ds-toc-mobile { display: none; }
 .ds-has-toc.ds-toc-ready > .ds-toc-rail {
  display: block; position: absolute; top: var(--ds-toc-start); bottom: var(--wp--preset--spacing--60);
  left: max(var(--wp--preset--spacing--40), calc((100% - var(--wp--style--global--content-size)) / 2 - 15rem));
  width: 12rem; margin: 0; pointer-events: none; z-index: 1;
 }
 .ds-toc-rail .ds-toc {
  position: sticky; top: var(--ds-anchor-offset); pointer-events: auto;
  max-height: calc(100vh - var(--ds-anchor-offset) - var(--wp--preset--spacing--50));
  overflow-y: auto; padding: var(--wp--preset--spacing--20);
  font-size: var(--wp--preset--font-size--small);
 }
}
@media print { .ds-toc-rail, .ds-toc-mobile { display: none !important; } }
