/* Hardcover-inspired library. Each book's permanent color comes from catalog.json. */
.v2-shelf-links{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 38px}
.v2-shelf-links a{display:flex;align-items:center;gap:16px;border:1px solid var(--v-line);border-radius:12px;padding:12px 18px;font-size:14px;font-weight:650;background:#fff}
.v2-shelf-links a:hover{border-color:var(--v-blue);color:var(--v-blue)}
.v2-shelf-links span{border-radius:6px;background:var(--v-pale);color:var(--v-blue);min-width:25px;text-align:center;font-size:12px}
.v2-bookshelf{margin:0 0 60px}
.v2-bookshelf+.v2-bookshelf{padding-top:38px;border-top:1px solid var(--v-line)}
.v2-shelf-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:26px}
.v2-shelf-heading .v2-kicker{font-size:10px;margin:0 0 8px}
.v2-shelf-heading h3{font-size:32px;margin:0;scroll-margin-top:120px}
.v2-shelf-count{white-space:nowrap;background:var(--v-pale);padding:6px 13px;border-radius:99px;color:var(--v-blue);font-size:13px;font-weight:650}
.v2-physical-book{display:flex;flex-direction:column;border-radius:16px}
.v2-book-stage{padding:26px 20px 30px;background:linear-gradient(145deg,#f7f8fb,#edf0f6);display:flex;justify-content:center;align-items:center;perspective:1200px;min-height:370px;overflow:hidden}
.v2-book-object{position:relative;isolation:isolate;display:flex;flex-direction:column;flex-shrink:0;width:min(100%,244px);min-height:310px;padding:25px 22px 22px 29px;gap:16px;border-radius:3px 8px 8px 3px;color:#fff!important;background:var(--book-color);transform:rotateY(-9deg);transform-origin:left center;box-shadow:3px 4px 0 #d2d5dc,6px 7px 0 #faf9f5,8px 9px 0 #b9c0cd,14px 17px 21px -12px #2536517a;transition:transform .2s,box-shadow .2s}
.v2-book-object:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:linear-gradient(90deg,#0005 0,#ffffff13 3%,#0002 5%,transparent 10%,#ffffff08 97%,#0002);box-shadow:inset 1px 0 #ffffff38,inset -1px 0 #0003}
.v2-book-object:after{content:"";position:absolute;top:0;bottom:0;left:16px;border-left:1px solid #0003;border-right:1px solid #ffffff1c;pointer-events:none}
.v2-cover-publisher{font-size:8px;font-weight:650;letter-spacing:.17em;line-height:1.5;opacity:.9}
.v2-cover-rule{width:34px;height:2px;background:#fff;opacity:.65;margin:8px 0}
.v2-book-object strong{font-size:21px;line-height:1.28;letter-spacing:-.018em;font-weight:720;overflow-wrap:break-word}
.v2-cover-bottom{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;padding-top:20px;border-top:1px solid #ffffff36;font-size:8px;letter-spacing:.11em}
.v2-cover-seal{display:grid;place-items:center;width:27px;height:27px;flex-shrink:0;border:1px solid #ffffff80;border-radius:50%;font-size:9px;letter-spacing:0}
.v2-book-object:hover,.v2-book-object:focus-visible{transform:rotateY(-3deg) translateY(-4px);box-shadow:3px 4px 0 #d2d5dc,6px 7px 0 #faf9f5,8px 9px 0 #b9c0cd,16px 23px 24px -12px #2536517a}
.v2-physical-book .v2-book-info{display:flex;flex-direction:column;flex:1}
.v2-physical-book .v2-book-info h3,.v2-physical-book .v2-book-info h4{font-size:17px;line-height:1.4;min-height:48px;margin:12px 0 24px}
.v2-physical-book .v2-card-actions{margin-top:auto}
@media(max-width:1100px){.v2-book-stage{padding-inline:18px;min-height:360px}.v2-book-object{width:min(100%,230px);min-height:300px;padding:24px 17px 20px 27px}.v2-book-object strong{font-size:19px}}
@media(max-width:780px){.v2-shelf-heading h3{font-size:27px}.v2-book-stage{padding:23px 20px 28px}.v2-book-object{width:min(100%,244px);min-height:310px}.v2-physical-book .v2-book-info{padding:20px}.v2-physical-book .v2-book-info h3,.v2-physical-book .v2-book-info h4{min-height:0}.v2-bookshelf{margin-bottom:44px}}
@media(max-width:620px){.v2-book-grid{grid-template-columns:minmax(0,1fr)}.v2-book-stage{padding-inline:28px}.v2-book-object{width:min(100%,244px)}.v2-shelf-links{gap:8px}.v2-shelf-links a{padding:10px 13px;gap:9px;font-size:13px}}
@media(prefers-reduced-motion:reduce){.v2-book-object{transition:none}}
