Skip to main content

SITE_CSS

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";