.toc-rail,.toc-bar{opacity:0;visibility:hidden;transition:opacity .2s ease,transform .2s ease,visibility 0s linear .2s}.toc-rail.is-visible,.toc-bar.is-visible{opacity:1;visibility:visible;transform:none;transition:opacity .2s ease,transform .2s ease}.toc-rail{display:none;position:fixed;top:calc(var(--kf-header-offset) + 40px);left:calc(50% + 394px);width:min(240px,calc(50% - 418px));z-index:900;transform:translateY(-4px)}.toc-rail__title{margin:0 0 .75rem;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#a8a8b3}.toc-rail ol{list-style:none;margin:0;padding:0;max-height:calc(100vh - var(--kf-header-offset) - 200px);overflow-y:auto;border-left:1px solid rgba(255,255,255,8%);scrollbar-width:none}.toc-rail ol::-webkit-scrollbar{display:none}.toc-rail ol.has-more,.toc-bar__panel.has-more{-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 2.5rem),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 2.5rem),transparent)}.toc-rail li{margin:0}.toc-rail ol a{display:block;margin-left:-1px;padding:.4rem 0 .4rem .9rem;border-left:2px solid transparent;font-size:.8125rem;line-height:1.45;color:var(--color-text-muted);text-decoration:none;transition:color .15s ease,border-color .15s ease}.toc-rail ol a:hover{color:var(--color-text-bright)}.toc-rail ol a[aria-current]{color:#c4b5fd;border-left-color:#c4b5fd}.toc-rail a:focus-visible{outline:2px solid #c4b5fd;outline-offset:2px;border-radius:4px}.toc-rail__cta{display:inline-flex;align-items:center;margin-top:1.25rem;min-height:36px;padding:0 .9rem;border:1px solid rgba(196,181,253,.3);border-radius:8px;font-size:.8125rem;font-weight:600;color:#c4b5fd;text-decoration:none;transition:background .15s ease,border-color .15s ease}.toc-rail__cta:hover{background:rgba(196,181,253,.1);border-color:rgba(196,181,253,.5)}.toc-bar{position:fixed;top:var(--kf-header-offset);left:0;right:0;z-index:990;background:#0a0a0f;border-bottom:1px solid var(--color-border);transform:translateY(-6px)}.toc-bar.is-open{box-shadow:0 18px 40px rgba(0,0,0,.55)}.toc-bar.is-open::after{content:"";position:absolute;top:100%;left:0;right:0;height:100vh;background:rgba(0,0,0,.5);pointer-events:none}.toc-bar__toggle{display:flex;align-items:center;gap:.65rem;width:100%;min-height:44px;padding:0 max(1.5rem,calc(50% - 346px));border:0;background:0 0;color:var(--color-text-bright);font:inherit;font-size:.875rem;text-align:left;cursor:pointer}.toc-bar__toggle:focus-visible{outline:2px solid #c4b5fd;outline-offset:-2px}.toc-bar__count{flex:none;padding:.1rem .5rem;border:1px solid rgba(196,181,253,.3);border-radius:999px;font-size:.75rem;font-variant-numeric:tabular-nums;color:#c4b5fd}.toc-bar__current{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.toc-bar__chevron{flex:none;color:#a8a8b3;transition:transform .2s ease}.toc-bar__toggle[aria-expanded=true] .toc-bar__chevron{transform:rotate(180deg)}.toc-bar__panel{max-height:min(60vh,28rem);overflow-y:auto;overscroll-behavior:contain;padding:.25rem max(1.5rem,calc(50% - 346px)).75rem;border-top:1px solid rgba(255,255,255,6%)}.toc-bar__panel ol{list-style:none;margin:0;padding:0;counter-reset:toc}.toc-bar__panel li{margin:0;counter-increment:toc}.toc-bar__panel a{display:flex;gap:.75rem;box-sizing:border-box;min-height:44px;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,5%);font-size:.9375rem;line-height:1.4;color:var(--color-text-muted);text-decoration:none}.toc-bar__panel li:last-child a{border-bottom:0}.toc-bar__panel a::before{content:counter(toc,decimal-leading-zero);flex:none;min-width:1.5rem;font-size:.8125rem;font-variant-numeric:tabular-nums;color:#8f8fa0;padding-top:.1rem}.toc-bar__panel ol.is-numbered a::before{content:none}.toc-bar__panel a[aria-current]{color:#c4b5fd;font-weight:600}.toc-bar__panel a[aria-current]::before{color:#c4b5fd}.toc-bar__panel a:focus-visible{outline:2px solid #c4b5fd;outline-offset:2px;border-radius:4px}.post-body h2[id],.post-body h3[id]{scroll-margin-top:calc(var(--kf-header-offset) + 60px)}@media(min-width:1280px){.toc-rail{display:block}.toc-bar{display:none}.post-body h2[id],.post-body h3[id]{scroll-margin-top:calc(var(--kf-header-offset) + 16px)}}@media(min-width:1280px) and (pointer:coarse){.toc-rail ol a{padding-top:.7rem;padding-bottom:.7rem}.toc-rail__cta{min-height:44px}}@media(prefers-reduced-motion:reduce){.toc-rail,.toc-bar,.toc-rail.is-visible,.toc-bar.is-visible,.toc-bar__chevron{transition:none;transform:none}}