/* Dark theme — base colours aligned with dulieu.uk (#131516 / #d8d4cf).
   Link hovers match blog.dulieu.uk (opacity). Diffs use muted green/red for readability. */

html {
	background-color: #131516;
}

body {
	margin: 0;
	background-color: #131516;
	color: #d8d4cf;
}

div#cgit {
	--bg: #131516;
	--bg-muted: #1a1c1e;
	--bg-elevated: #1f2225;
	--bg-hover: #282c30;
	--bg-zebra: #181a1c;
	--border: #3a3e42;
	--border-soft: #2c3033;
	--text: #d8d4cf;
	--text-muted: #9a9690;
	--text-faint: #6e6a65;
	--link: #e2ded8;
	--input-bg: #0d0e0f;
	--input-border: #45494d;
	--error: #c97a7a;
	--diff-add-bg: #15251c;
	--diff-add-text: #9bc4a8;
	--diff-del-bg: #251a1a;
	--diff-del-text: #c9a0a0;
	--diff-hunk: #1e2430;
	--notes-bg: #252018;
	--notes-border: #4a4235;

	padding: 0em;
	margin: 0em;
	font-family: "Fira Sans", system-ui, -apple-system, Segoe UI, sans-serif;
	font-size: 10pt;
	color: var(--text);
	background: var(--bg);
	padding: 4px;
}

div#cgit a {
	color: var(--link);
	text-decoration: none;
	transition: opacity 0.3s;
}

div#cgit a:hover {
	opacity: 0.7;
}

div#cgit table {
	border-collapse: collapse;
}

div#cgit table#header {
	width: 100%;
	margin-bottom: 1em;
}

div#cgit table#header td.logo {
	width: 96px;
	vertical-align: top;
}

/* Cell width does not shrink <img>; constrain the logo image explicitly. */
div#cgit table#header td.logo img {
	max-width: 96px;
	height: auto;
	display: block;
}

div#cgit table#header td.main {
	font-size: 250%;
	padding-left: 10px;
	white-space: nowrap;
}

div#cgit table#header td.main a {
	color: var(--text);
}

div#cgit table#header td.form {
	text-align: right;
	vertical-align: bottom;
	padding-right: 1em;
	padding-bottom: 2px;
	white-space: nowrap;
}

div#cgit table#header td.form form,
div#cgit table#header td.form input,
div#cgit table#header td.form select {
	font-size: 90%;
	color: var(--text);
	background: var(--input-bg);
	border: 1px solid var(--input-border);
	border-radius: 2px;
}

div#cgit table#header td.sub {
	color: var(--text-muted);
	border-top: solid 1px var(--border-soft);
	padding-left: 10px;
}

div#cgit table.tabs {
	border-bottom: solid 3px var(--border);
	border-collapse: collapse;
	margin-top: 2em;
	margin-bottom: 0px;
	width: 100%;
}

div#cgit table.tabs td {
	padding: 0px 1em;
	vertical-align: bottom;
}

div#cgit table.tabs td a {
	padding: 2px 0.75em;
	color: var(--text-muted);
	font-size: 110%;
}

div#cgit table.tabs td a.active {
	color: var(--text);
	background-color: var(--bg-elevated);
}

div#cgit table.tabs a[href^="http://"]:after, div#cgit table.tabs a[href^="https://"]:after {
	content: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAAKCAQAAAAnOwc2AAAAAmJLR0QA/4ePzL8AAAAJcEhZcwAACxMAAAsTAQCanBgAAAAHdElNRQfgAhcJDQY+gm2TAAAAHWlUWHRDb21tZW50AAAAAABDcmVhdGVkIHdpdGggR0lNUGQuZQcAAABbSURBVAhbY2BABs4MU4CwhYHBh2Erww4wrGFQZHjI8B8IgUIscJWyDHcggltQhI4zGDCcRwhChPggHIggP1QoAVmQkSETrGoHsiAEsACtBYN0oDAMbgU6EBcAAL2eHUt4XUU4AAAAAElFTkSuQmCC);
	opacity: 0.45;
	filter: invert(0.85);
	margin: 0 0 0 5px;
}

div#cgit table.tabs td.form {
	text-align: right;
}

div#cgit table.tabs td.form form {
	padding-bottom: 2px;
	font-size: 90%;
	white-space: nowrap;
}

div#cgit table.tabs td.form input,
div#cgit table.tabs td.form select {
	font-size: 90%;
	color: var(--text);
	background: var(--input-bg);
	border: 1px solid var(--input-border);
	border-radius: 2px;
}

div#cgit div.path {
	margin: 0px;
	padding: 5px 2em 2px 2em;
	color: var(--text);
	background-color: var(--bg-muted);
	border-bottom: 1px solid var(--border-soft);
}

div#cgit div.content {
	margin: 0px;
	padding: 2em;
	border-bottom: solid 3px var(--border);
}


div#cgit table.list {
	width: 100%;
	border: none;
	border-collapse: collapse;
}

div#cgit table.list tr {
	background: var(--bg);
}

div#cgit table.list tr.logheader {
	background: var(--bg-muted);
}

div#cgit table.list tr:nth-child(even) {
	background: var(--bg-zebra);
}

div#cgit table.list tr:nth-child(odd) {
	background: var(--bg);
}

div#cgit table.list tr:hover {
	background: var(--bg-hover);
}

div#cgit table.list tr.nohover {
	background: var(--bg);
}

div#cgit table.list tr.nohover:hover {
	background: var(--bg);
}

div#cgit table.list tr.nohover-highlight:hover:nth-child(even) {
	background: var(--bg-zebra);
}

div#cgit table.list tr.nohover-highlight:hover:nth-child(odd) {
	background: var(--bg);
}

div#cgit table.list th {
	font-weight: bold;
	padding: 0.1em 0.5em 0.05em 0.5em;
	vertical-align: baseline;
	color: var(--text-muted);
}

div#cgit table.list td {
	border: none;
	padding: 0.1em 0.5em 0.1em 0.5em;
}

div#cgit table.list td.commitgraph {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	white-space: pre;
}

div#cgit table.list td.commitgraph .column1 {
	color: #b0b0b0;
}

div#cgit table.list td.commitgraph .column2 {
	color: #989898;
}

div#cgit table.list td.commitgraph .column3 {
	color: #808080;
}

div#cgit table.list td.commitgraph .column4 {
	color: #686868;
}

div#cgit table.list td.commitgraph .column5 {
	color: #a8a8a8;
}

div#cgit table.list td.commitgraph .column6 {
	color: #909090;
}

div#cgit table.list td.logsubject {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	font-weight: bold;
}

div#cgit table.list td.logmsg {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	white-space: pre;
	padding: 0 0.5em;
}

div#cgit table.list td a {
	color: var(--link);
}

div#cgit table.list td a.ls-dir {
	font-weight: bold;
	color: var(--text);
}

div#cgit img {
	border: none;
}

div#cgit input#switch-btn {
	margin: 2px 0px 0px 0px;
}

div#cgit td#sidebar input.txt {
	width: 100%;
	margin: 2px 0px 0px 0px;
	background: var(--input-bg);
	color: var(--text);
	border: 1px solid var(--input-border);
}

div#cgit table#grid {
	margin: 0px;
}

div#cgit td#content {
	vertical-align: top;
	padding: 1em 2em 1em 1em;
	border: none;
}

div#cgit div#summary {
	vertical-align: top;
	margin-bottom: 1em;
}

div#cgit table#downloads {
	float: right;
	border-collapse: collapse;
	border: solid 1px var(--border);
	margin-left: 0.5em;
	margin-bottom: 0.5em;
}

div#cgit table#downloads th {
	background-color: var(--bg-muted);
	color: var(--text-muted);
}

div#cgit div#blob {
	border: solid 1px var(--border);
	background: var(--input-bg);
}

div#cgit div.error {
	color: var(--error);
	font-weight: bold;
	margin: 1em 2em;
}

div#cgit a.ls-blob, div#cgit a.ls-dir, div#cgit .ls-mod {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

div#cgit td.ls-size {
	text-align: right;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	width: 10em;
}

div#cgit td.ls-mode {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	width: 10em;
}

div#cgit table.blob {
	margin-top: 0.5em;
	border-top: solid 1px var(--border);
}

div#cgit table.blob td.hashes,
div#cgit table.blob td.lines {
	margin: 0; padding: 0 0 0 0.5em;
	vertical-align: top;
	color: var(--text);
}

div#cgit table.blob td.linenumbers {
	margin: 0; padding: 0 0.5em 0 0.5em;
	vertical-align: top;
	text-align: right;
	border-right: 1px solid var(--border-soft);
	background: var(--bg-muted);
}

div#cgit table.blob pre {
	padding: 0; margin: 0;
}

div#cgit table.blob td.linenumbers a,
div#cgit table.ssdiff td.lineno a {
	color: var(--text-faint);
	text-align: right;
	text-decoration: none;
}

div#cgit table.blob td.linenumbers a:hover,
div#cgit table.ssdiff td.lineno a:hover {
	color: var(--text);
	opacity: 1;
}

div#cgit table.blame td.hashes,
div#cgit table.blame td.lines,
div#cgit table.blame td.linenumbers {
	padding: 0;
}

div#cgit table.blame td.hashes div.alt,
div#cgit table.blame td.lines div.alt {
	padding: 0 0.5em 0 0.5em;
}

div#cgit table.blame td.linenumbers div.alt {
	padding: 0 0.5em 0 0;
}

div#cgit table.blame div.alt:nth-child(even) {
	background: var(--bg-zebra);
}

div#cgit table.blame div.alt:nth-child(odd) {
	background: var(--bg);
}

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

div#cgit table.bin-blob {
	margin-top: 0.5em;
	border: solid 1px var(--border);
}

div#cgit table.bin-blob th {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	white-space: pre;
	border: solid 1px var(--border);
	padding: 0.5em 1em;
	background: var(--bg-muted);
}

div#cgit table.bin-blob td {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	white-space: pre;
	border-left: solid 1px var(--border);
	padding: 0em 1em;
}

div#cgit table.nowrap td {
	white-space: nowrap;
}

div#cgit table.commit-info {
	border-collapse: collapse;
	margin-top: 1.5em;
}

div#cgit div.cgit-panel {
	float: right;
	margin-top: 1.5em;
}

div#cgit div.cgit-panel table {
	border-collapse: collapse;
	border: solid 1px var(--border);
	background-color: var(--bg-muted);
}

div#cgit div.cgit-panel th {
	text-align: center;
	color: var(--text-muted);
}

div#cgit div.cgit-panel td {
	padding: 0.25em 0.5em;
}

div#cgit div.cgit-panel td.label {
	padding-right: 0.5em;
	color: var(--text-muted);
}

div#cgit div.cgit-panel td.ctrl {
	padding-left: 0.5em;
}

div#cgit table.commit-info th {
	text-align: left;
	font-weight: normal;
	padding: 0.1em 1em 0.1em 0.1em;
	vertical-align: top;
	color: var(--text-muted);
}

div#cgit table.commit-info td {
	font-weight: normal;
	padding: 0.1em 1em 0.1em 0.1em;
}

div#cgit div.commit-subject {
	font-weight: bold;
	font-size: 125%;
	margin: 1.5em 0em 0.5em 0em;
	padding: 0em;
}

div#cgit div.commit-msg {
	white-space: pre;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
}

div#cgit div.notes-header {
	font-weight: bold;
	padding-top: 1.5em;
}

div#cgit div.notes {
	white-space: pre;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	border: solid 1px var(--notes-border);
	background-color: var(--notes-bg);
	color: var(--text-muted);
	padding: 0.3em 2em 0.3em 1em;
	float: left;
}

div#cgit div.notes-footer {
	clear: left;
}

div#cgit div.diffstat-header {
	font-weight: bold;
	padding-top: 1.5em;
}

div#cgit table.diffstat {
	border-collapse: collapse;
	border: solid 1px var(--border);
	background-color: var(--bg-muted);
}

div#cgit table.diffstat th {
	font-weight: normal;
	text-align: left;
	text-decoration: underline;
	text-decoration-color: var(--text-faint);
	padding: 0.1em 1em 0.1em 0.1em;
	font-size: 100%;
	color: var(--text-muted);
}

div#cgit table.diffstat td {
	padding: 0.2em 0.2em 0.1em 0.1em;
	font-size: 100%;
	border: none;
}

div#cgit table.diffstat td.mode {
	white-space: nowrap;
}

div#cgit table.diffstat td span.modechange {
	padding-left: 1em;
	color: var(--error);
}

div#cgit table.diffstat td.add a {
	color: var(--diff-add-text);
}

div#cgit table.diffstat td.del a {
	color: var(--diff-del-text);
}

div#cgit table.diffstat td.upd a {
	color: var(--text-muted);
}

div#cgit table.diffstat td.graph {
	width: 500px;
	vertical-align: middle;
}

div#cgit table.diffstat td.graph table {
	border: none;
}

div#cgit table.diffstat td.graph td {
	padding: 0px;
	border: 0px;
	height: 7pt;
}

div#cgit table.diffstat td.graph td.add {
	background-color: #3d6b52;
}

div#cgit table.diffstat td.graph td.rem {
	background-color: #6b3d3d;
}

div#cgit div.diffstat-summary {
	color: var(--text-muted);
	padding-top: 0.5em;
}

div#cgit table.diff {
	width: 100%;
}

div#cgit table.diff td {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	white-space: pre;
}

div#cgit table.diff td div.head {
	font-weight: bold;
	margin-top: 1em;
	color: var(--text);
}

div#cgit table.diff td div.hunk {
	color: var(--text-muted);
}

div#cgit table.diff td div.add {
	color: var(--diff-add-text);
}

div#cgit table.diff td div.del {
	color: var(--diff-del-text);
}

div#cgit .sha1 {
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	font-size: 90%;
	color: var(--text-muted);
}

div#cgit .left {
	text-align: left;
}

div#cgit .right {
	text-align: right;
}

div#cgit table.list td.reposection {
	font-style: italic;
	color: var(--text-muted);
}

div#cgit a.button {
	font-size: 80%;
	padding: 0em 0.5em;
}

div#cgit a.primary {
	font-size: 100%;
}

div#cgit a.secondary {
	font-size: 90%;
}

div#cgit table.list td.sublevel-repo {
	padding-left: 1.5em;
}

div#cgit ul.pager {
	list-style-type: none;
	text-align: center;
	margin: 1em 0em 0em 0em;
	padding: 0;
}

div#cgit ul.pager li {
	display: inline-block;
	margin: 0.25em 0.5em;
}

div#cgit ul.pager a {
	color: var(--text-muted);
}

div#cgit ul.pager .current {
	font-weight: bold;
	color: var(--text);
}

div#cgit span.age-mins {
	font-weight: bold;
	color: var(--text-muted);
}

div#cgit span.age-hours {
	color: var(--text-muted);
}

div#cgit span.age-days {
	color: var(--text-faint);
}

div#cgit span.age-weeks {
	color: var(--text-faint);
}

div#cgit span.age-months {
	color: var(--text-faint);
}

div#cgit span.age-years {
	color: var(--text-faint);
}

div#cgit span.insertions {
	color: var(--diff-add-text);
}

div#cgit span.deletions {
	color: var(--diff-del-text);
}

div#cgit div.footer {
	margin-top: 0.5em;
	text-align: center;
	font-size: 80%;
	color: var(--text-faint);
}

div#cgit div.footer a {
	color: var(--text-muted);
	text-decoration: none;
}

div#cgit a.branch-deco {
	color: var(--text);
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #2a3238;
	border: solid 1px var(--border);
}

div#cgit a.tag-deco {
	color: var(--text);
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #32302a;
	border: solid 1px var(--border);
}

div#cgit a.tag-annotated-deco {
	color: var(--text);
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #2e2c28;
	border: solid 1px var(--border);
}

div#cgit a.remote-deco {
	color: var(--text);
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #282a2e;
	border: solid 1px var(--border);
}

div#cgit a.deco {
	color: var(--text);
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #2e2828;
	border: solid 1px var(--border);
}

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 {
	margin-left: 1em;
	font-size: 75%;
}

div#cgit table.stats {
	border: solid 1px var(--border);
	border-collapse: collapse;
}

div#cgit table.stats th {
	text-align: left;
	padding: 1px 0.5em;
	background-color: var(--bg-muted);
	color: var(--text-muted);
	border: solid 1px var(--border);
}

div#cgit table.stats td {
	text-align: right;
	padding: 1px 0.5em;
	border: solid 1px var(--border);
}

div#cgit table.stats td.total {
	font-weight: bold;
	text-align: left;
}

div#cgit table.stats td.sum {
	color: var(--diff-del-text);
	font-weight: bold;
}

div#cgit table.stats td.left {
	text-align: left;
}

div#cgit table.vgraph {
	border-collapse: separate;
	border: solid 1px var(--border);
	height: 200px;
}

div#cgit table.vgraph th {
	background-color: var(--bg-muted);
	font-weight: bold;
	border: solid 1px var(--bg);
	color: var(--text-muted);
	padding: 1px 0.5em;
}

div#cgit table.vgraph td {
	vertical-align: bottom;
	padding: 0px 10px;
}

div#cgit table.vgraph div.bar {
	background-color: var(--bg-elevated);
}

div#cgit table.hgraph {
	border: solid 1px var(--border);
	width: 800px;
}

div#cgit table.hgraph th {
	background-color: var(--bg-muted);
	font-weight: bold;
	border: solid 1px var(--border);
	color: var(--text-muted);
	padding: 1px 0.5em;
}

div#cgit table.hgraph td {
	vertical-align: middle;
	padding: 2px 2px;
}

div#cgit table.hgraph div.bar {
	background-color: var(--bg-elevated);
	height: 1em;
}

div#cgit table.ssdiff {
	width: 100%;
}

div#cgit table.ssdiff td {
	font-size: 75%;
	font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
	white-space: pre;
	padding: 1px 4px 1px 4px;
	border-left: solid 1px var(--border-soft);
	border-right: solid 1px var(--border-soft);
}

div#cgit table.ssdiff td.add {
	color: var(--diff-add-text);
	background: var(--diff-add-bg);
	min-width: 50%;
}

div#cgit table.ssdiff td.add_dark {
	color: var(--diff-add-text);
	background: #0f1f16;
	min-width: 50%;
}

div#cgit table.ssdiff span.add {
	background: #1a3328;
	font-weight: bold;
}

div#cgit table.ssdiff td.del {
	color: var(--diff-del-text);
	background: var(--diff-del-bg);
	min-width: 50%;
}

div#cgit table.ssdiff td.del_dark {
	color: var(--diff-del-text);
	background: #1a1414;
	min-width: 50%;
}

div#cgit table.ssdiff span.del {
	background: #332222;
	font-weight: bold;
}

div#cgit table.ssdiff td.changed {
	color: var(--text);
	background: #2a2820;
	min-width: 50%;
}

div#cgit table.ssdiff td.changed_dark {
	color: var(--text-muted);
	background: #222018;
	min-width: 50%;
}

div#cgit table.ssdiff td.lineno {
	color: var(--text-faint);
	background: var(--bg-muted);
	text-align: right;
	width: 3em;
	min-width: 3em;
}

div#cgit table.ssdiff td.hunk {
	color: var(--text-muted);
	background: var(--diff-hunk);
	border-top: solid 1px var(--border);
	border-bottom: solid 1px var(--border);
}

div#cgit table.ssdiff td.head {
	border-top: solid 1px var(--border);
	border-bottom: solid 1px var(--border);
	background: var(--bg-muted);
}

div#cgit table.ssdiff td.head div.head {
	font-weight: bold;
	color: var(--text);
}

div#cgit table.ssdiff td.foot {
	border-top: solid 1px var(--border);
	border-left: none;
	border-right: none;
	border-bottom: none;
}

div#cgit table.ssdiff td.space {
	border: none;
}

div#cgit table.ssdiff td.space div {
	min-height: 3em;
}
