.reader-cache-gated { display: none; }
.reader-fee { margin: var(--space-md) 0; padding: var(--space-md); border: 1px solid var(--color-rule); border-radius: var(--radius-card); color: var(--color-ink); background: var(--color-surface); }
.reader-fee-amount { margin: 0 0 var(--space-sm); font-size: 16px; font-weight: 600; line-height: 1.6; }
.reader-fee-description { margin: 0; color: var(--color-muted); font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
#readerFeeRetry { margin-top: var(--space-sm); min-height: 44px; }
#readerFeeRetry[hidden] { display: none; }
.toc-selection-feedback { display: block; width: 100%; min-width: 0; padding: var(--space-md); margin: var(--space-sm) 0; border: 1px solid var(--color-rule); border-radius: var(--radius-card); background: var(--color-surface); color: var(--color-ink); overflow-wrap: anywhere; scroll-margin-block: 100px; }
.toc-selection-title { margin: 0; font-weight: 600; }
.toc-selection-feedback .form-status { white-space: normal; margin: var(--space-sm) 0; }
.toc-selection-feedback button { min-height: 44px; max-width: 100%; white-space: normal; }
.toc-selection-feedback [hidden] { display: none; }
.reader-offer-policy { color: var(--color-muted); font-size: 14px; line-height: 1.8; overflow-wrap: anywhere; }
.reader-bottom-nav { display: grid; grid-template-columns: minmax(0, 1fr) minmax(140px, 1fr) minmax(0, 1fr); align-items: center; gap: var(--space-md); max-width: 900px; margin: var(--space-xl) auto; padding: var(--space-md) 0; text-align: center; }
.reader-bottom-nav[hidden] { display: none; }
.reader-end-center { min-width: 0; }
.reader-end-divider { display: flex; align-items: center; justify-content: center; gap: var(--space-sm); color: var(--color-muted); margin: 0; white-space: nowrap; font-size: 14px; }
.reader-end-divider::before, .reader-end-divider::after { content: ''; flex: 1; max-width: 40px; height: 1px; background: var(--color-rule); }
.reader-bottom-nav a, .reader-bottom-nav button { display: flex; align-items: center; justify-content: center; min-height: 48px; min-width: 0; padding: var(--space-sm) var(--space-md); border-radius: var(--radius-card); text-decoration: none; overflow-wrap: anywhere; white-space: normal; }
.reader-prev-slot > * { width: 100%; }
#readerBottomToc { padding: 0; font-size: 14px; color: var(--color-muted); }
#readerBottomPrev { background: transparent; color: var(--color-ink); border: 1px solid var(--color-rule); }
#readerBottomNext { background: var(--color-ink); color: var(--color-surface); border: 1px solid var(--color-ink); }
.reader-bottom-nav button:disabled { opacity: .55; cursor: wait; }
#readerBottomStatus { grid-column: 1 / -1; margin: 0; overflow-wrap: anywhere; }
.reader-last-note { font-size: 14px; margin: 0; overflow-wrap: anywhere; }
.reader-bottom-nav :focus-visible { outline: 3px solid var(--color-ink); outline-offset: 4px; }
@media (max-width: 540px) { .reader-bottom-nav { grid-template-columns: minmax(0, 1fr) minmax(84px, .9fr) minmax(0, 1fr); gap: 6px; } .reader-bottom-nav a, .reader-bottom-nav button { padding-inline: 5px; font-size: 14px; } .reader-end-divider { gap: 5px; font-size: 13px; } #readerBottomToc { font-size: 13px; } }
