.shelf-track{--shelf-gap:1rem;gap:var(--shelf-gap);overscroll-behavior-x:contain;scrollbar-width:none}.shelf-track::-webkit-scrollbar{display:none}@media (min-width:640px){.shelf-track{--shelf-gap:1.25rem}}.shelf-ledge{display:block;height:2px;margin-inline:calc(var(--shelf-gap) / -2);background:linear-gradient(90deg,#3a2924,#5b4034 50%,#3a2924);box-shadow:0 1px 0 rgba(255,214,180,.07),0 10px 22px 2px rgba(0,0,0,.7);position:relative;z-index:1}.shelf-contact{position:absolute;left:10%;right:10%;bottom:-3px;height:10px;border-radius:9999px;background:rgba(0,0,0,.75);filter:blur(6px);transition:opacity .35s ease,transform .35s ease}.shelf-lift{display:block;position:relative;transition:transform .35s cubic-bezier(.22,1,.36,1)}.shelf-book:focus-visible .shelf-lift,.shelf-book:hover .shelf-lift{transform:translateY(-8px)}.shelf-book:focus-visible .shelf-contact,.shelf-book:hover .shelf-contact{opacity:.45;transform:scaleX(.85)}.shelf-reflect{display:block;position:relative;overflow:hidden;aspect-ratio:2/.5;opacity:.32;pointer-events:none;-webkit-mask-image:linear-gradient(180deg,#000 0,transparent 85%);mask-image:linear-gradient(180deg,#000 0,transparent 85%);transition:opacity .35s ease}.shelf-reflect>span{position:absolute;inset-inline:0;top:0;aspect-ratio:2/3;transform:scaleY(-1);border-radius:6px;overflow:hidden;filter:blur(.6px)}.shelf-book:focus-visible .shelf-reflect,.shelf-book:hover .shelf-reflect{opacity:.18}.shelf-scale{display:block;transform-origin:50% 100%}.shelf-reflect.shelf-scale{transform-origin:50% 0}@keyframes shelf-centre{0%,32%{transform:scale(1)}50%{transform:scale(1.06)}68%,to{transform:scale(1)}}@supports (animation-timeline:view()){@media (max-width:639px) and (prefers-reduced-motion:no-preference){.shelf-scale{animation:shelf-centre linear both;animation-timeline:view(inline)}}}@media (prefers-reduced-motion:reduce){.shelf-contact,.shelf-lift,.shelf-reflect{transition:none}}