/* Revisor de Livros: a biblioteca (a estante da Livraria do editor) e as telas de conta (entrar, senha). */
.bibCorpo{flex:1;overflow:auto}
.bibWrap{max-width:1180px;margin:0 auto;padding:34px 34px 120px}
.bibCab{display:flex;align-items:flex-end;gap:16px;margin-bottom:34px;flex-wrap:wrap}
.bibCab h1{margin:0;font-family:Lora,Georgia,serif;font-size:28px;font-weight:600;color:var(--ink)}
.bibCab p{margin:4px 0 0;font-size:13.5px;color:var(--muted);max-width:620px;line-height:1.5}
.bibCab .estado{margin-left:auto;font-size:12px;color:var(--faint);white-space:nowrap}
.bibAviso{max-width:560px;margin:40px auto;padding:28px;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:14px}
.bibAviso svg.grande{width:40px;height:40px;color:var(--accent);margin-bottom:8px}
.bibAviso h2{margin:0 0 6px;font-family:Lora,Georgia,serif;font-size:20px;font-weight:600;color:var(--ink)}
.bibAviso p{margin:0 0 6px;font-size:14px;line-height:1.55;color:var(--muted)}

/* a estante */
.estante{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));column-gap:34px;row-gap:56px;padding:6px 4px 0}
.livro{position:relative;display:flex;flex-direction:column;min-width:0}
.capaWrap{position:relative}
.capaWrap::after{content:"";position:absolute;left:-17px;right:-17px;bottom:-12px;height:12px;border-radius:2px;background:linear-gradient(180deg,#dcc6a4 0%,#c3a477 55%,#a98a5f 100%);box-shadow:0 10px 16px -8px rgba(60,40,15,.45)}
body.dark .capaWrap::after{background:linear-gradient(180deg,#5a4630 0%,#45351f 55%,#30251a 100%);box-shadow:0 10px 16px -8px rgba(0,0,0,.7)}
.capaMov{position:relative;z-index:1;transition:transform .25s cubic-bezier(.22,1,.36,1)}
.livro:hover .capaMov,.livro:focus-within .capaMov{transform:translateY(-7px)}
.capa{display:block;width:100%;aspect-ratio:2/3;padding:0;border:none;border-radius:3px 6px 6px 3px;overflow:hidden;background:var(--panel2);box-shadow:0 1px 1px rgba(0,0,0,.08),0 12px 22px -10px rgba(40,25,10,.45);cursor:pointer;position:relative}
.capa::before{content:"";position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(0,0,0,.28) 0,rgba(255,255,255,.14) 2.5%,rgba(0,0,0,.06) 5%,transparent 9%)}
.capa:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.capa img{width:100%;height:100%;object-fit:cover;display:block}
.capaGerada{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;padding:22% 12% 12% 16%;text-align:left;color:var(--cg-fg);background:radial-gradient(120% 90% at 85% 10%,rgba(255,255,255,.16),transparent 55%),var(--cg-bg);box-shadow:inset 0 0 0 7px var(--cg-bg),inset 0 0 0 8px rgba(255,255,255,.28)}
.capaGerada .cgTit{font-family:'Playfair Display',Lora,Georgia,serif;font-weight:700;line-height:1.12;letter-spacing:.005em;overflow-wrap:anywhere}
.capaGerada .cgFio{width:34px;height:2px;background:currentColor;opacity:.55;margin-top:12px}
.capaGerada .cgAut{font-family:Inter,system-ui,sans-serif;font-size:9.5px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;opacity:.85}
/* a paleta das capas sem imagem (a mesma da Livraria do editor) */
.capaGerada.cg0{--cg-bg:#1f3a5f;--cg-fg:#eaf1fb}
.capaGerada.cg1{--cg-bg:#b4571b;--cg-fg:#fff3e6}
.capaGerada.cg2{--cg-bg:#2d6a4f;--cg-fg:#e9f6ef}
.capaGerada.cg3{--cg-bg:#7a1f33;--cg-fg:#fbe9ee}
.capaGerada.cg4{--cg-bg:#5b3f8c;--cg-fg:#f1ebfa}
.capaGerada.cg5{--cg-bg:#8f7016;--cg-fg:#fdf6dc}
.capaGerada.cg6{--cg-bg:#1c6ea4;--cg-fg:#e8f4fd}
.capaGerada.cg7{--cg-bg:#a8326a;--cg-fg:#fdeaf3}
.capaGerada.cg8{--cg-bg:#0f766e;--cg-fg:#e3f7f5}
.capaGerada.cg9{--cg-bg:#6b4226;--cg-fg:#f6ece1}
.capaGerada.cg10{--cg-bg:#3d4f5c;--cg-fg:#edf2f5}
.capaGerada.cg11{--cg-bg:#5f7a1c;--cg-fg:#f3f8e3}
.livAcoes{position:absolute;left:0;right:0;bottom:10px;z-index:3;display:flex;justify-content:center;gap:6px;opacity:0;transform:translateY(6px);transition:opacity .18s,transform .22s;pointer-events:none}
.livro:hover .livAcoes,.livro:focus-within .livAcoes{opacity:1;transform:none;pointer-events:auto}
.livAcoes button{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:rgba(24,20,14,.78);color:#fff;box-shadow:0 4px 10px rgba(0,0,0,.25);backdrop-filter:blur(4px)}
.livAcoes button:hover{background:var(--accent)}
.livAcoes svg{width:17px;height:17px}
.livSelo{position:absolute;top:8px;left:10px;z-index:3}
.livSelo .papel{box-shadow:0 2px 6px rgba(0,0,0,.2)}
.livInfo{margin-top:24px;min-width:0}
.livInfo .t{font-family:Lora,Georgia,serif;font-size:12.5px;font-weight:600;line-height:1.3;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.livInfo .m{margin-top:3px;font-size:12px;color:var(--muted);line-height:1.4}
.livInfo .m.aviso{color:var(--accent-ink)}
.livInfo .barra{margin-top:7px}
.livInfo .rostos{margin-top:7px;gap:0}
.livInfo .rostosN{margin-left:7px;font-size:12px;color:var(--muted)}
.livro.indisp .capa{opacity:.5;cursor:default}

/* ---- telas de conta (entrar, primeiro acesso, senha) ---- */
.conta{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;padding:28px 16px;background:radial-gradient(90% 70% at 50% 0%,var(--accent-bg),transparent 70%),var(--panel)}
.contaCard{width:min(100%,410px);background:var(--paper);border:1px solid var(--line2);border-radius:16px;box-shadow:var(--shadow);padding:28px 26px;display:flex;flex-direction:column;gap:14px}
.contaMarca{display:flex;align-items:center;gap:11px;margin-bottom:4px}
.contaMarca .appIc{width:40px;height:40px;border-radius:10px}
.contaMarca .appIc svg{width:22px;height:22px}
.contaMarca b{display:block;font-family:Lora,Georgia,serif;font-size:19px;font-weight:600;color:var(--ink)}
/* só o "LifeBooks" embaixo do nome (antes pegava também o quadrado do ícone, que saía torto e cortado) */
.contaMarca>div span{display:block;font-size:12px;color:var(--muted);letter-spacing:.04em}
.contaCard h2{margin:4px 0 0;font-family:Lora,Georgia,serif;font-size:21px;font-weight:600;color:var(--ink)}
.contaCard p{margin:0;font-size:14px;line-height:1.55;color:var(--ink2)}
.contaCard form{display:flex;flex-direction:column;gap:12px}
.contaCard .btn.fill{width:100%;height:42px;font-size:15px}
.contaRodape{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:13px;color:var(--muted)}
.contaAviso{padding:12px 14px;border-radius:10px;background:var(--sys-bg);border:1px solid var(--sys-line);color:var(--ink2);font-size:13.5px;line-height:1.5}
.contaAviso b{color:var(--sys)}
.contaOk{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:6px 0}
.contaOk svg{width:40px;height:40px;color:var(--add)}
