/* Lector web del libro · TYE · 28 oct 2026 (kit de marca: navy, lime, rojo solo como acento; esquinas rectas) */
:root{--navy:#101E8E;--lime:#CDE980;--red:#EB0029;--ink:#55565A;--muted:#8A8A8D;--soft:#F4F5F0;--sky:#BECBFF;
  --line:#E3E4DE;--rule:#CFD0CA;--display:'Jost',system-ui,sans-serif;--text:'Lato',system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.reader{margin:0;background:#fff;color:var(--ink);font-family:var(--text);font-size:18px;line-height:1.65;padding-top:60px}
body.switching .book{animation:flick .45s ease}
@keyframes flick{0%{opacity:1}30%{opacity:.35}100%{opacity:1}}

/* barra superior */
.topbar{position:fixed;top:0;left:0;right:0;z-index:50;height:60px;background:var(--navy);color:#fff;
  display:flex;align-items:center;gap:14px;padding:0 16px 0 18px}
.topbar a.back{color:#fff;text-decoration:none;font-family:var(--display);font-size:15px;white-space:nowrap;display:flex;gap:7px;align-items:center}
.topbar a.back .arr{color:var(--lime)}
.topbar .where{flex:1;min-width:0;font-family:var(--display);font-size:14.5px;color:var(--sky);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.tocbtn{background:transparent;border:1.5px solid rgba(255,255,255,.4);color:#fff;font-family:var(--display);font-size:14px;
  padding:7px 12px;cursor:pointer}
.tocbtn:hover{border-color:#fff}
.tocbtn{display:flex;align-items:center;gap:8px}
.tocbtn .ico{display:inline-flex;flex-direction:column;gap:3px}.tocbtn .ico i{display:block;width:14px;height:2px;background:var(--lime)}
.topbar .stickymode{position:static;opacity:1;transform:none;pointer-events:auto;top:auto;right:auto;padding:7px 11px;gap:9px;backdrop-filter:none}
.topbar .stickymode .sm-t{font-size:12px}
.prog{position:absolute;left:0;right:0;bottom:-4px;height:4px;background:rgba(16,30,142,.12)}
.prog i{display:block;height:100%;width:0;background:var(--lime);transition:width .2s}
body > .stickymode{display:none}
@media (max-width:640px){
  .topbar{gap:10px;padding:0 10px 0 12px}
  .topbar a.back span:not(.arr){display:none}
  .topbar .where{font-size:13px;text-align:left}
  .topbar .stickymode .sm-t{display:block;font-size:10.5px;letter-spacing:.08em;white-space:nowrap}
  .topbar .stickymode{padding:6px 7px 6px 9px;gap:8px}
  .topbar .stickymode .sm-chip{font-size:10.5px;padding:4px 7px}
  .tocbtn .tl{display:none}
  .tocbtn{padding:9px 10px}
}

/* índice */
.toc{position:fixed;top:60px;right:0;bottom:0;width:min(380px,100%);background:#fff;z-index:60;overflow:auto;
  border-left:2px solid var(--navy);padding:0 0 24px}
.tochd{position:sticky;top:0;background:#fff;display:flex;justify-content:space-between;align-items:center;padding:16px 20px;
  font-family:var(--display);font-weight:500;font-size:20px;color:var(--navy);border-bottom:1px solid var(--line)}
.tochd button{background:none;border:0;font-size:28px;line-height:1;color:var(--navy);cursor:pointer}
.toc ol{list-style:none;margin:0;padding:8px 0}
.toc li a{display:block;padding:9px 20px;color:var(--ink);text-decoration:none;font-size:15.5px;line-height:1.35;border-left:4px solid transparent}
.toc li a:hover{background:var(--soft)}
.toc li.on a{border-left-color:var(--lime);color:var(--navy);font-weight:700}
.toc li.t-part a{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);padding-top:18px}
.toc li.t-chapter a{padding-left:28px}
.tocnote{font-size:13px;color:var(--muted);padding:6px 20px;margin:0}

/* libro */
.book{max-width:720px;margin:0 auto;padding:0 22px 20px}
.sec{padding-bottom:10px}
.b{scroll-margin-top:84px}
.book p{margin:0 0 16px}
.book p.lead{font-size:20px;line-height:1.55;color:var(--navy)}
.book strong{color:var(--navy);font-weight:700}
.book a{color:var(--navy);text-decoration:none;box-shadow:inset 0 -2px 0 var(--lime)}
.book h2{font-family:var(--display);font-weight:500;font-size:26px;line-height:1.25;color:var(--navy);margin:44px 0 14px}
.book h2::before{content:"";display:block;width:32px;height:5px;background:var(--lime);margin-bottom:12px}
.book h3{font-family:var(--display);font-weight:500;font-size:19px;color:var(--navy);margin:26px 0 8px}
.book ul,.book ol{margin:0 0 16px;padding:0}
.book ul li,.book ol li{list-style:none;position:relative;margin:0 0 8px;padding-left:22px}
.book ul li::before{content:"";position:absolute;left:1px;top:.7em;width:7px;height:7px;background:var(--navy)}
.book ol{counter-reset:ol}
.book ol li{counter-increment:ol;padding-left:30px}
.book ol li::before{content:counter(ol);position:absolute;left:0;top:0;font-family:var(--display);font-weight:500;color:var(--navy)}
.book blockquote{margin:28px 0;padding:2px 0 2px 20px;border-left:6px solid var(--lime)}
.book blockquote p{font-family:var(--display);font-size:23px;line-height:1.35;color:var(--navy);margin:0}
.book blockquote p + p{margin-top:10px}
.en{font-family:var(--display);font-weight:500;color:var(--navy)}
mark{background:none;color:inherit;box-shadow:inset 0 -.42em 0 var(--lime);padding:0 1px}
.chip{display:inline-block;background:var(--navy);color:#fff;font-family:var(--display);font-weight:500;font-size:.9em;padding:0 7px 1px}
svg.ic{display:inline-block;height:.78em;width:auto;vertical-align:-.02em;margin:0 .12em}
.modo{display:inline-flex;align-items:center;gap:8px;font-family:var(--display);font-weight:500;letter-spacing:.12em;text-transform:uppercase}
.modo .box{display:inline-block;padding:2px 8px 3px}
.modo.on .box{background:var(--lime);color:var(--navy)}
.modo.off .box{background:var(--navy);color:var(--lime)}
.book table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:16px}
.book th{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);text-align:left;padding:0 10px 8px 0;border-bottom:2px solid var(--navy)}
.book td{padding:9px 10px 9px 0;border-bottom:1px solid var(--line);vertical-align:top}

/* encabezados de sección: aperturas a página completa, como en el PDF (30 oct 2026) */
.sh{margin:0 -22px 34px;padding:40px 28px 36px;position:relative}
.sh .bars{position:absolute;right:-24px;width:clamp(150px,36%,280px);display:flex;flex-direction:column;gap:20px;pointer-events:none}
.sh .bars i{display:block;width:100%;height:34px}
.sh.ch{background:var(--navy);color:#fff;min-height:calc(100vh - 60px);min-height:calc(100svh - 60px);
  display:flex;flex-direction:column;overflow:hidden;margin-bottom:44px}
.sh.ch .top{display:flex;justify-content:space-between;gap:12px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.sh.ch .top .c{color:var(--lime)} .sh.ch .top .p{color:var(--sky);text-align:right}
.sh.ch .mid{margin:auto 0;padding:7vh 0 15vh;position:relative;z-index:1}
.sh.ch .num{font-family:var(--display);font-weight:300;font-size:clamp(120px,22vw,190px);line-height:1;color:rgba(190,203,255,.22);margin:0 0 0 -8px;letter-spacing:-.02em}
.sh.ch h1{font-family:var(--display);font-weight:500;font-size:clamp(32px,5.4vw,46px);line-height:1.1;margin:10px 0 0;max-width:13em;text-wrap:balance}
.sh .redbar{width:52px;height:5px;background:var(--red);margin:26px 0 18px}
.sh.ch .kick{font-family:var(--display);font-weight:300;font-size:clamp(18px,2.4vw,21px);line-height:1.4;color:var(--sky);margin:0;max-width:24em}
.sh.ch .bars{bottom:40px}
.sh.ch .bars i{background:rgba(255,255,255,.06)}
.sh.ch .cue{position:absolute;left:28px;bottom:34px;width:13px;height:13px;border-right:2px solid var(--lime);border-bottom:2px solid var(--lime);transform:rotate(45deg)}
@media (prefers-reduced-motion:no-preference){
  .sh.ch .cue{animation:cue 2.4s ease-in-out 1.2s infinite}
  @keyframes cue{0%,100%{transform:translateY(0) rotate(45deg);opacity:.9}50%{transform:translateY(7px) rotate(45deg);opacity:.45}}
}
/* parte: la sección entera es una página lima */
.sec-part{background:var(--lime);margin:0 -22px;padding:0 22px 64px;position:relative;overflow:hidden;
  min-height:calc(100vh - 60px);min-height:calc(100svh - 60px)}
body[data-sec="part"] .book{padding-bottom:0}
.sh.pt{background:none;color:var(--navy);margin:0 0 26px;padding:44px 0 0;position:static}
.sh.pt .lbl{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
.sh.pt h1{font-family:var(--display);font-weight:500;font-size:clamp(50px,11vw,96px);line-height:1;margin:11vh 0 0;letter-spacing:-.005em}
.sh.pt h1 .modo{font-size:.46em;letter-spacing:.06em;gap:.3em}
.sh.pt h1 .modo .box{padding:2px 12px 5px}
.sh.pt .slogan{font-family:var(--display);font-size:clamp(20px,2.6vw,24px);line-height:1.3;margin:18px 0 0;max-width:20em}
.sh.pt .navybar{width:52px;height:5px;background:var(--navy);margin:26px 0 0}
.sh.pt .bars{bottom:56px}
.sh.pt .bars i{background:rgba(16,30,142,.07)}
.sec-part .b{position:relative;z-index:1;max-width:34em}
.sec-part .b p{color:var(--navy)}
/* páginas de texto */
.sh.pg{margin:0 0 26px;padding:56px 0 0}
.sh.pg h1{font-family:var(--display);font-weight:500;font-size:clamp(30px,5vw,40px);line-height:1.12;color:var(--navy);margin:0;text-wrap:balance}
.sh.pg .bar{width:44px;height:5px;background:var(--lime);margin:18px 0 0}
/* folio al pie del capítulo */
.folio{display:flex;align-items:center;justify-content:center;gap:14px;margin:56px 0 0;font-family:var(--display);font-weight:500;
  font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.folio::before,.folio::after{content:"";width:26px;height:3px;background:var(--lime)}

/* cajas */
.box{margin:28px 0}
.box p:last-child,.box ul:last-child,.box ol:last-child{margin-bottom:0}
.boxlabel{display:flex;align-items:center;gap:10px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);margin-bottom:10px}
.tri{display:inline-flex;flex-direction:column;gap:2px}.tri i{display:block;width:15px;height:3px;background:var(--navy)}
.pruebalo{border:2px solid var(--navy)}
.pruebalo .hd{background:var(--navy);color:#fff;padding:11px 16px 12px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap}
.pruebalo .hd .k{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime)}
.pruebalo .hd .t{font-family:var(--display);font-weight:500;font-size:19px;line-height:1.25}
.pruebalo .bd{padding:16px 18px 18px}
.pruebalo ol li{padding-left:36px;margin-bottom:10px}
.pruebalo ol li::before{content:counter(ol);width:24px;height:24px;background:var(--lime);color:var(--navy);display:flex;align-items:center;justify-content:center;font-size:14px;top:2px}
.porque{background:var(--soft);padding:18px 20px;font-size:16.5px}
.trampa{border:1px solid var(--line);border-left:5px solid var(--red);padding:16px 18px;font-size:17px}
.trampa .boxlabel{color:var(--red)} .trampa .sq{display:inline-block;width:9px;height:9px;background:var(--red)}
.llevas{background:var(--navy);color:#fff;padding:22px 24px 20px}
.llevas .lt{font-family:var(--display);font-weight:500;font-size:24px}
.llevas .lt span{color:var(--lime)}
.llevas .rb{width:44px;height:5px;background:var(--red);margin:12px 0 14px}
.llevas ul{margin:0}
.llevas ul li{padding:9px 0 9px 24px;margin:0;border-top:1px solid rgba(255,255,255,.14);font-size:16.5px;line-height:1.5}
.llevas ul li:first-child{border-top:0;padding-top:0}
.llevas ul li::before{background:var(--lime);width:13px;height:3px;top:1.15em;left:0}
.llevas ul li:first-child::before{top:.7em}
.llevas strong{color:#fff} .llevas .en{color:var(--lime)}
.llevas .sw{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin-top:14px;padding-top:13px;border-top:1px solid rgba(255,255,255,.18)}
.llevas .sw .swl{font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--sky);margin-right:4px}
.llevas .sw .s{display:inline-flex;align-items:center;gap:7px;font-family:var(--display);font-weight:500;font-size:13px;color:rgba(255,255,255,.42);border:1px solid rgba(255,255,255,.25);padding:4px 10px 4px 6px}
.llevas .sw .s i{position:relative;display:inline-block;width:20px;height:11px;border:1px solid currentColor}
.llevas .sw .s i::after{content:'';position:absolute;top:1px;left:1px;width:7px;height:7px;background:currentColor}
.llevas .sw .s.on{color:var(--navy);background:var(--lime);border-color:var(--lime)}
.llevas .sw .s.on i::after{left:auto;right:1px}
.practica{background:var(--lime);color:var(--navy);padding:18px 20px}
.practica p,.practica strong{color:var(--navy)}
.respuestas{border-top:1px solid var(--rule);padding-top:12px;font-size:16px}
.respuestas .boxlabel{color:var(--muted)} .respuestas .tri i{background:var(--muted)}
.nota{padding:4px 0 4px 18px;border-left:3px solid var(--navy);font-size:17px}
.revelar .rv{position:relative;padding:8px 0;min-height:52px}
.revelar .rv .cover{display:none}
.revelar .rv.covered{min-height:90px}
.revelar .rv.covered > :not(.cover){visibility:hidden}
.revelar .rv.covered .cover{display:flex;align-items:center;justify-content:center;position:absolute;inset:0;width:100%;
  background:var(--lime);border:0;color:var(--navy);font-family:var(--display);font-weight:500;font-size:15px;cursor:pointer;padding:12px}
.revelar .rv:not(.covered){cursor:pointer}

/* ejercicios */
.f{font:inherit;color:var(--navy);border:0;border-bottom:1.5px solid var(--rule);background:transparent;width:100%;padding:6px 2px}
.f:focus{outline:none;border-bottom-color:var(--navy);background:rgba(205,233,128,.18)}
textarea.f{display:block;resize:vertical;line-height:1.7;border:1.5px solid var(--rule);padding:8px 10px;margin:12px 0 4px;
  background-image:linear-gradient(transparent calc(1.7em - 1px),var(--line) 1px);background-size:100% 1.7em;background-attachment:local}
input[type=checkbox].f{width:20px;height:20px;accent-color:var(--navy);margin:3px 0 0;padding:0;border:0}
.checks{margin:8px 0 14px}
.checks .ck{display:grid;grid-template-columns:24px 1fr;gap:12px;align-items:start;margin:0 0 9px;font-size:16.5px;line-height:1.5}
.pares{margin:16px 0 20px}
.pares .row{display:grid;grid-template-columns:1fr 1fr;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);align-items:baseline}
.pares .row:first-child{border-top:1px solid var(--line)}
.pares .row > div:last-child{color:var(--navy)}
.pares.en-es .row > div:first-child{font-family:var(--display);font-weight:500;color:var(--navy);font-size:18px}
.pares.en-es .row > div:last-child{color:var(--muted);font-size:16px}
.pares.qa .row > div{font-family:var(--display);font-weight:500;font-size:18px}
.pares.qa .row > div:first-child{color:var(--ink);font-weight:400}
.pares .hdr{display:grid;grid-template-columns:1fr 1fr;gap:16px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);padding-bottom:8px;border-bottom:2px solid var(--navy)}
.pares .hdr + .row{border-top:0}
@media (max-width:560px){.pares.en-es .row{grid-template-columns:1fr;gap:2px}.pares.en-es .hdr{display:none}}
.grid3{margin:20px 0 22px;border-bottom:1px solid var(--line)}
.grid3 .cell{display:grid;grid-template-columns:150px 1fr;gap:16px;border-top:3px solid var(--navy);padding:12px 0;font-size:16.5px}
.grid3 .cell .cl{font-family:var(--display);font-weight:500;font-size:19px;line-height:1.25;color:var(--navy)}
.grid3 .cell p{margin:0}
@media (max-width:560px){.grid3 .cell{grid-template-columns:1fr;gap:4px}}
.sonidos{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px;margin:16px 0 22px}
.sonidos .s{border-top:1px solid var(--line);padding-top:9px}
.sonidos .s .w{font-family:var(--display);font-weight:500;font-size:19px;color:var(--navy)}
.sonidos .s .d{font-size:15.5px;line-height:1.5}
@media (max-width:560px){.sonidos{grid-template-columns:1fr}}
.swbig{border:2px solid var(--navy);margin:22px 0 24px}
.swbig .r{display:grid;grid-template-columns:50px 130px 1fr;align-items:center;gap:14px;padding:13px 18px;border-bottom:1px solid var(--line)}
.swbig .tg{position:relative;display:inline-block;width:44px;height:22px;background:var(--lime);border:2px solid var(--navy)}
.swbig .tg i{position:absolute;top:2px;right:2px;width:14px;height:14px;background:var(--navy)}
.swbig b{font-family:var(--display);font-weight:500;font-size:20px;color:var(--navy)}
.swbig .d{font-size:16px}
.swbig .res{display:flex;align-items:center;justify-content:flex-end;gap:9px;background:var(--navy);padding:11px 18px;font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#fff}
.swbig .res .on{background:var(--lime);color:var(--navy);padding:2px 8px}
@media (max-width:560px){.swbig .r{grid-template-columns:50px 1fr}.swbig .r .d{grid-column:1/-1}}
.nube{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 22px}
.nube > span{background:var(--soft);border:1px solid var(--line);color:var(--navy);font-family:var(--display);font-size:15px;line-height:1.3;padding:6px 10px}
.declaracion{border:2px solid var(--navy);padding:26px 24px 22px;margin:24px 0}
.declaracion .dt{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);margin-bottom:14px}
.declaracion .dq{font-family:var(--display);font-size:21px;line-height:1.42;color:var(--navy)}
.declaracion .sign{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-top:26px}
.declaracion .sign span{display:block;font-family:var(--display);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.declaracion .sign .f{border-bottom-color:var(--navy)}
.plan{margin:14px 0}
.plan .d{display:grid;grid-template-columns:52px 1fr 24px;gap:12px;align-items:start;padding:9px 0;border-bottom:1px solid var(--line);font-size:16px;line-height:1.5}
.plan .d .n{font-family:var(--display);font-weight:500;color:var(--navy);font-size:16px}
.plan .d .n small{display:block;font-size:10.5px;letter-spacing:.16em;color:var(--muted);text-transform:uppercase}
.plan .wk{font-family:var(--display);font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);margin:22px 0 6px;display:flex;align-items:center;gap:10px}
.plan .wk i{display:inline-block;width:20px;height:5px;background:var(--lime)}
.kit{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;margin-top:8px}
.kit .it{padding:10px 0 12px;border-top:1px solid var(--line)}
.kit .it .n{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.14em;color:var(--muted)}
.kit .it .t{font-family:var(--display);font-weight:500;font-size:17px;line-height:1.3;color:var(--navy);margin:3px 0 4px}
.kit .it .d{font-size:15px;line-height:1.45}
@media (max-width:560px){.kit{grid-template-columns:1fr}}
.prod{border-top:5px solid var(--navy);padding-top:12px;margin:24px 0 20px}
.prod .pk{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.prod .pt{font-family:var(--display);font-weight:500;font-size:22px;color:var(--navy);margin:4px 0 8px}
.prod .lk{font-family:var(--display);font-weight:500;color:var(--navy)}
.lectura{border-left:5px solid var(--navy);padding:2px 0 2px 18px;margin:18px 0 20px}
.lectura p{font-family:var(--display);font-size:18.5px;line-height:1.55;color:var(--navy);margin:0 0 11px}
.lectura .en{font-weight:400}
table.robos{font-size:14px}
table.robos th{width:25%}
table.robos td{padding:0 8px 0 0}
table.robos .f{border-bottom:1px solid var(--rule);padding:10px 2px}
.ia{border:2px solid var(--navy)}
.ia .iahd{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--sky);padding:14px 18px}
.ia .iahd .k{font-family:var(--display);font-weight:500;font-size:21px;color:var(--navy)}
.ia .iahd .m{font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--navy);background:#fff;padding:4px 9px}
.ia .bd{padding:18px 20px 20px;font-size:17px}
.ia .bd > p{margin:0 0 12px}
.prompt{position:relative;background:var(--soft);border-left:4px solid var(--navy);padding:14px 16px 52px;margin:10px 0}
.prompt .pl{font-family:var(--display);font-weight:500;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);margin-bottom:6px}
.prompt p{font-size:16.5px;line-height:1.65;margin:0}
.prompt .copy{position:absolute;left:16px;bottom:12px;background:var(--navy);color:#fff;border:0;font-family:var(--display);font-size:14px;padding:7px 14px;cursor:pointer}
.prompt .copy:hover{background:#0B1466}
.ia .iaft{font-size:14px;line-height:1.5;color:var(--muted);margin-top:14px}
.ia .iaft a{font-weight:700}

/* paginación y cierre */
.pager{max-width:720px;margin:10px auto 0;padding:0 22px 60px;display:flex;justify-content:space-between;gap:14px}
.pbtn{flex:1;max-width:48%;background:#fff;border:2px solid var(--navy);color:var(--navy);font-family:var(--display);font-weight:500;
  font-size:16px;line-height:1.3;text-align:left;padding:14px 16px;cursor:pointer}
.pbtn small{display:block;font-size:20px;color:var(--navy);margin-bottom:2px}
.pbtn.nx{text-align:right;margin-left:auto;background:var(--navy);color:#fff}
.pbtn.nx small{color:var(--lime);margin:2px 0 0}
.pbtn:hover{border-color:#0B1466}
.buy{max-width:720px;margin:0 auto 70px;padding:34px 28px;background:var(--navy);color:#fff}
.buy .k{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--lime);margin:0 0 10px}
.buy h2{font-family:var(--display);font-weight:400;font-size:clamp(24px,4vw,32px);line-height:1.2;margin:0 0 14px}
.buy p{color:rgba(255,255,255,.86);margin:0 0 20px}
.buy .btn{display:inline-block;font-family:var(--display);font-weight:500;font-size:17px;text-decoration:none;padding:15px 26px}
.buy .btn.lime{background:var(--lime);color:var(--navy)}
.buy .dl{font-size:15px;margin:22px 0 0}
.buy .dl a{color:#fff;box-shadow:inset 0 -2px 0 var(--lime);text-decoration:none}
[hidden]{display:none !important}
@media print{.topbar,.pager,.toc{display:none}body.reader{padding:0}}

/* =====================================================================
   Versión libro (30 oct 2026): portada, portadilla con índice, hoja
   ===================================================================== */
/* la hoja: en escritorio el texto vive en una página blanca sobre la mesa */
@media (min-width:900px){
  body.reader{background:var(--soft)}
  .book{max-width:800px;background:#fff;border:1px solid var(--line);margin:28px auto 0;padding:0 76px 64px;font-size:18.5px;line-height:1.7}
  .sh{margin-left:-76px;margin-right:-76px;padding-left:76px;padding-right:76px}
  .sh.ch{min-height:calc(100vh - 88px);min-height:calc(100svh - 88px);padding-top:56px}
  .sh.ch .cue{left:76px}
  .sh.pg{margin-left:0;margin-right:0;padding:76px 0 0}
  .sec-part{margin:0 -76px;padding:0 76px 76px;min-height:calc(100vh - 88px);min-height:calc(100svh - 88px)}
  .sh.pt{padding:56px 0 0;margin-left:0;margin-right:0}
  .pager{max-width:800px;padding:28px 0 64px}
  .buy,.endpage{max-width:800px}
}
@media (min-width:900px) and (max-height:760px){.sh.ch .mid{padding:3vh 0 10vh}}

/* portadilla e índice (sección "inicio") */
.sec-front{padding-top:8px}
.tp{padding:12vh 0 0;min-height:calc(100vh - 140px);min-height:calc(100svh - 140px);display:flex;flex-direction:column}
.tp .logo{display:flex;align-items:center;gap:12px;color:var(--red)}
.tp .logo svg{height:34px;width:auto;display:block}
.tp .logo .wm{font-family:var(--display);font-weight:500;font-size:10px;letter-spacing:.26em;line-height:1.5;text-transform:uppercase}
.tp .tt{font-family:var(--display);font-weight:500;font-size:clamp(34px,6vw,50px);line-height:1.1;color:var(--navy);margin:auto 0 0;padding-top:10vh}
.tp .tt span{display:block}
.tp .tt .l2{display:inline;box-shadow:inset 0 -.3em 0 var(--lime);padding-right:4px}
.tp-en .tt{font-size:clamp(23px,4.6vw,40px)}
.tp .ts{font-family:var(--display);font-weight:300;font-size:clamp(17px,2.2vw,20px);line-height:1.42;color:var(--ink);margin:24px 0 0;max-width:26em}
.tp .ta{font-family:var(--display);font-weight:500;font-size:18px;color:var(--navy);margin:28px 0 auto}
.contents{padding:40px 0 10px}
.contents .ct-h{font-family:var(--display);font-weight:500;font-size:clamp(28px,4.6vw,36px);color:var(--navy);margin:0 0 22px}
.contents .ct-h::before{display:none}
.book .contents a{box-shadow:none}
.contents .grp{display:flex;align-items:center;gap:11px;margin:26px 0 4px;font-family:var(--display);font-weight:500;font-size:12px;
  letter-spacing:.2em;text-transform:uppercase;color:var(--navy);padding:4px 0}
.contents .grp i{display:inline-block;width:22px;height:5px;background:var(--lime)}
.contents .row{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:baseline;padding:12px 4px 12px 0;
  border-bottom:1px solid var(--line);color:var(--ink);font-size:17px;line-height:1.4;transition:background .2s,padding .2s}
.contents .row .n{font-family:var(--display);font-weight:500;color:var(--navy);font-size:15px}
.contents .row .ar{color:var(--navy);opacity:0;transition:opacity .2s,transform .2s;transform:translateX(-6px)}
.contents .row:hover{background:var(--soft);padding-left:8px}
.contents .row:hover .ar{opacity:1;transform:none}
.contents a.grp:hover{color:var(--ink)}
.credits{margin:64px 0 0;padding-top:20px;border-top:1px solid var(--line);font-size:13.5px;line-height:1.6;color:var(--muted)}
.book .credits p{margin:0 0 9px}
.book .credits strong{color:var(--ink)}

/* índice lateral: portada */
.toc li.t-cover a{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}

/* contraportada al final del libro completo */
.endpage{max-width:720px;margin:0 auto 70px;padding:40px 32px 34px;background:var(--navy);color:#fff;position:relative}
.endpage .logo{display:flex;align-items:center;gap:12px;color:#fff}
.endpage .logo svg{height:30px;width:auto}
.endpage .logo .wm{font-family:var(--display);font-weight:500;font-size:9px;letter-spacing:.26em;line-height:1.5;text-transform:uppercase}
.endpage .big{font-family:var(--display);font-weight:500;font-size:clamp(32px,6vw,48px);line-height:1.08;margin:56px 0 18px}
.endpage .big span{display:block}.endpage .big .l2{color:var(--lime)}
.endpage .sm{color:var(--sky);font-size:16px;margin:0 0 40px}
.endpage .sm a{color:#fff;text-decoration:none;box-shadow:inset 0 -2px 0 var(--lime)}
.endpage .mk .modo{font-size:12px;letter-spacing:.14em}

/* ---------- la portada al abrir ---------- */
html.op-open{overflow:hidden}
html.deep .opening{display:none}
.opening{position:fixed;inset:0;z-index:100;background:var(--soft);display:flex;flex-direction:column;overflow:auto;
  transition:opacity .45s ease .55s}
.opening.leaving{opacity:0;pointer-events:none}
.opening.entering{opacity:0;transition:none}
.op-top{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:16px 20px 0}
.op-top a.back{color:var(--navy);text-decoration:none;font-family:var(--display);font-size:15px;display:flex;gap:7px;align-items:center}
.op-top .stickymode{position:static;opacity:1;transform:none;pointer-events:auto;backdrop-filter:none;padding:7px 11px;gap:9px;background:var(--navy)}
.op-top .stickymode .sm-t{display:block;font-size:12px}
.op-main{flex:1;display:flex;align-items:center;justify-content:center;gap:clamp(36px,6vw,84px);padding:20px 24px 36px}
.bk-wrap{position:relative;flex:none;height:min(calc(100vh - 150px),700px);height:min(calc(100svh - 150px),700px);aspect-ratio:2/3;perspective:2400px}
.bk-wrap::after{content:"";position:absolute;inset:5px -5px -5px 5px;background:#fff;border:1px solid var(--rule)}
.bk,.pg1{position:absolute;inset:0;container-type:inline-size;overflow:hidden}
.pg1{background:#fff;z-index:1;border:1px solid var(--line)}
.bk{z-index:2;background:var(--navy);color:#fff;cursor:pointer;transform-origin:left center;backface-visibility:hidden;
  transition:transform .95s cubic-bezier(.62,.04,.3,1)}
.bk.turn{transform:rotateY(-108deg)}
.bk::before{content:"";position:absolute;left:0;top:0;bottom:0;width:2.2cqw;background:#0C1672;border-right:1px solid rgba(255,255,255,.07);z-index:3}
.bk:focus-visible{outline:3px solid var(--lime);outline-offset:4px}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .bk:not(.turn):hover{transform:rotateY(-7deg)}
  .bk{transition:transform .95s cubic-bezier(.62,.04,.3,1)}
}
/* réplica de la portada del PDF, a escala del ancho del libro (576 px = 100cqw) */
.cv{position:absolute;inset:0}
.cv .top{position:absolute;left:10.3cqw;right:10.3cqw;top:10cqw}
.cv .logo,.pg1 .logo{display:flex;align-items:center;gap:2.1cqw}
.cv .logo svg,.pg1 .logo svg{height:5.9cqw;width:auto;display:block}
.cv .logo .wm,.pg1 .logo .wm{font-family:var(--display);font-weight:500;font-size:1.74cqw;letter-spacing:.26em;line-height:1.5;text-transform:uppercase}
.cv .bars{position:absolute;right:-6.7cqw;top:89.2cqw;display:flex;flex-direction:column;gap:4.33cqw}
.cv .bars i{display:block;width:48.3cqw;height:7.33cqw;background:rgba(255,255,255,.06)}
.cv .title{position:absolute;left:10.3cqw;right:8.3cqw;top:32.5cqw}
.cv .t{font-family:var(--display);font-weight:500;font-size:8.68cqw;line-height:1.04;letter-spacing:-.01em;color:#fff}
.cv .t span{display:block}.cv .t .l2{color:var(--lime)}
.cv-en .t{font-size:5.9cqw;line-height:1.12}.cv-en .t span{white-space:nowrap}
.cv .redbar{width:9cqw;height:.87cqw;background:var(--red);margin:4.5cqw 0 3.8cqw}
.cv .sub{font-family:var(--display);font-weight:300;font-size:2.95cqw;line-height:1.38;color:var(--sky);max-width:68.4cqw}
.cv .tag{display:inline-block;background:var(--lime);color:var(--navy);padding:1.56cqw 2.26cqw 1.39cqw;margin-top:4.5cqw}
.cv .tag b{display:block;font-family:var(--display);font-weight:500;font-size:1.65cqw;letter-spacing:.22em;text-transform:uppercase}
.cv .tag span{display:block;font-family:var(--display);font-weight:400;font-size:1.82cqw;margin-top:.52cqw}
.cv .author{position:absolute;left:10.3cqw;bottom:10.3cqw}
.cv .author .n{font-family:var(--display);font-weight:500;font-size:4.17cqw;color:#fff;letter-spacing:.01em;line-height:1.2}
.cv .author .b{font-family:var(--display);font-weight:400;font-size:1.56cqw;letter-spacing:.26em;text-transform:uppercase;color:var(--sky);margin-top:.7cqw}
.cv .onmark{position:absolute;right:10.3cqw;bottom:11cqw;font-size:1.74cqw;color:#fff}
.cv .modo,.pg1 .modo{gap:1.2cqw;letter-spacing:.14em}
.cv .modo .box{padding:.35cqw 1.2cqw .52cqw}
/* la portadilla que queda debajo de la portada */
.pg1 .tp{position:absolute;inset:0;padding:12.5cqw;min-height:0;display:block}
.pg1 .tp .logo{color:var(--red)}
.pg1 .tp .tt{font-size:5.9cqw;line-height:1.08;margin:15.6cqw 0 0;padding:0}
.pg1 .tp-en .tt{font-size:4.34cqw}
.pg1 .tp .ts{font-size:2.6cqw;margin-top:3.8cqw;max-width:66cqw}
.pg1 .tp .ta{font-size:2.78cqw;margin-top:4.5cqw}
/* lo que acompaña a la portada */
.op-side{width:min(360px,100%)}
.op-k{font-family:var(--display);font-weight:500;font-size:12px;letter-spacing:.22em;text-transform:uppercase;color:var(--navy);margin:0 0 12px;display:flex;align-items:center;gap:11px}
.op-k::before{content:"";width:22px;height:5px;background:var(--lime)}
.op-l{font-family:var(--display);font-weight:300;font-size:20px;line-height:1.4;color:var(--navy);margin:0 0 26px}
.op-acts{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.op-go{font-family:var(--display);font-weight:500;font-size:18px;line-height:1.25;background:var(--lime);color:var(--navy);border:2px solid var(--lime);
  padding:15px 26px;cursor:pointer;text-align:left;transition:background .2s,border-color .2s}
.op-go:hover{background:#C2E06A;border-color:#C2E06A}
.op-go:focus-visible,.op-start:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.op-go small{display:block;font-family:var(--text);font-weight:400;font-size:14px;margin-top:4px;color:var(--navy);opacity:.8}
.op-start{font-family:var(--display);font-size:15px;background:none;border:0;padding:4px 0;color:var(--navy);cursor:pointer;box-shadow:inset 0 -2px 0 var(--lime)}
.opening.has-resume .op-open,.opening:not(.has-resume) .op-resume,.opening:not(.has-resume) .op-start{display:none}
.op-notes{list-style:none;margin:30px 0 0;padding:20px 0 0;border-top:1px solid var(--rule)}
.op-notes li{font-size:14.5px;line-height:1.55;color:var(--ink);margin:0 0 10px;padding-left:18px;position:relative}
.op-notes li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;background:var(--navy)}
.op-notes b{font-family:var(--display);font-weight:500;color:var(--navy);letter-spacing:.04em}
@media (max-width:760px){
  .op-top{padding:12px 14px 0}
  .op-top .stickymode .sm-t{font-size:11px;letter-spacing:.09em}
  .op-main{flex-direction:column;justify-content:flex-start;gap:24px;padding:18px 24px 30px}
  .bk-wrap{height:auto;width:min(calc(100vw - 58px),calc((100vh - 330px) * .6667));width:min(calc(100vw - 58px),calc((100svh - 330px) * .6667));min-width:200px}
  .op-side{width:100%;max-width:420px}
  .op-l{font-size:17px;margin-bottom:20px}
  .op-acts .op-go{width:100%}
  .op-notes{margin-top:22px;padding-top:16px}
  .op-notes li{font-size:13.5px}
}
@media (max-width:760px) and (max-height:700px){.op-l{display:none}}
