/* «Temario para estudiar»: temario editado en diapositivas horizontales (libro de texto). Lo usa libro.mjs. */
.libro-visor{--azul:#2f6db3;--azul-s:#e8f0fb;--naranja:#d9822b;--naranja-s:#fdf1e4;--morado:#7a4fb5;--morado-s:#f2ecfa;--verde:#2e8b57;--verde-s:#e6f4ec;--rojo-s:#fbe9e7;--amarillo:#f2c230;--amarillo-s:#fff8dc;
 display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;min-height:420px;outline:none}
.libro-barra{display:flex;align-items:center;gap:14px;padding:10px 16px;border-bottom:1px solid var(--line);background:#fafbf7}
.libro-pos{font-weight:700;font-size:14px;white-space:nowrap}
.libro-puntos{display:flex;gap:6px;flex-wrap:wrap;flex:1}
.libro-puntos button{width:12px;height:12px;padding:0;border-radius:50%;border:2px solid #b8c0b5;background:#fff}
.libro-puntos button.estudiada{background:var(--green);border-color:var(--green)}
.libro-puntos button.actual{outline:3px solid #ffe58a;outline-offset:1px;border-color:var(--olive)}
.libro-ventana{flex:1;overflow:hidden;position:relative;min-height:0}
.libro-pista{display:flex;height:100%;transition:transform .35s ease}
.diapo{flex:0 0 100%;height:100%;overflow-y:auto;padding:22px clamp(16px,4vw,42px) 18px;box-sizing:border-box}
.diapo-cab{display:flex;align-items:center;gap:10px;margin:0 0 12px;font-size:clamp(19px,2.4vw,24px);line-height:1.25}
.diapo-cab .art{background:var(--olive);color:#fff;border-radius:8px;padding:3px 10px;font-size:13px;letter-spacing:.5px;white-space:nowrap}
.diapo-cab .hecho{margin-left:auto;font-size:13px;color:var(--green);font-weight:700;white-space:nowrap}
.diapo p{font-size:clamp(15px,1.6vw,17px);line-height:1.62;margin:0 0 12px}
.diapo mark{background:linear-gradient(transparent 55%,#ffe58a 55%);padding:0 2px}
.libro-controles{display:flex;gap:10px;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--line);background:#fafbf7}
.libro-controles .primary{flex:1;max-width:380px}
.libro-controles button:disabled{opacity:.4}
/* Portada del tema */
.lb-portada{display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;background:linear-gradient(135deg,#384b3b,#253629);color:#fff;border-radius:14px;padding:22px;margin-bottom:16px}
.lb-portada .num{font-size:clamp(44px,7vw,64px);font-weight:800;line-height:1;color:var(--amarillo)}
.lb-portada h2{margin:4px 0 6px;font-size:clamp(22px,3vw,28px)}
.lb-portada p{margin:0;opacity:.9;color:#fff}
.lb-portada .kicker{color:#e9d48a}
.lb-chips{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.lb-chips span{background:rgba(255,255,255,.14);border-radius:999px;padding:3px 11px;font-size:13px}
/* Cajas */
.caja{border-radius:12px;padding:13px 16px;margin:12px 0;border-left:6px solid;font-size:15.5px;line-height:1.55}
.caja b.titulo{display:block;font-size:12.5px;letter-spacing:1.2px;text-transform:uppercase;margin-bottom:5px}
.caja.clave{background:var(--azul-s);border-color:var(--azul)}.caja.clave b.titulo{color:var(--azul)}
.caja.examen{background:var(--rojo-s);border-color:var(--red)}.caja.examen b.titulo{color:var(--red)}
.caja.truco{background:var(--morado-s);border-color:var(--morado)}.caja.truco b.titulo{color:var(--morado)}
.caja.recuerda{background:var(--verde-s);border-color:var(--verde)}.caja.recuerda b.titulo{color:var(--verde)}
.caja ul{margin:4px 0 0;padding-left:20px}.caja li{margin:3px 0}
/* Esquemas */
.esquema{display:grid;gap:12px;margin:12px 0;grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.pieza{border-radius:12px;padding:13px;text-align:center;border:2px solid;font-size:14px}
.pieza .ico{font-size:28px;line-height:1}.pieza strong{display:block;font-size:16.5px;margin:6px 0 2px}
.pieza.a{border-color:var(--azul);background:var(--azul-s)}.pieza.b{border-color:var(--naranja);background:var(--naranja-s)}.pieza.c{border-color:var(--verde);background:var(--verde-s)}.pieza.d{border-color:var(--morado);background:var(--morado-s)}
.principios{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0}
.principios span{background:var(--amarillo-s);border:1px solid #ecd27a;border-radius:999px;padding:5px 11px;font-weight:600;font-size:14px}
.principios span:nth-child(3n+2){background:var(--azul-s);border-color:#b9cff0}.principios span:nth-child(3n){background:var(--verde-s);border-color:#b7dcc7}
.tabla{width:100%;border-collapse:separate;border-spacing:0;margin:10px 0;font-size:14.5px;border-radius:10px;border:1px solid var(--line);overflow:hidden}
.tabla th{background:var(--olive);color:#fff;text-align:left;padding:9px 12px}.tabla td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:top}
.tabla tr:nth-child(even) td{background:#f8f9f5}
.si{color:var(--green);font-weight:700}.no{color:var(--red);font-weight:700}
figure.ilus{margin:12px 0;text-align:center}figure.ilus svg{max-width:100%;height:auto;max-height:42vh}figure.ilus figcaption{font-size:12.5px;color:var(--muted);margin-top:4px}
.repaso{background:var(--amarillo-s);border:2px dashed #e2c050;border-radius:14px;padding:14px 18px}
.repaso ol{padding-left:22px;margin:6px 0}.repaso li{margin:7px 0}
.repaso details{background:#fff;border-radius:8px;padding:6px 12px;margin-top:5px;border:1px solid #ecd27a}
.lb-final{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.lb-final a{display:inline-block;padding:10px 16px;border-radius:8px;font-weight:700;border:1px solid var(--line)}
.lb-final a.primero{background:var(--olive);color:#fff;border-color:var(--olive)}
.lb-fuente{font-size:12.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:10px;margin-top:14px}
/* Cabecera compacta del tema en modo diapositivas, con el mínimo margen alrededor. */
body:has(.libro-modo) main{padding-top:14px;padding-bottom:10px}
body:has(.libro-modo) .shell>header{padding-top:10px;padding-bottom:10px}
.libro-cabecera{display:flex;gap:12px;align-items:center}
.libro-cabecera h1{font-size:clamp(20px,2.4vw,26px);margin:0;line-height:1.2}
.libro-cabecera p{margin:2px 0 0;font-size:13px}
.libro-volver{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:10px;background:#fff;font-size:18px;flex:none}
.libro-modo .libro-pestanas{margin:10px 0 10px}
/* En modo diapositivas la página no se desplaza: sin pie de página. */
body:has(.libro-modo) footer{display:none}
/* Pestañas «Temario para estudiar» / «Temario oficial» */
.libro-pestanas{display:flex;gap:6px;border-bottom:2px solid var(--line);margin:14px 0 12px;flex-wrap:wrap}
.libro-pestanas a{border-radius:10px 10px 0 0;padding:11px 16px;font-weight:700;color:var(--muted)}
.libro-pestanas a[aria-current=page]{background:#fff;color:var(--olive);box-shadow:0 -3px 0 var(--olive) inset,0 0 0 1px var(--line)}
@media (max-width:760px) and (max-height:800px){.lb-portada p{display:none}.lb-portada .num{font-size:38px}.lb-portada h2{font-size:21px}}
@media (max-width:760px){.libro-cabecera p{display:none}.libro-pestanas{margin:6px 0}.libro-pestanas a{padding:8px 10px;font-size:13.5px}.diapo{padding:14px 14px 10px}.libro-barra{padding:8px 12px}.libro-controles{padding:8px 12px}
 .lb-portada{grid-template-columns:1fr;gap:6px;padding:16px}.libro-controles button{padding:10px 12px}.libro-controles .sec{display:none}
 .tabla{font-size:13px}.tabla th,.tabla td{padding:7px 8px;overflow-wrap:anywhere;hyphens:auto}.diapo-cab .art{padding:2px 7px;font-size:12px}}
@media (max-width:420px){.diapo{padding:12px 10px 8px}.tabla{font-size:12.5px}.tabla th,.tabla td{padding:6px 6px}.diapo p{font-size:14.5px}.diapo-cab{font-size:18px}.lb-portada .lb-chips{display:none}}
