.back-to-top{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom));z-index:18;display:grid;place-items:center;width:62px;height:62px;padding:0;border:1px solid #CCAD743D;border-radius:50%;background:#152A35E8;backdrop-filter:blur(16px);color:#CCAD74;box-shadow:0 8px 30px #152A3566,inset 0 1px 0 #DDE5E414;cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(16px) scale(.92);transition:opacity .25s,visibility .25s,transform .25s,background .2s,border-color .2s}.back-to-top.is-visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0) scale(1)}.back-to-top .back-to-top-ring{position:absolute;inset:3px;width:54px;height:54px;transform:rotate(-90deg);pointer-events:none}.back-to-top-track{fill:none;stroke:#CCAD7429;stroke-width:1.5}.back-to-top-progress{fill:none;stroke:#CCAD74;stroke-width:1.5;stroke-linecap:round;stroke-dasharray:150.796447;stroke-dashoffset:150.796447}.back-to-top-arrow{width:23px;height:23px;transition:transform .2s;pointer-events:none}.back-to-top-label{position:absolute;right:74px;white-space:nowrap;padding:9px 12px;border:1px solid #CCAD743D;border-radius:8px;background:#152A35F0;font:11px/1.5 Inter,system-ui,sans-serif;color:#DDE5E4;opacity:0;transform:translateX(5px);pointer-events:none;transition:opacity .2s,transform .2s}.back-to-top:focus-visible{outline:2px solid #CCAD74;outline-offset:4px}.back-to-top:focus-visible .back-to-top-label{opacity:1;transform:translateX(0)}body:has(dialog[open]) .back-to-top{visibility:hidden;pointer-events:none}@media(hover:hover){.back-to-top:hover{background:#23414D;border-color:#CCAD74}.back-to-top:hover .back-to-top-arrow{transform:translateY(-3px)}.back-to-top:hover .back-to-top-label{opacity:1;transform:translateX(0)}}@media(max-width:600px){.back-to-top{width:54px;height:54px;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom))}.back-to-top .back-to-top-ring{width:46px;height:46px}.back-to-top-arrow{width:21px;height:21px}.back-to-top-label{display:none}}@media(prefers-reduced-motion:reduce){.back-to-top,.back-to-top-arrow,.back-to-top-label{transition:none}.back-to-top{transform:none}.back-to-top:hover .back-to-top-arrow{transform:none}}
/* Compact chapter dial beside the existing progress-ring control. */
.chapter-dock{position:fixed;z-index:19;right:max(98px,calc(env(safe-area-inset-right) + 74px));bottom:max(29px,calc(env(safe-area-inset-bottom) + 5px));font-family:Inter,system-ui,sans-serif}
.chapter-dock[hidden],.chapter-wheel[hidden]{display:none}
.chapter-toggle{display:flex;align-items:center;gap:11px;min-height:51px;max-width:calc(100vw - 125px);padding:12px 16px;border:1px solid #CCAD744D;border-radius:30px;background:#152A35F2;backdrop-filter:blur(20px);color:#DDE5E4;box-shadow:0 8px 30px #152A3566;font-size:11px;cursor:pointer}
.chapter-toggle:hover,.chapter-toggle[aria-expanded=true]{border-color:#CCAD74;background:#23414DF5}
.chapter-toggle>svg{color:#CCAD74;transition:transform .25s;flex-shrink:0}
.chapter-toggle[aria-expanded=true]>svg{transform:rotate(180deg)}
.chapter-current{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.5;text-align:left}
.chapter-current.is-changing{animation:chapter-roll .35s ease-out}
@keyframes chapter-roll{from{opacity:.1;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
.chapter-dock-symbol{display:grid;gap:3px;width:15px;flex-shrink:0}
.chapter-dock-symbol i{height:1px;background:#CCAD7466;width:10px;display:block;transition:width .2s}
.chapter-dock-symbol i:nth-child(2){width:15px;background:#CCAD74}
.chapter-wheel{position:absolute;top:auto;left:auto;max-height:none;overflow:visible;right:0;bottom:65px;width:295px;max-width:calc(100vw - 40px);display:block;padding:20px 12px 10px;border:1px solid #CCAD744D;border-radius:20px;background:linear-gradient(145deg,#23414DF5,#152A35FA);backdrop-filter:blur(24px);box-shadow:0 22px 70px #0005;transform-origin:bottom right;animation:chapter-open .2s ease-out}
@keyframes chapter-open{from{opacity:0;transform:translateY(8px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}
.chapter-wheel-heading{display:flex;justify-content:space-between;padding:0 12px 13px;font-size:8px;letter-spacing:1.8px;color:#CCAD74;border-bottom:1px solid #CCAD7429}
.chapter-wheel-list{display:flex;flex-direction:column;gap:3px;position:relative;margin:9px 0;max-height:min(310px,calc(100svh - 235px));overflow-y:auto;overscroll-behavior:contain;scroll-snap-type:y proximity;scrollbar-width:thin;scrollbar-color:#CCAD7466 transparent}
.chapter-wheel-list:before{content:"";position:absolute;top:16px;bottom:16px;left:25px;width:1px;background:#CCAD7433;pointer-events:none}
.chapter-wheel-list a{position:relative;display:grid;grid-template-columns:30px minmax(0,1fr) 16px;align-items:center;gap:8px;min-height:48px;padding:10px 12px;border-radius:10px;font-size:12px;line-height:1.5;color:#DDE5E4B3;scroll-snap-align:center;transition:background .2s,color .2s}
.chapter-wheel-list a:hover,.chapter-wheel-list a:focus-visible{background:#DDE5E40B;color:#DDE5E4}
.chapter-wheel-list a[aria-current=location]{background:#CCAD7419;color:#CCAD74;box-shadow:inset 2px 0 #CCAD74}
.chapter-number{position:relative;z-index:1;display:grid;place-items:center;width:27px;height:27px;border:1px solid #CCAD7429;border-radius:50%;background:#1C343F;color:#CCAD74;font-size:9px;font-variant-numeric:tabular-nums}
[aria-current=location] .chapter-number{background:#CCAD74;color:#152A35;border-color:#CCAD74}
.chapter-link-arrow{opacity:0;color:#CCAD74}
.chapter-wheel-list a:hover .chapter-link-arrow,.chapter-wheel-list a[aria-current=location] .chapter-link-arrow{opacity:1}
.chapter-wheel>p{margin:0;padding:8px 12px 4px;border-top:1px solid #CCAD7429;font-size:9px;color:#DDE5E480}
.chapter-toggle:focus-visible,.chapter-wheel a:focus-visible{outline:2px solid #CCAD74;outline-offset:3px}
/* The chapter label now occupies the space formerly used by the arrow tooltip. */
.back-to-top-label{display:none}
body:has(dialog[open]) .chapter-dock{visibility:hidden;pointer-events:none}
@media(max-width:600px){.chapter-dock{right:max(80px,calc(env(safe-area-inset-right) + 64px));bottom:max(20px,calc(env(safe-area-inset-bottom) + 4px))}.chapter-toggle{min-height:46px;padding:10px 13px;gap:8px;max-width:calc(100vw - 100px);font-size:10px}.chapter-wheel{right:-64px;bottom:61px;width:285px;max-width:calc(100vw - 32px)}.chapter-wheel-list a{min-height:49px}.chapter-wheel-heading{font-size:8px}}
@media(prefers-reduced-motion:reduce){.chapter-current.is-changing,.chapter-wheel{animation:none}.chapter-toggle>svg,.chapter-wheel-list a,.chapter-dock-symbol i{transition:none}}
