:root{--color-background:#fff;--color-bookmark-primary:#c23b22;--color-bookmark-dark:#8b2912;--color-shelf-light:#d4a574;--color-shelf-mid:#b8885a;--color-shelf-dark:#a67849;--color-bracket:#9a9a9a;--color-bracket-light:#c5c5c5;--spacing-xs:8px;--spacing-sm:15px;--spacing-md:20px;--spacing-lg:40px;--spacing-xl:60px;--transition-fast:0.2s ease;--transition-normal:0.3s ease;--shadow-sm:0 2px 4px rgba(0,0,0,.2);--shadow-md:0 4px 8px rgba(0,0,0,.3);--shadow-lg:0 8px 16px rgba(0,0,0,.4)}.book-card{position:relative;cursor:pointer;transition:transform var(--transition-normal);z-index:2;display:flex;flex-direction:column;align-items:center}.book-card:hover{transform:translateY(-10px)}.view-button{display:inline-block;margin-top:10px;padding:6px 16px;background:linear-gradient(135deg,#8b5a2b,#6b4423);color:#fff;font-size:12px;font-weight:500;text-decoration:none;border-radius:4px;transition:all var(--transition-fast);box-shadow:0 2px 4px rgba(0,0,0,.2)}.view-button:hover{background:linear-gradient(135deg,#a0673a,#7d5029);transform:scale(1.05);box-shadow:0 3px 6px rgba(0,0,0,.3)}.book-cover{position:relative;width:140px;height:200px;border-radius:3px;overflow:hidden;box-shadow:var(--shadow-md),var(--shadow-sm),inset 0 1px 0 hsla(0,0%,100%,.1);transition:box-shadow var(--transition-normal)}@media (min-width:1600px){.book-cover{width:155px;height:220px}.book-info h3{font-size:15px}.bookmark-ribbon{width:32px;height:52px;right:16px}.bookmark-ribbon:after{border-left-width:16px;border-right-width:16px;border-bottom-width:12px}}@media (min-width:1400px) and (max-width:1599px){.book-cover{width:145px;height:210px}.bookmark-ribbon{width:30px;height:50px;right:15px}.bookmark-ribbon:after{border-left-width:15px;border-right-width:15px;border-bottom-width:11px}}.book-card:hover .book-cover{box-shadow:var(--shadow-lg),var(--shadow-md),inset 0 1px 0 hsla(0,0%,100%,.1)}.book-cover img{width:100%;height:100%;object-fit:cover;display:block}.bookmark-ribbon{position:absolute;top:0;right:var(--spacing-sm);width:30px;height:50px;background:linear-gradient(135deg,var(--color-bookmark-primary) 0,var(--color-bookmark-dark) 100%);z-index:3;box-shadow:var(--shadow-sm)}.bookmark-ribbon:after{content:"";position:absolute;bottom:0;left:0;width:0;height:0;border-left:15px solid var(--color-bookmark-dark);border-right:15px solid var(--color-bookmark-dark);border-bottom:12px solid transparent}.book-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(180deg,rgba(0,0,0,.5),rgba(0,0,0,.7));display:flex;flex-direction:column;justify-content:space-between;padding:var(--spacing-sm);opacity:0;animation:fadeIn var(--transition-normal) forwards;z-index:2}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.bookmark-button{align-self:flex-start;background:hsla(0,0%,100%,.9);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:20px;color:var(--color-bookmark-primary);transition:all var(--transition-fast);box-shadow:var(--shadow-sm)}.bookmark-button:hover{background:#fff;transform:scale(1.1);box-shadow:0 3px 6px rgba(0,0,0,.3)}.bookmark-button:active{transform:scale(.95)}.bookmark-button:disabled{opacity:.5;cursor:not-allowed}.book-info{text-align:left}.book-info h3{color:#fff;font-size:14px;font-weight:600;line-height:1.3;text-shadow:0 1px 2px rgba(0,0,0,.5);margin:0}.bookshelf{position:relative;padding:0 var(--spacing-xl);margin:0 auto var(--spacing-xl);width:100%;max-width:1600px}.books-container,.bookshelf{display:flex;align-items:flex-end;justify-content:center}.books-container{gap:25px;padding-bottom:var(--spacing-md);flex-wrap:nowrap}@media (min-width:1600px){.books-container{gap:30px}}.shelf{bottom:0;height:20px;background:linear-gradient(180deg,var(--color-shelf-light) 0,var(--color-shelf-mid) 50%,var(--color-shelf-dark) 100%);border-radius:2px;box-shadow:var(--shadow-sm),inset 0 1px 0 hsla(0,0%,100%,.3),0 8px 12px rgba(0,0,0,.15);z-index:1}.shelf,.shelf:before{position:absolute;left:0;right:0}.shelf:before{content:"";top:0;height:3px;background:linear-gradient(90deg,transparent,rgba(139,105,70,.3) 10%,rgba(139,105,70,.3) 90%,transparent)}.shelf-bracket{position:absolute;bottom:-5px;width:8px;height:80px;background:linear-gradient(90deg,var(--color-bracket) 0,var(--color-bracket-light) 50%,var(--color-bracket) 100%);border-radius:2px;z-index:0;box-shadow:2px 2px 4px rgba(0,0,0,.2),inset 1px 0 0 hsla(0,0%,100%,.2)}.left-bracket{left:40px;transform:skewY(-3deg)}.right-bracket{right:40px;transform:skewY(3deg)}@media (max-width:1200px){.book-cover{width:130px;height:195px}.bookmark-ribbon{width:28px;height:48px;right:13px}.bookmark-ribbon:after{border-left-width:14px;border-right-width:14px;border-bottom-width:11px}.book-info h3{font-size:13px}}@media (max-width:1024px){.book-cover{width:125px;height:185px}.bookmark-ribbon{width:27px;height:46px;right:12px}.bookmark-ribbon:after{border-left-width:13px;border-right-width:13px;border-bottom-width:10px}.book-info h3{font-size:12px}.bookshelf{padding:0 40px}.books-container{gap:15px}.left-bracket{left:20px}.right-bracket{right:20px}}@media (max-width:900px){.book-cover{width:115px;height:170px}.bookmark-ribbon{width:24px;height:42px;right:11px}.bookmark-ribbon:after{border-left-width:12px;border-right-width:12px;border-bottom-width:9px}.book-info h3{font-size:11px}.bookshelf{padding:0 30px}.books-container{gap:12px}}@media (max-width:768px){.book-cover{width:105px;height:155px}.bookmark-ribbon{width:22px;height:40px;right:10px}.bookmark-ribbon:after{border-left-width:11px;border-right-width:11px;border-bottom-width:8px}.book-overlay{padding:10px}.bookmark-button{width:32px;height:32px;font-size:18px}.book-info h3{font-size:10px}.view-button{padding:5px 12px;font-size:11px;margin-top:8px}.bookshelf{padding:0 15px}.books-container{gap:10px;padding-bottom:15px}.shelf{height:15px}.shelf-bracket{height:60px;width:6px}.left-bracket{left:8px}.right-bracket{right:8px}}@media (max-width:600px){.book-cover{width:95px;height:140px}.bookmark-ribbon{width:20px;height:36px;right:9px}.bookmark-ribbon:after{border-left-width:10px;border-right-width:10px;border-bottom-width:7px}.book-overlay{padding:8px}.bookmark-button{width:30px;height:30px;font-size:16px}.book-info h3{font-size:9px}.view-button{padding:4px 10px;font-size:10px;margin-top:6px}.bookshelf{padding:0 10px}.books-container{gap:8px}.shelf-bracket{height:50px;width:5px}.left-bracket{left:5px}.right-bracket{right:5px}}@media (max-width:480px){.book-cover{width:85px;height:125px}.bookmark-ribbon{width:18px;height:32px;right:8px}.bookmark-ribbon:after{border-left-width:9px;border-right-width:9px;border-bottom-width:6px}.book-info h3{font-size:8px}.bookmark-button{width:26px;height:26px;font-size:14px}.view-button{padding:3px 8px;font-size:9px;margin-top:5px}.bookshelf{padding:0 8px}.books-container{gap:6px}.shelf{height:12px}.shelf-bracket{height:40px;width:4px}}@media (prefers-color-scheme:dark){:root{--color-background:#1a1a1a}}@media (prefers-reduced-motion:reduce){.book-card,.book-overlay,.bookmark-button{transition:none;animation:none}.book-card:hover{transform:none}}.book-card a:focus{outline:2px solid var(--color-bookmark-primary);outline-offset:4px;border-radius:4px}.bookmark-button:focus-visible{outline:2px solid var(--color-bookmark-primary);outline-offset:2px}