.library { padding-block: 34px 60px; }
.library-heading { max-width: 780px; padding-block: 0 38px; }
.back-link { display: inline-block; margin-bottom: 36px; font-size: .9rem; }
.library-heading h1 { font-size: clamp(2.5rem,5vw,4rem); margin-bottom: 12px; }
.library-subtitle { color: var(--accent); font-size: 1.5rem; margin-bottom: 20px; }
.library-heading p:not(.eyebrow), .book-heading p { color: #536159; }
.blog-jump { display: inline-block; padding-block: 8px; text-underline-offset: 4px; }
.book-list { display: grid; gap: 32px; }
.book { padding: 30px; background: var(--surface); border: 1px solid var(--line); border-radius: 22px; }
.book-heading { max-width: 850px; margin-bottom: 24px; }
.book-heading h2 { font-size: 2.1rem; line-height: 1.2; }
.book-heading h2 span { display: block; margin-top: 7px; white-space: normal; }
.book-editions { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; }
.edition { display: grid; grid-template-columns: minmax(100px,155px) minmax(0,1fr); gap: 20px; align-items: center; }
.cover-link { display: block; }
.cover-link img { display: block; width: 100%; height: auto; border-radius: 3px 9px 9px 3px; box-shadow: 4px 9px 20px rgba(39,49,43,.16); }
.edition-details h3 { margin-bottom: 4px; font-size: 1.15rem; }
.file-meta { color: var(--muted); font: 12px/1.6 Arial,sans-serif; margin-bottom: 14px; }
.edition .primary-button, .edition .share-button { width: 100%; padding: 10px 12px; font-size: 13px; min-height: 44px; }
.edition .share-button[hidden], .share-fallback[hidden] { display: none; }
.read-print { display: flex; align-items: center; justify-content: center; min-height: 48px; padding: 9px 0; font: 13px/1.5 Arial,sans-serif; text-align: center; text-underline-offset: 3px; }
.reading-help { padding: 28px 0 14px; max-width: 850px; }
.reading-help h2 { font-size: 1.5rem; }
.reading-help h2 span { white-space: normal; }
.reading-help p { font-size: .93rem; color: #536159; }
.blog-card { display: flex; align-items: center; justify-content: space-between; gap: 28px; padding: 32px; background: #e5eadd; border: 1px solid #cbd5c1; border-radius: 22px; scroll-margin-top: 125px; }
.blog-card h2 { font-size: 2rem; }
.blog-card p { max-width: 620px; margin-bottom: 12px; }
.blog-card .primary-button { flex-shrink: 0; font-size: 14px; }
.blog-domain { font: 12px/1.5 Arial,sans-serif; overflow-wrap: anywhere; color: #536159; }
.share-status:not(:empty) { position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 35; width: max-content; max-width: calc(100% - 24px); padding: 14px 22px; border-radius: 14px; background: #304b42; color: white; box-shadow: var(--shadow); text-align: center; }
.share-fallback { padding: 20px; margin-top: 20px; background: #e5eadd; border-radius: 12px; }
.share-fallback label { display: block; font-weight: bold; }
.share-fallback input { width: 100%; padding: 12px; font-size: 16px; border: 1px solid var(--line); border-radius: 7px; }
nav a[aria-current="page"] { text-decoration: underline; text-underline-offset: 5px; }
@media(max-width:1000px) { .book-editions { gap: 24px; } .edition { grid-template-columns: 115px minmax(0,1fr); gap: 14px; } .blog-card { flex-direction: column; align-items: flex-start; } }
@media(max-width:720px) { .book { padding: 22px 18px; } .book-editions { grid-template-columns: 1fr; } .edition { grid-template-columns: minmax(95px,130px) minmax(0,1fr); gap: 18px; } .edition + .edition { padding-top: 24px; border-top: 1px solid var(--line); } .book-heading h2 { font-size: 1.8rem; } .library { padding-top: 22px; } .back-link { margin-bottom: 24px; } .blog-card { padding: 24px; } }
@media(max-width:370px) { .edition { grid-template-columns: 95px minmax(0,1fr); gap: 12px; } .edition .primary-button, .edition .share-button { padding-inline: 8px; } }
@media print { .site-header, .back-link, .blog-jump, .share-button, .install-overlay, footer { display: none; } .book { break-inside: avoid; } .library { width:100%; } }
