.spec-toc{position:relative;padding-left:0;padding-right:0}@media screen and (max-width:1079px){.spec-toc:after,.spec-toc:before{content:"";position:absolute;top:0;bottom:0;z-index:2;width:clamp(1.375rem,1.375rem + .625vw,2rem);opacity:1;pointer-events:none;transition:opacity .25s cubic-bezier(.625,.05,0,1)}.spec-toc:before{left:0;background:linear-gradient(to right,var(--bg),transparent)}.spec-toc:after{right:0;background:linear-gradient(to left,var(--bg),transparent)}.spec-toc[data-scroll-end=true]:after,.spec-toc[data-scroll-start=true]:before{opacity:0}.spec-toc{padding:clamp(.5625rem,.5625rem + .0625vw,.625rem) 0}}@media screen and (min-width:1080px){.spec-toc{display:flex;flex-direction:column;gap:0}}.spec-toc__eyebrow{margin-bottom:0;padding:clamp(.6875rem,.6875rem + .0625vw,.75rem)}@media screen and (max-width:1079px){.spec-toc__eyebrow{display:none}}@media screen and (min-width:1080px){.spec-toc__eyebrow{padding:clamp(.6875rem,.6875rem + .0625vw,.75rem) clamp(1.375rem,1.375rem + .625vw,2rem);border-bottom:1px solid var(--border-color)}}.spec-toc__list{list-style:none;margin:0;padding:0;padding-inline-start:0;padding-inline-end:0}@media screen and (max-width:1079px){.spec-toc__list{display:flex;flex-direction:row;flex-wrap:nowrap;gap:.25rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.spec-toc__list::-webkit-scrollbar{display:none}}@media screen and (min-width:1080px){.spec-toc__list{display:flex;flex-direction:column;gap:0}}.spec-toc__list>li{padding:0;background-image:none}@media screen and (min-width:1080px){.spec-toc__list>li{display:flex;align-items:center;min-height:clamp(2rem,2rem + 1.5vw,3.5rem);border-bottom:1px solid var(--border-color)}}.spec-toc a.spec-toc__link,.spec-toc__link{position:relative;display:inline-flex;align-items:center;justify-content:flex-start;width:auto;padding:.5rem clamp(.6875rem,.6875rem + .0625vw,.75rem);text-decoration:none;background-image:none;background-size:0 0;white-space:nowrap}@media screen and (min-width:1080px){.spec-toc a.spec-toc__link,.spec-toc__link{display:flex;align-items:center;width:100%;min-height:clamp(2rem,2rem + 1.5vw,3.5rem);padding:clamp(.6875rem,.6875rem + .0625vw,.75rem) clamp(1.375rem,1.375rem + .625vw,2rem)}}.spec-toc a.spec-toc__link:focus-visible,.spec-toc__link:focus-visible{background-image:none}.spec-toc a.spec-toc__link:focus-visible .spec-toc__label,.spec-toc__link:focus-visible .spec-toc__label{color:var(--ink)}.spec-toc a.spec-toc__link:focus-visible .spec-toc__arrow,.spec-toc__link:focus-visible .spec-toc__arrow{opacity:1;clip-path:inset(0);transform:translateY(-1px)}@media(hover:hover)and (pointer:fine){.spec-toc a.spec-toc__link:hover,.spec-toc__link:hover{background-image:none}.spec-toc a.spec-toc__link:hover .spec-toc__label,.spec-toc__link:hover .spec-toc__label{color:var(--ink)}.spec-toc a.spec-toc__link:hover .spec-toc__arrow,.spec-toc__link:hover .spec-toc__arrow{opacity:1;clip-path:inset(0);transform:translateY(-1px)}}.spec-toc a.spec-toc__link.is-active .spec-toc__label,.spec-toc__link.is-active .spec-toc__label{color:var(--ink);opacity:1;background-image:none}.spec-toc a.spec-toc__link.is-active .spec-toc__arrow,.spec-toc__link.is-active .spec-toc__arrow{opacity:1;clip-path:inset(0);transform:translateY(-1px)}@media screen and (max-width:1079px){.spec-toc a.spec-toc__link.is-active .spec-toc__arrow,.spec-toc__link.is-active .spec-toc__arrow{opacity:0}}.spec-toc__label{--roman-label-underline-bottom:-0.18em;flex:none;font-size:1rem;line-height:1.1;letter-spacing:-.03em;color:var(--ink-faint);opacity:1;white-space:nowrap;font-weight:500;background-image:none;transition:color .55s cubic-bezier(.625,.05,0,1),opacity .55s cubic-bezier(.625,.05,0,1)}@media screen and (max-width:1079px){.spec-toc__label{font-size:.9375rem}}.spec-toc__arrow{display:inline-flex;align-items:center;flex:0 0 1.125rem;width:1.125rem;margin-left:clamp(.8125rem,.8125rem + .1875vw,1rem);opacity:0;clip-path:inset(0 100% 0 0);overflow:hidden;transform:translate(calc(-1 * clamp(.6875rem, .6875rem + .0625vw, .75rem)),-1px);color:var(--ink);pointer-events:none;transition:clip-path .6s cubic-bezier(.625,.05,0,1),opacity .5s cubic-bezier(.625,.05,0,1),transform .6s cubic-bezier(.625,.05,0,1)}@media screen and (max-width:1079px){.spec-toc__arrow{display:none}}.spec-toc__arrow svg{width:auto;height:.875rem;flex:none}@media(prefers-reduced-motion:reduce){.spec-toc:after,.spec-toc:before,.spec-toc__arrow,.spec-toc__label,.spec-toc__link{transition:none}}