:root {
    /* Define Catppuccin variables on the main document element */
    --rosewater: #f5e0dc;
    --flamingo: #f2cdcd;
    --pink: #f5c2e7;
    --mauve: #cba6f7;
    --red: #f38ba8;
    --maroon: #eba0ac;
    --peach: #fab387;
    --yellow: #f9e2af;
    --green: #a6e3a1;
    --teal: #94e2d5;
    --sky: #89dceb;
    --sapphire: #74c7ec;
    --blue: #89b4fa;
    --lavender: #b4befe;
    --text: #cdd6f4;
    --subtext-1: #bac2de;
    --subtext-0: #a6adc8;
    --overlay-2: #9399b2;
    --overlay-1: #7f849c;
    --overlay-0: #6c7086;
    --surface-2: #585b70;
    --surface-1: #45475a;
    --surface-0: #313244;
    --base: #1e1e2e;
    --mantle: #181825;
    --crust: #11111b;
}

body {
	font-family: sans-serif;
	font-size: small;
	border: solid var(--surface-1);
	border-width: 1px;
	margin: 10px;
	background-color: var(--base);
	color: var(--text);
}

a {
	color: var(--blue);
}

a:hover, a:visited, a:active {
	color: var(--mauve);
}

span.cntrl {
	border: dashed var(--overlay-0);
	border-width: 1px;
	padding: 0px 2px 0px 2px;
	margin:  0px 2px 0px 2px;
}

img.logo {
	float: right;
	border-width: 0px;
}

img.avatar {
	vertical-align: middle;
}

img.blob {
	max-height: 100%;
	max-width: 100%;
}

a.list img.avatar {
	border-style: none;
}

div.page_header {
	height: 25px;
	padding: 8px;
	font-size: 150%;
	font-weight: bold;
	background-color: var(--surface-0);
}

div.page_header a:visited, a.header {
	color: var(--blue);
}

div.page_header a:hover {
	color: var(--mauve);
}

div.page_nav {
	padding: 8px;
}

div.page_nav a:visited {
	color: var(--blue);
}

div.page_path {
	padding: 8px;
	font-weight: bold;
	border: solid var(--surface-1);
	border-width: 0px 0px 1px;
}

div.page_footer {
	height: 22px;
	padding: 4px 8px;
	background-color: var(--surface-0);
}

div.page_footer_text {
	line-height: 22px;
	float: left;
	color: var(--subtext-0);
	font-style: italic;
}

div#generating_info {
	margin: 4px;
	font-size: smaller;
	text-align: center;
	color: var(--overlay-0);
}

div.page_body {
	padding: 8px;
	font-family: monospace;
}

div.title, a.title {
	display: block;
	padding: 6px 8px;
	font-weight: bold;
	background-color: var(--surface-1);
	text-decoration: none;
	color: var(--text);
}

div.readme {
	padding: 8px;
}

a.title:hover {
	background-color: var(--surface-0);
}

div.title_text {
	padding: 6px 0px;
	border: solid var(--surface-1);
	border-width: 0px 0px 1px;
	font-family: monospace;
}

div.log_body {
	padding: 8px 8px 8px 150px;
}

span.age {
	position: relative;
	float: left;
	width: 142px;
	font-style: italic;
}

span.signoff {
	color: var(--overlay-0);
}

div.log_link {
	padding: 0px 8px;
	font-size: 70%;
	font-family: sans-serif;
	font-style: normal;
	position: relative;
	float: left;
	width: 136px;
}

div.list_head {
	padding: 6px 8px 4px;
	border: solid var(--surface-1);
	border-width: 1px 0px 0px;
	font-style: italic;
}

.author_date, .author {
	font-style: italic;
}

div.author_date {
	padding: 8px;
	border: solid var(--surface-1);
	border-width: 0px 0px 1px 0px;
}

a.list {
	text-decoration: none;
	color: var(--text);
}

a.subject, a.name {
	font-weight: bold;
}

table.tags a.subject {
	font-weight: normal;
}

a.list:hover {
	text-decoration: underline;
	color: var(--mauve);
}

a.text {
	text-decoration: none;
	color: var(--blue);
}

a.text:visited {
	text-decoration: none;
	color: var(--mauve);
}

a.text:hover {
	text-decoration: underline;
	color: var(--mauve);
}

table {
	padding: 8px 4px;
	border-spacing: 0;
}

table.diff_tree {
	font-family: monospace;
}

table.combined.diff_tree th {
	text-align: center;
}

table.combined.diff_tree td {
	padding-right: 24px;
}

table.combined.diff_tree th.link,
table.combined.diff_tree td.link {
	padding: 0px 2px;
}

table.combined.diff_tree td.nochange a {
	color: var(--blue);
}

table.combined.diff_tree td.nochange a:hover,
table.combined.diff_tree td.nochange a:visited {
	color: var(--mauve);
}

table.blame {
	border-collapse: collapse;
}

table.blame td {
	padding: 0px 5px;
	font-size: 100%;
	vertical-align: top;
}

th {
	padding: 2px 5px;
	font-size: 100%;
	text-align: left;
}

/* do not change row style on hover for 'blame' view */
tr.light,
table.blame .light:hover {
	background-color: var(--base);
}

tr.dark,
table.blame .dark:hover {
	background-color: var(--mantle);
}

/* currently both use the same, but it can change */
tr.light:hover,
tr.dark:hover {
	background-color: var(--surface-0);
}

/* boundary commits in 'blame' view */
/* and commits without "previous" */
tr.boundary td.sha1,
tr.no-previous td.linenr {
	font-weight: bold;
}

/* for 'blame_incremental', during processing */
tr.color1 { background-color: rgba(166, 227, 161, 0.2); } /* Green 20% */
tr.color2 { background-color: rgba(137, 180, 250, 0.2); } /* Blue 20% */
tr.color3 { background-color: rgba(243, 139, 168, 0.2); } /* Red 20% */

td {
	padding: 2px 5px;
	font-size: 100%;
	vertical-align: top;
}

td.link, td.selflink {
	padding: 2px 5px;
	font-family: sans-serif;
	font-size: 70%;
}

td.selflink {
	padding-right: 0px;
}

td.sha1 {
	font-family: monospace;
}

.error {
	color: var(--red);
	background-color: var(--yellow);
}

td.current_head {
	text-decoration: underline;
}

td.category {
	background-color: var(--surface-0);
	border-top: 1px solid var(--text);
	border-left: 1px solid var(--text);
	font-weight: bold;
}

table.diff_tree span.file_status.new {
	color: var(--green);
}

table.diff_tree span.file_status.deleted {
	color: var(--red);
}

table.diff_tree span.file_status.moved,
table.diff_tree span.file_status.mode_chnge {
	color: var(--overlay-0);
}

table.diff_tree span.file_status.copied {
  color: var(--green);
}

/* noage: "No commits" */
table.project_list td.noage {
	color: var(--overlay-0);
	font-style: italic;
}

/* age2: 60*60*24*2 <= age */
table.project_list td.age2, table.blame td.age2 {
	font-style: italic;
}

/* age1: 60*60*2 <= age < 60*60*24*2 */
table.project_list td.age1 {
	color: var(--green);
	font-style: italic;
}

table.blame td.age1 {
	color: var(--green);
	background: transparent;
}

/* age0: age < 60*60*2 */
table.project_list td.age0 {
	color: var(--green);
	font-style: italic;
	font-weight: bold;
}

table.blame td.age0 {
	color: var(--green);
	background: transparent;
	font-weight: bold;
}

td.pre, div.pre, div.diff {
	font-family: monospace;
	font-size: 12px;
	white-space: pre;
}

td.mode {
	font-family: monospace;
}

/* progress of blame_interactive */
div#progress_bar {
	height: 2px;
	margin-bottom: -2px;
	background-color: var(--surface-1);
}
div#progress_info {
	float: right;
	text-align: right;
}

/* format of (optional) objects size in 'tree' view */
td.size {
	font-family: monospace;
	text-align: right;
}

/* styling of diffs (patchsets): commitdiff and blobdiff views */
div.diff.header,
div.diff.extended_header {
	white-space: normal;
}

div.diff.header {
	font-weight: bold;

	background-color: var(--surface-0);

	margin-top: 4px;
	padding: 4px 0px 2px 0px;
	border: solid var(--surface-1);
	border-width: 1px 0px 1px 0px;
}

div.diff.header a.path {
	text-decoration: underline;
}

div.diff.extended_header,
div.diff.extended_header a.path,
div.diff.extended_header a.hash {
	color: var(--subtext-0);
}

div.diff.extended_header .info {
	color: var(--overlay-0);
}

div.diff.extended_header {
	background-color: var(--mantle);
	padding: 2px 0px 2px 0px;
}

div.diff a.list,
div.diff a.path,
div.diff a.hash {
	text-decoration: none;
}

div.diff a.list:hover,
div.diff a.path:hover,
div.diff a.hash:hover {
	text-decoration: underline;
}

div.diff.to_file a.path,
div.diff.to_file {
	color: var(--green);
}

div.diff.add {
	color: var(--green);
}

div.diff.add span.marked {
	background-color: rgba(166, 227, 161, 0.4); /* Green 40% */
}

div.diff.from_file a.path,
div.diff.from_file {
	color: var(--red);
}

div.diff.rem {
	color: var(--red);
}

div.diff.rem span.marked {
	background-color: rgba(243, 139, 168, 0.4); /* Red 40% */
}

div.diff.chunk_header a,
div.diff.chunk_header {
	color: var(--mauve);
}

div.diff.chunk_header {
	border: dotted rgba(245, 224, 220, 0.15); /* Rosewater 15% */
	border-width: 1px 0px 0px 0px;
	margin-top: 2px;
}

div.diff.chunk_header span.chunk_info {
	background-color: rgba(203, 166, 247, 0.2); /* Mauve 20% */
}

div.diff.chunk_header span.section {
	color: var(--mauve);
}

div.diff.incomplete {
	color: var(--surface-2);
}

div.diff.nodifferences {
	font-weight: bold;
	color: var(--peach);
}

/* side-by-side diff */
div.chunk_block {
	overflow: hidden;
}

div.chunk_block div.old {
	float: left;
	width: 50%;
	overflow: hidden;
}

div.chunk_block div.new {
	margin-left: 50%;
	width: 50%;
}

div.chunk_block.rem div.old div.diff.rem {
	background-color: rgba(243, 139, 168, 0.2); /* Red 20% */
}
div.chunk_block.add div.new div.diff.add {
	background-color: rgba(166, 227, 161, 0.2); /* Green 20% */
}
div.chunk_block.chg div     div.diff {
	background-color: rgba(249, 226, 175, 0.1); /* Yellow 10% */
}
div.chunk_block.ctx div     div.diff.ctx {
	color: var(--text);
}


div.index_include {
	border: solid var(--surface-1);
	border-width: 0px 0px 1px;
	padding: 12px 8px;
}

div.search {
	font-size: 100%;
	font-weight: normal;
	margin: 4px 8px;
	float: right;
	top: 56px;
	right: 12px
}

div.projsearch {
	text-align: center;
	margin: 20px 0px;
}

div.projsearch form {
	margin-bottom: 2px;
}

td.linenr {
	text-align: right;
}

a.linenr {
	color: var(--overlay-0);
	text-decoration: none
}

a.rss_logo {
	float: right;
	padding: 3px 5px;
	line-height: 10px;
	border: 1px solid;
	border-color: var(--peach) var(--yellow) var(--maroon) var(--peach);
	color: var(--base);
	background-color: var(--peach);
	font-weight: bold;
	font-family: sans-serif;
	font-size: 70%;
	text-align: center;
	text-decoration: none;
}

a.rss_logo:hover {
	background-color: var(--yellow);
}

a.rss_logo.generic {
	background-color: var(--peach);
}

a.rss_logo.generic:hover {
	background-color: var(--yellow);
}

span.refs span {
	padding: 0px 4px;
	font-size: 70%;
	font-weight: normal;
	border: 1px solid;
	background-color: rgba(203, 166, 247, 0.3); /* Mauve 30% */
	border-color: var(--mauve);
}

span.refs span a {
	text-decoration: none;
	color: inherit;
}

span.refs span a:hover {
	text-decoration: underline;
}

span.refs span.indirect {
	font-style: italic;
}

span.refs span.ref {
	background-color: rgba(137, 180, 250, 0.3); /* Blue 30% */
	border-color: var(--blue);
}

span.refs span.tag {
	background-color: rgba(249, 226, 175, 0.3); /* Yellow 30% */
	border-color: var(--yellow);
}

span.refs span.head {
	background-color: rgba(166, 227, 161, 0.3); /* Green 30% */
	border-color: var(--green);
}

span.atnight {
	color: var(--red);
}

span.match {
	color: var(--red);
}

div.binary {
	font-style: italic;
}

div.remote {
	margin: .5em;
	border: 1px solid var(--surface-1);
	display: inline-block;
}

/* JavaScript-based timezone manipulation */

.popup { /* timezone selection UI */
	position: absolute;
	/* "top: 0; right: 0;" would be better, if not for bugs in browsers */
	top: 0; left: 0;
	border: 1px solid;
	padding: 2px;
	background-color: var(--surface-0);
	font-style: normal;
	color: var(--text);
	cursor: auto;
}

.close-button { /* close timezone selection UI without selecting */
	/* float doesn't work within absolutely positioned container,
	* if width of container is not set explicitly */
	/* float: right; */
	position: absolute;
	top: 0px; right: 0px;
	border:  1px solid var(--green);
	margin:  1px 1px 1px 1px;
	padding-bottom: 2px;
	width:     12px;
	height:    10px;
	font-size:  9px;
	font-weight: bold;
	text-align: center;
	background-color: rgba(243, 139, 168, 0.2); /* Red 20% */
	cursor: pointer;
}


/* Style definition generated by highlight 2.4.5, http://andre-simon.de/doku/highlight/en/highlight.php */

/* Highlighting theme definition: */

.num    { color:var(--blue); }
.esc    { color:var(--red); }
.str    { color:var(--green); }
.dstr   { color:var(--yellow); }
.slc    { color:var(--overlay-0); font-style:italic; }
.com    { color:var(--overlay-0); font-style:italic; }
.dir    { color:var(--green); }
.sym    { color:var(--text); }
.line   { color:var(--subtext-0); }
.kwa    { color:var(--text); font-weight:bold; }
.kwb    { color:var(--mauve); }
.kwc    { color:var(--text); font-weight:bold; }
.kwd    { color:var(--blue); }
