:root {
  color-scheme: light;
  --ink:#20242a; --muted:#68717c; --line:#dce1e6; --blue:#245faa;
  --green:#236c42; --red:#a3313d; --purple:#7852a5;
  --mono:ui-monospace,"SFMono-Regular",Consolas,monospace;
}
* {box-sizing:border-box}
body {margin:0;background:#fff;color:var(--ink);font:13px/1.5 "SF Pro Text",-apple-system,BlinkMacSystemFont,system-ui,sans-serif}
a {color:var(--blue);text-decoration:none}
a:hover {text-decoration:underline;text-underline-offset:3px}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible {outline:2px solid var(--blue);outline-offset:2px}
.shell {max-width:1360px;margin:auto;padding:0 28px}
.masthead {height:52px;display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--line)}
.brand {font-size:15px;letter-spacing:-.025em;font-weight:650;color:var(--ink);white-space:nowrap}
.repo-path {font:12px var(--mono);color:var(--muted);display:flex;gap:12px;align-items:center}
.repo-path a {font-weight:550}
.preview-label {margin-left:auto;font:10px var(--mono);text-transform:uppercase;letter-spacing:.1em;color:var(--muted)}
.toolbar {display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);min-height:44px}
nav {display:flex;gap:24px;white-space:nowrap;overflow:auto}
nav a {color:var(--muted);padding:12px 0 10px;border-bottom:2px solid transparent;font-size:12px}
nav a.active {color:var(--ink);border-bottom-color:var(--blue);font-weight:600}
.search {display:flex;align-items:center;gap:8px}
input,select,button {font:12px inherit;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);height:28px;padding:3px 8px;min-width:0}
.search input {width:156px;font-size:12px}
button {cursor:pointer;font-size:12px}
.subbar {display:flex;align-items:center;gap:12px;min-height:48px;font:12px var(--mono)}
.branch {color:var(--blue);background:#f0f5fb;border-color:#c8d8ed;font:12px var(--mono)}
.sep {color:#b4bcc6}
.count {margin-left:auto;color:var(--muted);font:11px var(--mono)}
main {min-width:0}
.file-table {width:100%;border-collapse:collapse;table-layout:fixed;font-size:12px}
.file-table th {color:var(--muted);font-size:10px;font-weight:500;text-transform:uppercase;letter-spacing:.055em;text-align:left;background:#f6f8fa;height:28px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.file-table td {height:33px;border-bottom:1px solid #edf0f2}
.file-table th,.file-table td {padding:4px 10px}
.file-table tr:hover td {background:#f7f9fb}
.file-table .name {width:55%}
.file-table .mode {width:19%;font:11px var(--mono);color:#89919b}
.file-table .size {width:12%;text-align:right;font:11px var(--mono);color:var(--muted)}
.file-table .actions {width:14%;text-align:right;white-space:nowrap}
.actions a {font-size:11px;color:var(--muted);margin-left:15px}
.file-name {display:flex;gap:10px;align-items:center;min-width:0}
.file-name a {overflow-wrap:anywhere}
.file-name svg {width:14px;height:14px;flex-shrink:0;color:#87929e;stroke-width:1.4;fill:none;stroke:currentColor}
.file-name.directory svg {color:var(--blue)}
.file-name.directory a {font-weight:550}
.ref {font:10px var(--mono);border:1px solid #c8d8ed;background:#f0f5fb;padding:2px 5px;color:var(--blue)}
.ref.tag {color:var(--purple);border-color:#dfd3eb;background:#f7f3fb}
.diff-meta {display:flex;align-items:center;gap:12px;min-height:38px;font:11px var(--mono);border-bottom:1px solid var(--line)}
.add-count {color:var(--green)}
.del-count {color:var(--red)}
.diff-tools {display:flex;gap:6px;margin-left:auto;align-items:center;color:var(--muted)}
.diff-tools select {font-size:11px;height:25px}
.diff-file {border:1px solid var(--line);margin-top:14px}
.diff-title {padding:8px 12px;background:#f6f8fa;border-bottom:1px solid var(--line);font:12px var(--mono);display:flex;gap:12px;align-items:center}
.diff-title .ref {margin-left:auto;border-color:#c6e0ce;color:var(--green);background:#eff8f1}
.diff-scroll {max-width:100%;overflow-x:auto}
.code {font:12px/20px var(--mono);width:100%;border-collapse:collapse;white-space:pre}
.code td {padding:0;vertical-align:top}
.code .num {user-select:none;min-width:38px;width:38px;padding:0 9px;text-align:right;color:#88929c;border-right:1px solid #e6ebef;background:#f8fafb}
.code .sign {width:22px;min-width:22px;text-align:center}
.code .text {padding-right:20px}
.code tr.add {background:#edf8f0;color:#245d38}
.code tr.add .num {background:#e1f0e5;color:#688873}
.code tr.del {background:#fff0f0;color:#92333d}
.code tr.del .num {background:#f8e0e2;color:#a27076}
.code tr.hunk {color:#547495;background:#edf3f9}
.code tr.hunk .text {padding:4px 12px}
.foot {display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);margin-top:24px;padding:12px 0;color:#8a919b;font:10px var(--mono)}
@media(max-width:600px) {
 .shell {padding:0 12px}
 .masthead {height:auto;min-height:46px;flex-wrap:wrap;gap:4px 12px;padding:10px 0}
 .brand {font-size:14px}
 .repo-path {font-size:11px}
 .preview-label {display:none}
 .toolbar {display:block}
 nav {gap:21px}
 nav a {padding:13px 0 10px}
 .search {padding:7px 0 9px}
 .search input {flex:1;width:0}
 .search button {height:32px}
 .subbar {min-height:44px;gap:8px;font-size:11px}
 .subbar select {height:32px}
 .file-table .name {width:65%}
 .file-table .mode {display:none}
 .file-table .size {width:15%}
 .file-table .actions {width:20%}
 .actions a {display:inline-flex;align-items:center;min-height:36px;margin-left:0;font-size:10px}
 .actions a:last-child {display:none}
 .file-table td {height:38px;padding:0 5px}
 .file-table th {padding:0 5px}
 .file-name {gap:7px}
 .file-name a {font-size:12px}
 .count {font-size:10px}
 .diff-meta {flex-wrap:wrap;gap:8px;padding:8px 0}
 .diff-tools {margin:0;width:100%}
 .diff-file {margin-top:10px}
 .code {font-size:11px;line-height:19px}
 .code .num {min-width:29px;padding:0 6px}
 .diff-title {font-size:11px;padding:8px}
 .foot {font-size:9px}
}

/* Native cgit adapters. The approved preview tokens are the base. */
#cgit {min-width:0}
.site-title {margin:0;font-size:inherit;line-height:1}
.content {overflow-wrap:anywhere;min-width:0}
.repo-path a {overflow-wrap:anywhere}
.search select {max-width:92px;font-size:11px;color:var(--muted)}
input,select,button {font-family:inherit}
input[type=submit] {cursor:pointer}
.branch-form {display:flex;gap:5px;align-items:center}
.branch-form input[type=submit] {display:none}
.branch-form select {max-width:210px}
.breadcrumbs {display:inline;overflow-wrap:anywhere;font:11px var(--mono)}
.subbar {flex-wrap:wrap;padding:7px 0}
.repo-description {margin:0;color:var(--muted);font:11px/1.4 inherit;max-width:540px}
.list {width:100%;border-collapse:collapse;margin-bottom:20px;table-layout:fixed}
.list th {font-size:10px;font-weight:500;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;background:#f6f8fa;border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-align:left;padding:5px 10px}
.list td {padding:6px 10px;border-bottom:1px solid #edf0f2;vertical-align:top;font-size:12px;overflow-wrap:anywhere}
.list tr:hover td {background:#f7f9fb}
.list.file-table td {height:33px;padding:4px 10px;vertical-align:middle}
.list.file-table th {height:28px;padding:4px 10px}
.list.file-table .name {width:55%}
.list.file-table .mode {width:19%;font:11px var(--mono);color:#76818b}
.list.file-table .size {width:12%;text-align:right;font:11px var(--mono);color:var(--muted)}
.list.file-table .actions {width:14%;text-align:right;white-space:nowrap}
.list[summary="repository list"] th:first-child {width:24%}
.list[summary="repository list"] th:nth-child(2) {width:42%}
.list[summary="repository list"] th:nth-child(3) {width:14%}
.list[summary="repository list"] th:last-child {width:20%}
.list[summary="repository list"] td:first-child {font-weight:550}
.list[summary="repository list"] td:nth-child(2) {color:var(--muted)}
.button {font-size:11px;color:var(--muted);margin-right:12px;display:inline-block;border:0}
.spacer-row {display:none}
.history-table {table-layout:auto}
.history-table .subject-cell {width:60%}
.history-table .subject-cell>a {color:var(--ink)}
.history-table .author-cell,.history-table .age-cell,.history-table .stats-cell {font-size:11px;color:var(--muted)}
.history-table .stats-cell {font-family:var(--mono);white-space:nowrap}
.commitgraph {font:11px var(--mono);color:var(--muted);width:22px}
.decoration {display:inline-flex;gap:4px;flex-wrap:wrap;margin-left:8px}
.decoration a {font:10px var(--mono);border:1px solid #dce1e6;padding:1px 4px;background:#f6f8fa;color:var(--muted)}
.decoration .branch-deco {color:var(--blue);border-color:#c8d8ed;background:#f0f5fb}
.decoration .tag-deco {color:var(--purple);border-color:#dfd3eb;background:#f7f3fb}
.pager {list-style:none;padding:0;display:flex;gap:16px;font-size:12px}
.right {text-align:right}
.center {text-align:center}
.error {border-left:2px solid var(--red);padding:10px;color:var(--red)}
.commit-info {width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;margin:14px 0}
.commit-info th {width:86px;text-align:left;font-weight:400;color:var(--muted)}
.commit-info th,.commit-info td {padding:5px 8px;border-bottom:1px solid #edf0f2;overflow-wrap:anywhere}
.oid {font:11px var(--mono)}
.commit-subject {font-size:16px;font-weight:550;margin:18px 0 12px;line-height:1.5}
.commit-msg {white-space:pre-wrap;font:12px/1.6 var(--mono);overflow-wrap:anywhere}
.scroll-region {max-width:100%;overflow:auto;overscroll-behavior-x:contain;border:1px solid var(--line);margin:10px 0}
.blob,.ssdiff {font:12px/20px var(--mono);white-space:pre;border-collapse:collapse;width:100%}
.blob td {vertical-align:top;padding:0}
.blob pre {font:inherit;margin:0}
.blob .linenumbers {padding:8px 9px;width:40px;text-align:right;background:#f6f8fa;border-right:1px solid var(--line)}
.blob .linenumbers a {color:var(--muted)}
.blob .lines {padding:8px 12px}
.blob .highlight {background:#fff3c2}
.blob a:target {background:#e1eafa;color:var(--blue)}
.ssdiff td {padding:0 8px;vertical-align:top}
.ssdiff .lineno {background:#f6f8fa;color:var(--muted);text-align:right;font-size:11px}
.ssdiff .add,.ssdiff .add_dark {color:var(--green);background:#edf8f0}
.ssdiff .del,.ssdiff .del_dark {color:var(--red);background:#fff0f0}
.ssdiff .hunk {background:#edf3f9;color:#547495}
.ssdiff .head {white-space:pre-wrap;background:#f6f8fa;font-size:11px}
.diff-document {margin-top:12px}
.diff-file-head {border:1px solid var(--line);background:#f6f8fa;font:12px var(--mono);margin-top:16px}
.diff-file-head summary {cursor:pointer;padding:8px 10px;overflow-wrap:anywhere}
.raw-diff-head {padding:10px;border-top:1px solid var(--line);font:11px/1.6 var(--mono);overflow-wrap:anywhere}
.diff-document .scroll-region {margin:0 0 16px;border-top:0}
.diffstat {width:100%;table-layout:fixed;border-collapse:collapse;font-size:11px;margin:10px 0}
.diffstat td {padding:5px 8px;border-bottom:1px solid #edf0f2;overflow-wrap:anywhere}
.diffstat .mode {width:100px;font:10px var(--mono);color:var(--muted)}
.diffstat .right {width:55px;text-align:right;font:11px var(--mono)}
.diffstat .graph {width:20%}
.diffstat .graph td {padding:0;height:5px;border:0}
.diffstat .graph .add {background:#7db894}
.diffstat .graph .rem {background:#d58d95}
.diffstat-header {font-size:11px;color:var(--muted);margin-top:14px}
.diffstat-summary {display:flex;gap:12px;font:11px var(--mono);padding:8px 0;border-bottom:1px solid var(--line)}
.cgit-panel {display:flex;align-items:center;gap:12px;font-size:11px;border-bottom:1px solid var(--line);padding:7px 0}
.cgit-panel>b {font-weight:400;color:var(--muted)}
.cgit-panel form,.cgit-panel table,.cgit-panel tbody {display:flex;align-items:center;gap:10px}
.cgit-panel tr {display:flex;align-items:center;gap:4px}
.cgit-panel td:empty {display:none}
.cgit-panel .label {color:var(--muted)}
.cgit-panel select {font-size:11px;height:25px;padding:2px 5px}
.content>pre {max-width:100%;overflow:auto}
/* Fallback if scripting is disabled: retain usable native cgit layout. */
#header {width:100%;margin:16px 0}
#header .logo {display:none}
#header .main {font-size:18px}
#header .sub {font-size:12px;color:var(--muted)}
table.tabs {width:100%;border-bottom:1px solid var(--line);margin-bottom:12px}
table.tabs a {display:inline-block;padding:8px}
@media(max-width:600px) {
 .site-title {line-height:1.2}
 .search select {max-width:82px}
 .search input[type=submit] {height:32px}
 .repo-description {display:none}
 .subbar {gap:6px;font-size:11px}
 .branch-form select {max-width:130px}
 .breadcrumbs {flex:1;min-width:0}
 .list.file-table .name {width:65%}
 .list.file-table .mode {display:none}
 .list.file-table .size {width:15%}
 .list.file-table .actions {width:20%}
 .list.file-table td {height:38px;padding:0 5px}
 .list.file-table th {padding:0 5px}
 .list[summary="repository list"] th:nth-child(2),.list[summary="repository list"] td:nth-child(2) {display:none}
 .list[summary="repository list"] th:first-child {width:53%}
 .list[summary="repository list"] th:nth-child(3) {width:20%}
 .list[summary="repository list"] th:last-child {width:27%}
 .list[summary="repository list"] td {padding:8px 5px;font-size:12px}
 .list[summary="repository list"] .button {margin:0 6px 0 0;line-height:24px;font-size:10px}
 .history-table,.history-table tbody {display:block;width:100%}
 .history-table tr:has(th) {display:none}
 .history-table tr:not(.spacer-row) {display:flex;flex-wrap:wrap;gap:4px 12px;padding:10px 0;border-bottom:1px solid var(--line)}
 .history-table td {display:block;border:0;padding:0;font-size:11px}
 .history-table td.subject-cell {width:100%;order:-1;font-size:12px}
 .history-table .commitgraph {display:none}
 .history-table .decoration {margin-left:4px}
 .commit-info,.commit-info tbody,.commit-info tr {display:block;width:100%}
 .commit-info tr {border-bottom:1px solid var(--line);padding:5px 0}
 .commit-info td,.commit-info th {display:block;width:100%;text-align:left;border:0;padding:2px 0}
 .cgit-panel {flex-wrap:wrap;gap:4px}
 .cgit-panel>b {display:none}
 .cgit-panel form,.cgit-panel table,.cgit-panel tbody {gap:5px;flex-wrap:wrap}
 .diffstat .mode,.diffstat .graph {display:none}
 .blob,.ssdiff {font-size:11px;line-height:19px}
 .foot {margin-top:20px}
}
@media(prefers-reduced-motion:reduce) {* {scroll-behavior:auto!important}}
