/* ascii.computer — public source, no dashboard.
 * Standalone replacement for cgit.css; stock cgit markup, no header injection.
 * Surface: Command / Inspect, with Explore as the secondary repository list.
 */
:root {
  color-scheme: light;
  --paper: #f3f0e6;
  --surface: #fffdf5;
  --ink: #20221e;
  --muted: #626459;
  --rule: #d5d3c5;
  --wash: #e9e7db;
  --acid: #d7f34a;
  --add: #214b2c;
  --add-bg: #e2ead7;
  --del: #83382b;
  --del-bg: #f4e2d9;
  --mono: ui-monospace, "SFMono-Regular", "Cascadia Mono", "Liberation Mono", monospace;
}
* { box-sizing: border-box; }
html { background: var(--paper); color: var(--ink); }
body { margin: 0; padding: 24px; font: 13px/1.55 var(--mono); }
::selection { background: var(--acid); color: var(--ink); }
#cgit { max-width: 1560px; margin: 0 auto; padding: 0; color: var(--ink); }
#cgit a { color: inherit; text-decoration: none; text-underline-offset: 3px; }
#cgit a:hover { text-decoration: underline; text-decoration-thickness: 2px; }
#cgit :focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; background: var(--acid); color: var(--ink); }
#cgit img { max-width: 100%; border: 0; }
#cgit pre, #cgit code, #cgit kbd, #cgit samp, #cgit .oid { font-family: var(--mono); font-size: inherit; }
#cgit pre { line-height: 1.55; tab-size: 4; }
#cgit table { border-collapse: collapse; font: inherit; }
#cgit th { text-align: left; font-weight: 700; }
#cgit td, #cgit th { vertical-align: top; }
#cgit h1, #cgit h2, #cgit h3 { font-size: 16px; line-height: 1.4; }
#cgit h1 { font-size: 20px; }
#cgit small, #cgit .secondary { font-size: 12px; }
#cgit .left { text-align: left; }
#cgit .right { text-align: right; }

/* Native two-row cgit masthead. Repository paths stay visible, never ellipsized. */
#cgit table#header { width: 100%; margin: 0 0 18px; border: 2px solid var(--ink); background: var(--surface); box-shadow: 4px 4px 0 var(--ink); }
#cgit #header td { padding: 12px 14px; }
#cgit #header td.logo { width: 62px; padding: 14px; vertical-align: middle; background: var(--acid); border-right: 2px solid var(--ink); }
#cgit #header .logo img { display: block; width: 32px; height: 32px; min-width: 32px; }
#cgit #header td.main { padding-bottom: 4px; font-size: clamp(16px, 1.6vw, 23px); font-weight: 800; letter-spacing: -0.065em; overflow-wrap: anywhere; }
#cgit #header td.sub { padding-top: 0; color: var(--muted); font-size: 12px; }
#cgit #header td.form { width: 1%; text-align: right; vertical-align: middle; white-space: nowrap; }
#cgit form { margin: 0; }
#cgit input, #cgit select, #cgit button { max-width: 100%; border: 2px solid var(--ink); border-radius: 0; padding: 5px 7px; background: var(--surface); color: var(--ink); font: inherit; line-height: 1.3; }
#cgit input[type="submit"], #cgit button, #cgit a.button { cursor: pointer; background: var(--acid); font-weight: 700; }
#cgit input[type="submit"]:hover, #cgit button:hover { box-shadow: 2px 2px 0 var(--ink); }
#cgit input[type="search"], #cgit input[name="q"] { width: 18ch; }
#cgit input[type="checkbox"], #cgit input[type="radio"] { accent-color: var(--ink); }
#cgit #switch-btn { margin-top: 3px; }

/* Tabs are navigation, not pills. The native form remains usable without JS. */
#cgit table.tabs { width: 100%; margin: 0; border: 2px solid var(--ink); background: var(--paper); }
#cgit .tabs td { padding: 0 8px; vertical-align: middle; }
#cgit .tabs td a { display: inline-block; padding: 9px 10px; border-right: 1px solid var(--rule); font-weight: 700; }
#cgit .tabs td a.active { background: var(--ink); color: var(--acid); }
#cgit .tabs td a:hover:not(.active) { background: var(--acid); text-decoration: none; }
#cgit .tabs td.form { padding: 5px 8px; text-align: right; }
#cgit .tabs .form form { white-space: nowrap; }
#cgit .path { padding: 8px 14px; border: 2px solid var(--ink); border-top: 0; background: var(--wash); overflow-wrap: anywhere; }
#cgit .path a { font-weight: 700; }
#cgit div.content { min-height: 180px; margin: 0; padding: 18px 14px 24px; border: 2px solid var(--ink); border-top: 0; background: var(--surface); overflow-x: auto; }
#cgit div.content:empty::before { content: "No public repositories listed."; display: block; padding: 20px 0; color: var(--muted); }

/* Explore: compact repository index, tree, refs, summary, log. */
#cgit table.list, #cgit table.log, #cgit table.refs { width: 100%; margin: 0 0 16px; }
#cgit .list th, #cgit .log th, #cgit .refs th { padding: 7px 9px; border-bottom: 2px solid var(--ink); background: var(--wash); font-size: 11px; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
#cgit .list td, #cgit .log td, #cgit .refs td { padding: 6px 9px; border-bottom: 1px solid var(--rule); }
#cgit .list tr:nth-child(even) { background: #f7f5ec; }
#cgit .list tr:hover { background: #eef1d7; }
#cgit .list tr.nohover, #cgit .list tr.nohover:hover { background: transparent; }
#cgit .list tr.logheader { background: var(--wash); }
#cgit .list tr.nohover-highlight:hover { background: inherit; }
#cgit .list td.reposection { padding-top: 20px; color: var(--muted); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
#cgit .list td.toplevel-repo a, #cgit .list td.sublevel-repo a, #cgit .ls-dir { font-weight: 800; }
#cgit .list td.sublevel-repo { padding-left: 24px; }
#cgit .ls-dir::after { content: "/"; color: var(--muted); }
#cgit .ls-mode, #cgit .ls-size { color: var(--muted); white-space: nowrap; }
#cgit .ls-size { text-align: right; }
#cgit .logsubject { font-weight: 700; }
#cgit .list td.logmsg { white-space: pre-wrap; padding-top: 0; color: var(--muted); }
#cgit .commitgraph { white-space: pre; }
#cgit .commitgraph .column1, #cgit .commitgraph .column4 { color: #495624; }
#cgit .commitgraph .column2, #cgit .commitgraph .column5 { color: #83382b; }
#cgit .commitgraph .column3, #cgit .commitgraph .column6 { color: #445f6b; }
#cgit .nowrap td { white-space: nowrap; }
#cgit .age-mins, #cgit .age-hours, #cgit .age-days { font-weight: 700; }
#cgit .age-weeks, #cgit .age-months, #cgit .age-years { color: var(--muted); }
#cgit a.branch-deco, #cgit a.tag-deco, #cgit a.tag-annotated-deco, #cgit a.remote-deco, #cgit a.deco { display: inline-block; margin: 0 3px; padding: 0 4px; border: 1px solid var(--ink); border-radius: 0; background: var(--wash); font-size: 11px; font-weight: 500; white-space: nowrap; }
#cgit a.branch-deco { background: var(--acid); }
#cgit a.tag-deco, #cgit a.tag-annotated-deco { border-style: dashed; }
#cgit .pager { margin: 16px 0 0; padding: 0; list-style: none; text-align: left; }
#cgit .pager li { display: inline-block; margin: 3px 5px 3px 0; }
#cgit .pager a, #cgit a.button { display: inline-block; padding: 3px 8px; border: 2px solid var(--ink); }
#cgit .pager .current { background: var(--acid); font-weight: 700; }

/* Inspect: preserve exact whitespace, keep code scrolling inside the content. */
#cgit #blob { border: 2px solid var(--ink); overflow-x: auto; }
#cgit table.blob, #cgit table.bin-blob { margin: 8px 0; min-width: 100%; border: 1px solid var(--rule); }
#cgit .blob td { padding: 0; }
#cgit .blob td.lines, #cgit .blob td.hashes { padding: 0 12px; vertical-align: top; }
#cgit .blob td.linenumbers { width: 1%; padding: 0 10px; border-right: 1px solid var(--rule); text-align: right; vertical-align: top; background: var(--wash); }
#cgit .blob pre, #cgit .highlight pre { margin: 0; padding: 0; white-space: pre; }
#cgit .blob .linenumbers a, #cgit .ssdiff .lineno a { color: var(--muted); }
#cgit .blob .linenumbers a:target { color: var(--ink); background: var(--acid); font-weight: 800; }
#cgit .bin-blob th, #cgit .bin-blob td { padding: 2px 10px; border-right: 1px solid var(--rule); white-space: pre; }
#cgit .blame .alt:nth-child(even) { background: var(--wash); }
#cgit .blame td.lines > div { position: relative; }
#cgit .blame td.lines > div > pre { position: absolute; top: 0; }
#cgit .blame .oid { font-size: inherit; }
#cgit .highlight { background: transparent; }

/* Commit metadata, messages, and native diff controls. */
#cgit .commit-info { margin: 0 0 20px; max-width: 100%; }
#cgit .commit-info th, #cgit .commit-info td { padding: 4px 16px 4px 0; border-bottom: 1px solid var(--rule); text-align: left; overflow-wrap: anywhere; }
#cgit .commit-info th { color: var(--muted); font-weight: 400; }
#cgit .commit-subject { margin: 20px 0 10px; font-size: 17px; font-weight: 800; overflow-wrap: anywhere; }
#cgit .commit-msg, #cgit .notes { white-space: pre-wrap; overflow-wrap: anywhere; }
#cgit .notes { padding: 10px; border: 1px solid var(--ink); background: var(--wash); }
#cgit .notes-header, #cgit .diffstat-header { margin-top: 20px; font-weight: 800; }
#cgit .notes-footer { clear: both; }
#cgit .cgit-panel { float: right; margin: 0 0 16px 18px; }
#cgit .cgit-panel table, #cgit #downloads { border: 2px solid var(--ink); background: var(--paper); }
#cgit .cgit-panel td, #cgit .cgit-panel th, #cgit #downloads td, #cgit #downloads th { padding: 5px 8px; }
#cgit #downloads { float: right; margin: 0 0 12px 16px; }
#cgit #downloads th { background: var(--wash); }
#cgit .diffstat { margin: 8px 0; width: min(100%, 1000px); border: 1px solid var(--rule); }
#cgit .diffstat td, #cgit .diffstat th { padding: 3px 8px; }
#cgit .diffstat .mode { white-space: nowrap; }
#cgit .diffstat td.graph { width: 35%; vertical-align: middle; }
#cgit .diffstat td.graph td { padding: 0; height: 8px; }
#cgit .diffstat td.graph td.add { background: var(--add); }
#cgit .diffstat td.graph td.rem { background: var(--del); }
#cgit .diffstat-summary { margin: 8px 0 20px; color: var(--muted); }
#cgit .insertions, #cgit .diffstat .add { color: var(--add); }
#cgit .deletions, #cgit .diffstat .del, #cgit .modechange { color: var(--del); }
#cgit table.diff, #cgit table.ssdiff { width: 100%; margin-top: 16px; border: 1px solid var(--rule); }
#cgit .diff td, #cgit .ssdiff td { padding: 0; font-family: var(--mono); white-space: pre; line-height: 1.55; }
#cgit .diff .head, #cgit .ssdiff .head { margin-top: 12px; font-weight: 700; background: var(--wash); }
#cgit .diff .hunk, #cgit .ssdiff .hunk { padding-top: 8px; color: var(--muted); background: var(--paper); }
#cgit .diff .add, #cgit .ssdiff .add, #cgit .ssdiff .add_dark { color: var(--add); background: var(--add-bg); }
#cgit .diff .del, #cgit .ssdiff .del, #cgit .ssdiff .del_dark { color: var(--del); background: var(--del-bg); }
#cgit .ssdiff td { padding: 0 6px; border-right: 1px solid var(--rule); }
#cgit .ssdiff .changed, #cgit .ssdiff .changed_dark { background: #eff2d9; }
#cgit .ssdiff span.add, #cgit .ssdiff span.del { font-weight: 800; text-decoration: underline; }
#cgit .ssdiff td.lineno { min-width: 4ch; text-align: right; background: var(--wash); }
#cgit .ssdiff td.space { border: 0; }
#cgit .ssdiff td.space div { min-height: 24px; }

/* Semantic README output: no images, embedded media, remote fonts or scripts. */
#cgit .readme { max-width: 90ch; overflow-wrap: anywhere; }
#cgit .readme > :first-child { margin-top: 0; }
#cgit .readme h1, #cgit .readme h2 { margin: 24px 0 12px; padding-bottom: 6px; border-bottom: 2px solid var(--ink); }
#cgit .readme h3, #cgit .readme h4, #cgit .readme h5, #cgit .readme h6 { font-size: 14px; }
#cgit .readme a { text-decoration: underline; }
#cgit .readme pre { max-width: 100%; overflow-x: auto; padding: 12px; border: 1px solid var(--ink); background: var(--paper); white-space: pre; overflow-wrap: normal; }
#cgit .readme :not(pre) > code, #cgit kbd { padding: 1px 3px; border: 1px solid var(--rule); background: var(--wash); }
#cgit .readme blockquote { margin: 16px 0; padding: 8px 14px; border: 1px solid var(--rule); color: var(--muted); }
#cgit .readme table { display: block; max-width: 100%; overflow-x: auto; }
#cgit .readme th, #cgit .readme td { padding: 5px 9px; border: 1px solid var(--rule); }
#cgit .readme th { background: var(--wash); }
#cgit .readme hr { margin: 24px 0; border: 0; border-top: 2px solid var(--ink); }
#cgit .readme summary { cursor: pointer; font-weight: 700; }
#cgit .readme-notice { padding: 8px; border: 2px solid var(--ink); background: var(--acid); }
#cgit .error { margin: 12px 0; padding: 12px; border: 2px solid var(--ink); background: var(--paper); font-weight: 700; }
#cgit .content > p { max-width: 90ch; }

/* Less-travelled native views still inherit the same dense table grammar. */
#cgit #grid { width: 100%; }
#cgit #content { padding: 12px; }
#cgit #sidebar { min-width: 140px; }
#cgit #sidebar input.txt { width: 100%; }
#cgit #summary { margin-bottom: 16px; }
#cgit .stats, #cgit .vgraph, #cgit .hgraph { border: 1px solid var(--ink); }
#cgit .stats td, #cgit .stats th, #cgit .vgraph th, #cgit .hgraph th { border: 1px solid var(--rule); padding: 4px 8px; }
#cgit .stats th, #cgit .vgraph th, #cgit .hgraph th { background: var(--wash); }
#cgit .stats td { text-align: right; }
#cgit .stats .total, #cgit .stats .sum { font-weight: 800; }
#cgit .vgraph td { vertical-align: bottom; padding: 0 8px; }
#cgit .vgraph { height: 200px; }
#cgit .hgraph { width: 100%; }
#cgit .hgraph td { vertical-align: middle; padding: 3px; }
#cgit .vgraph .bar, #cgit .hgraph .bar { background: var(--ink); min-height: 1px; }
#cgit .hgraph .bar { height: 12px; }
#cgit div.footer, #cgit .site-footer { padding: 14px 0; margin-top: 8px; color: var(--muted); font-size: 11px; text-align: left; }
#cgit .site-footer { display: flex; justify-content: space-between; gap: 12px; border-top: 2px solid var(--ink); }
#cgit .site-footer strong { color: var(--ink); font-weight: 800; }

/* Override the official source-filter's inline .highlight stylesheet by
 * specificity. Keep syntax legible without introducing a rainbow palette. */
#cgit .highlight .hll { background: var(--acid); }
#cgit .highlight .c, #cgit .highlight .ch, #cgit .highlight .cm, #cgit .highlight .cp,
#cgit .highlight .cpf, #cgit .highlight .c1, #cgit .highlight .cs { color: var(--muted); background: transparent; font-style: italic; }
#cgit .highlight .k, #cgit .highlight .kc, #cgit .highlight .kd, #cgit .highlight .kn,
#cgit .highlight .kp, #cgit .highlight .kr, #cgit .highlight .kt, #cgit .highlight .ow { color: #414f23; font-weight: 700; }
#cgit .highlight .s, #cgit .highlight .sa, #cgit .highlight .sb, #cgit .highlight .sc,
#cgit .highlight .dl, #cgit .highlight .sd, #cgit .highlight .s2, #cgit .highlight .se,
#cgit .highlight .sh, #cgit .highlight .si, #cgit .highlight .sx, #cgit .highlight .sr,
#cgit .highlight .s1, #cgit .highlight .ss { color: #76502b; background: transparent; }
#cgit .highlight .m, #cgit .highlight .mb, #cgit .highlight .mf, #cgit .highlight .mh,
#cgit .highlight .mi, #cgit .highlight .mo, #cgit .highlight .il { color: #615232; }
#cgit .highlight .na, #cgit .highlight .nb, #cgit .highlight .nc, #cgit .highlight .no,
#cgit .highlight .nd, #cgit .highlight .ni, #cgit .highlight .ne, #cgit .highlight .nf,
#cgit .highlight .nl, #cgit .highlight .nn, #cgit .highlight .nt, #cgit .highlight .nv,
#cgit .highlight .bp, #cgit .highlight .fm, #cgit .highlight .vc, #cgit .highlight .vg,
#cgit .highlight .vi, #cgit .highlight .vm { color: var(--ink); }
#cgit .highlight .o, #cgit .highlight .w { color: var(--muted); }
#cgit .highlight .err, #cgit .highlight .gr, #cgit .highlight .gt { color: var(--del); border: 0; }
#cgit .highlight .gd { color: var(--del); background: var(--del-bg); }
#cgit .highlight .gi { color: var(--add); background: var(--add-bg); }
#cgit .highlight .gh, #cgit .highlight .gu, #cgit .highlight .gp { color: var(--ink); font-weight: 700; }
#cgit .highlight .go { color: var(--muted); }

@media (max-width: 760px) {
  body { padding: 12px; }
  #cgit #header td { padding: 9px; }
  #cgit #header td.logo { width: 50px; padding: 8px; }
  #cgit #header td.main { font-size: 17px; }
  #cgit #header td.form { white-space: normal; }
  #cgit #header td.form select { max-width: 16ch; }
  #cgit table.tabs, #cgit .tabs tbody, #cgit .tabs tr, #cgit .tabs td { display: block; }
  #cgit .tabs td { padding: 0; }
  #cgit .tabs td:not(.form) { display: flex; overflow-x: auto; }
  #cgit .tabs td a { flex: 0 0 auto; min-height: 44px; padding: 11px 12px; }
  #cgit .tabs td.form { padding: 6px; text-align: left; border-top: 1px solid var(--ink); }
  #cgit .tabs .form form { display: flex; flex-wrap: wrap; gap: 5px; }
  #cgit input, #cgit select, #cgit button { min-height: 44px; }
  #cgit .path { padding: 8px; }
  #cgit div.content { padding: 12px 8px 18px; }
  #cgit .list td { padding: 8px; }
  #cgit .list td a { display: inline-block; padding-block: 5px; }
  #cgit .blob .linenumbers a { display: inline; padding: 0; }
  #cgit .cgit-panel, #cgit #downloads { float: none; margin: 0 0 14px; }
  #cgit .site-footer { flex-wrap: wrap; }
}
@media print {
  body { padding: 0; font-size: 10pt; }
  #cgit #header { box-shadow: none; }
  #cgit .tabs .form, #cgit #header .form, #cgit .cgit-panel { display: none; }
  #cgit div.content { overflow: visible; }
}
