/* Spam Library pages.
 *
 * Shared by the static, server-rendered pages (lessms-api/src/libraryPages.js,
 * served at /library/{slug}) and the interactive pages (/library/ and
 * /library/view.html), which display a static page's #lp-campaign element
 * inside their own. One file so the two presentations cannot drift apart.
 * A stylesheet, not a script: the static pages stay script-free.
 */
.lp { max-width: 760px; margin: 0 auto; padding: 24px 16px 64px; }
.lp-kind { font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:#64748b }
.lp-msg { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.9rem;
          white-space: pre-wrap; word-break: break-word; background:#f8fafc;
          border:1px solid #e2e8f0; border-left:3px solid #94a3b8; border-radius:6px;
          padding:14px; margin:0 0 8px }
.lp-sub { font-size:.78rem; color:#64748b; margin:0 0 18px }
.lp-facts { display:flex; gap:6px; flex-wrap:wrap; margin:10px 0 20px }
.lp-fact { background:#f8fafc; border:1px solid #e2e8f0; border-radius:999px; padding:3px 10px; font-size:.8rem }
.lp-advice { border:1px solid #e2e8f0; border-radius:8px; padding:16px; margin:24px 0 }
.lp-advice h2 { font-size:1rem; margin:0 0 10px }
.lp-advice li { margin-bottom:6px; font-size:.9rem }
.lp-item { border:1px solid #e2e8f0; border-radius:8px; padding:14px; margin-bottom:10px }
.lp-note { font-size:.82rem; color:#64748b }
.lp-search { display:flex; gap:8px; margin:16px 0 20px }
.lp-search input { flex:1; padding:8px 10px; font-size:.9rem; border:1px solid #e2e8f0;
                   border-radius:6px; background:#fff; color:inherit }
