/** * ───────────────────────────────────────────── * SPB Git — Personal Git Platform * ───────────────────────────────────────────── * Author : Simon-Pierre Boucher * Contact : contact@spboucher.ai * File : src/web/assets/css/markdown.css * Purpose : GitHub-grade .markdown-body typography (badges included) * License : MIT © Simon-Pierre Boucher * ───────────────────────────────────────────── */ .markdown-body { font-size: 16px; line-height: 1.6; word-wrap: break-word; } .markdown-body > *:first-child { margin-top: 0 !important; } .markdown-body > *:last-child { margin-bottom: 0 !important; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { margin-top: 24px; margin-bottom: 16px; font-weight: 600; line-height: 1.25; position: relative; } .markdown-body h1 { font-size: 2em; padding-bottom: 0.3em; border-bottom: 1px solid var(--border); } .markdown-body h2 { font-size: 1.5em; padding-bottom: 0.3em; border-bottom: 1px solid var(--border); } .markdown-body h3 { font-size: 1.25em; } .markdown-body h4 { font-size: 1em; } .markdown-body h5 { font-size: 0.875em; } .markdown-body h6 { font-size: 0.85em; color: var(--muted); } .heading-anchor { position: absolute; left: -20px; top: 50%; transform: translateY(-50%); opacity: 0; text-decoration: none; color: var(--muted); font-size: 0.8em; } .markdown-body h1:hover .heading-anchor, .markdown-body h2:hover .heading-anchor, .markdown-body h3:hover .heading-anchor, .markdown-body h4:hover .heading-anchor, .markdown-body h5:hover .heading-anchor, .markdown-body h6:hover .heading-anchor { opacity: 1; } .markdown-body p, .markdown-body blockquote, .markdown-body ul, .markdown-body ol, .markdown-body dl, .markdown-body table, .markdown-body pre, .markdown-body details { margin-top: 0; margin-bottom: 16px; } .markdown-body blockquote { padding: 0 1em; color: var(--muted); border-left: 0.25em solid var(--accent-2); margin-left: 0; margin-right: 0; } .markdown-body ul, .markdown-body ol { padding-left: 2em; } .markdown-body li + li { margin-top: 0.25em; } .markdown-body li.task-list-item { list-style: none; margin-left: -1.4em; } .markdown-body li.task-list-item input[type='checkbox'] { margin-right: 0.5em; vertical-align: -1px; accent-color: var(--accent); } .markdown-body code { background: var(--surface-2); border-radius: 6px; padding: 0.2em 0.4em; font-size: 85%; font-family: var(--font-mono); } .markdown-body pre code { background: transparent; padding: 0; font-size: 100%; } .markdown-body .code-block { background: var(--code-bg); border: 1px solid var(--border); border-radius: var(--radius); overflow-x: auto; margin-bottom: 16px; position: relative; } .markdown-body .code-block pre.shiki { margin: 0; padding: 14px 16px; background: transparent !important; font-size: 85%; line-height: 1.55; } .markdown-body pre:not(.shiki) { background: var(--code-bg); border: 1px solid var(--border); border-radius: var(--radius); padding: 14px 16px; overflow-x: auto; font-size: 85%; line-height: 1.55; } .markdown-body table { border-collapse: collapse; border-spacing: 0; display: block; max-width: 100%; overflow-x: auto; width: max-content; } .markdown-body table th, .markdown-body table td { border: 1px solid var(--border-strong); padding: 6px 13px; } .markdown-body table th { font-weight: 600; background: var(--surface-2); } .markdown-body table tr:nth-child(2n) { background: var(--surface-2); } .markdown-body hr { height: 1px; border: 0; background: var(--border); margin: 24px 0; } .markdown-body img { max-width: 100%; box-sizing: content-box; border-radius: 4px; } /* Badges: shields.io & friends stay inline, centered, unwrapped. */ .markdown-body img[src*='shields.io'], .markdown-body img[src*='badge'], .markdown-body img[src*='badgen.net'], .markdown-body img[src*='github.io/badges'], .markdown-body img[height] { display: inline-block; vertical-align: middle; border-radius: 0; margin: 0 2px 2px 0; } .markdown-body p > a > img { display: inline-block; vertical-align: middle; } .markdown-body kbd { display: inline-block; padding: 3px 5px; font-size: 11px; line-height: 10px; color: var(--text); vertical-align: middle; background: var(--surface-2); border: 1px solid var(--border-strong); border-bottom-width: 2px; border-radius: 6px; } .markdown-body details { border: 1px solid var(--border); border-radius: var(--radius); padding: 10px 14px; } .markdown-body details summary { cursor: pointer; font-weight: 600; margin: -10px -14px; padding: 10px 14px; } .markdown-body details[open] summary { border-bottom: 1px solid var(--border); margin-bottom: 10px; } .markdown-body [align='center'] { text-align: center; } .markdown-body [align='right'] { text-align: right; } .markdown-body [align='left'] { text-align: left; } .markdown-body .footnotes { font-size: 13px; color: var(--muted); border-top: 1px solid var(--border); margin-top: 32px; padding-top: 16px; } .markdown-body sup a { text-decoration: none; } .markdown-body .anchor-icon { font-weight: 400; }