CSS · 95183 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 --accent-subtle: #fff8c5; /* GitHub's "you-are-here" line highlight */
25 --success-fg: #1a7f37;
26 --danger-fg: #cf222e;
27 --shithub-mark: var(--danger-fg);
28 }
29
30 [data-theme="dark"] {
31 --canvas-default: #0d1117;
32 --canvas-subtle: #161b22;
33 --canvas-inset: #010409;
34 --fg-default: #f0f6fc;
35 --fg-muted: #9198a1;
36 --border-default: #3d444d;
37 --border-muted: #232a33;
38 --accent-fg: #4493f8;
39 --accent-emphasis: #1f6feb;
40 --accent-subtle: rgba(187, 128, 9, 0.15); /* dark-mode :target wash */
41 --success-fg: #3fb950;
42 --danger-fg: #f85149;
43 }
44
45 [data-theme="high-contrast"] {
46 --canvas-default: #000000;
47 --canvas-subtle: #0a0c10;
48 --canvas-inset: #000000;
49 --fg-default: #ffffff;
50 --fg-muted: #d9dee3;
51 --border-default: #7a828e;
52 --border-muted: #525964;
53 --accent-fg: #71b7ff;
54 --accent-emphasis: #409eff;
55 --accent-subtle: rgba(255, 215, 0, 0.25);
56 --success-fg: #4ed162;
57 --danger-fg: #ff6a69;
58 }
59
60 * { box-sizing: border-box; }
61
62 html, body {
63 margin: 0;
64 padding: 0;
65 background: var(--canvas-default);
66 color: var(--fg-default);
67 font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;
68 font-size: 16px;
69 line-height: 1.5;
70 }
71
72 a {
73 color: var(--accent-fg);
74 text-decoration: none;
75 }
76 a:hover { text-decoration: underline; }
77
78 code {
79 font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
80 font-size: 0.875em;
81 background: var(--canvas-subtle);
82 padding: 0.1em 0.35em;
83 border-radius: 4px;
84 }
85
86 /* ========== Nav ========== */
87
88 .shithub-body {
89 min-height: 100vh;
90 display: flex;
91 flex-direction: column;
92 }
93
94 .shithub-nav {
95 display: flex;
96 align-items: center;
97 gap: 1.5rem;
98 padding: 0.75rem 1.25rem;
99 background: var(--canvas-subtle);
100 border-bottom: 1px solid var(--border-default);
101 }
102
103 .shithub-nav-brand {
104 display: flex;
105 align-items: center;
106 gap: 0.5rem;
107 color: var(--fg-default);
108 font-weight: 600;
109 letter-spacing: -0.01em;
110 }
111 .shithub-nav-brand:hover { text-decoration: none; }
112 .shithub-nav-brand svg { color: var(--shithub-mark); }
113
114 .shithub-nav-links {
115 display: flex;
116 gap: 1rem;
117 flex: 1;
118 }
119 .shithub-nav-links a {
120 color: var(--fg-default);
121 font-size: 0.9rem;
122 }
123
124 .shithub-nav-actions {
125 display: flex;
126 gap: 0.5rem;
127 align-items: center;
128 }
129
130 /* User-menu dropdown — uses native <details>/<summary> so it works without JS. */
131 .shithub-user-menu { position: relative; }
132 .shithub-user-menu > summary {
133 list-style: none;
134 display: inline-flex;
135 align-items: center;
136 justify-content: center;
137 padding: 0;
138 width: 34px;
139 height: 34px;
140 border: 1px solid var(--border-default);
141 border-radius: 6px;
142 background: transparent;
143 cursor: pointer;
144 color: var(--fg-default);
145 }
146 .shithub-user-menu > summary:hover { background: var(--canvas-subtle); }
147 .shithub-user-menu > summary::-webkit-details-marker { display: none; }
148 .shithub-user-menu-avatar {
149 width: 24px;
150 height: 24px;
151 border-radius: 50%;
152 display: block;
153 background: var(--canvas-default);
154 }
155 .shithub-user-menu-panel {
156 position: absolute;
157 right: 0;
158 top: calc(100% + 0.35rem);
159 width: 280px;
160 background: var(--canvas-default);
161 border: 1px solid var(--border-default);
162 border-radius: 12px;
163 padding: 0.5rem;
164 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
165 z-index: 50;
166 display: flex;
167 flex-direction: column;
168 }
169 .shithub-user-menu-account {
170 display: grid;
171 grid-template-columns: 40px 1fr;
172 gap: 0.75rem;
173 align-items: center;
174 min-width: 0;
175 padding: 0.4rem 0.45rem 0.65rem;
176 }
177 .shithub-user-menu-account-avatar {
178 width: 40px;
179 height: 40px;
180 border-radius: 50%;
181 background: var(--canvas-default);
182 }
183 .shithub-user-menu-account-copy {
184 display: grid;
185 min-width: 0;
186 line-height: 1.25;
187 }
188 .shithub-user-menu-account-copy strong,
189 .shithub-user-menu-account-copy span {
190 overflow: hidden;
191 text-overflow: ellipsis;
192 white-space: nowrap;
193 }
194 .shithub-user-menu-account-copy span {
195 color: var(--fg-muted);
196 font-size: 0.8rem;
197 }
198 .shithub-user-menu-divider {
199 height: 1px;
200 margin: 0.45rem 0;
201 background: var(--border-default);
202 }
203 .shithub-user-menu-item {
204 display: grid;
205 grid-template-columns: 16px minmax(0, 1fr) auto;
206 gap: 0.65rem;
207 align-items: center;
208 text-align: left;
209 width: 100%;
210 min-height: 32px;
211 padding: 0.35rem 0.45rem;
212 background: transparent;
213 border: 0;
214 border-radius: 6px;
215 color: var(--fg-default);
216 font-size: 0.875rem;
217 line-height: 1.2;
218 cursor: pointer;
219 text-decoration: none;
220 }
221 .shithub-user-menu-item svg {
222 color: var(--fg-muted);
223 width: 16px;
224 height: 16px;
225 }
226 .shithub-user-menu-item span {
227 min-width: 0;
228 overflow: hidden;
229 text-overflow: ellipsis;
230 white-space: nowrap;
231 }
232 .shithub-user-menu-item:hover {
233 background: var(--canvas-subtle);
234 text-decoration: none;
235 }
236 .shithub-user-menu-item:disabled {
237 color: var(--fg-muted);
238 cursor: default;
239 }
240 .shithub-user-menu-item:disabled:hover { background: transparent; }
241 .shithub-user-menu-badge {
242 border: 1px solid var(--border-default);
243 border-radius: 999px;
244 padding: 0.05rem 0.45rem;
245 color: var(--fg-default);
246 font-size: 0.75rem;
247 }
248 .shithub-user-menu-signout { margin: 0; padding: 0; }
249
250 .hello-greeting {
251 margin: 1rem auto 1.5rem;
252 padding: 0.85rem 1rem;
253 border: 1px solid var(--border-default);
254 border-radius: 6px;
255 background: var(--canvas-subtle);
256 max-width: 32rem;
257 text-align: left;
258 }
259 .hello-greeting p { margin: 0 0 0.5rem; }
260 .hello-quicklinks { display: flex; gap: 1rem; flex-wrap: wrap; font-size: 0.9rem; }
261
262 .shithub-button {
263 display: inline-flex;
264 align-items: center;
265 justify-content: center;
266 gap: 0.35rem;
267 padding: 0.4rem 0.85rem;
268 border-radius: 6px;
269 font-size: 0.875rem;
270 font-weight: 500;
271 border: 1px solid transparent;
272 cursor: pointer;
273 }
274 .shithub-button:disabled {
275 cursor: default;
276 opacity: 0.65;
277 }
278 .shithub-button-small {
279 padding: 0.25rem 0.7rem;
280 font-size: 0.75rem;
281 }
282 .shithub-button-ghost {
283 color: var(--fg-default);
284 border-color: var(--border-default);
285 background: transparent;
286 }
287 .shithub-button-primary {
288 color: #fff;
289 background: var(--accent-emphasis);
290 border-color: var(--accent-emphasis);
291 }
292 .shithub-button-primary:hover { text-decoration: none; opacity: 0.92; }
293
294 /* ========== Main + Footer ========== */
295
296 .shithub-main {
297 flex: 1;
298 width: 100%;
299 }
300
301 .shithub-footer {
302 border-top: 1px solid var(--border-default);
303 background: var(--canvas-subtle);
304 padding: 1.25rem;
305 font-size: 0.85rem;
306 color: var(--fg-muted);
307 }
308 .shithub-footer-inner {
309 max-width: 1200px;
310 margin: 0 auto;
311 display: flex;
312 justify-content: space-between;
313 align-items: center;
314 gap: 1rem;
315 }
316 .shithub-footer-brand {
317 display: flex;
318 align-items: center;
319 gap: 0.4rem;
320 color: var(--fg-default);
321 }
322 .shithub-footer-brand svg { color: var(--shithub-mark); }
323 .shithub-footer-meta { color: var(--fg-muted); margin-left: 0.5rem; font-size: 0.8rem; }
324 .shithub-footer-links { display: flex; gap: 1rem; }
325
326 /* ========== Hello page ========== */
327
328 .hello {
329 max-width: 640px;
330 margin: 4rem auto;
331 padding: 2rem 1.5rem;
332 text-align: center;
333 }
334 .hello-logo {
335 margin: 0 auto 1.5rem;
336 width: 160px;
337 height: 160px;
338 color: var(--shithub-mark);
339 }
340 .hello-logo svg { width: 100%; height: 100%; }
341 .hello-title {
342 font-size: 2.75rem;
343 margin: 0 0 0.5rem;
344 letter-spacing: -0.02em;
345 }
346 .hello-tagline {
347 color: var(--fg-muted);
348 font-size: 1.15rem;
349 margin: 0 0 2rem;
350 }
351 .hello-meta {
352 display: grid;
353 grid-template-columns: max-content 1fr;
354 gap: 0.25rem 1rem;
355 max-width: 24rem;
356 margin: 0 auto 2rem;
357 padding: 1rem 1.5rem;
358 background: var(--canvas-subtle);
359 border: 1px solid var(--border-default);
360 border-radius: 6px;
361 text-align: left;
362 font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
363 font-size: 0.875rem;
364 }
365 .hello-meta dt { color: var(--fg-muted); }
366 .hello-meta dd { margin: 0; }
367 .hello-status {
368 color: var(--fg-muted);
369 margin: 0 auto 2rem;
370 max-width: 36rem;
371 }
372 .hello-links {
373 display: flex;
374 justify-content: center;
375 gap: 1rem;
376 font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
377 font-size: 0.875rem;
378 }
379
380 /* ========== Landing (anonymous home) ========== */
381
382 .shithub-landing-pitch {
383 max-width: 36rem;
384 margin: 0 auto 2rem;
385 font-size: 1.05rem;
386 line-height: 1.55;
387 }
388
389 .shithub-landing-features {
390 list-style: none;
391 margin: 0 auto 2rem;
392 padding: 0;
393 max-width: 60rem;
394 display: grid;
395 grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
396 gap: 1rem;
397 text-align: left;
398 }
399 .shithub-landing-features li {
400 border: 1px solid var(--border-default);
401 border-radius: 6px;
402 padding: 0.85rem 1rem;
403 background: var(--canvas-subtle);
404 }
405 .shithub-landing-features li strong {
406 display: block;
407 margin-bottom: 0.25rem;
408 font-size: 0.95rem;
409 }
410 .shithub-landing-features li span {
411 color: var(--fg-muted);
412 font-size: 0.875rem;
413 line-height: 1.4;
414 }
415
416 .shithub-landing-cta {
417 display: flex;
418 justify-content: center;
419 flex-wrap: wrap;
420 gap: 0.75rem;
421 margin: 0 auto 1.5rem;
422 }
423 .shithub-landing-cta a {
424 display: inline-block;
425 padding: 0.5rem 1rem;
426 border-radius: 6px;
427 text-decoration: none;
428 font-weight: 500;
429 font-size: 0.95rem;
430 }
431 .shithub-landing-cta-primary {
432 background: var(--accent-fg, #1f6feb);
433 color: #ffffff;
434 border: 1px solid transparent;
435 }
436 .shithub-landing-cta-primary:hover { filter: brightness(1.1); }
437 .shithub-landing-cta-secondary {
438 background: transparent;
439 color: var(--fg-default);
440 border: 1px solid var(--border-default);
441 }
442 .shithub-landing-cta-secondary:hover { background: var(--canvas-subtle); }
443
444 .shithub-landing-honest {
445 max-width: 36rem;
446 margin: 0 auto 2rem;
447 color: var(--fg-muted);
448 font-size: 0.9rem;
449 line-height: 1.5;
450 }
451
452 /* ========== Error pages ========== */
453
454 .error-page {
455 max-width: 540px;
456 margin: 6rem auto;
457 padding: 2rem 1.5rem;
458 text-align: center;
459 }
460 .error-glyph {
461 display: inline-flex;
462 width: 64px; height: 64px;
463 align-items: center; justify-content: center;
464 border-radius: 50%;
465 background: var(--canvas-subtle);
466 color: var(--danger-fg);
467 margin-bottom: 1.5rem;
468 }
469 .error-glyph svg { width: 32px; height: 32px; }
470 .error-status {
471 margin: 0;
472 font-size: 4rem;
473 letter-spacing: -0.04em;
474 color: var(--fg-default);
475 }
476 .error-title {
477 margin: 0 0 0.75rem;
478 font-size: 1.4rem;
479 font-weight: 500;
480 }
481 .error-detail {
482 color: var(--fg-muted);
483 margin: 0 0 2rem;
484 max-width: 36rem;
485 margin-left: auto;
486 margin-right: auto;
487 }
488 .error-hint a {
489 display: inline-block;
490 padding: 0.5rem 1rem;
491 border: 1px solid var(--border-default);
492 border-radius: 6px;
493 color: var(--fg-default);
494 }
495 .error-hint a:hover { text-decoration: none; background: var(--canvas-subtle); }
496 .error-request-id {
497 margin-top: 2rem;
498 color: var(--fg-muted);
499 font-size: 0.8rem;
500 }
501
502 /* ----- auth (S05) ----- */
503 .shithub-auth {
504 max-width: 28rem;
505 margin: 3rem auto;
506 padding: 2rem;
507 background: var(--canvas-default);
508 border: 1px solid var(--border-default);
509 border-radius: 8px;
510 }
511 .shithub-auth h1 {
512 margin: 0 0 1.5rem;
513 font-size: 1.5rem;
514 }
515 .shithub-auth form { display: grid; gap: 1rem; }
516 .shithub-auth label { display: grid; gap: 0.25rem; font-weight: 500; }
517 .shithub-auth input[type=text],
518 .shithub-auth input[type=email],
519 .shithub-auth input[type=password] {
520 font: inherit;
521 padding: 0.5rem 0.75rem;
522 border: 1px solid var(--border-default);
523 border-radius: 6px;
524 background: var(--canvas-subtle);
525 }
526 .shithub-auth-aside {
527 margin: 1.5rem 0 0;
528 text-align: center;
529 color: var(--fg-muted);
530 font-size: 0.9rem;
531 }
532 .shithub-flash {
533 margin: 0 0 1rem;
534 padding: 0.75rem 1rem;
535 border-radius: 6px;
536 border: 1px solid var(--border-default);
537 }
538 .shithub-flash-error { background: rgba(248, 81, 73, 0.1); border-color: rgba(248, 81, 73, 0.3); }
539 .shithub-flash-notice { background: rgba(56, 139, 253, 0.1); border-color: rgba(56, 139, 253, 0.3); }
540
541 /* ----- 2FA (S06) ----- */
542 .shithub-auth-wide { max-width: 32rem; }
543 .shithub-2fa-steps { margin: 0 0 1.5rem; padding-left: 1.25rem; }
544 .shithub-2fa-steps li { margin: 0.25rem 0; }
545 .shithub-2fa-qr {
546 display: flex;
547 justify-content: center;
548 margin: 1rem 0;
549 padding: 1rem;
550 background: #ffffff;
551 border-radius: 6px;
552 border: 1px solid var(--border-default);
553 }
554 .shithub-2fa-secret {
555 text-align: center;
556 font-family: monospace;
557 margin: 0 0 1.5rem;
558 color: var(--fg-muted);
559 }
560 .shithub-recovery-codes {
561 list-style: none;
562 margin: 1rem 0;
563 padding: 1rem;
564 display: grid;
565 grid-template-columns: repeat(2, 1fr);
566 gap: 0.5rem;
567 background: var(--canvas-subtle);
568 border-radius: 6px;
569 font-family: monospace;
570 font-size: 1.05em;
571 }
572 .shithub-recovery-codes li code { background: transparent; padding: 0; }
573 .shithub-button-danger { background: rgba(248, 81, 73, 0.15); border-color: rgba(248, 81, 73, 0.4); }
574
575 /* ----- SSH keys (S07) ----- */
576 .shithub-key-list { list-style: none; padding: 0; margin: 1rem 0 2rem; }
577 .shithub-key-row {
578 display: flex;
579 justify-content: space-between;
580 align-items: flex-start;
581 gap: 1rem;
582 padding: 0.75rem;
583 border: 1px solid var(--border-default);
584 border-radius: 6px;
585 margin-bottom: 0.5rem;
586 }
587 .shithub-key-meta { margin-left: 0.75rem; color: var(--fg-muted); font-size: 0.85rem; }
588 .shithub-key-fp { display: block; margin-top: 0.25rem; font-size: 0.85rem; word-break: break-all; }
589 .shithub-key-last { display: block; margin-top: 0.25rem; color: var(--fg-muted); font-size: 0.8rem; }
590 .shithub-key-empty { color: var(--fg-muted); margin: 1rem 0 2rem; }
591
592 /* ----- profile (S09) ----- */
593 .shithub-profile { max-width: 56rem; margin: 2rem auto; padding: 0 1rem; }
594 .shithub-profile-header { display: flex; gap: 1.5rem; align-items: flex-start; }
595 .shithub-profile-avatar { width: 200px; height: 200px; border-radius: 50%; background: var(--canvas-subtle); border: 1px solid var(--border-default); }
596 .shithub-profile-id h1 { margin: 0 0 0.25rem; font-size: 1.5rem; }
597 .shithub-profile-handle { margin: 0; color: var(--fg-muted); }
598 .shithub-profile-pronouns { margin: 0.25rem 0 0; color: var(--fg-muted); font-size: 0.9rem; }
599 .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; }
600 .shithub-profile-id .shithub-button { margin-top: 0.75rem; display: inline-block; }
601 .shithub-profile-bio { margin: 1.5rem 0; font-size: 1.05rem; }
602 .shithub-profile-meta { display: grid; grid-template-columns: max-content 1fr; gap: 0.25rem 1rem; margin: 1rem 0; }
603 .shithub-profile-meta dt { color: var(--fg-muted); font-weight: 500; }
604 .shithub-profile-meta dd { margin: 0; }
605 .shithub-profile-pinned, .shithub-profile-contributions, .shithub-profile-readme { margin: 2rem 0; }
606 .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); }
607 .shithub-empty { color: var(--fg-muted); font-style: italic; padding: 1rem; background: var(--canvas-subtle); border-radius: 6px; }
608 .shithub-profile-unavailable h1 { color: var(--fg-muted); }
609
610 /* ----- settings shell (S10) ----- */
611 .shithub-settings-page {
612 max-width: 64rem;
613 margin: 2rem auto;
614 padding: 0 1rem;
615 display: grid;
616 grid-template-columns: 220px 1fr;
617 gap: 2rem;
618 align-items: start;
619 }
620 .shithub-settings-side { font-size: 0.9rem; }
621 .shithub-settings-side-title {
622 margin: 0 0 0.75rem;
623 font-size: 1.5rem;
624 font-weight: 400;
625 padding-bottom: 0.5rem;
626 border-bottom: 1px solid var(--border-default);
627 }
628 .shithub-settings-side nav ul {
629 list-style: none;
630 padding: 0;
631 margin: 0 0 1rem;
632 }
633 .shithub-settings-side nav li {
634 border-radius: 6px;
635 }
636 .shithub-settings-side nav li.active {
637 background: var(--canvas-subtle);
638 border-left: 2px solid var(--accent-emphasis);
639 }
640 .shithub-settings-side nav li a {
641 display: block;
642 padding: 0.4rem 0.75rem;
643 color: var(--fg-default);
644 text-decoration: none;
645 border-radius: 6px;
646 }
647 .shithub-settings-side nav li a:hover { background: var(--canvas-subtle); }
648 .shithub-settings-side nav li.active a { font-weight: 500; }
649 .shithub-settings-side-group {
650 margin: 1.25rem 0 0.5rem;
651 padding-top: 0.75rem;
652 border-top: 1px solid var(--border-default);
653 font-size: 0.75rem;
654 font-weight: 600;
655 text-transform: uppercase;
656 letter-spacing: 0.05em;
657 color: var(--fg-muted);
658 }
659 .shithub-settings-danger { color: #cf222e; }
660
661 .shithub-settings-content { min-width: 0; }
662 .shithub-settings-content > h1 {
663 margin: 0 0 1.5rem;
664 padding-bottom: 0.75rem;
665 border-bottom: 1px solid var(--border-default);
666 font-size: 1.5rem;
667 font-weight: 400;
668 }
669 .shithub-settings-section {
670 margin: 0 0 2rem;
671 padding-bottom: 1.5rem;
672 border-bottom: 1px solid var(--border-muted, var(--border-default));
673 }
674 .shithub-settings-section:last-child { border-bottom: none; }
675 .shithub-settings-section h2 {
676 margin: 0 0 0.5rem;
677 font-size: 1rem;
678 font-weight: 600;
679 }
680 .shithub-settings-section p { margin: 0 0 1rem; color: var(--fg-muted); }
681 .shithub-settings-section form { display: grid; gap: 0.85rem; max-width: 32rem; }
682 .shithub-settings-section label { display: grid; gap: 0.25rem; font-weight: 500; font-size: 0.9rem; }
683 .shithub-settings-section input[type=text],
684 .shithub-settings-section input[type=email],
685 .shithub-settings-section input[type=password],
686 .shithub-settings-section input[type=url],
687 .shithub-settings-section textarea,
688 .shithub-settings-section select {
689 font: inherit;
690 padding: 0.5rem 0.75rem;
691 border: 1px solid var(--border-default);
692 border-radius: 6px;
693 background: var(--canvas-subtle);
694 }
695 .shithub-settings-section textarea { min-height: 4rem; resize: vertical; }
696 .shithub-settings-section .shithub-button { justify-self: start; }
697
698 .shithub-settings-danger-zone {
699 border: 1px solid rgba(207, 34, 46, 0.4);
700 border-radius: 6px;
701 padding: 1rem 1.25rem;
702 background: rgba(207, 34, 46, 0.04);
703 }
704 .shithub-settings-danger-zone h2 { color: #cf222e; }
705
706 .shithub-settings-section label small {
707 font-weight: 400;
708 color: var(--fg-muted);
709 font-size: 0.8rem;
710 }
711
712 .shithub-settings-orgs-page {
713 max-width: 78rem;
714 grid-template-columns: 220px minmax(0, 720px);
715 }
716 .shithub-settings-account-header {
717 display: grid;
718 grid-template-columns: 48px minmax(0, 1fr) auto;
719 gap: 0.75rem;
720 align-items: center;
721 margin-bottom: 1.5rem;
722 }
723 .shithub-settings-account-avatar {
724 width: 48px;
725 height: 48px;
726 border-radius: 50%;
727 background: var(--canvas-subtle);
728 }
729 .shithub-settings-account-header h1 {
730 margin: 0;
731 font-size: 1.25rem;
732 line-height: 1.25;
733 }
734 .shithub-settings-account-header p {
735 margin: 0.15rem 0 0;
736 color: var(--fg-muted);
737 font-size: 0.875rem;
738 }
739 .shithub-settings-account-actions {
740 display: flex;
741 gap: 0.5rem;
742 flex-wrap: wrap;
743 justify-content: flex-end;
744 }
745 .shithub-settings-orgs-head {
746 display: flex;
747 gap: 1rem;
748 align-items: center;
749 justify-content: space-between;
750 margin-bottom: 0.75rem;
751 }
752 .shithub-settings-orgs-head h2,
753 .shithub-settings-orgs-move h2 {
754 margin: 0;
755 font-size: 1rem;
756 font-weight: 500;
757 }
758 .shithub-settings-org-list {
759 list-style: none;
760 margin: 0;
761 padding: 0;
762 border: 1px solid var(--border-default);
763 border-radius: 6px;
764 overflow: hidden;
765 }
766 .shithub-settings-org-row {
767 display: grid;
768 grid-template-columns: minmax(0, 1fr) auto auto;
769 gap: 0.75rem;
770 align-items: center;
771 min-height: 54px;
772 padding: 0.75rem 1rem;
773 border-top: 1px solid var(--border-default);
774 }
775 .shithub-settings-org-row:first-child { border-top: 0; }
776 .shithub-settings-org-identity {
777 display: inline-flex;
778 gap: 0.5rem;
779 align-items: center;
780 min-width: 0;
781 font-weight: 600;
782 }
783 .shithub-settings-org-identity img {
784 width: 24px;
785 height: 24px;
786 border-radius: 4px;
787 background: var(--canvas-subtle);
788 }
789 .shithub-settings-org-identity span {
790 overflow: hidden;
791 text-overflow: ellipsis;
792 white-space: nowrap;
793 }
794 .shithub-settings-org-role {
795 color: var(--fg-muted);
796 border: 1px solid var(--border-default);
797 border-radius: 999px;
798 padding: 0.1rem 0.45rem;
799 font-size: 0.75rem;
800 font-weight: 500;
801 }
802 .shithub-settings-org-actions {
803 display: flex;
804 gap: 0.35rem;
805 justify-content: flex-end;
806 flex-wrap: wrap;
807 }
808 .shithub-settings-org-empty {
809 border: 1px solid var(--border-default);
810 border-radius: 6px;
811 padding: 1rem;
812 color: var(--fg-muted);
813 }
814 .shithub-settings-org-empty p { margin: 0 0 0.75rem; }
815 .shithub-settings-orgs-move {
816 margin-top: 2rem;
817 padding-top: 1.5rem;
818 border-top: 1px solid var(--border-default);
819 }
820 .shithub-settings-orgs-move p {
821 max-width: 44rem;
822 color: var(--fg-muted);
823 font-size: 0.875rem;
824 }
825
826 .shithub-profile-edit {
827 display: grid;
828 grid-template-columns: minmax(0, 1fr) 220px;
829 gap: 2rem;
830 align-items: start;
831 }
832 .shithub-profile-edit-form { margin: 0; padding: 0; border: none; }
833 .shithub-profile-edit-aside h2 { margin: 0 0 0.75rem; font-size: 0.9rem; font-weight: 600; }
834 .shithub-profile-edit-avatar {
835 width: 200px;
836 height: 200px;
837 border-radius: 50%;
838 border: 1px solid var(--border-default);
839 background: var(--canvas-subtle);
840 display: block;
841 }
842 .shithub-empty-note {
843 margin: 0.5rem 0 0;
844 font-size: 0.8rem;
845 color: var(--fg-muted);
846 }
847 .shithub-profile-edit-aside form {
848 margin: 0.75rem 0 0;
849 display: grid;
850 gap: 0.5rem;
851 }
852 .shithub-profile-edit-upload span {
853 display: block;
854 font-size: 0.85rem;
855 font-weight: 500;
856 margin-bottom: 0.25rem;
857 }
858 .shithub-profile-edit-upload input[type=file] {
859 font-size: 0.85rem;
860 }
861
862 @media (max-width: 720px) {
863 .shithub-settings-page {
864 grid-template-columns: 1fr;
865 }
866 .shithub-settings-account-header,
867 .shithub-settings-org-row {
868 grid-template-columns: 1fr;
869 }
870 .shithub-settings-account-actions,
871 .shithub-settings-org-actions {
872 justify-content: flex-start;
873 }
874 .shithub-profile-edit {
875 grid-template-columns: 1fr;
876 }
877 }
878
879 /* ----- theme picker (S10) ----- */
880 .shithub-theme-grid {
881 border: none;
882 padding: 0;
883 margin: 0 0 1rem;
884 display: grid;
885 grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
886 gap: 0.75rem;
887 }
888 .shithub-theme-grid legend {
889 padding: 0;
890 margin: 0 0 0.5rem;
891 font-size: 0.85rem;
892 font-weight: 500;
893 }
894 .shithub-theme-card {
895 display: grid;
896 gap: 0.25rem;
897 padding: 0.85rem 1rem;
898 border: 1px solid var(--border-default);
899 border-radius: 8px;
900 background: var(--canvas-subtle);
901 cursor: pointer;
902 position: relative;
903 transition: border-color 120ms;
904 }
905 .shithub-theme-card:hover { border-color: var(--accent-emphasis); }
906 .shithub-theme-card.active {
907 border-color: var(--accent-emphasis);
908 box-shadow: 0 0 0 1px var(--accent-emphasis) inset;
909 }
910 .shithub-theme-card input[type=radio] {
911 position: absolute;
912 top: 0.6rem;
913 right: 0.6rem;
914 }
915 .shithub-theme-card-title {
916 font-weight: 600;
917 font-size: 0.95rem;
918 }
919 .shithub-theme-card-desc {
920 font-size: 0.8rem;
921 color: var(--fg-muted);
922 }
923
924 /* ----- emails (S10) ----- */
925 .shithub-email-list {
926 list-style: none;
927 padding: 0;
928 margin: 1rem 0 0;
929 display: grid;
930 gap: 0.5rem;
931 }
932 .shithub-email-row {
933 display: flex;
934 justify-content: space-between;
935 align-items: center;
936 gap: 1rem;
937 padding: 0.75rem 1rem;
938 border: 1px solid var(--border-default);
939 border-radius: 6px;
940 background: var(--canvas-subtle);
941 }
942 .shithub-email-meta { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
943 .shithub-email-addr { background: transparent; padding: 0; font-weight: 500; }
944 .shithub-email-actions { display: flex; gap: 0.5rem; flex-wrap: wrap; }
945 .shithub-email-actions form { display: inline; }
946 .shithub-pill {
947 font-size: 0.7rem;
948 padding: 0.1rem 0.5rem;
949 border-radius: 999px;
950 border: 1px solid var(--border-default);
951 text-transform: uppercase;
952 letter-spacing: 0.04em;
953 font-weight: 600;
954 }
955 .shithub-pill-primary { background: rgba(56, 139, 253, 0.15); border-color: rgba(56, 139, 253, 0.4); }
956 .shithub-pill-verified { background: rgba(63, 185, 80, 0.15); border-color: rgba(63, 185, 80, 0.4); }
957 .shithub-pill-unverified { background: rgba(187, 128, 9, 0.15); border-color: rgba(187, 128, 9, 0.4); }
958
959 /* ----- notifications (S10) ----- */
960 .shithub-notif-form { display: grid; gap: 0.75rem; max-width: 36rem; }
961 .shithub-notif-row {
962 display: grid;
963 grid-template-columns: max-content 1fr;
964 gap: 0.75rem;
965 padding: 0.75rem 1rem;
966 border: 1px solid var(--border-default);
967 border-radius: 6px;
968 background: var(--canvas-subtle);
969 align-items: start;
970 }
971 .shithub-notif-row.required { background: rgba(56, 139, 253, 0.06); }
972 .shithub-notif-row strong { display: block; font-size: 0.95rem; }
973 .shithub-notif-row small { display: block; color: var(--fg-muted); font-size: 0.85rem; }
974
975 .shithub-session-meta {
976 display: grid;
977 grid-template-columns: max-content 1fr;
978 gap: 0.25rem 1rem;
979 margin: 0;
980 }
981 .shithub-session-meta dt { color: var(--fg-muted); font-weight: 500; }
982 .shithub-session-meta dd { margin: 0; word-break: break-all; }
983
984 /* ----- repo create + empty home (S11) ----- */
985 .shithub-repo-new {
986 max-width: 56rem;
987 margin: 2rem auto;
988 padding: 0 1rem;
989 }
990 .shithub-repo-new h1 {
991 margin: 0 0 0.5rem;
992 font-size: 1.5rem;
993 font-weight: 400;
994 }
995 .shithub-repo-new-lede {
996 margin: 0 0 1.5rem;
997 color: var(--fg-muted);
998 padding-bottom: 1rem;
999 border-bottom: 1px solid var(--border-default);
1000 }
1001 .shithub-repo-new-form {
1002 display: grid;
1003 gap: 1.25rem;
1004 max-width: 36rem;
1005 }
1006 .shithub-repo-new-form label { display: grid; gap: 0.25rem; font-weight: 500; font-size: 0.9rem; }
1007 .shithub-repo-new-form input[type=text],
1008 .shithub-repo-new-form select {
1009 font: inherit;
1010 padding: 0.5rem 0.75rem;
1011 border: 1px solid var(--border-default);
1012 border-radius: 6px;
1013 background: var(--canvas-subtle);
1014 }
1015 .shithub-repo-new-form em { color: #cf222e; font-style: normal; }
1016 .shithub-repo-new-form small { font-weight: 400; color: var(--fg-muted); font-size: 0.8rem; }
1017
1018 .shithub-repo-new-visibility, .shithub-repo-new-init {
1019 border: none;
1020 padding: 0;
1021 margin: 0;
1022 display: grid;
1023 gap: 0.5rem;
1024 }
1025 .shithub-repo-new-visibility legend, .shithub-repo-new-init legend {
1026 padding: 0;
1027 font-size: 0.85rem;
1028 font-weight: 600;
1029 margin-bottom: 0.5rem;
1030 }
1031 .shithub-repo-new-vis-card,
1032 .shithub-repo-new-init-row {
1033 display: grid;
1034 grid-template-columns: max-content 1fr;
1035 gap: 0.75rem;
1036 padding: 0.75rem 1rem;
1037 border: 1px solid var(--border-default);
1038 border-radius: 6px;
1039 background: var(--canvas-subtle);
1040 }
1041 .shithub-repo-new-vis-card.active { border-color: var(--accent-emphasis); }
1042 .shithub-repo-new-vis-card strong,
1043 .shithub-repo-new-init-row strong { display: block; font-size: 0.95rem; }
1044 .shithub-repo-new-vis-card small,
1045 .shithub-repo-new-init-row small { display: block; color: var(--fg-muted); font-size: 0.85rem; }
1046
1047 .shithub-repo-empty {
1048 max-width: 56rem;
1049 margin: 0;
1050 padding: 0;
1051 }
1052 .shithub-repo-empty-desc {
1053 margin: 0 0 1rem;
1054 color: var(--fg-muted);
1055 }
1056 .shithub-pill-private { background: rgba(187, 128, 9, 0.15); border-color: rgba(187, 128, 9, 0.4); }
1057 .shithub-repo-empty-quickstart {
1058 margin-top: 1rem;
1059 padding: 1.25rem;
1060 border: 1px solid var(--border-default);
1061 border-radius: 8px;
1062 background: var(--canvas-subtle);
1063 }
1064 .shithub-repo-empty-quickstart h2 { margin: 0 0 0.5rem; font-size: 1rem; }
1065 .shithub-repo-empty-quickstart h3 { margin: 1.25rem 0 0.5rem; font-size: 0.9rem; font-weight: 600; }
1066 .shithub-repo-empty-clone { display: grid; gap: 0.5rem; margin: 0.75rem 0; }
1067 .shithub-repo-empty-clone label { display: grid; grid-template-columns: 70px 1fr; gap: 0.5rem; align-items: center; }
1068 .shithub-repo-empty-clone span { font-size: 0.8rem; color: var(--fg-muted); font-weight: 600; }
1069 .shithub-repo-empty-clone input {
1070 font: inherit;
1071 font-family: monospace;
1072 font-size: 0.85rem;
1073 padding: 0.5rem 0.75rem;
1074 border: 1px solid var(--border-default);
1075 border-radius: 6px;
1076 background: var(--canvas-default);
1077 }
1078 .shithub-repo-empty-quickstart pre {
1079 padding: 0.75rem 1rem;
1080 border: 1px solid var(--border-default);
1081 border-radius: 6px;
1082 background: var(--canvas-default);
1083 font-size: 0.85rem;
1084 overflow-x: auto;
1085 }
1086
1087 /* Populated-repo placeholder (S17 will replace with real tree view) */
1088 .shithub-repo-populated {
1089 max-width: 56rem;
1090 margin: 2rem auto;
1091 padding: 0 1rem;
1092 }
1093 .shithub-repo-populated-head h1 {
1094 margin: 0 0 0.5rem;
1095 font-size: 1.4rem;
1096 font-weight: 400;
1097 display: flex;
1098 align-items: center;
1099 gap: 0.4rem;
1100 }
1101 .shithub-repo-populated-sep { color: var(--fg-muted); }
1102 .shithub-repo-populated-desc { margin: 0 0 1rem; color: var(--fg-muted); }
1103 .shithub-repo-headcommit {
1104 margin-top: 1rem;
1105 padding: 0.85rem 1rem;
1106 border: 1px solid var(--border-default);
1107 border-radius: 8px;
1108 background: var(--canvas-subtle);
1109 }
1110 .shithub-repo-headcommit-meta {
1111 display: flex;
1112 flex-wrap: wrap;
1113 gap: 0.75rem;
1114 font-size: 0.85rem;
1115 color: var(--fg-muted);
1116 align-items: center;
1117 }
1118 .shithub-repo-headcommit-branch {
1119 font-weight: 600;
1120 color: var(--fg-default);
1121 padding: 0.1rem 0.5rem;
1122 border: 1px solid var(--border-default);
1123 border-radius: 999px;
1124 background: var(--canvas-default);
1125 font-size: 0.75rem;
1126 }
1127 .shithub-repo-headcommit-oid { font-family: monospace; }
1128 .shithub-repo-headcommit-author { color: var(--fg-default); }
1129 .shithub-repo-headcommit-subject { margin: 0.5rem 0 0; font-size: 0.95rem; }
1130 .shithub-repo-headcommit-other-branch p { margin: 0; font-size: 0.9rem; color: var(--fg-muted); }
1131 .shithub-repo-populated-clone {
1132 margin-top: 1rem;
1133 display: grid;
1134 gap: 0.5rem;
1135 }
1136 .shithub-repo-populated-clone label { display: grid; grid-template-columns: 70px 1fr; gap: 0.5rem; align-items: center; }
1137 .shithub-repo-populated-clone span { font-size: 0.8rem; color: var(--fg-muted); font-weight: 600; }
1138 .shithub-repo-populated-clone input {
1139 font: inherit;
1140 font-family: monospace;
1141 font-size: 0.85rem;
1142 padding: 0.5rem 0.75rem;
1143 border: 1px solid var(--border-default);
1144 border-radius: 6px;
1145 background: var(--canvas-default);
1146 }
1147 .shithub-repo-populated-note { margin-top: 1rem; font-size: 0.8rem; color: var(--fg-muted); }
1148
1149 /* ========== Code tab (S17) ========== */
1150 /* The repo-page wrapper drives the outer width — every code/blob/list
1151 view now gets the same wide container with consistent gutters,
1152 matching GitHub's full-width code layout. The inner sections used
1153 to set their own max-widths and pinched the layout into a narrow
1154 column. */
1155 .shithub-repo-page {
1156 max-width: 1280px;
1157 margin: 1rem auto 2rem;
1158 padding: 0 1.25rem;
1159 }
1160 .shithub-code, .shithub-blob, .shithub-finder {
1161 margin: 0;
1162 padding: 0;
1163 }
1164 /* Code body (tree + blob source) sits in a bordered panel so it
1165 reads as a distinct surface — matches the panelled "Code" view in
1166 the GitHub reference screenshots. */
1167 .shithub-blob-source {
1168 border: 1px solid var(--border-default);
1169 border-radius: 6px;
1170 background: var(--canvas-subtle);
1171 overflow-x: auto;
1172 }
1173 .shithub-blob-source { background: var(--canvas-default); }
1174 .shithub-code-head {
1175 display: flex;
1176 align-items: center;
1177 justify-content: space-between;
1178 gap: 0.75rem;
1179 margin-bottom: 0.75rem;
1180 flex-wrap: wrap;
1181 }
1182 .shithub-code-crumbs { font-size: 1rem; }
1183 .shithub-code-crumbs a { color: var(--fg-default); }
1184 .shithub-code-sep { color: var(--fg-muted); margin: 0 0.25rem; }
1185 .shithub-code-actions {
1186 display: flex;
1187 gap: 0.5rem;
1188 align-items: center;
1189 min-width: min(100%, 420px);
1190 justify-content: flex-end;
1191 flex: 1 1 360px;
1192 }
1193 .shithub-code-primary-actions { display: flex; align-items: center; gap: 0.75rem; flex-wrap: wrap; }
1194 .shithub-code-count { color: var(--fg-muted); display: inline-flex; align-items: center; gap: 0.35rem; font-size: 0.9rem; }
1195 .shithub-go-to-file {
1196 display: inline-grid;
1197 grid-template-columns: 16px minmax(0, 1fr) auto;
1198 align-items: center;
1199 gap: 0.45rem;
1200 min-width: min(100%, 220px);
1201 height: 32px;
1202 padding: 0 0.55rem;
1203 border: 1px solid var(--border-default);
1204 border-radius: 6px;
1205 background: var(--canvas-default);
1206 color: var(--fg-muted);
1207 font-size: 0.875rem;
1208 }
1209 .shithub-go-to-file:hover {
1210 border-color: var(--accent-fg);
1211 text-decoration: none;
1212 }
1213 .shithub-go-to-file span {
1214 overflow: hidden;
1215 text-overflow: ellipsis;
1216 white-space: nowrap;
1217 }
1218 .shithub-go-to-file kbd {
1219 min-width: 1.25rem;
1220 padding: 0 0.3rem;
1221 border: 1px solid var(--border-default);
1222 border-radius: 4px;
1223 color: var(--fg-muted);
1224 background: var(--canvas-subtle);
1225 font: 0.75rem ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;
1226 text-align: center;
1227 }
1228
1229 .shithub-ref-switcher { position: relative; }
1230 .shithub-ref-switcher > summary {
1231 list-style: none;
1232 display: inline-flex;
1233 align-items: center;
1234 gap: 0.35rem;
1235 padding: 0.3rem 0.7rem;
1236 border: 1px solid var(--border-default);
1237 border-radius: 6px;
1238 cursor: pointer;
1239 font-size: 0.875rem;
1240 }
1241 .shithub-ref-switcher > summary::-webkit-details-marker { display: none; }
1242 .shithub-ref-panel {
1243 position: absolute;
1244 z-index: 30;
1245 top: calc(100% + 0.4rem);
1246 left: 0;
1247 min-width: 220px;
1248 max-height: 360px;
1249 overflow-y: auto;
1250 background: var(--canvas-default);
1251 border: 1px solid var(--border-default);
1252 border-radius: 6px;
1253 padding: 0.5rem;
1254 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
1255 }
1256 .shithub-ref-panel a {
1257 display: block;
1258 padding: 0.3rem 0.4rem;
1259 color: var(--fg-default);
1260 font-size: 0.875rem;
1261 }
1262 .shithub-ref-panel strong { display: block; margin: 0.4rem 0 0.2rem; font-size: 0.75rem; color: var(--fg-muted); text-transform: uppercase; }
1263
1264 .shithub-clone-dropdown { position: relative; }
1265 .shithub-clone-dropdown > summary { list-style: none; display: inline-flex; align-items: center; gap: 0.35rem; cursor: pointer; height: 32px; white-space: nowrap; }
1266 .shithub-clone-dropdown > summary svg:last-child { width: 12px; height: 12px; }
1267 .shithub-clone-dropdown > summary::-webkit-details-marker { display: none; }
1268 .shithub-clone-panel {
1269 position: absolute;
1270 z-index: 30;
1271 top: calc(100% + 0.4rem);
1272 right: 0;
1273 min-width: 320px;
1274 background: var(--canvas-default);
1275 border: 1px solid var(--border-default);
1276 border-radius: 6px;
1277 padding: 0.75rem;
1278 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
1279 }
1280 .shithub-clone-row + .shithub-clone-row { margin-top: 0.6rem; }
1281 .shithub-clone-row label { display: block; font-size: 0.75rem; color: var(--fg-muted); margin-bottom: 0.25rem; }
1282 .shithub-clone-input { display: flex; gap: 0.4rem; }
1283 .shithub-clone-input input {
1284 flex: 1;
1285 padding: 0.3rem 0.5rem;
1286 font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
1287 font-size: 0.8rem;
1288 border: 1px solid var(--border-default);
1289 border-radius: 4px;
1290 background: var(--canvas-subtle);
1291 color: var(--fg-default);
1292 }
1293 .shithub-clone-input button { padding: 0.3rem 0.5rem; }
1294 .shithub-clone-hint { margin: 0.6rem 0 0; font-size: 0.75rem; color: var(--fg-muted); }
1295
1296 /* Profile sub-nav (S30) — Overview / Repositories / Stars tabs. */
1297 .shithub-profile-tabs {
1298 display: flex;
1299 gap: 0.25rem;
1300 margin: 1rem 0 1.25rem;
1301 border-bottom: 1px solid var(--border-default);
1302 }
1303 .shithub-profile-tab {
1304 display: inline-flex;
1305 align-items: center;
1306 gap: 0.4rem;
1307 padding: 0.6rem 0.85rem;
1308 color: var(--fg-default);
1309 border-bottom: 2px solid transparent;
1310 font-size: 0.9rem;
1311 text-decoration: none;
1312 position: relative;
1313 bottom: -1px;
1314 }
1315 .shithub-profile-tab:hover { background: var(--canvas-subtle); border-radius: 6px 6px 0 0; }
1316 .shithub-profile-tab.is-active { border-bottom-color: var(--accent-emphasis, #fd8c73); font-weight: 600; }
1317 .shithub-tab-count {
1318 display: inline-block;
1319 padding: 0.05rem 0.45rem;
1320 border-radius: 999px;
1321 background: var(--canvas-subtle);
1322 border: 1px solid var(--border-default);
1323 font-size: 0.75rem;
1324 color: var(--fg-muted);
1325 }
1326
1327 /* Repositories tab list. */
1328 .shithub-repo-list { list-style: none; padding: 0; margin: 0; }
1329 .shithub-repo-list-row {
1330 padding: 1rem 0;
1331 border-bottom: 1px solid var(--border-default);
1332 }
1333 .shithub-repo-list-name { margin: 0; font-size: 1.1rem; display: flex; gap: 0.4rem; align-items: center; flex-wrap: wrap; }
1334 .shithub-repo-list-name a { color: var(--accent-fg, #4493f8); }
1335 .shithub-repo-list-meta { color: var(--fg-muted); font-size: 0.8rem; display: flex; gap: 1rem; flex-wrap: wrap; margin: 0.4rem 0 0; }
1336 .shithub-pill-archived { background: #ffd35a; color: #3b2300; }
1337
1338 /* Organization overview. Mirrors GitHub's org homepage density:
1339 identity header, underline nav, two-column content, and a right rail. */
1340 .shithub-org-profile {
1341 max-width: 1280px;
1342 margin: 0 auto;
1343 }
1344 .shithub-org-hero {
1345 padding: 1.5rem 1rem 0;
1346 }
1347 .shithub-org-hero-inner {
1348 display: grid;
1349 grid-template-columns: 96px minmax(0, 1fr) auto;
1350 gap: 1.25rem;
1351 align-items: start;
1352 }
1353 .shithub-org-avatar {
1354 width: 96px;
1355 height: 96px;
1356 border-radius: 6px;
1357 border: 1px solid var(--border-default);
1358 background: var(--canvas-subtle);
1359 }
1360 .shithub-org-identity h1 {
1361 margin: 0;
1362 font-size: 1.5rem;
1363 line-height: 1.25;
1364 }
1365 .shithub-org-handle {
1366 margin: 0.15rem 0 0.65rem;
1367 color: var(--fg-muted);
1368 font-size: 1rem;
1369 }
1370 .shithub-org-bio {
1371 max-width: 760px;
1372 margin: 0 0 0.75rem;
1373 color: var(--fg-default);
1374 }
1375 .shithub-org-meta {
1376 display: flex;
1377 flex-wrap: wrap;
1378 gap: 0.55rem 1rem;
1379 list-style: none;
1380 padding: 0;
1381 margin: 0;
1382 color: var(--fg-muted);
1383 font-size: 0.875rem;
1384 }
1385 .shithub-org-meta li,
1386 .shithub-org-meta a,
1387 .shithub-org-repo-meta span,
1388 .shithub-org-repo-meta time {
1389 display: inline-flex;
1390 align-items: center;
1391 gap: 0.35rem;
1392 }
1393 .shithub-org-meta svg {
1394 flex: 0 0 auto;
1395 }
1396 .shithub-org-hero-actions {
1397 display: flex;
1398 gap: 0.5rem;
1399 }
1400 .shithub-org-nav {
1401 display: flex;
1402 gap: 0.15rem;
1403 padding: 1rem 1rem 0;
1404 margin-top: 1.25rem;
1405 overflow-x: auto;
1406 border-bottom: 1px solid var(--border-default);
1407 }
1408 .shithub-org-nav-item {
1409 display: inline-flex;
1410 align-items: center;
1411 gap: 0.4rem;
1412 flex: 0 0 auto;
1413 padding: 0.65rem 0.75rem;
1414 color: var(--fg-default);
1415 border-bottom: 2px solid transparent;
1416 font-size: 0.875rem;
1417 white-space: nowrap;
1418 }
1419 .shithub-org-nav-item:hover {
1420 background: var(--canvas-subtle);
1421 border-radius: 6px 6px 0 0;
1422 text-decoration: none;
1423 }
1424 .shithub-org-nav-item.is-active {
1425 border-bottom-color: #fd8c73;
1426 font-weight: 600;
1427 }
1428 .shithub-org-nav-item.is-disabled {
1429 color: var(--fg-muted);
1430 cursor: default;
1431 }
1432 .shithub-org-nav-item.is-disabled:hover {
1433 background: transparent;
1434 border-radius: 0;
1435 }
1436 .shithub-org-layout {
1437 display: grid;
1438 grid-template-columns: minmax(0, 2fr) minmax(260px, 0.72fr);
1439 gap: 2rem;
1440 padding: 1.5rem 1rem 2rem;
1441 }
1442 .shithub-org-main {
1443 min-width: 0;
1444 }
1445 .shithub-org-section-head {
1446 display: flex;
1447 align-items: center;
1448 justify-content: space-between;
1449 gap: 1rem;
1450 margin-bottom: 0.75rem;
1451 }
1452 .shithub-org-section-head h2,
1453 .shithub-org-repo-head h2,
1454 .shithub-org-sidebox h2 {
1455 margin: 0;
1456 font-size: 1rem;
1457 font-weight: 600;
1458 }
1459 .shithub-org-pinned-grid {
1460 display: grid;
1461 grid-template-columns: repeat(2, minmax(0, 1fr));
1462 gap: 0.75rem;
1463 list-style: none;
1464 padding: 0;
1465 margin: 0 0 1.5rem;
1466 }
1467 .shithub-org-pin-card {
1468 display: flex;
1469 min-height: 116px;
1470 flex-direction: column;
1471 justify-content: space-between;
1472 padding: 1rem;
1473 border: 1px solid var(--border-default);
1474 border-radius: 6px;
1475 background: var(--canvas-default);
1476 }
1477 .shithub-org-pin-title {
1478 display: flex;
1479 align-items: center;
1480 gap: 0.45rem;
1481 min-width: 0;
1482 font-weight: 600;
1483 }
1484 .shithub-org-pin-title a {
1485 overflow-wrap: anywhere;
1486 }
1487 .shithub-org-pin-icon {
1488 display: inline-flex;
1489 color: var(--fg-muted);
1490 flex: 0 0 auto;
1491 }
1492 .shithub-org-pin-card p {
1493 margin: 0.65rem 0;
1494 color: var(--fg-muted);
1495 font-size: 0.875rem;
1496 }
1497 .shithub-org-repo-head {
1498 display: grid;
1499 grid-template-columns: minmax(160px, 1fr) minmax(200px, 1.2fr) auto;
1500 gap: 0.75rem;
1501 align-items: center;
1502 margin-bottom: 0.75rem;
1503 }
1504 .shithub-org-repo-head h2 {
1505 display: inline-flex;
1506 align-items: center;
1507 gap: 0.4rem;
1508 }
1509 .shithub-org-repo-search input {
1510 width: 100%;
1511 min-height: 34px;
1512 padding: 0.35rem 0.75rem;
1513 border: 1px solid var(--border-default);
1514 border-radius: 6px;
1515 background: var(--canvas-default);
1516 color: var(--fg-default);
1517 }
1518 .shithub-org-repo-actions {
1519 display: flex;
1520 align-items: center;
1521 gap: 0.5rem;
1522 justify-content: flex-end;
1523 flex-wrap: wrap;
1524 }
1525 .shithub-filter-menu {
1526 position: relative;
1527 }
1528 .shithub-filter-menu summary {
1529 display: inline-flex;
1530 align-items: center;
1531 gap: 0.3rem;
1532 min-height: 34px;
1533 padding: 0.35rem 0.75rem;
1534 border: 1px solid var(--border-default);
1535 border-radius: 6px;
1536 background: var(--canvas-subtle);
1537 color: var(--fg-default);
1538 font-size: 0.875rem;
1539 font-weight: 600;
1540 cursor: pointer;
1541 }
1542 .shithub-filter-menu summary::-webkit-details-marker {
1543 display: none;
1544 }
1545 .shithub-filter-menu[open] > div {
1546 position: absolute;
1547 right: 0;
1548 z-index: 20;
1549 min-width: 160px;
1550 margin-top: 0.35rem;
1551 padding: 0.35rem 0;
1552 border: 1px solid var(--border-default);
1553 border-radius: 6px;
1554 background: var(--canvas-default);
1555 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
1556 }
1557 .shithub-filter-menu a {
1558 display: block;
1559 padding: 0.45rem 0.75rem;
1560 color: var(--fg-default);
1561 font-size: 0.875rem;
1562 }
1563 .shithub-filter-menu a:hover {
1564 background: var(--canvas-subtle);
1565 text-decoration: none;
1566 }
1567 .shithub-org-repo-list {
1568 list-style: none;
1569 padding: 0;
1570 margin: 0;
1571 border: 1px solid var(--border-default);
1572 border-radius: 6px;
1573 overflow: hidden;
1574 background: var(--canvas-default);
1575 }
1576 .shithub-org-repo-row {
1577 display: grid;
1578 grid-template-columns: minmax(0, 1fr) 170px;
1579 gap: 1rem;
1580 align-items: center;
1581 padding: 1rem;
1582 border-top: 1px solid var(--border-default);
1583 }
1584 .shithub-org-repo-row:first-child {
1585 border-top: 0;
1586 }
1587 .shithub-org-repo-row h3 {
1588 display: flex;
1589 align-items: center;
1590 gap: 0.45rem;
1591 flex-wrap: wrap;
1592 margin: 0;
1593 font-size: 1rem;
1594 }
1595 .shithub-org-repo-row p {
1596 margin: 0.35rem 0 0;
1597 color: var(--fg-muted);
1598 font-size: 0.875rem;
1599 }
1600 .shithub-org-row-topics {
1601 display: flex;
1602 flex-wrap: wrap;
1603 gap: 0.35rem;
1604 margin-top: 0.6rem;
1605 }
1606 .shithub-org-repo-meta {
1607 display: flex;
1608 flex-wrap: wrap;
1609 gap: 0.4rem 0.85rem;
1610 margin-top: 0.7rem;
1611 color: var(--fg-muted);
1612 font-size: 0.8rem;
1613 }
1614 .shithub-org-repo-meta svg {
1615 flex: 0 0 auto;
1616 }
1617 .shithub-org-repo-spark {
1618 justify-self: end;
1619 display: block;
1620 width: 155px;
1621 height: 32px;
1622 overflow: visible;
1623 }
1624 .shithub-org-repo-spark-base,
1625 .shithub-org-repo-spark-line {
1626 fill: none;
1627 stroke-linecap: round;
1628 stroke-linejoin: round;
1629 vector-effect: non-scaling-stroke;
1630 }
1631 .shithub-org-repo-spark-base {
1632 stroke: color-mix(in srgb, var(--success-fg) 32%, transparent);
1633 stroke-width: 1;
1634 }
1635 .shithub-org-repo-spark-line {
1636 stroke: var(--success-fg);
1637 stroke-width: 1.5;
1638 opacity: 0.78;
1639 }
1640 .shithub-org-sidebar {
1641 min-width: 0;
1642 }
1643 .shithub-org-sidebox {
1644 padding: 1rem 0;
1645 border-top: 1px solid var(--border-default);
1646 }
1647 .shithub-org-sidebox:first-child {
1648 padding-top: 0;
1649 border-top: 0;
1650 }
1651 .shithub-org-sidebox p {
1652 margin: 0.5rem 0 0;
1653 color: var(--fg-muted);
1654 font-size: 0.875rem;
1655 }
1656 .shithub-org-viewas {
1657 width: 100%;
1658 justify-content: center;
1659 cursor: default;
1660 }
1661 .shithub-org-people-strip {
1662 display: flex;
1663 flex-wrap: wrap;
1664 gap: 0.35rem;
1665 margin-top: 0.75rem;
1666 }
1667 .shithub-org-people-strip img {
1668 display: block;
1669 width: 32px;
1670 height: 32px;
1671 border-radius: 50%;
1672 border: 1px solid var(--border-muted);
1673 }
1674 .shithub-org-language-list {
1675 list-style: none;
1676 padding: 0;
1677 margin: 0.75rem 0 0;
1678 }
1679 .shithub-org-language-list li {
1680 display: flex;
1681 justify-content: space-between;
1682 gap: 1rem;
1683 margin: 0.4rem 0;
1684 color: var(--fg-muted);
1685 font-size: 0.875rem;
1686 }
1687 .shithub-org-language-list span {
1688 display: inline-flex;
1689 align-items: center;
1690 gap: 0.35rem;
1691 }
1692 .shithub-org-topic-list {
1693 display: flex;
1694 flex-wrap: wrap;
1695 gap: 0.4rem;
1696 margin-top: 0.75rem;
1697 }
1698 .shithub-org-empty {
1699 padding: 2rem;
1700 text-align: center;
1701 border: 1px dashed var(--border-default);
1702 border-radius: 6px;
1703 color: var(--fg-muted);
1704 }
1705 .shithub-org-empty h3 {
1706 margin: 0 0 0.75rem;
1707 color: var(--fg-default);
1708 font-size: 1rem;
1709 }
1710 @media (max-width: 960px) {
1711 .shithub-org-hero-inner,
1712 .shithub-org-layout,
1713 .shithub-org-repo-head {
1714 grid-template-columns: 1fr;
1715 }
1716 .shithub-org-avatar {
1717 width: 80px;
1718 height: 80px;
1719 }
1720 .shithub-org-hero-actions,
1721 .shithub-org-repo-actions {
1722 justify-content: flex-start;
1723 }
1724 .shithub-org-repo-row {
1725 grid-template-columns: 1fr;
1726 }
1727 .shithub-org-repo-spark {
1728 display: none;
1729 }
1730 }
1731 @media (max-width: 640px) {
1732 .shithub-org-pinned-grid {
1733 grid-template-columns: 1fr;
1734 }
1735 .shithub-org-nav {
1736 padding-inline: 0.5rem;
1737 }
1738 .shithub-org-layout,
1739 .shithub-org-hero {
1740 padding-inline: 0.75rem;
1741 }
1742 }
1743
1744 .shithub-repo-header { margin-bottom: 1.25rem; }
1745 .shithub-repo-header-inner {
1746 display: flex;
1747 align-items: center;
1748 justify-content: space-between;
1749 gap: 1rem;
1750 padding: 0.25rem 0 0.75rem;
1751 }
1752 .shithub-repo-page-title { font-size: 1.4rem; margin: 0; display: flex; align-items: center; gap: 0.4rem; flex-wrap: wrap; }
1753 .shithub-repo-page-title a { color: var(--accent-fg, #4493f8); }
1754 .shithub-repo-page-title .shithub-repo-name { font-weight: 600; }
1755 .shithub-repo-title-icon { color: var(--fg-muted); display: inline-flex; align-items: center; }
1756 .shithub-repo-actions { display: flex; align-items: center; gap: 0.5rem; flex-wrap: wrap; }
1757 .shithub-repo-action-form { margin: 0; }
1758 .shithub-repo-action {
1759 display: inline-flex;
1760 align-items: center;
1761 gap: 0.35rem;
1762 min-height: 32px;
1763 padding: 0 0.7rem;
1764 border: 1px solid var(--border-default);
1765 border-radius: 6px;
1766 color: var(--fg-default);
1767 background: var(--canvas-subtle);
1768 font-size: 0.875rem;
1769 font-weight: 600;
1770 line-height: 20px;
1771 white-space: nowrap;
1772 cursor: pointer;
1773 }
1774 .shithub-repo-action:hover { text-decoration: none; background: var(--canvas-inset); }
1775 button.shithub-repo-action {
1776 font-family: inherit;
1777 }
1778 .shithub-repo-action.is-active {
1779 color: var(--accent-fg);
1780 }
1781 .shithub-repo-action-label { color: inherit; }
1782 .shithub-repo-action .shithub-counter {
1783 color: var(--fg-muted);
1784 font-weight: 600;
1785 font-size: 0.75rem;
1786 padding: 0 0.35rem;
1787 min-width: 1.25rem;
1788 border-radius: 999px;
1789 background: rgba(110, 118, 129, 0.18);
1790 }
1791 .shithub-repo-action-menu { position: relative; }
1792 .shithub-repo-action-menu > summary { list-style: none; }
1793 .shithub-repo-action-menu > summary::-webkit-details-marker { display: none; }
1794 .shithub-repo-action-button svg:last-child {
1795 width: 12px;
1796 height: 12px;
1797 color: var(--fg-muted);
1798 }
1799 .shithub-repo-action-popover {
1800 position: absolute;
1801 right: 0;
1802 top: calc(100% + 0.4rem);
1803 z-index: 20;
1804 width: min(340px, calc(100vw - 2rem));
1805 padding: 0.5rem 0;
1806 border: 1px solid var(--border-default);
1807 border-radius: 8px;
1808 background: var(--canvas-default);
1809 box-shadow: 0 16px 32px rgba(1, 4, 9, 0.2);
1810 }
1811 .shithub-repo-action-popover strong {
1812 display: block;
1813 padding: 0.45rem 0.85rem 0.55rem;
1814 border-bottom: 1px solid var(--border-muted);
1815 }
1816 .shithub-repo-action-option-form { margin: 0; }
1817 .shithub-repo-action-option {
1818 width: 100%;
1819 display: grid;
1820 grid-template-columns: 16px minmax(0, 1fr);
1821 gap: 0.6rem;
1822 padding: 0.65rem 0.85rem;
1823 border: 0;
1824 border-bottom: 1px solid var(--border-muted);
1825 background: transparent;
1826 color: var(--fg-default);
1827 font: inherit;
1828 text-align: left;
1829 cursor: pointer;
1830 }
1831 .shithub-repo-action-option:hover { background: var(--canvas-subtle); }
1832 .shithub-repo-action-radio {
1833 width: 14px;
1834 height: 14px;
1835 margin-top: 0.25rem;
1836 border: 1px solid var(--border-default);
1837 border-radius: 50%;
1838 }
1839 .shithub-repo-action-option.is-selected .shithub-repo-action-radio {
1840 border-color: var(--accent-emphasis);
1841 box-shadow: inset 0 0 0 3px var(--canvas-default);
1842 background: var(--accent-emphasis);
1843 }
1844 .shithub-repo-action-option-title {
1845 display: block;
1846 font-weight: 600;
1847 }
1848 .shithub-repo-action-option-description {
1849 display: block;
1850 margin-top: 0.15rem;
1851 color: var(--fg-muted);
1852 font-size: 0.78rem;
1853 line-height: 1.35;
1854 }
1855 .shithub-repo-action-popover-link {
1856 display: block;
1857 padding: 0.55rem 0.85rem 0.35rem;
1858 color: var(--fg-muted);
1859 font-size: 0.82rem;
1860 }
1861 .shithub-repo-subnav {
1862 display: flex;
1863 gap: 0.25rem;
1864 margin: 0;
1865 border-bottom: 1px solid var(--border-default);
1866 flex-wrap: wrap;
1867 }
1868 .shithub-repo-subnav-tab {
1869 display: inline-flex;
1870 align-items: center;
1871 gap: 0.4rem;
1872 padding: 0.55rem 0.85rem;
1873 color: var(--fg-default);
1874 border-bottom: 2px solid transparent;
1875 font-size: 0.9rem;
1876 text-decoration: none;
1877 position: relative;
1878 bottom: -1px;
1879 }
1880 .shithub-repo-subnav-tab:hover { background: var(--canvas-subtle); border-radius: 6px 6px 0 0; }
1881 .shithub-repo-subnav-tab.is-active { border-bottom-color: var(--accent-emphasis, #fd8c73); font-weight: 600; }
1882
1883 /* New-repo owner picker (S30) */
1884 .shithub-repo-new-owner-row { display: flex; gap: 0.5rem; align-items: end; flex-wrap: wrap; }
1885 .shithub-repo-new-owner select { padding: 0.4rem 0.5rem; }
1886 .shithub-repo-new-sep { font-size: 1.5rem; color: var(--fg-muted); padding-bottom: 0.4rem; }
1887
1888 .shithub-repo-content-grid {
1889 display: grid;
1890 grid-template-columns: minmax(0, 1fr) 296px;
1891 gap: 1.5rem;
1892 align-items: start;
1893 }
1894 .shithub-repo-main { min-width: 0; }
1895 .shithub-tree-panel {
1896 border: 1px solid var(--border-default);
1897 border-radius: 6px;
1898 background: var(--canvas-default);
1899 overflow: hidden;
1900 }
1901 .shithub-tree-commit {
1902 display: flex;
1903 justify-content: space-between;
1904 align-items: center;
1905 gap: 1rem;
1906 padding: 0.75rem 1rem;
1907 background: var(--canvas-subtle);
1908 border-bottom: 1px solid var(--border-default);
1909 font-size: 0.9rem;
1910 }
1911 .shithub-tree-commit-message,
1912 .shithub-tree-commit-meta {
1913 display: flex;
1914 align-items: center;
1915 gap: 0.5rem;
1916 min-width: 0;
1917 }
1918 .shithub-tree-commit-message .shithub-avatar-sm {
1919 margin-right: 0;
1920 }
1921 .shithub-tree-commit-subject,
1922 .shithub-tree-row-commit a {
1923 overflow: hidden;
1924 text-overflow: ellipsis;
1925 white-space: nowrap;
1926 }
1927 .shithub-tree-commit-subject {
1928 color: var(--fg-default);
1929 min-width: 0;
1930 }
1931 .shithub-tree-commit-meta { color: var(--fg-muted); flex: 0 0 auto; }
1932 .shithub-tree-commit-meta a {
1933 color: var(--fg-muted);
1934 }
1935 .shithub-tree-commit-count {
1936 display: inline-flex;
1937 align-items: center;
1938 gap: 0.35rem;
1939 font-weight: 600;
1940 }
1941 .shithub-tree {
1942 width: 100%;
1943 border-collapse: collapse;
1944 font-size: 0.9rem;
1945 background: var(--canvas-default);
1946 table-layout: fixed;
1947 }
1948 .shithub-tree td {
1949 padding: 0.5rem 0.75rem;
1950 border-bottom: 1px solid var(--border-default);
1951 vertical-align: middle;
1952 }
1953 .shithub-tree tr:last-child td { border-bottom: 0; }
1954 .shithub-tree-icon { width: 36px; color: var(--fg-muted); padding-right: 0; }
1955 .shithub-tree-icon svg { display: block; }
1956 .shithub-tree-name {
1957 width: 34%;
1958 font-weight: 600;
1959 }
1960 .shithub-tree-name a { color: var(--fg-default); }
1961 .shithub-tree-row-commit {
1962 width: auto;
1963 color: var(--fg-muted);
1964 }
1965 .shithub-tree-row-commit a {
1966 display: block;
1967 color: var(--fg-muted);
1968 }
1969 .shithub-tree-row-time {
1970 width: 120px;
1971 color: var(--fg-muted);
1972 text-align: right;
1973 white-space: nowrap;
1974 }
1975 .shithub-tree-symlink, .shithub-tree-submodule { color: var(--fg-muted); font-style: italic; font-size: 0.8rem; }
1976 @media (max-width: 760px) {
1977 .shithub-code-actions {
1978 flex: 1 1 100%;
1979 justify-content: stretch;
1980 }
1981 .shithub-go-to-file {
1982 flex: 1 1 auto;
1983 }
1984 .shithub-tree-commit {
1985 align-items: flex-start;
1986 flex-direction: column;
1987 }
1988 .shithub-tree-commit-meta {
1989 flex-wrap: wrap;
1990 }
1991 .shithub-tree-name {
1992 width: auto;
1993 }
1994 .shithub-tree-row-commit,
1995 .shithub-tree-row-time {
1996 display: none;
1997 }
1998 }
1999
2000 /* Code-view layout: 2/3 main column + 1/3 About sidebar, mirroring
2001 the GitHub repo home layout. Single-column on narrow viewports so
2002 the sidebar drops below the tree on mobile. The S39 hardening pass
2003 replaces the previous single-centered-column layout that wasted
2004 the right rail. */
2005 .shithub-repo-with-sidebar {
2006 display: grid;
2007 grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
2008 gap: 1.5rem;
2009 align-items: start;
2010 }
2011 .shithub-repo-main {
2012 min-width: 0; /* let the grid item shrink so children with overflow-x scroll instead of forcing the column wider */
2013 }
2014 @media (max-width: 1024px) {
2015 .shithub-repo-with-sidebar {
2016 grid-template-columns: 1fr;
2017 }
2018 }
2019
2020 .shithub-repo-about {
2021 border-top: 1px solid var(--border-default);
2022 padding-top: 1rem;
2023 font-size: 0.875rem;
2024 --language-color-primary: #00add8;
2025 }
2026 @media (min-width: 1025px) {
2027 .shithub-repo-about {
2028 border-top: none;
2029 padding-top: 0;
2030 }
2031 }
2032 .shithub-border-grid-row {
2033 border-top: 1px solid var(--border-default);
2034 padding: 1rem 0;
2035 }
2036 .shithub-border-grid-row:first-child {
2037 border-top: 0;
2038 padding-top: 0;
2039 }
2040 .shithub-repo-about-heading,
2041 .shithub-repo-about-section-heading {
2042 display: flex;
2043 align-items: center;
2044 justify-content: space-between;
2045 gap: 0.75rem;
2046 margin: 0 0 0.75rem;
2047 color: var(--fg-default);
2048 font-size: 1rem;
2049 font-weight: 600;
2050 line-height: 1.5;
2051 }
2052 .shithub-repo-about-heading h2 {
2053 margin: 0;
2054 font-size: 1rem;
2055 }
2056 .shithub-repo-about-heading a {
2057 color: var(--fg-muted);
2058 display: inline-flex;
2059 }
2060 .shithub-repo-about-desc {
2061 margin: 0 0 1rem;
2062 color: var(--fg-default);
2063 font-size: 1rem;
2064 line-height: 1.5;
2065 }
2066 .shithub-repo-topics {
2067 display: flex;
2068 flex-wrap: wrap;
2069 gap: 0.4rem;
2070 margin: 0 0 1rem;
2071 }
2072 .shithub-topic {
2073 display: inline-flex;
2074 padding: 0.18rem 0.55rem;
2075 border-radius: 999px;
2076 background: color-mix(in srgb, var(--accent-fg, #4493f8) 12%, transparent);
2077 color: var(--accent-fg, #4493f8);
2078 font-size: 0.75rem;
2079 font-weight: 600;
2080 }
2081 .shithub-repo-about-list,
2082 .shithub-repo-about-stats,
2083 .shithub-language-list {
2084 list-style: none;
2085 padding: 0;
2086 margin: 0;
2087 }
2088 .shithub-repo-about-list li,
2089 .shithub-repo-about-stats li,
2090 .shithub-language-list li {
2091 display: flex;
2092 align-items: center;
2093 gap: 0.5rem;
2094 min-width: 0;
2095 margin: 0.5rem 0;
2096 color: var(--fg-muted);
2097 }
2098 .shithub-repo-about-list svg,
2099 .shithub-repo-about-stats svg {
2100 color: var(--fg-muted);
2101 flex: 0 0 auto;
2102 }
2103 .shithub-repo-about-list span,
2104 .shithub-repo-about-stats strong,
2105 .shithub-language-list span:nth-child(2) {
2106 color: var(--fg-default);
2107 }
2108 .shithub-repo-about-stats {
2109 margin-top: 0.75rem;
2110 }
2111 .shithub-repo-about-stats a {
2112 color: var(--fg-muted);
2113 display: inline-flex;
2114 align-items: center;
2115 gap: 0.5rem;
2116 }
2117 .shithub-repo-about-stats a:hover,
2118 .shithub-repo-report:hover,
2119 .shithub-repo-contributor:hover {
2120 color: var(--accent-fg);
2121 text-decoration: none;
2122 }
2123 .shithub-repo-report {
2124 display: inline-block;
2125 margin-top: 0.5rem;
2126 color: var(--fg-muted);
2127 }
2128 .shithub-repo-about-section-heading {
2129 margin-bottom: 0.5rem;
2130 }
2131 .shithub-repo-section-count {
2132 min-width: 1.25rem;
2133 padding: 0 0.35rem;
2134 border-radius: 999px;
2135 background: var(--neutral-muted);
2136 color: var(--fg-default);
2137 font-size: 0.75rem;
2138 font-weight: 600;
2139 line-height: 1.5;
2140 text-align: center;
2141 }
2142 .shithub-repo-contributors {
2143 display: flex;
2144 flex-direction: column;
2145 gap: 0.5rem;
2146 }
2147 .shithub-repo-contributor {
2148 display: inline-flex;
2149 align-items: center;
2150 gap: 0.5rem;
2151 color: var(--fg-default);
2152 font-weight: 600;
2153 }
2154 .shithub-repo-contributor img {
2155 width: 32px;
2156 height: 32px;
2157 border-radius: 50%;
2158 }
2159 .shithub-repo-contributor-identicon {
2160 width: 32px;
2161 height: 32px;
2162 border-radius: 50%;
2163 flex: 0 0 auto;
2164 }
2165 .shithub-language-bar {
2166 display: flex;
2167 overflow: hidden;
2168 height: 0.5rem;
2169 margin: 0.5rem 0 0.75rem;
2170 border-radius: 999px;
2171 background: var(--border-muted);
2172 }
2173 .shithub-language-bar span {
2174 display: block;
2175 min-width: 2px;
2176 }
2177 .shithub-language-list {
2178 display: flex;
2179 flex-wrap: wrap;
2180 gap: 0.25rem 1rem;
2181 }
2182 .shithub-language-list li {
2183 margin: 0;
2184 gap: 0.35rem;
2185 font-size: 0.75rem;
2186 }
2187 .shithub-language-dot {
2188 width: 0.75rem;
2189 height: 0.75rem;
2190 border-radius: 50%;
2191 flex: 0 0 auto;
2192 }
2193
2194 .shithub-readme {
2195 margin-top: 1rem;
2196 padding: 0;
2197 border: 1px solid var(--border-default);
2198 border-radius: 6px;
2199 background: var(--canvas-default);
2200 overflow: hidden;
2201 }
2202 .shithub-readme-head {
2203 display: flex;
2204 align-items: center;
2205 min-height: 48px;
2206 padding: 0 1rem;
2207 border-bottom: 1px solid var(--border-default);
2208 overflow-x: auto;
2209 }
2210 .shithub-readme-tabs {
2211 display: flex;
2212 align-items: stretch;
2213 gap: 1.25rem;
2214 min-width: 0;
2215 }
2216 .shithub-readme-tab {
2217 display: inline-flex;
2218 align-items: center;
2219 gap: 0.45rem;
2220 margin-bottom: -1px;
2221 padding: 0.85rem 0 0.78rem;
2222 border-bottom: 2px solid transparent;
2223 color: var(--fg-muted);
2224 font-size: 0.85rem;
2225 font-weight: 600;
2226 text-decoration: none;
2227 white-space: nowrap;
2228 }
2229 .shithub-readme-tab:hover {
2230 color: var(--fg-default);
2231 text-decoration: none;
2232 }
2233 .shithub-readme-tab.is-active {
2234 border-bottom-color: var(--accent-emphasis, #fd8c73);
2235 color: var(--fg-default);
2236 }
2237 .shithub-readme-body { padding: 2rem; }
2238 .markdown-body {
2239 color: var(--fg-default);
2240 font-size: 0.875rem;
2241 line-height: 1.5;
2242 overflow-wrap: break-word;
2243 }
2244 .markdown-body > :first-child { margin-top: 0; }
2245 .markdown-body > :last-child { margin-bottom: 0; }
2246 .markdown-body p,
2247 .markdown-body blockquote,
2248 .markdown-body ul,
2249 .markdown-body ol,
2250 .markdown-body dl,
2251 .markdown-body table,
2252 .markdown-body pre,
2253 .markdown-body details {
2254 margin-top: 0;
2255 margin-bottom: 1rem;
2256 }
2257 .markdown-body h1,
2258 .markdown-body h2 {
2259 margin-top: 1.5rem;
2260 margin-bottom: 1rem;
2261 padding-bottom: 0.3em;
2262 border-bottom: 1px solid var(--border-default);
2263 }
2264 .markdown-body h1 { font-size: 2em; }
2265 .markdown-body h2 { font-size: 1.5em; }
2266 .markdown-body h3 { font-size: 1.25em; }
2267 .markdown-body h1,
2268 .markdown-body h2,
2269 .markdown-body h3,
2270 .markdown-body h4,
2271 .markdown-body h5,
2272 .markdown-body h6 {
2273 font-weight: 600;
2274 line-height: 1.25;
2275 }
2276 .markdown-body hr {
2277 height: 0.25em;
2278 padding: 0;
2279 margin: 1.5rem 0;
2280 background: var(--border-default);
2281 border: 0;
2282 }
2283 .markdown-body img {
2284 max-width: 100%;
2285 box-sizing: content-box;
2286 }
2287 .markdown-body [align="center"] { text-align: center; }
2288 .markdown-body [align="right"] { text-align: right; }
2289 .markdown-body [align="left"] { text-align: left; }
2290 .shithub-readme code { font-family: monospace; padding: 0.1em 0.3em; background: var(--canvas-default); border-radius: 3px; }
2291 .shithub-readme pre code { padding: 0; background: none; }
2292 .shithub-readme-plain { white-space: pre-wrap; }
2293
2294 @media (max-width: 900px) {
2295 .shithub-repo-header-inner { align-items: flex-start; flex-direction: column; }
2296 .shithub-repo-content-grid { grid-template-columns: 1fr; }
2297 .shithub-tree-commit { align-items: flex-start; flex-direction: column; }
2298 }
2299
2300 .shithub-blob-meta { color: var(--fg-muted); font-size: 0.85rem; margin-right: 0.5rem; }
2301 /* Blob source: a row-per-line <table>. We render the gutter + code
2302 ourselves and feed Chroma only token spans (no <pre>, no <table>)
2303 so the chrome is consistent across lexers and the no-lexer fallback,
2304 per the S33 viewer refactor. Forgejo / Gitea use the same shape.
2305 The reasoning is robustness: chroma's own table mode has rules we
2306 can't fully override (cell padding, line-number `<a>` styles), and
2307 they leak whenever a lexer changes its emit shape. Owning the table
2308 makes the layout immune to that drift. */
2309 .shithub-blob-source .chroma { padding: 0; background: var(--canvas-default); }
2310 .shithub-blob-source .chroma a { color: inherit; text-decoration: none; }
2311 .shithub-blob-lines {
2312 width: 100%;
2313 border-collapse: collapse;
2314 border-spacing: 0;
2315 margin: 0;
2316 font-family: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;
2317 font-size: 0.825rem;
2318 line-height: 20px;
2319 tab-size: 4;
2320 }
2321 /* Gutter cell. width:1% + white-space:nowrap forces shrink-to-fit:
2322 the cell sizes itself to the max line-number width and no wider.
2323 text-align:right keeps the digit flush against the divider. */
2324 .shithub-blob-lines td.shithub-blob-lnum {
2325 width: 1%;
2326 min-width: 2.5rem;
2327 padding: 0 12px;
2328 background: var(--canvas-subtle);
2329 border-right: 1px solid var(--border-default);
2330 color: var(--fg-muted);
2331 text-align: right;
2332 user-select: none;
2333 white-space: nowrap;
2334 vertical-align: top;
2335 }
2336 .shithub-blob-lines td.shithub-blob-lnum a {
2337 color: inherit;
2338 display: block;
2339 }
2340 /* Code cell. white-space:pre preserves indentation; the wrapper
2341 handles horizontal scroll for long lines. */
2342 .shithub-blob-lines td.shithub-blob-lcode {
2343 padding: 0 12px;
2344 vertical-align: top;
2345 white-space: pre;
2346 }
2347 .shithub-blob-lines td.shithub-blob-lcode .shithub-blob-line {
2348 display: inline-block;
2349 min-width: 100%;
2350 }
2351 /* Hover surfaces the row; :target highlights the line referenced by
2352 #L<n> in the URL (browsers handle scrolling). */
2353 .shithub-blob-lines tr:hover td.shithub-blob-lcode {
2354 background: var(--canvas-subtle);
2355 }
2356 .shithub-blob-lines tr:target td.shithub-blob-lcode,
2357 .shithub-blob-lines tr:target td.shithub-blob-lnum {
2358 background: var(--accent-subtle, #fff8c5);
2359 }
2360 .shithub-blob-too-large, .shithub-blob-binary {
2361 padding: 1rem;
2362 border: 1px dashed var(--border-default);
2363 border-radius: 6px;
2364 text-align: center;
2365 color: var(--fg-muted);
2366 }
2367 .shithub-blob-image { text-align: center; padding: 1rem; background: var(--canvas-subtle); border-radius: 6px; }
2368 .shithub-blob-image img { max-width: 100%; max-height: 80vh; }
2369 .shithub-blob-source { overflow-x: auto; }
2370 .shithub-blob-source .chroma { font-size: 0.85rem; }
2371 .shithub-blob-markdown { padding: 1rem; }
2372 .shithub-button-disabled { opacity: 0.5; pointer-events: none; }
2373
2374 .shithub-finder-form { display: flex; gap: 0.5rem; align-items: center; margin: 1rem 0; }
2375 .shithub-finder-form input { font: inherit; padding: 0.4rem 0.6rem; border: 1px solid var(--border-default); border-radius: 6px; flex: 1; }
2376 .shithub-finder-results { list-style: none; padding: 0; }
2377 .shithub-finder-results li { padding: 0.3rem 0.5rem; border-bottom: 1px solid var(--border-default); font-family: monospace; font-size: 0.875rem; }
2378
2379 /* ========== Commits + Commit + Blame (S18) ========== */
2380 .shithub-avatar-sm {
2381 display: inline-block;
2382 width: 20px;
2383 height: 20px;
2384 border-radius: 50%;
2385 vertical-align: middle;
2386 margin-right: 0.4rem;
2387 }
2388 .shithub-identicon {
2389 background: linear-gradient(135deg, #cce, #ecc);
2390 }
2391 .shithub-commits-filter {
2392 display: flex;
2393 gap: 0.5rem;
2394 align-items: end;
2395 flex-wrap: wrap;
2396 margin: 1rem 0;
2397 }
2398 .shithub-commits-filter input {
2399 padding: 0.3rem 0.5rem;
2400 border: 1px solid var(--border-default);
2401 border-radius: 6px;
2402 font: inherit;
2403 }
2404 .shithub-commits-list { list-style: none; padding: 0; margin: 0; }
2405 .shithub-commits-row {
2406 display: grid;
2407 grid-template-columns: 220px 1fr;
2408 gap: 0.75rem;
2409 padding: 0.6rem 0.5rem;
2410 border-bottom: 1px solid var(--border-default);
2411 align-items: start;
2412 }
2413 .shithub-commits-author { color: var(--fg-muted); font-size: 0.875rem; }
2414 .shithub-commits-meta { display: flex; flex-direction: column; gap: 0.2rem; }
2415 .shithub-commits-subject { color: var(--fg-default); font-weight: 500; }
2416 .shithub-commits-sha { color: var(--fg-muted); font-size: 0.8rem; }
2417 .shithub-pager { display: flex; gap: 1rem; padding: 1rem 0; }
2418
2419 .shithub-commit-view { max-width: 64rem; margin: 1.5rem auto; padding: 0 1rem; }
2420 .shithub-commit-meta {
2421 margin-top: 1rem;
2422 padding: 1rem;
2423 border: 1px solid var(--border-default);
2424 border-radius: 6px;
2425 background: var(--canvas-subtle);
2426 }
2427 .shithub-commit-subject { margin: 0 0 0.5rem; font-size: 1.2rem; }
2428 .shithub-commit-body { margin: 0.75rem 0; font-family: monospace; font-size: 0.9rem; line-height: 1.4; }
2429 .shithub-commit-people { display: flex; gap: 1.5rem; flex-wrap: wrap; margin: 0.75rem 0; font-size: 0.875rem; }
2430 .shithub-commit-actor { display: inline-flex; align-items: center; gap: 0.4rem; }
2431 .shithub-commit-role { color: var(--fg-muted); font-weight: 500; }
2432 .shithub-commit-refs { display: grid; grid-template-columns: max-content 1fr; gap: 0.5rem 1rem; font-size: 0.875rem; }
2433 .shithub-commit-refs dt { color: var(--fg-muted); }
2434 .shithub-commit-refs dd { margin: 0; font-family: monospace; }
2435
2436 .shithub-commit-files { margin-top: 1.5rem; }
2437 .shithub-commit-files-table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
2438 .shithub-commit-files-table th, .shithub-commit-files-table td {
2439 padding: 0.4rem 0.6rem;
2440 border-bottom: 1px solid var(--border-default);
2441 text-align: left;
2442 }
2443 .shithub-num-col { width: 80px; text-align: right; font-variant-numeric: tabular-nums; }
2444 .shithub-add { color: #22863a; }
2445 .shithub-del { color: #cb2431; }
2446 .shithub-status-A { color: #22863a; font-weight: 600; }
2447 .shithub-status-M { color: #b08800; font-weight: 600; }
2448 .shithub-status-D { color: #cb2431; font-weight: 600; }
2449 .shithub-status-R { color: #6f42c1; font-weight: 600; }
2450 .shithub-status-C { color: #0366d6; font-weight: 600; }
2451
2452 .shithub-blame-table { width: 100%; border-collapse: collapse; font-family: monospace; font-size: 0.85rem; }
2453 .shithub-blame-chunk-header td {
2454 padding: 0.4rem 0.6rem;
2455 background: var(--canvas-subtle);
2456 border-top: 1px solid var(--border-default);
2457 font-family: var(--shithub-font-default, sans-serif);
2458 font-size: 0.8rem;
2459 color: var(--fg-muted);
2460 display: flex;
2461 gap: 0.4rem;
2462 align-items: center;
2463 }
2464 .shithub-blame-lineno { width: 50px; text-align: right; padding-right: 0.5rem; color: var(--fg-muted); }
2465 .shithub-blame-lineno a { color: inherit; }
2466 .shithub-blame-content pre { margin: 0; white-space: pre; }
2467 .shithub-blame-too-large {
2468 padding: 1rem;
2469 border: 1px dashed var(--border-default);
2470 border-radius: 6px;
2471 text-align: center;
2472 color: var(--fg-muted);
2473 }
2474
2475 /* ========== Diff renderer (S19) ========== */
2476 .shithub-commit-files-head {
2477 display: flex;
2478 align-items: center;
2479 justify-content: space-between;
2480 margin-bottom: 0.5rem;
2481 }
2482 .shithub-diff-toggles { display: flex; gap: 0.25rem; }
2483 .shithub-diff-body { margin-top: 1rem; }
2484 .shithub-diff-file {
2485 margin-top: 1rem;
2486 border: 1px solid var(--border-default);
2487 border-radius: 6px;
2488 overflow: hidden;
2489 }
2490 .shithub-diff-file-head {
2491 display: flex;
2492 align-items: center;
2493 justify-content: space-between;
2494 gap: 0.75rem;
2495 padding: 0.5rem 0.75rem;
2496 background: var(--canvas-subtle);
2497 border-bottom: 1px solid var(--border-default);
2498 font-size: 0.875rem;
2499 }
2500 .shithub-diff-file-action { color: var(--fg-muted); font-style: italic; }
2501 .shithub-diff-binary, .shithub-diff-image, .shithub-diff-empty, .shithub-diff-truncated {
2502 padding: 1rem;
2503 text-align: center;
2504 color: var(--fg-muted);
2505 }
2506 .shithub-diff-file-toolarge { padding: 0.5rem 0.75rem; }
2507 .shithub-diff-file-toolarge > summary { cursor: pointer; color: var(--fg-muted); }
2508 .shithub-diff-table {
2509 width: 100%;
2510 border-collapse: collapse;
2511 font-family: monospace;
2512 font-size: 0.85rem;
2513 table-layout: fixed;
2514 }
2515 .shithub-diff-table td { padding: 0 0.5rem; vertical-align: top; }
2516 .shithub-diff-table pre { margin: 0; white-space: pre; }
2517 .shithub-diff-lineno {
2518 width: 50px;
2519 text-align: right;
2520 color: var(--fg-muted);
2521 user-select: none;
2522 background: var(--canvas-subtle);
2523 }
2524 .shithub-diff-content { width: auto; }
2525 .shithub-diff-add { background: rgba(46, 160, 67, 0.10); }
2526 .shithub-diff-del { background: rgba(248, 81, 73, 0.10); }
2527 .shithub-diff-add .shithub-diff-content { background: rgba(46, 160, 67, 0.05); }
2528 .shithub-diff-del .shithub-diff-content { background: rgba(248, 81, 73, 0.05); }
2529 .shithub-diff-pad { background: var(--canvas-subtle); }
2530 .shithub-diff-hunk-head td {
2531 padding: 0.4rem 0.75rem;
2532 background: var(--canvas-default);
2533 border-top: 1px solid var(--border-default);
2534 border-bottom: 1px solid var(--border-default);
2535 color: var(--fg-muted);
2536 }
2537 .shithub-diff-split td.shithub-diff-content {
2538 width: 50%;
2539 border-left: 1px solid var(--border-default);
2540 }
2541
2542 /* ========== Branches/Tags/Compare/Settings (S20) ========== */
2543 .shithub-branches, .shithub-tags, .shithub-compare, .shithub-settings-branches {
2544 max-width: 64rem;
2545 margin: 1.5rem auto;
2546 padding: 0 1rem;
2547 }
2548 .shithub-branches-filter { display: flex; gap: 0.4rem; }
2549 .shithub-branches-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
2550 .shithub-branches-table th, .shithub-branches-table td {
2551 padding: 0.5rem 0.75rem;
2552 text-align: left;
2553 border-bottom: 1px solid var(--border-default);
2554 }
2555 .shithub-branches-subject { color: var(--fg-default); }
2556 .shithub-compare-summary { padding: 0.75rem 1rem; background: var(--canvas-subtle); border-radius: 6px; display: flex; gap: 1rem; align-items: center; flex-wrap: wrap; }
2557 .shithub-compare-empty { padding: 1.5rem; text-align: center; color: var(--fg-muted); border: 1px dashed var(--border-default); border-radius: 6px; }
2558 .shithub-compare-commits { margin-top: 1.5rem; }
2559 .shithub-settings-branches form label { display: block; margin: 0.5rem 0; }
2560 .shithub-settings-branches form input[type=text],
2561 .shithub-settings-branches form select { font: inherit; padding: 0.4rem 0.6rem; border: 1px solid var(--border-default); border-radius: 6px; min-width: 280px; }
2562
2563 /* ========== Issues / Labels / Milestones (S21) ========== */
2564 .shithub-issues, .shithub-issue-view, .shithub-issue-new, .shithub-labels, .shithub-milestones {
2565 margin: 0;
2566 padding: 0;
2567 }
2568 .shithub-issues-head { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; }
2569 .shithub-issues-actions { display: flex; gap: 0.4rem; }
2570 .shithub-issues-filter { display: flex; gap: 1.5rem; padding: 0.75rem 0; border-bottom: 1px solid var(--border-default); margin: 1rem 0; }
2571 .shithub-issues-tab { color: var(--fg-muted); padding: 0.25rem 0; border-bottom: 2px solid transparent; }
2572 .shithub-issues-tab-active { color: var(--fg-default); border-bottom-color: var(--accent-emphasis, #0969da); font-weight: 600; }
2573 .shithub-issues-dot { display: inline-block; width: 0.6rem; height: 0.6rem; border-radius: 50%; vertical-align: middle; margin-right: 0.25rem; }
2574 .shithub-issues-dot-open { background: #1a7f37; }
2575 .shithub-issues-dot-closed { background: #8250df; }
2576 .shithub-issues-list { list-style: none; padding: 0; margin: 0; }
2577 .shithub-issues-row {
2578 display: flex; gap: 0.75rem; align-items: flex-start;
2579 padding: 0.75rem 0.5rem;
2580 border-bottom: 1px solid var(--border-default);
2581 }
2582 .shithub-issues-state { font-size: 1.1rem; line-height: 1.2; }
2583 .shithub-issues-state-open { color: #1a7f37; }
2584 .shithub-issues-state-closed { color: #8250df; }
2585 .shithub-issues-body { flex: 1; }
2586 .shithub-issues-title { font-weight: 600; color: var(--fg-default); }
2587 .shithub-issues-title:hover { color: var(--accent-emphasis, #0969da); }
2588 .shithub-issues-meta { color: var(--fg-muted); font-size: 0.85rem; margin-top: 0.2rem; }
2589 .shithub-issues-assignees { font-size: 0.85rem; }
2590 .shithub-issues-empty { color: var(--fg-muted); padding: 2rem; text-align: center; border: 1px dashed var(--border-default); border-radius: 6px; }
2591 .shithub-issue-num { color: var(--fg-muted); font-weight: 400; margin-left: 0.5rem; }
2592 .shithub-issue-title-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; border-bottom: 1px solid var(--border-default); padding-bottom: 0.75rem; }
2593 .shithub-issue-title { display: flex; gap: 0.5rem; align-items: baseline; flex-wrap: wrap; margin: 0; }
2594 .shithub-issue-head-actions { display: flex; gap: 0.5rem; flex: 0 0 auto; }
2595 .shithub-issue-meta { color: var(--fg-muted); margin: 0.75rem 0 1.5rem; display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; }
2596 .shithub-issue-meta .shithub-pill, .shithub-comment-form .shithub-button, .shithub-sidebar-button { display: inline-flex; align-items: center; justify-content: center; gap: 0.25rem; }
2597 .shithub-issue-grid { display: grid; grid-template-columns: minmax(0, 1fr) 18rem; gap: 1.5rem; }
2598 @media (max-width: 900px) { .shithub-issue-grid { grid-template-columns: 1fr; } }
2599 .shithub-comment {
2600 border: 1px solid var(--border-default);
2601 border-radius: 6px;
2602 margin-bottom: 1rem;
2603 background: var(--canvas-default);
2604 }
2605 .shithub-comment-head {
2606 padding: 0.5rem 0.75rem;
2607 background: var(--canvas-subtle);
2608 border-bottom: 1px solid var(--border-default);
2609 font-size: 0.9rem;
2610 color: var(--fg-muted);
2611 }
2612 .shithub-comment-body { padding: 0.75rem; }
2613 .shithub-event {
2614 color: var(--fg-muted);
2615 font-size: 0.85rem;
2616 display: flex;
2617 align-items: center;
2618 gap: 0.5rem;
2619 padding: 0.55rem 0;
2620 margin: 0 0 1rem 1.2rem;
2621 position: relative;
2622 }
2623 .shithub-event::before {
2624 content: "";
2625 position: absolute;
2626 top: -1rem;
2627 bottom: -1rem;
2628 left: 0.6rem;
2629 border-left: 2px solid var(--border-default);
2630 z-index: 0;
2631 }
2632 .shithub-event-icon {
2633 width: 1.3rem;
2634 height: 1.3rem;
2635 border: 1px solid var(--border-default);
2636 border-radius: 50%;
2637 background: var(--canvas-default);
2638 color: var(--fg-muted);
2639 display: inline-flex;
2640 align-items: center;
2641 justify-content: center;
2642 position: relative;
2643 z-index: 1;
2644 flex: 0 0 auto;
2645 }
2646 .shithub-event-icon svg { width: 0.8rem; height: 0.8rem; }
2647 .shithub-event-linked .shithub-event-icon { color: var(--fg-muted); }
2648 .shithub-event a { font-weight: 600; }
2649 .shithub-comment-form { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 1rem; }
2650 .shithub-comment-form textarea, .shithub-issue-form textarea, .shithub-issue-form input[type=text] {
2651 font: inherit; padding: 0.5rem; border: 1px solid var(--border-default); border-radius: 6px; width: 100%;
2652 resize: vertical;
2653 }
2654 .shithub-issue-form { display: flex; flex-direction: column; gap: 1rem; max-width: 48rem; }
2655 .shithub-form-row { display: flex; flex-direction: column; gap: 0.25rem; }
2656 .shithub-form-row span { font-weight: 600; font-size: 0.9rem; }
2657 .shithub-form-actions { display: flex; gap: 0.5rem; justify-content: flex-end; }
2658 .shithub-form-actions-start { justify-content: flex-start; }
2659 .shithub-issue-sidebar section { padding: 0.75rem 0; border-bottom: 1px solid var(--border-default); position: relative; }
2660 .shithub-sidebar-heading { display: flex; justify-content: space-between; gap: 0.75rem; align-items: center; margin-bottom: 0.5rem; }
2661 .shithub-issue-sidebar h3 { font-size: 0.85rem; color: var(--fg-muted); margin: 0; }
2662 .shithub-sidebar-icon, .shithub-sidebar-editor > summary {
2663 color: var(--fg-muted);
2664 display: inline-flex;
2665 align-items: center;
2666 justify-content: center;
2667 width: 1.25rem;
2668 height: 1.25rem;
2669 cursor: pointer;
2670 }
2671 .shithub-sidebar-editor > summary { list-style: none; }
2672 .shithub-sidebar-editor > summary::-webkit-details-marker { display: none; }
2673 .shithub-popover {
2674 position: absolute;
2675 right: 0;
2676 top: 2rem;
2677 z-index: 20;
2678 min-width: 17rem;
2679 display: flex;
2680 flex-direction: column;
2681 gap: 0.55rem;
2682 padding: 0.75rem;
2683 background: var(--canvas-default);
2684 border: 1px solid var(--border-default);
2685 border-radius: 8px;
2686 box-shadow: 0 8px 24px rgba(140, 149, 159, 0.2);
2687 }
2688 .shithub-popover input[type=text], .shithub-popover select {
2689 font: inherit;
2690 width: 100%;
2691 padding: 0.45rem 0.5rem;
2692 border: 1px solid var(--border-default);
2693 border-radius: 6px;
2694 background: var(--canvas-default);
2695 color: var(--fg-default);
2696 }
2697 .shithub-inline-form { display: inline; }
2698 .shithub-link-button {
2699 border: 0;
2700 padding: 0;
2701 background: transparent;
2702 color: var(--accent-emphasis, #0969da);
2703 font: inherit;
2704 cursor: pointer;
2705 display: inline-flex;
2706 gap: 0.35rem;
2707 align-items: center;
2708 }
2709 .shithub-sidebar-button { width: 100%; }
2710 .shithub-participant { display: inline-block; margin: 0 0.35rem 0.35rem 0; }
2711 .shithub-issue-actions form { margin: 0.25rem 0; }
2712 .shithub-issue-signedout { color: var(--fg-muted); padding: 1rem; text-align: center; border: 1px dashed var(--border-default); border-radius: 6px; }
2713 .shithub-label {
2714 display: inline-block;
2715 font-size: 0.75rem;
2716 padding: 0.1rem 0.5rem;
2717 border-radius: 1rem;
2718 color: #1f2328;
2719 font-weight: 500;
2720 margin: 0 0.15rem;
2721 }
2722 .shithub-label-pick { display: flex; gap: 0.4rem; align-items: center; padding: 0.2rem 0; }
2723 .shithub-assignee-form { display: flex; gap: 0.25rem; flex-wrap: wrap; margin-top: 0.5rem; }
2724 .shithub-assignee-form input[type=text] { padding: 0.3rem 0.5rem; border: 1px solid var(--border-default); border-radius: 6px; }
2725 .shithub-labels-list, .shithub-milestones-list { list-style: none; padding: 0; }
2726 .shithub-labels-row, .shithub-milestones-row {
2727 padding: 0.75rem 0;
2728 border-bottom: 1px solid var(--border-default);
2729 display: flex; gap: 0.75rem; align-items: center; flex-wrap: wrap;
2730 }
2731 .shithub-label-form, .shithub-milestone-form { display: flex; flex-wrap: wrap; gap: 0.4rem; padding: 0.5rem 0; }
2732 .shithub-label-form input, .shithub-milestone-form input, .shithub-milestone-form textarea {
2733 padding: 0.4rem 0.6rem; border: 1px solid var(--border-default); border-radius: 6px; font: inherit;
2734 }
2735 .shithub-button-danger { color: #cf222e; }
2736 .shithub-error { padding: 0.75rem; background: #ffebe9; border: 1px solid #ffcecb; border-radius: 6px; color: #82061e; margin-bottom: 1rem; }
2737 .shithub-muted { color: var(--fg-muted); }
2738
2739 /* ========== Pull Requests (S22) ========== */
2740 .shithub-pulls, .shithub-pull-view {
2741 max-width: 64rem;
2742 margin: 1.5rem auto;
2743 padding: 0 1rem;
2744 }
2745 .shithub-pull-head { margin-bottom: 0.75rem; }
2746 .shithub-pull-merged { background: #8250df22; color: #8250df; }
2747 .shithub-pull-tabs {
2748 display: flex; gap: 1.5rem;
2749 border-bottom: 1px solid var(--border-default);
2750 margin: 0.75rem 0 1rem;
2751 }
2752 .shithub-pull-tab {
2753 color: var(--fg-muted);
2754 padding: 0.4rem 0;
2755 border-bottom: 2px solid transparent;
2756 }
2757 .shithub-pull-tab-active {
2758 color: var(--fg-default);
2759 border-bottom-color: var(--accent-emphasis, #0969da);
2760 font-weight: 600;
2761 }
2762 .shithub-pull-grid { display: grid; grid-template-columns: 1fr 16rem; gap: 1.5rem; }
2763 @media (max-width: 768px) { .shithub-pull-grid { grid-template-columns: 1fr; } }
2764 .shithub-pull-merge { padding: 0.75rem; border: 1px solid var(--border-default); border-radius: 6px; }
2765 .shithub-pull-merge h3 { font-size: 0.85rem; text-transform: uppercase; color: var(--fg-muted); margin: 0 0 0.5rem; }
2766 .shithub-pull-state-clean { color: #1a7f37; font-weight: 600; }
2767 .shithub-pull-state-dirty { color: #cf222e; font-weight: 600; }
2768 .shithub-pull-state-behind { color: #9a6700; }
2769 .shithub-pull-state-unknown { color: var(--fg-muted); }
2770 .shithub-pull-merge-form { display: flex; flex-direction: column; gap: 0.5rem; margin-bottom: 0.5rem; }
2771 .shithub-pull-merge-form select { padding: 0.4rem; border: 1px solid var(--border-default); border-radius: 6px; font: inherit; }
2772 .shithub-pull-state-form { margin-top: 0.5rem; }
2773 .shithub-pull-refs { display: flex; gap: 0.4rem; align-items: flex-end; }
2774 .shithub-pull-refs label { flex: 1; }
2775 .shithub-pull-arrow { font-size: 1.4rem; padding: 0 0.4rem; align-self: center; }
2776 .shithub-pull-commits { list-style: none; padding: 0; }
2777 .shithub-pull-commits li {
2778 padding: 0.4rem 0; border-bottom: 1px solid var(--border-default);
2779 display: flex; gap: 0.6rem; align-items: baseline;
2780 }
2781
2782 /* ========== PR Reviews (S23) ========== */
2783 .shithub-pull-reviews, .shithub-pull-reviewers {
2784 border-top: 1px solid var(--border-default);
2785 padding: 0.6rem 0;
2786 }
2787 .shithub-pull-reviews h3, .shithub-pull-reviewers h3 {
2788 font-size: 0.85rem; text-transform: uppercase; color: var(--fg-muted); margin: 0 0 0.4rem;
2789 }
2790 .shithub-pull-reviews-list, .shithub-pull-reviewers-list {
2791 list-style: none; padding: 0; margin: 0; font-size: 0.9rem;
2792 }
2793 .shithub-pull-reviews-list li { padding: 0.2rem 0; display: flex; gap: 0.35rem; flex-wrap: wrap; align-items: baseline; }
2794 .shithub-pull-review-state { font-weight: 600; }
2795 .shithub-pull-review-approve .shithub-pull-review-state { color: #1a7f37; }
2796 .shithub-pull-review-request_changes .shithub-pull-review-state { color: #cf222e; }
2797 .shithub-pull-review-comment .shithub-pull-review-state { color: var(--fg-muted); }
2798 .shithub-pull-review-dismissed { opacity: 0.5; text-decoration: line-through; }
2799 .shithub-pull-request-reviewer summary, .shithub-pull-submit-review summary {
2800 margin: 0.5rem 0 0.25rem;
2801 }
2802 .shithub-pull-review-form { display: flex; flex-direction: column; gap: 0.4rem; padding: 0.4rem 0; }
2803 .shithub-pull-review-form textarea, .shithub-pull-review-form select {
2804 padding: 0.4rem; border: 1px solid var(--border-default); border-radius: 6px; font: inherit;
2805 }
2806 .shithub-pull-threads { margin-top: 1.5rem; padding: 0.75rem; border: 1px solid var(--border-default); border-radius: 6px; }
2807 .shithub-pull-thread-file { padding: 0.4rem 0; border-bottom: 1px solid var(--border-default); }
2808 .shithub-pull-thread-file:last-child { border-bottom: none; }
2809 .shithub-pull-thread-file summary { cursor: pointer; font-weight: 600; }
2810 .shithub-pull-thread { padding: 0.5rem; border-left: 3px solid var(--border-default); margin: 0.5rem 0; }
2811 .shithub-pull-thread-outdated { opacity: 0.6; border-left-color: #9a6700; }
2812 .shithub-pull-thread-resolved { opacity: 0.7; border-left-color: #1a7f37; }
2813 .shithub-pull-thread-actions { display: flex; gap: 0.3rem; margin-top: 0.4rem; flex-wrap: wrap; }
2814 .shithub-pull-thread-actions textarea, .shithub-pull-thread-actions input[type=text] {
2815 padding: 0.3rem; border: 1px solid var(--border-default); border-radius: 6px; font: inherit;
2816 }
2817 .shithub-pull-add-comment summary { margin-top: 0.5rem; }
2818 .shithub-pull-add-comment form { display: flex; flex-direction: column; gap: 0.3rem; padding: 0.4rem 0; }
2819 .shithub-pull-add-comment input, .shithub-pull-add-comment textarea {
2820 padding: 0.3rem 0.5rem; border: 1px solid var(--border-default); border-radius: 6px; font: inherit;
2821 }
2822
2823 /* ========== PR Checks tab (S24) ========== */
2824 .shithub-pull-checks { display: flex; flex-direction: column; gap: 0.75rem; padding: 0.5rem 0; }
2825 .shithub-pull-check-suite {
2826 border: 1px solid var(--border-default);
2827 border-radius: 6px;
2828 padding: 0.75rem;
2829 }
2830 .shithub-pull-check-suite h3 {
2831 display: flex; gap: 0.5rem; align-items: center; flex-wrap: wrap;
2832 font-size: 1rem; margin: 0 0 0.5rem;
2833 }
2834 .shithub-pull-check-app { font-family: var(--mono, monospace); font-size: 0.85rem; color: var(--fg-muted); }
2835 .shithub-pull-check-suite-status { font-size: 0.8rem; padding: 0.05rem 0.4rem; border-radius: 999px; background: var(--canvas-subtle); }
2836 .shithub-pull-check-runs { list-style: none; padding: 0; margin: 0; }
2837 .shithub-pull-check-run {
2838 display: flex; gap: 0.5rem; align-items: baseline;
2839 padding: 0.3rem 0; border-bottom: 1px solid var(--border-default);
2840 flex-wrap: wrap;
2841 }
2842 .shithub-pull-check-run:last-child { border-bottom: none; }
2843 .shithub-pull-check-status-completed { color: #1a7f37; }
2844 .shithub-pull-check-status-in_progress { color: #9a6700; }
2845 .shithub-pull-check-status-queued { color: var(--fg-muted); }
2846 .shithub-pull-check-status-pending { color: var(--fg-muted); }
2847 .shithub-pull-check-conclusion {
2848 font-size: 0.75rem; padding: 0.05rem 0.4rem; border-radius: 999px;
2849 text-transform: lowercase;
2850 }
2851 .shithub-pull-check-conclusion-success { background: #1a7f3722; color: #1a7f37; }
2852 .shithub-pull-check-conclusion-failure { background: #cf222e22; color: #cf222e; }
2853 .shithub-pull-check-conclusion-neutral { background: #d0d7de44; color: var(--fg-muted); }
2854 .shithub-pull-check-conclusion-cancelled,
2855 .shithub-pull-check-conclusion-skipped,
2856 .shithub-pull-check-conclusion-stale { color: var(--fg-muted); background: var(--canvas-subtle); }
2857 .shithub-pull-check-conclusion-timed_out { background: #9a670022; color: #9a6700; }
2858 .shithub-pull-check-conclusion-action_required { background: #cf222e22; color: #cf222e; font-weight: 600; }
2859
2860 /* S26 — stars / watchers / forks list pages */
2861 .shithub-social { max-width: 1012px; margin: 0 auto; padding: 1.5rem 0; }
2862 .shithub-social-subhead {
2863 display: flex;
2864 align-items: baseline;
2865 gap: 0.75rem;
2866 padding-bottom: 0.85rem;
2867 border-bottom: 1px solid var(--border-default);
2868 }
2869 .shithub-social-subhead h1 {
2870 margin: 0;
2871 font-size: 1.55rem;
2872 font-weight: 400;
2873 }
2874 .shithub-social-subhead p { margin: 0; color: var(--fg-muted); }
2875 .shithub-social-tabnav {
2876 display: flex;
2877 gap: 0.25rem;
2878 margin: 1rem 0;
2879 border-bottom: 1px solid var(--border-default);
2880 }
2881 .shithub-social-tabnav a,
2882 .shithub-social-tabnav span {
2883 display: inline-flex;
2884 align-items: center;
2885 gap: 0.35rem;
2886 padding: 0.55rem 0.85rem;
2887 color: var(--fg-default);
2888 border-bottom: 2px solid transparent;
2889 position: relative;
2890 bottom: -1px;
2891 }
2892 .shithub-social-tabnav a:hover { text-decoration: none; background: var(--canvas-subtle); border-radius: 6px 6px 0 0; }
2893 .shithub-social-tabnav .is-active { border-bottom-color: var(--accent-emphasis); font-weight: 600; }
2894 .shithub-social-tabnav .is-disabled { color: var(--fg-muted); }
2895 .shithub-social-list {
2896 list-style: none;
2897 padding: 0;
2898 margin: 1rem 0;
2899 border: 1px solid var(--border-default);
2900 border-radius: 6px;
2901 background: var(--canvas-default);
2902 }
2903 .shithub-social-list li {
2904 display: grid;
2905 grid-template-columns: 40px minmax(0, 1fr) auto;
2906 gap: 0.85rem;
2907 align-items: center;
2908 padding: 1rem;
2909 border-bottom: 1px solid var(--border-muted);
2910 }
2911 .shithub-social-list li:last-child { border-bottom: none; }
2912 .shithub-social-avatar,
2913 .shithub-social-avatar img {
2914 display: block;
2915 width: 40px;
2916 height: 40px;
2917 border-radius: 50%;
2918 }
2919 .shithub-social-avatar img { border: 1px solid var(--border-muted); }
2920 .shithub-social-person {
2921 min-width: 0;
2922 display: grid;
2923 gap: 0.1rem;
2924 }
2925 .shithub-social-person strong { font-size: 1rem; }
2926 .shithub-social-person span,
2927 .shithub-social-time,
2928 .shithub-social-meta {
2929 color: var(--fg-muted);
2930 font-size: 0.875rem;
2931 }
2932 .shithub-social-meta {
2933 display: flex;
2934 align-items: center;
2935 justify-content: end;
2936 gap: 0.75rem;
2937 flex-wrap: wrap;
2938 }
2939 .shithub-social-meta span {
2940 display: inline-flex;
2941 align-items: center;
2942 gap: 0.25rem;
2943 }
2944 .shithub-social-fork-badges {
2945 display: flex;
2946 gap: 0.35rem;
2947 flex-wrap: wrap;
2948 margin-top: 0.25rem;
2949 }
2950 .shithub-social-blank {
2951 margin: 1rem 0;
2952 padding: 2.5rem 1.5rem;
2953 border: 1px solid var(--border-default);
2954 border-radius: 6px;
2955 text-align: center;
2956 color: var(--fg-muted);
2957 }
2958 .shithub-social-blank svg {
2959 width: 24px;
2960 height: 24px;
2961 color: var(--fg-muted);
2962 margin-bottom: 0.75rem;
2963 }
2964 .shithub-social-blank h2 {
2965 margin: 0 0 0.4rem;
2966 color: var(--fg-default);
2967 font-size: 1.25rem;
2968 font-weight: 600;
2969 }
2970 .shithub-social-blank p {
2971 max-width: 520px;
2972 margin: 0 auto;
2973 }
2974 @media (max-width: 700px) {
2975 .shithub-social-list li {
2976 grid-template-columns: 40px minmax(0, 1fr);
2977 }
2978 .shithub-social-time,
2979 .shithub-social-meta {
2980 grid-column: 2;
2981 justify-content: start;
2982 }
2983 }
2984 .shithub-meta { color: var(--fg-muted); margin: 0.25rem 0 1rem; }
2985 .shithub-empty { color: var(--fg-muted); padding: 1rem; }
2986 .shithub-pagination {
2987 display: flex; gap: 0.5rem; padding: 1rem 0;
2988 }
2989
2990 /* S28 — search */
2991 .shithub-nav-search {
2992 position: relative;
2993 flex: 1 1 22rem;
2994 display: flex;
2995 align-items: center;
2996 max-width: 32rem;
2997 margin: 0 1rem;
2998 }
2999 .shithub-nav-search-icon {
3000 position: absolute;
3001 left: 0.65rem;
3002 top: 50%;
3003 transform: translateY(-50%);
3004 color: var(--fg-muted);
3005 line-height: 0;
3006 pointer-events: none;
3007 }
3008 .shithub-nav-search input {
3009 width: 100%;
3010 min-height: 2rem;
3011 padding: 0.35rem 2rem 0.35rem 2rem;
3012 border: 1px solid var(--border-default);
3013 border-radius: 6px;
3014 background: var(--canvas-default);
3015 color: var(--fg-default);
3016 font-size: 0.85rem;
3017 }
3018 .shithub-nav-search-key {
3019 position: absolute;
3020 right: 0.55rem;
3021 top: 50%;
3022 transform: translateY(-50%);
3023 min-width: 1rem;
3024 padding: 0 0.25rem;
3025 border: 1px solid var(--border-default);
3026 border-radius: 4px;
3027 color: var(--fg-muted);
3028 font-size: 0.75rem;
3029 line-height: 1.15rem;
3030 text-align: center;
3031 pointer-events: none;
3032 }
3033 .shithub-search-page {
3034 padding: 1.5rem 1rem 3rem;
3035 }
3036 .shithub-search-shell {
3037 display: grid;
3038 grid-template-columns: 220px minmax(0, 1fr);
3039 gap: 2rem;
3040 max-width: 1280px;
3041 margin: 0 auto;
3042 }
3043 .shithub-search-sidebar {
3044 padding-top: 3.35rem;
3045 }
3046 .shithub-search-sidebar h2 {
3047 margin: 0 0 0.55rem;
3048 font-size: 0.875rem;
3049 font-weight: 600;
3050 }
3051 .shithub-search-filter-list {
3052 display: flex;
3053 flex-direction: column;
3054 }
3055 .shithub-search-filter {
3056 display: flex;
3057 align-items: center;
3058 justify-content: space-between;
3059 gap: 0.75rem;
3060 min-height: 2.25rem;
3061 padding: 0.4rem 0.65rem;
3062 border-radius: 6px;
3063 color: var(--fg-default);
3064 font-size: 0.875rem;
3065 }
3066 .shithub-search-filter:hover {
3067 background: var(--canvas-subtle);
3068 text-decoration: none;
3069 }
3070 .shithub-search-filter.is-selected {
3071 background: var(--canvas-subtle);
3072 font-weight: 600;
3073 }
3074 .shithub-search-filter.is-selected::before {
3075 content: "";
3076 width: 4px;
3077 align-self: stretch;
3078 margin: -0.4rem 0 -0.4rem -0.65rem;
3079 border-radius: 6px 0 0 6px;
3080 background: var(--accent-emphasis);
3081 }
3082 .shithub-search-filter-label {
3083 display: inline-flex;
3084 align-items: center;
3085 gap: 0.45rem;
3086 min-width: 0;
3087 }
3088 .shithub-search-filter-label svg {
3089 color: var(--fg-muted);
3090 flex: 0 0 auto;
3091 }
3092 .shithub-search-filter-count {
3093 color: var(--fg-muted);
3094 font-size: 0.75rem;
3095 }
3096 .shithub-search-results {
3097 min-width: 0;
3098 }
3099 .shithub-search-query-form {
3100 display: flex;
3101 gap: 0.5rem;
3102 margin-bottom: 1.25rem;
3103 }
3104 .shithub-search-query-form input[type=text] {
3105 flex: 1;
3106 min-height: 2.35rem;
3107 padding: 0.45rem 0.75rem;
3108 border: 1px solid var(--border-default);
3109 border-radius: 6px;
3110 background: var(--canvas-default);
3111 color: var(--fg-default);
3112 font-size: 0.875rem;
3113 }
3114 .shithub-search-results-head {
3115 display: flex;
3116 align-items: center;
3117 justify-content: space-between;
3118 gap: 1rem;
3119 padding-bottom: 0.9rem;
3120 border-bottom: 1px solid var(--border-default);
3121 }
3122 .shithub-search-results-head h1 {
3123 margin: 0;
3124 font-size: 1.25rem;
3125 line-height: 1.3;
3126 }
3127 .shithub-search-sort {
3128 position: relative;
3129 flex: 0 0 auto;
3130 }
3131 .shithub-search-sort > summary {
3132 list-style: none;
3133 display: inline-flex;
3134 align-items: center;
3135 min-height: 2rem;
3136 padding: 0.35rem 0.75rem;
3137 border: 1px solid var(--border-default);
3138 border-radius: 6px;
3139 background: var(--canvas-subtle);
3140 color: var(--fg-default);
3141 cursor: pointer;
3142 font-size: 0.875rem;
3143 font-weight: 500;
3144 }
3145 .shithub-search-sort > summary::-webkit-details-marker { display: none; }
3146 .shithub-search-sort > div {
3147 position: absolute;
3148 right: 0;
3149 top: calc(100% + 0.4rem);
3150 z-index: 20;
3151 min-width: 190px;
3152 padding: 0.35rem 0;
3153 border: 1px solid var(--border-default);
3154 border-radius: 6px;
3155 background: var(--canvas-default);
3156 box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
3157 }
3158 .shithub-search-sort span {
3159 display: block;
3160 padding: 0.45rem 0.75rem;
3161 font-size: 0.875rem;
3162 }
3163 .shithub-search-result-list {
3164 list-style: none;
3165 padding: 0;
3166 margin: 0;
3167 }
3168 .shithub-search-result {
3169 display: flex;
3170 gap: 0.75rem;
3171 justify-content: space-between;
3172 padding: 1rem 0;
3173 border-bottom: 1px solid var(--border-default);
3174 }
3175 .shithub-search-result-main {
3176 min-width: 0;
3177 }
3178 .shithub-search-result h2 {
3179 display: flex;
3180 align-items: center;
3181 gap: 0.45rem;
3182 margin: 0;
3183 font-size: 1rem;
3184 line-height: 1.35;
3185 font-weight: 600;
3186 }
3187 .shithub-search-result h2 svg {
3188 flex: 0 0 auto;
3189 color: var(--fg-muted);
3190 }
3191 .shithub-search-result p {
3192 margin: 0.35rem 0 0;
3193 color: var(--fg-default);
3194 font-size: 0.875rem;
3195 }
3196 .shithub-search-result-path {
3197 color: var(--fg-muted) !important;
3198 }
3199 .shithub-search-avatar,
3200 .shithub-search-user-avatar {
3201 border-radius: 50%;
3202 background: var(--canvas-subtle);
3203 flex: 0 0 auto;
3204 }
3205 .shithub-search-result-meta {
3206 display: flex;
3207 gap: 0.5rem;
3208 flex-wrap: wrap;
3209 align-items: center;
3210 padding: 0;
3211 margin: 0.65rem 0 0;
3212 color: var(--fg-muted);
3213 list-style: none;
3214 font-size: 0.75rem;
3215 }
3216 .shithub-search-result-meta li {
3217 display: inline-flex;
3218 align-items: center;
3219 gap: 0.25rem;
3220 }
3221 .shithub-search-result-meta li + li::before {
3222 content: "";
3223 width: 3px;
3224 height: 3px;
3225 margin-right: 0.15rem;
3226 border-radius: 50%;
3227 background: var(--fg-muted);
3228 opacity: 0.7;
3229 }
3230 .shithub-search-star {
3231 align-self: flex-start;
3232 color: var(--fg-default);
3233 border-color: var(--border-default);
3234 background: var(--canvas-subtle);
3235 }
3236 .shithub-search-state {
3237 display: inline-flex;
3238 align-items: center;
3239 line-height: 0;
3240 }
3241 .shithub-search-state-open svg { color: var(--success-fg); }
3242 .shithub-search-state-closed svg { color: #8250df; }
3243 .shithub-search-state-pr svg { color: var(--accent-fg); }
3244 .shithub-search-user-result {
3245 justify-content: flex-start;
3246 }
3247 .shithub-search-code-preview {
3248 margin: 0.75rem 0 0;
3249 padding: 0.65rem 0.75rem;
3250 border: 1px solid var(--border-default);
3251 border-radius: 6px;
3252 background: var(--canvas-subtle);
3253 color: var(--fg-default);
3254 overflow-x: auto;
3255 }
3256 .shithub-search-code-preview code {
3257 padding: 0;
3258 background: transparent;
3259 }
3260 .shithub-search-empty,
3261 .shithub-search-blank {
3262 padding: 2rem 0;
3263 color: var(--fg-muted);
3264 }
3265 .shithub-search-blank h1 {
3266 margin: 0 0 0.4rem;
3267 color: var(--fg-default);
3268 font-size: 1.25rem;
3269 }
3270 .shithub-search-blank p {
3271 margin: 0;
3272 }
3273 .shithub-search-pagination {
3274 display: flex;
3275 justify-content: center;
3276 gap: 0.5rem;
3277 padding: 1.5rem 0 0;
3278 }
3279 .shithub-quick-dropdown { padding: 0.5rem; }
3280 .shithub-quick-section { padding: 0.25rem 0; border-bottom: 1px solid var(--border-default); }
3281 .shithub-quick-section:last-of-type { border-bottom: none; }
3282 .shithub-quick-section h3 { font-size: 0.7rem; text-transform: uppercase; color: var(--fg-muted); margin: 0.25rem 0; }
3283 .shithub-quick-section ul { list-style: none; padding: 0; margin: 0; }
3284 .shithub-quick-section li { padding: 0.25rem 0; }
3285 .shithub-quick-footer { padding: 0.5rem 0; border-top: 1px solid var(--border-default); text-align: center; }
3286 @media (max-width: 760px) {
3287 .shithub-nav-search {
3288 order: 3;
3289 flex-basis: 100%;
3290 max-width: none;
3291 margin: 0;
3292 }
3293 .shithub-search-page {
3294 padding: 1rem;
3295 }
3296 .shithub-search-shell {
3297 grid-template-columns: 1fr;
3298 gap: 1rem;
3299 }
3300 .shithub-search-sidebar {
3301 padding-top: 0;
3302 }
3303 .shithub-search-filter-list {
3304 flex-direction: row;
3305 gap: 0.25rem;
3306 overflow-x: auto;
3307 padding-bottom: 0.25rem;
3308 }
3309 .shithub-search-filter {
3310 flex: 0 0 auto;
3311 }
3312 .shithub-search-filter.is-selected::before {
3313 display: none;
3314 }
3315 .shithub-search-query-form,
3316 .shithub-search-results-head,
3317 .shithub-search-result {
3318 align-items: stretch;
3319 flex-direction: column;
3320 }
3321 .shithub-search-star {
3322 align-self: flex-start;
3323 }
3324 }
3325
3326 /* S34 — admin impersonation banner. Sticky-top, loud red so the
3327 admin can't lose track of "I am viewing as someone else right
3328 now." Position: fixed-on-scroll keeps it visible no matter where
3329 on the page they navigate. */
3330 .shithub-imp-banner {
3331 position: sticky;
3332 top: 0;
3333 z-index: 100;
3334 background: var(--danger-fg);
3335 color: #ffffff;
3336 padding: 0.5rem 1rem;
3337 text-align: center;
3338 font-size: 0.875rem;
3339 }
3340 .shithub-imp-banner .shithub-button {
3341 background: rgba(0, 0, 0, 0.25);
3342 color: #ffffff;
3343 border: 1px solid rgba(255, 255, 255, 0.4);
3344 }
3345 .shithub-imp-write { background: #ffd33d; color: #1a1f24; padding: 0 0.4em; border-radius: 4px; font-weight: 600; }
3346 .shithub-imp-read { background: rgba(255, 255, 255, 0.2); padding: 0 0.4em; border-radius: 4px; }