.book-nav{--book-nav-bg:rgba(250, 250, 249, 0.72);--book-nav-fade:rgba(250, 250, 249, 0.9);position:relative;z-index:10;background:var(--book-nav-bg);backdrop-filter:blur(16px)saturate(1.4);-webkit-backdrop-filter:blur(16px)saturate(1.4);border:1px solid rgba(0,0,0,7%);border-radius:999px;padding:.4rem;margin-bottom:2rem;box-shadow:0 10px 30px -14px rgba(0,0,0,.18),0 1px 2px rgba(0,0,0,4%)}.book-nav.is-pinned{position:fixed;top:var(--book-header-offset,90px);border-radius:0;border-width:0 0 1px;margin-bottom:0;box-shadow:0 4px 16px rgba(0,0,0,.1)}.book-nav::before,.book-nav::after{content:"";position:absolute;top:1px;bottom:1px;width:2rem;z-index:1;pointer-events:none}.book-nav::before{left:1px;background:linear-gradient(to right,var(--book-nav-fade),transparent)}.book-nav::after{right:1px;background:linear-gradient(to left,var(--book-nav-fade),transparent)}.book-nav-spacer{display:none}.book-nav-spacer.is-active{display:block}.book-nav-list{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:.5rem;list-style:none;margin:0;padding:0 .25rem;-ms-overflow-style:none;scrollbar-width:none}.book-nav-list::-webkit-scrollbar{display:none}.book-nav-list .book-nav-item::before{content:none;display:none}.book-nav-item{flex:none}.book-nav-link{display:inline-flex;align-items:center;white-space:nowrap;color:#5b6169;text-decoration:none;font-size:.85rem;font-weight:500;padding:.45rem 1rem;border-radius:999px;border:1px solid rgba(0,0,0,9%);background:0 0;transition:background-color .2s ease-in-out,color .2s ease-in-out,border-color .2s ease-in-out,box-shadow .2s ease-in-out}@media(max-width:991.98px){.book-nav-link{min-height:40px}}.book-nav-link:hover{border-color:#478079;color:#478079}.book-nav-link.active{background:#478079;color:#fff;border-color:#478079;box-shadow:0 4px 10px -3px rgba(71,128,121,.55)}.book-nav-link:focus-visible{outline:2px solid #478079;outline-offset:2px}.book-category{margin-top:1rem;padding-bottom:.5rem;border-bottom:2px solid #eee;scroll-margin-top:calc(var(--book-header-offset,90px) + 4.5rem)}.book-category-anchor{color:inherit;text-decoration:none}.book-category-anchor:hover{text-decoration:none}.book-category-anchor:hover .icon{opacity:1}.book-category-anchor .icon{opacity:.3;font-size:.8em;transition:opacity .2s ease-in-out}.book-item{display:flex;overflow:visible}.book-grid{overflow:visible}.book-card{position:relative;display:flex;flex-direction:column;width:100%;transition:z-index 0s .2s}.book-card--featured .book-cover-frame{box-shadow:0 0 0 3px #478079,0 6px 16px rgba(0,0,0,.18)}.book-card:hover,.book-card:has(.book-card-link:focus-visible){z-index:20;transition:z-index 0s}.goodreads-link .goodreads-search{margin-left:0}.book-badge{position:absolute;top:.4rem;left:.4rem;z-index:2;background:#478079;color:#fff;font-size:.65rem;font-weight:600;line-height:1;padding:.3rem .5rem;border-radius:999px;box-shadow:0 1px 4px rgba(0,0,0,.25);pointer-events:none}.book-card-link{position:relative;display:flex;flex-direction:column;width:100%;color:inherit;text-decoration:none;border-radius:6px}.book-card-link:hover,.book-card-link:focus{color:inherit;text-decoration:none}.book-card-link:focus-visible{outline:2px solid #478079;outline-offset:2px}.book-cover-frame{position:relative;display:block;width:100%;aspect-ratio:2/3;background:#e9ecef;border-radius:6px;overflow:visible;box-shadow:0 10px 16px -8px rgba(0,0,0,.35);transition:transform .25s cubic-bezier(.22,1,.36,1),box-shadow .25s ease-in-out;perspective:1200px;transform-origin:left center}.book-card:hover .book-cover-frame,.book-card-link:focus-visible .book-cover-frame{transform:translateY(-8px)scale(1.2);box-shadow:0 28px 44px -14px rgba(0,0,0,.48)}.book-cover{width:100%;height:100%;object-fit:cover;display:block}.book-3d{--book-thickness:22px;position:absolute;inset:0;z-index:1;transform-style:preserve-3d;transform:rotateY(25deg);transition:transform .6s cubic-bezier(.22,1,.36,1);will-change:transform}.book-3d-cover{position:absolute;inset:0;transform-style:preserve-3d;transform-origin:left center;transform:rotateY(0);transition:transform .6s cubic-bezier(.22,1,.36,1);will-change:transform}.book-3d-cover-face{position:absolute;inset:0;overflow:hidden;border-radius:3px;background:#e9ecef;box-shadow:inset 0 0 0 1px rgba(0,0,0,8%);backface-visibility:hidden}.book-3d-cover-face::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--sheen-x,50%) var(--sheen-y,15%),rgba(255,255,255,.55),rgba(255,255,255,0) 45%);opacity:0;mix-blend-mode:overlay;transition:opacity .3s ease-in-out;pointer-events:none}.book-3d-cover-back{position:absolute;inset:0;border-radius:3px;transform:rotateY(180deg);backface-visibility:hidden;background:linear-gradient(135deg,#f2ecdc 0%,#e6ddc4 100%);box-shadow:inset 0 0 14px rgba(0,0,0,.18),inset 0 0 0 1px rgba(0,0,0,6%)}.book-3d-page{position:absolute;inset:0;transform:translateZ(-1px);border-radius:3px;background:#f8f5ec;box-shadow:inset 6px 0 10px -6px rgba(0,0,0,.3);overflow:hidden;display:flex;flex-direction:column;padding:.7rem .65rem;opacity:0;pointer-events:none;transition:opacity .35s ease-in-out .15s}.book-card--featured .book-3d-page{background:#f6ecd2}.goodreads-link,.book-badge{transition:opacity .2s ease-in-out}.book-card:hover .goodreads-link,.book-card:has(.book-card-link:focus-visible) .goodreads-link,.book-card:hover .book-badge,.book-card:has(.book-card-link:focus-visible) .book-badge{opacity:0}.book-3d-page-text{font-family:Georgia,times new roman,serif;font-size:.72rem;line-height:1.35;color:#33302a;overflow:hidden;display:-webkit-box;-webkit-line-clamp:11;-webkit-box-orient:vertical}.book-3d-page-cta{margin-top:auto;padding-top:.4rem;font-size:.68rem;font-weight:600;color:#478079}@media(hover:hover) and (pointer:fine){.book-card:hover .book-3d,.book-card-link:focus-visible .book-3d,.book-single-cover-frame:hover .book-3d,.book-single-cover-frame:focus-within .book-3d{transform:rotateY(6deg)}.book-card:hover .book-3d-cover,.book-card-link:focus-visible .book-3d-cover,.book-single-cover-frame:hover .book-3d-cover,.book-single-cover-frame:focus-within .book-3d-cover{transform:rotateY(-150deg)}.book-card:hover .book-3d-cover-face::after,.book-card-link:focus-visible .book-3d-cover-face::after,.book-single-cover-frame:hover .book-3d-cover-face::after,.book-single-cover-frame:focus-within .book-3d-cover-face::after{opacity:1}.book-card:hover .book-3d-page,.book-card-link:focus-visible .book-3d-page,.book-single-cover-frame:hover .book-3d-page,.book-single-cover-frame:focus-within .book-3d-page{opacity:1}}.book-3d-spine,.book-3d-pages{position:absolute;top:0;bottom:0;width:var(--book-thickness)}.book-3d-spine{left:0;transform-origin:left center;transform:rotateY(-90deg);border-radius:3px 0 0 3px;background:linear-gradient(100deg,var(--spine-c1,#3d3d3d) 0%,var(--spine-c2,#1c1c1c) 100%)}.book-3d-pages{right:0;transform-origin:right center;transform:rotateY(90deg);border-radius:0 3px 3px 0;background:repeating-linear-gradient(to bottom,#f6f2e9,#f6f2e9 2px,#e4dfd0 2px,#e4dfd0 3px)}@media(hover:none),(pointer:coarse){.book-3d-cover::after{display:none}}@media(prefers-reduced-motion:reduce){.book-3d,.book-3d-cover{transform:rotateY(0)!important;transition:none!important}.book-3d-spine,.book-3d-pages{display:none}.book-3d-cover-face::after{display:none}.book-3d-page{opacity:0!important;transition:none!important}.book-cover-frame,.book-single-cover-frame{transition:none!important}}.book-meta-text{min-width:0;margin-top:.5rem}.book-title{font-size:.95rem;line-height:1.3;margin-bottom:.2rem;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.book-author{font-size:.82rem;color:#6c757d;margin-bottom:0;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.book-year{display:block;font-size:.78rem;color:#6c757d;margin-top:.1rem}.goodreads-link{position:absolute;top:.4rem;right:.4rem;z-index:3;display:flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;background:rgba(255,255,255,.9);border-radius:50%;opacity:.85;box-shadow:0 1px 4px rgba(0,0,0,.25);transition:opacity .2s ease-in-out,background-color .2s ease-in-out}.goodreads-link:hover,.goodreads-link:focus-visible{opacity:1;background:#fff}.goodreads-link:focus-visible{outline:2px solid #478079;outline-offset:2px}.book-related-heading{margin-top:2rem;font-size:1.2rem}@media(max-width:420px){#books .container-fluid.px-4{padding-left:.75rem!important;padding-right:.75rem!important}#books .book-categories{padding-left:.5rem;padding-right:.5rem}.book-grid{--bs-gutter-x:0.75rem}}.book-detail-modal .modal-title{font-size:1.15rem}.book-detail-modal .modal-body{padding-top:.5rem}.book-detail-cover{text-align:center;margin-bottom:1rem}.book-detail-cover-img{width:100%;max-width:200px;aspect-ratio:2/3;object-fit:cover;border-radius:6px;box-shadow:0 6px 16px rgba(0,0,0,.2)}.book-detail-authors{text-align:center;color:#6c757d;margin-bottom:1.25rem}.book-detail-year{display:block;text-align:center;color:#6c757d;font-size:.85rem;margin-top:-.75rem;margin-bottom:1.25rem}.book-detail-content{margin-bottom:1.5rem;line-height:1.55}.book-detail-content p:last-child{margin-bottom:0}.book-detail-links{display:flex;flex-wrap:wrap;gap:.75rem;padding-top:.75rem;border-top:1px solid #eee}.book-detail-goodreads,.book-detail-permalink{position:static;display:inline-flex;align-items:center;gap:.4rem;width:auto;height:auto;padding:.4rem .9rem;border-radius:999px;background:rgba(71,128,121,.1);color:#478079;font-size:.85rem;font-weight:600;text-decoration:none;box-shadow:none;opacity:1}.book-detail-goodreads:hover,.book-detail-goodreads:focus-visible,.book-detail-permalink:hover,.book-detail-permalink:focus-visible{background:#478079;color:#fff;opacity:1}.book-single-back{margin-bottom:1rem}.book-single-back a{color:#6c757d;text-decoration:none}.book-single-back a:hover{color:#478079;text-decoration:underline}.book-single-cover-frame{position:relative;max-width:280px;margin:0 auto;aspect-ratio:2/3;perspective:1600px;box-shadow:0 16px 28px -10px rgba(0,0,0,.3);border-radius:8px}.book-single-cover-frame .book-3d{--book-thickness:30px}.book-single-cover-frame .book-3d-cover-face,.book-single-cover-frame .book-3d-cover-back,.book-single-cover-frame .book-3d-page{border-radius:6px}.book-single-cover-frame .book-3d-spine{border-radius:6px 0 0 6px}.book-single-cover-frame .book-3d-pages{border-radius:0 6px 6px 0}.book-single-cover-frame .book-3d-page-text{font-size:.85rem;-webkit-line-clamp:13}.book-single-cover{width:100%;height:100%;object-fit:cover;display:block}.book-single-title{margin-bottom:.25rem}.book-single-authors{color:#6c757d;font-size:1.05rem;margin-bottom:1rem}.book-single-year{display:block;color:#6c757d;font-size:.95rem;margin-bottom:1rem}.book-single-categories{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.book-single-category{display:inline-block;font-size:.8rem;padding:.3rem .8rem;border-radius:999px;background:rgba(71,128,121,.1);color:#478079;text-decoration:none}.book-single-category:hover{background:#478079;color:#fff}.book-single-goodreads{position:static;display:inline-flex;align-items:center;gap:.4rem;width:auto;height:auto;padding:.5rem 1rem;border-radius:999px;background:#478079;color:#fff;font-weight:600;font-size:.9rem;text-decoration:none;box-shadow:none;opacity:1;margin-bottom:1.5rem}a.book-single-goodreads:hover,a.book-single-goodreads:focus-visible{background:#386660;color:#fff;opacity:1}a.book-detail-goodreads:hover,a.book-detail-goodreads:focus-visible{background:#478079;color:#fff;opacity:1}.book-single-content{line-height:1.65}.book-single-content p:last-child{margin-bottom:0}.book-pager{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #eee}@media(max-width:767.98px){.book-pager{grid-template-columns:1fr}}.book-pager-card{display:flex;align-items:center;gap:.9rem;padding:1rem;border-radius:10px;background:#fff;border:1px solid rgba(0,0,0,8%);color:inherit;text-decoration:none;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.book-pager-card:hover,.book-pager-card:focus-visible{border-color:#478079;box-shadow:0 10px 24px -12px rgba(0,0,0,.3);color:inherit;text-decoration:none}.book-pager-card:focus-visible{outline:2px solid #478079;outline-offset:2px}.book-pager-card--next{grid-column:2;flex-direction:row-reverse;text-align:right}@media(max-width:767.98px){.book-pager-card--next{grid-column:1}}.book-pager-card--prev{grid-column:1}.book-pager-cover{flex:none;display:block;width:56px;aspect-ratio:2/3;border-radius:4px;overflow:hidden;background:#e9ecef;box-shadow:0 4px 10px -4px rgba(0,0,0,.3)}.book-pager-cover img{width:100%;height:100%;object-fit:cover;display:block}.book-pager-text{min-width:0}.book-pager-label{display:block;font-size:.72rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:#478079;margin-bottom:.15rem}.book-pager-title{display:-webkit-box;font-size:.95rem;font-weight:600;line-height:1.3;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.book-pager-author{display:block;font-size:.8rem;color:#6c757d;margin-top:.1rem}.book-pager-arrow{flex:none;font-size:1.2rem;color:#478079;opacity:.6}.book-scrollnav-overlay{position:fixed;left:0;right:0;z-index:1050;pointer-events:none;transition:transform .28s cubic-bezier(.22,1,.36,1)}.book-scrollnav-overlay.is-tracking{transition:none}.book-scrollnav-overlay .book-pager-card{border:none;box-shadow:0 -12px 32px rgba(0,0,0,.22)}.book-scrollnav-overlay--next{bottom:0;transform:translateY(100%)}.book-scrollnav-overlay--next .book-pager-card{border-radius:12px 12px 0 0}.book-scrollnav-overlay--prev{top:0;transform:translateY(-100%)}.book-scrollnav-overlay--prev .book-pager-card{border-radius:0 0 12px 12px;box-shadow:0 12px 32px rgba(0,0,0,.22)}@media(prefers-reduced-motion:reduce){.book-scrollnav-overlay{display:none}}[data-bs-theme=dark] .book-nav{--book-nav-bg:rgba(30, 30, 30, 0.65);--book-nav-fade:rgba(30, 30, 30, 0.88);border-color:rgba(255,255,255,8%);box-shadow:0 10px 30px -14px rgba(0,0,0,.5),0 1px 2px rgba(0,0,0,.2)}[data-bs-theme=dark] .book-nav.is-pinned{box-shadow:0 4px 16px rgba(0,0,0,.45)}[data-bs-theme=dark] .book-nav-link{color:rgba(255,255,255,.75);border-color:rgba(255,255,255,.12);background:rgba(255,255,255,4%)}[data-bs-theme=dark] .book-nav-link:hover{border-color:#478079;color:#fff}[data-bs-theme=dark] .book-nav-link.active{background:#478079;color:#fff;border-color:#478079;box-shadow:0 4px 10px -3px rgba(0,0,0,.5)}[data-bs-theme=dark] .book-category{border-bottom-color:rgba(255,255,255,.1)}[data-bs-theme=dark] .book-category-anchor{color:#fff}[data-bs-theme=dark] .book-cover-frame,[data-bs-theme=dark] .book-single-cover-frame{background:#2c2c2c;box-shadow:0 12px 22px -8px rgba(0,0,0,.6)}[data-bs-theme=dark] .book-card:hover .book-cover-frame,[data-bs-theme=dark] .book-card-link:focus-visible .book-cover-frame{box-shadow:0 32px 50px -14px rgba(0,0,0,.75)}[data-bs-theme=dark] .book-3d-cover-face{background:#2c2c2c}[data-bs-theme=dark] .book-3d-cover-face::after{background:radial-gradient(circle at var(--sheen-x,50%) var(--sheen-y,15%),rgba(255,255,255,.32),rgba(255,255,255,0) 45%)}[data-bs-theme=dark] .book-3d-cover-back{background:linear-gradient(135deg,#3a362c 0%,#26231c 100%);box-shadow:inset 0 0 14px rgba(0,0,0,.4),inset 0 0 0 1px rgba(255,255,255,5%)}[data-bs-theme=dark] .book-3d-page{background:#23211b;box-shadow:inset 6px 0 10px -6px rgba(0,0,0,.6)}[data-bs-theme=dark] .book-card--featured .book-3d-page{background:#2e2a1c}[data-bs-theme=dark] .book-3d-page-text{color:rgba(255,255,255,.82)}[data-bs-theme=dark] .book-3d-pages{background:repeating-linear-gradient(to bottom,#3c392f,#3c392f 2px,#2b2920 2px,#2b2920 3px)}[data-bs-theme=dark] .book-title{color:#fff}[data-bs-theme=dark] .book-author{color:rgba(255,255,255,.7)}[data-bs-theme=dark] .goodreads-link{background:rgba(36,36,36,.85)}[data-bs-theme=dark] .goodreads-link:hover,[data-bs-theme=dark] .goodreads-link:focus-visible{background:#333}[data-bs-theme=dark] .book-detail-authors,[data-bs-theme=dark] .book-detail-year,[data-bs-theme=dark] .book-single-authors,[data-bs-theme=dark] .book-single-back a{color:rgba(255,255,255,.7)}[data-bs-theme=dark] .book-detail-links{border-top-color:rgba(255,255,255,.1)}[data-bs-theme=dark] .book-detail-goodreads,[data-bs-theme=dark] .book-detail-permalink,[data-bs-theme=dark] .book-single-category{background:rgba(71,128,121,.25);color:#fff}[data-bs-theme=dark] .book-detail-goodreads:hover,[data-bs-theme=dark] .book-detail-goodreads:focus-visible,[data-bs-theme=dark] .book-detail-permalink:hover,[data-bs-theme=dark] .book-detail-permalink:focus-visible,[data-bs-theme=dark] .book-single-category:hover,[data-bs-theme=dark] .book-single-category:focus-visible{background:#478079;color:#fff}[data-bs-theme=dark] .book-pager{border-top-color:rgba(255,255,255,.1)}[data-bs-theme=dark] .book-pager-card{background:#1e1e1e;border-color:rgba(255,255,255,.1)}[data-bs-theme=dark] .book-pager-author{color:rgba(255,255,255,.7)}