.reader-shell { border-radius: 18px; overflow: hidden; border-color: rgba(212, 168, 67, .38); background: linear-gradient(145deg, #242424, #111); }
.reader-header { background: linear-gradient(90deg, #1d1d1d, #17130b); border-bottom-color: rgba(240, 198, 106, .16); }
.reader-header-actions .text-button, .reader-toolbar button { border-radius: 8px; transition: transform .18s ease, border-color .18s ease, background .18s ease; }
.reader-header-actions .text-button:hover, .reader-toolbar button:hover { transform: translateY(-1px); background: rgba(212, 168, 67, .11); }
.reader-stage { background: radial-gradient(circle at 50% 45%, #3a311d, #1d1d1d 46%, #111); }
.reader-stage iframe { transform: scale(.985); transform-origin: center; transition: opacity .28s ease, transform .34s cubic-bezier(.2,.8,.2,1); }
.reader-stage iframe.page-enter { transform: scale(1); }
.loading { gap: .7rem; font-weight: 800; letter-spacing: .02em; }
.loading::before { content: ''; width: 26px; height: 26px; border-radius: 50%; border: 2px solid rgba(240,198,106,.2); border-top-color: #f0c66a; animation: reader-spin .85s linear infinite; }
.reader-toolbar { background: linear-gradient(90deg, #151515, #1d1910); border-top-color: rgba(240, 198, 106, .16); }
.reader-toolbar input { border-radius: 8px; }
@keyframes reader-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .reader-stage iframe, .reader-header-actions .text-button, .reader-toolbar button { transition: none; } .loading::before { animation: none; } }
