.p3x-gitlist-treegraph-log { } .treegraph-button { padding: 0 5px !important; font-family: monospace; font-weight: 500; border-radius: 3px; font-size: 0.95em; letter-spacing: 0.02em; } // Ref badges: HEAD / branch / tag — colored pills, render git's %D in human form .p3x-gitlist-treegraph-ref { display: inline-block; padding: 0 6px; margin-right: 3px; border-radius: 3px; font-size: 0.85em; font-weight: 600; line-height: 16px; vertical-align: middle; white-space: nowrap; i { margin-right: 3px; font-size: 0.9em; } } .p3x-gitlist-treegraph-ref-head { background: rgba(220, 53, 69, 0.18); color: #b21f2d; } .p3x-gitlist-treegraph-ref-branch { background: rgba(40, 167, 69, 0.18); color: #1e7e34; } .p3x-gitlist-treegraph-ref-tag { background: rgba(255, 145, 0, 0.20); color: #b45309; } #git-graph-container { flex: 1 1 auto; min-width: 0; overflow-x: auto; } .p3x-gitlist-treegraph-table { width: 100%; border-collapse: collapse; margin: 0; > tbody > tr { height: 20px; line-height: 20px; // native paint virtualization - browser skips rendering off-screen rows content-visibility: auto; contain-intrinsic-height: 20px; } > tbody > tr > td { padding: 0 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: middle; } // every fixed-info column shrinks to its content; spacer absorbs leftover .p3x-gitlist-treegraph-row-info { > .p3x-gitlist-treegraph-hash, > .p3x-gitlist-treegraph-date, > .p3x-gitlist-treegraph-author { width: 1%; } > .p3x-gitlist-treegraph-branch { width: 1%; max-width: 16em; } > .p3x-gitlist-treegraph-spacer { width: auto; padding: 0; } } // subject row: PRIMARY content — bold + slightly larger so it dominates the row .p3x-gitlist-treegraph-row-subject > td { width: auto; max-width: 0; padding-left: 28px; font-weight: 700; font-size: 1.02em; } // info row: SECONDARY metadata — smaller + dimmed so subject visually leads .p3x-gitlist-treegraph-row-info { opacity: 0.62; transition: opacity 0.15s ease; } // restore full visibility when hovering the commit block .p3x-gitlist-treegraph-row-info:hover, .p3x-gitlist-treegraph-row-info:has(+ .p3x-gitlist-treegraph-row-subject:hover) { opacity: 1; } .p3x-gitlist-treegraph-row-info > td { font-size: 0.92em; } // visual grouping: thin separator above each new commit's info row .p3x-gitlist-treegraph-row-info { border-top: 1px solid rgba(128, 128, 128, 0.18); } // first info row has no border to avoid stray top line > tbody > tr.p3x-gitlist-treegraph-row-info:first-child { border-top: 0; } // relation rows: no separator (they're graph filler, not commits) .p3x-gitlist-treegraph-row-relation { border: 0; } // hover: highlight info + subject as one logical block .p3x-gitlist-treegraph-row-info:hover, .p3x-gitlist-treegraph-row-info:hover + .p3x-gitlist-treegraph-row-subject, .p3x-gitlist-treegraph-row-subject:hover, .p3x-gitlist-treegraph-row-info:has(+ .p3x-gitlist-treegraph-row-subject:hover) { background-color: rgba(128, 128, 128, 0.07); } // small visual cue for hash column (monospace already on .treegraph-button) .p3x-gitlist-treegraph-hash { font-family: monospace; } .p3x-gitlist-treegraph-date { font-variant-numeric: tabular-nums; } } // Phone: hide canvas + author column, tighten branch @media (max-width: 575.98px) { #rel-container { display: none; } .p3x-gitlist-treegraph-table { .p3x-gitlist-treegraph-author { display: none; } .p3x-gitlist-treegraph-branch { max-width: 7em; } .p3x-gitlist-treegraph-row-subject > td { padding-left: 12px; } } } // Small tablet @media (max-width: 767.98px) and (min-width: 576px) { .p3x-gitlist-treegraph-table .p3x-gitlist-treegraph-branch { max-width: 10em; } } .p3x-gitlist-light { .p3x-gitlist-treegraph-table > tbody > tr.p3x-gitlist-treegraph-stripe > td { background-color: rgba(0, 0, 0, 0.04); } .treegraph-button { background-color: rgba(0, 0, 0, 0.06) !important; color: #1f2933 !important; border: 0; } .treegraph-link { color: $brand-primary !important; } .p3x-gitlist-treegraph-table { .p3x-gitlist-treegraph-row-info { border-top-color: rgba(0, 0, 0, 0.08); } } } .p3x-gitlist-dark { .p3x-gitlist-treegraph-table > tbody > tr.p3x-gitlist-treegraph-stripe > td { background-color: rgba(255, 255, 255, 0.04); } .treegraph-button { background-color: rgba(255, 255, 255, 0.08) !important; color: #f4f6f8 !important; border: 0; } // Ref badges in dark mode — brighter text against translucent bg .p3x-gitlist-treegraph-ref-head { background: rgba(255, 100, 110, 0.22); color: #ff8b95; } .p3x-gitlist-treegraph-ref-branch { background: rgba(120, 220, 130, 0.18); color: #8be695; } .p3x-gitlist-treegraph-ref-tag { background: rgba(255, 180, 70, 0.20); color: #ffc36b; } .treegraph-link { color: lighten($brand-primary, 20%) !important; } // fix: original gitgraph.css hardcoded #000 on links, invisible in dark mode #git-graph-container { color: #e3e3e3; td a:not(.treegraph-button):not(.p3x-gitlist-copy-hash) { color: lighten($brand-primary, 20%) !important; } } .p3x-gitlist-treegraph-table { .p3x-gitlist-treegraph-row-info { border-top-color: rgba(255, 255, 255, 0.10); } .p3x-gitlist-treegraph-row-subject > td { color: #f4f4f4; } } } .p3x-gitlist-treegraph-subject { p { display: inline; margin: 0; } p:not(:first-of-type) { display: none; } a, a:active { color: $brand-primary !important; } } .p3x-gitlist-treegraph-copy { opacity: 0.4; font-size: 0.8em; cursor: pointer; &:hover { opacity: 1; } }