emdash-plugin-sitegraph 0.0.0-stage → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,798 @@
1
+ /* SiteGraph admin styles. Everything is scoped under .sg-* and drawn from the host's Kumo
2
+ tokens, so it follows the admin's light/dark theme. Fallbacks only matter outside the admin. */
3
+
4
+ .sg-root,
5
+ .sg-widget {
6
+ --sg-text: var(--text-color-kumo-default, #1c1c1e);
7
+ --sg-strong: var(--text-color-kumo-strong, #000);
8
+ --sg-subtle: var(--text-color-kumo-subtle, #6b6b70);
9
+ --sg-surface: var(--color-kumo-base, #fff);
10
+ --sg-raised: var(--color-kumo-elevated, #fff);
11
+ --sg-sunken: var(--color-kumo-recessed, #f5f5f6);
12
+ --sg-line: var(--color-kumo-line, #dcdce0);
13
+ --sg-hair: var(--color-kumo-hairline, #ececef);
14
+ --sg-brand: var(--color-kumo-brand, #2563eb);
15
+ --sg-focus: var(--color-kumo-focus, #2563eb);
16
+ --sg-danger: var(--text-color-kumo-danger, #c62828);
17
+ --sg-danger-bg: var(--color-kumo-danger-tint, #fdecea);
18
+ --sg-warn: var(--text-color-kumo-warning, #9a5b00);
19
+ --sg-warn-bg: var(--color-kumo-warning-tint, #fff4e0);
20
+ --sg-documented: var(--color-kumo-badge-purple, #7c3aed);
21
+ color: var(--sg-text);
22
+ }
23
+
24
+ .sg-root {
25
+ display: grid;
26
+ gap: 1rem;
27
+ min-width: 0;
28
+ }
29
+
30
+ .sg-root h1 {
31
+ font-size: 1.5rem;
32
+ font-weight: 600;
33
+ color: var(--sg-strong);
34
+ margin: 0;
35
+ }
36
+
37
+ .sg-root h2 {
38
+ font-size: 1.125rem;
39
+ font-weight: 600;
40
+ color: var(--sg-strong);
41
+ margin: 0.15rem 0 0.25rem;
42
+ overflow-wrap: anywhere;
43
+ }
44
+
45
+ .sg-root h3 {
46
+ font-size: 0.875rem;
47
+ font-weight: 600;
48
+ color: var(--sg-strong);
49
+ margin: 0 0 0.5rem;
50
+ }
51
+
52
+ .sg-root h4 {
53
+ font-size: 0.8125rem;
54
+ font-weight: 600;
55
+ margin: 0.75rem 0 0.35rem;
56
+ }
57
+
58
+ .sg-root p {
59
+ margin: 0;
60
+ }
61
+
62
+ .sg-muted {
63
+ color: var(--sg-subtle);
64
+ font-size: 0.8125rem;
65
+ }
66
+
67
+ .sg-error {
68
+ color: var(--sg-danger);
69
+ font-size: 0.8125rem;
70
+ }
71
+
72
+ .sg-warn {
73
+ color: var(--sg-warn);
74
+ background: var(--sg-warn-bg);
75
+ border-radius: 6px;
76
+ padding: 0.4rem 0.6rem;
77
+ font-size: 0.8125rem;
78
+ }
79
+
80
+ .sg-row {
81
+ display: flex;
82
+ flex-wrap: wrap;
83
+ gap: 0.5rem;
84
+ align-items: center;
85
+ }
86
+
87
+ .sg-top {
88
+ display: flex;
89
+ flex-wrap: wrap;
90
+ justify-content: space-between;
91
+ align-items: flex-start;
92
+ gap: 1rem;
93
+ }
94
+
95
+ .sg-scan {
96
+ display: grid;
97
+ justify-items: end;
98
+ gap: 0.35rem;
99
+ max-width: 32rem;
100
+ text-align: right;
101
+ }
102
+
103
+ @media (max-width: 760px) {
104
+ .sg-scan {
105
+ justify-items: start;
106
+ text-align: left;
107
+ }
108
+ }
109
+
110
+ /* Stats: plain numbers, one alert state. */
111
+ .sg-stats {
112
+ display: flex;
113
+ flex-wrap: wrap;
114
+ gap: 0.5rem 2rem;
115
+ margin: 0;
116
+ align-items: flex-end;
117
+ }
118
+
119
+ .sg-stats div {
120
+ display: grid;
121
+ }
122
+
123
+ .sg-stats dt {
124
+ font-size: 0.75rem;
125
+ color: var(--sg-subtle);
126
+ }
127
+
128
+ .sg-stats dd {
129
+ margin: 0;
130
+ font-size: 1.375rem;
131
+ font-weight: 600;
132
+ color: var(--sg-strong);
133
+ font-variant-numeric: tabular-nums;
134
+ }
135
+
136
+ .sg-stats [data-alert] dd {
137
+ color: var(--sg-danger);
138
+ }
139
+
140
+ .sg-empty {
141
+ border: 1px dashed var(--sg-line);
142
+ border-radius: 10px;
143
+ padding: 2rem;
144
+ max-width: 40rem;
145
+ display: grid;
146
+ gap: 0.5rem;
147
+ }
148
+
149
+ /* Workspace: finder | graph | details. Collapses rather than clipping (no fixed page height). */
150
+ .sg-workspace {
151
+ --sg-panel-h: clamp(30rem, calc(100vh - 16rem), 48rem);
152
+ display: grid;
153
+ grid-template-columns: 16rem minmax(0, 1fr);
154
+ gap: 1rem;
155
+ align-items: start;
156
+ }
157
+
158
+ .sg-workspace > :is(.sg-finder, .sg-stage, .sg-details) {
159
+ height: var(--sg-panel-h);
160
+ }
161
+
162
+ .sg-workspace[data-has-details] {
163
+ grid-template-columns: 16rem minmax(0, 1fr) 21rem;
164
+ }
165
+
166
+ @media (max-width: 1180px) {
167
+ .sg-workspace[data-has-details] {
168
+ grid-template-columns: 16rem minmax(0, 1fr);
169
+ }
170
+ .sg-workspace[data-has-details] .sg-details {
171
+ grid-column: 1 / -1;
172
+ }
173
+ }
174
+
175
+ @media (max-width: 1180px) {
176
+ .sg-workspace[data-has-details] .sg-details {
177
+ height: auto;
178
+ }
179
+ }
180
+
181
+ @media (max-width: 760px) {
182
+ .sg-workspace,
183
+ .sg-workspace[data-has-details] {
184
+ grid-template-columns: minmax(0, 1fr);
185
+ }
186
+ .sg-workspace > :is(.sg-finder, .sg-details) {
187
+ height: auto;
188
+ }
189
+ .sg-workspace > .sg-stage {
190
+ height: 32rem;
191
+ }
192
+ .sg-results {
193
+ max-height: 16rem;
194
+ }
195
+ }
196
+
197
+ .sg-finder,
198
+ .sg-details,
199
+ .sg-stage {
200
+ background: var(--sg-surface);
201
+ border: 1px solid var(--sg-line);
202
+ border-radius: 10px;
203
+ min-width: 0;
204
+ }
205
+
206
+ .sg-finder {
207
+ padding: 0.75rem;
208
+ display: flex;
209
+ flex-direction: column;
210
+ gap: 0.6rem;
211
+ }
212
+
213
+ .sg-filters {
214
+ display: flex;
215
+ flex-wrap: wrap;
216
+ align-items: center;
217
+ gap: 0.5rem 0.75rem;
218
+ }
219
+
220
+ .sg-filters select {
221
+ flex: 1 1 8rem;
222
+ }
223
+
224
+ .sg-results,
225
+ .sg-options,
226
+ .sg-list {
227
+ list-style: none;
228
+ margin: 0;
229
+ padding: 0;
230
+ }
231
+
232
+ .sg-results {
233
+ flex: 1 1 auto;
234
+ min-height: 0;
235
+ overflow-y: auto;
236
+ margin: 0 -0.35rem;
237
+ padding-top: 0.25rem;
238
+ border-top: 1px solid var(--sg-hair);
239
+ }
240
+
241
+ .sg-results button {
242
+ display: flex;
243
+ align-items: baseline;
244
+ gap: 0.5rem;
245
+ width: 100%;
246
+ text-align: left;
247
+ padding: 0.4rem 0.6rem;
248
+ border: 0;
249
+ border-radius: 6px;
250
+ background: none;
251
+ color: inherit;
252
+ cursor: pointer;
253
+ }
254
+
255
+ .sg-results .sg-result-label {
256
+ flex: 1 1 auto;
257
+ min-width: 0;
258
+ }
259
+
260
+ .sg-results .sg-kind {
261
+ flex: none;
262
+ white-space: nowrap;
263
+ }
264
+
265
+ .sg-results > .sg-muted {
266
+ padding: 0.4rem 0.6rem;
267
+ }
268
+
269
+ .sg-options button {
270
+ display: grid;
271
+ gap: 0.1rem;
272
+ width: 100%;
273
+ text-align: left;
274
+ padding: 0.4rem 0.5rem;
275
+ border: 0;
276
+ border-radius: 6px;
277
+ background: none;
278
+ color: inherit;
279
+ cursor: pointer;
280
+ }
281
+
282
+ .sg-results button:hover,
283
+ .sg-options button:hover {
284
+ background: var(--sg-sunken);
285
+ }
286
+
287
+ .sg-result-label {
288
+ overflow-wrap: anywhere;
289
+ font-size: 0.875rem;
290
+ }
291
+
292
+ .sg-kind {
293
+ font-size: 0.6875rem;
294
+ color: var(--sg-subtle);
295
+ }
296
+
297
+ .sg-kind[data-broken] {
298
+ color: var(--sg-danger);
299
+ font-weight: 600;
300
+ }
301
+
302
+ .sg-check {
303
+ display: inline-flex;
304
+ gap: 0.4rem;
305
+ cursor: pointer;
306
+ align-items: center;
307
+ font-size: 0.8125rem;
308
+ }
309
+
310
+ /* Native controls drawn to Kumo's input spec (36px, 8px radius, inset ring) so they sit
311
+ flush with Kumo <Input>s. */
312
+ .sg-root select,
313
+ .sg-root textarea,
314
+ .sg-root input[type="search"]:not([class]) {
315
+ font: inherit;
316
+ font-size: 0.875rem;
317
+ color: var(--sg-text);
318
+ background-color: var(--sg-raised);
319
+ border: 0;
320
+ box-shadow: inset 0 0 0 1px var(--sg-line);
321
+ border-radius: 8px;
322
+ min-width: 0;
323
+ max-width: 100%;
324
+ outline: none;
325
+ }
326
+
327
+ .sg-root select,
328
+ .sg-root input[type="search"]:not([class]) {
329
+ height: 2.25rem;
330
+ padding: 0 0.75rem;
331
+ }
332
+
333
+ .sg-root select {
334
+ appearance: none;
335
+ padding-right: 2rem;
336
+ /* Mid-grey caret reads on both themes; CSS variables can't reach into a data URI. */
337
+ background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5 9 4.5' fill='none' stroke='%238a8a90' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
338
+ background-repeat: no-repeat;
339
+ background-position: right 0.7rem center;
340
+ cursor: pointer;
341
+ }
342
+
343
+ .sg-root select:disabled {
344
+ opacity: 0.5;
345
+ cursor: not-allowed;
346
+ }
347
+
348
+ .sg-root textarea {
349
+ width: 100%;
350
+ padding: 0.5rem 0.75rem;
351
+ resize: vertical;
352
+ }
353
+
354
+ .sg-root :is(select, textarea, input[type="search"]:not([class])):focus-visible {
355
+ box-shadow: inset 0 0 0 2px var(--sg-focus);
356
+ }
357
+
358
+ .sg-root :is(button, a):focus-visible {
359
+ outline: 2px solid var(--sg-focus);
360
+ outline-offset: 2px;
361
+ }
362
+
363
+ .sg-root input[type="checkbox"] {
364
+ accent-color: var(--sg-brand);
365
+ width: 1rem;
366
+ height: 1rem;
367
+ margin: 0;
368
+ }
369
+
370
+ .sg-field {
371
+ display: grid;
372
+ gap: 0.25rem;
373
+ font-size: 0.8125rem;
374
+ font-weight: 500;
375
+ }
376
+
377
+ .sg-form {
378
+ display: grid;
379
+ gap: 0.6rem;
380
+ }
381
+
382
+ .sg-add {
383
+ border-top: 1px solid var(--sg-hair);
384
+ padding-top: 0.6rem;
385
+ }
386
+
387
+ .sg-link {
388
+ border: 0;
389
+ background: none;
390
+ padding: 0;
391
+ color: var(--text-color-kumo-link, var(--sg-brand));
392
+ cursor: pointer;
393
+ text-align: left;
394
+ font: inherit;
395
+ overflow-wrap: anywhere;
396
+ }
397
+
398
+ .sg-link:hover {
399
+ text-decoration: underline;
400
+ }
401
+
402
+ .sg-danger {
403
+ color: var(--sg-danger);
404
+ }
405
+
406
+ /* Stage */
407
+ .sg-stage {
408
+ display: flex;
409
+ flex-direction: column;
410
+ overflow: hidden;
411
+ }
412
+
413
+ .sg-stage > :is(.sg-canvas, .sg-stage-empty, .sg-table-wrap) {
414
+ flex: 1 1 auto;
415
+ min-height: 0;
416
+ }
417
+
418
+ .sg-stage-bar {
419
+ display: flex;
420
+ flex-wrap: wrap;
421
+ justify-content: space-between;
422
+ align-items: center;
423
+ gap: 0.5rem;
424
+ padding: 0.5rem 0.75rem;
425
+ border-bottom: 1px solid var(--sg-hair);
426
+ }
427
+
428
+ .sg-stage-note {
429
+ margin: 0.5rem 0.75rem 0;
430
+ }
431
+
432
+ .sg-stage-empty {
433
+ display: grid;
434
+ place-items: center;
435
+ padding: 2rem;
436
+ }
437
+
438
+ .sg-stage-empty-body {
439
+ display: grid;
440
+ justify-items: start;
441
+ gap: 0.75rem;
442
+ max-width: 30rem;
443
+ color: var(--sg-subtle);
444
+ font-size: 0.875rem;
445
+ line-height: 1.5;
446
+ }
447
+
448
+ .sg-steps {
449
+ margin: 0;
450
+ padding-left: 1.25rem;
451
+ list-style: decimal;
452
+ display: grid;
453
+ gap: 0.6rem;
454
+ }
455
+
456
+ .sg-steps strong {
457
+ color: var(--sg-strong);
458
+ font-weight: 600;
459
+ }
460
+
461
+ .sg-hint {
462
+ font-size: 0.75rem;
463
+ color: var(--sg-subtle);
464
+ padding: 0.4rem 0.75rem;
465
+ border-top: 1px solid var(--sg-hair);
466
+ }
467
+
468
+ .sg-tabs {
469
+ display: inline-flex;
470
+ gap: 0.25rem;
471
+ }
472
+
473
+ .sg-tabs button {
474
+ border: 0;
475
+ background: none;
476
+ color: var(--sg-subtle);
477
+ font: inherit;
478
+ font-size: 0.8125rem;
479
+ padding: 0.3rem 0.6rem;
480
+ border-radius: 6px;
481
+ cursor: pointer;
482
+ }
483
+
484
+ .sg-tabs button[aria-selected="true"] {
485
+ background: var(--sg-sunken);
486
+ color: var(--sg-strong);
487
+ font-weight: 600;
488
+ }
489
+
490
+ .sg-legend {
491
+ display: flex;
492
+ gap: 1rem;
493
+ list-style: none;
494
+ margin: 0;
495
+ padding: 0;
496
+ font-size: 0.75rem;
497
+ color: var(--sg-subtle);
498
+ }
499
+
500
+ .sg-legend li {
501
+ display: inline-flex;
502
+ align-items: center;
503
+ gap: 0.35rem;
504
+ }
505
+
506
+ .sg-legend line {
507
+ stroke: currentColor;
508
+ stroke-width: 2;
509
+ }
510
+
511
+ /* Canvas. A tall minimum, never a fixed page height. */
512
+ .sg-canvas {
513
+ position: relative;
514
+ }
515
+
516
+ .sg-svg {
517
+ display: block;
518
+ width: 100%;
519
+ height: 100%;
520
+ touch-action: none;
521
+ cursor: grab;
522
+ user-select: none;
523
+ }
524
+
525
+ .sg-svg:active {
526
+ cursor: grabbing;
527
+ }
528
+
529
+ .sg-dot {
530
+ fill: var(--sg-line);
531
+ }
532
+
533
+ .sg-fo {
534
+ overflow: visible;
535
+ }
536
+
537
+ .sg-edge line {
538
+ stroke: var(--sg-subtle);
539
+ stroke-width: 1.4;
540
+ opacity: 0.55;
541
+ }
542
+
543
+ .sg-edge[data-prov="DOCUMENTED"] line {
544
+ stroke: var(--sg-documented);
545
+ opacity: 0.85;
546
+ }
547
+
548
+ .sg-edge[data-active] line {
549
+ stroke-width: 2.2;
550
+ opacity: 1;
551
+ }
552
+
553
+ .sg-edge text {
554
+ font-size: 11px;
555
+ fill: var(--sg-text);
556
+ paint-order: stroke;
557
+ stroke: var(--sg-surface);
558
+ stroke-width: 4px;
559
+ }
560
+
561
+ .sg-arrow {
562
+ fill: var(--sg-subtle);
563
+ }
564
+
565
+ .sg-zoom {
566
+ position: absolute;
567
+ right: 0.75rem;
568
+ bottom: 0.75rem;
569
+ display: flex;
570
+ gap: 2px;
571
+ background: var(--sg-raised);
572
+ border: 1px solid var(--sg-line);
573
+ border-radius: 6px;
574
+ padding: 2px;
575
+ }
576
+
577
+ .sg-zoom button {
578
+ min-width: 2rem;
579
+ height: 2rem;
580
+ border: 0;
581
+ border-radius: 4px;
582
+ background: none;
583
+ color: var(--sg-text);
584
+ font: inherit;
585
+ font-size: 0.875rem;
586
+ cursor: pointer;
587
+ }
588
+
589
+ .sg-zoom button:hover {
590
+ background: var(--sg-sunken);
591
+ }
592
+
593
+ /* Nodes: shape says what it is, text says it too. */
594
+ .sg-node {
595
+ display: grid;
596
+ gap: 0.1rem;
597
+ box-sizing: border-box;
598
+ height: 100%;
599
+ align-content: center;
600
+ padding: 0.35rem 0.6rem;
601
+ background: var(--sg-raised);
602
+ border: 1px solid var(--sg-line);
603
+ border-left: 4px solid var(--sg-brand);
604
+ border-radius: 6px;
605
+ color: var(--sg-text);
606
+ font-size: 0.8125rem;
607
+ line-height: 1.25;
608
+ cursor: pointer;
609
+ }
610
+
611
+ .sg-node-type {
612
+ font-size: 0.6875rem;
613
+ color: var(--sg-subtle);
614
+ }
615
+
616
+ .sg-node-label {
617
+ overflow: hidden;
618
+ display: -webkit-box;
619
+ -webkit-line-clamp: 2;
620
+ -webkit-box-orient: vertical;
621
+ overflow-wrap: anywhere;
622
+ }
623
+
624
+ .sg-node[data-type="URL"] {
625
+ border-left: 1px solid var(--sg-line);
626
+ border-radius: 999px;
627
+ padding-inline: 0.85rem;
628
+ background: var(--sg-sunken);
629
+ }
630
+
631
+ .sg-node:is([data-type="FORM"], [data-type="SERVICE"], [data-type="WORKFLOW"], [data-type="TEAM_MEMBER"]) {
632
+ border: 1px dashed var(--sg-documented);
633
+ border-left: 4px solid var(--sg-documented);
634
+ }
635
+
636
+ .sg-node[data-type="TEAM_MEMBER"] {
637
+ border-radius: 18px;
638
+ }
639
+
640
+ .sg-node[data-broken] {
641
+ border: 2px solid var(--sg-danger);
642
+ background: var(--sg-danger-bg);
643
+ }
644
+
645
+ .sg-node[data-broken] .sg-node-type {
646
+ color: var(--sg-danger);
647
+ font-weight: 600;
648
+ }
649
+
650
+ .sg-node[data-center] {
651
+ box-shadow: 0 0 0 3px color-mix(in srgb, var(--sg-brand) 25%, transparent);
652
+ }
653
+
654
+ .sg-node[data-selected] {
655
+ outline: 2px solid var(--sg-focus);
656
+ outline-offset: 2px;
657
+ }
658
+
659
+ .sg-node-crit {
660
+ justify-self: start;
661
+ font-size: 0.6875rem;
662
+ font-weight: 600;
663
+ color: var(--sg-warn);
664
+ }
665
+
666
+ .sg-node-crit[data-level="CRITICAL"] {
667
+ color: var(--sg-danger);
668
+ }
669
+
670
+ /* Details */
671
+ .sg-details {
672
+ display: grid;
673
+ align-content: start;
674
+ overflow-y: auto;
675
+ }
676
+
677
+ .sg-details-head {
678
+ padding: 0.9rem;
679
+ display: grid;
680
+ gap: 0.3rem;
681
+ border-bottom: 1px solid var(--sg-hair);
682
+ }
683
+
684
+ .sg-details-head a {
685
+ color: var(--text-color-kumo-link, var(--sg-brand));
686
+ font-size: 0.8125rem;
687
+ }
688
+
689
+ .sg-details > .sg-tabs {
690
+ padding: 0.5rem 0.9rem 0;
691
+ }
692
+
693
+ .sg-section {
694
+ padding: 0.9rem;
695
+ border-bottom: 1px solid var(--sg-hair);
696
+ }
697
+
698
+ .sg-section:last-child {
699
+ border-bottom: 0;
700
+ }
701
+
702
+ .sg-list {
703
+ display: grid;
704
+ gap: 0.5rem;
705
+ }
706
+
707
+ .sg-conn {
708
+ display: grid;
709
+ gap: 0.1rem;
710
+ font-size: 0.8125rem;
711
+ }
712
+
713
+ .sg-conn-rel {
714
+ color: var(--sg-subtle);
715
+ font-size: 0.75rem;
716
+ }
717
+
718
+ .sg-prov {
719
+ font-size: 0.6875rem;
720
+ color: var(--sg-subtle);
721
+ overflow-wrap: anywhere;
722
+ }
723
+
724
+ .sg-prov[data-prov="DOCUMENTED"] {
725
+ color: var(--sg-documented);
726
+ }
727
+
728
+ .sg-picked {
729
+ display: flex;
730
+ justify-content: space-between;
731
+ gap: 0.5rem;
732
+ padding: 0.4rem 0.5rem;
733
+ background: var(--sg-sunken);
734
+ border-radius: 6px;
735
+ font-size: 0.8125rem;
736
+ }
737
+
738
+ .sg-options {
739
+ max-height: 12rem;
740
+ overflow-y: auto;
741
+ border: 1px solid var(--sg-hair);
742
+ border-radius: 6px;
743
+ font-size: 0.8125rem;
744
+ }
745
+
746
+ .sg-options .sg-muted {
747
+ padding: 0.4rem 0.5rem;
748
+ }
749
+
750
+ .sg-hit {
751
+ display: grid;
752
+ grid-template-columns: minmax(0, 1fr) auto;
753
+ gap: 0.15rem 0.5rem;
754
+ font-size: 0.8125rem;
755
+ }
756
+
757
+ .sg-path {
758
+ grid-column: 1 / -1;
759
+ font-size: 0.75rem;
760
+ color: var(--sg-subtle);
761
+ overflow-wrap: anywhere;
762
+ }
763
+
764
+ /* Table view */
765
+ .sg-table-wrap {
766
+ overflow: auto;
767
+ }
768
+
769
+ .sg-table {
770
+ width: 100%;
771
+ border-collapse: collapse;
772
+ font-size: 0.8125rem;
773
+ }
774
+
775
+ .sg-table caption {
776
+ text-align: left;
777
+ padding: 0.6rem 0.75rem;
778
+ color: var(--sg-subtle);
779
+ }
780
+
781
+ .sg-table th,
782
+ .sg-table td {
783
+ text-align: left;
784
+ padding: 0.45rem 0.75rem;
785
+ border-top: 1px solid var(--sg-hair);
786
+ vertical-align: top;
787
+ }
788
+
789
+ .sg-table th {
790
+ font-weight: 600;
791
+ color: var(--sg-subtle);
792
+ }
793
+
794
+ .sg-widget a[data-alert] {
795
+ color: var(--sg-danger);
796
+ font-weight: 600;
797
+ }
798
+