/* v32 — компьютер: разворот книжки. Слева — 3D на высоту окна (липкое), справа — страница
   с закладками сверху; листалка — под страницей справа; протокол — лист по центру. */
.book { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 36px; max-width: 1240px; margin: 0 auto;
  padding: 20px 24px 110px; align-items: start; }
.stage-col { position: sticky; top: calc(var(--top) + 18px); display: flex; flex-direction: column; height: calc(100vh - var(--top) - 36px); }
.stage { flex: 1; min-height: 320px; }
.pages { position: relative; }
.pages::before { content: ""; position: absolute; left: -24px; top: 40px; bottom: 0; width: 12px; border-radius: 6px;
  background: linear-gradient(90deg, transparent, var(--line)); }
.page { padding: 28px 30px 34px; }
.ages { grid-template-columns: repeat(9, 1fr); }
.animals { grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); }
.pager { position: fixed; bottom: 18px; z-index: 15; right: max(24px, calc((100vw - 1240px) / 2 + 24px));
  width: calc(min(1240px, 100vw) / 2 - 42px); padding: 8px; border-radius: 99px; border: 2.5px solid var(--ink);
  background: color-mix(in srgb, var(--paper) 94%, transparent); backdrop-filter: blur(8px); box-shadow: 4px 4px 0 var(--shadow); }
.sheet { border-radius: 24px; }
.btn { width: auto; min-width: 260px; }
