3
3
======================================== */
4
4
: root {
5
5
/* Core Color Palette - only used colors from scripts.js */
6
- --color-red : rgb (255 , 50 , 80 );
7
- --color-orange : rgb (255 , 145 , 15 );
6
+ /* Provide RGB component vars to allow reuse in rgba() backgrounds */
7
+ --color-red-rgb : 255 , 50 , 80 ;
8
+ --color-orange-rgb : 255 , 145 , 15 ;
9
+ --color-red : rgb (var (--color-red-rgb ));
10
+ --color-orange : rgb (var (--color-orange-rgb ));
8
11
--color-yellow : rgb (255 , 220 , 0 );
9
12
--color-green : rgb (20 , 200 , 50 );
10
13
--color-blue : rgb (0 , 130 , 255 );
24
27
/* Backgrounds - consolidated similar grays */
25
28
--bg-body : # f8f9fa ; /* Replaces bg-lighter, bg-light-gray */
26
29
--bg-white : white;
30
+ --bg-hover : # f5f5f5 ; /* used for hover states (was fallback) */
27
31
--bg-light : # e9ecef ; /* Replaces bg-disabled */
28
32
--bg-summary : # dee2e6 ;
29
33
--bg-summary-hover : # ced4da ;
30
34
--bg-info : # cfe2ff ;
31
- --bg-warning : rgba (255 , 145 , 15 , 0.1 ); /* Light orange background for warnings */
32
- --bg-danger : rgba (255 , 50 , 80 , 0.1 ); /* Light red background for errors */
35
+ --bg-warning : rgba (var (--color-orange-rgb ), 0.1 ); /* Light orange background for warnings */
36
+ --bg-danger : rgba (var (--color-red-rgb ), 0.1 ); /* Light red background for errors */
37
+ background : var (--bg-white );
33
38
34
39
/* Borders - simplified */
35
40
--border-light : # ccc ;
@@ -57,10 +62,10 @@ h1, h2 {
57
62
font-weight : 500 ;
58
63
}
59
64
.chart-container {
60
- background : white;
61
- border-radius : 8 px ;
65
+ /* Removed direct literal ' white'; using themed hover background */
66
+ background : var ( --bg-hover ) ;
62
67
padding : 24px ;
63
- box-shadow : 0 1 px 3 px rgba ( 0 , 0 , 0 , 0.1 );
68
+ box-shadow : var ( --shadow-subtle );
64
69
position : relative;
65
70
display : flex;
66
71
flex-direction : column;
@@ -168,7 +173,7 @@ details[open] summary::after {
168
173
.run-selector button {
169
174
padding : 8px 16px ;
170
175
background : var (--color-blue );
171
- color : white;
176
+ color : var ( --bg- white) ;
172
177
border : none;
173
178
border-radius : 4px ;
174
179
cursor : pointer;
@@ -206,6 +211,51 @@ details[open] summary::after {
206
211
.download-button : hover {
207
212
color : var (--color-cyan );
208
213
}
214
+
215
+ .download-button : disabled {
216
+ color : var (--text-muted );
217
+ cursor : not-allowed;
218
+ }
219
+
220
+ .download-list {
221
+ position : absolute;
222
+ z-index : 1000 ;
223
+ background : var (--bg-white );
224
+ border : 1px solid var (--border-medium );
225
+ border-radius : 4px ;
226
+ padding : 4px ;
227
+ min-width : 200px ;
228
+ max-width : 300px ;
229
+ box-shadow : var (--shadow-dropdown );
230
+ font-size : 0.9rem ;
231
+ }
232
+
233
+ /* Support both legacy .download-list-link and generic anchors inside list */
234
+ .download-list a ,
235
+ .download-list-link {
236
+ display : block;
237
+ padding : 8px 12px ;
238
+ text-decoration : none;
239
+ color : var (--text-dark );
240
+ border-radius : 2px ;
241
+ font-size : 14px ;
242
+ line-height : 1.2 ;
243
+ white-space : nowrap;
244
+ overflow : hidden;
245
+ text-overflow : ellipsis;
246
+ }
247
+
248
+ .download-list a : hover ,
249
+ .download-list a : focus ,
250
+ .download-list-link : hover ,
251
+ .download-list-link : focus {
252
+ background : var (--bg-light );
253
+ outline : none;
254
+ }
255
+
256
+ .chart-download-button {
257
+ margin-right : 8px ;
258
+ }
209
259
.loading-indicator {
210
260
text-align : center;
211
261
font-size : 18px ;
@@ -369,6 +419,48 @@ details[open] summary::after {
369
419
cursor : help;
370
420
font-size : 12px ;
371
421
}
422
+
423
+ /* Flamegraph link area styles (used by scripts.js) */
424
+ .chart-flamegraph-links {
425
+ display : flex;
426
+ align-items : center;
427
+ gap : 12px ;
428
+ margin-top : 8px ;
429
+ /* small margin below links to separate from any gray bar or footer */
430
+ margin-bottom : 6px ;
431
+ }
432
+ .flamegraph-label {
433
+ color : var (--text-dark );
434
+ font-weight : 600 ;
435
+ }
436
+ .flamegraph-links-inline {
437
+ display : flex;
438
+ gap : 8px ;
439
+ flex-wrap : wrap;
440
+ }
441
+ .flamegraph-link {
442
+ color : var (--text-warning );
443
+ text-decoration : none;
444
+ font-weight : 500 ;
445
+ display : inline-flex;
446
+ align-items : center;
447
+ gap : 6px ;
448
+ }
449
+ .flamegraph-link : hover {
450
+ text-decoration : underline;
451
+ }
452
+ .flame-icon {
453
+ font-size : 16px ;
454
+ line-height : 1 ;
455
+ display : inline-block;
456
+ }
457
+ .flame-text {
458
+ white-space : nowrap;
459
+ overflow : hidden;
460
+ text-overflow : ellipsis;
461
+ max-width : 220px ;
462
+ display : inline-block;
463
+ }
372
464
# tag-filters {
373
465
display : flex;
374
466
flex-wrap : wrap;
@@ -395,7 +487,7 @@ details[open] summary::after {
395
487
.remove-tag {
396
488
background : none;
397
489
border : none;
398
- color : white;
490
+ color : var ( --bg- white) ;
399
491
margin-left : 4px ;
400
492
cursor : pointer;
401
493
font-size : 16px ;
@@ -406,7 +498,7 @@ details[open] summary::after {
406
498
}
407
499
.platform {
408
500
padding : 16px ;
409
- background : white;
501
+ background : var ( --bg- white) ;
410
502
border-radius : 8px ;
411
503
margin-top : 8px ;
412
504
}
@@ -496,9 +588,10 @@ details[open] summary::after {
496
588
}
497
589
498
590
.flamegraph-error {
499
- background-color : var (--bg-warning );
500
- border-color : var (--color-orange );
501
- color : var (--text-warning );
591
+ /* Repurposed to use dedicated danger background */
592
+ background-color : var (--bg-danger );
593
+ border-color : var (--text-danger );
594
+ color : var (--text-danger );
502
595
}
503
596
504
597
/* ========================================
@@ -530,30 +623,63 @@ details[open] summary::after {
530
623
border : 1px solid var (--border-medium );
531
624
border-radius : 4px ;
532
625
display : block;
533
- margin : 10px auto ;
626
+ margin : 0 0 10px 0 ;
534
627
transition : all 0.3s ease;
535
628
box-sizing : border-box;
536
629
overflow : hidden;
630
+ /* Ensure maximum width utilization */
631
+ max-width : none;
632
+ min-width : 0 ;
537
633
}
538
634
539
- .flamegraph-iframe : first-child {
540
- margin : 0 auto 10px auto;
635
+ /* Flamegraph container styles - gives each flamegraph its own space */
636
+ .flamegraph-container {
637
+ margin-bottom : 20px ;
638
+ padding : 0 ;
639
+ border : none;
640
+ border-radius : 0 ;
641
+ background-color : transparent;
642
+ width : 100% ;
643
+ /* Ensure no width constraints */
644
+ max-width : none;
645
+ min-width : 0 ;
646
+ box-sizing : border-box;
647
+ }
648
+
649
+ .flamegraph-container : last-child {
650
+ margin-bottom : 0 ;
651
+ }
652
+
653
+ .flamegraph-title {
654
+ font-size : 16px ;
655
+ font-weight : 600 ;
656
+ color : var (--text-dark );
657
+ margin : 0 0 10px 0 ;
658
+ padding : 8px 12px ;
659
+ background-color : var (--bg-light );
660
+ border-radius : 4px ;
661
+ border-left : 4px solid var (--color-blue );
541
662
}
542
663
543
664
/* Ensure flamegraph containers have proper spacing and fit within container */
544
- .chart-container iframe {
545
- margin-bottom : 10px ;
665
+ .chart-container .flamegraph-container {
666
+ margin-bottom : 20px ;
667
+ width : 100% ;
546
668
}
547
669
548
- /* Handle multiple flamegraphs displayed vertically */
549
- .chart-content iframe [src *= "flamegraphs" ]: not (: last-child ) {
550
- margin-bottom : 15px ;
551
- border-bottom : 2px solid var (--bg-light );
670
+ /* Reduce padding for chart containers that contain flamegraphs to maximize space */
671
+ .chart-container .flamegraph-chart {
672
+ padding : 8px ;
673
+ }
674
+
675
+ /* Ensure chart content doesn't constrain flamegraphs */
676
+ .chart-container .flamegraph-chart .chart-content {
677
+ padding : 0 ;
552
678
}
553
679
554
- /* Add subtle visual separation between multiple flamegraphs */
555
- .chart-content iframe [ src *= "flamegraphs" ] : not (: first -child ) {
556
- margin-top : 15 px ;
680
+ /* Handle multiple flamegraphs displayed vertically - now handled by container */
681
+ .flamegraph-container : not (: last -child ) {
682
+ margin-bottom : 20 px ;
557
683
}
558
684
559
685
/* Floating flamegraph download list */
@@ -562,8 +688,8 @@ details[open] summary::after {
562
688
z-index : 1000 ;
563
689
border : 1px solid var (--border-light );
564
690
border-radius : 4px ;
565
- background-color : white;
566
- box-shadow : 0 2 px 5 px rgba ( 0 , 0 , 0 , 0.15 );
691
+ background-color : var ( --bg- white) ;
692
+ box-shadow : var ( --shadow-dropdown );
567
693
padding : 5px ;
568
694
margin-top : 5px ;
569
695
}
0 commit comments