defuss-desktop 0.0.1

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,4 @@
1
+ // Import all SCSS files from the scss directory
2
+ // This ensures all styles are available when the package is imported
3
+
4
+ @forward 'scss';
@@ -0,0 +1,30 @@
1
+ /*-------------------------------------------*\
2
+ Buttons
3
+ \*-------------------------------------------*/
4
+
5
+ button {
6
+ font-family: var(--sans-serif);
7
+ font-size: 11px;
8
+ box-sizing: border-box;
9
+ border: none;
10
+ background: var(--surface);
11
+ box-shadow: var(--border-raised-outer), var(--border-raised-inner);
12
+ border-radius: 0;
13
+ min-width: 75px;
14
+ min-height: 21px;
15
+ padding: 0 12px;
16
+ &:not(:disabled) {
17
+ &:active,
18
+ &.active {
19
+ box-shadow: var(--border-sunken-outer), var(--border-sunken-inner);
20
+ }
21
+ }
22
+ &:focus,
23
+ &.focused {
24
+ outline: 1px dotted #000000;
25
+ outline-offset: -4px;
26
+ }
27
+ &::-moz-focus-inner {
28
+ border: 0;
29
+ }
30
+ }
@@ -0,0 +1,188 @@
1
+
2
+ @keyframes flicker {
3
+ 0% {
4
+ opacity: 0.27861;
5
+ }
6
+ 5% {
7
+ opacity: 0.34769;
8
+ }
9
+ 10% {
10
+ opacity: 0.23604;
11
+ }
12
+ 15% {
13
+ opacity: 0.90626;
14
+ }
15
+ 20% {
16
+ opacity: 0.18128;
17
+ }
18
+ 25% {
19
+ opacity: 0.83891;
20
+ }
21
+ 30% {
22
+ opacity: 0.65583;
23
+ }
24
+ 35% {
25
+ opacity: 0.67807;
26
+ }
27
+ 40% {
28
+ opacity: 0.26559;
29
+ }
30
+ 45% {
31
+ opacity: 0.84693;
32
+ }
33
+ 50% {
34
+ opacity: 0.96019;
35
+ }
36
+ 55% {
37
+ opacity: 0.08594;
38
+ }
39
+ 60% {
40
+ opacity: 0.20313;
41
+ }
42
+ 65% {
43
+ opacity: 0.71988;
44
+ }
45
+ 70% {
46
+ opacity: 0.53455;
47
+ }
48
+ 75% {
49
+ opacity: 0.37288;
50
+ }
51
+ 80% {
52
+ opacity: 0.71428;
53
+ }
54
+ 85% {
55
+ opacity: 0.70419;
56
+ }
57
+ 90% {
58
+ opacity: 0.7003;
59
+ }
60
+ 95% {
61
+ opacity: 0.36108;
62
+ }
63
+ 100% {
64
+ opacity: 0.24387;
65
+ }
66
+ }
67
+
68
+ @keyframes textShadow {
69
+ 0% {
70
+ text-shadow: 0.4389924193300864px 0 1px rgba(0, 30, 255, 0.5),
71
+ -0.4389924193300864px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
72
+ }
73
+ 5% {
74
+ text-shadow: 2.7928974010788217px 0 1px rgba(0, 30, 255, 0.5),
75
+ -2.7928974010788217px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
76
+ }
77
+ 10% {
78
+ text-shadow: 0.02956275843481219px 0 1px rgba(0, 30, 255, 0.5),
79
+ -0.02956275843481219px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
80
+ }
81
+ 15% {
82
+ text-shadow: 0.40218538552878136px 0 1px rgba(0, 30, 255, 0.5),
83
+ -0.40218538552878136px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
84
+ }
85
+ 20% {
86
+ text-shadow: 3.4794037899852017px 0 1px rgba(0, 30, 255, 0.5),
87
+ -3.4794037899852017px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
88
+ }
89
+ 25% {
90
+ text-shadow: 1.6125630401149584px 0 1px rgba(0, 30, 255, 0.5),
91
+ -1.6125630401149584px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
92
+ }
93
+ 30% {
94
+ text-shadow: 0.7015590085143956px 0 1px rgba(0, 30, 255, 0.5),
95
+ -0.7015590085143956px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
96
+ }
97
+ 35% {
98
+ text-shadow: 3.896914047650351px 0 1px rgba(0, 30, 255, 0.5),
99
+ -3.896914047650351px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
100
+ }
101
+ 40% {
102
+ text-shadow: 3.870905614848819px 0 1px rgba(0, 30, 255, 0.5),
103
+ -3.870905614848819px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
104
+ }
105
+ 45% {
106
+ text-shadow: 2.231056963361899px 0 1px rgba(0, 30, 255, 0.5),
107
+ -2.231056963361899px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
108
+ }
109
+ 50% {
110
+ text-shadow: 0.08084290417898504px 0 1px rgba(0, 30, 255, 0.5),
111
+ -0.08084290417898504px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
112
+ }
113
+ 55% {
114
+ text-shadow: 2.3758461067427543px 0 1px rgba(0, 30, 255, 0.5),
115
+ -2.3758461067427543px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
116
+ }
117
+ 60% {
118
+ text-shadow: 2.202193051050636px 0 1px rgba(0, 30, 255, 0.5),
119
+ -2.202193051050636px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
120
+ }
121
+ 65% {
122
+ text-shadow: 2.8638780614874975px 0 1px rgba(0, 30, 255, 0.5),
123
+ -2.8638780614874975px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
124
+ }
125
+ 70% {
126
+ text-shadow: 0.48874025155497314px 0 1px rgba(0, 30, 255, 0.5),
127
+ -0.48874025155497314px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
128
+ }
129
+ 75% {
130
+ text-shadow: 1.8948491305757957px 0 1px rgba(0, 30, 255, 0.5),
131
+ -1.8948491305757957px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
132
+ }
133
+ 80% {
134
+ text-shadow: 0.0833037308038857px 0 1px rgba(0, 30, 255, 0.5),
135
+ -0.0833037308038857px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
136
+ }
137
+ 85% {
138
+ text-shadow: 0.09769827255241735px 0 1px rgba(0, 30, 255, 0.5),
139
+ -0.09769827255241735px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
140
+ }
141
+ 90% {
142
+ text-shadow: 3.443339761481782px 0 1px rgba(0, 30, 255, 0.5),
143
+ -3.443339761481782px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
144
+ }
145
+ 95% {
146
+ text-shadow: 2.1841838852799786px 0 1px rgba(0, 30, 255, 0.5),
147
+ -2.1841838852799786px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
148
+ }
149
+ 100% {
150
+ text-shadow: 2.6208764473832513px 0 1px rgba(0, 30, 255, 0.5),
151
+ -2.6208764473832513px 0 1px rgba(255, 0, 80, 0.3), 0 0 3px;
152
+ }
153
+ }
154
+
155
+ .crt::after {
156
+ content: " ";
157
+ display: block;
158
+ position: absolute;
159
+ top: 0;
160
+ left: 0;
161
+ bottom: 0;
162
+ right: 0;
163
+ background: rgba(18, 16, 16, 0.05);
164
+ opacity: 0;
165
+ z-index: 2;
166
+ pointer-events: none;
167
+ }
168
+
169
+ .crt::before {
170
+ content: " ";
171
+ display: block;
172
+ position: absolute;
173
+ top: 0;
174
+ left: 0;
175
+ opacity: 0.1;
176
+ bottom: 0;
177
+ right: 0;
178
+ background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.25) 50%),
179
+ linear-gradient(
180
+ 90deg,
181
+ rgba(255, 0, 0, 0.06),
182
+ rgba(0, 255, 0, 0.02),
183
+ rgba(0, 0, 255, 0.06)
184
+ );
185
+ z-index: 2;
186
+ background-size: 100% 2px, 3px 100%;
187
+ pointer-events: none;
188
+ }
@@ -0,0 +1,89 @@
1
+
2
+ @use "sass:map";
3
+
4
+ @use "variables" as *;
5
+
6
+
7
+ .defuss-desktop-panel {
8
+ display: block;
9
+ position: fixed;
10
+ top: 0px;
11
+ left: 0px;
12
+ background-color: $primary-bg;
13
+ background-position: center;
14
+ background-repeat: no-repeat;
15
+ background-size: cover;
16
+ width: 100vw;
17
+ height: 100vh;
18
+
19
+ // Apply default font family
20
+ font-family: $default-font-family;
21
+ font-size: 11px; // Windows XP default font size
22
+ font-weight: normal;
23
+
24
+
25
+ // Common interactive elements get appropriate cursors automatically
26
+ button, a, [role="button"], [tabindex]:not([tabindex="-1"]) {
27
+ cursor: url("#{$cursor-base-path}pointer.cur"), pointer;
28
+ }
29
+
30
+ input[type="text"], textarea, [contenteditable] {
31
+ cursor: url("#{$cursor-base-path}text.cur"), text;
32
+ }
33
+
34
+ [draggable="true"] {
35
+ cursor: url("#{$cursor-base-path}grab.cur"), grab;
36
+
37
+ &:active {
38
+ cursor: url("#{$cursor-base-path}grabbing.cur"), grabbing;
39
+ }
40
+ }
41
+
42
+ }
43
+
44
+
45
+ // Text rendering optimization for pixel-perfect fonts
46
+ * {
47
+ -webkit-font-smoothing: none;
48
+ -moz-osx-font-smoothing: none;
49
+ text-rendering: geometricPrecision;
50
+ }
51
+
52
+ // Font utility classes
53
+ .font-tahoma {
54
+ font-family: map.get($font-families, 'tahoma');
55
+ }
56
+
57
+ .font-tahoma-bold {
58
+ font-family: map.get($font-families, 'tahoma');
59
+ font-weight: bold;
60
+ }
61
+
62
+ .font-bold {
63
+ font-weight: bold;
64
+ }
65
+
66
+ // Windows XP typical font sizes
67
+ .font-size-small {
68
+ font-size: 9px;
69
+ }
70
+
71
+ .font-size-normal {
72
+ font-size: 11px;
73
+ }
74
+
75
+ .font-size-large {
76
+ font-size: 13px;
77
+ }
78
+
79
+ .font-size-menu {
80
+ font-size: 11px; // Standard Windows XP menu font size
81
+ }
82
+
83
+ .font-size-caption {
84
+ font-size: 11px; // Window caption font size
85
+ }
86
+
87
+ .font-size-tooltip {
88
+ font-size: 11px; // Tooltip font size
89
+ }
@@ -0,0 +1,43 @@
1
+ /*-------------------------------------------*\
2
+ Fonts
3
+ \*-------------------------------------------*/
4
+
5
+ @use "variables" as *;
6
+
7
+ @font-face {
8
+ font-family: "Pixelated MS Sans Serif";
9
+ src: url("#{$font-base-path}ms_sans_serif.woff") format("woff");
10
+ src: url("#{$font-base-path}ms_sans_serif.woff2") format("woff2");
11
+ font-weight: normal;
12
+ font-style: normal;
13
+ }
14
+ @font-face {
15
+ font-family: "Pixelated MS Sans Serif";
16
+ src: url("#{$font-base-path}ms_sans_serif_bold.woff") format("woff");
17
+ src: url("#{$font-base-path}ms_sans_serif_bold.woff2") format("woff2");
18
+ font-weight: bold;
19
+ font-style: normal;
20
+ }
21
+
22
+ @font-face {
23
+ font-family: "Perfect DOS VGA 437 Win";
24
+ src: url("#{$font-base-path}PerfectDOSVGA437Win.woff2") format("woff2"),
25
+ url("#{$font-base-path}PerfectDOSVGA437Win.woff") format("woff");
26
+ font-weight: normal;
27
+ font-style: normal;
28
+ }
29
+
30
+
31
+ @font-face {
32
+ font-family: "Tahoma";
33
+ src: url("#{$font-base-path}tahoma.woff2") format("woff2");
34
+ font-weight: normal;
35
+ font-style: normal;
36
+ }
37
+
38
+ @font-face {
39
+ font-family: "Tahoma";
40
+ src: url("#{$font-base-path}tahoma_bold.woff2") format("woff2");
41
+ font-weight: bold;
42
+ font-style: normal;
43
+ }
@@ -0,0 +1,361 @@
1
+ /*-------------------------------------------*\
2
+ Forms
3
+ \*-------------------------------------------*/
4
+
5
+ label {
6
+ font-family: var(--sans-serif);
7
+ font-size: 11px;
8
+ display: inline-flex;
9
+ align-items: center;
10
+ }
11
+ input {
12
+ font-family: var(--sans-serif);
13
+ font-size: 11px;
14
+ }
15
+ textarea {
16
+ font-family: var(--sans-serif);
17
+ font-size: 11px;
18
+ padding: 3px 4px;
19
+ border: none;
20
+ background-color: var(--button-highlight);
21
+ box-sizing: border-box;
22
+ -webkit-appearance: none;
23
+ -moz-appearance: none;
24
+ appearance: none;
25
+ border-radius: 0;
26
+ &:focus {
27
+ outline: none;
28
+ }
29
+ &:disabled {
30
+ color: var(--button-shadow);
31
+ text-shadow: 1px 1px 0 var(--button-highlight);
32
+ background-color: var(--surface);
33
+ }
34
+ }
35
+ select {
36
+ font-family: var(--sans-serif);
37
+ font-size: 11px;
38
+ padding: 3px 4px;
39
+ border: none;
40
+ background-color: var(--button-highlight);
41
+ box-sizing: border-box;
42
+ -webkit-appearance: none;
43
+ -moz-appearance: none;
44
+ appearance: none;
45
+ border-radius: 0;
46
+ height: 21px;
47
+ appearance: none;
48
+ -webkit-appearance: none;
49
+ -moz-appearance: none;
50
+ position: relative;
51
+ padding-right: 32px;
52
+ background-image: svg-load("./icon/button-down.svg");
53
+ background-position: top 2px right 2px;
54
+ background-repeat: no-repeat;
55
+ border-radius: 0;
56
+ &:focus {
57
+ outline: none;
58
+ color: var(--button-highlight);
59
+ background-color: var(--dialog-blue);
60
+ option {
61
+ color: #000;
62
+ background-color: #fff;
63
+ }
64
+ }
65
+ &:active {
66
+ background-image: svg-load("./icon/button-down-active.svg");
67
+ }
68
+ &:disabled {
69
+ color: var(--button-shadow);
70
+ text-shadow: 1px 1px 0 var(--button-highlight);
71
+ background-color: var(--surface);
72
+ }
73
+ }
74
+ option {
75
+ font-family: var(--sans-serif);
76
+ font-size: 11px;
77
+ }
78
+
79
+ // General disabled state for inputs with labels
80
+ input:disabled + label {
81
+ color: var(--button-shadow);
82
+ text-shadow: 1px 1px 0 var(--button-highlight);
83
+ }
84
+
85
+ .vertical-bar {
86
+ width: 4px;
87
+ height: 20px;
88
+ background: #c0c0c0;
89
+ box-shadow: var(--border-raised-outer), var(--border-raised-inner);
90
+ }
91
+ input[type="radio"] {
92
+ appearance: none;
93
+ -webkit-appearance: none;
94
+ -moz-appearance: none;
95
+ margin: 0;
96
+ background: 0;
97
+ position: fixed;
98
+ opacity: 0;
99
+ border: none;
100
+ + {
101
+ label {
102
+ line-height: 13px;
103
+ position: relative;
104
+ margin-left: var(--radio-total-width);
105
+ &::before {
106
+ content: "";
107
+ position: absolute;
108
+ top: 0;
109
+ left: calc(-1 * (var(--radio-total-width-precalc)));
110
+ display: inline-block;
111
+ width: var(--radio-width);
112
+ height: var(--radio-width);
113
+ margin-right: var(--radio-label-spacing);
114
+ background: svg-load("./icon/radio-border.svg");
115
+ }
116
+ }
117
+ }
118
+ &:active {
119
+ + {
120
+ label {
121
+ &::before {
122
+ background: svg-load("./icon/radio-border-disabled.svg");
123
+ }
124
+ }
125
+ }
126
+ }
127
+ &:checked {
128
+ + {
129
+ label {
130
+ &::after {
131
+ content: "";
132
+ display: block;
133
+ width: var(--radio-dot-width);
134
+ height: var(--radio-dot-width);
135
+ top: var(--radio-dot-top);
136
+ left: var(--radio-dot-left);
137
+ position: absolute;
138
+ background: svg-load("./icon/radio-dot.svg");
139
+ }
140
+ }
141
+ }
142
+ }
143
+ &:focus {
144
+ + {
145
+ label {
146
+ outline: 1px dotted #000000;
147
+ }
148
+ }
149
+ }
150
+ }
151
+ input[type="checkbox"] {
152
+ appearance: none;
153
+ -webkit-appearance: none;
154
+ -moz-appearance: none;
155
+ margin: 0;
156
+ background: 0;
157
+ position: fixed;
158
+ opacity: 0;
159
+ border: none;
160
+ + {
161
+ label {
162
+ line-height: 13px;
163
+ position: relative;
164
+ margin-left: var(--checkbox-total-width);
165
+ &::before {
166
+ content: "";
167
+ position: absolute;
168
+ left: calc(-1 * (var(--checkbox-total-width-precalc)));
169
+ display: inline-block;
170
+ width: var(--checkbox-width);
171
+ height: var(--checkbox-width);
172
+ background: var(--button-highlight);
173
+ box-shadow: var(--border-field);
174
+ margin-right: var(--radio-label-spacing);
175
+ }
176
+ }
177
+ }
178
+ &:focus {
179
+ + {
180
+ label {
181
+ outline: 1px dotted #000000;
182
+ }
183
+ }
184
+ }
185
+ &:active {
186
+ + {
187
+ label {
188
+ &::before {
189
+ background: var(--surface);
190
+ }
191
+ }
192
+ }
193
+ }
194
+ &:checked {
195
+ + {
196
+ label {
197
+ &::after {
198
+ content: "";
199
+ display: block;
200
+ width: var(--checkmark-width);
201
+ height: var(--checkmark-width);
202
+ position: absolute;
203
+ background: svg-load("./icon/checkmark.svg");
204
+ top: 1px;
205
+ }
206
+ }
207
+ }
208
+ }
209
+ }
210
+ input[type="radio"][disabled] {
211
+ + {
212
+ label {
213
+ &::before {
214
+ background: svg-load("./icon/radio-border-disabled.svg");
215
+ }
216
+ }
217
+ }
218
+ &:checked {
219
+ + {
220
+ label {
221
+ &::after {
222
+ background: svg-load("./icon/radio-dot-disabled.svg");
223
+ }
224
+ }
225
+ }
226
+ }
227
+ }
228
+ input[type="checkbox"][disabled] {
229
+ + {
230
+ label {
231
+ &::before {
232
+ background: var(--surface);
233
+ }
234
+ }
235
+ }
236
+ &:checked {
237
+ + {
238
+ label {
239
+ &::after {
240
+ background: svg-load("./icon/checkmark-disabled.svg");
241
+ }
242
+ }
243
+ }
244
+ }
245
+ }
246
+ input[type="text"],
247
+ input[type="password"],
248
+ input[type="email"] {
249
+ padding: 3px 4px;
250
+ border: solid #7f9db9 1px;
251
+ background-color: var(--button-highlight);
252
+ box-sizing: border-box;
253
+ -webkit-appearance: none;
254
+ -moz-appearance: none;
255
+ appearance: none;
256
+ border-radius: 0;
257
+ height: 21px;
258
+ line-height: 2;
259
+ &:focus {
260
+ outline: none;
261
+ }
262
+ &:disabled {
263
+ color: var(--button-shadow);
264
+ text-shadow: 1px 1px 0 var(--button-highlight);
265
+ background-color: var(--surface);
266
+ }
267
+ }
268
+ input[type="range"] {
269
+ -webkit-appearance: none;
270
+ width: 100%;
271
+ background: transparent;
272
+ &:focus {
273
+ outline: none;
274
+ }
275
+ &::-webkit-slider-thumb {
276
+ -webkit-appearance: none;
277
+ height: 21px;
278
+ width: 11px;
279
+ background: svg-load("./icon/indicator-horizontal.svg");
280
+ transform: translateY(-8px);
281
+ }
282
+ &::-moz-range-thumb {
283
+ height: 21px;
284
+ width: 11px;
285
+ border: 0;
286
+ border-radius: 0;
287
+ background: svg-load("./icon/indicator-horizontal.svg");
288
+ transform: translateY(2px);
289
+ }
290
+ &::-webkit-slider-runnable-track {
291
+ width: 100%;
292
+ height: 2px;
293
+ box-sizing: border-box;
294
+ background: black;
295
+ border-right: 1px solid grey;
296
+ border-bottom: 1px solid grey;
297
+ box-shadow: 1px 0 0 white, 1px 1px 0 white, 0 1px 0 white, -1px 0 0 darkgrey, -1px -1px 0 darkgrey,
298
+ 0 -1px 0 darkgrey, -1px 1px 0 white, 1px -1px darkgrey;
299
+ }
300
+ &::-moz-range-track {
301
+ width: 100%;
302
+ height: 2px;
303
+ box-sizing: border-box;
304
+ background: black;
305
+ border-right: 1px solid grey;
306
+ border-bottom: 1px solid grey;
307
+ box-shadow: 1px 0 0 white, 1px 1px 0 white, 0 1px 0 white, -1px 0 0 darkgrey, -1px -1px 0 darkgrey,
308
+ 0 -1px 0 darkgrey, -1px 1px 0 white, 1px -1px darkgrey;
309
+ }
310
+ }
311
+ input[type="range"].has-box-indicator {
312
+ &::-webkit-slider-thumb {
313
+ background: svg-load("./icon/indicator-rectangle-horizontal.svg");
314
+ transform: translateY(-10px);
315
+ }
316
+ &::-moz-range-thumb {
317
+ background: svg-load("./icon/indicator-rectangle-horizontal.svg");
318
+ transform: translateY(0px);
319
+ }
320
+ }
321
+ .is-vertical {
322
+ display: inline-block;
323
+ width: 4px;
324
+ height: 150px;
325
+ transform: translateY(50%);
326
+ > input[type="range"] {
327
+ width: 150px;
328
+ height: 4px;
329
+ margin: 0 calc(var(--grouped-element-spacing) + var(--range-spacing)) 0 var(--range-spacing);
330
+ transform-origin: left;
331
+ transform: rotate(270deg) translateX(calc(-50% + var(--element-spacing)));
332
+ &::-webkit-slider-runnable-track {
333
+ border-left: 1px solid grey;
334
+ border-right: 0;
335
+ border-bottom: 1px solid grey;
336
+ box-shadow: -1px 0 0 white, -1px 1px 0 white, 0 1px 0 white, 1px 0 0 darkgrey, 1px -1px 0 darkgrey,
337
+ 0 -1px 0 darkgrey, 1px 1px 0 white, -1px -1px darkgrey;
338
+ }
339
+ &::-moz-range-track {
340
+ border-left: 1px solid grey;
341
+ border-right: 0;
342
+ border-bottom: 1px solid grey;
343
+ box-shadow: -1px 0 0 white, -1px 1px 0 white, 0 1px 0 white, 1px 0 0 darkgrey, 1px -1px 0 darkgrey,
344
+ 0 -1px 0 darkgrey, 1px 1px 0 white, -1px -1px darkgrey;
345
+ }
346
+ &::-webkit-slider-thumb {
347
+ transform: translateY(-8px) scaleX(-1);
348
+ }
349
+ &::-moz-range-thumb {
350
+ transform: translateY(2px) scaleX(-1);
351
+ }
352
+ }
353
+ > input[type="range"].has-box-indicator {
354
+ &::-webkit-slider-thumb {
355
+ transform: translateY(-10px) scaleX(-1);
356
+ }
357
+ &::-moz-range-thumb {
358
+ transform: translateY(0px) scaleX(-1);
359
+ }
360
+ }
361
+ }