/* cgit.css — ihateamongus git host */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:       #0f1117;
  --bg2:      #161b22;
  --bg3:      #1c2128;
  --border:   #30363d;
  --text:     #c9d1d9;
  --text-dim: #768390;
  --link:     #58a6ff;
  --green:    #3fb950;
  --red:      #f85149;
  --accent:   #238636;
  --mono:     'Cascadia Code', 'Fira Code', 'Consolas', monospace;
  --sans:     system-ui, -apple-system, sans-serif;
}

html { background: var(--bg); color: var(--text); font: 14px/1.6 var(--sans); }
body { min-height: 100vh; }

a { color: var(--link); text-decoration: none; }
a:hover { text-decoration: underline; }

/* ── Layout ── */
div#cgit {
  max-width: 980px;
  margin: 0 auto;
  padding: 0 16px 48px;
}

/* ── Header ── */
table#header {
  width: 100%;
  border-bottom: 1px solid var(--border);
  padding: 20px 0 16px;
  margin-bottom: 20px;
}
table#header td.logo { width: 48px; vertical-align: middle; }
table#header td.logo img { width: 32px; height: 32px; }
table#header td.main { vertical-align: middle; padding-left: 12px; }
table#header td.main a {
  font-size: 18px;
  font-weight: 600;
  color: var(--text);
}
table#header td.sub {
  vertical-align: middle;
  padding-left: 16px;
  color: var(--text-dim);
  font-size: 13px;
}

/* ── Tabs ── */
table.tabs {
  width: 100%;
  border-bottom: 1px solid var(--border);
  margin-bottom: 20px;
}
table.tabs td { padding: 0; }
table.tabs td a {
  display: inline-block;
  padding: 6px 14px;
  color: var(--text-dim);
  border-bottom: 2px solid transparent;
  font-size: 13px;
}
table.tabs td a:hover { color: var(--text); text-decoration: none; }
table.tabs td a.active,
table.tabs td.active a {
  color: var(--text);
  border-bottom-color: var(--link);
}

/* ── Search / cgit-panel ── */
div.cgit-panel {
  float: right;
  margin-top: -52px;
  font-size: 13px;
  color: var(--text-dim);
}
div.cgit-panel b { color: var(--text-dim); font-weight: normal; }
div.cgit-panel input[type=text] {
  background: var(--bg2);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  padding: 3px 8px;
  font-size: 13px;
  width: 180px;
}
div.cgit-panel input[type=submit],
div.cgit-panel select {
  background: var(--bg3);
  border: 1px solid var(--border);
  border-radius: 4px;
  color: var(--text);
  padding: 3px 8px;
  font-size: 13px;
  cursor: pointer;
}

/* ── Repo list / generic list table ── */
table.list {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
table.list th {
  text-align: left;
  padding: 6px 12px;
  color: var(--text-dim);
  font-weight: 600;
  border-bottom: 1px solid var(--border);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .04em;
}
table.list td {
  padding: 8px 12px;
  border-bottom: 1px solid var(--border);
  vertical-align: middle;
}
table.list tr:last-child td { border-bottom: none; }
table.list tr.nohover td,
table.list tr.nohover th { background: none; }
table.list tr:not(.nohover):hover td { background: var(--bg2); }

table.list td.toplevel-header {
  padding: 16px 12px 4px;
  color: var(--text-dim);
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .06em;
  border-bottom: 1px solid var(--border);
}

/* age colours */
td.age-mins  { color: var(--green); }
td.age-hours { color: #d29922; }
td.age-days  { color: var(--text); }

/* ── Commit info table ── */
table.commit-info {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-bottom: 20px;
}
table.commit-info th {
  width: 100px;
  text-align: right;
  padding: 4px 12px 4px 0;
  color: var(--text-dim);
  font-weight: normal;
  vertical-align: top;
}
table.commit-info td { padding: 4px 0; }

/* ── Diff ── */
div.diff { font-family: var(--mono); font-size: 12px; }
table.diff {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--mono);
  font-size: 12px;
}
table.diff td { padding: 0 8px; white-space: pre; }
table.diff td.linenumber {
  width: 1%;
  color: var(--text-dim);
  text-align: right;
  user-select: none;
  padding-right: 12px;
  border-right: 1px solid var(--border);
}
div.add,  table.diff tr.add  td { background: #0d2a1a; color: #aff5b4; }
div.del,  table.diff tr.del  td { background: #2a0d0f; color: #ffc3c0; }
div.hunk, table.diff tr.hunk td { background: var(--bg2); color: var(--text-dim); }

/* ── Blob / source view ── */
table.blob {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--mono);
  font-size: 12px;
}
table.blob td { padding: 0 8px; white-space: pre; }
table.blob td.linenumber {
  width: 1%;
  color: var(--text-dim);
  text-align: right;
  user-select: none;
  padding-right: 12px;
  border-right: 1px solid var(--border);
  min-width: 40px;
}
table.blob tr:hover td { background: var(--bg2); }

/* ── Tree listing ── */
table.list td.ls-mode { color: var(--text-dim); font-family: var(--mono); }
table.list td.ls-size { text-align: right; color: var(--text-dim); font-family: var(--mono); }

/* ── Pager ── */
div.pager {
  margin-top: 16px;
  font-size: 13px;
  color: var(--text-dim);
}
div.pager a {
  display: inline-block;
  padding: 4px 10px;
  border: 1px solid var(--border);
  border-radius: 4px;
  margin-right: 4px;
}
div.pager a:hover { background: var(--bg2); text-decoration: none; }

/* ── Stat bars (shortlog) ── */
table.list td.graph {
  width: 200px;
}
div.graph-bar {
  height: 10px;
  background: var(--accent);
  border-radius: 2px;
}

/* ── Error / info boxes ── */
div.error {
  background: #2a0d0f;
  border: 1px solid var(--red);
  border-radius: 6px;
  padding: 12px 16px;
  color: var(--red);
  margin: 16px 0;
}

/* ── Footer ── */
div#footer {
  margin-top: 40px;
  padding-top: 12px;
  border-top: 1px solid var(--border);
  font-size: 12px;
  color: var(--text-dim);
  text-align: center;
}
div#footer a { color: var(--text-dim); }
div#footer a:hover { color: var(--link); }

/* ── Misc ── */
div#content { clear: both; }
img.logo { display: none; } /* hide if no logo present */
td.right { text-align: right; }
td.left  { text-align: left; }

