/* Same shelf height for both trim sizes. All labels live outside the art file. */
[data-full-room] .library .book-grid{--cover-seat-height:clamp(144px,27svh,216px);gap:clamp(16px,2.3vw,30px);align-items:flex-end;padding:11px 18px 3px 4px}
[data-full-room] .library .book-card{display:block;flex:0 0 auto;width:calc(var(--cover-seat-height) * var(--ratio));min-width:0}
[data-full-room] .library .book-card .cover-button{width:100%;max-width:none;aspect-ratio:auto;overflow:visible;margin:0;position:relative}
.shelf-marks{position:absolute;z-index:1;top:9px;right:-17px;display:grid;gap:5px;justify-items:center;pointer-events:none}
.shelf-marks img,.shelf-marks b{display:grid;place-items:center;width:31px;height:31px;box-sizing:border-box;border-radius:50%;border:2px solid #fff7db;box-shadow:0 2px 4px #34251866}
.shelf-marks img{background:#f0dbac;object-fit:cover}
.shelf-marks b{background:#294b3c;color:#fff7dc;font:700 12px system-ui}
.topic-tab{position:absolute;bottom:7px;right:5px;padding:3px 8px;border-radius:10px 3px 10px 10px;background:#fff1cdeF;color:#304638;box-shadow:0 1px 4px #53361955;font:700 10px system-ui;pointer-events:none}
@media(max-width:699px){[data-full-room] .library .book-grid{--cover-seat-height:min(45vw,196px)}}
