.pub-book{--h:220px;--spine:calc(var(--h) * 600 / 3508);--cover:calc(var(--h) * 2480 / 3508);--ease:cubic-bezier(0.22,0.75,0.25,1);--book-color:#1e293b;position:relative;z-index:1;display:block;width:var(--cover);height:var(--h);perspective:1600px;perspective-origin:45% 38%}.pub-book-3d{position:absolute;left:0;bottom:0;width:var(--spine);height:100%;transform-style:preserve-3d;transform-origin:right center;transform:translateX(calc(var(--cover) * .18 - var(--spine))) translateZ(20px) rotateY(-58deg);transition:transform .65s var(--ease)}.book-item:focus-within .pub-book-3d,.book-item:hover .pub-book-3d,.tz-shop-card:focus-within .pub-book-3d,.tz-shop-card:hover .pub-book-3d,.tz-shop-pub:focus-within .pub-book-3d,.tz-shop-pub:hover .pub-book-3d{transform:translateX(calc(var(--spine) * -1)) translateY(-12px) translateZ(28px) rotateY(-90deg)}.pub-book-face{position:absolute;top:0;height:100%;overflow:hidden;background:var(--book-color);backface-visibility:hidden;-webkit-backface-visibility:hidden}.pub-book-face img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none}.pub-book-spine{left:0;width:var(--spine);border-radius:3px 1px 1px 3px;display:flex;align-items:center;justify-content:center}.pub-book-back:after,.pub-book-cover:after,.pub-book-spine:after{content:"";position:absolute;inset:0;pointer-events:none}.pub-book-spine:after{background:linear-gradient(90deg,rgba(0,0,0,.48),rgba(255,255,255,.14) 24%,rgba(0,0,0,.06) 55%,rgba(0,0,0,.4))}.pub-book-spine.has-image:after{background:linear-gradient(90deg,rgba(0,0,0,.4),rgba(255,255,255,.12) 22%,rgba(0,0,0,.05) 58%,rgba(0,0,0,.38))}.pub-book-spine-title{position:relative;z-index:1;max-height:88%;overflow:hidden;padding:8px 0;color:#fdf3df;font-family:Georgia,Iowan Old Style,Palatino,serif;font-size:11px;font-weight:700;letter-spacing:.06em;line-height:1.15;text-align:center;text-transform:uppercase;writing-mode:vertical-rl;transform:rotate(180deg);text-shadow:0 1px 1px rgba(0,0,0,.45)}.pub-book-cover{left:var(--spine);width:var(--cover);border-radius:1px 5px 5px 1px;transform-origin:left center;transform:rotateY(90deg);box-shadow:10px 16px 28px rgba(15,23,42,.22)}.pub-book-cover:after{background:linear-gradient(105deg,rgba(255,255,255,.16),rgba(255,255,255,.05) 16%,transparent 40%,transparent 78%,rgba(0,0,0,.08)),linear-gradient(90deg,rgba(0,0,0,.42),rgba(255,255,255,.14) 3px,rgba(0,0,0,.14) 8px,rgba(255,255,255,.04) 14px,transparent 28px,transparent 86%,rgba(0,0,0,.1))}.pub-book-back{right:100%;width:var(--cover);border-radius:5px 1px 1px 5px;transform-origin:right center;transform:rotateY(-90deg);background:linear-gradient(135deg,color-mix(in srgb,var(--book-color) 90%,white) 0,var(--book-color) 48%,color-mix(in srgb,var(--book-color) 78%,black) 100%);box-shadow:-8px 14px 24px rgba(15,23,42,.18)}.pub-book-back:after{background:linear-gradient(270deg,rgba(0,0,0,.35),rgba(255,255,255,.1) 4px,rgba(0,0,0,.12) 12px,transparent 28px)}.pub-book-shadow{position:absolute;left:8%;right:8%;bottom:-22px;height:24px;border-radius:50%;background:radial-gradient(ellipse at center,rgba(48,26,31,.3) 0,rgba(48,26,31,.1) 48%,transparent 72%);transform:scaleX(1.02);transition:transform .65s var(--ease),opacity .65s var(--ease);pointer-events:none;z-index:0}.book-item:focus-within .pub-book-shadow,.book-item:hover .pub-book-shadow,.tz-shop-card:focus-within .pub-book-shadow,.tz-shop-card:hover .pub-book-shadow,.tz-shop-pub:focus-within .pub-book-shadow,.tz-shop-pub:hover .pub-book-shadow{opacity:.7;transform:translateY(8px) scaleX(.92)}@media (prefers-reduced-motion:reduce){.pub-book-3d,.pub-book-shadow{transition:none}.book-item:focus-within .pub-book-3d,.book-item:hover .pub-book-3d,.tz-shop-card:focus-within .pub-book-3d,.tz-shop-card:hover .pub-book-3d,.tz-shop-pub:focus-within .pub-book-3d,.tz-shop-pub:hover .pub-book-3d{transform:translateX(calc(var(--cover) * .18 - var(--spine))) translateZ(20px) rotateY(-58deg)}.book-item:focus-within .pub-book-shadow,.book-item:hover .pub-book-shadow,.tz-shop-card:focus-within .pub-book-shadow,.tz-shop-card:hover .pub-book-shadow,.tz-shop-pub:focus-within .pub-book-shadow,.tz-shop-pub:hover .pub-book-shadow{opacity:1;transform:scaleX(1.02)}}