/* cgit-dark - Dark theme based on CSS media selectors
 * Copyright (C) 2024 Joe Banks <joe@jb3.dev>
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Affero General Public License for more details.
 *
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <https://www.gnu.org/licenses/>.
 */


/* Based on the cgit.css file distributed with cgit version 1.2.3 */

:root {
	--background: white;
	--color: #333;
	--link-color: blue;
	--link-hover: #00f;
	--table-row: white;
	--table-row-alt: #f7f7f7;
	--path: #000;
	--path-background: #eee;
	--table-link: #000;
	--reposection: #888;
	--sub: #777;
	--table-hover: #eee;
	--tabs-border: #ccc;
	--tabs-active-text: #000;
	--tabs-text: #777;
	--main-link: #000;
	--stats-total: #c00;
	--diffstat-background: #f7f7f7;
	--diff-color: #000;
	--diff-hunk: #009;
	--diff-del: red;
	--diff-add: green;
}

@media (prefers-color-scheme: dark) {
	:root {
		--background: #333;
		--color: white;
		--link-color: #7b9cf8;
		--link-hover: #bcbcff;
		--table-row: #444;
		--table-row-alt: #333;
		--path: #ccc;
		--path-background: #444;
		--table-link: #f3f3f3;
		--reposection: #c5c5c5;
		--sub: #bbb;
		--table-hover: #555;
		--tabs-border: #666;
		--tabs-active-text: #fff;
		--tabs-text: #bbb;
		--main-link: #fff;
		--stats-total: #eb8383;
		--diffstat-background: #444;
		--diff-color: #ccc;
		--diff-hunk: #4f90f1;
		--diff-del: #ffa8a8;
		--diff-add: #9cf39c;
	}

	/* cgit by default constrains itself to a container and themes that,
	 * we have to break some of that isolation if we want the whole page
	 * to be dark themed */
	body {
		background-color: var(--background);
	}

	/* the deco tags will never work in dark mode, so let's just keep the text
     * as black */
	div#cgit a.deco,
	div#cgit a.branch-deco,
	div#cgit a.tag-deco,
	div#cgit a.tag-annotated-deco,
	div#cgit a.remote-deco {
		color: #000 !important;
	}
}

div#cgit {
	padding: 0em;
	margin: 0em;
	font-family: sans-serif;
	font-size: 10pt;
	color: var(--color);
	background: var(--background);
	padding: 4px;
}

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

div#cgit a:hover {
	text-decoration: underline;
}

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

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

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

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

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

div#cgit table.tabs {
	border-bottom: solid 3px var(--tabs-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(--tabs-text);
	font-size: 110%;
}

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

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.5;
	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%;
}

div#cgit div.path {
	margin: 0px;
	padding: 5px 2em 2px 2em;
	color: var(--path);
	background-color: var(--path-background);
}

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


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

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

div#cgit table.list tr.logheader {
	background: #eee;
}

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

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

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

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

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

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

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

div#cgit table.list th {
	font-weight: bold;
	/* color: #888;
	border-top: dashed 1px #888;
	border-bottom: dashed 1px #888;
	*/
	padding: 0.1em 0.5em 0.05em 0.5em;
	vertical-align: baseline;
}

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

div#cgit table.list td.commitgraph {
	font-family: monospace;
	white-space: pre;
}

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

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

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

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

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

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

@media (prefers-color-scheme: dark) {
	div#cgit table.list td.commitgraph .column1 {
		color: rgb(255, 104, 104);
	}

	div#cgit table.list td.commitgraph .column2 {
		color: rgb(148, 233, 148);
	}

	div#cgit table.list td.commitgraph .column3 {
		color: rgb(255, 255, 104);
	}

	div#cgit table.list td.commitgraph .column4 {
		color: rgb(155, 155, 241);
	}

	div#cgit table.list td.commitgraph .column5 {
		color: rgb(255, 104, 255);
	}

	div#cgit table.list td.commitgraph .column6 {
		color: rgb(148, 233, 233);
	}
}

div#cgit table.list td.logsubject {
	font-family: monospace;
	font-weight: bold;
}

div#cgit table.list td.logmsg {
	font-family: monospace;
	white-space: pre;
	padding: 0 0.5em;
}

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

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

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

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

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 #777;
	margin-left: 0.5em;
	margin-bottom: 0.5em;
}

div#cgit table#downloads th {
	background-color: #ccc;
}

div#cgit div#blob {
	border: solid 1px black;
}

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

div#cgit a.ls-blob,
div#cgit a.ls-dir,
div#cgit .ls-mod {
	font-family: monospace;
}

div#cgit td.ls-size {
	text-align: right;
	font-family: monospace;
	width: 10em;
}

div#cgit td.ls-mode {
	font-family: monospace;
	width: 10em;
}

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

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

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

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

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

div#cgit table.blob td.linenumbers a:hover,
div#cgit table.ssdiff td.lineno a:hover {
	color: black;
}

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: #eee;
}

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

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.blame .oid {
	font-size: 100%;
}

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

div#cgit table.bin-blob th {
	font-family: monospace;
	white-space: pre;
	border: solid 1px #777;
	padding: 0.5em 1em;
}

div#cgit table.bin-blob td {
	font-family: monospace;
	white-space: pre;
	border-left: solid 1px #777;
	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 #aaa;
	background-color: #eee;
}

div#cgit div.cgit-panel th {
	text-align: center;
}

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

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

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

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

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

div#cgit div.notes {
	white-space: pre;
	font-family: monospace;
	border: solid 1px #ee9;
	background-color: #ffd;
	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 #aaa;
	background-color: var(--diffstat-background);
}

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

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

div#cgit table.diffstat td.add a {
	color: green;
}

div#cgit table.diffstat td.del a {
	color: red;
}

div#cgit table.diffstat td.upd a {
	color: blue;
}

@media (prefers-color-scheme: dark) {
	div#cgit table.diffstat td.add a {
		color: rgb(148, 233, 148);
	}

	div#cgit table.diffstat td.del a {
		color: rgb(255, 104, 104);
	}

	div#cgit table.diffstat td.upd a {
		color: rgb(155, 155, 241);
	}
}

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: #5c5;
}

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

div#cgit div.diffstat-summary {
	color: #888;
	padding-top: 0.5em;
}

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

div#cgit table.diff td {
	font-family: monospace;
	white-space: pre;
}

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

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

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

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

div#cgit .oid {
	font-family: monospace;
	font-size: 90%;
}

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

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

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

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 td.toplevel-repo {}

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: #777;
}

div#cgit ul.pager .current {
	font-weight: bold;
}

div#cgit span.age-mins {
	font-weight: bold;
	color: #080;
}

div#cgit span.age-hours {
	color: #080;
}

div#cgit span.age-days {
	color: #040;
}

div#cgit span.age-weeks {
	color: #444;
}

div#cgit span.age-months {
	color: #888;
}

div#cgit span.age-years {
	color: #bbb;
}

div#cgit span.insertions {
	color: #080;
}

div#cgit span.deletions {
	color: #800;
}

@media (prefers-color-scheme: dark) {
	div#cgit span.age-mins {
		color: rgb(179, 250, 179);
	}

	div#cgit span.age-hours {
		color: rgb(135, 207, 135);
	}

	div#cgit span.age-days {
		color: rgb(119, 168, 119);
	}

	div#cgit span.age-weeks {
		color: rgb(86, 119, 86);
	}

	div#cgit span.age-months {
		color: rgb(136, 139, 137);
	}

	div#cgit span.age-years {
		color: rgb(139, 139, 139);
	}

	div#cgit span.insertions {
		color: rgb(148, 233, 148);
	}

	div#cgit span.deletions {
		color: rgb(255, 104, 104);
	}
}

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

div#cgit div.footer a {
	color: #ccc;
	text-decoration: none;
}

div#cgit div.footer a:hover {
	text-decoration: underline;
}

div#cgit a.branch-deco {
	color: #000;
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #88ff88;
	border: solid 1px #007700;
}

div#cgit a.tag-deco {
	color: #000;
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #ffff88;
	border: solid 1px #777700;
}

div#cgit a.tag-annotated-deco {
	color: #000;
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #ffcc88;
	border: solid 1px #777700;
}

div#cgit a.remote-deco {
	color: #000;
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #ccccff;
	border: solid 1px #000077;
}

div#cgit a.deco {
	color: #000;
	margin: 0px 0.5em;
	padding: 0px 0.25em;
	background-color: #ff8888;
	border: solid 1px #770000;
}

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(--color);
	border-collapse: collapse;
}

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

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

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

div#cgit table.stats td.sum {
	color: var(--stats-total);
	font-weight: bold;
	/*	background-color: #eee; */
}

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

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

div#cgit table.vgraph th {
	background-color: #eee;
	font-weight: bold;
	border: solid 1px white;
	padding: 1px 0.5em;
}

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

div#cgit table.vgraph div.bar {
	background-color: #eee;
}

div#cgit table.hgraph {
	border: solid 1px black;
	width: 800px;
}

div#cgit table.hgraph th {
	background-color: #eee;
	font-weight: bold;
	border: solid 1px black;
	padding: 1px 0.5em;
}

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

div#cgit table.hgraph div.bar {
	background-color: #eee;
	height: 1em;
}

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

div#cgit table.ssdiff td {
	font-size: 75%;
	font-family: monospace;
	white-space: pre;
	padding: 1px 4px 1px 4px;
	border-left: solid 1px #aaa;
	border-right: solid 1px #aaa;
}

div#cgit table.ssdiff td.add {
	color: black;
	background: #cfc;
	min-width: 50%;
}

div#cgit table.ssdiff td.add_dark {
	color: black;
	background: #aca;
	min-width: 50%;
}

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

div#cgit table.ssdiff td.del {
	color: black;
	background: #fcc;
	min-width: 50%;
}

div#cgit table.ssdiff td.del_dark {
	color: black;
	background: #caa;
	min-width: 50%;
}

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

div#cgit table.ssdiff td.changed {
	color: black;
	background: #ffc;
	min-width: 50%;
}

div#cgit table.ssdiff td.changed_dark {
	color: black;
	background: #cca;
	min-width: 50%;
}

div#cgit table.ssdiff td.lineno {
	color: black;
	background: #eee;
	text-align: right;
	width: 3em;
	min-width: 3em;
}

div#cgit table.ssdiff td.hunk {
	color: black;
	background: #ccf;
	border-top: solid 1px #aaa;
	border-bottom: solid 1px #aaa;
}

div#cgit table.ssdiff td.head {
	border-top: solid 1px #aaa;
	border-bottom: solid 1px #aaa;
}

div#cgit table.ssdiff td.head div.head {
	font-weight: bold;
	color: black;
}

div#cgit table.ssdiff td.foot {
	border-top: solid 1px #aaa;
	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;
}

/* Style definition file generated by highlight 3.9, http://www.andre-simon.de/ */
/* Highlighting theme: Kwrite Editor */
/* adapted for cgit */
div#cgit table.blob .num {
	color: #b07e00;
}

div#cgit table.blob .esc {
	color: #ff00ff;
}

div#cgit table.blob .str {
	color: #bf0303;
}

div#cgit table.blob .pps {
	color: #818100;
}

div#cgit table.blob .slc {
	color: #838183;
	font-style: italic;
}

div#cgit table.blob .com {
	color: #838183;
	font-style: italic;
}

div#cgit table.blob .ppc {
	color: #008200;
}

div#cgit table.blob .opt {
	color: #000000;
}

div#cgit table.blob .lin {
	color: #555555;
}

div#cgit table.blob .kwa {
	color: #000000;
	font-weight: bold;
}

div#cgit table.blob .kwb {
	color: #0057ae;
}

div#cgit table.blob .kwc {
	color: #000000;
	font-weight: bold;
}

div#cgit table.blob .kwd {
	color: #010181;
}
