/* newsletter sign-up and the /library/ page (#168) */
.news-form { background: var(--surface); border: 1px solid var(--border); border-radius: var(--radius); padding: 1.5rem; max-width: 560px; display: grid; gap: 0.75rem; }
.news-title { margin: 0; font-size: 1.2rem; font-weight: 700; }
.news-form label { font-weight: 600; font-size: 0.95rem; }
.news-form input[type="email"] { font: inherit; padding: 0.7rem 0.9rem; border: 1px solid #737b88; border-radius: 10px; background: var(--bg); color: var(--text); width: 100%; }
.news-form .news-consent { display: flex; gap: 0.6rem; align-items: flex-start; font-weight: 400; color: var(--muted); }
.news-form .news-consent input { margin-top: 0.15rem; flex: none; width: 1.25rem; height: 1.25rem; accent-color: var(--accent); }
.news-form input:focus-visible, .news-form button:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.news-form .btn { border: 0; cursor: pointer; font: inherit; font-weight: 700; justify-self: start; }
.news-form .btn:disabled { opacity: 0.6; cursor: wait; }
.news-trap { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.news-status { margin: 0; font-size: 0.95rem; }
.news-status:empty { display: none; }
.news-status.ok { color: #7ee2b8; }
.news-status.err { color: #ffb4a0; }
.news-note { margin: 0; color: var(--muted); font-size: 0.85rem; }
.news-confirmed { background: var(--surface); border: 1px solid var(--accent); border-radius: var(--radius); padding: 1.5rem; margin: 0 0 2rem; max-width: 560px; }
.news-confirmed h2 { margin: 0 0 0.5rem; font-size: 1.3rem; }
.library-card { width: 100%; max-width: 560px; }
.library-card h3 { margin-bottom: 0.4rem; }
.library-soon { display: inline-block; margin-top: 0.4rem; color: var(--accent); border: 1px solid var(--border); border-radius: 999px; padding: 0.1rem 0.7rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; }

.lead + .news-form { margin-top: 1.5rem; }
