.side-dock {
  --dock-panel-w:76px;
  --dock-icon-size:52px;
  position:fixed;left:0;top:50%;z-index:90;
  display:flex;align-items:center;
  transform:translate(calc(-1 * var(--dock-panel-w)), -50%);
  transition:transform .23s cubic-bezier(.2,.72,.2,1);
  filter:drop-shadow(0 8px 26px rgba(0,0,0,.38));
}
.side-dock[data-open="true"] {transform:translate(0,-50%)}
.side-dock-panel {
  order:1;width:var(--dock-panel-w);padding:13px 11px;display:flex;flex-direction:column;gap:14px;align-items:center;
  border:1px solid rgba(158,189,214,.29);border-left:0;border-radius:0 12px 12px 0;
  background:linear-gradient(160deg,rgba(18,31,43,.98),rgba(5,10,16,.98));
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
}
.side-dock-link {
  display:grid;place-items:center;flex:none;width:var(--dock-icon-size);height:var(--dock-icon-size);
  border-radius:50%;overflow:hidden;border:1px solid rgba(185,203,224,.68);
  background:radial-gradient(circle at 45% 30%,white 0%,#f5f7fa 76%,#dde4ed 100%);
  box-shadow:0 0 0 1px rgba(255,255,255,.08);transition:transform .16s ease,box-shadow .16s ease;
}
.side-dock-link img {display:block;width:86%;height:86%;object-fit:contain}
.side-dock-home {background:transparent;border-color:transparent;box-shadow:none}
.side-dock-home img {width:100%;height:100%;object-fit:contain}
.side-dock-link:hover {transform:scale(1.045);box-shadow:0 0 0 2px rgba(55,153,250,.64)}
.side-dock-link[aria-current="page"] {box-shadow:0 0 0 2px var(--blue)}
.side-dock-link:focus-visible,.side-dock-toggle:focus-visible {outline:2px solid #76c6ff;outline-offset:3px}
.side-dock-toggle {
  order:2;width:27px;height:90px;display:grid;place-items:center;padding:0;cursor:pointer;
  color:#c5e0f7;background:linear-gradient(180deg,#182a3b,#0d1826);
  border:1px solid rgba(129,173,204,.54);border-left:0;border-radius:0 9px 9px 0;
  box-shadow:inset 2px 0 0 rgba(42,149,253,.67);
  touch-action:manipulation;
}
.side-dock-toggle:hover {background:#1b354c}
.side-dock-toggle svg {transition:transform .2s ease}
.side-dock[data-open="true"] .side-dock-toggle svg {transform:rotate(180deg)}

.side-dock {--blue:#268fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;line-height:1;}
.side-dock,.side-dock *,.side-dock *::before,.side-dock *::after {box-sizing:border-box;}
.side-dock a {text-decoration:none;}
.side-dock-panel {margin:0;}
.side-dock-link[aria-current="location"] {box-shadow:0 0 0 2px var(--blue);}
.document-back-link {display:block;width:fit-content;margin:0 0 22px;color:#bdd8ff;font:600 12px/1.6 var(--mono,monospace);text-decoration:none;border-bottom:1px solid #526e9d;padding:5px 0;position:relative;z-index:1;}
.document-back-link:hover {color:#fff;border-color:#5b8fff;}
.document-back-link:focus-visible {outline:2px solid #76c6ff;outline-offset:4px;}
@media(max-width:700px){
 .side-dock {--dock-panel-w:70px;--dock-icon-size:48px;}
 .side-dock-panel {padding:11px 10px;gap:11px;}
 .side-dock-toggle {width:25px;height:78px;}
}
@media(prefers-reduced-motion:reduce){.side-dock,.side-dock-toggle svg,.side-dock-link{transition:none;}}
@media print{.side-dock,.document-back-link{display:none!important;}}
