/* /releases — GENERATED by aterm's publish/post-promote (publish/site-sync.py).
   Do not hand-edit: the next sync rewrites it. Page-specific rules only; the
   palette and type families come from styles.css. */
.releases-index { display: flex; flex-wrap: wrap; gap: 0.25rem 0.75rem; font: 400 0.8125rem/1.6 var(--mono); color: var(--muted); }
.releases-index a { color: var(--muted); }
.releases-index a:hover, .releases-index a:focus-visible { color: var(--accent); }
.release { border-top: 1px solid var(--rule); padding-top: 1.25rem; }
.release h2 a { text-decoration: none; }
.release h2 a:hover, .release h2 a:focus-visible { color: var(--accent); }
.release .release-date { font-weight: 400; color: var(--muted); margin-left: 0.5em; }
.release-notes { display: flex; flex-direction: column; gap: 0.6rem; font: 400 0.9375rem/1.6 var(--serif); color: var(--fg-dim); }
.release-notes h3, .release-notes h4 { font: 600 0.875rem var(--mono); letter-spacing: -0.01em; margin: 0.4rem 0 0; color: var(--fg); }
.release-notes ul, .release-notes ol { margin: 0; padding-left: 1.25em; }
.release-notes li { margin: 0; }
.release-notes li + li { margin-top: 0.35rem; }
.release-notes li ul, .release-notes li ol { margin-top: 0.35rem; }
.release-notes code { font: 400 0.9em var(--mono); }
.release-notes pre { margin: 0; padding: 0.6rem 0.8rem; overflow-x: auto; font: 400 0.8125rem/1.5 var(--mono); border: 1px solid var(--rule); }
.release-notes pre code { font: inherit; }
.release-notes blockquote { margin: 0; padding-left: 0.8rem; border-left: 1px solid var(--rule); }
.release-notes hr { border: 0; border-top: 1px solid var(--rule); margin: 0.2rem 0; }
.release-notes strong { color: var(--fg); font-weight: 600; }
