/* =========================================================
   ESTANTE v2 (estante.js, 13/10): a estante de frente, os livros por cima,
   a transicao e o leitor de PDF no visual do modo Livro.
   ========================================================= */
html.est2-esmaece .mesa-wrap,html.est2-esmaece .controles{opacity:.15;transition:opacity .35s ease}

.est2{position:fixed;inset:0;z-index:70;display:flex;flex-direction:column;background:#0b0907;
  padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);
  opacity:1;transition:opacity .28s ease}
.est2[hidden]{display:none!important}
.est2.chegando,.est2.indo{opacity:0}
.est2-topo{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;
  background:rgba(10,8,6,.85);border-bottom:1px solid #2a2118}
.est2-topo h2{margin:0 auto 0 4px;font-family:Anton,Impact,sans-serif;font-size:20px;letter-spacing:.04em;color:var(--creme)}
.est2-acoes{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.est2-bt{font-family:var(--mono);font-size:11px;letter-spacing:.05em;background:rgba(20,16,12,.8);color:var(--creme);
  border:1px solid var(--line);border-radius:99px;padding:7px 12px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:4px}
.est2-bt:hover,.est2-bt.on{border-color:var(--am,#EAB308);color:var(--am,#EAB308)}
.est2-bt.forte{background:var(--lar);border-color:var(--lar);color:#0D0D0D;font-weight:700}
.est2-bt:disabled{opacity:.4;cursor:default}

/* o palco: arte 1344x752; no celular ele passa da tela e rola na horizontal */
.est2-rolo{flex:1;min-height:0;overflow:auto;-webkit-overflow-scrolling:touch;display:flex;align-items:center}
.est2-palco{position:relative;margin:auto;aspect-ratio:1344/752;
  width:min(100%, calc((100dvh - 120px) * 1.787));min-width:820px;user-select:none;-webkit-user-select:none}
.est2-arte{position:absolute;inset:0;width:100%;height:100%;display:block;pointer-events:none}
.est2-dica{flex:none;margin:0;padding:6px 14px 10px;font-size:12px;color:var(--muted);text-align:center}

.est2-lv{position:absolute;padding:0;border:0;border-radius:2px 2px 1px 1px;cursor:pointer;overflow:hidden;
  box-shadow:inset 2px 0 3px rgba(255,255,255,.12),inset -3px 0 4px rgba(0,0,0,.45),3px 0 6px rgba(0,0,0,.55),0 2px 3px rgba(0,0,0,.6);
  transition:transform .15s ease,filter .15s ease}
.est2-lv:hover,.est2-lv:focus-visible{transform:translateY(-4%);filter:brightness(1.15);outline:none;
  box-shadow:0 0 0 2px var(--luz,#EAB308),3px 0 6px rgba(0,0,0,.55)}
.est2-lv.tranca{filter:saturate(.55) brightness(.75)}
.est2-rot{position:absolute;left:0;right:0;top:5%;bottom:5%;display:flex;align-items:center;justify-content:center;overflow:hidden;pointer-events:none}
.est2-rot-t{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;
  font:700 calc(var(--u,8px) * .82)/1 Inter,system-ui,sans-serif;letter-spacing:.04em;color:#f6ead2;
  text-shadow:0 1px 2px #000,0 0 4px rgba(0,0,0,.8);text-transform:uppercase}
.est2-lv.claro .est2-rot-t{color:#2a2118;text-shadow:none}
.est2-ico{position:absolute;left:50%;top:5%;transform:translateX(-50%);display:flex;align-items:center;justify-content:center;line-height:1;pointer-events:none}
.est2-raio{display:block;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 3px rgba(0,0,0,.8))}
.est2-selo{filter:drop-shadow(0 1px 2px #000)}
.est2-palco.editando .est2-lv{touch-action:none;cursor:grab;animation:est2Treme 1.8s ease-in-out infinite}
.est2-lv.arrastando{z-index:5;cursor:grabbing;animation:none;opacity:.9;transition:none;box-shadow:0 0 0 2px var(--luz,#EAB308),0 10px 24px rgba(0,0,0,.7)}
.est2-slot{position:absolute;border:1px dashed rgba(234,179,8,.28);border-bottom:2px solid rgba(234,179,8,.45);pointer-events:none}
@keyframes est2Treme{0%,100%{rotate:0deg}50%{rotate:.8deg}}

/* cartao */
.est2-cartao-fundo{position:absolute;inset:0;z-index:20;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:16px}
.est2-cartao{position:relative;width:100%;max-width:440px;max-height:calc(100% - 20px);overflow:auto;background:linear-gradient(180deg,#17120d,#100c08);
  border:1px solid #4a3822;border-radius:14px;padding:18px 18px 16px;box-shadow:0 20px 60px rgba(0,0,0,.7);color:var(--creme)}
.est2-cartao h3{margin:0 30px 10px 0;font-family:Anton,Impact,sans-serif;font-size:20px;letter-spacing:.03em}
.est2-cartao p{margin:.5em 0;font-size:14px;line-height:1.5}
.est2-cartao-pe{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.est2-x{position:absolute;top:10px;right:10px;width:32px;height:32px;border-radius:99px;border:1px solid var(--line);background:none;color:var(--creme);cursor:pointer}
.est2-mini{font-size:12px!important;color:var(--muted)}
.est2-falta{font-family:var(--mono);font-size:12px!important;color:#c9ab6f}
.est2-barra{height:6px;border-radius:9px;background:#2a2118;overflow:hidden}
.est2-barra i{display:block;height:100%;width:0;background:var(--lar);transition:width .2s}
.est2-rotulo{display:block;margin:10px 0 6px!important;font:600 11px var(--mono)!important;letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.est2-campo{width:100%;box-sizing:border-box;background:#15110c;color:var(--creme);border:1px solid #33281b;border-radius:8px;padding:9px 10px;font:14px Inter,sans-serif}
.est2-estilos{display:grid;grid-template-columns:repeat(auto-fill,minmax(30px,1fr));gap:6px}
.est2-amostra{height:62px;border:2px solid transparent;border-radius:3px;cursor:pointer;padding:0}
.est2-amostra.on{border-color:var(--am,#EAB308)}
.est2-mover{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.est2-layouts{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.est2-lay{background:none;border:2px solid #33281b;border-radius:10px;padding:4px;cursor:pointer;color:var(--creme);font:600 11px var(--mono);letter-spacing:.05em}
.est2-lay img{display:block;width:100%;border-radius:6px;margin-bottom:5px}
.est2-lay.on{border-color:var(--am,#EAB308);color:var(--am,#EAB308)}

/* transicao */
.est2-trans{position:fixed;inset:0;z-index:90;background:#0b0907;overflow:hidden;opacity:1;transition:opacity .4s ease;pointer-events:none}
.est2-trans.saindo{opacity:0}
.est2-trans video{width:100%;height:100%;object-fit:cover;display:block}
.est2-trans.css img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.6,0,.3,1),opacity .9s ease}
.est2-t-est{opacity:0;transform:translateY(-14%) scale(1.15)}
.est2-trans.rodando .est2-t-mesa{transform:translateY(30%) scale(1.25);opacity:0}
.est2-trans.rodando .est2-t-est{transform:none;opacity:1}

/* leitor de PDF: a mesa do Livro */
.est2-leitor{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;
  background:linear-gradient(rgba(8,6,4,.55),rgba(8,6,4,.7)),url("arte/livro-mesa.webp") center/cover no-repeat #0b0907}
.est2-l-topo{flex:none;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px;background:rgba(10,8,6,.82);border-bottom:1px solid #2a2118}
.est2-l-topo strong{flex:1;min-width:120px;font-size:14px;color:var(--creme);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.est2-l-topo select{font-family:var(--mono);font-size:11px;background:#16120d;color:var(--creme);border:1px solid var(--line);border-radius:8px;padding:6px 7px;max-width:220px}
.est2-l-mesa{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:15px 20px;touch-action:pan-y}
.est2-l-livro{--moldura:12px}
#estLEsq{left:0}
#estLDir{left:var(--W)}
.folhas.uma #estLEsq{display:none}
.folhas.uma #estLDir{left:0}
.est2-l-janela{inset:30px 26px 30px 26px;overflow:auto;scrollbar-width:thin}
.est2-l-img{position:absolute;inset:26px 18px 28px;display:flex;align-items:center;justify-content:center}
.est2-l-img img{max-width:100%;max-height:100%;object-fit:contain;border-radius:3px;box-shadow:0 2px 10px rgba(0,0,0,.5)}
.est2-l-img.capa{inset:14px}
.folhas.vira-prox{animation:est2Prox .32s ease}
.folhas.vira-ant{animation:est2Ant .32s ease}
@keyframes est2Prox{0%{opacity:.35;transform:translateX(14px)}100%{opacity:1;transform:none}}
@keyframes est2Ant{0%{opacity:.35;transform:translateX(-14px)}100%{opacity:1;transform:none}}
.est2-l-pe{flex:none;display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;padding:8px 12px 12px;background:rgba(10,8,6,.7)}
.est2-zoom{display:inline-flex;gap:4px}

@media(max-width:560px){
  .est2-topo h2{font-size:16px}
  .est2-bt span{display:none}
  .est2-l-janela{inset:26px 16px 28px 16px}
}
@media(prefers-reduced-motion:reduce){
  .est2,.est2-lv,.est2-trans{transition:none}
  .est2-palco.editando .est2-lv{animation:none}
}
