:root{
  --bg:#0d0e0f;
  --fg:#f0f0ee;
  --mut:#7d7d78;
  --dim:#595954;
  --line:rgba(255,255,255,.08);
  --bord:rgba(255,255,255,.10);
  --hov:rgba(255,255,255,.03);
  --teal:#5aa6bd;
  --teal-bord:rgba(90,166,189,.38);
  --teal-bg:rgba(90,166,189,.08);
  --code-bg:rgba(255,255,255,.06);
  --mono:ui-monospace,"SF Mono","JetBrains Mono","Cascadia Code",Menlo,Consolas,"Liberation Mono",monospace;
  --sans:-apple-system,"Segoe UI","Helvetica Neue",Arial,sans-serif;
}

*{box-sizing:border-box}

body{
  margin:0;
  background:var(--bg);
  color:var(--fg);
  font-family:var(--mono);
  font-size:14px;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}

a{color:var(--fg);text-decoration:none}
a:hover{color:var(--teal)}

#cgit{max-width:1180px;margin:0 auto;padding:56px 24px 72px}

/* injected header.html brand bar */
div.head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;flex-wrap:wrap}
div.title{font-size:30px;font-weight:700;letter-spacing:-.01em;line-height:1.1}
div.title .accent{color:var(--dim);font-weight:500}
div.title .subtitle{color:var(--mut);font-size:14px;margin-left:14px;font-weight:400}
div.pill{
  display:inline-flex;align-items:center;
  font-size:12px;color:var(--teal);
  border:1px solid var(--teal-bord);background:var(--teal-bg);
  border-radius:999px;padding:7px 15px;white-space:nowrap;flex:none;
}
hr.rule{height:1px;background:var(--line);border:0;margin:26px 0 34px}

/* on the top index page (served statically) there is no table#header; on
   repo-scoped pages cgit emits one - restyle it as the "card-title" bar */
table#header{
  width:100%;
  margin-bottom:18px;
  border-collapse:collapse;
}
table#header tr:first-child td.main{
  font-size:22px;
  font-weight:700;
  letter-spacing:-.01em;
  padding-bottom:4px;
}
table#header tr:first-child td.main a:first-child{color:var(--dim);font-weight:500}
table#header td.form{display:none}
table#header tr td.sub{display:none}

div.path{
  font-family:var(--mono);
  font-size:12.5px;
  color:var(--dim);
  margin:-8px 0 14px;
}
div.path a{color:var(--mut)}
div.path a:hover{color:var(--teal)}

/* tabs: summary / refs / log / tree / commit / diff */
table.tabs{width:100%;margin:0 0 26px;border-bottom:1px solid var(--line)}
table.tabs td{padding:0;vertical-align:middle}
table.tabs td:first-child{display:flex;flex-wrap:wrap;gap:26px}
table.tabs a{
  display:inline-block;
  font-size:13px;
  color:var(--mut);
  padding:12px 0;
  position:relative;
}
table.tabs a:hover{color:var(--fg)}
table.tabs a.active{color:var(--fg)}
table.tabs a.active::after{
  content:"";
  position:absolute;left:0;right:0;bottom:-1px;height:2px;
  background:var(--teal);border-radius:2px;
}
table.tabs td.form{text-align:right;white-space:nowrap}
table.tabs select,table.tabs input[type="text"],table.tabs input[type="search"]{
  background:transparent;
  border:1px solid var(--bord);
  color:var(--fg);
  padding:5px 8px;
  border-radius:6px;
  font-size:12px;
  font-family:var(--mono);
}
table.tabs input[type="submit"]{
  background:transparent;
  border:1px solid var(--bord);
  color:var(--mut);
  padding:5px 10px;
  border-radius:6px;
  font-size:12px;
  margin-left:6px;
  cursor:pointer;
  font-family:var(--mono);
}
table.tabs input[type="submit"]:hover{color:var(--teal);border-color:var(--teal-bord)}

div.content{margin-top:4px}

/* generic list surface (repo index, refs, log rows) */
table.list{
  width:100%;
  border-collapse:collapse;
  border:1px solid var(--bord);
  border-radius:11px;
  overflow:hidden;
}
table.list tr.nohover th{
  text-align:left;
  font-size:11px;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--dim);
  font-weight:600;
  padding:15px 22px;
  background:rgba(255,255,255,.015);
}
table.list td{padding:13px 22px;border-top:1px solid var(--line);vertical-align:middle}
table.list tr:first-child td{border-top:none}
table.list tr:hover td{background:var(--hov)}

/* tree / file listing -> match the "files" row look */
table.list td.ls-mode{display:none}
table.list td:has(> a.ls-dir),
table.list td:has(> a.ls-blob){
  font-size:13.5px;
  position:relative;
  padding-left:38px;
}
table.list td:has(> a.ls-dir)::before,
table.list td:has(> a.ls-blob)::before{
  position:absolute;left:22px;color:var(--dim);font-size:13px;
}
table.list td:has(> a.ls-dir)::before{content:"▸"}
table.list td:has(> a.ls-blob)::before{content:"·"}
a.ls-dir{color:#cfcfca;font-weight:500}
a.ls-blob{color:var(--fg)}
td.ls-size{
  color:var(--mut);
  text-align:right;
  font-variant-numeric:tabular-nums;
  font-size:12.5px;
}
a.button{
  display:inline-block;
  font-size:11px;
  color:var(--mut);
  background:transparent;
  border:1px solid var(--bord);
  padding:3px 8px;
  border-radius:5px;
  margin-right:4px;
}
a.button:hover{color:var(--teal);border-color:var(--teal-bord);background:var(--teal-bg)}

/* commit age labels */
span.age-mins,span.age-hours,span.age-days{font-size:12.5px;color:var(--mut)}

/* HEAD/branch decoration pills next to commit subjects (log rows + commit page) */
span.decoration{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-left:12px;
  vertical-align:middle;
}
a.deco,a.branch-deco,a.tag-deco{
  font-size:11px;
  color:var(--teal);
  background:var(--teal-bg);
  border:1px solid var(--teal-bord);
  border-radius:999px;
  padding:2px 9px;
  white-space:nowrap;
}
a.deco:hover,a.branch-deco:hover,a.tag-deco:hover{color:var(--fg);border-color:var(--fg)}

/* commit log */
table.list td.logsubject{font-weight:500;font-family:var(--sans)}
table.list td.logmsg{font-size:12.5px;color:var(--mut);white-space:pre-wrap}

/* commit detail / diffs / blob view */
div.commit-subject{font-size:18px;font-weight:700;margin-bottom:14px;color:var(--fg)}
div.commit-msg{
  font-size:13px;
  border:1px solid var(--bord);
  border-radius:8px;
  padding:14px 16px;
  white-space:pre-wrap;
  margin:12px 0;
}
div.commit-msg:empty{display:none}

div.diffstat-header{margin:22px 0 8px;font-size:12.5px;color:var(--mut)}
div.diffstat-header a{color:var(--mut)}
table.diffstat{
  width:100%;
  font-size:12.5px;
  border:1px solid var(--bord);
  border-radius:8px;
  border-collapse:collapse;
  margin-bottom:6px;
}
table.diffstat td{padding:8px 14px;border-top:1px solid var(--line)}
table.diffstat tr:first-child td{border-top:none}
table.diffstat td.mode{color:var(--dim);white-space:nowrap}
table.diffstat td.right{text-align:right;color:var(--mut)}
table.diffstat td.graph table{border:0}
table.diffstat td.add{background:#62a052}
table.diffstat td.rem{background:#c46a6a}
table.diffstat td.none{background:transparent}
div.diffstat-summary{font-size:12px;color:var(--dim);margin:0 0 26px}

table.blob{
  width:100%;
  font-size:12.5px;
  border:1px solid var(--bord);
  border-radius:8px;
  border-collapse:collapse;
}
table.blob td.linenumbers{color:var(--dim);text-align:right;padding-right:12px;user-select:none}

/* unified diff (table.diff > tr > td > div.head/.hunk/.ctx/.add/.del) */
table.diff{
  width:100%;
  border-collapse:collapse;
}
table.diff > tr > td{padding:0}
table.diff div.head{
  padding:14px 16px;
  background:rgba(255,255,255,.02);
  border:1px solid var(--bord);
  border-radius:8px 8px 0 0;
  color:var(--mut);
  font-size:12px;
  line-height:1.7;
}
table.diff div.head a{color:var(--teal)}
table.diff div.hunk,
table.diff div.ctx,
table.diff div.add,
table.diff div.del{
  padding:1px 16px;
  white-space:pre;
  overflow-x:auto;
  font-size:12.5px;
  line-height:1.6;
  border-left:1px solid var(--bord);
  border-right:1px solid var(--bord);
}
table.diff div.hunk{
  color:var(--teal);
  background:var(--teal-bg);
  margin-top:8px;
  padding-top:6px;
  padding-bottom:6px;
}
table.diff div.hunk:first-of-type{margin-top:0}
table.diff div.ctx{color:var(--fg)}
table.diff div.add{color:#8fce7e;background:rgba(98,160,82,.10)}
table.diff div.del{color:#e5938e;background:rgba(196,106,106,.10)}
table.diff div:last-child{
  border-bottom:1px solid var(--bord);
  border-radius:0 0 8px 8px;
  padding-bottom:8px;
}

table.commit-info{
  font-size:12.5px;
  color:var(--mut);
  border:1px solid var(--bord);
  border-radius:8px;
  border-collapse:collapse;
  margin-bottom:18px;
}
table.commit-info td{padding:6px 12px;border-top:1px solid var(--line)}
table.commit-info tr:first-child td{border-top:none}
table.commit-info th{text-align:left;color:var(--dim);font-weight:600;padding:6px 12px;white-space:nowrap}

div.footer{
  margin-top:44px;
  padding-top:20px;
  border-top:1px solid var(--line);
  font-size:13px;
  color:var(--mut);
  text-align:left;
}
div.footer a{color:var(--mut);text-decoration:underline}
