:root{--canvas:#f4eddf;--paper:#fffdf8;--ink:#332b23;--brown:#624932;--gold:#b78d4a;--line:#decaa7;--font-scale:1;color-scheme:light}
*{box-sizing:border-box}html,body{height:100%;margin:0;overflow:hidden}body{display:flex;flex-direction:column;height:100dvh;background:radial-gradient(circle at 45% 10%,#fffaf0 0,#eee1cc 95%);font-family:Georgia,'Times New Roman',serif;color:var(--ink);-webkit-text-size-adjust:100%}button{font:inherit;cursor:pointer}button:focus-visible{outline:3px solid #dbab45;outline-offset:2px}button:disabled{opacity:.32;cursor:default}button:active:not(:disabled){transform:translateY(1px);filter:brightness(.94)}
.topbar{flex:0 0 65px;height:65px;padding:8px clamp(12px,3vw,34px);display:flex;gap:12px;justify-content:space-between;align-items:center;background:#fffaf1;border-bottom:1px solid #e0d4c2;position:relative;z-index:4;min-width:0}.brand{display:flex;align-items:center;gap:12px;min-width:0}.seal{height:41px;width:41px;border:1px solid var(--gold);color:#aa7831;border-radius:50%;display:grid;place-items:center;font-size:26px}.brandname{display:block;font:700 14px/1.1 Arial,sans-serif;letter-spacing:.11em;color:#4f3925;white-space:nowrap}.brandname small{display:block;font:600 9px/1.8 Arial,sans-serif;letter-spacing:.19em;color:#927651}.topnav{display:flex;align-items:center;gap:10px}.navbtn{display:flex;align-items:center;justify-content:center;gap:9px;min-height:44px;min-width:88px;padding:10px 15px;border-radius:28px;border:1.5px solid var(--gold);background:#fffcf7;color:#644323;font:800 13px Arial,sans-serif;letter-spacing:.025em;white-space:nowrap;transition:background .15s,box-shadow .15s}.navbtn span{font-size:22px;line-height:1}.navbtn:hover{background:#f5e8d0;box-shadow:0 3px 10px #5742241c}.fontbtn{min-width:43px;min-height:43px;border-radius:50%;border:1px solid #d9c3a1;background:#fffaf0;font:700 16px Arial,sans-serif;color:#694e30}.fontbtn:hover{background:#ead7b5}
.reader{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;padding:11px 18px 9px}.bookline{display:flex;justify-content:space-between;gap:12px;max-width:1100px;width:100%;color:#98805d;font:700 10px Arial,sans-serif;letter-spacing:.12em;padding:0 4px 9px}.bookframe{flex:1;min-height:0;width:min(100%,1070px);filter:drop-shadow(0 13px 17px #39281728)}.spread{display:flex;position:relative;width:100%;height:100%;min-height:0;background:#fff9eb;outline:4px solid #745a3d;border:2px solid #dbbc79;border-radius:5px 11px 11px 5px;overflow:hidden}.sheet{flex:1;min-width:0;height:100%;position:relative;overflow:hidden;background-color:var(--paper);padding:clamp(25px,2.5vw,36px) clamp(26px,3.2vw,43px) 56px;box-shadow:inset 0 0 80px #e4d3b727}.sheet+ .sheet{border-left:1px solid #e4d4bd}.spine{position:absolute;pointer-events:none;left:50%;top:0;bottom:0;width:12px;transform:translateX(-50%);background:linear-gradient(90deg,#ad987c22,#80634438,#e1cba922);z-index:2}.folio-head{font:700 9px Arial,sans-serif;letter-spacing:.14em;color:#a68b66;text-align:center;border-bottom:1px solid #e3d2b5;padding-bottom:11px;margin-bottom:21px}.sheet-body{font-size:calc(18px * var(--font-scale));line-height:1.5;color:#332b24;overflow:visible;overflow-wrap:break-word;hyphens:auto}.sheet-body h2,.sheet-body h3,.sheet-body h4{hyphens:auto;color:#50371e;font-family:Georgia,serif;line-height:1.16;font-weight:700}.sheet-body h2{font-size:calc(28px * var(--font-scale));margin:7px 0 17px}.sheet-body h3{font-size:calc(23px * var(--font-scale));margin:7px 0 15px}.sheet-body h4{font-size:calc(20px * var(--font-scale));margin:5px 0 12px}.sheet-body p{margin:0 0 .95em}.sheet-body p.prayer{font-style:italic;color:#544432;line-height:1.52;padding-left:13px;border-left:2px solid #bf9e63}.sheet-body p.part{margin-bottom:.44em}.sheet-body p.cont{margin-top:0}.folio-foot{position:absolute;bottom:12px;left:clamp(26px,3.2vw,43px);right:clamp(26px,3.2vw,43px);height:28px;display:flex;align-items:center;justify-content:space-between;border-top:1px solid #e1d4be;padding-top:7px;gap:8px;color:#95805e;font:700 11px Arial,sans-serif}.foot-shortcuts{display:flex;gap:11px}.foot-shortcuts button{padding:4px 7px;min-height:27px;border:0;color:#74502d;background:transparent;font:800 11px Arial,sans-serif;border-radius:5px}.foot-shortcuts button:hover{background:#f2e5cf}.folio-foot .folio-num{margin-left:auto;font-size:12px}.cover-sheet{padding:12px 15px 50px;background:linear-gradient(#fffaed,#f4e6cf)}.cover-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center;gap:11px}.cover-wrap img{max-height:min(78%,780px);max-width:85%;object-fit:contain;box-shadow:0 7px 20px #37221150;border-radius:2px}.cover-fallback{font-size:clamp(20px,3vw,30px);font-weight:bold;max-width:75%;color:#5c381c}.start{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}.start button{min-height:43px;padding:10px 20px;border-radius:23px;background:#674926;color:#fffdf5;border:1px solid #ae8048;font:700 13px Arial,sans-serif}.start button.secondary{background:#fffaf1;color:#614125}.start button:hover{filter:brightness(1.1)}.copyright{display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;height:100%;color:#745a3f}.copyright p{font-size:17px;line-height:1.6}.copyright em{font-size:29px;font-style:normal;color:#b08d53}.loading{padding:55px 15px;text-align:center;font:15px Arial,sans-serif;color:#745638}
.controls{flex:0 0 59px;max-width:700px;width:100%;display:flex;align-items:center;justify-content:center;gap:18px;padding-top:8px}.turn{display:flex;align-items:center;justify-content:center;gap:12px;min-height:45px;min-width:130px;border:1.5px solid #a98a5e;border-radius:28px;background:#fff9ef;color:#6c4c29;padding:11px 20px;font:800 13px Arial,sans-serif;transition:background .15s,box-shadow .15s}.turn.primary{background:#6d4b2c;color:#fffdf9;border-color:#6d4b2c}.turn:hover:not(:disabled){box-shadow:0 4px 12px #6d4b2c33;background:#ebdec7}.turn.primary:hover:not(:disabled){background:#8a6035}.turn span[aria-hidden]{font-size:20px;line-height:1}.counter{text-align:center;flex:1;max-width:175px;min-width:110px;font:12px Arial,sans-serif;color:#765c3e;white-space:nowrap}.counter strong{display:block;font-size:13px;margin-bottom:3px}.counter>span{font-size:11px}.bar{height:4px;width:100%;background:#dfd1ba;border-radius:2px;overflow:hidden;margin-top:6px}.bar span{display:block;height:100%;width:0;background:#b38a45;transition:width .2s}
.scrim[hidden]{display:none}.scrim{position:fixed;inset:0;z-index:20}.scrim-bg{position:absolute;inset:0;width:100%;border:0;background:#1a110caa}.toc{position:absolute;right:0;top:0;bottom:0;width:min(100%,465px);padding:26px 27px 50px;overflow-y:auto;background:#fffaf0;box-shadow:-8px 0 30px #0003}.toc-heading{display:flex;justify-content:space-between;align-items:center;color:#967752;letter-spacing:.13em;font:700 10px Arial,sans-serif}.toc-heading button{border:0;background:transparent;font-size:38px;color:#563c25;min-width:42px}.toc h2{font-size:42px;line-height:1.08;margin:25px 0 12px;font-weight:normal;color:#49341f}.toc h2 em{font-style:italic;color:#b5884f}.toc p{font:15px/1.6 Arial,sans-serif;color:#7d6a51;margin-bottom:22px}.toc-items{display:flex;flex-direction:column}.toc-item{display:flex;justify-content:space-between;align-items:center;gap:15px;padding:15px 12px;text-align:left;background:transparent;border:0;border-bottom:1px solid #e1d3bd;color:#473a2c;min-height:58px;font:700 16px/1.35 Georgia,serif}.toc-item small{font:700 11px Arial,sans-serif;color:#aa8656;white-space:nowrap}.toc-item.child{padding-left:24px;font-size:14px;font-weight:normal;min-height:51px}.toc-item:hover,.toc-item:focus{background:#f3e7d6}.toc-item:first-child{border-top:1px solid #e1d3bd}
@media(max-width:820px){.topbar{flex-basis:58px;height:58px;padding:5px 9px}.seal{display:none}.brandname{font-size:10px;letter-spacing:.025em}.brandname small{font-size:7px;letter-spacing:.06em}.topnav{gap:5px}.navbtn{min-width:68px;min-height:44px;padding:6px 9px;font-size:11px;gap:4px}.navbtn span{font-size:20px}.fontbtn{min-height:43px;min-width:36px;font-size:14px}.reader{padding:8px 8px 5px}.bookline{font-size:8px;padding-bottom:7px;letter-spacing:.04em}.bookline span:first-child{display:none}.bookline span:last-child{width:100%;text-align:center}.bookframe{max-width:560px}.spread{border-radius:3px 9px 9px 3px;outline-width:3px}.spine{display:none}.sheet{flex-basis:100%;padding:17px 19px 43px;box-shadow:inset 0 0 40px #e6d6be31}.sheet.right{display:none}.sheet-body{font-size:calc(17px * var(--font-scale));line-height:1.43}.sheet-body h2{font-size:calc(25px * var(--font-scale));margin:3px 0 13px}.sheet-body h3{font-size:calc(21px * var(--font-scale));margin:3px 0 11px}.sheet-body h4{font-size:calc(19px * var(--font-scale));margin:3px 0 9px}.sheet-body p{margin-bottom:.7em}.sheet-body p.prayer{line-height:1.4}.folio-head{margin-bottom:14px;padding-bottom:8px;letter-spacing:.08em;font-size:8px}.folio-foot{left:19px;right:19px;bottom:7px}.cover-sheet{padding:10px 9px 43px}.cover-wrap img{max-width:86%;max-height:76%}.start button{min-height:46px;padding:11px 18px}.controls{flex-basis:55px;gap:10px}.turn{min-width:100px;min-height:43px;padding:10px 12px;font-size:11px;gap:7px}.counter{min-width:85px;font-size:10px}.counter strong{font-size:11px}.toc{padding:22px 20px 35px}.toc h2{font-size:37px}}
@media(max-width:370px){.brandname{font-size:9px}.brandname small{font-size:6px}.navbtn{min-width:62px;padding:5px 6px;font-size:10px}.fontbtn{min-width:31px}.sheet{padding:12px 13px 38px}.folio-head{margin-bottom:9px}.folio-foot{left:13px;right:13px}.sheet-body{font-size:calc(16px * var(--font-scale));line-height:1.39}.turn{min-width:90px}.turn-name{font-size:10px}.cover-wrap img{max-height:73%}}
@media(max-height:650px){.reader{padding-top:5px}.topbar{flex-basis:50px;height:50px}.bookline{display:none}.sheet{padding-top:9px}.folio-head{margin-bottom:8px}.sheet-body{line-height:1.35}.controls{flex-basis:49px;padding-top:4px}.cover-wrap img{max-height:68%}.start button{min-height:38px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}

/* ACTUALIZACIÓN: portada completa, sin el marco de libro ni tarjeta alrededor de la imagen. */
body.cover-open .bookline{display:none}
body.cover-open .bookframe{filter:none;width:min(100%,820px)}
.spread.is-cover{background:transparent;outline:0;border:0;border-radius:0;box-shadow:none;overflow:visible}
.spread.is-cover .sheet.cover-sheet{flex:1 1 100%;width:100%;padding:0!important;background:transparent;border:0;box-shadow:none;overflow:visible}
.spread.is-cover .sheet.right,.spread.is-cover .spine{display:none!important}
.spread.is-cover .cover-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:13px;width:100%;height:100%;min-height:0;background:transparent}
.spread.is-cover .cover-art{min-height:0;min-width:0;flex:1 1 auto;display:flex;align-items:center;justify-content:center;width:100%;overflow:hidden}
.spread.is-cover .cover-art img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.spread.is-cover .cover-art img[hidden]{display:none}
.spread.is-cover .cover-fallback{margin:auto}
.spread.is-cover .start{display:flex;flex:0 0 auto;gap:12px;align-items:center;justify-content:center;padding:2px 2px 5px;flex-wrap:wrap}
.spread.is-cover .start button{min-height:51px;padding:11px 22px;font:800 13px Arial,sans-serif;border-radius:12px;box-shadow:0 3px 8px #39281722}
/* Botones de acceso permanente: grandes, en colores contrastantes y con apariencia clara de botón. */
.navbtn{min-height:49px;min-width:109px;padding:10px 17px;background:#66472c;color:#fffdf7;border:2px solid #66472c;border-radius:12px;box-shadow:0 3px 7px #513c2642;font:800 14px Arial,sans-serif;letter-spacing:.03em}
.navbtn span{font-size:25px}
.navbtn:hover{background:#855f39;color:#fff;border-color:#855f39;box-shadow:0 4px 11px #513c264d}
.navbtn:active{background:#4e321e;box-shadow:inset 0 2px 4px #2d1c124f}
#indexTop{background:#f1dfba;color:#4d371e;border-color:#956b33}
#indexTop:hover{background:#e8ce96;color:#3e2b16}
.sheet:not(.cover-sheet){padding-bottom:76px}
.folio-foot{height:54px;bottom:9px;padding:8px 0 0;align-items:center}
.foot-shortcuts{gap:8px;align-items:center}
.foot-shortcuts button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;min-width:103px;padding:8px 12px;border-radius:10px;border:2px solid #66472c;color:#fffef8;background:#66472c;box-shadow:0 2px 5px #4333242f;font:800 13px Arial,sans-serif;letter-spacing:.015em}
.foot-shortcuts button:nth-child(2){background:#f0dcaf;border-color:#97723b;color:#493018}
.foot-shortcuts button:hover{background:#865e35;color:#fff}
.foot-shortcuts button:nth-child(2):hover{background:#e4c68e;color:#493018}
.folio-foot .folio-num{align-self:center}
/* Diálogo para evitar salir de forma accidental mediante Atrás del navegador. */
.back-notice[hidden]{display:none!important}
.back-notice{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:20px}
.back-dim{position:absolute;inset:0;background:rgba(26,19,12,.7)}
.back-dialog{position:relative;z-index:1;width:min(100%,440px);background:#fffaf0;border:2px solid #b9965e;border-radius:17px;padding:27px 25px;text-align:center;box-shadow:0 12px 30px #1a120b55;color:#3d3021}
.back-symbol{display:block;font-size:39px;line-height:1.1}
.back-dialog h2{font:700 26px/1.2 Georgia,serif;margin:14px 0 10px}
.back-dialog p{font:17px/1.55 Arial,sans-serif;margin:0 0 19px}
.back-dialog button{width:100%;min-height:53px;border-radius:12px;font:800 15px Arial,sans-serif}
.back-stay{background:#674629;border:2px solid #674629;color:#fffef8;box-shadow:0 3px 8px #45311f33}
.back-stay:hover{background:#875f3a}
.back-exit{margin-top:12px;border:1.5px solid #b1a187;background:#fffcf7;color:#6b4e35}
.back-exit:hover{background:#f3e4d0}
.back-dialog p.back-direct{font:14px/1.45 Arial,sans-serif;margin:12px 0 0;color:#6b4e35}
@media(max-width:820px){
 .sheet:not(.cover-sheet){padding-bottom:74px}
 .navbtn{min-width:86px;min-height:46px;padding:8px 10px;font-size:12px;gap:5px}
 .navbtn span{font-size:23px}
 .folio-foot{left:19px;right:19px;bottom:6px}
 .foot-shortcuts button{min-width:94px;min-height:46px;padding:7px 9px;font-size:12px}
 .spread.is-cover .start button{min-height:49px}
}
@media(max-width:370px){
 .brand{display:none}
 .topbar{justify-content:center}
 .topnav{gap:7px}
 .navbtn{min-width:95px;min-height:46px;padding:8px 9px;font-size:12px}
 .fontbtn{min-width:38px;min-height:43px}
 .sheet:not(.cover-sheet){padding-bottom:70px}
 .folio-foot{left:13px;right:13px;bottom:5px}
 .foot-shortcuts button{min-width:88px;min-height:44px;padding:7px;font-size:11px}
 .spread.is-cover .start{gap:7px}
 .spread.is-cover .start button{padding:9px 12px;font-size:11px;min-height:47px}
}
@media(max-height:650px){
 .spread.is-cover .cover-wrap{gap:7px}
 .spread.is-cover .start button{min-height:43px;padding:8px 14px}
 .back-dialog{padding:17px 21px}
}
