.library-page { padding:24px 26px; }
.library-page > h2 { margin:0 0 8px; }
.library-intro { color:#bbb4a9; margin:0 0 22px; line-height:1.6; }
.library-rights { color:#bbb4a9; font-size:12px; line-height:1.6; margin:8px 0 14px; }
.library-page mark { background:transparent; color:#ff914a; font-weight:800; }
.library-layout { display:grid; grid-template-columns:280px minmax(0,1fr); gap:22px; align-items:start; }
.library-filters { position:sticky; top:18px; padding:20px; border:1px solid #4d3c2b; border-radius:10px; }
.library-filters label { display:block; margin:0 0 8px; font-weight:bold; font-size:14px; }
.library-filters input,.library-filters select { width:100%; padding:12px; color:#f5f3ef; background:#16130e; border:1px solid #4d3c2b; border-radius:8px; margin:0 0 20px; font:inherit; }
.library-filters button { width:100%; }
.library-help { font-size:12px; line-height:1.6; color:#bbb4a9; margin:16px 0 0; }
.library-status { margin:0 0 14px; color:#d4caba; font-size:14px; }
.library-results { columns:300px 3; column-gap:18px; }
.library-card { min-width:0; padding:20px; border:3px solid; border-color:#686868 #252525 #252525 #686868; border-radius:2px; background:#424242 url('icones/library-stone.svg'); overflow-wrap:anywhere; box-shadow:inset 0 0 0 1px #383838; }
.library-results .library-card { break-inside:avoid; margin:0 0 18px; }
.library-card h3 { margin:0 0 12px; display:flex; align-items:flex-start; gap:12px; }
.library-book-icon { display:inline-block; flex:0 0 32px; width:32px; height:36px; background:url('icones/library-book.svg') center/contain no-repeat; image-rendering:pixelated; }
.library-book-title { border:0; background:none; padding:0; text-align:left; font-family:Verdana,Arial,sans-serif; font-weight:bold; font-size:18px; color:#e1e1e1; line-height:1.4; cursor:pointer; }
.library-book-title:hover { color:#fff; text-decoration:underline; background:none; }
.library-meta { color:#bbb4a9; font-size:13px; line-height:1.6; margin:0 0 18px; }
.library-text { white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.65; font-size:15px; margin:0; color:#f0f0f0; }
.library-paper { min-width:0; padding:14px; background:#323232; border:1px solid; border-color:#202020 #727272 #727272 #202020; scrollbar-color:#c3c3c3 #323232; scrollbar-width:auto; }
.library-excerpt { max-height:460px; overflow:auto; font-family:Verdana,Arial,sans-serif; font-weight:600; }
.library-paper::-webkit-scrollbar { width:12px; }
.library-paper::-webkit-scrollbar-thumb { background:#c3c3c3; border:2px solid #323232; border-radius:8px; }
.library-missing { color:#bbb4a9; line-height:1.6; }
.library-source { display:inline-block; color:#e7cda7; font-size:13px; margin-top:8px; }
.library-back { margin-bottom:16px; }
.library-detail-title { font-size:24px; line-height:1.4; }
.library-layout.is-reading { grid-template-columns:minmax(0,1fr); }
.library-layout.is-reading .library-filters { display:none; }
.library-reading-columns { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.library-reading-panel { min-width:0; padding:0 20px 22px; background:#424242 url('icones/library-stone.svg'); border:3px solid; border-color:#727272 #252525 #252525 #727272; }
.library-reading-panel::before { content:''; display:block; height:26px; margin:0 -20px 0; background:rgba(0,0,0,.22); border-bottom:1px solid #292929; }
.library-panel-header { display:flex; align-items:center; gap:14px; min-height:72px; color:#fff; font-size:16px; }
.library-reading-panel .library-paper { height:clamp(340px,58vh,660px); overflow:auto; }
.library-reading-panel .library-text { font-family:Arial,Helvetica,sans-serif; font-size:17px; line-height:1.65; }
.library-reading-panel h4 { margin:0 0 16px; font-size:17px; color:#fff; }
.library-reading-panel .library-meta { font-size:12px; color:#c5c5c5; }
.library-page :focus-visible { outline:2px solid #e7cda7; outline-offset:4px; }
.library-page [hidden] { display:none; }
.library-empty { padding:28px; border:1px dashed #785d41; border-radius:10px; line-height:1.6; }
@media(max-width:750px) { .library-page{padding:20px 14px}.library-layout{grid-template-columns:1fr}.library-filters{position:static}.library-card{padding:18px} }
@media(max-width:700px) { .library-reading-columns{grid-template-columns:1fr}.library-reading-panel{padding:0 14px 16px}.library-reading-panel::before{margin:0 -14px}.library-reading-panel .library-paper{height:420px;max-height:65vh}.library-results{columns:1}.library-reading-panel .library-text{font-size:16px} }
/* Relatos e traduções compartilhadas */
.library-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:18px; }
.library-add-translation { margin:12px 18px 18px; }
.library-report { margin:18px 16px 18px 0; }
.library-report-text { white-space:pre-wrap; overflow-wrap:anywhere; }
#libraryEditDialog { box-sizing:border-box; width:min(760px,calc(100vw - 32px)); max-height:90vh; overflow:auto; }
#libraryEditDialog::backdrop { background:rgb(0 0 0 / 72%); }
#libraryEditDialog label { display:block; margin:18px 0 8px; }
#libraryEditDialog textarea { box-sizing:border-box; width:100%; min-height:220px; resize:vertical; font:16px/1.5 Arial,sans-serif; background:#1b160e; color:#f5f3ef; border:1px solid #705a43; border-radius:6px; padding:12px; }
#libraryEditDialog textarea:focus-visible { outline:2px solid #d7b76e; outline-offset:2px; }
#libraryEditHint,#libraryRemoteStatus { color:#cac2b7; font-size:14px; }
#libraryEditStatus { color:#f5c479; }

.library-book-sprite { width:32px; height:32px; object-fit:contain; image-rendering:pixelated; flex:0 0 32px; }

/* Leitura e pesquisa com acabamento de livro */
.library-location { font-size:16px; color:#d8caa6; font-weight:600; }
.library-detail-heading { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; margin-bottom:16px; }
.library-detail-heading h3 { margin:0; flex:1 1 260px; }
.library-title-actions { display:flex; flex-wrap:wrap; gap:10px; }
.library-rpg-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; margin:0; min-height:42px; color:#f3dfb1; background:linear-gradient(#503d2b,#282019); border:2px solid; border-color:#9f7041 #312314 #312314 #9f7041; border-radius:3px; box-shadow:inset 0 0 0 1px #211d17; font-weight:bold; }
.library-rpg-button:hover { background:linear-gradient(#684b2e,#3d2d1c); color:#fff0ca; }
.library-action-sprite { width:28px; height:28px; }
.library-filters { background:#424242 url('icones/library-stone.svg'); border:3px solid; border-color:#727272 #252525 #252525 #727272; border-radius:2px; box-shadow:inset 0 0 0 1px #383838; }
.library-filters::before { content:'Consultar os livros'; display:block; font-weight:bold; color:#e5d3aa; padding:12px 16px; margin:-20px -20px 20px; background:rgba(0,0,0,.25); border-bottom:1px solid #252525; }
.library-filters input,.library-filters select { box-sizing:border-box; background:#323232; border:1px solid; border-color:#202020 #727272 #727272 #202020; border-radius:2px; }
.library-filters label { color:#e4dfd4; }
#libraryEditDialog select { width:100%; padding:12px; background:#323232; color:#fff; border:1px solid #9f7041; }
#libraryEditDialog [hidden] { display:none; }

.library-page.is-reading > .library-rights,
.library-page.is-reading > .library-intro,
.library-page.is-reading #libraryStatus,
.library-page.is-reading #libraryRemoteStatus { display:none; }
.library-page.is-reading > h2 { margin-bottom:18px; }
.library-panel-header { flex-wrap:wrap; padding:16px 0; }
.library-book-heading { flex:1 1 180px; min-width:0; }
.library-book-heading .library-detail-title { font-size:20px; margin:0 0 6px; overflow-wrap:anywhere; }
.library-book-heading .library-location { font-size:16px; margin:0; color:#d8caa6; }
.library-panel-header .library-title-actions { margin-left:auto; }
