Constant SITE_CSS
Source pub const SITE_CSS: &str = "/* Abbaye shared stylesheet \u{2014} used by the release pages and git repository UI. */\n:root {\n --bg: #f5efe4;\n --bg-content: #fdfaf5;\n --bg-alt: #ede5d8;\n --header-bg: #3d5732;\n --header-fg: #f0e8d8;\n --header-link: #c8bbaa;\n --border: #c9baa8;\n --text: #2e2416;\n --text-muted: #7a6855;\n --link: #7a4429;\n --link-hover: #a05a3a;\n --accent: #a06020;\n --pre-bg: #eae2d4;\n --font-sans: system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", sans-serif;\n --font-mono: \"SFMono-Regular\", Consolas, \"Liberation Mono\", Menlo, monospace;\n}\n\n*,\n*::before,\n*::after {\n box-sizing: border-box;\n margin: 0;\n padding: 0;\n}\n\nbody {\n font-family: var(--font-sans);\n background: var(--bg);\n color: var(--text);\n line-height: 1.6;\n}\n\n/* \u{2500}\u{2500} Header \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\nheader {\n background: var(--header-bg);\n color: var(--header-fg);\n padding: 0.75rem 1.5rem;\n display: flex;\n align-items: center;\n gap: 1.5rem;\n flex-wrap: wrap;\n}\nheader .site-title {\n font-weight: 700;\n font-size: 1rem;\n color: var(--header-fg);\n text-decoration: none;\n}\nheader a {\n color: var(--header-link);\n text-decoration: none;\n font-size: 0.9rem;\n}\nheader a:hover {\n text-decoration: underline;\n color: var(--header-fg);\n}\nheader nav {\n display: flex;\n gap: 1rem;\n margin-left: auto;\n}\nheader nav a {\n color: var(--header-link);\n font-size: 0.85rem;\n padding: 0.2rem 0.5rem;\n border-radius: 3px;\n}\nheader nav a:hover {\n background: rgba(255, 255, 255, 0.1);\n color: var(--header-fg);\n}\nheader nav a.active {\n color: var(--header-fg);\n font-weight: 600;\n}\n\n/* \u{2500}\u{2500} Layout \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\nmain {\n max-width: 960px;\n margin: 2rem auto;\n padding: 0 1.5rem;\n}\n\n/* \u{2500}\u{2500} Tables \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\ntable {\n width: 100%;\n border-collapse: collapse;\n font-size: 0.9rem;\n}\nthead th {\n text-align: left;\n padding: 0.5rem 0.75rem;\n font-size: 0.7rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.1em;\n color: var(--text-muted);\n border-bottom: 2px solid var(--border);\n}\ntbody tr {\n border-bottom: 1px solid var(--border);\n}\ntbody tr:last-child {\n border-bottom: none;\n}\ntbody tr:hover {\n background: var(--bg-alt);\n}\ntbody td {\n padding: 0.6rem 0.75rem;\n vertical-align: middle;\n}\n\n/* \u{2500}\u{2500} Monospace hash badges \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.hash {\n font-family: var(--font-mono);\n font-size: 0.75rem;\n background: var(--pre-bg);\n border: 1px solid var(--border);\n padding: 0.15em 0.5em;\n border-radius: 3px;\n color: var(--text);\n text-decoration: none;\n white-space: nowrap;\n}\na.hash:hover {\n border-color: var(--link);\n color: var(--link);\n}\n\n/* \u{2500}\u{2500} Status badges \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.badge {\n font-size: 0.65rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.07em;\n padding: 0.2em 0.6em;\n border-radius: 999px;\n white-space: nowrap;\n}\n.badge-added {\n background: #d4f0d4;\n color: #2a6a2a;\n}\n.badge-deleted {\n background: #f0d4d4;\n color: #6a2a2a;\n}\n.badge-modified {\n background: #f0e8d4;\n color: #6a4a2a;\n}\n.badge-renamed {\n background: #d4dff0;\n color: #2a3a6a;\n}\n.badge-copied {\n background: #e8d4f0;\n color: #4a2a6a;\n}\n.badge-changed {\n background: var(--pre-bg);\n color: var(--text-muted);\n}\n\n/* \u{2500}\u{2500} Clone instruction box \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.clone-box {\n background: var(--bg-alt);\n border: 1px solid var(--border);\n border-radius: 5px;\n padding: 0.75rem 1rem;\n margin-bottom: 1.5rem;\n display: flex;\n align-items: center;\n gap: 0.75rem;\n flex-wrap: wrap;\n}\n.clone-label {\n font-size: 0.75rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.08em;\n color: var(--text-muted);\n flex-shrink: 0;\n}\n.clone-url {\n font-family: var(--font-mono);\n font-size: 0.8rem;\n color: var(--text);\n flex: 1;\n overflow-x: auto;\n}\n\n/* \u{2500}\u{2500} Section headings \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.section-heading {\n font-size: 0.75rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.12em;\n color: var(--text-muted);\n margin-bottom: 0.75rem;\n margin-top: 2rem;\n padding-bottom: 0.35rem;\n border-bottom: 1px solid var(--border);\n}\n.section-heading:first-child {\n margin-top: 0;\n}\n\n/* \u{2500}\u{2500} Commit detail \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.commit-meta {\n background: var(--bg-content);\n border: 1px solid var(--border);\n border-radius: 5px;\n padding: 1rem 1.25rem;\n margin-bottom: 1.5rem;\n font-size: 0.875rem;\n}\n.commit-meta dl {\n display: grid;\n grid-template-columns: max-content 1fr;\n gap: 0.3rem 1rem;\n}\n.commit-meta dt {\n color: var(--text-muted);\n font-size: 0.75rem;\n text-transform: uppercase;\n letter-spacing: 0.06em;\n display: flex;\n align-items: center;\n}\n.hash-full {\n font-family: var(--font-mono);\n font-size: 0.75rem;\n word-break: break-all;\n}\n.commit-message {\n background: var(--pre-bg);\n border: 1px solid var(--border);\n border-radius: 5px;\n padding: 1rem 1.25rem;\n font-family: var(--font-mono);\n font-size: 0.82rem;\n white-space: pre-wrap;\n word-break: break-word;\n margin-bottom: 1.5rem;\n}\n\n/* \u{2500}\u{2500} Changed-files list \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.files-list {\n list-style: none;\n display: flex;\n flex-direction: column;\n gap: 0.4rem;\n}\n.files-list li {\n border: 1px solid var(--border);\n border-radius: 4px;\n overflow: hidden;\n}\n.files-list details > summary {\n display: flex;\n align-items: center;\n gap: 0.5rem;\n padding: 0.4rem 0.6rem;\n cursor: pointer;\n list-style: none;\n background: var(--bg-content);\n user-select: none;\n}\n.files-list details > summary::-webkit-details-marker {\n display: none;\n}\n.files-list details[open] > summary {\n border-bottom: 1px solid var(--border);\n}\n.files-list details > summary:hover {\n background: var(--bg-alt);\n}\n.file-path {\n font-family: var(--font-mono);\n font-size: 0.82rem;\n flex: 1;\n}\n\n/* \u{2500}\u{2500} Diff table \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.diff-table {\n width: 100%;\n border-collapse: collapse;\n font-family: var(--font-mono);\n font-size: 0.78rem;\n line-height: 1.45;\n}\n.diff-cell {\n padding: 0 0.75em;\n white-space: pre;\n overflow-x: visible;\n}\n/* Suppress the default table styles from site.css */\n.diff-table thead th,\n.diff-table tbody tr {\n border-bottom: none;\n}\n.diff-table tbody tr:hover {\n background: inherit;\n}\n.diff-table tbody tr:last-child {\n border-bottom: none;\n}\n\ntr.diff-header td {\n color: var(--text-muted);\n}\ntr.diff-hunk td {\n background: #eef2ff;\n color: #2a3a7a;\n}\ntr.diff-added td {\n background: #e8f8e8;\n color: #1a4a1a;\n}\ntr.diff-removed td {\n background: #fce8e8;\n color: #5a1818;\n}\ntr.diff-context td {\n color: var(--text);\n}\n\n/* \u{2500}\u{2500} Ref badges (commit log) \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.commit-hash-cell {\n white-space: nowrap;\n}\n.ref-badge {\n display: inline-block;\n font-size: 0.62rem;\n font-weight: 600;\n padding: 0.15em 0.45em;\n border-radius: 3px;\n border: 1px solid;\n white-space: nowrap;\n vertical-align: middle;\n margin-left: 0.35em;\n text-decoration: none;\n line-height: 1.4;\n}\n.ref-badge-tag {\n background: #e8f4e8;\n color: #2d6a2d;\n border-color: #a8ccaa;\n}\n.ref-badge-branch {\n background: #e8eef8;\n color: #2a3a6a;\n border-color: #a8b8d8;\n}\n\n/* \u{2500}\u{2500} Branch switcher (log page nav) \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.branch-switcher {\n display: flex;\n flex-wrap: wrap;\n gap: 0.4rem;\n margin-bottom: 1.25rem;\n}\n.branch-switcher a {\n font-size: 0.8rem;\n padding: 0.25rem 0.75rem;\n border: 1px solid var(--border);\n border-radius: 999px;\n background: var(--bg-content);\n color: var(--link);\n text-decoration: none;\n}\n.branch-switcher a:hover {\n border-color: var(--link);\n background: var(--bg-alt);\n color: var(--link-hover);\n}\n.branch-switcher a.active {\n background: var(--header-bg);\n color: var(--header-fg);\n border-color: var(--header-bg);\n}\n\n/* \u{2500}\u{2500} Ref colours \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.ref-kind-tag {\n color: var(--accent);\n}\n.ref-kind-branch {\n color: #336699;\n}\n\n/* \u{2500}\u{2500} Links \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\na {\n color: var(--link);\n}\na:hover {\n color: var(--link-hover);\n}\n\n/* \u{2500}\u{2500} Responsive \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n@media (max-width: 640px) {\n main {\n padding: 0 1rem;\n margin: 1rem auto;\n }\n .commit-meta dl {\n grid-template-columns: 1fr;\n }\n .clone-box {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n\n/* \u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\n Root index (versions list) page\n \u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550} */\n\nheader h1 {\n font-size: 1.75rem;\n font-weight: 700;\n letter-spacing: 0.01em;\n}\n\n/* Atom/RSS feed link shown in the header */\n.feed-link {\n display: flex;\n align-items: center;\n gap: 0.4em;\n color: var(--header-link);\n text-decoration: none;\n font-size: 0.85rem;\n opacity: 0.8;\n margin-left: auto;\n}\n.feed-link:hover {\n opacity: 1;\n text-decoration: underline;\n}\n.feed-icon {\n display: inline-block;\n width: 1em;\n height: 1em;\n flex-shrink: 0;\n background: #f96b15;\n border-radius: 2px;\n background-image: url(\"data:image/svg+xml,%3Csvg xmlns=\'http://www.w3.org/2000/svg\' viewBox=\'0 0 16 16\'%3E%3Ccircle cx=\'3\' cy=\'13\' r=\'2\' fill=\'white\'/%3E%3Cpath d=\'M3 6.5A6.5 6.5 0 0 1 9.5 13\' stroke=\'white\' stroke-width=\'2\' fill=\'none\' stroke-linecap=\'round\'/%3E%3Cpath d=\'M3 2A11 11 0 0 1 14 13\' stroke=\'white\' stroke-width=\'2\' fill=\'none\' stroke-linecap=\'round\'/%3E%3C/svg%3E\");\n background-repeat: no-repeat;\n background-position: center;\n background-size: 80%;\n}\n\n/* Versions list main area */\n.versions-main {\n max-width: 760px;\n margin: 2.5rem auto;\n padding: 0 1.5rem;\n}\n.versions-list {\n list-style: none;\n}\n.versions-list li {\n display: flex;\n align-items: center;\n gap: 0.75rem;\n padding: 0.75rem 1rem;\n background: var(--bg-content);\n border: 1px solid var(--border);\n border-radius: 5px;\n margin-bottom: 0.5rem;\n}\n.versions-list li:hover {\n border-color: var(--accent);\n}\na.version-link {\n font-size: 1.05rem;\n font-weight: 500;\n color: var(--link);\n text-decoration: none;\n}\na.version-link:hover {\n text-decoration: underline;\n color: var(--link-hover);\n}\n.badge-latest {\n font-size: 0.65rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.07em;\n background: var(--accent);\n color: #fdf6ec;\n padding: 0.2em 0.6em;\n border-radius: 999px;\n}\n.badge-latest a {\n color: inherit;\n text-decoration: none;\n}\n.badge-latest a:hover {\n text-decoration: underline;\n}\n.version-date {\n margin-left: auto;\n font-size: 0.8rem;\n color: var(--text-muted);\n font-variant-numeric: tabular-nums;\n}\n.repo-browse-link {\n margin-top: 0.75rem;\n font-size: 0.9rem;\n}\n\n/* \u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\n Version release page\n \u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550} */\n\nheader .title {\n font-weight: 600;\n font-size: 1rem;\n}\n\n.release-layout {\n display: flex;\n min-height: calc(100vh - 44px);\n}\n\naside {\n width: 230px;\n flex-shrink: 0;\n background: var(--bg-alt);\n border-right: 1px solid var(--border);\n padding: 1.5rem 1rem;\n font-size: 0.875rem;\n}\naside h3 {\n font-size: 0.65rem;\n font-weight: 700;\n text-transform: uppercase;\n letter-spacing: 0.12em;\n color: var(--text-muted);\n margin-top: 1.5rem;\n margin-bottom: 0.5rem;\n}\naside h3:first-child {\n margin-top: 0;\n}\naside ul {\n list-style: none;\n}\naside li {\n padding: 0.25rem 0;\n}\naside a {\n color: var(--link);\n text-decoration: none;\n}\naside a:hover {\n text-decoration: underline;\n color: var(--link-hover);\n}\n\n.release-content {\n flex: 1;\n padding: 2rem 2.5rem;\n max-width: 860px;\n overflow-x: hidden;\n background: var(--bg-content);\n margin: 0; /* override the generic main centering */\n}\n\n/* Markdown typography inside the release content pane */\n.release-content h1,\n.release-content h2,\n.release-content h3,\n.release-content h4,\n.release-content h5,\n.release-content h6 {\n margin-top: 1.5em;\n margin-bottom: 0.5em;\n line-height: 1.3;\n color: var(--text);\n}\n.release-content h1 {\n font-size: 1.9rem;\n border-bottom: 2px solid var(--border);\n padding-bottom: 0.4rem;\n}\n.release-content h2 {\n font-size: 1.4rem;\n border-bottom: 1px solid #ddd4c4;\n padding-bottom: 0.3rem;\n}\n.release-content h3 {\n font-size: 1.15rem;\n}\n.release-content p {\n margin-bottom: 1em;\n}\n.release-content a {\n color: var(--link);\n}\n.release-content a:hover {\n color: var(--link-hover);\n}\n.release-content img {\n max-width: 100%;\n height: auto;\n}\n.release-content pre {\n background: var(--pre-bg);\n border: 1px solid var(--border);\n border-radius: 5px;\n padding: 1em 1.25em;\n overflow-x: auto;\n margin-bottom: 1em;\n font-size: 0.875em;\n}\n.release-content code {\n font-family: var(--font-mono);\n background: var(--pre-bg);\n padding: 0.15em 0.4em;\n border-radius: 3px;\n font-size: 0.875em;\n}\n.release-content pre code {\n background: none;\n padding: 0;\n font-size: inherit;\n}\n.release-content ul,\n.release-content ol {\n padding-left: 1.5em;\n margin-bottom: 1em;\n}\n.release-content li {\n margin-bottom: 0.2em;\n}\n.release-content table {\n border-collapse: collapse;\n margin-bottom: 1em;\n width: 100%;\n}\n.release-content th,\n.release-content td {\n border: 1px solid var(--border);\n padding: 0.4em 0.75em;\n text-align: left;\n}\n.release-content th {\n background: var(--bg-alt);\n font-weight: 600;\n}\n.release-content blockquote {\n border-left: 4px solid var(--border);\n padding: 0.5em 1em;\n margin: 0 0 1em;\n color: var(--text-muted);\n font-style: italic;\n}\n\n/* Dist file metadata in the sidebar */\n.dist-meta {\n font-size: 0.75rem;\n color: var(--text-muted);\n margin-top: 0.15rem;\n word-break: break-all;\n}\n.dist-meta code {\n font-family: var(--font-mono);\n font-size: 0.7rem;\n}\n\n/* Changelog section divider and heading */\n.changelog-divider {\n border: none;\n border-top: 2px solid var(--border);\n margin: 2.5rem 0;\n}\n.changelog-heading {\n font-size: 1.3rem;\n font-weight: 600;\n color: #5a4030;\n margin-bottom: 1rem;\n}\n\n@media (max-width: 640px) {\n .release-layout {\n flex-direction: column;\n }\n aside {\n width: 100%;\n border-right: none;\n border-bottom: 1px solid var(--border);\n }\n .release-content {\n padding: 1.5rem 1rem;\n }\n}\n\n/* \u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\n Tree browser (directory listings and file views)\n \u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550}\u{2550} */\n\n/* \u{2500}\u{2500} Breadcrumb \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.breadcrumb {\n font-size: 0.85rem;\n color: var(--text-muted);\n margin-bottom: 1rem;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: 0.2em;\n}\n.breadcrumb a {\n color: var(--link);\n text-decoration: none;\n}\n.breadcrumb a:hover {\n text-decoration: underline;\n}\n.breadcrumb-sep {\n color: var(--border);\n margin: 0 0.1em;\n user-select: none;\n}\n\n/* \u{2500}\u{2500} Revision note \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.tree-rev {\n font-size: 0.8rem;\n color: var(--text-muted);\n margin-top: 0.5rem;\n}\n\n/* \u{2500}\u{2500} Directory listing table \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.tree-table {\n width: 100%;\n border-collapse: collapse;\n font-size: 0.875rem;\n}\n/* Suppress default table styles */\n.tree-table thead th,\n.tree-table tbody tr {\n border-bottom: 1px solid var(--border);\n}\n.tree-table tbody tr:last-child {\n border-bottom: none;\n}\n.tree-table tbody tr:hover {\n background: var(--bg-alt);\n}\n\n.tree-mode {\n width: 1.5rem;\n padding: 0.45rem 0.5rem 0.45rem 0.75rem;\n color: var(--text-muted);\n font-size: 0.75rem;\n}\n/* Unicode icon via ::before, no JS needed */\n.tree-mode-tree::before {\n content: \"\u{1f4c1}\";\n}\n.tree-mode-blob::before {\n content: \"\u{1f4c4}\";\n}\n\n.tree-table td:last-child {\n padding: 0.45rem 0.75rem;\n}\na.tree-entry-tree {\n color: var(--link);\n font-weight: 500;\n text-decoration: none;\n}\na.tree-entry-tree:hover {\n text-decoration: underline;\n}\na.tree-entry-blob {\n color: var(--text);\n text-decoration: none;\n}\na.tree-entry-blob:hover {\n color: var(--link);\n text-decoration: underline;\n}\n\n/* \u{2500}\u{2500} Blob (file content) \u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500}\u{2500} */\n.blob-notice {\n font-size: 0.875rem;\n color: var(--text-muted);\n padding: 1.5rem 0;\n}\n.blob-content {\n overflow-x: auto;\n border: 1px solid var(--border);\n border-radius: 4px;\n font-size: 0.78rem;\n line-height: 1.5;\n}\n/* Override syntect\'s inline background-color on <pre> */\n.blob-content pre {\n background-color: var(--pre-bg) !important;\n margin: 0 !important;\n padding: 0.75em 1em !important;\n border-radius: 0;\n font-family: var(--font-mono);\n overflow-x: auto;\n}\n";