.vdh-bookshelf{color:#233e4b;background:#f7f5ee;padding:clamp(20px,3vw,44px);font:15px/1.8 'Segoe UI',sans-serif;box-sizing:border-box}.vdh-bookshelf *{box-sizing:border-box}.vdh-bookshelf [hidden]{display:none!important}.vdh-bookshelf .vdh-shelf-heading{font:400 clamp(28px,3vw,40px)/1.25 Georgia,serif;margin:0 0 25px;color:#233e4b}.vdh-shelf-controls{display:flex;flex-wrap:wrap;gap:20px;margin:0 0 15px}.vdh-shelf-controls label{display:flex;flex:1 1 230px;flex-direction:column;gap:6px;font-size:12px;color:#657574}.vdh-shelf-controls input,.vdh-shelf-controls select{font:15px/1.5 'Segoe UI',sans-serif;width:100%;padding:10px;background:#fffdf855;border:1px solid #d5ceba;border-radius:3px;color:#233e4b}.vdh-shelf-count,.vdh-shelf-note{font-size:12px;color:#6e7973}.vdh-shelf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr));gap:35px;padding:20px 0}.vdh-shelf-group{min-width:0}.vdh-shelf-stack{display:flex;align-items:stretch;padding:0 7px 10px 0;min-width:0;overflow-x:auto}.vdh-shelf-cover{position:relative;isolation:isolate;flex:1 0 230px;min-width:0;min-height:355px;padding:32px 28px 28px 38px;text-align:center;background:var(--book-color,#eef1e9);border:1px solid #233e4b20;border-radius:2px 12px 12px 2px;box-shadow:5px 6px 0 #fffdf7,6px 7px 0 #a17b3933;display:flex;flex-direction:column;align-items:center;justify-content:center}.vdh-shelf-cover:before{content:'';position:absolute;inset:0 auto 0 10px;width:5px;border-left:1px solid #233e4b14;border-right:1px solid #fff9;pointer-events:none}.vdh-cover-trad{font:10px/1.6 'Segoe UI',sans-serif;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 20px;color:#5c7277}.vdh-cover-mark{font:44px Georgia,serif;color:#a17b39;margin:8px 0 15px}.vdh-shelf-cover img{height:85px;width:85px;object-fit:contain;margin:8px 0 16px}.vdh-bookshelf .vdh-shelf-cover h3{font:400 clamp(23px,2.5vw,32px)/1.3 Georgia,serif;color:#233e4b;margin:18px 0}.vdh-cover-italic h3{font-style:italic!important}.vdh-cover-sans h3{font-family:'Segoe UI',sans-serif!important}.vdh-cover-open{color:inherit!important;text-decoration:none!important}.vdh-cover-open:after{content:'';position:absolute;inset:0;border-radius:inherit;z-index:1}.vdh-cover-open:hover:after{outline:1px solid #a17b39}.vdh-cover-chapter{font:12px/1.6 'Segoe UI',sans-serif;color:#687b7f}.vdh-cover-sources{border-top:1px solid #233e4b20;padding-top:16px;margin-top:22px;width:100%;font:12px/1.8 'Segoe UI',sans-serif}.vdh-cover-sources span{display:block;font-size:10px;margin-bottom:8px;color:#6c7c7d}.vdh-cover-sources a{position:relative;z-index:2;display:block;color:#233e4b;text-underline-offset:4px}.vdh-shelf-spine{display:flex;flex:0 0 38px;flex-direction:column;align-items:center;gap:12px;width:38px;margin-top:8px;padding:16px 5px;background:var(--book-color);border:1px solid #233e4b25;border-left:0;border-radius:0 8px 8px 0;color:#233e4b;text-decoration:none;box-shadow:3px 4px 0 #fffdf7}.vdh-shelf-spine:nth-child(odd){margin-top:14px}.vdh-shelf-spine span:first-child{font:13px Georgia,serif;padding-bottom:10px;border-bottom:1px solid #233e4b20;width:100%;text-align:center}.vdh-shelf-spine span:last-child{writing-mode:vertical-rl;font:17px/1.4 Georgia,serif;max-height:330px;overflow:hidden}.vdh-shelf-spine:hover{outline:1px solid #a17b39}.vdh-shelf-more{color:#233e4b;text-underline-offset:5px;font:15px Georgia,serif}.vdh-bookshelf :focus-visible{outline:2px solid #a17b39;outline-offset:4px}
@media(max-width:480px){.vdh-bookshelf{padding:20px 12px}.vdh-shelf-cover{padding:24px 18px 24px 28px;flex-basis:205px}.vdh-shelf-spine{flex-basis:34px;width:34px}}

.book-spine .vdh-spine-keyhole,.vdh-shelf-spine .vdh-spine-keyhole{display:block;flex:0 0 16px;width:11px;height:16px;align-self:center;color:#a17b39;pointer-events:none}
.vdh-mini-shelf{max-width:680px;margin:20px auto;color:#233e4b}.vdh-mini-door{display:block;padding:22px 25px 18px;border:1px solid #a17b392c;border-radius:3px;background:#f7f5ee;color:inherit!important;text-decoration:none!important;transition:border-color .2s}.vdh-mini-door:hover{border-color:#a17b3980}.vdh-mini-door:focus-visible{outline:2px solid #a17b39;outline-offset:5px}.vdh-mini-door h2{margin:0 0 18px;font:400 22px/1.3 Georgia,serif;color:#233e4b}.vdh-mini-books{display:flex;align-items:flex-end;justify-content:center;gap:5px;min-height:126px;padding:0 5px 5px;border-bottom:3px double #a17b3955;overflow:hidden}.vdh-mini-book{box-sizing:border-box;position:relative;display:flex;flex:1 1 0;min-width:0;max-width:94px;height:120px;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:9px 6px 9px 10px;border:1px solid #233e4b22;border-radius:1px 5px 5px 1px;background:var(--book-color);box-shadow:2px 2px 0 #fffdf7;color:#233e4b}.vdh-mini-book:before{content:'';position:absolute;inset:0 auto 0 4px;border-left:1px solid #233e4b16}.vdh-mini-book:nth-child(3n+2){height:112px}.vdh-mini-book:nth-child(3n){height:124px}.vdh-mini-title{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;text-align:center;font:12px/1.3 Georgia,serif;overflow-wrap:anywhere}.vdh-mini-star{font:24px Georgia;color:#a17b39}.vdh-mini-book img{width:28px;height:28px;object-fit:contain}.vdh-mini-book .vdh-spine-keyhole{color:#a17b39;width:8px;height:12px;flex-shrink:0}.vdh-mini-font-italic .vdh-mini-title{font-style:italic}.vdh-mini-font-sans .vdh-mini-title{font-family:sans-serif}.vdh-mini-invite{display:flex;justify-content:space-between;gap:20px;margin-top:14px;font:13px/1.6 Georgia,serif;color:#756440}.vdh-mini-empty{font:italic 14px Georgia;color:#756440;padding:30px}@media(max-width:480px){.vdh-mini-door{padding:18px 15px}.vdh-mini-book:nth-child(n+5){display:none}}
/* Fixed-size miniatures leave breathing space on a partly filled shelf. */
.vdh-mini-books{justify-content:flex-start;flex-wrap:wrap;row-gap:12px}
.vdh-mini-book{flex:0 0 64px;width:64px;max-width:64px}
.vdh-mini-book.vdh-mini-spine{flex:0 0 27px;width:27px;max-width:27px;padding:6px 3px;gap:4px}
.vdh-mini-spine .vdh-mini-title{display:block;writing-mode:vertical-rl;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px;line-height:1.2;max-height:86px;min-height:0;flex:1}
.vdh-mini-number{font:10px/1 Georgia,serif;color:#756440}
@media(max-width:480px){.vdh-mini-book:nth-child(n+5){display:flex}}
