/* The real cover is always a complete image, including when WebGL is unavailable. */
.book-cover { display:block; max-width:100%; height:auto; object-fit:contain; border-radius:2px 6px 6px 2px; box-shadow:4px 7px 0 #263a2420,10px 18px 28px #2b312928; }
.book-intro { padding-top:36px; padding-bottom:30px; }
.book-intro h1 { margin-bottom:16px; }
.book-intro .fine { margin-top:16px; }
.book-top-shelf { margin-bottom:72px; }
.book-shelf-heading { text-align:center; margin-bottom:28px; }
.book-shelf-heading h2 { font-size:clamp(34px,3.4vw,48px); margin:8px 0 12px; }
.book-shelf { position:relative; isolation:isolate; border-radius:28px; overflow:hidden; background:#eee3cf; border:1px solid #e4d4bb; }
.book-shelf-surface { position:relative; height:clamp(350px,40vw,520px); }
.book-shelf-canvas { position:absolute; inset:0; width:100%; height:100%; opacity:0; }
[data-shelf-render="ready"] .book-shelf-canvas { opacity:1; }
.book-shelf-fallback { display:flex; align-items:center; justify-content:center; gap:7%; height:100%; padding:42px 8%; }
.book-shelf-fallback a { display:flex; flex-direction:column; gap:14px; align-items:center; width:24%; max-width:200px; font-size:13px; text-align:center; }
.book-shelf-fallback img { max-height:330px; width:auto; }
.book-shelf-fallback a:nth-child(1) { transform:rotate(-5deg); }
.book-shelf-fallback a:nth-child(3) { transform:rotate(5deg); }
/* Keep the original links in the accessibility tree. Keyboard focus reveals them. */
[data-shelf-render="ready"] .book-shelf-fallback { opacity:0; pointer-events:none; }
[data-shelf-render="ready"] .book-shelf-fallback:focus-within { opacity:1; pointer-events:auto; position:relative; z-index:2; background:#eee3cf; }
.book-shelf-links a:focus-visible { outline:3px solid #a4553b; outline-offset:3px; }
.book-shelf-links { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0 14px; }
.book-shelf-links a { display:grid; grid-template-columns:28px 1fr; gap:6px 8px; padding:18px; border:1px solid #ddd4c3; border-radius:18px; background:#fffaf1; }
.book-shelf-links a>span { grid-row:span 2; color:#a4553b; font-size:12px; padding-top:4px; }
.book-shelf-links strong { font:24px/1.2 Georgia,serif; }
.book-shelf-links small { font-size:12px; color:#536257; }
.book-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; align-items:start; }
.book-card { position:relative; display:block; padding:0; overflow:hidden; scroll-margin-top:24px; }
.book-card-visual { display:flex; justify-content:center; align-items:center; min-height:340px; padding:38px 28px; background:#e7eada; }
.book-card:nth-child(3n+2) .book-card-visual { background:#ead9c0; }
.book-card:nth-child(3n) .book-card-visual { background:#dce8e9; }
.book-card-visual .book-cover { width:auto; height:260px; max-width:85%; transform:rotate(-4deg); }
.book-card:nth-child(even) .book-card-visual .book-cover { transform:rotate(4deg); }
.book-card-copy { padding:28px; }
.book-card-copy h2 { font-size:34px; line-height:1.1; margin:12px 0; }
.book-card-copy>p { line-height:1.65; }
.book-card-featured { grid-column:1/-1; display:grid; grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr); background:#fffaf0; }
.book-card-featured .book-card-visual { height:100%; min-height:460px; background:#d9e4d1; }
.book-card-featured .book-cover { height:auto; max-height:440px; width:70%; max-width:310px; }
.book-card-featured .book-card-copy { padding:40px; }
.book-card .resource-button { margin:12px 0 22px; }
.book-anchor { position:absolute; top:0; scroll-margin-top:24px; }
.book-evidence { border-block:1px solid #e1daca; padding:12px 0; margin:18px 0; font-size:13px; }
.book-evidence summary { cursor:pointer; color:#3b6049; font-weight:600; line-height:1.5; }
.book-evidence p { padding-top:12px; line-height:1.6; }
.book-demand { font-size:13px; color:#47604d; margin:18px 0; }
.book-month-art { display:flex; align-items:center; justify-content:center; min-height:350px; padding:30px; background:#dce6d3; border-radius:24px; }
.book-month-art .book-cover { max-height:370px; width:auto; max-width:80%; transform:rotate(6deg); }
@media(max-width:700px) {
 .book-top-shelf { margin-bottom:48px; }
 .book-shelf-surface { height:350px; }
 .book-shelf-fallback { gap:6%; padding:64px 6% 30px; }
 .book-shelf-fallback a { width:27%; }
 .book-shelf-fallback img { max-height:190px; }
 .book-shelf-fallback span { font-size:11px; }
 .book-shelf-links { grid-template-columns:1fr; gap:8px; }
 .book-shelf-links a { padding:14px 18px; }
 .book-shelf-links strong { font-size:22px; }
 .book-grid { grid-template-columns:1fr; gap:24px; }
 .book-card-featured { display:block; }
 .book-card-featured .book-card-visual { min-height:350px; }
 .book-card-featured .book-cover { max-height:300px; width:auto; }
 .book-card-copy,.book-card-featured .book-card-copy { padding:24px; }
 .book-card-copy h2 { font-size:32px; }
 .book-month-art { min-height:310px; }
 .book-month-art .book-cover { max-height:300px; }
}
