/* Shared icon chapter dock. Desktop: right edge; phone: lower right. */
body :is(#top,#sway-project) .pc-dock.pc-dock{position:fixed;right:max(14px,calc(var(--gutter) - 10px));top:50%;bottom:auto;left:auto;width:46px;height:46px;margin:0;transform:translateY(-50%);z-index:25;color:var(--ink);font-family:var(--body)}
body :is(#top,#sway-project) .pc-dock.pc-dock>button{position:relative;display:grid;place-items:center;float:none;width:46px;height:46px;padding:0;margin:0;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:50%;background:color-mix(in srgb,var(--surface) 94%,transparent);color:var(--ink);box-shadow:0 5px 20px #00000012;backdrop-filter:blur(14px);cursor:pointer;transition:background .2s,box-shadow .2s;line-height:1}
.pc-dock button svg{display:block;pointer-events:none}
.pc-dock .pc-close{display:none}
.pc-dock button[aria-expanded="true"] .pc-list{display:none}
.pc-dock button[aria-expanded="true"] .pc-close{display:block}
.pc-dock .pc-tooltip{position:absolute;right:calc(100% + 10px);top:50%;transform:translate(3px,-50%);white-space:nowrap;padding:7px 11px;border-radius:99px;background:var(--surface);color:var(--ink);font:500 10px/1.3 var(--body);box-shadow:0 3px 14px #00000010;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s,transform .15s,visibility .15s}
.pc-dock button[aria-expanded="false"]:hover .pc-tooltip,.pc-dock button[aria-expanded="false"]:focus-visible .pc-tooltip{opacity:1;visibility:visible;transform:translate(0,-50%)}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel{position:absolute;display:block;right:calc(100% + 12px);left:auto;top:50%;bottom:auto;transform:translateY(-50%);width:235px;max-width:calc(100vw - 90px);max-height:min(520px,calc(100dvh - 100px));overflow:auto;clear:none;margin:0;padding:20px 22px;border:1px solid color-mix(in srgb,var(--ink) 12%,transparent);border-radius:22px;background:var(--surface);color:var(--ink);box-shadow:0 12px 35px #00000020;overscroll-behavior:contain;backdrop-filter:blur(14px)}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel[hidden]{display:none!important}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel a{display:block;color:var(--ink);font:400 12px/1.5 var(--body);padding:9px 0;text-decoration:none}
#sway-project .sw-story-pin .sw-story-topline{right:25px}
@media(max-width:600px){
 body :is(#top,#sway-project) .pc-dock.pc-dock{top:auto;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:16px;transform:none}
 body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel{right:0;top:auto;bottom:calc(100% + 12px);transform:none;width:260px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 110px)}
 #sway-project .sw-story-pin .sw-story-topline{right:20px}
}
@media(hover:none){.pc-dock .pc-tooltip{display:none}}
@media(prefers-reduced-motion:reduce){.pc-dock .pc-tooltip{transition:none}}
/* The dock has one icon and one controller; avoid a second floating label. */
.pc-dock .pc-tooltip{display:none!important}
body :is(#top,#sway-project) .pc-dock.pc-dock{width:42px;height:42px;right:18px}
body :is(#top,#sway-project) .pc-dock.pc-dock>button{width:42px;height:42px}
body :is(#top,#sway-project) .pc-dock.pc-dock>button svg{width:20px!important;height:20px!important;position:static;transform:none;overflow:visible;flex:none}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel{width:235px;border-radius:16px;padding:15px 20px}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel a{font-size:11px;padding:8px 0}
/* Number the primary chapter links independently of translated link text. */
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel{counter-reset:project-chapter}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel a{counter-increment:project-chapter;display:grid;grid-template-columns:24px minmax(0,1fr);column-gap:10px;align-items:baseline}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel a::before{content:counter(project-chapter,decimal-leading-zero);font:400 10px/1.5 var(--body);font-variant-numeric:tabular-nums;color:color-mix(in srgb,var(--ink) 52%,transparent);letter-spacing:.03em}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel a>small{display:none}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel a:is(:hover,[aria-current="location"]),body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel a:is(:hover,[aria-current="location"])::before{color:var(--pc-active,#6E930A)}
body :is(#top,#sway-project) .pc-dock.pc-dock>.pc-panel a{justify-items:start;text-align:left;float:none;white-space:normal}
body :is(#top,#sway-project) .pc-dock.pc-dock>button svg{min-width:20px;min-height:20px;max-width:20px;max-height:20px;margin:0;padding:0}
