| 1 | /* otgit page-specific styles: file tree, blob viewer, diff viewer */ |
| 2 | |
| 3 | /* File tree */ |
| 4 | .file-tree td.tree-icon { width: 24px; text-align: center; } |
| 5 | .file-tree td.tree-name a { text-decoration: none; font-family: "Courier New", monospace; } |
| 6 | .file-tree td.tree-name a:hover { text-decoration: underline; } |
| 7 | |
| 8 | /* Blob viewer */ |
| 9 | .blob-meta { font-size: 11px; color: #555; padding: 4px 8px; border-bottom: 1px solid var(--silver); } |
| 10 | .blob-view { |
| 11 | overflow-x: auto; |
| 12 | background: #fff; |
| 13 | max-width: 100%; |
| 14 | } |
| 15 | .blob-table { |
| 16 | border-collapse: collapse; |
| 17 | font-family: "Courier New", Consolas, monospace; |
| 18 | font-size: 12px; |
| 19 | min-width: 100%; |
| 20 | } |
| 21 | .blob-table tr { line-height: 1.5; } |
| 22 | .blob-num { |
| 23 | background: #f0f0f0; |
| 24 | border-right: 1px solid #ccc; |
| 25 | padding: 0 10px; |
| 26 | text-align: right; |
| 27 | user-select: none; |
| 28 | white-space: nowrap; |
| 29 | min-width: 44px; |
| 30 | vertical-align: top; |
| 31 | } |
| 32 | .blob-num a { color: #888; text-decoration: none; } |
| 33 | .blob-num:target { background: #ffffcc; } |
| 34 | .blob-num:target a { color: var(--navy); } |
| 35 | .blob-line { |
| 36 | padding: 0 10px; |
| 37 | white-space: pre; |
| 38 | vertical-align: top; |
| 39 | width: 100%; |
| 40 | } |
| 41 | .blob-table tr:hover .blob-line { background: #fffde0; } |
| 42 | |
| 43 | /* File tree sidebar (blob view) */ |
| 44 | .tree-sidebar-body { padding: 6px 8px; } |
| 45 | .tree-sidebar-root { padding: 2px 0 6px; border-bottom: 1px dashed #ccc; margin-bottom: 4px; font-family: Tahoma, sans-serif; } |
| 46 | .tree-sidebar-root a { text-decoration: none; font-weight: bold; } |
| 47 | .tree-sidebar { list-style: none; padding: 0; margin: 0; } |
| 48 | .tree-sidebar li { padding: 2px 0; font-family: "Courier New", monospace; font-size: 11px; word-break: break-all; } |
| 49 | .tree-sidebar li a { text-decoration: none; } |
| 50 | .tree-sidebar li a:hover { text-decoration: underline; } |
| 51 | .tree-sidebar li.active { background: #ffffcc; padding: 2px 4px; } |
| 52 | .tree-sidebar li.active a { color: var(--navy); font-weight: bold; } |
| 53 | |
| 54 | /* Language bar */ |
| 55 | .lang-section { |
| 56 | background: #fff; |
| 57 | border: 1px solid #808080; |
| 58 | margin-bottom: 10px; |
| 59 | padding: 8px 10px; |
| 60 | } |
| 61 | .lang-bar { |
| 62 | display: flex; |
| 63 | height: 10px; |
| 64 | border: 1px solid #808080; |
| 65 | border-right-color: #fff; |
| 66 | border-bottom-color: #fff; |
| 67 | background: #eee; |
| 68 | margin-bottom: 6px; |
| 69 | overflow: hidden; |
| 70 | } |
| 71 | .lang-segment { display: block; height: 100%; } |
| 72 | .lang-labels { display: flex; flex-wrap: wrap; gap: 10px; font-size: 11px; font-family: Tahoma, sans-serif; } |
| 73 | .lang-label { display: inline-flex; align-items: center; gap: 4px; } |
| 74 | .lang-dot { display: inline-block; width: 10px; height: 10px; border-radius: 50%; border: 1px solid rgba(0,0,0,.2); } |
| 75 | .lang-pct { color: #666; } |
| 76 | |
| 77 | /* Repo nav strip */ |
| 78 | .repo-nav { display: flex; gap: 6px; flex-wrap: wrap; margin: 8px 0; } |
| 79 | .repo-nav .btn { padding: 4px 10px; font-size: 11px; } |
| 80 | |
| 81 | /* Visibility badges */ |
| 82 | .vis-badge.public { border-color: #060; background: #e8ffe8; color: #060; } |
| 83 | |
| 84 | |
| 85 | /* Commit list */ |
| 86 | .commit-table td.commit-sha { width: 70px; font-family: "Courier New", monospace; font-size: 11px; } |
| 87 | .commit-table td.commit-msg { max-width: 400px; } |
| 88 | .commit-table td.commit-author { width: 150px; font-size: 11px; color: #555; } |
| 89 | .commit-table td.commit-date { width: 90px; font-size: 11px; color: #555; white-space: nowrap; } |
| 90 | |
| 91 | /* Single commit */ |
| 92 | .commit-header { border-bottom: 1px solid var(--silver); } |
| 93 | .commit-msg-full { font-size: 14px; font-weight: bold; margin: 0 0 6px; } |
| 94 | .commit-meta { font-size: 11px; color: #555; margin: 0 0 4px; } |
| 95 | .commit-sha-full { font-size: 11px; color: #555; font-family: "Courier New", monospace; display: block; } |
| 96 | |
| 97 | /* Diff viewer */ |
| 98 | .diff-view { overflow-x: auto; } |
| 99 | .diff-file { margin-bottom: 12px; border: 1px solid #808080; } |
| 100 | .diff-filename { |
| 101 | background: var(--silver); |
| 102 | border-bottom: 1px solid #808080; |
| 103 | padding: 4px 8px; |
| 104 | font-family: "Courier New", monospace; |
| 105 | font-size: 12px; |
| 106 | font-weight: bold; |
| 107 | color: var(--navy); |
| 108 | } |
| 109 | .diff-table { width: 100%; border-collapse: collapse; font-family: "Courier New", monospace; font-size: 12px; } |
| 110 | .diff-table td { padding: 1px 6px; white-space: pre; } |
| 111 | td.diff-sign { width: 14px; text-align: center; user-select: none; font-weight: bold; } |
| 112 | td.diff-code { width: 100%; } |
| 113 | td.diff-code code { font-family: inherit; font-size: inherit; } |
| 114 | |
| 115 | tr.diff-add { background: #e8ffe8; } |
| 116 | tr.diff-add td.diff-sign { color: #060; } |
| 117 | tr.diff-del { background: #ffe8e8; } |
| 118 | tr.diff-del td.diff-sign { color: #c00; } |
| 119 | tr.diff-ctx { background: #fff; } |
| 120 | |
| 121 | td.diff-hunk { |
| 122 | background: #e8f0ff; |
| 123 | color: #46c; |
| 124 | padding: 2px 6px; |
| 125 | font-size: 11px; |
| 126 | } |
| 127 | td.diff-binary { background: #fffbe6; color: #555; padding: 4px 8px; } |
| 128 | .diff-truncated { color: #c00; padding: 8px; } |
| 129 | |
| 130 | /* Admin settings */ |
| 131 | .admin-section { display: flex; flex-direction: column; gap: 8px; padding-bottom: 4px; } |
| 132 | .setting-row { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding: 2px 0; } |
| 133 | .setting-row label { min-width: 220px; font-family: "Courier New", monospace; font-size: 11px; font-weight: bold; color: #000; } |
| 134 | .setting-row input[type="text"], |
| 135 | .setting-row input[type="number"], |
| 136 | .setting-row select { flex: 1; min-width: 140px; max-width: 400px; } |
| 137 | .restart-note { font-style: italic; color: #c00; font-weight: normal; font-size: 10px; font-family: Tahoma, sans-serif; } |
| 138 | |