/* El libro del Camino — lectura de los 48 casilleros */
html{scroll-behavior:smooth;scroll-padding-top:84px}
.libro{max-width:1040px;margin:0 auto;padding:0 clamp(16px,4vw,40px) 80px}
.cab-volver-juego{border-color:var(--gold)}

/* Portada */
.lb-portada{text-align:center;padding:clamp(56px,10vw,110px) 0 clamp(40px,7vw,70px);border-bottom:1px solid var(--linea)}
.lb-portada h1{font-size:clamp(2.8rem,8vw,5rem);letter-spacing:.01em}
.lb-sub{font-family:var(--ff-title);font-style:italic;font-size:clamp(1.2rem,2.6vw,1.55rem);color:var(--gold-light);margin:.6rem 0 0}
.lb-intro{max-width:62ch;margin:2rem auto 0;color:rgba(245,241,233,.8);font-size:1.02rem;text-align:left}
.lb-intro p{margin:0 0 1rem}
.lb-portada .acciones{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:1.6rem}
.lb-mio{margin:1.4rem auto 0;max-width:52ch;color:var(--gold-light);font-size:.92rem}

/* Índice */
.lb-indice{padding:clamp(40px,7vw,70px) 0;border-bottom:1px solid var(--linea)}
.lb-indice h2,.lb-saltos h2,.lb-cierre h2{font-size:clamp(1.9rem,4.4vw,2.7rem);margin-bottom:1.6rem}
.lb-ind-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.lb-ind-mom{border-top:2px solid var(--c);padding-top:12px}
.lb-ind-tit{display:flex;align-items:baseline;gap:10px;font-family:var(--ff-title);font-size:1.55rem;color:var(--c);margin-bottom:8px}
.lb-ind-tit span{font-family:var(--ff-sub);font-size:.62rem;font-weight:700;letter-spacing:.2em;color:var(--taupe)}
.lb-ind-mom ol{list-style:none;margin:0;padding:0}
.lb-ind-mom li a{display:flex;align-items:baseline;gap:8px;padding:5px 6px;margin:0 -6px;border-radius:6px;font-size:.88rem;color:rgba(245,241,233,.82);transition:background .2s,color .2s}
.lb-ind-mom li a:hover{background:rgba(184,155,110,.1);color:var(--ivory)}
.lb-ind-mom li b{font-family:var(--ff-sub);font-size:.68rem;font-weight:700;color:var(--taupe);min-width:1.6em}
.lb-ind-mom li a.mio{color:var(--gold-light)}
.lb-ind-mom li a.mio b{color:var(--gold)}
.lb-ind-mom li a.mio::after{content:"";width:6px;height:6px;border-radius:50%;background:var(--gold);margin-left:auto;align-self:center;flex:none}
i.esc,i.ser{font-style:normal;font-size:.7em}
i.esc{color:var(--gold-light)}
i.ser{color:#e3a3b4}
.lb-ley{display:flex;flex-wrap:wrap;gap:18px;margin:1.4rem 0 0;font-size:.8rem;color:var(--taupe)}
.lb-ley span{display:inline-flex;align-items:center;gap:6px}
.lb-ley .punto{width:6px;height:6px;border-radius:50%;background:var(--gold);display:inline-block}
@media (max-width:860px){.lb-ind-grid{grid-template-columns:repeat(2,1fr);gap:26px 18px}}
@media (max-width:480px){.lb-ind-grid{grid-template-columns:1fr}}

/* Capítulos */
.lb-cap{padding-top:clamp(50px,8vw,90px)}
.lb-cap-cab{text-align:center;max-width:640px;margin:0 auto clamp(30px,5vw,50px)}
.lb-cap-glifo{display:inline-flex;width:64px;height:64px;border-radius:50%;border:1px solid var(--c);color:var(--c);align-items:center;justify-content:center;margin-bottom:1rem}
.lb-cap-glifo svg{width:34px;height:34px}
.lb-cap-cab .eyebrow{color:var(--c)}
.lb-cap-cab h2{font-size:clamp(2.6rem,7vw,4rem)}
.lb-cap-sent{font-family:var(--ff-title);font-style:italic;font-size:1.3rem;color:var(--gold-light);margin:.4rem 0 .9rem}
.lb-cap-txt{color:rgba(245,241,233,.75);margin:0}

/* Casillero */
.lb-cas{display:grid;grid-template-columns:200px 1fr;gap:clamp(22px,4vw,44px);align-items:start;padding:clamp(26px,4vw,40px);margin-bottom:22px;border:1px solid rgba(184,155,110,.16);border-radius:16px;background:linear-gradient(160deg,rgba(28,42,61,.72),rgba(15,24,36,.72));transition:border-color .5s,box-shadow .5s}
.lb-cas.mio{border-color:rgba(214,190,148,.42)}
.lb-cas.foco{border-color:var(--gold-light);box-shadow:0 0 0 1px var(--gold-light),0 24px 60px -30px rgba(214,190,148,.6)}
.lb-cas-arte{position:sticky;top:96px}
.lb-cas-arte svg{width:100%;height:auto;display:block;border-radius:12px;box-shadow:0 22px 40px -22px rgba(0,0,0,.8)}
.lb-cas-num{font-family:var(--ff-sub);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--c);margin:0}
.lb-tag{display:inline-block;margin-left:6px;padding:3px 9px;border-radius:99px;background:rgba(214,190,148,.16);color:var(--gold-light);letter-spacing:.14em;vertical-align:1px}
.lb-cas h3{font-size:clamp(1.9rem,4vw,2.5rem);margin:.5rem 0 .2rem}
.lb-cas .frase{font-family:var(--ff-title);font-style:italic;font-size:1.3rem;color:var(--gold-light);margin:0 0 1.1rem;line-height:1.3}
.lb-cas .msj{color:rgba(245,241,233,.86);margin:0 0 1rem}
.lb-cas .preg{border-top:1px solid var(--linea);padding-top:.9rem;margin-top:.9rem}
.lb-cas .rot{font-family:var(--ff-sub);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);display:block;margin-bottom:.3rem}
.lb-cas .preg p{font-family:var(--ff-title);font-size:1.25rem;line-height:1.35;margin:0}
.lb-cas .prac p{font-family:var(--ff-body);font-size:.96rem;line-height:1.6;color:rgba(245,241,233,.85)}
.lb-salto{margin:0 0 1.1rem;padding:12px 14px;border-radius:10px;font-size:.92rem;line-height:1.5}
.lb-salto b{font-family:var(--ff-sub);font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;display:block;margin-bottom:3px}
.lb-salto.esc{background:rgba(214,174,98,.12);border-left:2px solid var(--gold-light)}
.lb-salto.esc b{color:var(--gold-light)}
.lb-salto.ser{background:rgba(110,52,70,.28);border-left:2px solid #b0687c}
.lb-salto.ser b{color:#e3a3b4}
.lb-salto a,.lb-llegan a{color:var(--gold-light);text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(214,190,148,.45)}
.lb-llegan{margin:1.2rem 0 0;font-size:.86rem;color:var(--taupe)}
@media (max-width:700px){
  .lb-cas{grid-template-columns:1fr;padding:22px 18px}
  .lb-cas-arte{position:static;width:min(150px,44vw);margin:0 auto}
  .lb-cas-txt{text-align:left}
}

/* Escaleras y serpientes */
.lb-saltos{padding:clamp(50px,8vw,90px) 0 0}
.lb-sal-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.lb-sal-grid h3{font-size:1.5rem;margin-bottom:.9rem}
.lb-sal-grid h3.esc{color:var(--gold-light)}
.lb-sal-grid h3.ser{color:#e3a3b4}
.lb-sal-grid ul{list-style:none;margin:0;padding:0}
.lb-sal-grid li{display:grid;grid-template-columns:86px 1fr;gap:14px;padding:14px 0;border-top:1px solid var(--linea)}
.lb-sal-num{font-family:var(--ff-sub);font-weight:700;font-size:.92rem;color:var(--taupe);white-space:nowrap}
.lb-sal-num a{color:var(--ivory)}
li.esc .lb-sal-num{color:var(--gold-light)}
li.ser .lb-sal-num{color:#e3a3b4}
.lb-sal-grid b{font-family:var(--ff-title);font-weight:500;font-size:1.25rem}
.lb-sal-grid small{display:block;font-size:.76rem;color:var(--taupe);margin:2px 0 4px}
.lb-sal-grid p{margin:0;font-size:.9rem;color:rgba(245,241,233,.8)}
@media (max-width:760px){.lb-sal-grid{grid-template-columns:1fr}}

/* Cierre */
.lb-cierre{text-align:center;max-width:640px;margin:clamp(50px,8vw,90px) auto 0;padding:clamp(30px,5vw,46px);border:1px solid var(--linea);border-radius:16px;background:rgba(24,37,54,.6)}
.lb-cierre h2{margin-bottom:.8rem}
.lb-cierre p{color:rgba(245,241,233,.8)}
.lb-cierre .acciones{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:1.2rem}

.lb-arriba{position:fixed;right:18px;bottom:calc(18px + env(safe-area-inset-bottom));z-index:40;width:46px;height:46px;border-radius:50%;border:1px solid var(--gold);background:rgba(16,26,39,.92);color:var(--gold-light);display:flex;align-items:center;justify-content:center;box-shadow:0 10px 24px -10px rgba(0,0,0,.7)}
.lb-arriba svg{width:22px;height:22px}

/* PDF del libro */
@media print{
  @page{margin:14mm 15mm 16mm}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  html{scroll-behavior:auto}
  .libro-body{background:#fff;color:#2b2f35}
  .libro-body .fondo,.libro-body .cab,.lb-arriba,#toast,.lb-portada .acciones,.lb-cierre .acciones{display:none!important}
  .libro{max-width:none;padding:0}
  .libro h1,.libro h2,.libro h3{color:#182536}
  .lb-portada{padding:60mm 0 0;border:0;break-after:page}
  .lb-portada .eyebrow{color:#9a7d4f}
  .lb-sub,.lb-cap-sent,.lb-cas .frase{color:#7c6338}
  .lb-intro,.lb-cap-txt,.lb-cas .msj,.lb-cas .prac p,.lb-sal-grid p,.lb-cierre p{color:#3a3f46}
  .lb-mio{display:none}
  .lb-indice{border:0;break-after:page;padding:0}
  .lb-ind-mom li a{color:#3a3f46;font-size:9.5pt;padding:2pt 0}
  .lb-ind-mom li a.mio{color:#7c6338}
  .lb-cap{padding-top:0;break-before:page}
  .lb-cap-cab{margin-bottom:10mm}
  .lb-cas{background:none;border:0;border-bottom:1px solid #eee3cf;border-radius:0;padding:7mm 0;margin:0;grid-template-columns:38mm 1fr;gap:8mm;break-inside:avoid;box-shadow:none}
  .lb-cas-arte{position:static}
  .lb-cas-arte svg{box-shadow:none;border-radius:6px}
  .lb-cas h3{font-size:20pt}
  .lb-cas .preg{border-color:#e6dcc8}
  .lb-cas .preg p{font-size:12.5pt;color:#182536}
  .lb-cas .rot{color:#9a7d4f}
  .lb-tag{display:none}
  .lb-salto.esc{background:#faf4e6;border-color:#c9a86a}
  .lb-salto.ser{background:#f6ecef;border-color:#b0687c}
  .lb-salto,.lb-llegan{color:#4a4f56}
  .lb-salto.esc b{color:#7c6338}.lb-salto.ser b{color:#7a3a4e}
  .lb-salto a,.lb-llegan a{color:inherit;text-decoration:none}
  .lb-saltos{break-before:page;padding-top:0}
  .lb-sal-grid li{break-inside:avoid;border-color:#eee3cf}
  .lb-sal-num a{color:#182536}
  .lb-cierre{background:none;border:1px solid #c9a86a;break-inside:avoid}
}
