/* DarcsWeb - gitweb-inspired darcs repository browser */
/* === Reset & Base === */
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: sans-serif;
font-size: 13px;
color: #000;
background: #fff;
}
a {
color: #0000cc;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
pre {
font-family: monospace;
font-size: 12px;
}
h1 {
font-size: 18px;
font-weight: bold;
margin-bottom: 8px;
}
h2 {
font-size: 14px;
font-weight: bold;
margin: 16px 0 8px 0;
padding-bottom: 4px;
border-bottom: 1px solid #d9d8d1;
}
/* === Page Layout === */
.page-header {
background: #d9d8d1;
padding: 8px 12px;
font-size: 18px;
font-weight: bold;
border-bottom: 1px solid #808080;
}
.page-header a {
color: #000;
text-decoration: none;
display: inline-flex;
align-items: center;
}
.header-logo {
height: 28px;
width: auto;
vertical-align: middle;
}
.page-header a:hover {
text-decoration: underline;
}
.page-body {
padding: 12px;
min-height: 400px;
}
.page-footer {
background: #d9d8d1;
padding: 6px 12px;
border-top: 1px solid #808080;
font-size: 11px;
color: #555;
text-align: center;
}
.page-footer a {
color: #333;
}
/* === Repository Navigation === */
.repo-nav {
margin: 8px 0 16px 0;
padding: 4px 0;
border-bottom: 1px solid #d9d8d1;
}
.repo-nav a {
display: inline-block;
padding: 4px 12px;
margin-right: 2px;
color: #0000cc;
background: #edece6;
border: 1px solid #d9d8d1;
border-bottom: none;
font-size: 12px;
}
.repo-nav a:hover {
background: #d9d8d1;
text-decoration: none;
}
.repo-nav a.active {
background: #fff;
border-bottom: 1px solid #fff;
font-weight: bold;
color: #000;
}
/* === Tables === */
table {
width: 100%;
border-collapse: collapse;
}
thead th {
text-align: left;
padding: 4px 8px;
background: #edece6;
border-bottom: 1px solid #d9d8d1;
font-size: 12px;
font-weight: bold;
color: #333;
}
tbody tr {
border-bottom: 1px solid #eee;
}
tbody tr:hover {
background: #f6f5ee;
}
td {
padding: 4px 8px;
vertical-align: top;
}
td.num {
text-align: right;
font-family: monospace;
}
/* === Repository List === */
.repo-list td.repo-name a {
font-weight: bold;
}
.repo-list td.actions {
white-space: nowrap;
font-size: 12px;
}
.repo-list td.actions a {
color: #555;
}
.repo-list td.actions a:hover {
color: #0000cc;
}
/* === Shortlog Table === */
.shortlog td.date {
white-space: nowrap;
color: #666;
font-family: monospace;
font-size: 12px;
width: 150px;
}
.shortlog td.author {
white-space: nowrap;
font-style: italic;
color: #006699;
width: 180px;
max-width: 180px;
overflow: hidden;
text-overflow: ellipsis;
}
.shortlog td.subject a {
color: #000;
}
.shortlog td.subject a:hover {
color: #0000cc;
}
.shortlog td.actions {
white-space: nowrap;
font-size: 12px;
width: 60px;
}
.shortlog td.actions a {
color: #555;
}
.shortlog tr.tag-row {
background: #ffffee;
}
/* === Tag Badge === */
.tag-badge {
display: inline-block;
background: #ffc800;
color: #000;
font-size: 10px;
font-weight: bold;
padding: 1px 4px;
border-radius: 3px;
margin-right: 4px;
vertical-align: middle;
}
/* === Tags Table === */
.tag-list td.tag-name a {
font-weight: bold;
color: #006600;
}
.tag-list td.date {
white-space: nowrap;
color: #666;
font-family: monospace;
font-size: 12px;
width: 150px;
}
.tag-list td.author {
color: #006699;
font-style: italic;
}
/* === Full Log === */
.log-entry {
margin-bottom: 16px;
padding: 8px;
border: 1px solid #d9d8d1;
background: #fafaf6;
}
.log-entry.tag-entry {
background: #ffffee;
border-color: #e0d000;
}
.log-header {
display: flex;
justify-content: space-between;
align-items: baseline;
margin-bottom: 4px;
}
.log-name {
font-weight: bold;
font-size: 14px;
}
.log-name a {
color: #000;
}
.log-name a:hover {
color: #0000cc;
}
.log-date {
color: #666;
font-family: monospace;
font-size: 12px;
white-space: nowrap;
}
.log-meta {
font-size: 12px;
color: #006699;
margin-bottom: 4px;
}
.log-body {
margin-top: 8px;
}
.log-body pre {
background: #fff;
padding: 6px 8px;
border: 1px solid #eee;
color: #333;
white-space: pre-wrap;
word-wrap: break-word;
}
.log-summary {
margin-top: 6px;
}
.log-summary pre {
color: #555;
font-size: 11px;
white-space: pre-wrap;
}
/* === Patch Detail === */
.patch-detail h1 {
font-size: 18px;
margin-bottom: 12px;
padding-bottom: 8px;
border-bottom: 1px solid #d9d8d1;
}
.patch-meta {
width: auto;
margin-bottom: 16px;
}
.patch-meta th {
background: none;
border: none;
text-align: right;
padding: 2px 12px 2px 0;
font-weight: bold;
color: #333;
width: 80px;
}
.patch-meta td {
border: none;
padding: 2px 0;
}
.patch-meta td.hash {
font-family: monospace;
font-size: 12px;
color: #666;
}
.patch-log pre {
background: #fafaf6;
padding: 8px;
border: 1px solid #d9d8d1;
white-space: pre-wrap;
word-wrap: break-word;
}
.patch-summary pre {
background: #f5f5f0;
padding: 8px;
border: 1px solid #d9d8d1;
color: #333;
white-space: pre-wrap;
}
.patch-diff pre.diff {
background: #fafafa;
padding: 8px;
border: 1px solid #d9d8d1;
overflow-x: auto;
white-space: pre;
}
.diff-add {
color: #22863a;
background: #e6ffec;
}
.diff-del {
color: #cb2431;
background: #ffeef0;
}
.diff-hunk {
color: #6f42c1;
line-height: 1.4;
tab-size: 8;
}
/* === Description & Empty states === */
.description {
color: #555;
font-style: italic;
margin-bottom: 8px;
}
.empty {
color: #999;
font-style: italic;
padding: 20px 0;
}
.more {
margin-top: 4px;
}
.more a {
color: #555;
font-style: italic;
}
/* === Tree View === */
.tree-path {
margin: 8px 0 12px 0;
font-size: 13px;
}
.tree-path a {
color: #0000cc;
}
.tree-list td.tree-icon {
width: 20px;
text-align: center;
padding: 3px 4px;
}
.tree-list td.tree-name {
padding: 3px 8px;
}
.tree-list td.tree-name a {
color: #000;
}
.tree-list td.tree-name a:hover {
color: #0000cc;
}
.tree-list td.tree-size {
text-align: right;
color: #666;
font-family: monospace;
font-size: 12px;
width: 80px;
white-space: nowrap;
}
/* === Blob View === */
.blob-content {
margin-top: 12px;
}
.blob-content pre {
background: #fafaf6;
padding: 8px;
border: 1px solid #d9d8d1;
overflow-x: auto;
white-space: pre;
line-height: 1.4;
tab-size: 4;
}
.blob-content code {
font-family: monospace;
font-size: 12px;
}