.lib-bar { display:grid; grid-template-columns:1fr 1fr; gap:.5rem; margin:.6rem 0; }
@media (min-width:760px){ .lib-bar { grid-template-columns:repeat(4,1fr); } }
.lib-bar select, #lib-input { width:100%; padding:.7rem .8rem; border-radius:12px; font:inherit; color:inherit; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.22); }
#lib-input { font-size:1rem; padding:.9rem 1rem; }
.lib-bar option { color:#111; }
.lib-card { padding:1rem 1.1rem; border-radius:16px; margin-bottom:.7rem; background:linear-gradient(135deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
  border:1px solid rgba(255,255,255,.16); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); }
.lib-card h3 { margin:0 0 .5rem; font-size:1rem; word-break:break-word; }
.lib-tags { display:flex; flex-wrap:wrap; gap:.35rem; margin-bottom:.7rem; }
.lib-tag { font-size:.72rem; padding:.15rem .6rem; border-radius:999px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.06); }
.lib-actions { display:flex; gap:.5rem; flex-wrap:wrap; }

/* In-page PDF.js reader */
.pdf-reader[hidden] { display: none !important; }
.pdf-reader { position: fixed; inset: 0; z-index: 10000; display: flex; justify-content: center; align-items: stretch; padding: 0; background: rgba(3, 8, 18, .88); backdrop-filter: blur(8px); }
.pdf-reader__panel { display: flex; flex-direction: column; width: min(1100px, 100%); height: 100%; min-height: 0; background: #101722; color: #f3f6fb; border: 1px solid rgba(255,255,255,.12); box-shadow: 0 20px 70px rgba(0,0,0,.4); }
.pdf-reader__header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:.85rem 1rem; border-bottom:1px solid rgba(255,255,255,.12); }
.pdf-reader__heading { min-width:0; }
.pdf-reader__eyebrow { display:block; font-size:.65rem; letter-spacing:.14em; color:#fbbf24; font-weight:700; }
.pdf-reader__header h2 { margin:.2rem 0 0; font-size:1rem; line-height:1.35; overflow-wrap:anywhere; }
.pdf-reader__close { flex:0 0 auto; width:42px; height:42px; border:1px solid rgba(255,255,255,.2); border-radius:12px; color:#fff; background:rgba(255,255,255,.08); font-size:1.8rem; cursor:pointer; }
.pdf-reader__toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:.65rem; padding:.65rem 1rem; background:#182231; border-bottom:1px solid rgba(255,255,255,.1); }
.pdf-reader__page-controls,.pdf-reader__zoom-controls { display:flex; align-items:center; gap:.45rem; }
.pdf-reader__toolbar button { min-width:36px; height:36px; border:1px solid rgba(255,255,255,.2); border-radius:9px; background:#263447; color:#fff; font:inherit; font-size:1.1rem; cursor:pointer; }
.pdf-reader__toolbar button:disabled { opacity:.4; cursor:not-allowed; }
#pdf-page-number { width:56px; height:36px; padding:.3rem; border:1px solid rgba(255,255,255,.25); border-radius:8px; background:#0e1520; color:#fff; text-align:center; font:inherit; }
.pdf-reader__page-total,.pdf-reader__zoom-controls span { font-size:.85rem; color:#d4dce8; white-space:nowrap; }
.pdf-reader__open { color:#fbbf24; font-size:.85rem; font-weight:600; text-decoration:none; }
.pdf-reader__status { margin:0; padding:.55rem 1rem; color:#cbd5e1; font-size:.85rem; background:#111a27; }
.pdf-reader__stage { flex:1; min-height:0; overflow:auto; display:flex; align-items:flex-start; justify-content:center; padding:1rem; background:#293241; overscroll-behavior:contain; }
#pdf-page-canvas { display:block; max-width:none; height:auto; background:#fff; box-shadow:0 3px 18px rgba(0,0,0,.3); }
.pdf-reader__footnote { margin:0; padding:.65rem 1rem; font-size:.75rem; line-height:1.4; color:#b9c4d3; background:#101722; border-top:1px solid rgba(255,255,255,.1); }
body.pdf-reader-open { overflow:hidden; }
@media (min-width:760px) { .pdf-reader { padding:2vh 2vw; } .pdf-reader__panel { height:96vh; border-radius:16px; overflow:hidden; } }
@media (max-width:520px) { .pdf-reader__toolbar { gap:.5rem; padding:.55rem .65rem; } .pdf-reader__open { width:100%; } .pdf-reader__stage { padding:.5rem; } .pdf-reader__header { padding:.7rem; } }
