/* Páginas de livro no estilo B: /livro e /livros/<slug>. Livro 3D em CSS puro (capa, lombada, páginas e contracapa que vira com a rolagem),
   cenas sticky com contadores, vídeo (só /livro) e edições. Depende de css/b.css e css/b-pages.css. Sem inline style (CSP).
   Cenas sticky e frases ocultas só valem com html.lv-on (o JS rodou) e sem prefers-reduced-motion; fora disso é leitura contínua. */

/* espessura proporcional às páginas: --tr = largura da lombada real / largura da capa (lombada.webp ÷ 976) */
.lv-stage{position:relative;isolation:isolate;display:grid;justify-items:center;align-content:center;gap:1.2rem;padding:1.5rem 0 2.2rem;--bw:min(34vw,400px,44vh);--ry:18deg;--rx:-3deg;--sc:1;--gx:50%}
.lv-book{--tr:.12;--t:calc(var(--bw) * var(--tr));position:relative;width:var(--bw);aspect-ratio:7 / 10;perspective:1700px}
.pg-vol2 .lv-book{--tr:.045}.pg-vol3 .lv-book{--tr:.051}.pg-vol4 .lv-book{--tr:.039}.pg-vol5 .lv-book{--tr:.045}.pg-vol6 .lv-book{--tr:.039}.pg-vol7 .lv-book{--tr:.045}
.pg-two-columns .lv-book{--tr:.113}.pg-the-short-version .lv-book{--tr:.119}.pg-what-he-meant .lv-book{--tr:.168}
.pg-serie .lv-book{aspect-ratio:900 / 1294}
.lv-book::after{content:"";position:absolute;left:4%;right:4%;top:calc(100% + var(--bw) * .08);height:calc(var(--bw) * .12);z-index:-1;background:radial-gradient(closest-side,rgba(0,0,0,.35),transparent);pointer-events:none}
html[data-theme="dark"] .lv-book::after{background:radial-gradient(closest-side,rgba(0,0,0,.8),transparent)}
.lv-solid{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateY(var(--ry)) scale(var(--sc));transition:transform .12s linear}
.lv-flip{position:absolute;inset:0;transform-style:preserve-3d;transform:rotateY(var(--fy,0deg));transition:transform .6s cubic-bezier(.3,.7,.2,1)}
.is-flipped{--fy:180deg}
.lv-f{position:absolute;margin:0;backface-visibility:hidden;-webkit-backface-visibility:hidden}
.lv-front,.lv-back{inset:0;overflow:hidden;background:#f1e4c0}
.lv-front{transform:translateZ(calc(var(--t) * .5));border-radius:2px 6px 6px 2px}
.lv-back{transform:rotateY(180deg) translateZ(calc(var(--t) * .5));border-radius:6px 2px 2px 6px}
.lv-front img,.lv-back img{display:block;width:100%;height:100%;object-fit:cover}
.lv-front::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--gx) 18%,rgba(255,255,255,.2),transparent 55%);pointer-events:none;mix-blend-mode:screen}
.lv-spine{left:calc(var(--t) * -.5);top:0;width:var(--t);height:100%;transform:rotateY(-90deg);display:grid;place-items:center;overflow:hidden;background:linear-gradient(90deg,#cdbb8a,#ecdcb2 35%,#e6d4a6 70%,#c9b681);box-shadow:inset 0 calc(var(--bw) * .05) 0 #e0602a,inset 0 calc(var(--bw) * -.05) 0 #e0602a}
.lv-spine span{writing-mode:vertical-rl;white-space:nowrap;font-weight:700;font-size:calc(var(--bw) * .043);letter-spacing:.02em;color:#1c2a5e}
.lv-spine.is-img{background:none;box-shadow:none}
.lv-spine img{display:block;width:100%;height:100%;object-fit:fill}
.lv-pg-r{left:calc(100% - var(--t) * .5);top:0;width:var(--t);height:100%;transform:rotateY(90deg);background:linear-gradient(180deg,rgba(0,0,0,.14),transparent 10%,transparent 90%,rgba(0,0,0,.2)),repeating-linear-gradient(90deg,#f8f0d8 0 1px,#dccca2 1px 2.4px)}
.lv-pg-t,.lv-pg-b{left:0;width:100%;height:var(--t);background:linear-gradient(90deg,rgba(0,0,0,.16),transparent 10%,transparent 90%,rgba(0,0,0,.1)),repeating-linear-gradient(180deg,#f8f0d8 0 1px,#dccca2 1px 2.4px)}
.lv-pg-t{top:calc(var(--t) * -.5);transform:rotateX(90deg)}
.lv-pg-b{top:calc(100% - var(--t) * .5);transform:rotateX(-90deg)}
.lv-flipbtn{margin-top:.6rem}
.lv-flipbtn[aria-pressed="true"]{background:var(--ink);color:var(--bg)}

/* hero */
.lv-stage-hero{--bw:min(38vw,400px,46vh);transform:translateY(calc(var(--hp,0) * 5vh))}
.lv-hero .lv-giant{font-size:clamp(3rem,15vw,18rem)}

/* cenas */
.lv-scene{padding:4rem 0}
#capitulos,#diagramas,#pratica,#escola{--g:var(--acc)}
#diagramas .lv-stage,#laboratorios .lv-stage{--bw:min(40vw,460px,50vh)}
.lv-pin-in{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1rem,4vw,4rem);align-items:center;max-width:1240px}
.lv-scene-r .lv-stage{order:-1}
.lv-scene-r .lv-pin-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
.lv-copy{position:relative;min-width:0}
.lv-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:.1em .35em;letter-spacing:0}
.lv-num{display:inline-block;min-width:2.5ch;font-size:clamp(5.5rem,15vw,14rem);font-weight:700;line-height:.86;letter-spacing:-.06em;font-variant-numeric:tabular-nums;color:var(--acc)}
#diagramas .lv-num,#laboratorios .lv-num{min-width:3.4ch}
.lv-unit{font-family:"PlexMono",ui-monospace,monospace;font-size:clamp(1.1rem,2.6vw,2rem);letter-spacing:.12em;text-transform:uppercase;font-weight:500}
.lv-lines{margin:1.4rem 0 0;display:grid}
.lv-lines li{grid-area:1 / 1;min-width:0;max-width:22ch;font-size:clamp(1.5rem,3.4vw,2.7rem);font-weight:700;letter-spacing:-.035em;line-height:1.08}
.lv-words li{display:flex;flex-direction:column;gap:.5rem;max-width:none}
.lv-word{max-width:100%;font-size:clamp(2.2rem,9.5vw,9rem);font-weight:700;line-height:.95;letter-spacing:-.055em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;color:var(--acc)}
.lv-word-sm{font-size:clamp(1.8rem,5.6vw,5.4rem);line-height:1}
.lv-desc{max-width:38ch;font-size:clamp(1.05rem,1.8vw,1.3rem);font-weight:500;letter-spacing:0;line-height:1.4;color:var(--mut)}
.lv-meter{margin:1.2rem 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;max-width:360px}
.lv-meter li{position:relative;padding-top:1.1rem;font-family:"PlexMono",monospace;font-size:.78rem;color:var(--mut)}
.lv-meter li::before{content:"";position:absolute;left:0;right:0;top:0;height:9px;border-radius:99px;background:var(--line)}
.lv-meter li.on{color:var(--ink);font-weight:700}
.lv-meter li.on::before{background:var(--acc)}

@media (prefers-reduced-motion:no-preference){
  html.lv-on .lv-scene{height:280vh;padding:0}
  html.lv-on .lv-pin{position:sticky;top:0;height:100svh;display:flex;align-items:center;padding-top:calc(var(--hud-h,60px) + .4rem)}
  html.lv-on .lv-pin-in{width:100%;margin:0 auto}
  html.lv-on .lv-lines li{opacity:0;transform:translateY(26px);transition:opacity .55s ease,transform .6s cubic-bezier(.2,.8,.2,1)}
  html.lv-on .lv-lines li.is-on{opacity:1;transform:none}
  html.lv-on .lv-lines li.is-past{opacity:0;transform:translateY(-26px)}
  html:not(.lite) .lv-book{animation:lv-float 7s ease-in-out infinite}
}
@keyframes lv-float{50%{transform:translateY(-9px)}}
@media (prefers-reduced-motion:reduce){
  .lv-stage .lv-solid,.lv-scene .lv-solid,.lv-stage-hero .lv-solid,.lv-stage-ed .lv-solid{transform:rotateX(-3deg) rotateY(18deg);transition:none}
  .lv-flip{transition:none}.lv-stage-hero{transform:none}
  .lv-lines{gap:.8rem}.lv-lines li{grid-area:auto}
}
html:not(.lv-on) .lv-lines{gap:.8rem}
html:not(.lv-on) .lv-lines li{grid-area:auto}

/* vídeo de divulgação (só /livro) */
.lv-video{padding:5rem 0 3rem}
.lv-cinema{position:relative;margin:2rem auto 0;max-width:1000px;padding:clamp(.4rem,1.2vw,.8rem);border-radius:22px;border:2px solid var(--ink);background:var(--card);box-shadow:8px 8px 0 var(--acc)}
.lv-screen{position:relative;aspect-ratio:16 / 9;width:100%;border-radius:14px;overflow:hidden;background:#000}
.lv-screen video{display:block;width:100%;height:100%;object-fit:contain;background:#000}
.lv-screen video p{padding:1rem;margin:0;color:#fff}
.lv-play{position:absolute;left:50%;top:50%;width:clamp(64px,11vw,96px);height:clamp(64px,11vw,96px);transform:translate(-50%,-50%);display:grid;place-items:center;padding:0 0 0 .25em;border-radius:50%;border:3px solid #fff;background:var(--acc);color:var(--on-acc);cursor:pointer;transition:transform .2s,background .2s}
.lv-play:hover,.lv-play:focus-visible{transform:translate(-50%,-50%) scale(1.08)}
.lv-play[hidden]{display:none}
.lv-play svg{width:42%;height:42%}
.lv-vcap{margin:.7rem .3rem .2rem;font-size:.85rem;color:var(--mut);text-align:center}
.lv-ai-note{max-width:1000px;margin:1.2rem auto 0;padding:.6rem .9rem;border:1px dashed var(--ink);border-radius:12px;font-size:.9rem;color:var(--mut);text-align:center;background:var(--card)}
.lv-summary{max-width:1000px;margin:1rem auto 0;border:1px solid var(--line);border-radius:14px;background:var(--card);padding:.3rem 1rem}
.lv-summary summary{cursor:pointer;padding:.6rem 0;font-weight:700;min-height:44px;display:flex;align-items:center}
.lv-summary p,.lv-summary li{color:var(--mut)}
.lv-summary ul{margin:0 0 .8rem 1.2rem;list-style:disc}
@media (prefers-reduced-motion:no-preference){
  html.lv-on:not(.lite) .lv-cinema{transition:opacity .8s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
  html.lv-on:not(.lite) .lv-cinema:not(.is-in){opacity:0;transform:translateY(40px) scale(.95)}
}

/* edições / compra */
.lv-editions{padding:6rem 0 3rem}
.lv-ed-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem;margin-bottom:1.5rem}
.lv-stage-ed{--bw:min(22vw,230px);padding:1rem 2rem 2.4rem}
.lv-eds .cover img{width:150px}

/* faz parte da coleção / série (fim da página) */
.lc{padding:3rem 0}
.lc-panel{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.2rem,4vw,3rem);align-items:center;padding:clamp(1.2rem,3vw,2rem)}
.lc-fan{position:relative;width:min(100%,400px);aspect-ratio:1 / .64;justify-self:center}
.lc-cov{--k:0;position:absolute;left:50%;top:50%;width:27%;height:auto;aspect-ratio:7 / 10;object-fit:cover;border-radius:2px 6px 6px 2px;box-shadow:var(--shb);transform:translate(-50%,-50%) translate(calc(var(--k) * 50%),calc(var(--k) * var(--k) * 2%)) rotate(calc(var(--k) * 5deg))}
.lc-cov-1{--k:-2.5}.lc-cov-2{--k:-1.5}.lc-cov-3{--k:-.5}.lc-cov-4{--k:.5}.lc-cov-5{--k:1.5}.lc-cov-6{--k:2.5}
.lc h2{font-size:clamp(1.7rem,3.6vw,2.8rem);letter-spacing:-.035em;line-height:1.05}
.lc-cta{margin:1.2rem 0 0}

/* resumo de dados do livro (páginas /livros/*) */
.lp-learn{margin:1.4rem 0 0;display:grid;gap:.5rem;max-width:58ch}
.lp-learn li{position:relative;padding-left:1.2rem}
.lp-learn li::before{content:"";position:absolute;left:0;top:.7em;width:7px;height:7px;background:var(--acc)}
.lp-learn-k{margin-top:1.4rem;font-weight:700}
.lp-facts{margin:1.4rem 0 0;display:flex;flex-wrap:wrap;gap:.5rem}
.lp-facts li{padding:.25rem .8rem;border:1.5px solid var(--ink);border-radius:999px;font-size:.88rem;background:var(--card)}
.lp-facts b{color:var(--acc-d)}
.lp-hook{margin-top:1.2rem;padding-left:1.1rem;border-left:4px solid var(--acc);max-width:30ch;font-size:clamp(1.3rem,2.6vw,1.9rem);font-weight:700;letter-spacing:-.03em;line-height:1.15}

html.lite .lv-book{animation:none}
html.lite .lv-solid,html.lite .lv-flip{transition:none}

@media (min-width:521px){.lv-eds .ed{grid-template-columns:150px 1fr}}
@media (max-width:1000px){
  .lv-stage-hero{order:-1;--bw:min(52vw,300px,38vh)}
  .lv-ed-head{grid-template-columns:minmax(0,1fr);justify-items:center}.lv-stage-ed{--bw:min(44vw,210px)}
  .lv-pin-in,.lv-scene-r .lv-pin-in{grid-template-columns:minmax(0,1fr);gap:.2rem;justify-items:start}
  .lv-scene .lv-stage{justify-self:center;order:-1;padding:.8rem 0 1.6rem;--bw:min(34vw,230px,26vh)}
  #diagramas .lv-stage,#laboratorios .lv-stage{--bw:min(44vw,320px,34vh)}
  .lc-panel{grid-template-columns:minmax(0,1fr)}.lc-fan{width:min(100%,340px)}
}
@media (max-width:700px){
  .lv-scene .lv-stage{--bw:min(36vw,160px,22vh)}
  #diagramas .lv-stage,#laboratorios .lv-stage{--bw:min(52vw,230px,30vh)}
  .lv-num{font-size:clamp(4.4rem,24vw,7.5rem)}.lv-unit{font-size:1rem}.lv-lines{margin-top:.8rem}
  .lv-lines li{font-size:clamp(1.3rem,6vw,1.8rem)}
  .lv-word{font-size:clamp(2rem,11vw,5rem)}.lv-word-sm{font-size:clamp(1.6rem,8.4vw,3rem)}
  html.lv-on .lv-scene{height:210vh}
  html.lv-on .lv-pin{padding-top:calc(var(--hud-h,60px) + .2rem)}
  .lv-editions{padding-top:4rem}.lv-video{padding-top:3.5rem}
}
@media (max-height:560px){
  html.lv-on .lv-pin{align-items:flex-start}
  .lv-pin-in,.lv-scene-r .lv-pin-in{grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1rem;justify-items:stretch}
  .lv-scene-r .lv-pin-in{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .lv-scene .lv-stage{order:0;padding:.4rem 0 1.2rem;--bw:min(24vw,34vh)}.lv-scene-r .lv-stage{order:-1}
  .lv-num{font-size:min(22vh,15vw)}.lv-lines li{font-size:clamp(1.1rem,4.4vh,1.5rem)}
  .lv-stage-hero{--bw:min(26vw,36vh)}
}

/* páginas /livros/*: nível da série, texto de apoio e navegação */
.lv-lvl-l{font-size:clamp(5.5rem,15vw,14rem);font-weight:700;line-height:.86;letter-spacing:-.06em;color:var(--acc)}
.lp-lines li{font-size:clamp(1.2rem,2.3vw,1.9rem);max-width:34ch;line-height:1.2}
.lp-about{padding:clamp(3.5rem,7vw,6rem) 0}
.lp-about .lead{font-size:1.15rem;max-width:62ch;color:var(--ink)}
.lp-about .section-intro{margin-top:1.2rem}
.pn-grid>span{display:block}
@media (max-width:1000px){.pn-grid>span{display:none}}
@media (max-width:700px){.lv-lvl-l{font-size:clamp(4.4rem,24vw,7.5rem)}.lp-lines li{font-size:clamp(1.1rem,5vw,1.5rem)}}
