/* Reader-facing journeys; no protected EPUB styling is overridden. */
.reader-services-page { background:#121411; color:#eee7db; }
.reader-services { width:min(1120px,calc(100% - 40px)); margin:0 auto; padding:150px 0 72px; }
.reader-services *, .rs-account * { box-sizing:border-box; }
.reader-services h1 { font-size:clamp(2.2rem,6vw,4rem); line-height:1.12; letter-spacing:-.035em; margin:18px 0; }
.reader-services h2,.rs-account h2 { font-size:clamp(1.4rem,3vw,2rem); line-height:1.25; }
.reader-services h3 { font-size:1.3rem; }
.reader-services p,.rs-account p { line-height:1.7; }
.rs-intro { max-width:850px; margin-bottom:48px; }
.rs-kicker { color:#d4b17c; font:700 .73rem/1.5 Arial,sans-serif; letter-spacing:.18em; }
.rs-note { font: .9rem/1.65 Arial,sans-serif; color:#c5beb1; }
.rs-actions { display:flex; flex-wrap:wrap; gap:12px; align-items:center; margin:20px 0; }
.rs-button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:11px 16px; border:1px solid #70634c; border-radius:7px; background:#20241e; color:#f5ebdc; font:600 .9rem/1.45 Arial,sans-serif; text-decoration:none; text-align:center; cursor:pointer; white-space:normal; overflow-wrap:anywhere; }
.rs-button:hover { background:#30362a; }
.rs-button[aria-pressed=true],.rs-primary { background:#d6b888; color:#181b15; border-color:#d6b888; }
.rs-button:disabled { opacity:.6; cursor:wait; }
.reader-services :focus-visible,.rs-account :focus-visible { outline:3px solid #e9c893; outline-offset:4px; }
.rs-panel,.rs-book { padding:26px; border:1px solid #514a3b; border-radius:14px; background:#1b2019; margin-bottom:24px; min-width:0; }
.rs-panel h2:first-child { margin-top:0; }
.rs-panel a:not(.rs-button),.rs-intro a { color:#e4c692; text-underline-offset:4px; }
.rs-book-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.rs-book { display:flex; flex-direction:column; margin:0; }
.rs-book .rs-actions { margin-top:auto; padding-top:15px; }
.rs-book p { margin:8px 0; }
.rs-book h3 { margin:16px 0 4px; }
.rs-cover { height:240px; width:100%; object-fit:contain; background:#11140f; border-radius:8px; }
.rs-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; align-items:end; }
.reader-services label { display:grid; gap:9px; font: .95rem/1.5 Arial,sans-serif; }
.reader-services input:not([type=hidden]):not([type=checkbox]),.reader-services select { min-height:46px; padding:10px 12px; width:100%; min-width:0; border:1px solid #746b5c; border-radius:6px; background:#171c15; color:#f4eadc; font:16px/1.5 Arial,sans-serif; }
.reader-services .rs-check { display:flex; align-items:flex-start; gap:12px; margin:22px 0; }
.rs-check input { width:22px; height:22px; flex-shrink:0; margin-top:2px; accent-color:#d6b888; }
.reader-services [hidden],.rs-account [hidden] { display:none!important; }
.rs-sample { --sample-bg:#f5f0e6; --sample-ink:#30271f; --sample-size:20px; --sample-font:Georgia,serif; background:var(--sample-bg); color:var(--sample-ink); padding:clamp(24px,6vw,70px); border-radius:12px; line-height:1.85; overflow-wrap:break-word; }
.rs-sample[data-theme=day] { --sample-bg:#fff; --sample-ink:#222; color-scheme:light; }
.rs-sample[data-theme=parchment] { color-scheme:light; }
.rs-sample[data-theme=night] { --sample-bg:#201c1a; --sample-ink:#e8ded2; color-scheme:dark; }
.rs-sample h2 { color:inherit; }
.rs-sample p { font-family:var(--sample-font); font-size:var(--sample-size); line-height:1.85; max-width:66ch; margin:1.4em auto; color:inherit; }
.rs-account { margin:24px 0; color:#eee7db; }
.rs-account-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.rs-account ul { padding-left:22px; }
.rs-account li { margin:12px 0; line-height:1.6; }
.rs-account a { color:#e6c89a; }
.rs-account .rs-button { color:#f5ebdc; }
.rs-account progress { width:100%; accent-color:#d6b888; }
@media(max-width:850px) { .rs-book-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .rs-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:540px) { .reader-services { width:calc(100% - 32px); padding-top:120px; } .rs-book-grid,.rs-account-grid { grid-template-columns:1fr; } .rs-panel,.rs-book { padding:22px; } .rs-filters { grid-template-columns:1fr; } .rs-cover { height:260px; } .rs-actions>* { max-width:100%; } }
@media(prefers-reduced-motion:reduce) { .reader-services *, .rs-account * { scroll-behavior:auto!important; } }
/* Apply reading settings immediately; inherited decorative transitions must not delay prose. */
.rs-sample,.rs-sample p { transition:none!important; }
