/* Wide screens: the Contents dock becomes a panel beside the sheet from the start, a sticky twin of the sidebar; the row of buttons above the sheet goes.
   Linked with a media query (build_site.page): from 1300 px, where the sheet still has room for a 75ch line beside it; list pages wait for 1600 px,
   their wide tables need the width more than the panel */
:root { --rail: 236px; }
body:has(.toc) { --main-max: calc(1200px + var(--rail) + 24px); }  /* the sheet keeps its 1200 px once the window has room */
main:has(.toc) { padding-right: calc(var(--rail) + 56px); }
main .toc { display: none; }
.dock { top: 8px; }
.dock > div, .docked .dock > div { position: absolute; top: 0; left: calc(100% + 32px); width: var(--rail); max-height: calc(100vh - 32px); overflow-y: auto;
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 8px; padding: 10px 10px 14px 12px;
  background: var(--side-bg); border-top: 3px solid var(--line); border-radius: var(--r); box-shadow: 0 5px 0 var(--line);
  visibility: visible; transform: none; transition: none; scrollbar-width: thin; scrollbar-color: var(--rule) transparent; }
.dock-h { display: block; grid-row: 1; margin: 0 0 0 4px; font: 15px/1.4 var(--display); color: var(--mark); letter-spacing: .03em; text-transform: uppercase; }  /* as the sidebar's group labels */
.dock-top { grid-row: 1; width: 30px; height: 30px; }
.dock ol { grid-column: 1 / -1; flex-direction: column; gap: 4px; padding: 0; overflow: visible; -webkit-mask-image: none; mask-image: none; }
.dock ol a { padding: 5px 12px; white-space: normal; line-height: 1.35; border-color: transparent; border-radius: 12px; box-shadow: none; background: none; }
.dock li:not(.more) a:not([aria-current]):hover { background: var(--paper-2); }
.dock ol a[aria-current] { border-color: var(--line); box-shadow: 0 3px 0 var(--line); }
.dock .more a { margin-top: 6px; border-color: var(--line); background: var(--blue); }
