.chapter-spine{z-index:25;width:40px;position:fixed;top:50%;right:clamp(10px,1.6vw,26px);transform:translateY(-50%)}.chapter-spine ol{flex-direction:column;align-items:flex-end;gap:14px;margin:0;padding:0;list-style:none;display:flex}.chapter-spine a{color:var(--ink);justify-content:flex-end;align-items:center;gap:8px;margin-block:-13px;padding-block:13px;text-decoration:none;display:flex;position:relative}.cs-rule{opacity:.18;width:22px;height:1px;transition:width .22s var(--ease), opacity .22s var(--ease), height .22s var(--ease);background:currentColor;display:block}.chapter-spine a[data-state=past] .cs-rule{opacity:.4}.chapter-spine a[data-state=on] .cs-rule{opacity:1;background:var(--emerald-ink);width:30px;height:2px}.cs-n,.cs-label{letter-spacing:.18em;white-space:nowrap;opacity:0;transition:opacity .22s var(--ease), transform .22s var(--ease);font-size:.625rem;position:absolute;top:50%;transform:translate(6px)}.cs-n{right:34px}.cs-label{color:var(--ink-soft);text-overflow:ellipsis;text-align:right;max-width:40ch;right:68px;overflow:hidden}.chapter-spine a[data-state=on] .cs-n{opacity:.75;color:var(--emerald-ink);transform:none}.chapter-spine:hover .cs-n,.chapter-spine:focus-within .cs-n{opacity:.75;transform:none}.chapter-spine a:hover .cs-label,.chapter-spine a:focus-visible .cs-label{opacity:1;transform:none}.cs-label{background:#f2efe7f0;border-radius:1px;box-shadow:0 0 0 6px #f2efe7f0}.section.night .cs-label,.chapter-spine a[data-night] .cs-label{background:#070b0af0;box-shadow:0 0 0 6px #070b0af0}.chapter-spine a:hover .cs-rule{opacity:.8;width:30px}.chapter-spine a[data-night]{color:var(--moon)}@media (max-width:900px){.chapter-spine{top:71px;left:0;right:0;transform:none}.chapter-spine ol{flex-direction:row;align-items:stretch;gap:2px;padding-inline:12px}.chapter-spine li{flex:1 1 0}.chapter-spine a{justify-content:stretch;margin-block:0;padding-block:12px}.cs-rule,.chapter-spine a[data-state=on] .cs-rule{width:100%;height:3px}.cs-n,.cs-label{display:none}.chapter-spine{width:auto}}@media (prefers-reduced-motion:reduce){.cs-rule,.cs-n,.cs-label{transition:none}}html[data-motion=still] .cs-rule,html[data-motion=still] .cs-n,html[data-motion=still] .cs-label{transition:none}
