.rfbm-book{max-width:min(100%,900px);margin:1.5rem auto;background:#f5f3ef;padding:clamp(12px,3vw,24px);border-radius:12px;box-shadow:0 8px 28px #0002;color:#222}.rfbm-pages{position:relative;max-width:700px;margin:auto}.rfbm-page{position:relative;aspect-ratio:var(--rfbm-ratio);overflow:auto;background:#fff;box-shadow:0 2px 12px #0002}.rfbm-page[hidden],.rfbm-thumbs[hidden]{display:none!important}.rfbm-page>img{width:100%;height:100%;object-fit:contain;display:block}.rfbm-page-content{position:absolute;inset:0;padding:5%;overflow:auto}.rfbm-double .rfbm-page-content{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.rfbm-controls{display:flex;justify-content:center;align-items:center;gap:8px;margin:16px 0 0}.rfbm-controls button{font-size:24px;min-width:44px;min-height:44px;cursor:pointer;border:1px solid #aaa;border-radius:8px;background:#fff;color:#222}.rfbm-controls button:hover,.rfbm-controls button:focus-visible{background:#e6e6e6}.rfbm-counter{min-width:80px;text-align:center}.rfbm-download{text-align:center;margin:12px 0 0}.rfbm-download a{display:inline-block;background:#1f4f81;color:#fff!important;text-decoration:none;padding:10px 24px;border-radius:6px;font-weight:600}.rfbm-download a:hover,.rfbm-download a:focus-visible{background:#173a5e}.rfbm-thumbs{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:10px;margin-top:16px;max-height:280px;overflow:auto}.rfbm-thumbs button{cursor:pointer;background:#fff;border:1px solid #aaa;padding:4px}.rfbm-thumbs img{width:100%;height:100px;object-fit:contain}.rfbm-shelf{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:20px}.rfbm-shelf details{grid-column:auto;min-width:0}.rfbm-shelf details[open]{grid-column:1/-1}.rfbm-shelf summary,.rfbm-popup summary{cursor:pointer}.rfbm-shelf summary img{display:block;width:100%;max-width:180px;aspect-ratio:3/4;object-fit:cover}.rfbm-shelf summary span{display:block;font-weight:600;margin-top:6px}.rfbm-columns{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.rfbm-book:fullscreen{max-width:none;overflow:auto}.rfbm-book:fullscreen .rfbm-pages{max-height:75vh}.rfbm-book:fullscreen .rfbm-page{max-height:75vh}@media(max-width:600px){.rfbm-book{padding:10px}.rfbm-columns{grid-template-columns:1fr}.rfbm-controls{flex-wrap:wrap}}
