/* 1. Import color scheme, highlighting and markdown styles */ @import url("css/colors.css"); @import url("css/hl.css"); @import url("css/md.css"); /* 2. Global Reset & Body */ * { box-sizing: border-box; } body { font-family: sans-serif; font-size: 14px; line-height: 1.5; color: var(--color-on-background); background: var(--color-background); margin: 0; padding: 0; -webkit-text-size-adjust: 100%; -moz-text-size-adjust: 100%; text-size-adjust: 100%; } a { color: var(--color-primary); text-decoration: none; transition: opacity 0.2s; } a:hover { text-decoration: underline; opacity: 0.8; } div#cgit { padding: 0; margin: 0 auto; max-width: 1200px; background: var(--color-background); min-height: 100vh; display: flex; flex-direction: column; } /* 3. Header Area */ div#cgit table#header { width: 100%; margin-bottom: 0; background-color: var(--color-surface-container); color: var(--color-on-surface); padding: 1rem; display: flex; flex-wrap: wrap; align-items: center; border-bottom: 1px solid var(--color-outline-variant); } div#cgit table#header tbody, div#cgit table#header tr { display: contents; } div#cgit table#header td.logo { display: block; padding-right: 1rem; } div#cgit table#header td.logo img { max-height: 75px; max-width: 100%; width: auto; height: auto; border: none; vertical-align: middle; } div#cgit table#header td.main { font-size: 1.5rem; font-weight: bold; color: var(--color-on-surface); display: block; flex-grow: 1; text-overflow: ellipsis; overflow-x: hidden; } div#cgit table#header td.main a { color: var(--color-on-surface); } div#cgit table#header td.form { display: block; text-align: right; margin-top: 0.5rem; } div#cgit table#header td.sub { display: block; width: 100%; padding-top: 0.5rem; color: var(--color-outline); font-size: 0.9rem; border-top: none; } /* Input Elements */ select, input, textarea { background-color: var(--color-surface-container-high); color: var(--color-on-surface); border: 1px solid var(--color-outline); border-radius: 4px; padding: 4px 8px; font-family: inherit; } input:focus, select:focus, textarea:focus { outline: 2px solid var(--color-primary); outline-offset: 1px; border-color: var(--color-primary); } input[type="submit"] { background-color: var(--color-primary); color: var(--color-on-primary); border: none; cursor: pointer; font-weight: 500; padding: 5px 12px; } input[type="submit"]:hover { background-color: var(--color-primary-container); color: var(--color-on-primary-container); } /* 4. Tabs Navigation */ div#cgit table.tabs { border-bottom: 1px solid var(--color-outline-variant); border-collapse: collapse; margin: 0; width: 100%; background-color: var(--color-surface); display: flex; flex-wrap: wrap; padding: 0 1rem; } div#cgit table.tabs tbody, div#cgit table.tabs tr { display: contents; } div#cgit table.tabs td { display: block; padding: 0; } div#cgit table.tabs td a { display: inline-block; padding: 0.75rem 1rem; color: var(--color-on-surface-variant); font-weight: 500; border-bottom: 2px solid transparent; } div#cgit table.tabs td a.active { color: var(--color-primary); border-bottom: 2px solid var(--color-primary); background-color: var(--color-surface-container-low); } div#cgit table.tabs td a:hover { background-color: var(--color-surface-container-high); text-decoration: none; } div#cgit table.tabs td.form { flex-grow: 1; text-align: right; padding: 0.5rem 0; display: flex; justify-content: flex-end; align-items: center; } div#cgit a.button { display: inline-block; padding: 3px 6px; margin: 0 4px; background-color: var(--color-secondary-container); color: var(--color-on-secondary-container); border-radius: 5px; font-size: 0.85rem; font-weight: 500; text-decoration: none; transition: background-color 0.2s, color 0.2s, box-shadow 0.2s; } div#cgit a.button:hover { background-color: var(--color-primary); color: var(--color-on-primary); text-decoration: none; opacity: 1; box-shadow: 0 2px 4px var(--color-shadow); } /* 5. Content Area */ div#cgit div.content { padding: 1.5rem; flex-grow: 1; } div#cgit div.path { margin: 0; padding: 0.5rem 1.5rem; background-color: var(--color-surface-container-low); color: var(--color-on-surface); border-bottom: 1px solid var(--color-outline-variant); font-family: monospace; } /* 6. Lists and Tables */ div#cgit table.list { width: 100%; border: none; border-collapse: collapse; margin-bottom: 1rem; font-size: 0.95rem; } div#cgit table.list tr { background: var(--color-surface); border-bottom: 1px solid var(--color-surface-container-high); } div#cgit table.list tr:not(.nohover):nth-child(even) { background: var(--color-surface-container-lowest); } div#cgit table.list tr:not(.nohover):not(.nohover-highlight):hover { background: var(--color-surface-container-high); } div#cgit table.list tr.nohover { border: none; } div#cgit table.list th { text-align: left; font-weight: 600; color: var(--color-primary); padding: 0.75rem 0.5rem; border-bottom: 2px solid var(--color-outline-variant); } div#cgit table.list td { padding: 0.75rem 0.5rem; vertical-align: middle; white-space: nowrap; } /* Commit Graph columns */ div#cgit table.list td.commitgraph { font-family: monospace; white-space: pre; color: var(--color-on-surface); } div#cgit table.list td.reposection { text-align: center; } /* 7. Diffs and Code */ div#cgit table.blob, div#cgit table.bin-blob, div#cgit table.diff, div#cgit table.ssdiff { width: 100%; border: 1px solid var(--color-outline-variant); border-collapse: collapse; border-radius: 4px; margin-top: 1rem; background: var(--color-surface-container-lowest); } div#cgit table.blob td.linenumbers, div#cgit table.ssdiff td.lineno { border-right: 1px solid var(--color-outline-variant); background: var(--color-surface-container-high); text-align: right; padding: 0 0.5em; } div#cgit table.ssdiff td.lineno { width: 1%; } div#cgit table.ssdiff td:not(.lineno) { width: 48%; max-width: 50ch; white-space: break-spaces; } div#cgit table.blob td.lines { width: 100%; vertical-align: top; } div#cgit table.blob td.linenumbers a, div#cgit table.ssdiff td.lineno a { display: inline-block; width: 100%; text-decoration: none; color: var(--color-outline); padding: 0; } div#cgit table.blob pre, div#cgit table.diff td, div#cgit table.ssdiff td { font-family: monospace; font-size: 0.9em; padding: 0 0.5em; margin: 0; color: var(--color-on-surface); } div#cgit table.bin-blob { font-family: monospace; font-size: 0.95em; } div#cgit table.bin-blob th { text-align: left; font-weight: 600; color: var(--color-primary); background-color: var(--color-surface-container); padding: 0.5rem 0.75rem; border-bottom: 2px solid var(--color-outline-variant); font-family: sans-serif; } div#cgit table.bin-blob td { padding: 0.25rem 0.75rem; color: var(--color-on-surface); white-space: pre; vertical-align: middle; } div#cgit table.bin-blob td.right { text-align: right; border-right: 1px solid var(--color-outline-variant); background: var(--color-surface-container-high); color: var(--color-outline); padding-right: 0.75rem; user-select: none; } div#cgit table.bin-blob td.hex { font-family: monospace; padding-left: 1rem; } div#cgit table.bin-blob tr:nth-child(even) td.hex { background: var(--color-surface-container-low); } div#cgit table.bin-blob tr:hover td.hex { background: var(--color-surface-container-high); color: var(--color-on-surface); } /* Diff coloring */ div#cgit table.diff td div.add, div#cgit table.ssdiff td.add { background-color: var(--diff-add-bg); color: var(--diff-add-fg); } div#cgit table.diff td div.del, div#cgit table.ssdiff td.del { background-color: var(--diff-del-bg); color: var(--diff-del-fg); } div#cgit table.diff td div.changed, div#cgit table.ssdiff td.changed { background-color: var(--diff-changed-bg); color: var(--diff-changed-fg); } div#cgit table.diff td div.hunk, div#cgit table.ssdiff td.hunk { background-color: var(--color-surface-variant); color: var(--color-on-surface-variant); padding: 0.25em 0.5em; } /* 8. Decorations (Tags, Branches) */ div#cgit a.branch-deco, div#cgit a.tag-deco, div#cgit a.tag-annotated-deco, div#cgit a.remote-deco, div#cgit a.deco { display: inline-block; padding: 2px 6px; border-radius: 4px; font-size: 0.8em; margin-left: 0.5em; border: none; } div#cgit a.branch-deco { background-color: var(--color-primary-container); color: var(--color-on-primary-container); } div#cgit a.tag-deco { background-color: var(--color-tertiary-container); color: var(--color-on-tertiary-container); } div#cgit a.tag-annotated-deco { background-color: var(--color-tertiary-fixed); color: var(--color-on-tertiary-fixed); } div#cgit a.remote-deco { background-color: var(--color-secondary-container); color: var(--color-on-secondary-container); } div#cgit a.deco { background-color: var(--color-secondary-fixed); color: var(--color-on-secondary-fixed); } div#cgit div.commit-subject a.branch-deco, div#cgit div.commit-subject a.tag-deco, div#cgit div.commit-subject a.tag-annotated-deco, div#cgit div.commit-subject a.remote-deco, div#cgit div.commit-subject a.deco { font-size: 0.7rem; vertical-align: middle; } /* 9. Commit Info Table */ div#cgit table.commit-info { background-color: var(--color-surface-container); border: 1px solid var(--color-outline-variant); border-radius: 8px; padding: 1rem; width: 100%; margin-top: 1rem; border-collapse: separate; border-spacing: 0 0.5rem; } div#cgit table.commit-info th { text-align: left; padding: 0 1rem; color: var(--color-secondary); } div#cgit table.commit-info td { padding: 0 1rem; } div#cgit div.commit-subject { font-size: 1.2rem; font-weight: bold; color: var(--color-primary); margin: 1.5rem 0 0.5rem 0; } div#cgit div.commit-msg { white-space: pre-wrap; font-family: monospace; padding: 1rem; background: var(--color-surface-container-low); border-radius: 4px; color: var(--color-on-surface); } div#cgit div.commit-msg:empty { display: none; } /* 10. Footer */ div#cgit div.footer { margin-top: auto; padding: 2rem 1rem; text-align: center; font-size: 0.85rem; color: var(--color-outline); border-top: 1px solid var(--color-outline-variant); } div#cgit div.error { color: var(--color-on-error-container); background: var(--color-error-container); padding: 1rem; border-radius: 4px; margin: 1rem 0; } /* 11. Log / tree / listing extras */ div#cgit table.list tr.logheader { background: var(--color-surface-container); color: var(--color-on-surface-variant); font-weight: 600; } div#cgit table.list td.logsubject { font-weight: 600; color: var(--color-on-surface); white-space: normal; } div#cgit table.list td.logmsg { font-family: monospace; white-space: pre; color: var(--color-on-surface-variant); padding: 0.75rem 0.5rem; } div#cgit table.list td a.ls-dir, div#cgit a.ls-dir { font-family: monospace; font-weight: 600; color: var(--color-primary); } div#cgit table.list td a.ls-blob, div#cgit a.ls-blob, div#cgit .ls-mod { font-family: monospace; } div#cgit td.ls-size, div#cgit td.ls-mode { font-family: monospace; text-align: right; color: var(--color-on-surface-variant); } div#cgit td.ls-size { width: 10em; } div#cgit td.ls-mode { width: 10em; text-align: left; } div#cgit table.list td.reposection { font-style: italic; color: var(--color-on-surface-variant); background: var(--color-surface-container-low); font-weight: 500; } div#cgit table.list td.sublevel-repo { padding-left: 1.5em; } /* Commit graph colored channels */ div#cgit table.list td.commitgraph .column1 { color: var(--color-primary); } div#cgit table.list td.commitgraph .column2 { color: var(--color-tertiary); } div#cgit table.list td.commitgraph .column3 { color: var(--color-secondary); } div#cgit table.list td.commitgraph .column4 { color: var(--color-primary-fixed-dim); } div#cgit table.list td.commitgraph .column5 { color: var(--color-tertiary-fixed-dim); } div#cgit table.list td.commitgraph .column6 { color: var(--color-secondary-fixed-dim); } /* Object ids and inline stats */ div#cgit .oid { font-family: monospace; font-size: 0.9em; color: var(--color-on-surface-variant); } div#cgit span.insertions { color: var(--color-tertiary); font-weight: 600; } div#cgit span.deletions { color: var(--color-error); font-weight: 600; } /* Age gradient: fresh = strong accent, stale = muted */ div#cgit span.age-mins { color: var(--color-primary); font-weight: 600; } div#cgit span.age-hours { color: var(--color-primary); } div#cgit span.age-days { color: var(--color-on-surface); } div#cgit span.age-weeks { color: var(--color-on-surface-variant); } div#cgit span.age-months { color: var(--color-outline); } div#cgit span.age-years { color: var(--color-outline); opacity: 0.75; } /* Pager */ div#cgit ul.pager { list-style: none; text-align: center; padding: 0; margin: 1.5rem 0 0 0; } div#cgit ul.pager li { display: inline-block; margin: 0 0.25rem; } div#cgit ul.pager a { display: inline-block; padding: 0.25rem 0.6rem; border-radius: 4px; color: var(--color-on-surface-variant); background: var(--color-surface-container-low); } div#cgit ul.pager a:hover { background: var(--color-surface-container-high); text-decoration: none; } div#cgit ul.pager .current { display: inline-block; padding: 0.25rem 0.6rem; border-radius: 4px; background: var(--color-primary-container); color: var(--color-on-primary-container); font-weight: 600; } /* Diffstat (commit page: changed files + bar) */ div#cgit div.diffstat-header { font-weight: 600; color: var(--color-primary); margin-top: 1.5rem; padding-top: 0; } div#cgit table.diffstat { border-collapse: collapse; width: 100%; background: var(--color-surface-container-lowest); border: 1px solid var(--color-outline-variant); border-radius: 4px; margin-top: 0.5rem; } div#cgit table.diffstat td { padding: 0.25rem 0.5rem; border: none; font-size: 0.9rem; } div#cgit table.diffstat td.mode { white-space: nowrap; font-family: monospace; color: var(--color-on-surface-variant); } div#cgit table.diffstat td span.modechange { padding-left: 1em; color: var(--color-error); } div#cgit table.diffstat td.add a { color: var(--color-tertiary); } div#cgit table.diffstat td.del a { color: var(--color-error); } div#cgit table.diffstat td.upd a { color: var(--color-primary); } div#cgit table.diffstat td.graph { width: 500px; vertical-align: middle; } div#cgit table.diffstat td.graph table { border: none; width: 100%; } div#cgit table.diffstat td.graph td { padding: 0; border: 0; height: 8px; } div#cgit table.diffstat td.graph td.add { background-color: var(--diff-add-bg); } div#cgit table.diffstat td.graph td.rem { background-color: var(--diff-del-bg); } div#cgit div.diffstat-summary { color: var(--color-on-surface-variant); padding-top: 0.5rem; font-size: 0.9rem; } /* Notes */ div#cgit div.notes-header { font-weight: 600; color: var(--color-primary); padding-top: 1.5rem; } div#cgit div.notes { white-space: pre-wrap; font-family: monospace; border: 1px solid var(--color-outline-variant); background-color: var(--color-surface-container-low); color: var(--color-on-surface); padding: 0.75rem 1rem; border-radius: 4px; margin-top: 0.5rem; } div#cgit div.notes-footer { clear: left; } /* Blame */ div#cgit table.blame td.hashes, div#cgit table.blame td.lines, div#cgit table.blame td.linenumbers { padding: 0; vertical-align: top; } div#cgit table.blame td.hashes { background: var(--color-surface-container); border-right: 1px solid var(--color-outline-variant); } div#cgit table.blame td.hashes div.alt, div#cgit table.blame td.lines div.alt, div#cgit table.blame td.linenumbers div.alt { padding: 0 0.5em; } div#cgit table.blame div.alt:nth-child(even) { background: var(--color-surface-container-low); } div#cgit table.blame div.alt:nth-child(odd) { background: var(--color-surface-container-lowest); } div#cgit table.blame td.lines > div { position: relative; } div#cgit table.blame td.lines > div > pre { padding: 0 0 0 0.5em; position: absolute; top: 0; margin: 0; } /* Side-by-side diff: intra-line dark-shaded variants */ div#cgit table.ssdiff td.add_dark { background-color: var(--diff-add-bg); color: var(--diff-add-fg); filter: brightness(0.92); } div#cgit table.ssdiff td.del_dark { background-color: var(--diff-del-bg); color: var(--diff-del-fg); filter: brightness(0.92); } div#cgit table.ssdiff td.changed_dark { background-color: var(--diff-changed-bg); color: var(--diff-changed-fg); filter: brightness(0.92); } div#cgit table.ssdiff span.add { background: var(--diff-add-bg); color: var(--diff-add-fg); font-weight: 600; } div#cgit table.ssdiff span.del { background: var(--diff-del-bg); color: var(--diff-del-fg); font-weight: 600; } div#cgit table.diff td div.head, div#cgit table.ssdiff td.head div.head { font-weight: 600; margin-top: 1rem; color: var(--color-primary); } /* Stats (vgraph / hgraph / stats table) */ div#cgit table.stats, div#cgit table.vgraph, div#cgit table.hgraph { border: 1px solid var(--color-outline-variant); border-collapse: collapse; margin-top: 1rem; background: var(--color-surface-container-lowest); } div#cgit table.stats th, div#cgit table.vgraph th, div#cgit table.hgraph th { background: var(--color-surface-container); color: var(--color-primary); font-weight: 600; text-align: left; padding: 0.5rem 0.75rem; border: 1px solid var(--color-outline-variant); } div#cgit table.stats td { text-align: right; padding: 0.25rem 0.75rem; border: 1px solid var(--color-outline-variant); } div#cgit table.stats td.total { font-weight: 600; text-align: left; color: var(--color-on-surface); } div#cgit table.stats td.sum { color: var(--color-primary); font-weight: 600; } div#cgit table.stats td.left { text-align: left; } div#cgit table.vgraph { height: 200px; } div#cgit table.vgraph td { vertical-align: bottom; padding: 0 10px; } div#cgit table.vgraph div.bar, div#cgit table.hgraph div.bar { background-color: var(--color-primary-container); } div#cgit table.hgraph { width: 100%; } div#cgit table.hgraph td { vertical-align: middle; padding: 2px; } div#cgit table.hgraph div.bar { height: 1em; } /* Cgit-panel (side panel on some pages) */ div#cgit div.cgit-panel table { border-collapse: collapse; border: 1px solid var(--color-outline-variant); background-color: var(--color-surface-container-low); } div#cgit div.cgit-panel th { text-align: center; background: var(--color-surface-container); color: var(--color-primary); padding: 0.25rem 0.5rem; } div#cgit div.cgit-panel td { padding: 0.25rem 0.5rem; } /* Summary page download table */ div#cgit table#downloads { float: right; border-collapse: collapse; border: 1px solid var(--color-outline-variant); margin: 0 0 0.5rem 0.5rem; } div#cgit table#downloads th { background-color: var(--color-surface-container); color: var(--color-primary); padding: 0.25rem 0.5rem; text-align: left; } /* 12. Responsive Adjustments */ @media only screen and (max-width: 768px) { div#cgit table#header td.logo img { max-height: 40px; } div#cgit table.tabs { flex-direction: column; padding: 0; } div#cgit table.tabs td a { width: 100%; border-bottom: 1px solid var(--color-outline-variant); } div#cgit table.tabs td.form { width: 100%; justify-content: flex-start; padding: 1rem; } div#cgit div.content { padding: 1rem 0.5rem; overflow-x: auto; } /* Make div.scrollable is scrollable*/ div#cgit div.scrollable { overflow-x: auto; } div#cgit div#cgit table.bin-blob th, div#cgit table.bin-blob td { padding: 0.5rem; } /* Allow wrapping in logs on mobile to prevent extreme width */ div#cgit table.list td.logmsg { white-space: normal; min-width: 200px; } div#cgit div.cgit-panel, div#cgit table#downloads { float: none; width: 100%; margin: 0.5rem 0; } div#cgit table.diffstat td.graph { width: auto; min-width: 120px; } }