/* Reset
------------------------------------------------------------------------- */

/* Based on http://meyerweb.com/eric/tools/css/reset/ */
/* v1.0 | 20080212 */

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

ol, ul { list-style: none; }

blockquote, q { quotes: none; }

blockquote:before, blockquote:after,
q:before, q:after {
  content: '';
  content: none;
}

:focus { outline: 0; }

ins { text-decoration: none; }

del { text-decoration: line-through; }

table {
  border-collapse: collapse;
  border-spacing: 0;
}

a { outline: none; }

/* General
---------------------------------------------------------------------------- */

html {
  position: relative;
  min-height: 100%;
  background-color: #1e1e2e; /* Mocha Base */
}

body {
  font: 13px Helvetica,arial,freesans,clean,sans-serif;
  line-height: 1.4;
  margin: 0 0 105px;
  background-color: #1e1e2e; /* Mocha Base */
  color: #cdd6f4;            /* Mocha Text */
}

/* Monospaced Fonts */
.sha1, .mode, .diff_tree .list, .pre, .diff, .patchset {
  font-family: 'Consolas','Bitstream Vera Sans Mono',monospace;
}

a:link, a:visited {
  color: #89b4fa; /* Mocha Blue */
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  color: #94e2d5; /* Mocha Teal */
}

td.list a[href*='tree'], td.list a[href*='blob'] {
  padding-left: 20px;
  display: block;
  float: left;
  height: 16px;
  line-height: 16px;
}

td.list a[href*='tree'] {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABq0lEQVQ4y8WTu4oUQRSGv+rtGVuxhwVFdFEEE2c3d0HYTEMTn8DEVxADQTDUF9DMwMxQMBMx8AEWzRQ3cBHd9TI91+2urjq/QbczY2IygSep4nD+79yqnCRWsYQVbWVACvDh5ZXdrLe15dwyT1TjT/sxFFeB6i+VA2B6+cb7kAI4Jf0LO087zjlQI8Y5Qvnj0sHug321XoC1bk+K9eHk6+s7wPMUgKAS88eqb4+Jfg2SHs7lZBvX2Nh+2EUCDGSAcMnJsx9f7NxfAGqXyDzRd5EJO/pMPT1gcviGTnYOVIN5pAAE8v7dLrKL8xnglFk4ws9Afko9HpH3b5Gd2mwb/lOBmgrSdYhJugDUCenxM6xv3p4HCsP8F0LxCsUhCkMURihOyM7fg0osASTFEpu9a4LjGIUCqwcoDiEUrX+E4hRUQb20RiokC1j9vckUhygU7X3QZh7NAVKYL7YBeMkRUfjVCotF2XGIwnghtrJpMywB5G0QZj9P1JNujuWJ1AHLQadRrACKkuZ0SSSWpeStWgDK6tHek5vbiOs48n++XQHercf0rFng//6NvwG+iB9/4duaTgAAAABJRU5ErkJgggo=) center left no-repeat;
  filter: invert(85%) sepia(10%) saturate(1000%) hue-rotate(200deg); /* Adjust icon contrast slightly for dark mode */
}

td.list a[href*='blob'] {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAA6ElEQVQoFQXBMW5TQRgGwNnHnoE0QbiCjoIooUmTU3AuS1BwIoTSUdJBigg3GCWOg9/++zHTop078wIAsPMrE4SL5/1aIyMjIyMjz/m0tbFECFdrPeaQQw75mz/5nZH7fN7aWILmauSYfznmmIfss8vIUx7zZWsTTXM5vpWvTk5Wq9VHQP/gtgOLa0Qpw940vAQdaG6thpOhlOkG0AEuAVGmEkAH+G4YSikxXQM6wDsAMRFAB/ihDNNUmN4DOsAbBAEAdICfpmmaAt4COoj2GgCASbIkZh1NAACznhQt2itnFgAAlF3u/gMDtJXPzQxoswAAAABJRU5ErkJgggo=) center left no-repeat;
  filter: invert(85%) sepia(10%) saturate(1000%) hue-rotate(200deg);
}

i {
  font-style: normal;
}

td, th {
  padding: 5px;
}

.page_nav br {
  display: none;
}

#generating_info {
  font-size: 10px;
  color: #6c7086; /* Mocha Overlay0 */
  text-align: center;
}

#generating_time, #generating_cmd {
  font-weight: bold;
  color: #a6adc8; /* Mocha Subtext0 */
}

/* Page Header
---------------------------------------------------------------------------- */

.page_header {
  height: 50px;
  line-height: 50px;
  position: relative;
  padding: 0 27px;
  margin-bottom: 20px;
  font-size: 20px;
  font-family: Helvetica, Arial, Freesans, Clean, sans-serif;
  background: linear-gradient(to bottom, #11111b 0%, #181825 100%); /* Mocha Mantle to Crust */
  border-bottom: 1px solid #313244; /* Mocha Surface1 */
  color: #cdd6f4;
}

.page_header a:link, .page_header a:visited {
  color: #89b4fa; /* Mocha Blue */
  text-decoration: none;
  padding: 3px;
  font-weight: bold;
}

.page_header a:hover {
  font-weight: bold;
  padding: 3px;
  text-decoration: underline;
  color: #b4befe; /* Mocha Lavender */
}

.page_header a:first-child {
  background: transparent;
}

.page_header img.logo {
  position: relative;
  top: 7px;
  margin-right: 5px;
}

/* Page Footer
---------------------------------------------------------------------------- */

.page_footer {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 80px;
  line-height: 80px;
  margin-top: 15px;
  background: #11111b; /* Mocha Crust */
  border-top: 2px solid #313244; /* Mocha Surface1 */
  border-bottom: 1px solid #181825;
}

.page_footer_text {
  color: #a6adc8; /* Mocha Subtext0 */
  display: inline;
  float: left;
  margin-left: 25px;
  width: 80%;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

a.rss_logo {
  float: right;
  padding: 3px 1px;
  width: 35px;
  line-height: 10px;
  border: 1px solid;
  border-color: #fab387 #fab387 #ef9f76 #fab387; /* Mocha Peach bounds */
  color: #11111b; /* Mocha Crust dark text */
  background-color: #fab387; /* Mocha Peach */
  font-weight: bold;
  font-family: sans-serif;
  font-size: 80%;
  text-align: center;
  text-decoration: none;
  margin-top: 30px;
  margin-left: 5px;
  border-radius: 3px;
}

a.rss_logo:hover {
  background-color: #ef9f76;
}

.rss_logo {
  margin-right: 25px;
  background: #f9e2af; /* Mocha Yellow */
}

.rss_logo:last-child {
  margin-right: 5px;
}

/* Index include
---------------------------------------------------------------------------- */

.index_include {
  width: 95%;
  margin: 0 auto 15px;
  background: linear-gradient(to bottom, #1e1e2e 0%, #181825 100%);
  border: 1px solid #313244;
  padding: 8px;
  box-sizing: border-box;
}

/* Elements
---------------------------------------------------------------------------- */

.project_list,
.shortlog,
.tree,
.commit_search,
.history {
  width: 95%;
  margin: 0 auto 15px auto;
  border: 1px solid #313244; /* Mocha Surface1 */
  box-shadow: 0 0 5px rgba(0,0,0,0.4);
}

.project_list th,
.shortlog th,
.tree th,
.commit_search th {
  color: #585b70; /* Mocha Surface2 */
  font-weight: normal;
}

.project_list th {
  font-weight: bold;
  color: #cdd6f4;
}

.project_list tr,
.shortlog tr,
.tree tr,
.commit_search tr {
  background: #181825; /* Mocha Mantle */
  height: 2.5em;
  text-align: left;
  color: #cdd6f4;
}

.project_list tr.dark, .project_list tr.light,
.shortlog tr.dark, .shortlog tr.light,
.tree tr.dark, .tree tr.light,
.commit_search tr.dark, .commit_search tr.light,
.history tr.dark, .history tr.light,
.heads tr.dark, .heads tr.light {
  background: linear-gradient(to bottom, #1e1e2e 0%, #181825 100%);
  height: 2.5em;
  border-bottom: 1px solid #313244;
}

th .header {
  background: transparent;
  border: 0;
  padding: 0;
  font-weight: bold;
  color: #cdd6f4;
}

.tree {
  width: 100%;
  margin: 0;
}

.projsearch {
  position: absolute;
  right: 4%;
  top: 15px;
}

.projsearch a {
  display: none;
}

.commit_search {
  background: #181825;
}

.page_nav,
.list_head,
.page_path,
.search {
  width: 94%;
  background: #181825; /* Mocha Mantle */
  color: #a6adc8;      /* Mocha Subtext0 */
  border: 1px solid #313244;
  padding: 5px;
  margin: 0 auto 15px auto;
}

.history {
  background: #181825;
}

.title {
  margin: 0 auto 15px auto;
  padding: 5px;
  width: 95%;
  color: #cdd6f4;
}

.readme {
  background: #181825; /* Mocha Mantle */
  border: 1px solid #313244;
  box-sizing: border-box;
  margin: 0 auto 15px auto;
  padding: 15px;
  width: 95%;
  color: #cdd6f4;
}

.readme h1 {
  display: block;
  font-size: 2em;
  font-weight: bold;
  margin-bottom: 0.67em;
  margin-top: 0;
  color: #f5c2e7; /* Mocha Pink */
}

.readme h2 {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 0.83em;
  color: #cba6f7; /* Mocha Mauve */
}

.readme h3 {
  font-size: 1.17em;
  font-weight: bold;
  margin-bottom: 1em;
  color: #89b4fa; /* Mocha Blue */
}

.readme p {
  margin-bottom: 1em;
}

.readme ul {
  list-style: disc;
  margin-bottom: 1em;
  margin-left: 1.5em;
}

.readme ul ul {
  margin-bottom: 0;
}

.readme ol {
  list-style: decimal;
  margin-bottom: 1em;
  margin-left: 1.5em;
}

.readme ol ol {
  margin-bottom: 0;
}

.readme pre {
  font-family: monospace;
  margin: 1em 0;
  white-space: pre;
  background: #11111b; /* Mocha Crust */
  padding: 10px;
  border-radius: 4px;
}

.readme tt, .readme code, .readme kbd, .readme samp {
  font-family: monospace;
  background: #313244;
  padding: 2px 4px;
  border-radius: 3px;
}

.readme blockquote {
  margin: 1em;
  border-left: 4px solid #45475a;
  padding-left: 10px;
  color: #a6adc8;
}

.projects_list,
.tags {
  width: 95%;
  background: #181825;
  color: #cdd6f4;
  border: 1px solid #313244;
  padding: 5px;
  margin: 0 auto 15px auto;
}

.heads {
  width: 95%;
  color: #cdd6f4;
  border: 1px solid #313244;
  padding: 5px;
  margin: 0 auto 15px auto;
}

.header {
  width: 94%;
  margin: 0 auto 15px auto;
  background: #181825;
  border: 1px solid #313244;
  padding: 5px;
}

.header .age {
  float: left;
  color: #f9e2af; /* Mocha Yellow for accents */
  font-weight: bold;
  width: 10em;
}

.title_text {
  width: 94%;
  background: #181825;
  border: 1px solid #313244;
  padding: 5px;
  margin: 0 auto 0 auto;
  color: #cdd6f4;
}

.log_body {
  width: 94%;
  background: #181825;
  border: 1px solid #313244;
  border-top: 0;
  padding: 5px;
  margin: 0 auto 15px auto;
}

.page_body {
  line-height: 1.4em;
  width: 94%;
  background: #1e1e2e; /* Mocha Base */
  border: 1px solid #313244;
  padding: 5px;
  margin: 15px auto 15px auto;
}

.diff_tree {
  width: 95%;
  background: #181825;
  border: 1px solid #313244;
  padding: 5px;
  margin: 0 auto 15px auto;
}

.page_body > .list_head {
  width: 98.5%;
}

.page_body > .diff_tree {
  width: 99.5%;
}

.patch > .header {
  width: 99%;
}

.author .avatar,
.author_date .avatar {
  position: relative;
  top: 3px;
}

.object_header .avatar {
  border: 1px solid #313244;
  float: right;
}

.object_header td,
.object_header th {
  vertical-align: top;
}

/* Refs
---------------------------------------------------------------------------- */

span.refs span {
  color: #cdd6f4;
  display: inline-block;
  margin: 0;
  background-color: #313244; /* Surface1 */
  border: 1px solid #45475a;  /* Surface2 */
  border-radius: 3px;
  height: 18px;
  padding: 0 6px;
  text-overflow: ellipsis;
}

span.refs span.ref {
  color: #1e1e2e;             /* Base Dark Text */
  display: inline-block;
  margin: 0;
  background-color: #b4befe; /* Lavender */
  border: 1px solid #cba6f7;
  border-radius: 3px;
  height: 18px;
  padding: 0 6px;
  text-overflow: ellipsis;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSUnpolg7AAAAHJQTFRFAAAAVVWqZmbMVVXVYGDgbW3td3fuc3PzdHT0cHD1d3f6dHT6dnb7dHT7dnb8dnb8dnb9d3f9dnb+eHj+d3f+eHj+d3f+d3f+d3f+eHj+d3f+eHj+d3f+eHj+d3f+d3f+eHj+d3f+d3f+d3f+eHj/////V9oQhQAAACR0Uk5TAAIEBQcNDhMVGCotNTZAT217i5CgobvExtjZ4eLr7vP09ff7uqQ6cgAAAAFiS0dEJcMByQ8AAABUSURBVBjTpc43AoAwDENRh95bgNBM1f3PyOpslD++RSJ61YgH5M2IbIkn4GocSR1MZVBL4t2n4FgkbaxI8Sqph041WknZCWAIrcmEUbpf3lNe0N9u59YFYHnZ78gAAAAASUVORK5CYII=);
  background-repeat: no-repeat;
  padding-left: 18px;
  filter: brightness(0.9); /* Darken icon layout gently for light text containers */
}

span.refs span.tag {
  color: #1e1e2e;
  display: inline-block;
  margin: 0;
  background-color: #f9e2af; /* Yellow */
  border: 1px solid #f9e2af;
  border-radius: 3px;
  height: 18px;
  padding: 0 6px;
  text-overflow: ellipsis;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAMAAABhEH5lAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSUZZ+h9RwAAAGZQTFRFAAAAtrYkwMBAwMBAx8c4yso11NQ71NQ51dU52Ng71tY519c719c719c62Ng719c719c62Ng72dk62Ng62Ng72Ng72dk62Ng72Ng62dk62dk72dk62Ng62dk72Ng72Ng72dk7////ou/AnQAAACB0Uk5TAAYHCxESLjRCWWlqa4uNkpissbrO19jc3ufs8vf6/f7atAU2AAAAAWJLR0QhxGwNFgAAAF1JREFUGFeNy0cOgCAABVGw94rY5d//lC7omhhn+ZIh5Gf1xPk0Zi5dAABROIQjSU/fsAXhDkCUljAv8jW2wlQpaixpo4Nj+dtatVpjkSJjLNaizRVpvhBCu/4h391jzw1lU12Z7wAAAABJRU5ErkJgggo=);
  background-repeat: no-repeat;
  padding-left: 18px;
}

span.refs span.head {
  color: #1e1e2e;
  display: inline-block;
  margin: 0;
  background-color: #a6e3a1; /* Green */
  border: 1px solid #a6e3a1;
  border-radius: 3px;
  height: 18px;
  padding: 0 6px;
  text-overflow: ellipsis;
  background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAABmJLR0QA/wD/AP+gvaeTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAB3RJTUUH3gIKFSYDsafX/gAAAUpJREFUOMvVkjFLA0EQhd/s7l06MSCihbV/wC5/QBDEIFYWprRIIQQJFqKFQi4kUbBQsFSwtrUQLQULUTBFLCzVIgimCXe7z0q5yIWcqfRVwzDzMTNvgL8mSUqWw3JOtFQJdsIwLDYyjdYgkEmkazl2oVtQWk36nn8AYBYASmFpxmizGtnoqO7Vb+M9KglEkASdpWU872nvVCiPRpuTnz2JIHGyqX3d0kZfR1G0Ht+g/do+FIhOBbLW3n/FNb/28D0puZ+dyL44ur1UoH5yzt2JyIj6UGdDgwrPhYzSagNEszJaeU/lWlylbmnaeGZZICsAppxzi6nt73HK85oQCMknOuarpno+FIjglVjZDXaCS2yDv3rIHlCb88FY0BlUl3hs7ektkhckb5DFWhoz+n12zr7ZDSvLpYUqLm0oBMn8NUzLhpAgjpWMS/1CcSJ3ykD7Rk1QAAAABJRU5ErkJgggo=);
  background-repeat: no-repeat;
  padding-left: 18px;
}

span.refs a {
  color: #cdd6f4;
  font: 11px "Bitstream Vera Sans Mono", "DejaVu Sans Mono", Monaco, monospace;
  line-height: 18px;
}

/* Diffs
---------------------------------------------------------------------------- */

div.diff.to_file a.path,
div.diff.to_file {
  color: #a6e3a1; /* Mocha Green */
}

div.diff.from_file a.path,
div.diff.from_file {
  color: #f38ba8; /* Mocha Red */
}

.patch .header {
  margin: 0;
}

.patchset {
  overflow-x: auto;
  overflow-y: hidden;
}

.chunk_header {
  background: #313244; /* Mocha Surface1 */
  color: #89b4fa;      /* Mocha Blue */
}

.rem {
  background: rgba(243, 139, 168, 0.2); /* Low opacity Mocha Red */
}
.rem .marked {
  background: rgba(243, 139, 168, 0.4);
}
.add {
  background: rgba(166, 227, 161, 0.2); /* Low opacity Mocha Green */
}
.add .marked {
  background: rgba(166, 227, 161, 0.4);
}

.extended_header {
  width: 99.5%;
}

div.chunk_block {
  overflow: hidden;
}

div.chunk_block div.old {
  float: left;
  width: 50%;
  overflow: hidden;
  border-right: 5px solid #313244;
}

div.chunk_block.rem,
div.chunk_block.add {
  background: transparent;
}

div.chunk_block div.old .add,
div.chunk_block div.old .rem {
  padding-right: 3px;
}

div.chunk_block div.new .add,
div.chunk_block div.new .rem {
  padding-left: 3px;
}

div.chunk_block div.new {
  margin-left: 50%;
  width: 50%;
  border-left: 5px solid #313244;
}

/* Category
---------------------------------------------------------------------------- */

td.category {
  background: linear-gradient(to bottom, #313244 0%, #181825 100%);
  font-weight: bold;
  border-bottom: 1px solid #45475a;
  border-top: 1px solid #45475a;
  color: #cba6f7; /* Mauve header text */
}

/* Age
---------------------------------------------------------------------------- */

/* noage: "No commits" */
.project_list td.noage {
  color: #585b70; /* Surface2 */
}

/* age2: 60*60*24*2 <= age */
.project_list td.age2, .blame td.age2 {
  color: #a6adc8;
}

/* age1: 60*60*2 <= age < 60*60*24*2 */
.project_list td.age1 {
  color: #a6e3a1; /* Mocha Green */
}

/* age0: age < 60*60*2 */
.project_list td.age0 {
  color: #a6e3a1;
  font-weight: bold;
}

/* File status
---------------------------------------------------------------------------- */

.diff_tree span.file_status.new {
  color: #a6e3a1;
}

table.diff_tree span.file_status.deleted {
  color: #f38ba8;
}

table.diff_tree span.file_status.moved,
table.diff_tree span.file_status.mode_chnge {
  color: #94e2d5; /* Teal */
}

table.diff_tree span.file_status.copied {
  color: #f9e2af; /* Yellow */
}

span.cntrl {
  border: dashed #585b70;
  border-width: 1px;
  padding: 0px 2px 0px 2px;
  margin:  0px 2px 0px 2px;
  color: #f5c2e7;
}

span.match {
  background: #f9e2af; /* Yellow highlight */
  color: #11111b;      /* Dark core contrast */
}

td.error {
  color: #f38ba8;     /* Mocha Red */
  background: #313244;
}

/* blob view */

td.pre, div.pre, div.diff {
  white-space: pre-wrap;
  background-color: #1e1e2e;
}

/* JavaScript-based timezone manipulation */

.popup { 
  position: absolute;
  top: 0; left: 0;
  border: 1px solid #45475a;
  padding: 2px;
  background-color: #181825;
  font-style: normal;
  color: #cdd6f4;
  cursor: auto;
}

.close-button { 
  position: absolute;
  top: 0px; right: 0px;
  border:  1px solid #f38ba8;
  margin:  1px 1px 1px 1px;
  padding-bottom: 2px;
  width:     12px;
  height:    10px;
  font-size:  9px;
  font-weight: bold;
  text-align: center;
  background-color: #f38ba8;
  color: #11111b;
  cursor: pointer;
}

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

/* Highlighting theme definition (Catppuccin Mocha): */

.num    { color: #fab387; } /* Peach */
.esc    { color: #f5c2e7; } /* Pink */
.str    { color: #a6e3a1; } /* Green */
.dstr   { color: #94e2d5; } /* Teal */
.slc    { color: #6c7086; font-style: italic; } /* Overlay0 */
.com    { color: #6c7086; font-style: italic; } /* Overlay0 */
.dir    { color: #f9e2af; } /* Yellow */
.sym    { color: #94e2d5; } /* Teal */
.line   { color: #585b70; } /* Surface2 */
.kwa    { color: #cba6f7; font-weight: bold; } /* Mauve */
.kwb    { color: #f38ba8; } /* Red */
.kwc    { color: #89b4fa; } /* Blue */
.kwd    { color: #74c7ec; } /* Sapphire */

/* Form Elements Styling (Catppuccin Mocha)
---------------------------------------------------------------------------- */

/* Target text inputs, dropdowns, and textareas */
input[type="text"],
input[type="search"],
select,
textarea {
  background-color: #181825; /* Mocha Mantle */
  color: #cdd6f4;            /* Mocha Text */
  border: 1px solid #45475a;  /* Mocha Surface2 */
  border-radius: 4px;
  padding: 4px 8px;
  font-family: inherit;
  font-size: 13px;
  outline: none;
  box-sizing: border-box;
  transition: border-color 0.15s ease;
}

/* Subtle focus state */
input[type="text"]:focus,
input[type="search"]:focus,
select:focus,
textarea:focus {
  border-color: #89b4fa;     /* Mocha Blue Accent */
}

/* Checkboxes and Radios */
input[type="checkbox"],
input[type="radio"] {
  accent-color: #89b4fa;     /* Modern browser color alignment */
  background-color: #181825;
  border: 1px solid #45475a;
}

/* Specific Dropdown Styling */
select {
  padding-right: 20px;
  cursor: pointer;
}

/* Fix option background inside dropdowns for system pickers */
select option {
  background-color: #1e1e2e; /* Mocha Base */
  color: #cdd6f4;
}


/* Tag Accessibility Fix
---------------------------------------------------------------------------- */

span.refs span.tag {
  color: #11111b !important; /* Forces text to Mocha Crust (Dark Black/Brown) */
  font-weight: 500;          /* Boosts readability on bright backgrounds */
}

span.refs span.tag a {
  color: #11111b !important; /* Ensures links inside tags inherit the dark text */
}

/* Custom Checkboxes and Radios Fix
---------------------------------------------------------------------------- */
input[type="checkbox"],
input[type="radio"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-color: #181825; /* Mocha Mantle */
  border: 1px solid #45475a;  /* Mocha Surface2 */
  padding: 0;
  display: inline-block;
  vertical-align: middle;
  position: relative;
  cursor: pointer;
  box-sizing: border-box;
}

input[type="checkbox"] {
  width: 14px;
  height: 14px;
  border-radius: 3px;
}

input[type="radio"] {
  width: 14px;
  height: 14px;
  border-radius: 50%;
}

/* Checkbox Checked State (Draws a clean custom checkmark) */
input[type="checkbox"]:checked {
  background-color: #89b4fa; /* Mocha Blue */
  border-color: #89b4fa;
}

input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 4px;
  top: 1px;
  width: 4px;
  height: 7px;
  border: solid #11111b; /* Dark contrast check */
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* Radio Checked State */
input[type="radio"]:checked {
  border-color: #89b4fa;
}

input[type="radio"]:checked::after {
  content: '';
  position: absolute;
  left: 3px;
  top: 3px;
  width: 6px;
  height: 6px;
  background-color: #89b4fa;
  border-radius: 50%;
}


/* Buttons Styling
---------------------------------------------------------------------------- */
button,
input[type="button"],
input[type="submit"],
input[type="reset"] {
  background-color: #313244; /* Mocha Surface1 */
  color: #cdd6f4;            /* Mocha Text */
  border: 1px solid #45475a;  /* Mocha Surface2 */
  border-radius: 4px;
  padding: 5px 12px;
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.1s ease, border-color 0.1s ease;
}

button:hover,
input[type="button"]:hover,
input[type="submit"]:hover {
  background-color: #45475a; /* Mocha Surface2 */
  border-color: #585b70;     /* Mocha New Surface */
  color: #f5e0dc;            /* Mocha Rosewater tint */
}

button:active,
input[type="button"]:active,
input[type="submit"]:active {
  background-color: #1e1e2e; /* Mocha Base */
}


/* Branch & Reference Text Accessibility Fix
---------------------------------------------------------------------------- */
/* Targets .tag, .ref, and .head tags to guarantee high contrast dark text against pastel backgrounds */
span.refs span.tag,
span.refs span.ref,
span.refs span.head {
  color: #11111b !important; /* Forces layout text to dark Mocha Crust */
  font-weight: 600;          /* Slight weight bump for crisp legibility */
}

/* Ensure links inside any of these reference indicators also become dark */
span.refs span.tag a,
span.refs span.ref a,
span.refs span.head a {
  color: #11111b !important;
}
