.reader-body{height:100dvh;display:flex;flex-direction:column;overflow:hidden;background:#232723}.reader-header{display:flex;align-items:center;gap:20px;padding:14px 24px;background:#111313;border-bottom:1px solid var(--line);min-height:88px;flex:none}.reader-heading{min-width:0}.reader-heading .eyebrow{font-size:10px;margin-bottom:5px;display:block}.reader-heading h1{font-size:30px;margin:0;line-height:1.1}.reader-tools{display:flex;align-items:center;gap:10px;margin-left:auto}.reader-modes{display:flex;gap:0}.reader-modes .icon-button{border-radius:0}.reader-modes .selected{background:var(--acid);color:#111;border-color:var(--acid)}.reader-stage{position:relative;flex:1;min-height:0;overflow:auto;padding:30px 38px;display:flex;justify-content:center;align-items:flex-start;overscroll-behavior:contain}.reader-status{position:absolute;inset:35% 20px auto;text-align:center;font-family:var(--mono);font-size:14px;z-index:4;color:var(--acid);background:#111313dd;padding:15px}.reader-status[hidden]{display:none}.reader-status a{text-decoration:underline}.page-spread{display:flex;gap:2px;align-items:start;justify-content:center;min-height:100%;perspective:1800px}.pdf-page{position:relative;flex:none;box-shadow:0 5px 30px #0006;background:white;transform-origin:left;animation:page-arrive .25s ease-out}.pdf-page canvas{display:block}.page-spread.is-spread .pdf-page:first-child:after{content:'';position:absolute;right:0;top:0;bottom:0;width:18px;background:linear-gradient(90deg,transparent,#0002);pointer-events:none}.reader-controls{display:flex;align-items:center;justify-content:center;gap:18px;padding:12px 24px 17px;min-height:77px;background:#111313;position:relative;flex:none}.page-counter{display:flex;gap:9px;align-items:center;font-family:var(--mono);font-size:12px}.page-counter input{width:52px;color:var(--text);background:#242a24;padding:7px;border:1px solid var(--line);text-align:center;-moz-appearance:textfield}.page-counter input::-webkit-inner-spin-button{appearance:none}.zoom-controls{display:flex;align-items:center;gap:10px;margin-left:26px}.zoom-controls output{font-family:var(--mono);font-size:11px;min-width:45px;text-align:center}.reader-controls progress{position:absolute;left:0;right:0;bottom:0;width:100%;height:3px;appearance:none;border:0;background:#3a403a}.reader-controls progress::-webkit-progress-bar{background:#3a403a}.reader-controls progress::-webkit-progress-value{background:var(--acid)}.reader-controls progress::-moz-progress-bar{background:var(--acid)}.reader-text{background:#eceee4;color:#252b25;padding:60px 64px;width:min(100%,820px);font-family:Georgia,serif;font-size:19px;line-height:1.75;white-space:normal;overflow-wrap:break-word;hyphens:manual}.reader-text p{margin:0 0 1.05em}.reader-text p.text-break{font-family:var(--display);font-weight:700;letter-spacing:.04em;text-transform:uppercase;font-size:.9em;margin:2.2em 0 1em}.reader-text h2{font-size:42px;margin-bottom:36px}.reader-text .text-page{margin-bottom:24px}.reader-text[hidden],.page-spread[hidden],#drive-frame[hidden]{display:none}#drive-frame{border:0;width:100%;height:100%;min-height:500px;background:#fff}.reader-body.light{background:#bdc3b7}.reader-body[data-mode=drive] .reader-stage{padding:0}.reader-body[data-mode=drive] .reader-controls{display:none}.reader-body[data-mode=text] .zoom-controls{margin:0}.reader-body[data-mode=text] .reader-text{font-size:calc(19px * var(--text-zoom,1))}
@keyframes page-arrive{from{opacity:.65;transform:rotateY(-4deg)}to{opacity:1;transform:rotateY(0)}}
@media(max-width:760px){.reader-header{padding:12px;gap:12px;flex-wrap:wrap;min-height:112px}.reader-heading{flex:1}.reader-heading h1{font-size:26px}.reader-tools{gap:10px;margin:auto;flex-basis:100%;justify-content:center}.reader-header>.icon-button{width:36px;height:36px}.reader-heading .eyebrow{font-size:9px}.reader-tools .icon-button{width:36px;height:34px}.reader-stage{padding:14px 8px}.reader-controls{gap:10px;padding:10px 8px 15px;min-height:66px}.reader-controls .icon-button{width:34px;height:36px}.zoom-controls{margin-left:4px;gap:5px}.zoom-controls output{min-width:36px;font-size:10px}.page-counter{gap:5px;font-size:10px}.page-counter label{display:none}.page-counter input{width:38px;padding:6px}.reader-text{padding:26px 22px;font-size:18px}.reader-text h2{font-size:32px}#drive-frame{min-height:300px}}
@media(prefers-reduced-motion:reduce){.pdf-page{animation:none}}
/* v2.1: modo texto paginado */
.reader-body[data-mode=text] .reader-stage{overflow:hidden;align-items:stretch}
.reader-text.is-paged{width:min(100%,1180px);margin:0 auto;padding:44px 56px;align-self:flex-start}
.reader-text.is-paged h2{margin-bottom:26px}
.reader-text.is-paged .text-page{margin:0}
.reader-body[data-mode=text] .zoom-controls{margin-left:26px}
@media(max-width:760px){.reader-text.is-paged{padding:24px 20px}.reader-body[data-mode=text] .zoom-controls{margin-left:4px}}
.reader-body[data-mode=book] .reader-stage{cursor:pointer}
