softui-css 1.5.0 → 1.7.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.
- package/dist/softui.css +1998 -19
- package/dist/softui.js +554 -1
- package/dist/softui.min.css +1 -1
- package/dist/softui.min.js +1 -1
- package/package.json +1 -1
package/dist/softui.css
CHANGED
|
@@ -814,7 +814,7 @@ a.sui-btn-warning:visited {
|
|
|
814
814
|
}
|
|
815
815
|
|
|
816
816
|
.sui-table tbody tr:hover {
|
|
817
|
-
background:
|
|
817
|
+
background: rgba(91, 84, 224, 0.04);
|
|
818
818
|
}
|
|
819
819
|
|
|
820
820
|
/* Table inside card — inherit card's surface */
|
|
@@ -1094,14 +1094,15 @@ a.sui-btn-warning:visited {
|
|
|
1094
1094
|
Modal / Dialog
|
|
1095
1095
|
=========================================== */
|
|
1096
1096
|
.sui-modal-backdrop {
|
|
1097
|
+
--sui-modal-blur: 6px;
|
|
1097
1098
|
position: fixed;
|
|
1098
1099
|
top: 0;
|
|
1099
1100
|
left: 0;
|
|
1100
1101
|
width: 100%;
|
|
1101
1102
|
height: 100%;
|
|
1102
1103
|
background: rgba(0, 0, 0, 0.3);
|
|
1103
|
-
backdrop-filter: blur(
|
|
1104
|
-
-webkit-backdrop-filter: blur(
|
|
1104
|
+
backdrop-filter: blur(var(--sui-modal-blur));
|
|
1105
|
+
-webkit-backdrop-filter: blur(var(--sui-modal-blur));
|
|
1105
1106
|
display: flex;
|
|
1106
1107
|
align-items: center;
|
|
1107
1108
|
justify-content: center;
|
|
@@ -1116,10 +1117,16 @@ a.sui-btn-warning:visited {
|
|
|
1116
1117
|
visibility: visible;
|
|
1117
1118
|
}
|
|
1118
1119
|
|
|
1120
|
+
.sui-modal-blur-none { --sui-modal-blur: 0px; }
|
|
1121
|
+
.sui-modal-blur-sm { --sui-modal-blur: 3px; }
|
|
1122
|
+
.sui-modal-blur-md { --sui-modal-blur: 6px; }
|
|
1123
|
+
.sui-modal-blur-lg { --sui-modal-blur: 12px; }
|
|
1124
|
+
.sui-modal-blur-xl { --sui-modal-blur: 20px; }
|
|
1125
|
+
|
|
1119
1126
|
.sui-modal {
|
|
1120
1127
|
background: var(--sui-bg);
|
|
1121
1128
|
border-radius: var(--sui-radius-lg);
|
|
1122
|
-
box-shadow:
|
|
1129
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
1123
1130
|
width: 90%;
|
|
1124
1131
|
max-width: 520px;
|
|
1125
1132
|
max-height: 85vh;
|
|
@@ -2615,6 +2622,15 @@ a.sui-btn-warning:visited {
|
|
|
2615
2622
|
=========================================== */
|
|
2616
2623
|
.sui-table-inset {
|
|
2617
2624
|
box-shadow: var(--sui-shadow-inset);
|
|
2625
|
+
overflow: hidden;
|
|
2626
|
+
}
|
|
2627
|
+
|
|
2628
|
+
.sui-table-inset tbody tr:hover {
|
|
2629
|
+
background: none;
|
|
2630
|
+
}
|
|
2631
|
+
|
|
2632
|
+
.sui-table-inset tbody tr:hover td {
|
|
2633
|
+
background: rgba(91, 84, 224, 0.04);
|
|
2618
2634
|
}
|
|
2619
2635
|
|
|
2620
2636
|
/* ===========================================
|
|
@@ -5066,26 +5082,25 @@ a.sui-btn-warning:visited {
|
|
|
5066
5082
|
Custom Scrollbar (global)
|
|
5067
5083
|
=========================================== */
|
|
5068
5084
|
* {
|
|
5069
|
-
scrollbar-width: thin;
|
|
5070
|
-
scrollbar-color: var(--sui-text-light) var(--sui-bg-dark);
|
|
5071
5085
|
}
|
|
5072
|
-
|
|
5073
|
-
width:
|
|
5074
|
-
height:
|
|
5086
|
+
::-webkit-scrollbar {
|
|
5087
|
+
width: 6px;
|
|
5088
|
+
height: 6px;
|
|
5075
5089
|
}
|
|
5076
|
-
|
|
5077
|
-
background:
|
|
5078
|
-
border-radius: var(--sui-radius-full);
|
|
5090
|
+
::-webkit-scrollbar-track {
|
|
5091
|
+
background: transparent;
|
|
5079
5092
|
}
|
|
5080
|
-
|
|
5093
|
+
::-webkit-scrollbar-thumb {
|
|
5081
5094
|
background: var(--sui-text-light);
|
|
5082
|
-
border-radius:
|
|
5095
|
+
border-radius: 3px;
|
|
5096
|
+
border: 1px solid transparent;
|
|
5097
|
+
background-clip: content-box;
|
|
5083
5098
|
}
|
|
5084
|
-
|
|
5099
|
+
::-webkit-scrollbar-thumb:hover {
|
|
5085
5100
|
background: var(--sui-text-muted);
|
|
5086
5101
|
}
|
|
5087
|
-
|
|
5088
|
-
|
|
5102
|
+
::-webkit-scrollbar-corner {
|
|
5103
|
+
display: none;
|
|
5089
5104
|
}
|
|
5090
5105
|
|
|
5091
5106
|
/* ===========================================
|
|
@@ -5574,8 +5589,114 @@ a.sui-btn-warning:visited {
|
|
|
5574
5589
|
.sui-gap-4 { gap: 24px !important; }
|
|
5575
5590
|
.sui-gap-5 { gap: 48px !important; }
|
|
5576
5591
|
|
|
5577
|
-
/*
|
|
5578
|
-
.sui-
|
|
5592
|
+
/* --- Display --- */
|
|
5593
|
+
.sui-d-inline { display: inline !important; }
|
|
5594
|
+
.sui-d-inline-block { display: inline-block !important; }
|
|
5595
|
+
.sui-d-grid { display: grid !important; }
|
|
5596
|
+
|
|
5597
|
+
/* --- Position --- */
|
|
5598
|
+
.sui-relative { position: relative !important; }
|
|
5599
|
+
.sui-absolute { position: absolute !important; }
|
|
5600
|
+
.sui-fixed { position: fixed !important; }
|
|
5601
|
+
.sui-sticky { position: sticky !important; top: 0; }
|
|
5602
|
+
|
|
5603
|
+
.sui-inset-0 { inset: 0 !important; }
|
|
5604
|
+
.sui-top-0 { top: 0 !important; }
|
|
5605
|
+
.sui-right-0 { right: 0 !important; }
|
|
5606
|
+
.sui-bottom-0 { bottom: 0 !important; }
|
|
5607
|
+
.sui-left-0 { left: 0 !important; }
|
|
5608
|
+
|
|
5609
|
+
/* --- Overflow --- */
|
|
5610
|
+
.sui-overflow-hidden { overflow: hidden !important; }
|
|
5611
|
+
.sui-overflow-auto { overflow: auto !important; }
|
|
5612
|
+
.sui-overflow-scroll { overflow: scroll !important; }
|
|
5613
|
+
.sui-overflow-visible { overflow: visible !important; }
|
|
5614
|
+
.sui-overflow-x-auto { overflow-x: auto !important; }
|
|
5615
|
+
.sui-overflow-y-auto { overflow-y: auto !important; }
|
|
5616
|
+
.sui-overflow-x-hidden { overflow-x: hidden !important; }
|
|
5617
|
+
.sui-overflow-y-hidden { overflow-y: hidden !important; }
|
|
5618
|
+
|
|
5619
|
+
/* --- Width --- */
|
|
5620
|
+
.sui-w-full { width: 100% !important; }
|
|
5621
|
+
.sui-w-auto { width: auto !important; }
|
|
5622
|
+
.sui-w-screen { width: 100vw !important; }
|
|
5623
|
+
.sui-max-w-sm { max-width: 320px !important; }
|
|
5624
|
+
.sui-max-w-md { max-width: 480px !important; }
|
|
5625
|
+
.sui-max-w-lg { max-width: 640px !important; }
|
|
5626
|
+
.sui-max-w-xl { max-width: 800px !important; }
|
|
5627
|
+
.sui-max-w-2xl { max-width: 1024px !important; }
|
|
5628
|
+
.sui-max-w-full { max-width: 100% !important; }
|
|
5629
|
+
.sui-max-w-none { max-width: none !important; }
|
|
5630
|
+
.sui-min-w-0 { min-width: 0 !important; }
|
|
5631
|
+
|
|
5632
|
+
/* --- Height --- */
|
|
5633
|
+
.sui-h-full { height: 100% !important; }
|
|
5634
|
+
.sui-h-auto { height: auto !important; }
|
|
5635
|
+
.sui-h-screen { height: 100vh !important; }
|
|
5636
|
+
.sui-min-h-0 { min-height: 0 !important; }
|
|
5637
|
+
.sui-min-h-full { min-height: 100% !important; }
|
|
5638
|
+
.sui-min-h-screen { min-height: 100vh !important; }
|
|
5639
|
+
.sui-min-vh-100 { min-height: 100vh !important; }
|
|
5640
|
+
.sui-max-h-full { max-height: 100% !important; }
|
|
5641
|
+
.sui-max-h-screen { max-height: 100vh !important; }
|
|
5642
|
+
|
|
5643
|
+
/* --- Opacity --- */
|
|
5644
|
+
.sui-opacity-0 { opacity: 0 !important; }
|
|
5645
|
+
.sui-opacity-5 { opacity: 0.05 !important; }
|
|
5646
|
+
.sui-opacity-10 { opacity: 0.1 !important; }
|
|
5647
|
+
.sui-opacity-20 { opacity: 0.2 !important; }
|
|
5648
|
+
.sui-opacity-25 { opacity: 0.25 !important; }
|
|
5649
|
+
.sui-opacity-30 { opacity: 0.3 !important; }
|
|
5650
|
+
.sui-opacity-40 { opacity: 0.4 !important; }
|
|
5651
|
+
.sui-opacity-50 { opacity: 0.5 !important; }
|
|
5652
|
+
.sui-opacity-60 { opacity: 0.6 !important; }
|
|
5653
|
+
.sui-opacity-70 { opacity: 0.7 !important; }
|
|
5654
|
+
.sui-opacity-75 { opacity: 0.75 !important; }
|
|
5655
|
+
.sui-opacity-80 { opacity: 0.8 !important; }
|
|
5656
|
+
.sui-opacity-90 { opacity: 0.9 !important; }
|
|
5657
|
+
.sui-opacity-100 { opacity: 1 !important; }
|
|
5658
|
+
|
|
5659
|
+
/* --- Z-Index --- */
|
|
5660
|
+
.sui-z-0 { z-index: 0 !important; }
|
|
5661
|
+
.sui-z-10 { z-index: 10 !important; }
|
|
5662
|
+
.sui-z-20 { z-index: 20 !important; }
|
|
5663
|
+
.sui-z-30 { z-index: 30 !important; }
|
|
5664
|
+
.sui-z-40 { z-index: 40 !important; }
|
|
5665
|
+
.sui-z-50 { z-index: 50 !important; }
|
|
5666
|
+
.sui-z-auto { z-index: auto !important; }
|
|
5667
|
+
|
|
5668
|
+
/* --- Cursor --- */
|
|
5669
|
+
.sui-cursor-pointer { cursor: pointer !important; }
|
|
5670
|
+
.sui-cursor-default { cursor: default !important; }
|
|
5671
|
+
.sui-cursor-not-allowed { cursor: not-allowed !important; }
|
|
5672
|
+
.sui-cursor-grab { cursor: grab !important; }
|
|
5673
|
+
.sui-cursor-grabbing { cursor: grabbing !important; }
|
|
5674
|
+
.sui-cursor-move { cursor: move !important; }
|
|
5675
|
+
.sui-cursor-text { cursor: text !important; }
|
|
5676
|
+
|
|
5677
|
+
/* --- Visibility --- */
|
|
5678
|
+
.sui-visible { visibility: visible !important; }
|
|
5679
|
+
.sui-invisible { visibility: hidden !important; }
|
|
5680
|
+
.sui-sr-only {
|
|
5681
|
+
position: absolute !important;
|
|
5682
|
+
width: 1px !important;
|
|
5683
|
+
height: 1px !important;
|
|
5684
|
+
padding: 0 !important;
|
|
5685
|
+
margin: -1px !important;
|
|
5686
|
+
overflow: hidden !important;
|
|
5687
|
+
clip: rect(0, 0, 0, 0) !important;
|
|
5688
|
+
white-space: nowrap !important;
|
|
5689
|
+
border: 0 !important;
|
|
5690
|
+
}
|
|
5691
|
+
|
|
5692
|
+
/* --- Pointer Events --- */
|
|
5693
|
+
.sui-pointer-events-none { pointer-events: none !important; }
|
|
5694
|
+
.sui-pointer-events-auto { pointer-events: auto !important; }
|
|
5695
|
+
|
|
5696
|
+
/* --- User Select --- */
|
|
5697
|
+
.sui-select-none { user-select: none !important; }
|
|
5698
|
+
.sui-select-text { user-select: text !important; }
|
|
5699
|
+
.sui-select-all { user-select: all !important; }
|
|
5579
5700
|
|
|
5580
5701
|
/* Auto margins */
|
|
5581
5702
|
.sui-ms-auto { margin-left: auto !important; }
|
|
@@ -9190,6 +9311,14 @@ a.sui-btn-warning:visited {
|
|
|
9190
9311
|
}
|
|
9191
9312
|
|
|
9192
9313
|
/* Inset style */
|
|
9314
|
+
.sui-rating-raised {
|
|
9315
|
+
background: var(--sui-bg);
|
|
9316
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
9317
|
+
border-radius: var(--sui-radius);
|
|
9318
|
+
padding: 6px 10px;
|
|
9319
|
+
gap: 4px;
|
|
9320
|
+
}
|
|
9321
|
+
|
|
9193
9322
|
.sui-rating-inset {
|
|
9194
9323
|
background: var(--sui-bg);
|
|
9195
9324
|
box-shadow: var(--sui-shadow-inset-sm);
|
|
@@ -9573,6 +9702,13 @@ a.sui-btn-warning:visited {
|
|
|
9573
9702
|
}
|
|
9574
9703
|
|
|
9575
9704
|
/* Inset container */
|
|
9705
|
+
.sui-color-picker-raised {
|
|
9706
|
+
background: var(--sui-bg);
|
|
9707
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
9708
|
+
border-radius: var(--sui-radius);
|
|
9709
|
+
padding: 12px;
|
|
9710
|
+
}
|
|
9711
|
+
|
|
9576
9712
|
.sui-color-picker-inset {
|
|
9577
9713
|
background: var(--sui-bg);
|
|
9578
9714
|
box-shadow: var(--sui-shadow-inset-sm);
|
|
@@ -10605,6 +10741,15 @@ a.sui-btn-warning:visited {
|
|
|
10605
10741
|
.sui-swap-lg svg { width: 32px; height: 32px; }
|
|
10606
10742
|
|
|
10607
10743
|
/* Inset */
|
|
10744
|
+
.sui-swap-raised {
|
|
10745
|
+
background: var(--sui-bg);
|
|
10746
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
10747
|
+
border-radius: var(--sui-radius-sm);
|
|
10748
|
+
padding: 8px;
|
|
10749
|
+
width: auto;
|
|
10750
|
+
height: auto;
|
|
10751
|
+
}
|
|
10752
|
+
|
|
10608
10753
|
.sui-swap-inset {
|
|
10609
10754
|
background: var(--sui-bg);
|
|
10610
10755
|
box-shadow: var(--sui-shadow-inset-sm);
|
|
@@ -10620,3 +10765,1837 @@ a.sui-btn-warning:visited {
|
|
|
10620
10765
|
color: var(--sui-text-muted);
|
|
10621
10766
|
text-transform: uppercase;
|
|
10622
10767
|
}
|
|
10768
|
+
|
|
10769
|
+
/* =========================================
|
|
10770
|
+
Tree View
|
|
10771
|
+
========================================= */
|
|
10772
|
+
.sui-tree {
|
|
10773
|
+
display: flex;
|
|
10774
|
+
flex-direction: column;
|
|
10775
|
+
font-size: 14px;
|
|
10776
|
+
}
|
|
10777
|
+
|
|
10778
|
+
.sui-tree-item {
|
|
10779
|
+
display: flex;
|
|
10780
|
+
flex-direction: column;
|
|
10781
|
+
}
|
|
10782
|
+
|
|
10783
|
+
.sui-tree-label {
|
|
10784
|
+
display: flex;
|
|
10785
|
+
align-items: center;
|
|
10786
|
+
gap: 6px;
|
|
10787
|
+
padding: 5px 8px;
|
|
10788
|
+
border-radius: var(--sui-radius-sm);
|
|
10789
|
+
cursor: pointer;
|
|
10790
|
+
color: var(--sui-text);
|
|
10791
|
+
font-weight: 500;
|
|
10792
|
+
transition: background 0.15s ease;
|
|
10793
|
+
user-select: none;
|
|
10794
|
+
}
|
|
10795
|
+
|
|
10796
|
+
.sui-tree-label:hover {
|
|
10797
|
+
background: rgba(91, 84, 224, 0.06);
|
|
10798
|
+
}
|
|
10799
|
+
|
|
10800
|
+
.sui-tree-label.active {
|
|
10801
|
+
background: rgba(91, 84, 224, 0.1);
|
|
10802
|
+
color: var(--sui-primary);
|
|
10803
|
+
}
|
|
10804
|
+
|
|
10805
|
+
.sui-tree-toggle {
|
|
10806
|
+
width: 16px;
|
|
10807
|
+
height: 16px;
|
|
10808
|
+
display: flex;
|
|
10809
|
+
align-items: center;
|
|
10810
|
+
justify-content: center;
|
|
10811
|
+
flex-shrink: 0;
|
|
10812
|
+
transition: transform 0.2s ease;
|
|
10813
|
+
}
|
|
10814
|
+
|
|
10815
|
+
.sui-tree-toggle svg {
|
|
10816
|
+
width: 12px;
|
|
10817
|
+
height: 12px;
|
|
10818
|
+
stroke: var(--sui-text-muted);
|
|
10819
|
+
fill: none;
|
|
10820
|
+
stroke-width: 2;
|
|
10821
|
+
stroke-linecap: round;
|
|
10822
|
+
stroke-linejoin: round;
|
|
10823
|
+
}
|
|
10824
|
+
|
|
10825
|
+
.sui-tree-item.expanded > .sui-tree-label .sui-tree-toggle {
|
|
10826
|
+
transform: rotate(90deg);
|
|
10827
|
+
}
|
|
10828
|
+
|
|
10829
|
+
.sui-tree-toggle-spacer {
|
|
10830
|
+
width: 16px;
|
|
10831
|
+
flex-shrink: 0;
|
|
10832
|
+
}
|
|
10833
|
+
|
|
10834
|
+
.sui-tree-icon {
|
|
10835
|
+
width: 16px;
|
|
10836
|
+
height: 16px;
|
|
10837
|
+
display: flex;
|
|
10838
|
+
align-items: center;
|
|
10839
|
+
justify-content: center;
|
|
10840
|
+
flex-shrink: 0;
|
|
10841
|
+
}
|
|
10842
|
+
|
|
10843
|
+
.sui-tree-icon svg {
|
|
10844
|
+
width: 16px;
|
|
10845
|
+
height: 16px;
|
|
10846
|
+
stroke: var(--sui-text-muted);
|
|
10847
|
+
fill: none;
|
|
10848
|
+
stroke-width: 2;
|
|
10849
|
+
stroke-linecap: round;
|
|
10850
|
+
stroke-linejoin: round;
|
|
10851
|
+
}
|
|
10852
|
+
|
|
10853
|
+
.sui-tree-item.expanded > .sui-tree-label .sui-tree-icon svg {
|
|
10854
|
+
stroke: var(--sui-primary);
|
|
10855
|
+
}
|
|
10856
|
+
|
|
10857
|
+
.sui-tree-text {
|
|
10858
|
+
flex: 1;
|
|
10859
|
+
line-height: 1.4;
|
|
10860
|
+
}
|
|
10861
|
+
|
|
10862
|
+
.sui-tree-children {
|
|
10863
|
+
display: none;
|
|
10864
|
+
padding-left: 22px;
|
|
10865
|
+
}
|
|
10866
|
+
|
|
10867
|
+
.sui-tree-item.expanded > .sui-tree-children {
|
|
10868
|
+
display: flex;
|
|
10869
|
+
flex-direction: column;
|
|
10870
|
+
}
|
|
10871
|
+
|
|
10872
|
+
/* With guide lines */
|
|
10873
|
+
.sui-tree-lines .sui-tree-children {
|
|
10874
|
+
margin-left: 7px;
|
|
10875
|
+
padding-left: 15px;
|
|
10876
|
+
border-left: 1px solid var(--sui-bg-dark);
|
|
10877
|
+
}
|
|
10878
|
+
|
|
10879
|
+
/* With checkboxes */
|
|
10880
|
+
.sui-tree-label .sui-checkbox {
|
|
10881
|
+
margin: 0;
|
|
10882
|
+
font-size: inherit;
|
|
10883
|
+
}
|
|
10884
|
+
|
|
10885
|
+
/* Sizes */
|
|
10886
|
+
.sui-tree-sm .sui-tree-label {
|
|
10887
|
+
padding: 3px 6px;
|
|
10888
|
+
font-size: 13px;
|
|
10889
|
+
gap: 4px;
|
|
10890
|
+
}
|
|
10891
|
+
|
|
10892
|
+
.sui-tree-sm .sui-tree-toggle,
|
|
10893
|
+
.sui-tree-sm .sui-tree-icon {
|
|
10894
|
+
width: 14px;
|
|
10895
|
+
height: 14px;
|
|
10896
|
+
}
|
|
10897
|
+
|
|
10898
|
+
.sui-tree-sm .sui-tree-toggle svg,
|
|
10899
|
+
.sui-tree-sm .sui-tree-icon svg {
|
|
10900
|
+
width: 12px;
|
|
10901
|
+
height: 12px;
|
|
10902
|
+
}
|
|
10903
|
+
|
|
10904
|
+
.sui-tree-sm .sui-tree-children {
|
|
10905
|
+
padding-left: 18px;
|
|
10906
|
+
}
|
|
10907
|
+
|
|
10908
|
+
.sui-tree-lg .sui-tree-label {
|
|
10909
|
+
padding: 7px 10px;
|
|
10910
|
+
font-size: 15px;
|
|
10911
|
+
gap: 8px;
|
|
10912
|
+
}
|
|
10913
|
+
|
|
10914
|
+
.sui-tree-lg .sui-tree-toggle,
|
|
10915
|
+
.sui-tree-lg .sui-tree-icon {
|
|
10916
|
+
width: 18px;
|
|
10917
|
+
height: 18px;
|
|
10918
|
+
}
|
|
10919
|
+
|
|
10920
|
+
.sui-tree-lg .sui-tree-toggle svg,
|
|
10921
|
+
.sui-tree-lg .sui-tree-icon svg {
|
|
10922
|
+
width: 16px;
|
|
10923
|
+
height: 16px;
|
|
10924
|
+
}
|
|
10925
|
+
|
|
10926
|
+
.sui-tree-lg .sui-tree-children {
|
|
10927
|
+
padding-left: 26px;
|
|
10928
|
+
}
|
|
10929
|
+
|
|
10930
|
+
/* Inset container */
|
|
10931
|
+
/* Raised container */
|
|
10932
|
+
.sui-tree-raised {
|
|
10933
|
+
background: var(--sui-bg);
|
|
10934
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
10935
|
+
border-radius: var(--sui-radius);
|
|
10936
|
+
padding: 10px;
|
|
10937
|
+
}
|
|
10938
|
+
|
|
10939
|
+
/* Inset container */
|
|
10940
|
+
.sui-tree-inset {
|
|
10941
|
+
background: var(--sui-bg);
|
|
10942
|
+
box-shadow: var(--sui-shadow-inset-sm);
|
|
10943
|
+
border-radius: var(--sui-radius);
|
|
10944
|
+
padding: 10px;
|
|
10945
|
+
}
|
|
10946
|
+
|
|
10947
|
+
/* =========================================
|
|
10948
|
+
Speed Dial / FAB
|
|
10949
|
+
========================================= */
|
|
10950
|
+
.sui-speed-dial {
|
|
10951
|
+
position: fixed;
|
|
10952
|
+
z-index: 900;
|
|
10953
|
+
display: flex;
|
|
10954
|
+
flex-direction: column-reverse;
|
|
10955
|
+
align-items: center;
|
|
10956
|
+
gap: 12px;
|
|
10957
|
+
}
|
|
10958
|
+
|
|
10959
|
+
/* Relative mode for demos */
|
|
10960
|
+
.sui-speed-dial-relative {
|
|
10961
|
+
position: relative;
|
|
10962
|
+
}
|
|
10963
|
+
|
|
10964
|
+
/* Positions */
|
|
10965
|
+
.sui-speed-dial-br { bottom: 24px; right: 24px; }
|
|
10966
|
+
.sui-speed-dial-bl { bottom: 24px; left: 24px; }
|
|
10967
|
+
.sui-speed-dial-tr { top: 24px; right: 24px; }
|
|
10968
|
+
.sui-speed-dial-tl { top: 24px; left: 24px; }
|
|
10969
|
+
|
|
10970
|
+
/* Trigger button */
|
|
10971
|
+
.sui-speed-dial-trigger {
|
|
10972
|
+
width: 52px;
|
|
10973
|
+
height: 52px;
|
|
10974
|
+
border-radius: 50%;
|
|
10975
|
+
border: none;
|
|
10976
|
+
background: var(--sui-primary);
|
|
10977
|
+
color: #fff;
|
|
10978
|
+
display: flex;
|
|
10979
|
+
align-items: center;
|
|
10980
|
+
justify-content: center;
|
|
10981
|
+
cursor: pointer;
|
|
10982
|
+
box-shadow: 0 4px 14px rgba(91, 84, 224, 0.4);
|
|
10983
|
+
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0.2s ease;
|
|
10984
|
+
padding: 0;
|
|
10985
|
+
font: inherit;
|
|
10986
|
+
outline: none;
|
|
10987
|
+
z-index: 1;
|
|
10988
|
+
}
|
|
10989
|
+
|
|
10990
|
+
.sui-speed-dial-trigger svg {
|
|
10991
|
+
width: 24px;
|
|
10992
|
+
height: 24px;
|
|
10993
|
+
stroke: currentColor;
|
|
10994
|
+
fill: none;
|
|
10995
|
+
stroke-width: 2;
|
|
10996
|
+
stroke-linecap: round;
|
|
10997
|
+
stroke-linejoin: round;
|
|
10998
|
+
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
10999
|
+
}
|
|
11000
|
+
|
|
11001
|
+
.sui-speed-dial-trigger:hover {
|
|
11002
|
+
box-shadow: 0 6px 20px rgba(91, 84, 224, 0.5);
|
|
11003
|
+
transform: scale(1.05);
|
|
11004
|
+
}
|
|
11005
|
+
|
|
11006
|
+
.sui-speed-dial.open .sui-speed-dial-trigger svg {
|
|
11007
|
+
transform: rotate(45deg);
|
|
11008
|
+
}
|
|
11009
|
+
|
|
11010
|
+
/* Actions container */
|
|
11011
|
+
.sui-speed-dial-actions {
|
|
11012
|
+
display: flex;
|
|
11013
|
+
flex-direction: column-reverse;
|
|
11014
|
+
align-items: center;
|
|
11015
|
+
gap: 10px;
|
|
11016
|
+
opacity: 0;
|
|
11017
|
+
transform: translateY(10px) scale(0.8);
|
|
11018
|
+
pointer-events: none;
|
|
11019
|
+
transition: opacity 0.25s ease, transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
|
|
11020
|
+
}
|
|
11021
|
+
|
|
11022
|
+
.sui-speed-dial.open .sui-speed-dial-actions {
|
|
11023
|
+
opacity: 1;
|
|
11024
|
+
transform: translateY(0) scale(1);
|
|
11025
|
+
pointer-events: auto;
|
|
11026
|
+
}
|
|
11027
|
+
|
|
11028
|
+
/* Individual action */
|
|
11029
|
+
.sui-speed-dial-action {
|
|
11030
|
+
width: 40px;
|
|
11031
|
+
height: 40px;
|
|
11032
|
+
border-radius: 50%;
|
|
11033
|
+
border: none;
|
|
11034
|
+
background: var(--sui-bg);
|
|
11035
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
11036
|
+
color: var(--sui-text);
|
|
11037
|
+
display: flex;
|
|
11038
|
+
align-items: center;
|
|
11039
|
+
justify-content: center;
|
|
11040
|
+
cursor: pointer;
|
|
11041
|
+
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
11042
|
+
padding: 0;
|
|
11043
|
+
font: inherit;
|
|
11044
|
+
outline: none;
|
|
11045
|
+
position: relative;
|
|
11046
|
+
}
|
|
11047
|
+
|
|
11048
|
+
.sui-speed-dial-action svg {
|
|
11049
|
+
width: 18px;
|
|
11050
|
+
height: 18px;
|
|
11051
|
+
stroke: currentColor;
|
|
11052
|
+
fill: none;
|
|
11053
|
+
stroke-width: 2;
|
|
11054
|
+
stroke-linecap: round;
|
|
11055
|
+
stroke-linejoin: round;
|
|
11056
|
+
}
|
|
11057
|
+
|
|
11058
|
+
.sui-speed-dial-action:hover {
|
|
11059
|
+
transform: scale(1.1);
|
|
11060
|
+
box-shadow: var(--sui-shadow-raised);
|
|
11061
|
+
}
|
|
11062
|
+
|
|
11063
|
+
/* Staggered animation */
|
|
11064
|
+
.sui-speed-dial.open .sui-speed-dial-action:nth-child(1) { transition-delay: 0.03s; }
|
|
11065
|
+
.sui-speed-dial.open .sui-speed-dial-action:nth-child(2) { transition-delay: 0.06s; }
|
|
11066
|
+
.sui-speed-dial.open .sui-speed-dial-action:nth-child(3) { transition-delay: 0.09s; }
|
|
11067
|
+
.sui-speed-dial.open .sui-speed-dial-action:nth-child(4) { transition-delay: 0.12s; }
|
|
11068
|
+
.sui-speed-dial.open .sui-speed-dial-action:nth-child(5) { transition-delay: 0.15s; }
|
|
11069
|
+
|
|
11070
|
+
/* Labels */
|
|
11071
|
+
.sui-speed-dial-action[data-label]::before {
|
|
11072
|
+
content: attr(data-label);
|
|
11073
|
+
position: absolute;
|
|
11074
|
+
right: calc(100% + 10px);
|
|
11075
|
+
top: 50%;
|
|
11076
|
+
transform: translateY(-50%) scale(0.8);
|
|
11077
|
+
background: var(--sui-text);
|
|
11078
|
+
color: var(--sui-bg);
|
|
11079
|
+
font-size: 12px;
|
|
11080
|
+
font-weight: 600;
|
|
11081
|
+
padding: 4px 10px;
|
|
11082
|
+
border-radius: var(--sui-radius-sm);
|
|
11083
|
+
white-space: nowrap;
|
|
11084
|
+
opacity: 0;
|
|
11085
|
+
pointer-events: none;
|
|
11086
|
+
transition: opacity 0.15s ease, transform 0.15s ease;
|
|
11087
|
+
}
|
|
11088
|
+
|
|
11089
|
+
.sui-speed-dial-action[data-label]:hover::before {
|
|
11090
|
+
opacity: 1;
|
|
11091
|
+
transform: translateY(-50%) scale(1);
|
|
11092
|
+
}
|
|
11093
|
+
|
|
11094
|
+
/* Left-side labels (for right-positioned dials) */
|
|
11095
|
+
.sui-speed-dial-bl .sui-speed-dial-action[data-label]::before,
|
|
11096
|
+
.sui-speed-dial-tl .sui-speed-dial-action[data-label]::before {
|
|
11097
|
+
right: auto;
|
|
11098
|
+
left: calc(100% + 10px);
|
|
11099
|
+
}
|
|
11100
|
+
|
|
11101
|
+
/* Direction: down */
|
|
11102
|
+
.sui-speed-dial-down {
|
|
11103
|
+
flex-direction: column;
|
|
11104
|
+
}
|
|
11105
|
+
|
|
11106
|
+
.sui-speed-dial-down .sui-speed-dial-actions {
|
|
11107
|
+
flex-direction: column;
|
|
11108
|
+
transform: translateY(-10px) scale(0.8);
|
|
11109
|
+
}
|
|
11110
|
+
|
|
11111
|
+
.sui-speed-dial-down.open .sui-speed-dial-actions {
|
|
11112
|
+
transform: translateY(0) scale(1);
|
|
11113
|
+
}
|
|
11114
|
+
|
|
11115
|
+
/* Direction: left */
|
|
11116
|
+
.sui-speed-dial-left {
|
|
11117
|
+
flex-direction: row-reverse;
|
|
11118
|
+
}
|
|
11119
|
+
|
|
11120
|
+
.sui-speed-dial-left .sui-speed-dial-actions {
|
|
11121
|
+
flex-direction: row-reverse;
|
|
11122
|
+
transform: translateX(-10px) scale(0.8);
|
|
11123
|
+
}
|
|
11124
|
+
|
|
11125
|
+
.sui-speed-dial-left.open .sui-speed-dial-actions {
|
|
11126
|
+
transform: translateX(0) scale(1);
|
|
11127
|
+
}
|
|
11128
|
+
|
|
11129
|
+
.sui-speed-dial-left .sui-speed-dial-action[data-label]::before {
|
|
11130
|
+
right: auto;
|
|
11131
|
+
left: auto;
|
|
11132
|
+
top: auto;
|
|
11133
|
+
bottom: calc(100% + 10px);
|
|
11134
|
+
left: 50%;
|
|
11135
|
+
transform: translateX(-50%) scale(0.8);
|
|
11136
|
+
}
|
|
11137
|
+
|
|
11138
|
+
.sui-speed-dial-left .sui-speed-dial-action[data-label]:hover::before {
|
|
11139
|
+
transform: translateX(-50%) scale(1);
|
|
11140
|
+
}
|
|
11141
|
+
|
|
11142
|
+
/* Direction: right */
|
|
11143
|
+
.sui-speed-dial-right {
|
|
11144
|
+
flex-direction: row;
|
|
11145
|
+
}
|
|
11146
|
+
|
|
11147
|
+
.sui-speed-dial-right .sui-speed-dial-actions {
|
|
11148
|
+
flex-direction: row;
|
|
11149
|
+
transform: translateX(10px) scale(0.8);
|
|
11150
|
+
}
|
|
11151
|
+
|
|
11152
|
+
.sui-speed-dial-right.open .sui-speed-dial-actions {
|
|
11153
|
+
transform: translateX(0) scale(1);
|
|
11154
|
+
}
|
|
11155
|
+
|
|
11156
|
+
.sui-speed-dial-right .sui-speed-dial-action[data-label]::before {
|
|
11157
|
+
right: auto;
|
|
11158
|
+
left: auto;
|
|
11159
|
+
top: auto;
|
|
11160
|
+
bottom: calc(100% + 10px);
|
|
11161
|
+
left: 50%;
|
|
11162
|
+
transform: translateX(-50%) scale(0.8);
|
|
11163
|
+
}
|
|
11164
|
+
|
|
11165
|
+
.sui-speed-dial-right .sui-speed-dial-action[data-label]:hover::before {
|
|
11166
|
+
transform: translateX(-50%) scale(1);
|
|
11167
|
+
}
|
|
11168
|
+
|
|
11169
|
+
/* Color variants */
|
|
11170
|
+
.sui-speed-dial-success .sui-speed-dial-trigger {
|
|
11171
|
+
background: var(--sui-success);
|
|
11172
|
+
box-shadow: 0 4px 14px rgba(45, 206, 137, 0.4);
|
|
11173
|
+
}
|
|
11174
|
+
|
|
11175
|
+
.sui-speed-dial-danger .sui-speed-dial-trigger {
|
|
11176
|
+
background: var(--sui-danger);
|
|
11177
|
+
box-shadow: 0 4px 14px rgba(231, 76, 111, 0.4);
|
|
11178
|
+
}
|
|
11179
|
+
|
|
11180
|
+
/* Sizes */
|
|
11181
|
+
.sui-speed-dial-sm .sui-speed-dial-trigger {
|
|
11182
|
+
width: 42px;
|
|
11183
|
+
height: 42px;
|
|
11184
|
+
}
|
|
11185
|
+
|
|
11186
|
+
.sui-speed-dial-sm .sui-speed-dial-trigger svg {
|
|
11187
|
+
width: 20px;
|
|
11188
|
+
height: 20px;
|
|
11189
|
+
}
|
|
11190
|
+
|
|
11191
|
+
.sui-speed-dial-sm .sui-speed-dial-action {
|
|
11192
|
+
width: 34px;
|
|
11193
|
+
height: 34px;
|
|
11194
|
+
}
|
|
11195
|
+
|
|
11196
|
+
.sui-speed-dial-sm .sui-speed-dial-action svg {
|
|
11197
|
+
width: 15px;
|
|
11198
|
+
height: 15px;
|
|
11199
|
+
}
|
|
11200
|
+
|
|
11201
|
+
.sui-speed-dial-lg .sui-speed-dial-trigger {
|
|
11202
|
+
width: 62px;
|
|
11203
|
+
height: 62px;
|
|
11204
|
+
}
|
|
11205
|
+
|
|
11206
|
+
.sui-speed-dial-lg .sui-speed-dial-trigger svg {
|
|
11207
|
+
width: 28px;
|
|
11208
|
+
height: 28px;
|
|
11209
|
+
}
|
|
11210
|
+
|
|
11211
|
+
.sui-speed-dial-lg .sui-speed-dial-action {
|
|
11212
|
+
width: 48px;
|
|
11213
|
+
height: 48px;
|
|
11214
|
+
}
|
|
11215
|
+
|
|
11216
|
+
.sui-speed-dial-lg .sui-speed-dial-action svg {
|
|
11217
|
+
width: 22px;
|
|
11218
|
+
height: 22px;
|
|
11219
|
+
}
|
|
11220
|
+
|
|
11221
|
+
/* =========================================
|
|
11222
|
+
Image Lightbox
|
|
11223
|
+
========================================= */
|
|
11224
|
+
|
|
11225
|
+
/* Thumbnail trigger */
|
|
11226
|
+
.sui-lightbox-thumb {
|
|
11227
|
+
cursor: pointer;
|
|
11228
|
+
border-radius: var(--sui-radius-sm);
|
|
11229
|
+
overflow: hidden;
|
|
11230
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
11231
|
+
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
11232
|
+
display: inline-block;
|
|
11233
|
+
}
|
|
11234
|
+
|
|
11235
|
+
.sui-lightbox-thumb:hover {
|
|
11236
|
+
transform: translateY(-2px);
|
|
11237
|
+
box-shadow: var(--sui-shadow-raised);
|
|
11238
|
+
}
|
|
11239
|
+
|
|
11240
|
+
.sui-lightbox-thumb img {
|
|
11241
|
+
display: block;
|
|
11242
|
+
width: 100%;
|
|
11243
|
+
height: 100%;
|
|
11244
|
+
object-fit: cover;
|
|
11245
|
+
}
|
|
11246
|
+
|
|
11247
|
+
/* Grid layout */
|
|
11248
|
+
.sui-lightbox-grid {
|
|
11249
|
+
display: grid;
|
|
11250
|
+
grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
|
|
11251
|
+
gap: 12px;
|
|
11252
|
+
}
|
|
11253
|
+
|
|
11254
|
+
.sui-lightbox-grid .sui-lightbox-thumb {
|
|
11255
|
+
aspect-ratio: 4/3;
|
|
11256
|
+
}
|
|
11257
|
+
|
|
11258
|
+
/* Filmstrip — horizontal scroll */
|
|
11259
|
+
.sui-lightbox-filmstrip {
|
|
11260
|
+
display: flex;
|
|
11261
|
+
gap: 10px;
|
|
11262
|
+
overflow-x: auto;
|
|
11263
|
+
padding-bottom: 8px;
|
|
11264
|
+
}
|
|
11265
|
+
|
|
11266
|
+
.sui-lightbox-filmstrip .sui-lightbox-thumb {
|
|
11267
|
+
flex-shrink: 0;
|
|
11268
|
+
width: 160px;
|
|
11269
|
+
height: 110px;
|
|
11270
|
+
}
|
|
11271
|
+
|
|
11272
|
+
/* Vertical gallery — main image + side thumbnails */
|
|
11273
|
+
.sui-lightbox-vertical {
|
|
11274
|
+
display: flex;
|
|
11275
|
+
gap: 12px;
|
|
11276
|
+
}
|
|
11277
|
+
|
|
11278
|
+
.sui-lightbox-vertical-main {
|
|
11279
|
+
flex: 1;
|
|
11280
|
+
border-radius: var(--sui-radius-sm);
|
|
11281
|
+
overflow: hidden;
|
|
11282
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
11283
|
+
cursor: pointer;
|
|
11284
|
+
transition: transform 0.2s ease, box-shadow 0.2s ease;
|
|
11285
|
+
}
|
|
11286
|
+
|
|
11287
|
+
.sui-lightbox-vertical-main:hover {
|
|
11288
|
+
transform: translateY(-2px);
|
|
11289
|
+
box-shadow: var(--sui-shadow-raised);
|
|
11290
|
+
}
|
|
11291
|
+
|
|
11292
|
+
.sui-lightbox-vertical-main img {
|
|
11293
|
+
width: 100%;
|
|
11294
|
+
height: 100%;
|
|
11295
|
+
object-fit: cover;
|
|
11296
|
+
display: block;
|
|
11297
|
+
}
|
|
11298
|
+
|
|
11299
|
+
.sui-lightbox-vertical-strip {
|
|
11300
|
+
display: flex;
|
|
11301
|
+
flex-direction: column;
|
|
11302
|
+
gap: 8px;
|
|
11303
|
+
width: 82px;
|
|
11304
|
+
flex-shrink: 0;
|
|
11305
|
+
overflow-y: auto;
|
|
11306
|
+
overflow-x: hidden;
|
|
11307
|
+
}
|
|
11308
|
+
|
|
11309
|
+
.sui-lightbox-vertical-strip .sui-lightbox-thumb {
|
|
11310
|
+
width: 72px;
|
|
11311
|
+
height: 54px;
|
|
11312
|
+
flex-shrink: 0;
|
|
11313
|
+
opacity: 0.6;
|
|
11314
|
+
transition: opacity 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
|
|
11315
|
+
}
|
|
11316
|
+
|
|
11317
|
+
.sui-lightbox-vertical-strip .sui-lightbox-thumb:hover,
|
|
11318
|
+
.sui-lightbox-vertical-strip .sui-lightbox-thumb.active {
|
|
11319
|
+
opacity: 1;
|
|
11320
|
+
}
|
|
11321
|
+
|
|
11322
|
+
/* Inset container */
|
|
11323
|
+
.sui-lightbox-inset {
|
|
11324
|
+
background: var(--sui-bg);
|
|
11325
|
+
box-shadow: var(--sui-shadow-inset-sm);
|
|
11326
|
+
border-radius: var(--sui-radius);
|
|
11327
|
+
padding: 12px;
|
|
11328
|
+
}
|
|
11329
|
+
|
|
11330
|
+
/* Overlay */
|
|
11331
|
+
.sui-lightbox-overlay {
|
|
11332
|
+
position: fixed;
|
|
11333
|
+
inset: 0;
|
|
11334
|
+
z-index: 1100;
|
|
11335
|
+
background: rgba(0, 0, 0, 0.85);
|
|
11336
|
+
backdrop-filter: blur(8px);
|
|
11337
|
+
-webkit-backdrop-filter: blur(8px);
|
|
11338
|
+
display: flex;
|
|
11339
|
+
align-items: center;
|
|
11340
|
+
justify-content: center;
|
|
11341
|
+
flex-direction: column;
|
|
11342
|
+
opacity: 0;
|
|
11343
|
+
visibility: hidden;
|
|
11344
|
+
transition: opacity 0.3s ease, visibility 0.3s ease;
|
|
11345
|
+
}
|
|
11346
|
+
|
|
11347
|
+
.sui-lightbox-overlay.open {
|
|
11348
|
+
opacity: 1;
|
|
11349
|
+
visibility: visible;
|
|
11350
|
+
}
|
|
11351
|
+
|
|
11352
|
+
/* Main image */
|
|
11353
|
+
.sui-lightbox-overlay img {
|
|
11354
|
+
max-width: 90vw;
|
|
11355
|
+
max-height: 80vh;
|
|
11356
|
+
object-fit: contain;
|
|
11357
|
+
border-radius: var(--sui-radius);
|
|
11358
|
+
box-shadow: 0 8px 40px rgba(0, 0, 0, 0.4);
|
|
11359
|
+
transform: scale(0.95);
|
|
11360
|
+
transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
11361
|
+
}
|
|
11362
|
+
|
|
11363
|
+
.sui-lightbox-overlay.open img {
|
|
11364
|
+
transform: scale(1);
|
|
11365
|
+
}
|
|
11366
|
+
|
|
11367
|
+
/* Zoomed */
|
|
11368
|
+
.sui-lightbox-overlay.zoomed img {
|
|
11369
|
+
max-width: none;
|
|
11370
|
+
max-height: none;
|
|
11371
|
+
cursor: zoom-out;
|
|
11372
|
+
transform: scale(1.5);
|
|
11373
|
+
}
|
|
11374
|
+
|
|
11375
|
+
.sui-lightbox-overlay:not(.zoomed) img {
|
|
11376
|
+
cursor: zoom-in;
|
|
11377
|
+
}
|
|
11378
|
+
|
|
11379
|
+
/* Close button */
|
|
11380
|
+
.sui-lightbox-close {
|
|
11381
|
+
position: absolute;
|
|
11382
|
+
top: 16px;
|
|
11383
|
+
right: 16px;
|
|
11384
|
+
width: 40px;
|
|
11385
|
+
height: 40px;
|
|
11386
|
+
border: none;
|
|
11387
|
+
background: rgba(255, 255, 255, 0.1);
|
|
11388
|
+
color: #fff;
|
|
11389
|
+
border-radius: 50%;
|
|
11390
|
+
display: flex;
|
|
11391
|
+
align-items: center;
|
|
11392
|
+
justify-content: center;
|
|
11393
|
+
cursor: pointer;
|
|
11394
|
+
font-size: 20px;
|
|
11395
|
+
transition: background 0.2s ease;
|
|
11396
|
+
padding: 0;
|
|
11397
|
+
z-index: 1;
|
|
11398
|
+
}
|
|
11399
|
+
|
|
11400
|
+
.sui-lightbox-close:hover {
|
|
11401
|
+
background: rgba(255, 255, 255, 0.2);
|
|
11402
|
+
}
|
|
11403
|
+
|
|
11404
|
+
/* Navigation arrows */
|
|
11405
|
+
.sui-lightbox-prev,
|
|
11406
|
+
.sui-lightbox-next {
|
|
11407
|
+
position: absolute;
|
|
11408
|
+
top: 50%;
|
|
11409
|
+
transform: translateY(-50%);
|
|
11410
|
+
width: 44px;
|
|
11411
|
+
height: 44px;
|
|
11412
|
+
border: none;
|
|
11413
|
+
background: rgba(255, 255, 255, 0.1);
|
|
11414
|
+
color: #fff;
|
|
11415
|
+
border-radius: 50%;
|
|
11416
|
+
display: flex;
|
|
11417
|
+
align-items: center;
|
|
11418
|
+
justify-content: center;
|
|
11419
|
+
cursor: pointer;
|
|
11420
|
+
transition: background 0.2s ease;
|
|
11421
|
+
padding: 0;
|
|
11422
|
+
}
|
|
11423
|
+
|
|
11424
|
+
.sui-lightbox-prev { left: 16px; }
|
|
11425
|
+
.sui-lightbox-next { right: 16px; }
|
|
11426
|
+
|
|
11427
|
+
.sui-lightbox-prev:hover,
|
|
11428
|
+
.sui-lightbox-next:hover {
|
|
11429
|
+
background: rgba(255, 255, 255, 0.2);
|
|
11430
|
+
}
|
|
11431
|
+
|
|
11432
|
+
.sui-lightbox-prev svg,
|
|
11433
|
+
.sui-lightbox-next svg {
|
|
11434
|
+
width: 20px;
|
|
11435
|
+
height: 20px;
|
|
11436
|
+
stroke: currentColor;
|
|
11437
|
+
fill: none;
|
|
11438
|
+
stroke-width: 2;
|
|
11439
|
+
stroke-linecap: round;
|
|
11440
|
+
stroke-linejoin: round;
|
|
11441
|
+
}
|
|
11442
|
+
|
|
11443
|
+
/* Caption */
|
|
11444
|
+
.sui-lightbox-caption {
|
|
11445
|
+
color: rgba(255, 255, 255, 0.8);
|
|
11446
|
+
font-size: 14px;
|
|
11447
|
+
text-align: center;
|
|
11448
|
+
margin-top: 12px;
|
|
11449
|
+
max-width: 600px;
|
|
11450
|
+
}
|
|
11451
|
+
|
|
11452
|
+
/* Counter */
|
|
11453
|
+
.sui-lightbox-counter {
|
|
11454
|
+
position: absolute;
|
|
11455
|
+
top: 20px;
|
|
11456
|
+
left: 20px;
|
|
11457
|
+
color: rgba(255, 255, 255, 0.6);
|
|
11458
|
+
font-size: 13px;
|
|
11459
|
+
font-weight: 600;
|
|
11460
|
+
}
|
|
11461
|
+
|
|
11462
|
+
/* =========================================
|
|
11463
|
+
Loading Overlay
|
|
11464
|
+
========================================= */
|
|
11465
|
+
.sui-loading-overlay {
|
|
11466
|
+
position: absolute;
|
|
11467
|
+
inset: 0;
|
|
11468
|
+
display: flex;
|
|
11469
|
+
flex-direction: column;
|
|
11470
|
+
align-items: center;
|
|
11471
|
+
justify-content: center;
|
|
11472
|
+
gap: 12px;
|
|
11473
|
+
background: rgba(var(--sui-bg-rgb, 230, 232, 240), 0.8);
|
|
11474
|
+
border-radius: inherit;
|
|
11475
|
+
z-index: 10;
|
|
11476
|
+
opacity: 0;
|
|
11477
|
+
visibility: hidden;
|
|
11478
|
+
transition: opacity 0.25s ease, visibility 0.25s ease;
|
|
11479
|
+
}
|
|
11480
|
+
|
|
11481
|
+
.sui-loading-overlay.active {
|
|
11482
|
+
opacity: 1;
|
|
11483
|
+
visibility: visible;
|
|
11484
|
+
}
|
|
11485
|
+
|
|
11486
|
+
.sui-loading-overlay-text {
|
|
11487
|
+
font-size: 13px;
|
|
11488
|
+
font-weight: 600;
|
|
11489
|
+
color: var(--sui-text-muted);
|
|
11490
|
+
}
|
|
11491
|
+
|
|
11492
|
+
/* Blur variant */
|
|
11493
|
+
.sui-loading-blur {
|
|
11494
|
+
backdrop-filter: blur(4px);
|
|
11495
|
+
-webkit-backdrop-filter: blur(4px);
|
|
11496
|
+
background: rgba(var(--sui-bg-rgb, 230, 232, 240), 0.5);
|
|
11497
|
+
}
|
|
11498
|
+
|
|
11499
|
+
/* Fullscreen */
|
|
11500
|
+
.sui-loading-fullscreen {
|
|
11501
|
+
position: fixed;
|
|
11502
|
+
inset: 0;
|
|
11503
|
+
border-radius: 0;
|
|
11504
|
+
z-index: 1200;
|
|
11505
|
+
}
|
|
11506
|
+
|
|
11507
|
+
/* Dark mode support */
|
|
11508
|
+
[data-theme="dark"] .sui-loading-overlay {
|
|
11509
|
+
background: rgba(27, 29, 42, 0.8);
|
|
11510
|
+
}
|
|
11511
|
+
|
|
11512
|
+
[data-theme="dark"] .sui-loading-blur {
|
|
11513
|
+
background: rgba(27, 29, 42, 0.5);
|
|
11514
|
+
}
|
|
11515
|
+
|
|
11516
|
+
/* =========================================
|
|
11517
|
+
Diff — Image Compare Slider
|
|
11518
|
+
========================================= */
|
|
11519
|
+
.sui-diff {
|
|
11520
|
+
position: relative;
|
|
11521
|
+
overflow: hidden;
|
|
11522
|
+
border-radius: var(--sui-radius);
|
|
11523
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
11524
|
+
cursor: ew-resize;
|
|
11525
|
+
user-select: none;
|
|
11526
|
+
}
|
|
11527
|
+
|
|
11528
|
+
.sui-diff .sui-diff-after {
|
|
11529
|
+
display: block;
|
|
11530
|
+
width: 100%;
|
|
11531
|
+
height: auto;
|
|
11532
|
+
}
|
|
11533
|
+
|
|
11534
|
+
.sui-diff .sui-diff-before {
|
|
11535
|
+
position: absolute;
|
|
11536
|
+
top: 0;
|
|
11537
|
+
left: 0;
|
|
11538
|
+
width: 100%;
|
|
11539
|
+
height: 100%;
|
|
11540
|
+
object-fit: cover;
|
|
11541
|
+
object-position: left;
|
|
11542
|
+
z-index: 1;
|
|
11543
|
+
clip-path: inset(0 50% 0 0);
|
|
11544
|
+
}
|
|
11545
|
+
|
|
11546
|
+
.sui-diff-handle {
|
|
11547
|
+
position: absolute;
|
|
11548
|
+
top: 0;
|
|
11549
|
+
bottom: 0;
|
|
11550
|
+
left: 50%;
|
|
11551
|
+
width: 3px;
|
|
11552
|
+
background: #fff;
|
|
11553
|
+
z-index: 2;
|
|
11554
|
+
transform: translateX(-50%);
|
|
11555
|
+
box-shadow: 0 0 6px rgba(0, 0, 0, 0.3);
|
|
11556
|
+
}
|
|
11557
|
+
|
|
11558
|
+
.sui-diff-handle::before {
|
|
11559
|
+
content: "";
|
|
11560
|
+
position: absolute;
|
|
11561
|
+
top: 50%;
|
|
11562
|
+
left: 50%;
|
|
11563
|
+
transform: translate(-50%, -50%);
|
|
11564
|
+
width: 32px;
|
|
11565
|
+
height: 32px;
|
|
11566
|
+
border-radius: 50%;
|
|
11567
|
+
background: #fff;
|
|
11568
|
+
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
|
|
11569
|
+
}
|
|
11570
|
+
|
|
11571
|
+
.sui-diff-handle-arrows {
|
|
11572
|
+
position: absolute;
|
|
11573
|
+
top: 50%;
|
|
11574
|
+
left: 50%;
|
|
11575
|
+
transform: translate(-50%, -50%);
|
|
11576
|
+
display: flex;
|
|
11577
|
+
align-items: center;
|
|
11578
|
+
gap: 4px;
|
|
11579
|
+
z-index: 1;
|
|
11580
|
+
}
|
|
11581
|
+
|
|
11582
|
+
.sui-diff-handle-arrows svg {
|
|
11583
|
+
width: 8px;
|
|
11584
|
+
height: 12px;
|
|
11585
|
+
fill: var(--sui-text-muted);
|
|
11586
|
+
}
|
|
11587
|
+
|
|
11588
|
+
/* Labels */
|
|
11589
|
+
.sui-diff-label-before,
|
|
11590
|
+
.sui-diff-label-after {
|
|
11591
|
+
position: absolute;
|
|
11592
|
+
bottom: 12px;
|
|
11593
|
+
font-size: 12px;
|
|
11594
|
+
font-weight: 600;
|
|
11595
|
+
color: #fff;
|
|
11596
|
+
background: rgba(0, 0, 0, 0.5);
|
|
11597
|
+
padding: 4px 10px;
|
|
11598
|
+
border-radius: var(--sui-radius-sm);
|
|
11599
|
+
z-index: 3;
|
|
11600
|
+
}
|
|
11601
|
+
|
|
11602
|
+
.sui-diff-label-before {
|
|
11603
|
+
left: 12px;
|
|
11604
|
+
}
|
|
11605
|
+
|
|
11606
|
+
.sui-diff-label-after {
|
|
11607
|
+
right: 12px;
|
|
11608
|
+
}
|
|
11609
|
+
|
|
11610
|
+
/* Vertical mode */
|
|
11611
|
+
.sui-diff-vertical {
|
|
11612
|
+
cursor: ns-resize;
|
|
11613
|
+
}
|
|
11614
|
+
|
|
11615
|
+
.sui-diff-vertical .sui-diff-before {
|
|
11616
|
+
width: 100%;
|
|
11617
|
+
height: 100%;
|
|
11618
|
+
object-fit: cover;
|
|
11619
|
+
object-position: top;
|
|
11620
|
+
clip-path: inset(0 0 50% 0);
|
|
11621
|
+
}
|
|
11622
|
+
|
|
11623
|
+
.sui-diff-vertical .sui-diff-handle {
|
|
11624
|
+
top: 50%;
|
|
11625
|
+
left: 0;
|
|
11626
|
+
right: 0;
|
|
11627
|
+
bottom: auto;
|
|
11628
|
+
width: 100%;
|
|
11629
|
+
height: 3px;
|
|
11630
|
+
transform: translateY(-50%);
|
|
11631
|
+
}
|
|
11632
|
+
|
|
11633
|
+
.sui-diff-vertical .sui-diff-handle-arrows {
|
|
11634
|
+
flex-direction: column;
|
|
11635
|
+
gap: 4px;
|
|
11636
|
+
}
|
|
11637
|
+
|
|
11638
|
+
.sui-diff-vertical .sui-diff-handle-arrows svg {
|
|
11639
|
+
width: 12px;
|
|
11640
|
+
height: 8px;
|
|
11641
|
+
}
|
|
11642
|
+
|
|
11643
|
+
/* =========================================
|
|
11644
|
+
Stack
|
|
11645
|
+
========================================= */
|
|
11646
|
+
.sui-stack {
|
|
11647
|
+
position: relative;
|
|
11648
|
+
display: inline-flex;
|
|
11649
|
+
}
|
|
11650
|
+
|
|
11651
|
+
.sui-stack > * {
|
|
11652
|
+
transition: transform 0.3s ease, box-shadow 0.3s ease, opacity 0.3s ease;
|
|
11653
|
+
}
|
|
11654
|
+
|
|
11655
|
+
.sui-stack {
|
|
11656
|
+
padding-bottom: 24px;
|
|
11657
|
+
padding-right: 24px;
|
|
11658
|
+
}
|
|
11659
|
+
|
|
11660
|
+
.sui-stack > *:not(:first-child) {
|
|
11661
|
+
position: absolute;
|
|
11662
|
+
top: 0;
|
|
11663
|
+
left: 0;
|
|
11664
|
+
}
|
|
11665
|
+
|
|
11666
|
+
/* Default — offset down-right */
|
|
11667
|
+
.sui-stack > *:nth-child(2) { transform: translate(12px, 12px); z-index: -1; opacity: 0.75; }
|
|
11668
|
+
.sui-stack > *:nth-child(3) { transform: translate(24px, 24px); z-index: -2; opacity: 0.5; }
|
|
11669
|
+
.sui-stack > *:nth-child(4) { transform: translate(36px, 36px); z-index: -3; opacity: 0.3; }
|
|
11670
|
+
|
|
11671
|
+
/* Fanned — wider rotation for visibility */
|
|
11672
|
+
.sui-stack-fanned > *:nth-child(1) { transform: rotate(-5deg); z-index: 3; }
|
|
11673
|
+
.sui-stack-fanned > *:nth-child(2) { transform: rotate(0deg) translate(10px, 4px); z-index: 2; opacity: 0.8; }
|
|
11674
|
+
.sui-stack-fanned > *:nth-child(3) { transform: rotate(5deg) translate(20px, 8px); z-index: 1; opacity: 0.6; }
|
|
11675
|
+
.sui-stack-fanned > *:nth-child(4) { transform: rotate(10deg) translate(30px, 12px); z-index: 0; opacity: 0.4; }
|
|
11676
|
+
|
|
11677
|
+
/* Offset up-left */
|
|
11678
|
+
.sui-stack-up > *:nth-child(2) { transform: translate(-8px, -8px); }
|
|
11679
|
+
.sui-stack-up > *:nth-child(3) { transform: translate(-16px, -16px); }
|
|
11680
|
+
.sui-stack-up > *:nth-child(4) { transform: translate(-24px, -24px); }
|
|
11681
|
+
|
|
11682
|
+
/* Offset right only */
|
|
11683
|
+
.sui-stack-right > *:nth-child(2) { transform: translateX(8px); }
|
|
11684
|
+
.sui-stack-right > *:nth-child(3) { transform: translateX(16px); }
|
|
11685
|
+
.sui-stack-right > *:nth-child(4) { transform: translateX(24px); }
|
|
11686
|
+
|
|
11687
|
+
/* Spread on hover — controlled by --sui-stack-gap and --sui-stack-spread */
|
|
11688
|
+
.sui-stack-hover {
|
|
11689
|
+
--sui-stack-gap: 180px;
|
|
11690
|
+
--sui-stack-spread: 0.6;
|
|
11691
|
+
}
|
|
11692
|
+
|
|
11693
|
+
.sui-stack-spread-xs { --sui-stack-spread: 0.15; }
|
|
11694
|
+
.sui-stack-spread-sm { --sui-stack-spread: 0.3; }
|
|
11695
|
+
.sui-stack-spread-md { --sui-stack-spread: 0.6; }
|
|
11696
|
+
.sui-stack-spread-lg { --sui-stack-spread: 0.85; }
|
|
11697
|
+
.sui-stack-spread-full { --sui-stack-spread: 1; }
|
|
11698
|
+
|
|
11699
|
+
.sui-stack-hover:hover > *:nth-child(1) { transform: translate(calc(var(--sui-stack-gap) * var(--sui-stack-spread) * -1), 0); z-index: 3; opacity: 1; }
|
|
11700
|
+
.sui-stack-hover:hover > *:nth-child(2) { transform: translate(0, 0); z-index: 2; opacity: 1; }
|
|
11701
|
+
.sui-stack-hover:hover > *:nth-child(3) { transform: translate(calc(var(--sui-stack-gap) * var(--sui-stack-spread)), 0); z-index: 1; opacity: 1; }
|
|
11702
|
+
.sui-stack-hover:hover > *:nth-child(4) { transform: translate(calc(var(--sui-stack-gap) * var(--sui-stack-spread) * 2), 0); z-index: 0; opacity: 1; }
|
|
11703
|
+
|
|
11704
|
+
.sui-stack-hover.sui-stack-fanned:hover > *:nth-child(1) { transform: rotate(-6deg) translate(calc(var(--sui-stack-gap) * var(--sui-stack-spread) * -0.9), calc(var(--sui-stack-spread) * -10px)); opacity: 1; }
|
|
11705
|
+
.sui-stack-hover.sui-stack-fanned:hover > *:nth-child(2) { transform: rotate(0deg) translate(0, 0); opacity: 1; }
|
|
11706
|
+
.sui-stack-hover.sui-stack-fanned:hover > *:nth-child(3) { transform: rotate(6deg) translate(calc(var(--sui-stack-gap) * var(--sui-stack-spread) * 0.9), calc(var(--sui-stack-spread) * -10px)); opacity: 1; }
|
|
11707
|
+
.sui-stack-hover.sui-stack-fanned:hover > *:nth-child(4) { transform: rotate(10deg) translate(calc(var(--sui-stack-gap) * var(--sui-stack-spread) * 1.8), calc(var(--sui-stack-spread) * -20px)); opacity: 1; }
|
|
11708
|
+
|
|
11709
|
+
/* =========================================
|
|
11710
|
+
Copy Button
|
|
11711
|
+
========================================= */
|
|
11712
|
+
.sui-copy {
|
|
11713
|
+
display: inline-flex;
|
|
11714
|
+
align-items: center;
|
|
11715
|
+
gap: 8px;
|
|
11716
|
+
background: var(--sui-bg);
|
|
11717
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
11718
|
+
border-radius: var(--sui-radius-sm);
|
|
11719
|
+
padding: 8px 12px;
|
|
11720
|
+
font-size: 14px;
|
|
11721
|
+
font-family: var(--sui-font-mono);
|
|
11722
|
+
color: var(--sui-text);
|
|
11723
|
+
}
|
|
11724
|
+
|
|
11725
|
+
.sui-copy-text {
|
|
11726
|
+
flex: 1;
|
|
11727
|
+
overflow: hidden;
|
|
11728
|
+
text-overflow: ellipsis;
|
|
11729
|
+
white-space: nowrap;
|
|
11730
|
+
}
|
|
11731
|
+
|
|
11732
|
+
.sui-copy-btn {
|
|
11733
|
+
display: flex;
|
|
11734
|
+
align-items: center;
|
|
11735
|
+
justify-content: center;
|
|
11736
|
+
width: 28px;
|
|
11737
|
+
height: 28px;
|
|
11738
|
+
border: none;
|
|
11739
|
+
background: var(--sui-bg);
|
|
11740
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
11741
|
+
border-radius: var(--sui-radius-xs);
|
|
11742
|
+
cursor: pointer;
|
|
11743
|
+
color: var(--sui-text-muted);
|
|
11744
|
+
padding: 0;
|
|
11745
|
+
flex-shrink: 0;
|
|
11746
|
+
transition: var(--sui-transition);
|
|
11747
|
+
}
|
|
11748
|
+
|
|
11749
|
+
.sui-copy-btn svg {
|
|
11750
|
+
width: 16px;
|
|
11751
|
+
height: 16px;
|
|
11752
|
+
stroke: currentColor;
|
|
11753
|
+
fill: none;
|
|
11754
|
+
stroke-width: 2;
|
|
11755
|
+
stroke-linecap: round;
|
|
11756
|
+
stroke-linejoin: round;
|
|
11757
|
+
}
|
|
11758
|
+
|
|
11759
|
+
.sui-copy-btn:hover {
|
|
11760
|
+
color: var(--sui-primary);
|
|
11761
|
+
box-shadow: var(--sui-shadow-raised);
|
|
11762
|
+
}
|
|
11763
|
+
|
|
11764
|
+
.sui-copy-btn.copied {
|
|
11765
|
+
color: var(--sui-success);
|
|
11766
|
+
}
|
|
11767
|
+
|
|
11768
|
+
/* Inline — just the icon button, no wrapper */
|
|
11769
|
+
.sui-copy-inline {
|
|
11770
|
+
display: inline-flex;
|
|
11771
|
+
align-items: center;
|
|
11772
|
+
justify-content: center;
|
|
11773
|
+
width: 28px;
|
|
11774
|
+
height: 28px;
|
|
11775
|
+
border: none;
|
|
11776
|
+
background: none;
|
|
11777
|
+
cursor: pointer;
|
|
11778
|
+
color: var(--sui-text-muted);
|
|
11779
|
+
padding: 0;
|
|
11780
|
+
border-radius: var(--sui-radius-xs);
|
|
11781
|
+
transition: var(--sui-transition);
|
|
11782
|
+
}
|
|
11783
|
+
|
|
11784
|
+
.sui-copy-inline svg {
|
|
11785
|
+
width: 16px;
|
|
11786
|
+
height: 16px;
|
|
11787
|
+
stroke: currentColor;
|
|
11788
|
+
fill: none;
|
|
11789
|
+
stroke-width: 2;
|
|
11790
|
+
stroke-linecap: round;
|
|
11791
|
+
stroke-linejoin: round;
|
|
11792
|
+
}
|
|
11793
|
+
|
|
11794
|
+
.sui-copy-inline:hover {
|
|
11795
|
+
color: var(--sui-primary);
|
|
11796
|
+
background: rgba(91, 84, 224, 0.06);
|
|
11797
|
+
}
|
|
11798
|
+
|
|
11799
|
+
.sui-copy-inline.copied {
|
|
11800
|
+
color: var(--sui-success);
|
|
11801
|
+
}
|
|
11802
|
+
|
|
11803
|
+
/* With input */
|
|
11804
|
+
.sui-copy-input {
|
|
11805
|
+
display: flex;
|
|
11806
|
+
align-items: center;
|
|
11807
|
+
gap: 0;
|
|
11808
|
+
}
|
|
11809
|
+
|
|
11810
|
+
.sui-copy-input .sui-input {
|
|
11811
|
+
border-radius: var(--sui-radius-sm) 0 0 var(--sui-radius-sm);
|
|
11812
|
+
font-family: var(--sui-font-mono);
|
|
11813
|
+
}
|
|
11814
|
+
|
|
11815
|
+
.sui-copy-input .sui-copy-btn {
|
|
11816
|
+
border-radius: 0 var(--sui-radius-sm) var(--sui-radius-sm) 0;
|
|
11817
|
+
height: auto;
|
|
11818
|
+
align-self: stretch;
|
|
11819
|
+
width: 40px;
|
|
11820
|
+
}
|
|
11821
|
+
|
|
11822
|
+
/* Sizes */
|
|
11823
|
+
.sui-copy-sm {
|
|
11824
|
+
padding: 6px 10px;
|
|
11825
|
+
font-size: 12px;
|
|
11826
|
+
}
|
|
11827
|
+
|
|
11828
|
+
.sui-copy-sm .sui-copy-btn {
|
|
11829
|
+
width: 24px;
|
|
11830
|
+
height: 24px;
|
|
11831
|
+
}
|
|
11832
|
+
|
|
11833
|
+
.sui-copy-sm .sui-copy-btn svg {
|
|
11834
|
+
width: 13px;
|
|
11835
|
+
height: 13px;
|
|
11836
|
+
}
|
|
11837
|
+
|
|
11838
|
+
.sui-copy-lg {
|
|
11839
|
+
padding: 12px 16px;
|
|
11840
|
+
font-size: 16px;
|
|
11841
|
+
}
|
|
11842
|
+
|
|
11843
|
+
.sui-copy-lg .sui-copy-btn {
|
|
11844
|
+
width: 34px;
|
|
11845
|
+
height: 34px;
|
|
11846
|
+
}
|
|
11847
|
+
|
|
11848
|
+
.sui-copy-lg .sui-copy-btn svg {
|
|
11849
|
+
width: 18px;
|
|
11850
|
+
height: 18px;
|
|
11851
|
+
}
|
|
11852
|
+
|
|
11853
|
+
/* Inset */
|
|
11854
|
+
.sui-copy-inset {
|
|
11855
|
+
box-shadow: var(--sui-shadow-inset-sm);
|
|
11856
|
+
}
|
|
11857
|
+
|
|
11858
|
+
.sui-copy-inset .sui-copy-btn {
|
|
11859
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
11860
|
+
}
|
|
11861
|
+
|
|
11862
|
+
/* =========================================
|
|
11863
|
+
Text Rotate
|
|
11864
|
+
========================================= */
|
|
11865
|
+
.sui-text-rotate {
|
|
11866
|
+
display: inline-block;
|
|
11867
|
+
position: relative;
|
|
11868
|
+
vertical-align: bottom;
|
|
11869
|
+
}
|
|
11870
|
+
|
|
11871
|
+
.sui-text-rotate-word {
|
|
11872
|
+
display: inline-block;
|
|
11873
|
+
position: absolute;
|
|
11874
|
+
left: 0;
|
|
11875
|
+
top: 0;
|
|
11876
|
+
opacity: 0;
|
|
11877
|
+
transition: opacity 0.4s ease, transform 0.4s ease;
|
|
11878
|
+
white-space: nowrap;
|
|
11879
|
+
}
|
|
11880
|
+
|
|
11881
|
+
.sui-text-rotate-word.active {
|
|
11882
|
+
opacity: 1;
|
|
11883
|
+
position: relative;
|
|
11884
|
+
transform: none;
|
|
11885
|
+
}
|
|
11886
|
+
|
|
11887
|
+
/* Fade (default) */
|
|
11888
|
+
.sui-text-rotate-fade .sui-text-rotate-word {
|
|
11889
|
+
transform: none;
|
|
11890
|
+
}
|
|
11891
|
+
|
|
11892
|
+
/* Slide up */
|
|
11893
|
+
.sui-text-rotate-slide .sui-text-rotate-word {
|
|
11894
|
+
transform: translateY(100%);
|
|
11895
|
+
}
|
|
11896
|
+
|
|
11897
|
+
.sui-text-rotate-slide .sui-text-rotate-word.active {
|
|
11898
|
+
transform: translateY(0);
|
|
11899
|
+
}
|
|
11900
|
+
|
|
11901
|
+
.sui-text-rotate-slide .sui-text-rotate-word.exit {
|
|
11902
|
+
opacity: 0;
|
|
11903
|
+
transform: translateY(-100%);
|
|
11904
|
+
}
|
|
11905
|
+
|
|
11906
|
+
/* Slide down */
|
|
11907
|
+
.sui-text-rotate-slide-down .sui-text-rotate-word {
|
|
11908
|
+
transform: translateY(-100%);
|
|
11909
|
+
}
|
|
11910
|
+
|
|
11911
|
+
.sui-text-rotate-slide-down .sui-text-rotate-word.active {
|
|
11912
|
+
transform: translateY(0);
|
|
11913
|
+
}
|
|
11914
|
+
|
|
11915
|
+
.sui-text-rotate-slide-down .sui-text-rotate-word.exit {
|
|
11916
|
+
opacity: 0;
|
|
11917
|
+
transform: translateY(100%);
|
|
11918
|
+
}
|
|
11919
|
+
|
|
11920
|
+
/* Flip */
|
|
11921
|
+
.sui-text-rotate-flip {
|
|
11922
|
+
perspective: 300px;
|
|
11923
|
+
}
|
|
11924
|
+
|
|
11925
|
+
.sui-text-rotate-flip .sui-text-rotate-word {
|
|
11926
|
+
transform: rotateX(90deg);
|
|
11927
|
+
transform-origin: center bottom;
|
|
11928
|
+
}
|
|
11929
|
+
|
|
11930
|
+
.sui-text-rotate-flip .sui-text-rotate-word.active {
|
|
11931
|
+
transform: rotateX(0deg);
|
|
11932
|
+
}
|
|
11933
|
+
|
|
11934
|
+
.sui-text-rotate-flip .sui-text-rotate-word.exit {
|
|
11935
|
+
opacity: 0;
|
|
11936
|
+
transform: rotateX(-90deg);
|
|
11937
|
+
}
|
|
11938
|
+
|
|
11939
|
+
/* Zoom */
|
|
11940
|
+
.sui-text-rotate-zoom .sui-text-rotate-word {
|
|
11941
|
+
transform: scale(0);
|
|
11942
|
+
}
|
|
11943
|
+
|
|
11944
|
+
.sui-text-rotate-zoom .sui-text-rotate-word.active {
|
|
11945
|
+
transform: scale(1);
|
|
11946
|
+
}
|
|
11947
|
+
|
|
11948
|
+
.sui-text-rotate-zoom .sui-text-rotate-word.exit {
|
|
11949
|
+
opacity: 0;
|
|
11950
|
+
transform: scale(1.5);
|
|
11951
|
+
}
|
|
11952
|
+
|
|
11953
|
+
/* Color highlight on the rotating word */
|
|
11954
|
+
.sui-text-rotate-primary .sui-text-rotate-word.active { color: var(--sui-primary); }
|
|
11955
|
+
.sui-text-rotate-success .sui-text-rotate-word.active { color: var(--sui-success); }
|
|
11956
|
+
.sui-text-rotate-danger .sui-text-rotate-word.active { color: var(--sui-danger); }
|
|
11957
|
+
.sui-text-rotate-warning .sui-text-rotate-word.active { color: var(--sui-warning); }
|
|
11958
|
+
.sui-text-rotate-info .sui-text-rotate-word.active { color: var(--sui-info); }
|
|
11959
|
+
|
|
11960
|
+
/* =========================================
|
|
11961
|
+
Typewriter
|
|
11962
|
+
========================================= */
|
|
11963
|
+
.sui-typewriter {
|
|
11964
|
+
display: inline;
|
|
11965
|
+
}
|
|
11966
|
+
|
|
11967
|
+
.sui-typewriter-cursor::after {
|
|
11968
|
+
content: "|";
|
|
11969
|
+
display: inline-block;
|
|
11970
|
+
animation: sui-blink 0.7s step-end infinite;
|
|
11971
|
+
margin-left: 1px;
|
|
11972
|
+
font-weight: 400;
|
|
11973
|
+
}
|
|
11974
|
+
|
|
11975
|
+
@keyframes sui-blink {
|
|
11976
|
+
0%, 100% { opacity: 1; }
|
|
11977
|
+
50% { opacity: 0; }
|
|
11978
|
+
}
|
|
11979
|
+
|
|
11980
|
+
/* Cursor variants */
|
|
11981
|
+
.sui-typewriter-cursor-block::after {
|
|
11982
|
+
content: "\2588";
|
|
11983
|
+
font-weight: 400;
|
|
11984
|
+
}
|
|
11985
|
+
|
|
11986
|
+
.sui-typewriter-cursor-underscore::after {
|
|
11987
|
+
content: "_";
|
|
11988
|
+
font-weight: 700;
|
|
11989
|
+
}
|
|
11990
|
+
|
|
11991
|
+
/* Colors */
|
|
11992
|
+
.sui-typewriter-primary { color: var(--sui-primary); }
|
|
11993
|
+
.sui-typewriter-success { color: var(--sui-success); }
|
|
11994
|
+
.sui-typewriter-danger { color: var(--sui-danger); }
|
|
11995
|
+
.sui-typewriter-warning { color: var(--sui-warning); }
|
|
11996
|
+
.sui-typewriter-info { color: var(--sui-info); }
|
|
11997
|
+
|
|
11998
|
+
/* =========================================
|
|
11999
|
+
Marquee
|
|
12000
|
+
========================================= */
|
|
12001
|
+
.sui-marquee {
|
|
12002
|
+
overflow: hidden;
|
|
12003
|
+
position: relative;
|
|
12004
|
+
padding: 8px 0;
|
|
12005
|
+
}
|
|
12006
|
+
|
|
12007
|
+
.sui-marquee-track {
|
|
12008
|
+
display: flex;
|
|
12009
|
+
width: max-content;
|
|
12010
|
+
animation: sui-marquee 20s linear infinite;
|
|
12011
|
+
gap: 24px;
|
|
12012
|
+
}
|
|
12013
|
+
|
|
12014
|
+
@keyframes sui-marquee {
|
|
12015
|
+
0% { transform: translateX(0); }
|
|
12016
|
+
100% { transform: translateX(-50%); }
|
|
12017
|
+
}
|
|
12018
|
+
|
|
12019
|
+
/* Reverse */
|
|
12020
|
+
.sui-marquee-reverse .sui-marquee-track {
|
|
12021
|
+
animation-direction: reverse;
|
|
12022
|
+
}
|
|
12023
|
+
|
|
12024
|
+
/* Speeds */
|
|
12025
|
+
.sui-marquee-slow .sui-marquee-track { animation-duration: 40s; }
|
|
12026
|
+
.sui-marquee-fast .sui-marquee-track { animation-duration: 10s; }
|
|
12027
|
+
|
|
12028
|
+
/* Pause on hover */
|
|
12029
|
+
.sui-marquee-hover:hover .sui-marquee-track {
|
|
12030
|
+
animation-play-state: paused;
|
|
12031
|
+
}
|
|
12032
|
+
|
|
12033
|
+
/* Fade edges */
|
|
12034
|
+
.sui-marquee-fade::before,
|
|
12035
|
+
.sui-marquee-fade::after {
|
|
12036
|
+
content: "";
|
|
12037
|
+
position: absolute;
|
|
12038
|
+
top: 0;
|
|
12039
|
+
bottom: 0;
|
|
12040
|
+
width: 60px;
|
|
12041
|
+
z-index: 1;
|
|
12042
|
+
pointer-events: none;
|
|
12043
|
+
}
|
|
12044
|
+
|
|
12045
|
+
.sui-marquee-fade::before {
|
|
12046
|
+
left: 0;
|
|
12047
|
+
background: linear-gradient(to right, var(--sui-bg), transparent);
|
|
12048
|
+
}
|
|
12049
|
+
|
|
12050
|
+
.sui-marquee-fade::after {
|
|
12051
|
+
right: 0;
|
|
12052
|
+
background: linear-gradient(to left, var(--sui-bg), transparent);
|
|
12053
|
+
}
|
|
12054
|
+
|
|
12055
|
+
/* Vertical */
|
|
12056
|
+
.sui-marquee-vertical {
|
|
12057
|
+
overflow: hidden;
|
|
12058
|
+
height: 200px;
|
|
12059
|
+
padding: 0 8px;
|
|
12060
|
+
}
|
|
12061
|
+
|
|
12062
|
+
.sui-marquee-vertical .sui-marquee-track {
|
|
12063
|
+
flex-direction: column;
|
|
12064
|
+
animation-name: sui-marquee-y;
|
|
12065
|
+
width: auto;
|
|
12066
|
+
}
|
|
12067
|
+
|
|
12068
|
+
@keyframes sui-marquee-y {
|
|
12069
|
+
0% { transform: translateY(0); }
|
|
12070
|
+
100% { transform: translateY(-50%); }
|
|
12071
|
+
}
|
|
12072
|
+
|
|
12073
|
+
/* Items */
|
|
12074
|
+
.sui-marquee-item {
|
|
12075
|
+
flex-shrink: 0;
|
|
12076
|
+
display: flex;
|
|
12077
|
+
align-items: center;
|
|
12078
|
+
justify-content: center;
|
|
12079
|
+
}
|
|
12080
|
+
|
|
12081
|
+
.sui-marquee-logo {
|
|
12082
|
+
flex-shrink: 0;
|
|
12083
|
+
display: flex;
|
|
12084
|
+
align-items: center;
|
|
12085
|
+
justify-content: center;
|
|
12086
|
+
padding: 8px 20px;
|
|
12087
|
+
font-size: 16px;
|
|
12088
|
+
font-weight: 700;
|
|
12089
|
+
color: var(--sui-text-muted);
|
|
12090
|
+
white-space: nowrap;
|
|
12091
|
+
}
|
|
12092
|
+
|
|
12093
|
+
.sui-marquee-card {
|
|
12094
|
+
flex-shrink: 0;
|
|
12095
|
+
background: var(--sui-bg);
|
|
12096
|
+
box-shadow: var(--sui-shadow-raised-sm);
|
|
12097
|
+
border-radius: var(--sui-radius);
|
|
12098
|
+
padding: 16px 20px;
|
|
12099
|
+
min-width: 200px;
|
|
12100
|
+
}
|
|
12101
|
+
|
|
12102
|
+
.sui-marquee-text {
|
|
12103
|
+
flex-shrink: 0;
|
|
12104
|
+
padding: 0 24px;
|
|
12105
|
+
font-size: 14px;
|
|
12106
|
+
white-space: nowrap;
|
|
12107
|
+
color: var(--sui-text-muted);
|
|
12108
|
+
}
|
|
12109
|
+
|
|
12110
|
+
/* =========================================
|
|
12111
|
+
Browser Mockup
|
|
12112
|
+
========================================= */
|
|
12113
|
+
.sui-browser {
|
|
12114
|
+
border-radius: var(--sui-radius-lg);
|
|
12115
|
+
overflow: hidden;
|
|
12116
|
+
box-shadow: var(--sui-shadow-raised);
|
|
12117
|
+
background: var(--sui-bg);
|
|
12118
|
+
}
|
|
12119
|
+
|
|
12120
|
+
.sui-browser-bar {
|
|
12121
|
+
display: flex;
|
|
12122
|
+
align-items: center;
|
|
12123
|
+
gap: 10px;
|
|
12124
|
+
padding: 10px 14px;
|
|
12125
|
+
background: var(--sui-bg-dark);
|
|
12126
|
+
}
|
|
12127
|
+
|
|
12128
|
+
.sui-browser-dots {
|
|
12129
|
+
display: flex;
|
|
12130
|
+
gap: 6px;
|
|
12131
|
+
flex-shrink: 0;
|
|
12132
|
+
}
|
|
12133
|
+
|
|
12134
|
+
.sui-browser-dots span {
|
|
12135
|
+
width: 10px;
|
|
12136
|
+
height: 10px;
|
|
12137
|
+
border-radius: 50%;
|
|
12138
|
+
}
|
|
12139
|
+
|
|
12140
|
+
.sui-browser-dots span:nth-child(1) { background: #E74C6F; }
|
|
12141
|
+
.sui-browser-dots span:nth-child(2) { background: #F5A623; }
|
|
12142
|
+
.sui-browser-dots span:nth-child(3) { background: #2DCE89; }
|
|
12143
|
+
|
|
12144
|
+
.sui-browser-url {
|
|
12145
|
+
flex: 1;
|
|
12146
|
+
background: var(--sui-bg);
|
|
12147
|
+
box-shadow: var(--sui-shadow-inset-sm);
|
|
12148
|
+
border-radius: var(--sui-radius-full);
|
|
12149
|
+
padding: 5px 14px;
|
|
12150
|
+
font-size: 12px;
|
|
12151
|
+
color: var(--sui-text-muted);
|
|
12152
|
+
font-family: var(--sui-font);
|
|
12153
|
+
white-space: nowrap;
|
|
12154
|
+
overflow: hidden;
|
|
12155
|
+
text-overflow: ellipsis;
|
|
12156
|
+
}
|
|
12157
|
+
|
|
12158
|
+
.sui-browser-actions {
|
|
12159
|
+
display: flex;
|
|
12160
|
+
gap: 8px;
|
|
12161
|
+
flex-shrink: 0;
|
|
12162
|
+
}
|
|
12163
|
+
|
|
12164
|
+
.sui-browser-actions svg {
|
|
12165
|
+
width: 14px;
|
|
12166
|
+
height: 14px;
|
|
12167
|
+
stroke: var(--sui-text-light);
|
|
12168
|
+
fill: none;
|
|
12169
|
+
stroke-width: 2;
|
|
12170
|
+
stroke-linecap: round;
|
|
12171
|
+
stroke-linejoin: round;
|
|
12172
|
+
}
|
|
12173
|
+
|
|
12174
|
+
.sui-browser-body {
|
|
12175
|
+
min-height: 120px;
|
|
12176
|
+
}
|
|
12177
|
+
|
|
12178
|
+
.sui-browser-body img {
|
|
12179
|
+
display: block;
|
|
12180
|
+
width: 100%;
|
|
12181
|
+
height: auto;
|
|
12182
|
+
}
|
|
12183
|
+
|
|
12184
|
+
/* Tabs */
|
|
12185
|
+
.sui-browser-tabs {
|
|
12186
|
+
display: flex;
|
|
12187
|
+
align-items: flex-end;
|
|
12188
|
+
gap: 2px;
|
|
12189
|
+
padding: 8px 14px 0;
|
|
12190
|
+
background: var(--sui-bg-dark);
|
|
12191
|
+
}
|
|
12192
|
+
|
|
12193
|
+
.sui-browser-tab {
|
|
12194
|
+
padding: 6px 16px;
|
|
12195
|
+
font-size: 11px;
|
|
12196
|
+
font-weight: 600;
|
|
12197
|
+
color: var(--sui-text-muted);
|
|
12198
|
+
border-radius: var(--sui-radius-sm) var(--sui-radius-sm) 0 0;
|
|
12199
|
+
background: transparent;
|
|
12200
|
+
}
|
|
12201
|
+
|
|
12202
|
+
.sui-browser-tab.active {
|
|
12203
|
+
background: var(--sui-bg);
|
|
12204
|
+
color: var(--sui-text);
|
|
12205
|
+
}
|
|
12206
|
+
|
|
12207
|
+
.sui-browser-tabs + .sui-browser-bar {
|
|
12208
|
+
padding-top: 8px;
|
|
12209
|
+
}
|
|
12210
|
+
|
|
12211
|
+
/* Windows-style buttons (right side) */
|
|
12212
|
+
.sui-browser-win .sui-browser-bar {
|
|
12213
|
+
position: relative;
|
|
12214
|
+
}
|
|
12215
|
+
|
|
12216
|
+
.sui-browser-win .sui-browser-dots {
|
|
12217
|
+
display: none;
|
|
12218
|
+
}
|
|
12219
|
+
|
|
12220
|
+
.sui-browser-win-btns {
|
|
12221
|
+
display: flex;
|
|
12222
|
+
margin-left: auto;
|
|
12223
|
+
flex-shrink: 0;
|
|
12224
|
+
}
|
|
12225
|
+
|
|
12226
|
+
.sui-browser-win-btns button {
|
|
12227
|
+
width: 28px;
|
|
12228
|
+
height: 24px;
|
|
12229
|
+
display: flex;
|
|
12230
|
+
align-items: center;
|
|
12231
|
+
justify-content: center;
|
|
12232
|
+
border: none;
|
|
12233
|
+
background: transparent;
|
|
12234
|
+
cursor: pointer;
|
|
12235
|
+
padding: 0;
|
|
12236
|
+
}
|
|
12237
|
+
|
|
12238
|
+
.sui-browser-win-btns button svg {
|
|
12239
|
+
width: 10px;
|
|
12240
|
+
height: 10px;
|
|
12241
|
+
stroke: var(--sui-text-muted);
|
|
12242
|
+
fill: none;
|
|
12243
|
+
stroke-width: 1.5;
|
|
12244
|
+
stroke-linecap: round;
|
|
12245
|
+
stroke-linejoin: round;
|
|
12246
|
+
}
|
|
12247
|
+
|
|
12248
|
+
.sui-browser-win-btns button:hover {
|
|
12249
|
+
background: rgba(0, 0, 0, 0.06);
|
|
12250
|
+
}
|
|
12251
|
+
|
|
12252
|
+
.sui-browser-win-btns button:last-child:hover {
|
|
12253
|
+
background: #E74C6F;
|
|
12254
|
+
}
|
|
12255
|
+
|
|
12256
|
+
.sui-browser-win-btns button:last-child:hover svg {
|
|
12257
|
+
stroke: #fff;
|
|
12258
|
+
}
|
|
12259
|
+
|
|
12260
|
+
/* Dark chrome */
|
|
12261
|
+
.sui-browser-dark .sui-browser-bar,
|
|
12262
|
+
.sui-browser-dark .sui-browser-tabs {
|
|
12263
|
+
background: #1B1D2A;
|
|
12264
|
+
}
|
|
12265
|
+
|
|
12266
|
+
.sui-browser-dark .sui-browser-url {
|
|
12267
|
+
background: rgba(255, 255, 255, 0.08);
|
|
12268
|
+
box-shadow: none;
|
|
12269
|
+
color: rgba(255, 255, 255, 0.5);
|
|
12270
|
+
}
|
|
12271
|
+
|
|
12272
|
+
.sui-browser-dark .sui-browser-actions svg {
|
|
12273
|
+
stroke: rgba(255, 255, 255, 0.4);
|
|
12274
|
+
}
|
|
12275
|
+
|
|
12276
|
+
.sui-browser-dark .sui-browser-tab {
|
|
12277
|
+
color: rgba(255, 255, 255, 0.4);
|
|
12278
|
+
}
|
|
12279
|
+
|
|
12280
|
+
.sui-browser-dark .sui-browser-tab.active {
|
|
12281
|
+
background: var(--sui-bg);
|
|
12282
|
+
color: var(--sui-text);
|
|
12283
|
+
}
|
|
12284
|
+
|
|
12285
|
+
/* =========================================
|
|
12286
|
+
Phone Mockup
|
|
12287
|
+
========================================= */
|
|
12288
|
+
.sui-phone {
|
|
12289
|
+
display: inline-block;
|
|
12290
|
+
position: relative;
|
|
12291
|
+
background: #1B1D2A;
|
|
12292
|
+
border-radius: 36px;
|
|
12293
|
+
padding: 12px;
|
|
12294
|
+
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.2), inset 0 0 0 2px rgba(255, 255, 255, 0.1);
|
|
12295
|
+
}
|
|
12296
|
+
|
|
12297
|
+
.sui-phone-screen {
|
|
12298
|
+
position: relative;
|
|
12299
|
+
width: 260px;
|
|
12300
|
+
height: 520px;
|
|
12301
|
+
background: var(--sui-bg);
|
|
12302
|
+
border-radius: 24px;
|
|
12303
|
+
overflow: hidden;
|
|
12304
|
+
}
|
|
12305
|
+
|
|
12306
|
+
.sui-phone-screen img {
|
|
12307
|
+
display: block;
|
|
12308
|
+
width: 100%;
|
|
12309
|
+
height: 100%;
|
|
12310
|
+
object-fit: cover;
|
|
12311
|
+
}
|
|
12312
|
+
|
|
12313
|
+
/* Notch */
|
|
12314
|
+
.sui-phone-notch::before {
|
|
12315
|
+
content: "";
|
|
12316
|
+
position: absolute;
|
|
12317
|
+
top: 0;
|
|
12318
|
+
left: 50%;
|
|
12319
|
+
transform: translateX(-50%);
|
|
12320
|
+
width: 100px;
|
|
12321
|
+
height: 24px;
|
|
12322
|
+
background: #1B1D2A;
|
|
12323
|
+
border-radius: 0 0 16px 16px;
|
|
12324
|
+
z-index: 2;
|
|
12325
|
+
}
|
|
12326
|
+
|
|
12327
|
+
/* Dynamic Island */
|
|
12328
|
+
.sui-phone-island::before {
|
|
12329
|
+
content: "";
|
|
12330
|
+
position: absolute;
|
|
12331
|
+
top: 10px;
|
|
12332
|
+
left: 50%;
|
|
12333
|
+
transform: translateX(-50%);
|
|
12334
|
+
width: 80px;
|
|
12335
|
+
height: 22px;
|
|
12336
|
+
background: #1B1D2A;
|
|
12337
|
+
border-radius: 20px;
|
|
12338
|
+
z-index: 2;
|
|
12339
|
+
}
|
|
12340
|
+
|
|
12341
|
+
/* Teardrop notch */
|
|
12342
|
+
.sui-phone-teardrop::before {
|
|
12343
|
+
content: "";
|
|
12344
|
+
position: absolute;
|
|
12345
|
+
top: 0;
|
|
12346
|
+
left: 50%;
|
|
12347
|
+
transform: translateX(-50%);
|
|
12348
|
+
width: 16px;
|
|
12349
|
+
height: 16px;
|
|
12350
|
+
background: #1B1D2A;
|
|
12351
|
+
border-radius: 0 0 50% 50%;
|
|
12352
|
+
z-index: 2;
|
|
12353
|
+
}
|
|
12354
|
+
|
|
12355
|
+
/* Punch hole — single */
|
|
12356
|
+
.sui-phone-punch::before {
|
|
12357
|
+
content: "";
|
|
12358
|
+
position: absolute;
|
|
12359
|
+
top: 12px;
|
|
12360
|
+
left: 50%;
|
|
12361
|
+
transform: translateX(-50%);
|
|
12362
|
+
width: 12px;
|
|
12363
|
+
height: 12px;
|
|
12364
|
+
background: #1B1D2A;
|
|
12365
|
+
border-radius: 50%;
|
|
12366
|
+
z-index: 2;
|
|
12367
|
+
}
|
|
12368
|
+
|
|
12369
|
+
/* Punch hole — double */
|
|
12370
|
+
.sui-phone-punch-double::before {
|
|
12371
|
+
content: "";
|
|
12372
|
+
position: absolute;
|
|
12373
|
+
top: 12px;
|
|
12374
|
+
left: 50%;
|
|
12375
|
+
transform: translateX(-50%);
|
|
12376
|
+
width: 12px;
|
|
12377
|
+
height: 12px;
|
|
12378
|
+
background: #1B1D2A;
|
|
12379
|
+
border-radius: 50%;
|
|
12380
|
+
z-index: 2;
|
|
12381
|
+
box-shadow: 18px 0 0 0 #1B1D2A;
|
|
12382
|
+
}
|
|
12383
|
+
|
|
12384
|
+
/* White/Gold frame overrides for new cutouts */
|
|
12385
|
+
.sui-phone-white .sui-phone-teardrop::before,
|
|
12386
|
+
.sui-phone-white .sui-phone-punch::before,
|
|
12387
|
+
.sui-phone-white .sui-phone-punch-double::before { background: #E8E8ED; box-shadow-color: #E8E8ED; }
|
|
12388
|
+
|
|
12389
|
+
.sui-phone-white .sui-phone-punch-double::before { box-shadow: 18px 0 0 0 #E8E8ED; }
|
|
12390
|
+
|
|
12391
|
+
.sui-phone-gold .sui-phone-teardrop::before,
|
|
12392
|
+
.sui-phone-gold .sui-phone-punch::before,
|
|
12393
|
+
.sui-phone-gold .sui-phone-punch-double::before { background: #D4C5A9; }
|
|
12394
|
+
|
|
12395
|
+
.sui-phone-gold .sui-phone-punch-double::before { box-shadow: 18px 0 0 0 #D4C5A9; }
|
|
12396
|
+
|
|
12397
|
+
/* Status bar */
|
|
12398
|
+
.sui-phone-status {
|
|
12399
|
+
position: absolute;
|
|
12400
|
+
top: 0;
|
|
12401
|
+
left: 0;
|
|
12402
|
+
right: 0;
|
|
12403
|
+
height: 44px;
|
|
12404
|
+
display: flex;
|
|
12405
|
+
align-items: center;
|
|
12406
|
+
justify-content: space-between;
|
|
12407
|
+
padding: 0 20px;
|
|
12408
|
+
font-size: 12px;
|
|
12409
|
+
font-weight: 600;
|
|
12410
|
+
color: var(--sui-text);
|
|
12411
|
+
z-index: 3;
|
|
12412
|
+
}
|
|
12413
|
+
|
|
12414
|
+
/* Home indicator */
|
|
12415
|
+
.sui-phone-home {
|
|
12416
|
+
position: absolute;
|
|
12417
|
+
bottom: 6px;
|
|
12418
|
+
left: 50%;
|
|
12419
|
+
transform: translateX(-50%);
|
|
12420
|
+
width: 100px;
|
|
12421
|
+
height: 4px;
|
|
12422
|
+
background: var(--sui-text-muted);
|
|
12423
|
+
border-radius: 2px;
|
|
12424
|
+
z-index: 2;
|
|
12425
|
+
opacity: 0.4;
|
|
12426
|
+
}
|
|
12427
|
+
|
|
12428
|
+
/* Frame colors */
|
|
12429
|
+
.sui-phone-white {
|
|
12430
|
+
background: #E8E8ED;
|
|
12431
|
+
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.12), inset 0 0 0 2px rgba(0, 0, 0, 0.06);
|
|
12432
|
+
}
|
|
12433
|
+
|
|
12434
|
+
.sui-phone-white .sui-phone-notch::before,
|
|
12435
|
+
.sui-phone-white .sui-phone-island::before {
|
|
12436
|
+
background: #E8E8ED;
|
|
12437
|
+
}
|
|
12438
|
+
|
|
12439
|
+
.sui-phone-gold {
|
|
12440
|
+
background: #D4C5A9;
|
|
12441
|
+
box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15), inset 0 0 0 2px rgba(255, 255, 255, 0.2);
|
|
12442
|
+
}
|
|
12443
|
+
|
|
12444
|
+
.sui-phone-gold .sui-phone-notch::before,
|
|
12445
|
+
.sui-phone-gold .sui-phone-island::before {
|
|
12446
|
+
background: #D4C5A9;
|
|
12447
|
+
}
|
|
12448
|
+
|
|
12449
|
+
/* Sizes */
|
|
12450
|
+
.sui-phone-sm .sui-phone-screen {
|
|
12451
|
+
width: 180px;
|
|
12452
|
+
height: 360px;
|
|
12453
|
+
border-radius: 18px;
|
|
12454
|
+
}
|
|
12455
|
+
|
|
12456
|
+
.sui-phone-sm {
|
|
12457
|
+
border-radius: 26px;
|
|
12458
|
+
padding: 8px;
|
|
12459
|
+
}
|
|
12460
|
+
|
|
12461
|
+
.sui-phone-sm .sui-phone-notch::before {
|
|
12462
|
+
width: 70px;
|
|
12463
|
+
height: 18px;
|
|
12464
|
+
border-radius: 0 0 12px 12px;
|
|
12465
|
+
}
|
|
12466
|
+
|
|
12467
|
+
.sui-phone-sm .sui-phone-island::before {
|
|
12468
|
+
width: 56px;
|
|
12469
|
+
height: 16px;
|
|
12470
|
+
top: 8px;
|
|
12471
|
+
}
|
|
12472
|
+
|
|
12473
|
+
.sui-phone-sm .sui-phone-home {
|
|
12474
|
+
width: 70px;
|
|
12475
|
+
height: 3px;
|
|
12476
|
+
}
|
|
12477
|
+
|
|
12478
|
+
/* Landscape */
|
|
12479
|
+
.sui-phone-landscape {
|
|
12480
|
+
transform: rotate(-90deg);
|
|
12481
|
+
}
|
|
12482
|
+
|
|
12483
|
+
.sui-phone-landscape .sui-phone-screen {
|
|
12484
|
+
transform: rotate(90deg);
|
|
12485
|
+
}
|
|
12486
|
+
|
|
12487
|
+
/* =========================================
|
|
12488
|
+
Tour / Walkthrough
|
|
12489
|
+
========================================= */
|
|
12490
|
+
|
|
12491
|
+
/* Overlay with spotlight cutout */
|
|
12492
|
+
.sui-tour-overlay {
|
|
12493
|
+
position: fixed;
|
|
12494
|
+
inset: 0;
|
|
12495
|
+
z-index: 1000;
|
|
12496
|
+
pointer-events: none;
|
|
12497
|
+
opacity: 0;
|
|
12498
|
+
visibility: hidden;
|
|
12499
|
+
transition: opacity 0.3s ease, visibility 0.3s ease;
|
|
12500
|
+
}
|
|
12501
|
+
|
|
12502
|
+
.sui-tour-overlay.active {
|
|
12503
|
+
opacity: 1;
|
|
12504
|
+
visibility: visible;
|
|
12505
|
+
pointer-events: auto;
|
|
12506
|
+
}
|
|
12507
|
+
|
|
12508
|
+
.sui-tour-backdrop {
|
|
12509
|
+
position: fixed;
|
|
12510
|
+
inset: 0;
|
|
12511
|
+
background: rgba(0, 0, 0, 0.5);
|
|
12512
|
+
z-index: 1;
|
|
12513
|
+
}
|
|
12514
|
+
|
|
12515
|
+
/* Spotlight ring around target */
|
|
12516
|
+
.sui-tour-spotlight {
|
|
12517
|
+
position: fixed;
|
|
12518
|
+
border-radius: var(--sui-radius);
|
|
12519
|
+
box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
|
|
12520
|
+
z-index: 2;
|
|
12521
|
+
pointer-events: none;
|
|
12522
|
+
transition: top 0.3s ease, left 0.3s ease, width 0.3s ease, height 0.3s ease;
|
|
12523
|
+
}
|
|
12524
|
+
|
|
12525
|
+
/* Tooltip */
|
|
12526
|
+
.sui-tour-tooltip {
|
|
12527
|
+
position: fixed;
|
|
12528
|
+
z-index: 3;
|
|
12529
|
+
background: var(--sui-bg);
|
|
12530
|
+
border-radius: var(--sui-radius);
|
|
12531
|
+
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1);
|
|
12532
|
+
padding: 20px;
|
|
12533
|
+
width: 300px;
|
|
12534
|
+
max-width: 90vw;
|
|
12535
|
+
transition: top 0.3s ease, left 0.3s ease;
|
|
12536
|
+
}
|
|
12537
|
+
|
|
12538
|
+
.sui-tour-tooltip-title {
|
|
12539
|
+
font-size: 16px;
|
|
12540
|
+
font-weight: 700;
|
|
12541
|
+
color: var(--sui-text);
|
|
12542
|
+
margin-bottom: 6px;
|
|
12543
|
+
}
|
|
12544
|
+
|
|
12545
|
+
.sui-tour-tooltip-desc {
|
|
12546
|
+
font-size: 13px;
|
|
12547
|
+
color: var(--sui-text-muted);
|
|
12548
|
+
line-height: 1.5;
|
|
12549
|
+
margin-bottom: 16px;
|
|
12550
|
+
}
|
|
12551
|
+
|
|
12552
|
+
.sui-tour-tooltip-footer {
|
|
12553
|
+
display: flex;
|
|
12554
|
+
align-items: center;
|
|
12555
|
+
justify-content: space-between;
|
|
12556
|
+
}
|
|
12557
|
+
|
|
12558
|
+
.sui-tour-tooltip-counter {
|
|
12559
|
+
font-size: 12px;
|
|
12560
|
+
color: var(--sui-text-light);
|
|
12561
|
+
font-weight: 600;
|
|
12562
|
+
}
|
|
12563
|
+
|
|
12564
|
+
.sui-tour-tooltip-actions {
|
|
12565
|
+
display: flex;
|
|
12566
|
+
gap: 8px;
|
|
12567
|
+
}
|
|
12568
|
+
|
|
12569
|
+
/* Progress dots */
|
|
12570
|
+
.sui-tour-dots {
|
|
12571
|
+
display: flex;
|
|
12572
|
+
gap: 6px;
|
|
12573
|
+
align-items: center;
|
|
12574
|
+
}
|
|
12575
|
+
|
|
12576
|
+
.sui-tour-dot {
|
|
12577
|
+
width: 6px;
|
|
12578
|
+
height: 6px;
|
|
12579
|
+
border-radius: 50%;
|
|
12580
|
+
background: var(--sui-bg-dark);
|
|
12581
|
+
transition: background 0.2s ease;
|
|
12582
|
+
}
|
|
12583
|
+
|
|
12584
|
+
.sui-tour-dot.active {
|
|
12585
|
+
background: var(--sui-primary);
|
|
12586
|
+
}
|
|
12587
|
+
|
|
12588
|
+
/* No overlay variant */
|
|
12589
|
+
.sui-tour-no-overlay .sui-tour-backdrop {
|
|
12590
|
+
display: none;
|
|
12591
|
+
}
|
|
12592
|
+
|
|
12593
|
+
.sui-tour-no-overlay .sui-tour-spotlight {
|
|
12594
|
+
background: transparent;
|
|
12595
|
+
box-shadow: 0 0 0 3px var(--sui-primary), 0 0 0 6px rgba(91, 84, 224, 0.2);
|
|
12596
|
+
}
|
|
12597
|
+
|
|
12598
|
+
.sui-tour-no-overlay .sui-tour-tooltip {
|
|
12599
|
+
box-shadow: var(--sui-shadow-raised);
|
|
12600
|
+
}
|
|
12601
|
+
|