CSS · 24998 bytes Raw Blame History
1 /* SPDX-License-Identifier: AGPL-3.0-or-later */
2 /*
3 * shithub — base styles.
4 *
5 * S02 layers our own chrome over the Primer CSS that ships in
6 * /static/primer/primer.css. We pull a small set of token overrides so the
7 * theme system (light / dark / auto / high-contrast) drives everything via
8 * CSS custom properties.
9 *
10 * Color tokens follow Primer's naming so most of these become migration
11 * candidates as Primer's primitives stabilize.
12 */
13
14 :root {
15 --canvas-default: #ffffff;
16 --canvas-subtle: #f6f8fa;
17 --canvas-inset: #eaeef2;
18 --fg-default: #1f2328;
19 --fg-muted: #59636e;
20 --border-default: #d0d7de;
21 --border-muted: #d8dee4;
22 --accent-fg: #0969da;
23 --accent-emphasis: #0969da;
24 --success-fg: #1a7f37;
25 --danger-fg: #cf222e;
26 --shithub-mark: var(--danger-fg);
27 }
28
29 [data-theme="dark"] {
30 --canvas-default: #0d1117;
31 --canvas-subtle: #161b22;
32 --canvas-inset: #010409;
33 --fg-default: #f0f6fc;
34 --fg-muted: #9198a1;
35 --border-default: #3d444d;
36 --border-muted: #232a33;
37 --accent-fg: #4493f8;
38 --accent-emphasis: #1f6feb;
39 --success-fg: #3fb950;
40 --danger-fg: #f85149;
41 }
42
43 [data-theme="high-contrast"] {
44 --canvas-default: #000000;
45 --canvas-subtle: #0a0c10;
46 --canvas-inset: #000000;
47 --fg-default: #ffffff;
48 --fg-muted: #d9dee3;
49 --border-default: #7a828e;
50 --border-muted: #525964;
51 --accent-fg: #71b7ff;
52 --accent-emphasis: #409eff;
53 --success-fg: #4ed162;
54 --danger-fg: #ff6a69;
55 }
56
57 * { box-sizing: border-box; }
58
59 html, body {
60 margin: 0;
61 padding: 0;
62 background: var(--canvas-default);
63 color: var(--fg-default);
64 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
65 font-size: 16px;
66 line-height: 1.5;
67 }
68
69 a {
70 color: var(--accent-fg);
71 text-decoration: none;
72 }
73 a:hover { text-decoration: underline; }
74
75 code {
76 font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
77 font-size: 0.875em;
78 background: var(--canvas-subtle);
79 padding: 0.1em 0.35em;
80 border-radius: 4px;
81 }
82
83 /* ========== Nav ========== */
84
85 .shithub-body {
86 min-height: 100vh;
87 display: flex;
88 flex-direction: column;
89 }
90
91 .shithub-nav {
92 display: flex;
93 align-items: center;
94 gap: 1.5rem;
95 padding: 0.75rem 1.25rem;
96 background: var(--canvas-subtle);
97 border-bottom: 1px solid var(--border-default);
98 }
99
100 .shithub-nav-brand {
101 display: flex;
102 align-items: center;
103 gap: 0.5rem;
104 color: var(--fg-default);
105 font-weight: 600;
106 letter-spacing: -0.01em;
107 }
108 .shithub-nav-brand:hover { text-decoration: none; }
109 .shithub-nav-brand svg { color: var(--shithub-mark); }
110
111 .shithub-nav-links {
112 display: flex;
113 gap: 1rem;
114 flex: 1;
115 }
116 .shithub-nav-links a {
117 color: var(--fg-default);
118 font-size: 0.9rem;
119 }
120
121 .shithub-nav-actions {
122 display: flex;
123 gap: 0.5rem;
124 align-items: center;
125 }
126
127 /* User-menu dropdown — uses native <details>/<summary> so it works without JS. */
128 .shithub-user-menu { position: relative; }
129 .shithub-user-menu > summary {
130 list-style: none;
131 display: inline-flex;
132 align-items: center;
133 gap: 0.5rem;
134 padding: 0.25rem 0.6rem;
135 border: 1px solid var(--border-default);
136 border-radius: 6px;
137 background: transparent;
138 cursor: pointer;
139 font-size: 0.875rem;
140 color: var(--fg-default);
141 }
142 .shithub-user-menu > summary::-webkit-details-marker { display: none; }
143 .shithub-user-menu-avatar {
144 width: 24px;
145 height: 24px;
146 border-radius: 50%;
147 display: block;
148 background: var(--canvas-default);
149 }
150 .shithub-user-menu-name { font-weight: 500; }
151 .shithub-user-menu-panel {
152 position: absolute;
153 right: 0;
154 top: calc(100% + 0.35rem);
155 min-width: 220px;
156 background: var(--canvas-default);
157 border: 1px solid var(--border-default);
158 border-radius: 6px;
159 padding: 0.4rem 0;
160 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
161 z-index: 50;
162 display: flex;
163 flex-direction: column;
164 }
165 .shithub-user-menu-header {
166 padding: 0.5rem 0.85rem;
167 font-size: 0.8rem;
168 color: var(--fg-muted);
169 border-bottom: 1px solid var(--border-default);
170 margin-bottom: 0.25rem;
171 }
172 .shithub-user-menu-panel a,
173 .shithub-user-menu-signout button {
174 display: block;
175 text-align: left;
176 width: 100%;
177 padding: 0.45rem 0.85rem;
178 background: transparent;
179 border: 0;
180 color: var(--fg-default);
181 font-size: 0.875rem;
182 cursor: pointer;
183 }
184 .shithub-user-menu-panel a:hover,
185 .shithub-user-menu-signout button:hover {
186 background: var(--canvas-subtle);
187 text-decoration: none;
188 }
189 .shithub-user-menu-signout { margin: 0; padding: 0; border-top: 1px solid var(--border-default); margin-top: 0.25rem; }
190
191 .hello-greeting {
192 margin: 1rem auto 1.5rem;
193 padding: 0.85rem 1rem;
194 border: 1px solid var(--border-default);
195 border-radius: 6px;
196 background: var(--canvas-subtle);
197 max-width: 32rem;
198 text-align: left;
199 }
200 .hello-greeting p { margin: 0 0 0.5rem; }
201 .hello-quicklinks { display: flex; gap: 1rem; flex-wrap: wrap; font-size: 0.9rem; }
202
203 .shithub-button {
204 display: inline-flex;
205 align-items: center;
206 padding: 0.4rem 0.85rem;
207 border-radius: 6px;
208 font-size: 0.875rem;
209 font-weight: 500;
210 border: 1px solid transparent;
211 cursor: pointer;
212 }
213 .shithub-button-ghost {
214 color: var(--fg-default);
215 border-color: var(--border-default);
216 background: transparent;
217 }
218 .shithub-button-primary {
219 color: #fff;
220 background: var(--accent-emphasis);
221 border-color: var(--accent-emphasis);
222 }
223 .shithub-button-primary:hover { text-decoration: none; opacity: 0.92; }
224
225 /* ========== Main + Footer ========== */
226
227 .shithub-main {
228 flex: 1;
229 width: 100%;
230 }
231
232 .shithub-footer {
233 border-top: 1px solid var(--border-default);
234 background: var(--canvas-subtle);
235 padding: 1.25rem;
236 font-size: 0.85rem;
237 color: var(--fg-muted);
238 }
239 .shithub-footer-inner {
240 max-width: 1200px;
241 margin: 0 auto;
242 display: flex;
243 justify-content: space-between;
244 align-items: center;
245 gap: 1rem;
246 }
247 .shithub-footer-brand {
248 display: flex;
249 align-items: center;
250 gap: 0.4rem;
251 color: var(--fg-default);
252 }
253 .shithub-footer-brand svg { color: var(--shithub-mark); }
254 .shithub-footer-meta { color: var(--fg-muted); margin-left: 0.5rem; font-size: 0.8rem; }
255 .shithub-footer-links { display: flex; gap: 1rem; }
256
257 /* ========== Hello page ========== */
258
259 .hello {
260 max-width: 640px;
261 margin: 4rem auto;
262 padding: 2rem 1.5rem;
263 text-align: center;
264 }
265 .hello-logo {
266 margin: 0 auto 1.5rem;
267 width: 160px;
268 height: 160px;
269 color: var(--shithub-mark);
270 }
271 .hello-logo svg { width: 100%; height: 100%; }
272 .hello-title {
273 font-size: 2.75rem;
274 margin: 0 0 0.5rem;
275 letter-spacing: -0.02em;
276 }
277 .hello-tagline {
278 color: var(--fg-muted);
279 font-size: 1.15rem;
280 margin: 0 0 2rem;
281 }
282 .hello-meta {
283 display: grid;
284 grid-template-columns: max-content 1fr;
285 gap: 0.25rem 1rem;
286 max-width: 24rem;
287 margin: 0 auto 2rem;
288 padding: 1rem 1.5rem;
289 background: var(--canvas-subtle);
290 border: 1px solid var(--border-default);
291 border-radius: 6px;
292 text-align: left;
293 font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
294 font-size: 0.875rem;
295 }
296 .hello-meta dt { color: var(--fg-muted); }
297 .hello-meta dd { margin: 0; }
298 .hello-status {
299 color: var(--fg-muted);
300 margin: 0 auto 2rem;
301 max-width: 36rem;
302 }
303 .hello-links {
304 display: flex;
305 justify-content: center;
306 gap: 1rem;
307 font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
308 font-size: 0.875rem;
309 }
310
311 /* ========== Error pages ========== */
312
313 .error-page {
314 max-width: 540px;
315 margin: 6rem auto;
316 padding: 2rem 1.5rem;
317 text-align: center;
318 }
319 .error-glyph {
320 display: inline-flex;
321 width: 64px; height: 64px;
322 align-items: center; justify-content: center;
323 border-radius: 50%;
324 background: var(--canvas-subtle);
325 color: var(--danger-fg);
326 margin-bottom: 1.5rem;
327 }
328 .error-glyph svg { width: 32px; height: 32px; }
329 .error-status {
330 margin: 0;
331 font-size: 4rem;
332 letter-spacing: -0.04em;
333 color: var(--fg-default);
334 }
335 .error-title {
336 margin: 0 0 0.75rem;
337 font-size: 1.4rem;
338 font-weight: 500;
339 }
340 .error-detail {
341 color: var(--fg-muted);
342 margin: 0 0 2rem;
343 max-width: 36rem;
344 margin-left: auto;
345 margin-right: auto;
346 }
347 .error-hint a {
348 display: inline-block;
349 padding: 0.5rem 1rem;
350 border: 1px solid var(--border-default);
351 border-radius: 6px;
352 color: var(--fg-default);
353 }
354 .error-hint a:hover { text-decoration: none; background: var(--canvas-subtle); }
355 .error-request-id {
356 margin-top: 2rem;
357 color: var(--fg-muted);
358 font-size: 0.8rem;
359 }
360
361 /* ----- auth (S05) ----- */
362 .shithub-auth {
363 max-width: 28rem;
364 margin: 3rem auto;
365 padding: 2rem;
366 background: var(--canvas-default);
367 border: 1px solid var(--border-default);
368 border-radius: 8px;
369 }
370 .shithub-auth h1 {
371 margin: 0 0 1.5rem;
372 font-size: 1.5rem;
373 }
374 .shithub-auth form { display: grid; gap: 1rem; }
375 .shithub-auth label { display: grid; gap: 0.25rem; font-weight: 500; }
376 .shithub-auth input[type=text],
377 .shithub-auth input[type=email],
378 .shithub-auth input[type=password] {
379 font: inherit;
380 padding: 0.5rem 0.75rem;
381 border: 1px solid var(--border-default);
382 border-radius: 6px;
383 background: var(--canvas-subtle);
384 }
385 .shithub-auth-aside {
386 margin: 1.5rem 0 0;
387 text-align: center;
388 color: var(--fg-muted);
389 font-size: 0.9rem;
390 }
391 .shithub-flash {
392 margin: 0 0 1rem;
393 padding: 0.75rem 1rem;
394 border-radius: 6px;
395 border: 1px solid var(--border-default);
396 }
397 .shithub-flash-error { background: rgba(248, 81, 73, 0.1); border-color: rgba(248, 81, 73, 0.3); }
398 .shithub-flash-notice { background: rgba(56, 139, 253, 0.1); border-color: rgba(56, 139, 253, 0.3); }
399
400 /* ----- 2FA (S06) ----- */
401 .shithub-auth-wide { max-width: 32rem; }
402 .shithub-2fa-steps { margin: 0 0 1.5rem; padding-left: 1.25rem; }
403 .shithub-2fa-steps li { margin: 0.25rem 0; }
404 .shithub-2fa-qr {
405 display: flex;
406 justify-content: center;
407 margin: 1rem 0;
408 padding: 1rem;
409 background: #ffffff;
410 border-radius: 6px;
411 border: 1px solid var(--border-default);
412 }
413 .shithub-2fa-secret {
414 text-align: center;
415 font-family: monospace;
416 margin: 0 0 1.5rem;
417 color: var(--fg-muted);
418 }
419 .shithub-recovery-codes {
420 list-style: none;
421 margin: 1rem 0;
422 padding: 1rem;
423 display: grid;
424 grid-template-columns: repeat(2, 1fr);
425 gap: 0.5rem;
426 background: var(--canvas-subtle);
427 border-radius: 6px;
428 font-family: monospace;
429 font-size: 1.05em;
430 }
431 .shithub-recovery-codes li code { background: transparent; padding: 0; }
432 .shithub-button-danger { background: rgba(248, 81, 73, 0.15); border-color: rgba(248, 81, 73, 0.4); }
433
434 /* ----- SSH keys (S07) ----- */
435 .shithub-key-list { list-style: none; padding: 0; margin: 1rem 0 2rem; }
436 .shithub-key-row {
437 display: flex;
438 justify-content: space-between;
439 align-items: flex-start;
440 gap: 1rem;
441 padding: 0.75rem;
442 border: 1px solid var(--border-default);
443 border-radius: 6px;
444 margin-bottom: 0.5rem;
445 }
446 .shithub-key-meta { margin-left: 0.75rem; color: var(--fg-muted); font-size: 0.85rem; }
447 .shithub-key-fp { display: block; margin-top: 0.25rem; font-size: 0.85rem; word-break: break-all; }
448 .shithub-key-last { display: block; margin-top: 0.25rem; color: var(--fg-muted); font-size: 0.8rem; }
449 .shithub-key-empty { color: var(--fg-muted); margin: 1rem 0 2rem; }
450
451 /* ----- profile (S09) ----- */
452 .shithub-profile { max-width: 56rem; margin: 2rem auto; padding: 0 1rem; }
453 .shithub-profile-header { display: flex; gap: 1.5rem; align-items: flex-start; }
454 .shithub-profile-avatar { width: 200px; height: 200px; border-radius: 50%; background: var(--canvas-subtle); border: 1px solid var(--border-default); }
455 .shithub-profile-id h1 { margin: 0 0 0.25rem; font-size: 1.5rem; }
456 .shithub-profile-handle { margin: 0; color: var(--fg-muted); }
457 .shithub-profile-pronouns { margin: 0.25rem 0 0; color: var(--fg-muted); font-size: 0.9rem; }
458 .shithub-profile-you { margin-left: 0.5rem; padding: 0.1rem 0.4rem; background: var(--canvas-subtle); border: 1px solid var(--border-default); border-radius: 6px; font-size: 0.7rem; color: var(--fg-muted); vertical-align: middle; }
459 .shithub-profile-id .shithub-button { margin-top: 0.75rem; display: inline-block; }
460 .shithub-profile-bio { margin: 1.5rem 0; font-size: 1.05rem; }
461 .shithub-profile-meta { display: grid; grid-template-columns: max-content 1fr; gap: 0.25rem 1rem; margin: 1rem 0; }
462 .shithub-profile-meta dt { color: var(--fg-muted); font-weight: 500; }
463 .shithub-profile-meta dd { margin: 0; }
464 .shithub-profile-pinned, .shithub-profile-contributions, .shithub-profile-readme { margin: 2rem 0; }
465 .shithub-profile-pinned h2, .shithub-profile-contributions h2, .shithub-profile-readme h2 { font-size: 1.1rem; margin: 0 0 0.5rem; padding-bottom: 0.25rem; border-bottom: 1px solid var(--border-default); }
466 .shithub-empty { color: var(--fg-muted); font-style: italic; padding: 1rem; background: var(--canvas-subtle); border-radius: 6px; }
467 .shithub-profile-unavailable h1 { color: var(--fg-muted); }
468
469 /* ----- settings shell (S10) ----- */
470 .shithub-settings-page {
471 max-width: 64rem;
472 margin: 2rem auto;
473 padding: 0 1rem;
474 display: grid;
475 grid-template-columns: 220px 1fr;
476 gap: 2rem;
477 align-items: start;
478 }
479 .shithub-settings-side { font-size: 0.9rem; }
480 .shithub-settings-side-title {
481 margin: 0 0 0.75rem;
482 font-size: 1.5rem;
483 font-weight: 400;
484 padding-bottom: 0.5rem;
485 border-bottom: 1px solid var(--border-default);
486 }
487 .shithub-settings-side nav ul {
488 list-style: none;
489 padding: 0;
490 margin: 0 0 1rem;
491 }
492 .shithub-settings-side nav li {
493 border-radius: 6px;
494 }
495 .shithub-settings-side nav li.active {
496 background: var(--canvas-subtle);
497 border-left: 2px solid var(--accent-emphasis);
498 }
499 .shithub-settings-side nav li a {
500 display: block;
501 padding: 0.4rem 0.75rem;
502 color: var(--fg-default);
503 text-decoration: none;
504 border-radius: 6px;
505 }
506 .shithub-settings-side nav li a:hover { background: var(--canvas-subtle); }
507 .shithub-settings-side nav li.active a { font-weight: 500; }
508 .shithub-settings-side-group {
509 margin: 1.25rem 0 0.5rem;
510 padding-top: 0.75rem;
511 border-top: 1px solid var(--border-default);
512 font-size: 0.75rem;
513 font-weight: 600;
514 text-transform: uppercase;
515 letter-spacing: 0.05em;
516 color: var(--fg-muted);
517 }
518 .shithub-settings-danger { color: #cf222e; }
519
520 .shithub-settings-content { min-width: 0; }
521 .shithub-settings-content > h1 {
522 margin: 0 0 1.5rem;
523 padding-bottom: 0.75rem;
524 border-bottom: 1px solid var(--border-default);
525 font-size: 1.5rem;
526 font-weight: 400;
527 }
528 .shithub-settings-section {
529 margin: 0 0 2rem;
530 padding-bottom: 1.5rem;
531 border-bottom: 1px solid var(--border-muted, var(--border-default));
532 }
533 .shithub-settings-section:last-child { border-bottom: none; }
534 .shithub-settings-section h2 {
535 margin: 0 0 0.5rem;
536 font-size: 1rem;
537 font-weight: 600;
538 }
539 .shithub-settings-section p { margin: 0 0 1rem; color: var(--fg-muted); }
540 .shithub-settings-section form { display: grid; gap: 0.85rem; max-width: 32rem; }
541 .shithub-settings-section label { display: grid; gap: 0.25rem; font-weight: 500; font-size: 0.9rem; }
542 .shithub-settings-section input[type=text],
543 .shithub-settings-section input[type=email],
544 .shithub-settings-section input[type=password],
545 .shithub-settings-section input[type=url],
546 .shithub-settings-section textarea,
547 .shithub-settings-section select {
548 font: inherit;
549 padding: 0.5rem 0.75rem;
550 border: 1px solid var(--border-default);
551 border-radius: 6px;
552 background: var(--canvas-subtle);
553 }
554 .shithub-settings-section textarea { min-height: 4rem; resize: vertical; }
555 .shithub-settings-section .shithub-button { justify-self: start; }
556
557 .shithub-settings-danger-zone {
558 border: 1px solid rgba(207, 34, 46, 0.4);
559 border-radius: 6px;
560 padding: 1rem 1.25rem;
561 background: rgba(207, 34, 46, 0.04);
562 }
563 .shithub-settings-danger-zone h2 { color: #cf222e; }
564
565 .shithub-settings-section label small {
566 font-weight: 400;
567 color: var(--fg-muted);
568 font-size: 0.8rem;
569 }
570
571 .shithub-profile-edit {
572 display: grid;
573 grid-template-columns: minmax(0, 1fr) 220px;
574 gap: 2rem;
575 align-items: start;
576 }
577 .shithub-profile-edit-form { margin: 0; padding: 0; border: none; }
578 .shithub-profile-edit-aside h2 { margin: 0 0 0.75rem; font-size: 0.9rem; font-weight: 600; }
579 .shithub-profile-edit-avatar {
580 width: 200px;
581 height: 200px;
582 border-radius: 50%;
583 border: 1px solid var(--border-default);
584 background: var(--canvas-subtle);
585 display: block;
586 }
587 .shithub-empty-note {
588 margin: 0.5rem 0 0;
589 font-size: 0.8rem;
590 color: var(--fg-muted);
591 }
592 .shithub-profile-edit-aside form {
593 margin: 0.75rem 0 0;
594 display: grid;
595 gap: 0.5rem;
596 }
597 .shithub-profile-edit-upload span {
598 display: block;
599 font-size: 0.85rem;
600 font-weight: 500;
601 margin-bottom: 0.25rem;
602 }
603 .shithub-profile-edit-upload input[type=file] {
604 font-size: 0.85rem;
605 }
606
607 @media (max-width: 720px) {
608 .shithub-settings-page {
609 grid-template-columns: 1fr;
610 }
611 .shithub-profile-edit {
612 grid-template-columns: 1fr;
613 }
614 }
615
616 /* ----- theme picker (S10) ----- */
617 .shithub-theme-grid {
618 border: none;
619 padding: 0;
620 margin: 0 0 1rem;
621 display: grid;
622 grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
623 gap: 0.75rem;
624 }
625 .shithub-theme-grid legend {
626 padding: 0;
627 margin: 0 0 0.5rem;
628 font-size: 0.85rem;
629 font-weight: 500;
630 }
631 .shithub-theme-card {
632 display: grid;
633 gap: 0.25rem;
634 padding: 0.85rem 1rem;
635 border: 1px solid var(--border-default);
636 border-radius: 8px;
637 background: var(--canvas-subtle);
638 cursor: pointer;
639 position: relative;
640 transition: border-color 120ms;
641 }
642 .shithub-theme-card:hover { border-color: var(--accent-emphasis); }
643 .shithub-theme-card.active {
644 border-color: var(--accent-emphasis);
645 box-shadow: 0 0 0 1px var(--accent-emphasis) inset;
646 }
647 .shithub-theme-card input[type=radio] {
648 position: absolute;
649 top: 0.6rem;
650 right: 0.6rem;
651 }
652 .shithub-theme-card-title {
653 font-weight: 600;
654 font-size: 0.95rem;
655 }
656 .shithub-theme-card-desc {
657 font-size: 0.8rem;
658 color: var(--fg-muted);
659 }
660
661 /* ----- emails (S10) ----- */
662 .shithub-email-list {
663 list-style: none;
664 padding: 0;
665 margin: 1rem 0 0;
666 display: grid;
667 gap: 0.5rem;
668 }
669 .shithub-email-row {
670 display: flex;
671 justify-content: space-between;
672 align-items: center;
673 gap: 1rem;
674 padding: 0.75rem 1rem;
675 border: 1px solid var(--border-default);
676 border-radius: 6px;
677 background: var(--canvas-subtle);
678 }
679 .shithub-email-meta { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
680 .shithub-email-addr { background: transparent; padding: 0; font-weight: 500; }
681 .shithub-email-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
682 .shithub-email-actions form { display: inline; }
683 .shithub-pill {
684 font-size: 0.7rem;
685 padding: 0.1rem 0.5rem;
686 border-radius: 999px;
687 border: 1px solid var(--border-default);
688 text-transform: uppercase;
689 letter-spacing: 0.04em;
690 font-weight: 600;
691 }
692 .shithub-pill-primary { background: rgba(56, 139, 253, 0.15); border-color: rgba(56, 139, 253, 0.4); }
693 .shithub-pill-verified { background: rgba(63, 185, 80, 0.15); border-color: rgba(63, 185, 80, 0.4); }
694 .shithub-pill-unverified { background: rgba(187, 128, 9, 0.15); border-color: rgba(187, 128, 9, 0.4); }
695
696 /* ----- notifications (S10) ----- */
697 .shithub-notif-form { display: grid; gap: 0.75rem; max-width: 36rem; }
698 .shithub-notif-row {
699 display: grid;
700 grid-template-columns: max-content 1fr;
701 gap: 0.75rem;
702 padding: 0.75rem 1rem;
703 border: 1px solid var(--border-default);
704 border-radius: 6px;
705 background: var(--canvas-subtle);
706 align-items: start;
707 }
708 .shithub-notif-row.required { background: rgba(56, 139, 253, 0.06); }
709 .shithub-notif-row strong { display: block; font-size: 0.95rem; }
710 .shithub-notif-row small { display: block; color: var(--fg-muted); font-size: 0.85rem; }
711
712 .shithub-session-meta {
713 display: grid;
714 grid-template-columns: max-content 1fr;
715 gap: 0.25rem 1rem;
716 margin: 0;
717 }
718 .shithub-session-meta dt { color: var(--fg-muted); font-weight: 500; }
719 .shithub-session-meta dd { margin: 0; word-break: break-all; }
720
721 /* ----- repo create + empty home (S11) ----- */
722 .shithub-repo-new {
723 max-width: 56rem;
724 margin: 2rem auto;
725 padding: 0 1rem;
726 }
727 .shithub-repo-new h1 {
728 margin: 0 0 0.5rem;
729 font-size: 1.5rem;
730 font-weight: 400;
731 }
732 .shithub-repo-new-lede {
733 margin: 0 0 1.5rem;
734 color: var(--fg-muted);
735 padding-bottom: 1rem;
736 border-bottom: 1px solid var(--border-default);
737 }
738 .shithub-repo-new-form {
739 display: grid;
740 gap: 1.25rem;
741 max-width: 36rem;
742 }
743 .shithub-repo-new-form label { display: grid; gap: 0.25rem; font-weight: 500; font-size: 0.9rem; }
744 .shithub-repo-new-form input[type=text],
745 .shithub-repo-new-form select {
746 font: inherit;
747 padding: 0.5rem 0.75rem;
748 border: 1px solid var(--border-default);
749 border-radius: 6px;
750 background: var(--canvas-subtle);
751 }
752 .shithub-repo-new-form em { color: #cf222e; font-style: normal; }
753 .shithub-repo-new-form small { font-weight: 400; color: var(--fg-muted); font-size: 0.8rem; }
754
755 .shithub-repo-new-visibility, .shithub-repo-new-init {
756 border: none;
757 padding: 0;
758 margin: 0;
759 display: grid;
760 gap: 0.5rem;
761 }
762 .shithub-repo-new-visibility legend, .shithub-repo-new-init legend {
763 padding: 0;
764 font-size: 0.85rem;
765 font-weight: 600;
766 margin-bottom: 0.5rem;
767 }
768 .shithub-repo-new-vis-card,
769 .shithub-repo-new-init-row {
770 display: grid;
771 grid-template-columns: max-content 1fr;
772 gap: 0.75rem;
773 padding: 0.75rem 1rem;
774 border: 1px solid var(--border-default);
775 border-radius: 6px;
776 background: var(--canvas-subtle);
777 }
778 .shithub-repo-new-vis-card.active { border-color: var(--accent-emphasis); }
779 .shithub-repo-new-vis-card strong,
780 .shithub-repo-new-init-row strong { display: block; font-size: 0.95rem; }
781 .shithub-repo-new-vis-card small,
782 .shithub-repo-new-init-row small { display: block; color: var(--fg-muted); font-size: 0.85rem; }
783
784 .shithub-repo-empty {
785 max-width: 56rem;
786 margin: 2rem auto;
787 padding: 0 1rem;
788 }
789 .shithub-repo-empty-head h1 {
790 margin: 0 0 0.5rem;
791 font-size: 1.4rem;
792 font-weight: 400;
793 display: flex;
794 align-items: center;
795 gap: 0.4rem;
796 }
797 .shithub-repo-empty-sep { color: var(--fg-muted); }
798 .shithub-repo-empty-desc {
799 margin: 0 0 1rem;
800 color: var(--fg-muted);
801 }
802 .shithub-pill-private { background: rgba(187, 128, 9, 0.15); border-color: rgba(187, 128, 9, 0.4); }
803 .shithub-repo-empty-quickstart {
804 margin-top: 1rem;
805 padding: 1.25rem;
806 border: 1px solid var(--border-default);
807 border-radius: 8px;
808 background: var(--canvas-subtle);
809 }
810 .shithub-repo-empty-quickstart h2 { margin: 0 0 0.5rem; font-size: 1rem; }
811 .shithub-repo-empty-quickstart h3 { margin: 1.25rem 0 0.5rem; font-size: 0.9rem; font-weight: 600; }
812 .shithub-repo-empty-clone { display: grid; gap: 0.5rem; margin: 0.75rem 0; }
813 .shithub-repo-empty-clone label { display: grid; grid-template-columns: 70px 1fr; gap: 0.5rem; align-items: center; }
814 .shithub-repo-empty-clone span { font-size: 0.8rem; color: var(--fg-muted); font-weight: 600; }
815 .shithub-repo-empty-clone input {
816 font: inherit;
817 font-family: monospace;
818 font-size: 0.85rem;
819 padding: 0.5rem 0.75rem;
820 border: 1px solid var(--border-default);
821 border-radius: 6px;
822 background: var(--canvas-default);
823 }
824 .shithub-repo-empty-quickstart pre {
825 padding: 0.75rem 1rem;
826 border: 1px solid var(--border-default);
827 border-radius: 6px;
828 background: var(--canvas-default);
829 font-size: 0.85rem;
830 overflow-x: auto;
831 }
832
833 /* Populated-repo placeholder (S17 will replace with real tree view) */
834 .shithub-repo-populated {
835 max-width: 56rem;
836 margin: 2rem auto;
837 padding: 0 1rem;
838 }
839 .shithub-repo-populated-head h1 {
840 margin: 0 0 0.5rem;
841 font-size: 1.4rem;
842 font-weight: 400;
843 display: flex;
844 align-items: center;
845 gap: 0.4rem;
846 }
847 .shithub-repo-populated-sep { color: var(--fg-muted); }
848 .shithub-repo-populated-desc { margin: 0 0 1rem; color: var(--fg-muted); }
849 .shithub-repo-headcommit {
850 margin-top: 1rem;
851 padding: 0.85rem 1rem;
852 border: 1px solid var(--border-default);
853 border-radius: 8px;
854 background: var(--canvas-subtle);
855 }
856 .shithub-repo-headcommit-meta {
857 display: flex;
858 flex-wrap: wrap;
859 gap: 0.75rem;
860 font-size: 0.85rem;
861 color: var(--fg-muted);
862 align-items: center;
863 }
864 .shithub-repo-headcommit-branch {
865 font-weight: 600;
866 color: var(--fg-default);
867 padding: 0.1rem 0.5rem;
868 border: 1px solid var(--border-default);
869 border-radius: 999px;
870 background: var(--canvas-default);
871 font-size: 0.75rem;
872 }
873 .shithub-repo-headcommit-oid { font-family: monospace; }
874 .shithub-repo-headcommit-author { color: var(--fg-default); }
875 .shithub-repo-headcommit-subject { margin: 0.5rem 0 0; font-size: 0.95rem; }
876 .shithub-repo-headcommit-other-branch p { margin: 0; font-size: 0.9rem; color: var(--fg-muted); }
877 .shithub-repo-populated-clone {
878 margin-top: 1rem;
879 display: grid;
880 gap: 0.5rem;
881 }
882 .shithub-repo-populated-clone label { display: grid; grid-template-columns: 70px 1fr; gap: 0.5rem; align-items: center; }
883 .shithub-repo-populated-clone span { font-size: 0.8rem; color: var(--fg-muted); font-weight: 600; }
884 .shithub-repo-populated-clone input {
885 font: inherit;
886 font-family: monospace;
887 font-size: 0.85rem;
888 padding: 0.5rem 0.75rem;
889 border: 1px solid var(--border-default);
890 border-radius: 6px;
891 background: var(--canvas-default);
892 }
893 .shithub-repo-populated-note { margin-top: 1rem; font-size: 0.8rem; color: var(--fg-muted); }