
:root{--reader-bg:#f3ead7;--reader-paper:#fffaf0;--reader-ink:#2c2119;--reader-muted:#756656;--reader-rule:#d6c5a4;--reader-accent:#b58b43;--reader-panel:#f7efdf;--reader-shadow:0 18px 55px rgba(55,35,19,.14);--reader-font:Georgia,"Times New Roman",serif;--reader-size:19px;--reader-line:1.8;--reader-width:720px}
html[data-reader-theme="paper"]{--reader-bg:#f3ead7;--reader-paper:#fffaf0;--reader-ink:#2c2119;--reader-muted:#756656;--reader-rule:#d6c5a4;--reader-panel:#f7efdf}
html[data-reader-theme="sepia"]{--reader-bg:#d7c2a0;--reader-paper:#ead8b8;--reader-ink:#33261c;--reader-muted:#6f5a46;--reader-rule:#b99766;--reader-panel:#e1cca9}
html[data-reader-theme="night"]{--reader-bg:#15130f;--reader-paper:#1d1a15;--reader-ink:#e7dcc7;--reader-muted:#b9a98f;--reader-rule:#4f4536;--reader-panel:#262119;--reader-accent:#d1a95f;--reader-shadow:0 18px 55px rgba(0,0,0,.34)}
*{box-sizing:border-box}html{scroll-behavior:smooth;background:var(--reader-bg)}body.reader-page{margin:0;background:var(--reader-bg);color:var(--reader-ink);font-family:var(--reader-font);transition:background .25s,color .25s}.reader-page button,.reader-page a{font:inherit}.reader-page a{color:inherit}
.reader-progress-line{position:fixed;z-index:90;left:0;right:0;top:0;height:3px;background:rgba(181,139,67,.18)}.reader-progress-line span{display:block;height:100%;width:0;background:var(--reader-accent);transition:width .15s linear}
.reader-topbar{position:sticky;top:0;z-index:80;display:grid;grid-template-columns:minmax(44px,auto) minmax(0,1fr) auto;align-items:center;gap:12px;min-height:62px;padding:8px clamp(12px,3vw,28px);background:color-mix(in srgb,var(--reader-paper) 92%, transparent);border-bottom:1px solid var(--reader-rule);backdrop-filter:blur(16px)}
.reader-back,.reader-icon-btn{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;border:1px solid var(--reader-rule);border-radius:999px;background:var(--reader-panel);color:var(--reader-ink);text-decoration:none;cursor:pointer}.reader-back:hover,.reader-icon-btn:hover{border-color:var(--reader-accent);transform:translateY(-1px)}
.reader-titleblock{min-width:0}.reader-titleblock strong{display:block;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reader-titleblock small{display:block;color:var(--reader-muted);font-family:system-ui,sans-serif;font-size:12px;margin-top:2px}.reader-actions{display:flex;align-items:center;gap:7px}.reader-text-btn{display:none;padding:0 12px;width:auto;font-family:system-ui,sans-serif;font-size:13px;font-weight:700}
.reader-shell{min-height:100vh;padding:clamp(28px,5vw,60px) 16px 100px}.reading-surface{width:min(var(--reader-width),100%);margin:0 auto;background:var(--reader-paper);border:1px solid var(--reader-rule);box-shadow:var(--reader-shadow);border-radius:18px;padding:clamp(26px,6vw,72px) clamp(20px,7vw,84px)}
.reader-frontmatter{text-align:center;padding-bottom:clamp(28px,5vw,52px);border-bottom:1px solid var(--reader-rule);margin-bottom:clamp(32px,6vw,64px)}.reader-medallion{width:86px;height:86px;margin:0 auto 18px}.reader-medallion img{display:block;width:100%;height:100%}.reader-kicker{font-family:system-ui,sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:11px;color:var(--reader-accent);font-weight:800}.reader-frontmatter h1{font-size:clamp(2rem,7vw,4.2rem);line-height:1.03;margin:10px 0 12px}.reader-frontmatter p{margin:0;color:var(--reader-muted);font-style:italic;font-size:clamp(1rem,3vw,1.2rem)}
.reader-status{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:18px;font-family:system-ui,sans-serif;font-size:12px;color:var(--reader-muted)}.reader-status span{border:1px solid var(--reader-rule);border-radius:999px;padding:7px 10px;background:var(--reader-panel)}
.reader-chapter{scroll-margin-top:90px}.reader-chapter+.reader-chapter{margin-top:clamp(54px,9vw,100px);padding-top:clamp(38px,7vw,74px);border-top:1px solid var(--reader-rule)}.chapter-number{display:block;font-family:system-ui,sans-serif;text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:var(--reader-accent);font-weight:800;margin-bottom:10px}.reader-chapter h2{font-size:clamp(1.7rem,5vw,2.7rem);line-height:1.12;margin:0 0 28px}.reader-copy{font-size:var(--reader-size);line-height:var(--reader-line);letter-spacing:.004em}.reader-copy p{margin:0 0 1.25em}.reader-copy p:first-of-type::first-letter{float:left;font-size:3.7em;line-height:.78;padding:.12em .12em 0 0;color:var(--reader-accent);font-weight:700}.reader-copy blockquote{margin:2em 0;padding:1em 1.4em;border-left:3px solid var(--reader-accent);background:var(--reader-panel);font-style:italic;color:var(--reader-muted)}.editorial-note{font-family:system-ui,sans-serif;font-size:14px;line-height:1.65;border:1px solid var(--reader-rule);background:var(--reader-panel);border-radius:12px;padding:14px 16px;color:var(--reader-muted);margin:24px 0}.editorial-note strong{color:var(--reader-ink)}
.chapter-nav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:clamp(50px,8vw,90px);padding-top:28px;border-top:1px solid var(--reader-rule)}.chapter-nav button{min-height:54px;border:1px solid var(--reader-rule);background:var(--reader-panel);color:var(--reader-ink);border-radius:12px;padding:10px 14px;cursor:pointer}.chapter-nav button:disabled{opacity:.35;cursor:not-allowed}.chapter-nav button:not(:disabled):hover{border-color:var(--reader-accent)}
.reader-complete{margin-top:70px;text-align:center;border:1px solid var(--reader-rule);background:linear-gradient(145deg,var(--reader-panel),var(--reader-paper));border-radius:16px;padding:clamp(24px,6vw,48px)}.reader-complete h2{font-size:clamp(1.6rem,5vw,2.4rem);margin:8px 0}.reader-complete p{color:var(--reader-muted);line-height:1.7}.reader-complete a{display:inline-flex;margin-top:10px;padding:12px 18px;border-radius:999px;background:var(--reader-accent);color:#21180f;text-decoration:none;font-family:system-ui,sans-serif;font-weight:800}
.reader-drawer{position:fixed;z-index:110;top:0;bottom:0;width:min(390px,90vw);background:var(--reader-paper);color:var(--reader-ink);box-shadow:0 0 70px rgba(0,0,0,.28);transition:transform .28s ease;overflow:auto}.reader-drawer[data-side="left"]{left:0;transform:translateX(-105%)}.reader-drawer[data-side="right"]{right:0;transform:translateX(105%)}.reader-drawer.is-open{transform:translateX(0)}.drawer-head{position:sticky;top:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:18px 20px;background:var(--reader-paper);border-bottom:1px solid var(--reader-rule);z-index:2}.drawer-head h2{font-size:20px;margin:0}.drawer-close{border:0;background:transparent;color:inherit;font-size:24px;cursor:pointer}.drawer-body{padding:18px 20px 28px}.toc-list{display:grid;gap:8px}.toc-list a{display:grid;grid-template-columns:26px 1fr;gap:9px;padding:11px 10px;border-radius:10px;text-decoration:none;color:var(--reader-muted);font-family:system-ui,sans-serif;font-size:14px}.toc-list a:hover,.toc-list a.is-active{background:var(--reader-panel);color:var(--reader-ink)}.settings-group{padding:18px 0;border-bottom:1px solid var(--reader-rule)}.settings-group:first-child{padding-top:0}.settings-group:last-child{border-bottom:0}.settings-group h3{font-family:system-ui,sans-serif;font-size:13px;margin:0 0 12px}.segmented{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.segmented button,.size-controls button{border:1px solid var(--reader-rule);background:var(--reader-panel);color:var(--reader-ink);border-radius:10px;min-height:42px;cursor:pointer}.segmented button.is-active{outline:2px solid var(--reader-accent);outline-offset:1px}.size-controls{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:center;text-align:center;font-family:system-ui,sans-serif}.range-label{font-family:system-ui,sans-serif;color:var(--reader-muted);font-size:12px;margin-top:8px}.theme-swatch{display:flex;align-items:center;justify-content:center;gap:6px}
.drawer-backdrop{position:fixed;z-index:100;inset:0;background:rgba(16,12,8,.52);opacity:0;pointer-events:none;transition:opacity .25s}.drawer-backdrop.is-open{opacity:1;pointer-events:auto}
.reader-toast{position:fixed;z-index:140;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:11px 15px;border-radius:999px;background:#2a211a;color:#fff;font-family:system-ui,sans-serif;font-size:13px;box-shadow:0 12px 35px rgba(0,0,0,.25);transition:.25s}.reader-toast.is-visible{opacity:1;transform:translate(-50%,0)}
.selection-toolbar{position:fixed;z-index:150;display:none;gap:4px;padding:6px;border-radius:12px;background:#251b15;color:#fff;box-shadow:0 12px 35px rgba(0,0,0,.28)}.selection-toolbar.is-visible{display:flex}.selection-toolbar button{border:0;background:transparent;color:#fff;padding:7px 9px;border-radius:8px;font-family:system-ui,sans-serif;font-size:12px;cursor:pointer}.selection-toolbar button:hover{background:rgba(255,255,255,.12)}
.reader-bookmark.is-active{border-color:var(--reader-accent);background:color-mix(in srgb,var(--reader-accent) 18%,var(--reader-panel))}.reader-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.reader-topbar{grid-template-columns:44px minmax(0,1fr) auto;gap:8px}.reader-actions{gap:4px}.reader-icon-btn{min-width:38px;height:38px;font-size:14px}.reader-actions .reader-bookmark{display:none}.reading-surface{border-radius:12px;padding:28px 20px}.reader-shell{padding:18px 10px 70px}.reader-copy{font-size:calc(var(--reader-size) - 1px)}.chapter-nav{grid-template-columns:1fr}.reader-status{gap:6px}.reader-status span{padding:6px 8px}.reader-text-btn{display:none}}
@media(min-width:900px){.reader-text-btn{display:inline-flex}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reader-drawer,.reader-toast,.drawer-backdrop{transition:none}}

/* Etapa 6.5: preserva quebras de verso em poesia sem afetar prosa comum */
.reader-copy p { white-space: pre-line; }
