/* Book titles form the temporary covers; user-supplied images can replace them. */
.is-books,.is-original{--blue:#215b43;--blue2:#174531;--paper:#f7f7f2;color:#273b30;background:var(--paper)}
.is-books .nav-link.active,.is-original .nav-link.active{color:#215b43;background:#eef3eb}
.book-shelf-page{max-width:1300px;margin:16px auto 0}
.book-shelf-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;padding:18px 0 26px}
.book-shelf-intro h1{font:600 clamp(28px,3.5vw,40px)/1.35 Georgia,"Songti SC",serif;margin:10px 0 12px;color:#233e2e}
.book-shelf-intro p{font-size:14px;color:#7b8279;margin-bottom:0;line-height:1.7}
.shelf-top-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.shelf-more{border:0;background:transparent;color:#215b43;min-height:44px;padding:8px 3px;font-size:13px;white-space:nowrap}
.shelf-more:hover{text-decoration:underline}
.shelf-jump{display:flex;gap:10px 24px;flex-wrap:wrap;border-top:1px solid #e1e5dc;border-bottom:1px solid #e1e5dc;padding:10px 0;margin-bottom:30px}
.shelf-jump a{color:#546454;text-decoration:none;font-size:13px;padding:9px 0;min-height:40px}
.shelf-jump a:hover{color:#215b43;text-decoration:underline}
.shelf-new-reader{padding:20px 24px;margin:0 0 36px;background:#eef2e9;border-radius:10px;color:#456048}
.shelf-new-reader strong{font-size:15px;font-weight:600}.shelf-new-reader p{font-size:13px;margin:7px 0 0;color:#7a8675}
.book-shelf-section{margin:0 0 48px;scroll-margin-top:100px}
.book-shelf-section>header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px}
.book-shelf-section h2{font-size:23px;color:#2b4232;letter-spacing:0;margin:0 0 6px}
.book-shelf-section header p{font-size:13px;color:#81887e;margin:0;line-height:1.6}
.book-shelf-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.book-shelf-grid[hidden]{display:none}
.shelf-book{border:1px solid #e1e5dc;background:#fff;border-radius:12px;padding:20px;display:flex;gap:18px;min-width:0;align-items:start}
.shelf-book-cover{width:100px;min-width:100px;aspect-ratio:2/3;padding:15px 12px;display:flex;flex-direction:column;justify-content:space-between;gap:10px;border-radius:3px 7px 7px 3px;box-shadow:3px 3px 0 #263a2814;border-left:5px solid #00000010;background:#dce5d8;color:#36523e;overflow:hidden}
.shelf-book-cover strong{font:600 20px/1.4 Georgia,"Songti SC",serif;overflow-wrap:anywhere}
.shelf-book-cover>span{font:11px/1.3 Georgia,serif;overflow-wrap:anywhere}
.shelf-book-cover .cover-author{font-size:9px}
.shelf-book-cover.tone-clay{background:#eddccd;color:#775643}.shelf-book-cover.tone-ochre{background:#eee7ca;color:#776640}.shelf-book-cover.tone-slate{background:#dbe3e4;color:#455e63}
.shelf-book-cover:has(img){padding:0;border:0;background:transparent}.shelf-book-cover img{display:block;width:100%;height:100%;object-fit:contain}
.shelf-book-info{flex:1;min-width:0;display:flex;flex-direction:column;align-self:stretch}
.shelf-book h3{font-size:18px;font-weight:650;line-height:1.45;margin:0 0 4px}
.shelf-german-title{font:14px/1.45 Georgia,serif;color:#657764;margin:0 0 8px;overflow-wrap:anywhere}
.shelf-author{font-size:11px;line-height:1.45;color:#8a9087;margin:0 0 14px}
.shelf-hook{font-size:13px;line-height:1.8;color:#647060;margin:0 0 14px}
.shelf-book-meta{display:flex;flex-wrap:wrap;gap:5px;color:#65775c;font-size:10px;line-height:1.5}
.shelf-book-meta span{background:#f1f4ed;padding:4px 6px;border-radius:4px}
.shelf-duration{font-size:11px;color:#92998d;margin:8px 0 18px;line-height:1.5}
.shelf-book-bottom{margin-top:auto}
.shelf-current{display:flex;justify-content:space-between;gap:8px;font-size:11px;line-height:1.5;color:#7c8775;margin:0 0 7px;overflow-wrap:anywhere}
.shelf-current span{flex:none;color:#215b43}
.shelf-progress{height:3px;border-radius:2px;background:#e6ebdf;overflow:hidden}.shelf-progress>span{display:block;height:100%;background:#66885a}
.shelf-read{display:flex;justify-content:space-between;align-items:center;min-height:44px;padding:8px 0;margin-top:5px;color:#215b43;font-size:13px;text-decoration:none;font-weight:600}.shelf-read:hover{text-decoration:underline}
.shelf-estimate-note{font-size:11px;color:#90968b;line-height:1.7;border-top:1px solid #e1e5dc;padding:20px 0 0}
.book-shelf-page :is(a,button):focus-visible,.original-reading-bar :is(a,button):focus-visible{outline:2px solid #215b43;outline-offset:4px;border-radius:4px}
.original-reader .original-reading-bar{top:76px;gap:18px;background:#f7f7f2;padding:12px 4px;min-height:92px;flex-wrap:nowrap}
.reader-back-shelf{flex:none;font-size:13px;color:#215b43;text-decoration:none;min-height:44px;display:flex;align-items:center}
.original-reading-identity{flex:1;min-width:0;display:grid;grid-template-columns:auto 1fr;gap:4px 14px}
.original-reading-identity strong{font-size:16px;font-weight:650;line-height:1.5;overflow-wrap:anywhere}
.original-reading-identity>span{font-size:11px;color:#808a79;align-self:center}
.original-reading-identity small{grid-column:1/-1;color:#6f7d64;font-size:12px;line-height:1.5}
.original-total-progress{width:90px;flex:none;font-size:11px;color:#64825a}.original-total-progress .shelf-progress{margin-top:9px}
.reader-catalog-toggle{min-height:44px;padding:8px 12px;background:#edf2e8;border:1px solid #dce5d5;border-radius:7px;color:#365a3c;font-size:13px;flex:none}
.original-reader .reader-layout{grid-template-columns:minmax(0,850px);justify-content:center;max-width:1190px;margin-top:24px}
.original-reader #original-chapter-catalog{display:none;grid-column:1;position:static;padding:18px 24px;border:1px solid #dce5d5;border-radius:10px;background:#f1f4ec}
.original-reader #original-chapter-catalog.is-open{display:block}
.original-reader #original-chapter-catalog>.reader-eyebrow,.original-reader #original-chapter-catalog>h1,.original-reader #original-chapter-catalog>.reader-blurb,.original-reader #original-chapter-catalog>.reader-count{display:none}
.original-reader #original-chapter-catalog>nav{display:none}
.original-reader #original-chapter-catalog .reader-mobile-catalog{display:block;margin:0}
.original-reader #original-chapter-catalog .reader-mobile-catalog>summary{display:none}
.original-reader .reader-prose>p,.original-reader .reader-section-heading{scroll-margin-top:190px}
@media(max-width:1100px){.book-shelf-grid{gap:14px}.shelf-book{padding:16px;gap:12px}.shelf-book-cover{width:76px;min-width:76px;padding:11px 8px}.shelf-book-cover strong{font-size:17px}.shelf-book h3{font-size:16px}.shelf-author{font-size:10px}}
@media(max-width:900px){.book-shelf-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.book-shelf-intro{align-items:start;flex-direction:column;gap:14px}.shelf-book-cover{width:90px;min-width:90px}.original-reading-identity{grid-template-columns:1fr;gap:2px}.original-reading-identity small{grid-column:1}.original-reading-identity strong{font-size:15px}}
@media(max-width:600px){.book-shelf-grid{grid-template-columns:1fr}.book-shelf-intro{padding-top:8px}.book-shelf-section{margin-bottom:32px}.book-shelf-section h2{font-size:20px}.shelf-book{padding:18px;gap:18px}.shelf-book-cover{width:98px;min-width:98px}.shelf-book h3{font-size:18px}.shelf-top-links{gap:20px}.shelf-jump{gap:2px 18px}.original-reader .original-reading-bar{top:61px;gap:9px;padding:8px 0}.reader-back-shelf{font-size:12px}.original-reading-identity strong{font-size:13px}.original-reading-identity>span{font-size:10px}.original-reading-identity small{font-size:11px}.original-total-progress{width:54px;font-size:10px}.reader-catalog-toggle{font-size:12px;padding:7px}.original-reader .reader-prose>p{scroll-margin-top:180px}}
@media(prefers-reduced-motion:reduce){.shelf-progress>span{transition:none}}
.shelf-book-cover .cover-author{display:none}.shelf-book-cover{width:90px;min-width:90px}.shelf-book-cover strong{font-size:16px;line-height:1.35}.shelf-book-cover>span[lang]{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}

.original-reader #original-chapter-catalog.is-open{position:fixed;top:var(--catalog-top,180px);left:50%;transform:translateX(-50%);width:min(850px,calc(100vw - 40px));max-height:calc(100dvh - var(--catalog-top,180px) - 90px);overflow:auto;z-index:11;box-shadow:0 12px 30px #283b2417}
