.shelf{position:fixed;left:50%;top:calc(50% + var(--book-size, 41vh) / 2);bottom:0;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding-block:1.5vh;width:max-content;max-width:90vw;text-align:center;pointer-events:none}.shelf>*{pointer-events:auto}.shelf__count{font-size:10px;letter-spacing:.24em;font-variant-numeric:tabular-nums;opacity:.65}.shelf__title{font-family:Georgia,Times New Roman,serif;font-size:clamp(22px,3.6vh,34px);font-weight:700;letter-spacing:.04em;line-height:1.1}.shelf__sub{font-size:12px;letter-spacing:.1em;opacity:.7}.shelf__count,.shelf__title,.shelf__sub{transition:opacity .26s cubic-bezier(.25,.46,.45,.94),transform .26s cubic-bezier(.25,.46,.45,.94)}.shelf.is-swapping .shelf__count,.shelf.is-swapping .shelf__title,.shelf.is-swapping .shelf__sub{opacity:0;transform:translateY(6px)}.shelf__open{margin-top:6px}.shelf__hint{position:fixed;right:22px;bottom:26px;z-index:3;font-size:10px;letter-spacing:.2em;text-transform:uppercase;padding:9px 16px;opacity:.85}@media(prefers-reduced-motion:reduce){.shelf__count,.shelf__title,.shelf__sub{transition:none}}@media(max-width:600px){.shelf{gap:8px}.shelf__hint{display:none}}html,body{cursor:grab}body.grabbing{cursor:grabbing}body.hovering{cursor:pointer}body.grabbing.hovering{cursor:grabbing}.shelf,.wordmark,#palettes,.shelf__hint{cursor:default}.btn,#palettes button{cursor:pointer}
