| @@ -94,10 +94,15 @@ code, pre, .code, td.mode, td.size { |
| 94 | font-size: var(--fs-1); |
94 | font-size: var(--fs-1); |
| 95 | } |
95 | } |
| 96 | |
96 | |
| 97 | /* layout */ |
97 | /* layout: one shared container aligns header, content, and footer */ |
| |
98 | .container { |
| |
99 | max-width: 64rem; |
| |
100 | margin: 0 auto; |
| |
101 | padding: 0 var(--sp-5); |
| |
102 | } |
| 98 | header { |
103 | header { |
| 99 | border-bottom: 1px solid var(--faint); |
104 | border-bottom: 1px solid var(--faint); |
| 100 | padding: var(--sp-3) var(--sp-5); |
105 | padding: var(--sp-3) 0; |
| 101 | } |
106 | } |
| 102 | a.site { |
107 | a.site { |
| 103 | font-weight: 650; |
108 | font-weight: 650; |
| @@ -109,10 +114,10 @@ a.site { |
| 109 | } |
114 | } |
| 110 | a.site:hover { text-decoration: none; color: var(--accent); } |
115 | a.site:hover { text-decoration: none; color: var(--accent); } |
| 111 | a.site svg.mark { display: block; } |
116 | a.site svg.mark { display: block; } |
| 112 | main { |
117 | main.container { |
| 113 | max-width: 64rem; |
118 | width: 100%; |
| 114 | margin: 0 auto; |
119 | padding-top: var(--sp-3); |
| 115 | padding: var(--sp-3) var(--sp-5) var(--sp-6); |
120 | padding-bottom: var(--sp-6); |
| 116 | } |
121 | } |
| 117 | |
122 | |
| 118 | /* tables */ |
123 | /* tables */ |
| @@ -186,7 +191,21 @@ nav.tabs a.active { color: var(--fg); border-bottom-color: var(--accent); font-w |
| 186 | } |
191 | } |
| 187 | .pathbar .crumbs strong { color: var(--fg); } |
192 | .pathbar .crumbs strong { color: var(--fg); } |
| 188 | |
193 | |
| 189 | /* file table */ |
194 | /* file and refs tables: bordered cards, rows inside */ |
| |
195 | table.tree, table.refs { |
| |
196 | border: 1px solid var(--line); |
| |
197 | border-radius: var(--r-lg); |
| |
198 | border-collapse: separate; |
| |
199 | border-spacing: 0; |
| |
200 | overflow: hidden; |
| |
201 | margin-bottom: var(--sp-4); |
| |
202 | } |
| |
203 | table.tree td, table.refs td { |
| |
204 | padding: var(--sp-2) var(--sp-4); |
| |
205 | border-bottom: 1px solid var(--faint); |
| |
206 | } |
| |
207 | table.tree tr:last-child td, table.refs tr:last-child td { border-bottom: none; } |
| |
208 | table.tree tr:hover td, table.refs tr:hover td { background: var(--surface); } |
| 190 | table.tree td.name { width: 100%; } |
209 | table.tree td.name { width: 100%; } |
| 191 | table.tree td.name a { color: var(--fg); } |
210 | table.tree td.name a { color: var(--fg); } |
| 192 | table.tree td.name a:hover { color: var(--accent); } |
211 | table.tree td.name a:hover { color: var(--accent); } |
| @@ -210,14 +229,23 @@ table.refs td.sha { color: var(--muted); } |
| 210 | } |
229 | } |
| 211 | |
230 | |
| 212 | /* log */ |
231 | /* log */ |
| 213 | ul.loglist { list-style: none; margin: var(--sp-3) 0; padding: 0; } |
232 | ul.loglist { |
| |
233 | list-style: none; |
| |
234 | margin: var(--sp-3) 0; |
| |
235 | padding: 0; |
| |
236 | border: 1px solid var(--line); |
| |
237 | border-radius: var(--r-lg); |
| |
238 | overflow: hidden; |
| |
239 | } |
| 214 | ul.loglist li { |
240 | ul.loglist li { |
| 215 | display: flex; |
241 | display: flex; |
| 216 | align-items: baseline; |
242 | align-items: baseline; |
| 217 | gap: var(--sp-3); |
243 | gap: var(--sp-3); |
| 218 | padding: var(--sp-2) 0; |
244 | padding: var(--sp-2) var(--sp-4); |
| 219 | border-bottom: 1px solid var(--faint); |
245 | border-bottom: 1px solid var(--faint); |
| 220 | } |
246 | } |
| |
247 | ul.loglist li:last-child { border-bottom: none; } |
| |
248 | ul.loglist li:hover { background: var(--surface); } |
| 221 | ul.loglist .commitmain { flex: 1; min-width: 0; } |
249 | ul.loglist .commitmain { flex: 1; min-width: 0; } |
| 222 | ul.loglist p { margin: 0; } |
250 | ul.loglist p { margin: 0; } |
| 223 | ul.loglist .subject a { color: var(--fg); font-weight: 550; } |
251 | ul.loglist .subject a { color: var(--fg); font-weight: 550; } |
| @@ -242,14 +270,59 @@ code.fullsha { color: var(--muted); overflow-wrap: anywhere; } |
| 242 | svg.icon { vertical-align: -0.125em; } |
270 | svg.icon { vertical-align: -0.125em; } |
| 243 | .lede { font-size: var(--fs-3); margin: var(--sp-2) 0; } |
271 | .lede { font-size: var(--fs-3); margin: var(--sp-2) 0; } |
| 244 | |
272 | |
| 245 | /* repo listings (index, owner pages) */ |
273 | /* repo listings (index, owner pages): responsive card grid */ |
| 246 | ul.repolist { list-style: none; margin: var(--sp-2) 0; padding: 0; } |
274 | .repogrid { |
| 247 | ul.repolist li { padding: var(--sp-3) 0; border-bottom: 1px solid var(--faint); } |
275 | display: grid; |
| 248 | ul.repolist li.empty { color: var(--muted); } |
276 | grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr)); |
| 249 | ul.repolist p { margin: 0; } |
277 | gap: var(--sp-3); |
| 250 | ul.repolist .reponame { font-size: var(--fs-3); font-weight: 550; } |
278 | margin: var(--sp-3) 0 var(--sp-5); |
| 251 | ul.repolist .desc { margin-top: 0.1rem; } |
279 | } |
| 252 | ul.repolist .meta { margin-top: 0.1rem; } |
280 | .repogrid .empty { color: var(--muted); grid-column: 1 / -1; } |
| |
281 | .repocard { |
| |
282 | display: flex; |
| |
283 | flex-direction: column; |
| |
284 | gap: var(--sp-1); |
| |
285 | border: 1px solid var(--line); |
| |
286 | border-radius: var(--r-lg); |
| |
287 | padding: var(--sp-3) var(--sp-4); |
| |
288 | min-width: 0; |
| |
289 | } |
| |
290 | .repocard p { margin: 0; } |
| |
291 | .repocard .reponame { |
| |
292 | font-weight: 550; |
| |
293 | overflow: hidden; |
| |
294 | text-overflow: ellipsis; |
| |
295 | white-space: nowrap; |
| |
296 | } |
| |
297 | .repocard .desc { |
| |
298 | font-size: var(--fs-2); |
| |
299 | display: -webkit-box; |
| |
300 | -webkit-line-clamp: 2; |
| |
301 | -webkit-box-orient: vertical; |
| |
302 | overflow: hidden; |
| |
303 | } |
| |
304 | .repocard .meta { margin-top: auto; padding-top: var(--sp-1); } |
| |
305 | .repocard .reponame .sep { color: var(--muted); margin: 0 0.1em; } |
| |
306 | |
| |
307 | /* owner profile header */ |
| |
308 | .profilehead { |
| |
309 | border-bottom: 1px solid var(--faint); |
| |
310 | padding-bottom: var(--sp-4); |
| |
311 | margin-bottom: var(--sp-4); |
| |
312 | } |
| |
313 | .profilehead h1 { margin: var(--sp-4) 0 var(--sp-1); } |
| |
314 | .profilehead .lede { margin: 0 0 var(--sp-1); } |
| |
315 | .profilehead .meta { margin: var(--sp-1) 0 0; } |
| |
316 | h2 .count { color: var(--muted); font-weight: 400; font-size: var(--fs-2); } |
| |
317 | |
| |
318 | /* heading row with actions on the right */ |
| |
319 | .headrow { |
| |
320 | display: flex; |
| |
321 | align-items: baseline; |
| |
322 | gap: var(--sp-4); |
| |
323 | flex-wrap: wrap; |
| |
324 | } |
| |
325 | .headrow .spacer { flex: 1; } |
| 253 | |
326 | |
| 254 | /* member and org chips on owner pages */ |
327 | /* member and org chips on owner pages */ |
| 255 | a.memberchip { |
328 | a.memberchip { |
| @@ -394,14 +467,23 @@ nav.filters a { |
| 394 | nav.filters a:hover { color: var(--fg); background: var(--surface); text-decoration: none; } |
467 | nav.filters a:hover { color: var(--fg); background: var(--surface); text-decoration: none; } |
| 395 | nav.filters a.active { color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); } |
468 | nav.filters a.active { color: var(--accent); background: color-mix(in srgb, var(--accent) 10%, transparent); } |
| 396 | |
469 | |
| 397 | ul.issuelist { list-style: none; margin: var(--sp-2) 0; padding: 0; } |
470 | ul.issuelist { |
| |
471 | list-style: none; |
| |
472 | margin: var(--sp-2) 0; |
| |
473 | padding: 0; |
| |
474 | border: 1px solid var(--line); |
| |
475 | border-radius: var(--r-lg); |
| |
476 | overflow: hidden; |
| |
477 | } |
| 398 | ul.issuelist li { |
478 | ul.issuelist li { |
| 399 | display: flex; |
479 | display: flex; |
| 400 | align-items: baseline; |
480 | align-items: baseline; |
| 401 | gap: var(--sp-3); |
481 | gap: var(--sp-3); |
| 402 | padding: var(--sp-3) 0; |
482 | padding: var(--sp-3) var(--sp-4); |
| 403 | border-bottom: 1px solid var(--faint); |
483 | border-bottom: 1px solid var(--faint); |
| 404 | } |
484 | } |
| |
485 | ul.issuelist li:last-child { border-bottom: none; } |
| |
486 | ul.issuelist li:hover { background: var(--surface); } |
| 405 | ul.issuelist li.empty { display: block; color: var(--muted); } |
487 | ul.issuelist li.empty { display: block; color: var(--muted); } |
| 406 | ul.issuelist .issuemain { flex: 1; min-width: 0; } |
488 | ul.issuelist .issuemain { flex: 1; min-width: 0; } |
| 407 | ul.issuelist p { margin: 0; } |
489 | ul.issuelist p { margin: 0; } |
| @@ -414,7 +496,10 @@ h2.issuetitle { margin-bottom: var(--sp-1); font-size: var(--fs-5); } |
| 414 | .issuemeta { color: var(--muted); font-size: var(--fs-2); margin-top: 0; } |
496 | .issuemeta { color: var(--muted); font-size: var(--fs-2); margin-top: 0; } |
| 415 | .review { font-size: var(--fs-2); } |
497 | .review { font-size: var(--fs-2); } |
| 416 | |
498 | |
| 417 | /* comment cards */ |
499 | /* comment cards; discussion stays at a readable measure */ |
| |
500 | article.comment, form.commentform { |
| |
501 | max-width: 48rem; |
| |
502 | } |
| 418 | article.comment { |
503 | article.comment { |
| 419 | border: 1px solid var(--faint); |
504 | border: 1px solid var(--faint); |
| 420 | border-radius: var(--r-lg); |
505 | border-radius: var(--r-lg); |
| @@ -484,10 +569,8 @@ button:hover { filter: brightness(1.08); } |
| 484 | |
569 | |
| 485 | /* footer */ |
570 | /* footer */ |
| 486 | footer { |
571 | footer { |
| 487 | max-width: 64rem; |
| |
| 488 | margin: 0 auto; |
| |
| 489 | padding: var(--sp-4) var(--sp-5); |
| |
| 490 | border-top: 1px solid var(--faint); |
572 | border-top: 1px solid var(--faint); |
| |
573 | padding: var(--sp-4) 0; |
| 491 | color: var(--muted); |
574 | color: var(--muted); |
| 492 | font-size: var(--fs-1); |
575 | font-size: var(--fs-1); |
| 493 | } |
576 | } |
| @@ -541,8 +624,9 @@ footer a:hover { color: var(--accent); } |
| 541 | |
624 | |
| 542 | /* mobile */ |
625 | /* mobile */ |
| 543 | @media (max-width: 40rem) { |
626 | @media (max-width: 40rem) { |
| 544 | header { padding: var(--sp-3) var(--sp-4); } |
627 | .container { padding-left: var(--sp-4); padding-right: var(--sp-4); } |
| 545 | main { padding: var(--sp-2) var(--sp-4) var(--sp-6); } |
628 | main.container { padding-top: var(--sp-2); } |
| |
629 | .repogrid { grid-template-columns: 1fr; } |
| 546 | .thread { margin-left: var(--sp-3); } |
630 | .thread { margin-left: var(--sp-3); } |
| 547 | table.tree td.mode { display: none; } |
631 | table.tree td.mode { display: none; } |
| 548 | .readme, .code { padding: var(--sp-3); } |
632 | .readme, .code { padding: var(--sp-3); } |