karaoke-eternal 1.0.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.
Files changed (79) hide show
  1. package/LICENSE +5 -0
  2. package/README.md +49 -0
  3. package/assets/app.ico +0 -0
  4. package/assets/app.png +0 -0
  5. package/assets/favicon.ico +0 -0
  6. package/assets/mic-blackTemplate.png +0 -0
  7. package/assets/mic-blackTemplate@2x.png +0 -0
  8. package/assets/mic-white.png +0 -0
  9. package/assets/mic-white@2x.png +0 -0
  10. package/assets/robots.txt +2 -0
  11. package/build/267.4be526e3a94d53aeceae.js +1 -0
  12. package/build/591.4be526e3a94d53aeceae.js +1 -0
  13. package/build/598.4be526e3a94d53aeceae.css +5 -0
  14. package/build/598.4be526e3a94d53aeceae.js +1 -0
  15. package/build/799.4be526e3a94d53aeceae.js +1 -0
  16. package/build/7ce9eb3fe454f54745a4.woff2 +0 -0
  17. package/build/845.4be526e3a94d53aeceae.css +132 -0
  18. package/build/845.4be526e3a94d53aeceae.js +1 -0
  19. package/build/a35814dd9eb496e3d7cc.woff2 +0 -0
  20. package/build/e419b95dccb58b362811.woff2 +0 -0
  21. package/build/index.html +1 -0
  22. package/build/licenses.txt +1400 -0
  23. package/build/main.4be526e3a94d53aeceae.css +2034 -0
  24. package/build/main.4be526e3a94d53aeceae.js +1 -0
  25. package/package.json +144 -0
  26. package/server/Library/Library.js +340 -0
  27. package/server/Library/index.js +3 -0
  28. package/server/Library/ipc.js +18 -0
  29. package/server/Library/router.js +27 -0
  30. package/server/Library/socket.js +47 -0
  31. package/server/Media/Media.js +207 -0
  32. package/server/Media/index.js +3 -0
  33. package/server/Media/ipc.js +19 -0
  34. package/server/Media/router.js +99 -0
  35. package/server/Player/socket.js +78 -0
  36. package/server/Prefs/Prefs.js +165 -0
  37. package/server/Prefs/index.js +3 -0
  38. package/server/Prefs/router.js +124 -0
  39. package/server/Prefs/socket.js +68 -0
  40. package/server/Queue/Queue.js +208 -0
  41. package/server/Queue/index.js +3 -0
  42. package/server/Queue/socket.js +99 -0
  43. package/server/Rooms/Rooms.js +114 -0
  44. package/server/Rooms/index.js +3 -0
  45. package/server/Rooms/router.js +146 -0
  46. package/server/Scanner/FileScanner/FileScanner.js +225 -0
  47. package/server/Scanner/FileScanner/getConfig.js +35 -0
  48. package/server/Scanner/FileScanner/getFiles.js +63 -0
  49. package/server/Scanner/FileScanner/index.js +3 -0
  50. package/server/Scanner/MetaParser/MetaParser.js +49 -0
  51. package/server/Scanner/MetaParser/defaultMiddleware.js +197 -0
  52. package/server/Scanner/MetaParser/index.js +3 -0
  53. package/server/Scanner/Scanner.js +33 -0
  54. package/server/User/User.js +139 -0
  55. package/server/User/index.js +3 -0
  56. package/server/User/router.js +442 -0
  57. package/server/lib/Database.js +55 -0
  58. package/server/lib/IPCBridge.js +115 -0
  59. package/server/lib/Log.js +71 -0
  60. package/server/lib/bcrypt.js +24 -0
  61. package/server/lib/cli.js +136 -0
  62. package/server/lib/electron.js +81 -0
  63. package/server/lib/getCdgName.js +20 -0
  64. package/server/lib/getDevMiddleware.js +51 -0
  65. package/server/lib/getFolders.js +10 -0
  66. package/server/lib/getHotMiddleware.js +27 -0
  67. package/server/lib/getIPAddress.js +16 -0
  68. package/server/lib/getPermutations.js +21 -0
  69. package/server/lib/getWindowsDrives.js +30 -0
  70. package/server/lib/parseCookie.js +12 -0
  71. package/server/lib/pushQueuesAndLibrary.js +29 -0
  72. package/server/lib/schemas/001-initial-schema.sql +98 -0
  73. package/server/lib/schemas/002-replaygain.sql +9 -0
  74. package/server/lib/schemas/003-queue-linked-list.sql +16 -0
  75. package/server/main.js +135 -0
  76. package/server/scannerWorker.js +58 -0
  77. package/server/serverWorker.js +242 -0
  78. package/server/socket.js +173 -0
  79. package/shared/actionTypes.js +103 -0
@@ -0,0 +1,2034 @@
1
+ /*! modern-normalize v1.1.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
2
+
3
+ /*
4
+ Document
5
+ ========
6
+ */
7
+
8
+ /**
9
+ Use a better box model (opinionated).
10
+ */
11
+
12
+ *,
13
+ ::before,
14
+ ::after {
15
+ box-sizing: border-box;
16
+ }
17
+
18
+ /**
19
+ Use a more readable tab size (opinionated).
20
+ */
21
+
22
+ html {
23
+ -moz-tab-size: 4;
24
+ tab-size: 4;
25
+ }
26
+
27
+ /**
28
+ 1. Correct the line height in all browsers.
29
+ 2. Prevent adjustments of font size after orientation changes in iOS.
30
+ */
31
+
32
+ html {
33
+ line-height: 1.15; /* 1 */
34
+ -webkit-text-size-adjust: 100%; /* 2 */
35
+ }
36
+
37
+ /*
38
+ Sections
39
+ ========
40
+ */
41
+
42
+ /**
43
+ Remove the margin in all browsers.
44
+ */
45
+
46
+ body {
47
+ margin: 0;
48
+ }
49
+
50
+ /**
51
+ Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
52
+ */
53
+
54
+ body {
55
+ font-family:
56
+ system-ui,
57
+ -apple-system, /* Firefox supports this but not yet `system-ui` */
58
+ 'Segoe UI',
59
+ Roboto,
60
+ Helvetica,
61
+ Arial,
62
+ sans-serif,
63
+ 'Apple Color Emoji',
64
+ 'Segoe UI Emoji';
65
+ }
66
+
67
+ /*
68
+ Grouping content
69
+ ================
70
+ */
71
+
72
+ /**
73
+ 1. Add the correct height in Firefox.
74
+ 2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
75
+ */
76
+
77
+ hr {
78
+ height: 0; /* 1 */
79
+ color: inherit; /* 2 */
80
+ }
81
+
82
+ /*
83
+ Text-level semantics
84
+ ====================
85
+ */
86
+
87
+ /**
88
+ Add the correct text decoration in Chrome, Edge, and Safari.
89
+ */
90
+
91
+ abbr[title] {
92
+ text-decoration: underline dotted;
93
+ }
94
+
95
+ /**
96
+ Add the correct font weight in Edge and Safari.
97
+ */
98
+
99
+ b,
100
+ strong {
101
+ font-weight: bolder;
102
+ }
103
+
104
+ /**
105
+ 1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
106
+ 2. Correct the odd 'em' font sizing in all browsers.
107
+ */
108
+
109
+ code,
110
+ kbd,
111
+ samp,
112
+ pre {
113
+ font-family:
114
+ ui-monospace,
115
+ SFMono-Regular,
116
+ Consolas,
117
+ 'Liberation Mono',
118
+ Menlo,
119
+ monospace; /* 1 */
120
+ font-size: 1em; /* 2 */
121
+ }
122
+
123
+ /**
124
+ Add the correct font size in all browsers.
125
+ */
126
+
127
+ small {
128
+ font-size: 80%;
129
+ }
130
+
131
+ /**
132
+ Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
133
+ */
134
+
135
+ sub,
136
+ sup {
137
+ font-size: 75%;
138
+ line-height: 0;
139
+ position: relative;
140
+ vertical-align: baseline;
141
+ }
142
+
143
+ sub {
144
+ bottom: -0.25em;
145
+ }
146
+
147
+ sup {
148
+ top: -0.5em;
149
+ }
150
+
151
+ /*
152
+ Tabular data
153
+ ============
154
+ */
155
+
156
+ /**
157
+ 1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
158
+ 2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
159
+ */
160
+
161
+ table {
162
+ text-indent: 0; /* 1 */
163
+ border-color: inherit; /* 2 */
164
+ }
165
+
166
+ /*
167
+ Forms
168
+ =====
169
+ */
170
+
171
+ /**
172
+ 1. Change the font styles in all browsers.
173
+ 2. Remove the margin in Firefox and Safari.
174
+ */
175
+
176
+ button,
177
+ input,
178
+ optgroup,
179
+ select,
180
+ textarea {
181
+ font-family: inherit; /* 1 */
182
+ font-size: 100%; /* 1 */
183
+ line-height: 1.15; /* 1 */
184
+ margin: 0; /* 2 */
185
+ }
186
+
187
+ /**
188
+ Remove the inheritance of text transform in Edge and Firefox.
189
+ 1. Remove the inheritance of text transform in Firefox.
190
+ */
191
+
192
+ button,
193
+ select { /* 1 */
194
+ text-transform: none;
195
+ }
196
+
197
+ /**
198
+ Correct the inability to style clickable types in iOS and Safari.
199
+ */
200
+
201
+ button,
202
+ [type='button'],
203
+ [type='reset'],
204
+ [type='submit'] {
205
+ -webkit-appearance: button;
206
+ }
207
+
208
+ /**
209
+ Remove the inner border and padding in Firefox.
210
+ */
211
+
212
+ ::-moz-focus-inner {
213
+ border-style: none;
214
+ padding: 0;
215
+ }
216
+
217
+ /**
218
+ Restore the focus styles unset by the previous rule.
219
+ */
220
+
221
+ :-moz-focusring {
222
+ outline: 1px dotted ButtonText;
223
+ }
224
+
225
+ /**
226
+ Remove the additional ':invalid' styles in Firefox.
227
+ See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
228
+ */
229
+
230
+ :-moz-ui-invalid {
231
+ box-shadow: none;
232
+ }
233
+
234
+ /**
235
+ Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
236
+ */
237
+
238
+ legend {
239
+ padding: 0;
240
+ }
241
+
242
+ /**
243
+ Add the correct vertical alignment in Chrome and Firefox.
244
+ */
245
+
246
+ progress {
247
+ vertical-align: baseline;
248
+ }
249
+
250
+ /**
251
+ Correct the cursor style of increment and decrement buttons in Safari.
252
+ */
253
+
254
+ ::-webkit-inner-spin-button,
255
+ ::-webkit-outer-spin-button {
256
+ height: auto;
257
+ }
258
+
259
+ /**
260
+ 1. Correct the odd appearance in Chrome and Safari.
261
+ 2. Correct the outline style in Safari.
262
+ */
263
+
264
+ [type='search'] {
265
+ -webkit-appearance: textfield; /* 1 */
266
+ outline-offset: -2px; /* 2 */
267
+ }
268
+
269
+ /**
270
+ Remove the inner padding in Chrome and Safari on macOS.
271
+ */
272
+
273
+ ::-webkit-search-decoration {
274
+ -webkit-appearance: none;
275
+ }
276
+
277
+ /**
278
+ 1. Correct the inability to style clickable types in iOS and Safari.
279
+ 2. Change font properties to 'inherit' in Safari.
280
+ */
281
+
282
+ ::-webkit-file-upload-button {
283
+ -webkit-appearance: button; /* 1 */
284
+ font: inherit; /* 2 */
285
+ }
286
+
287
+ /*
288
+ Interactive
289
+ ===========
290
+ */
291
+
292
+ /*
293
+ Add the correct display in Chrome and Safari.
294
+ */
295
+
296
+ summary {
297
+ display: list-item;
298
+ }
299
+
300
+ :root {
301
+ --hue-blue: 209;
302
+ --hue-pink: 270;
303
+
304
+ /* Defaults */
305
+ --font-family: system-ui, sans-serif;
306
+ --font-family-custom: Raleway, system-ui, sans-serif;
307
+ --bg-color: #000;
308
+ --text-color: hsl(var(--hue-blue), 10%, 87%);
309
+ --link-color: hsl(var(--hue-blue), 92%, 69%);
310
+ --text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.5);
311
+ --box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26);
312
+ --drop-shadow-filter: drop-shadow(0 2px 5px #222);
313
+ --container-padding: 10px;
314
+ --btn-margin: 6px;
315
+ --border-radius: 5px;
316
+
317
+ --input-color: #444;
318
+ --input-placeholder-color: var(--btn-bg-color);
319
+ --input-bg-color: hsl(var(--hue-blue), 10%, 90%);
320
+ --input-outline-color: hsl(var(--hue-blue), 90%, 50%);
321
+ --input-margin: 7px;
322
+
323
+ --btn-bg-color: hsl(var(--hue-blue), 40%, 30%);
324
+ --btn-active-bg-color: var(--link-color);
325
+ --btn-active-filter: drop-shadow(0 0 10px hsla(var(--hue-blue), 100%, 100%, .5));
326
+ --btn-activate-filter:
327
+ drop-shadow(-5px 0 10px hsl(var(--hue-blue), 80%, 50%))
328
+ drop-shadow(5px 0 10px hsl(var(--hue-blue), 80%, 50%))
329
+ drop-shadow(0 0 10px hsl(var(--hue-blue), 80%, 50%));
330
+
331
+ --btn-danger-bg-color: hsl(var(--hue-pink), 60%, 57%);
332
+ --btn-danger-filter: drop-shadow(0 0 10px hsla(var(--hue-pink), 100%, 100%, .5));
333
+ --btn-danger-activate-filter:
334
+ drop-shadow(-5px 0 10px hsl(var(--hue-pink), 80%, 70%))
335
+ drop-shadow(5px 0 10px hsl(var(--hue-pink), 80%, 70%))
336
+ drop-shadow(0 0 10px hsl(var(--hue-pink), 80%, 70%));
337
+
338
+ /* UI chrome (header/footer) */
339
+ --chrome-bg-color: hsla(var(--hue-blue), 100%, 5%, .8);
340
+ --chrome-border-color: hsla(var(--hue-blue), 24%, 26%, 0.5);
341
+ --header-notice-color: var(--text-color);
342
+ --header-notice-bg-color: hsl(var(--hue-blue), 100%, 27%);
343
+
344
+ /* Navigation */
345
+ --nav-link-color: var(--btn-bg-color);
346
+ --nav-active-color: var(--link-color);
347
+ --nav-active-filter: var(--btn-active-filter);
348
+ --animation-nav-activate: var(--animation-btn-activate);
349
+
350
+ /* Library */
351
+ --artist-item-height: 44px;
352
+ --artist-folder-color: var(--text-color);
353
+ --artist-folder-bg-color: hsl(var(--hue-blue), 90%, 25%);
354
+ --artist-folder-starred-color: #000;
355
+ --artist-folder-starred-bg-color: var(--link-color);
356
+ --artist-folder-starred-filter: var(--btn-active-filter);
357
+ --artist-name-color: hsl(var(--hue-blue), 10%, 85%);
358
+
359
+ --song-item-btn-width: 44px;
360
+ --song-item-btn-height: 44px;
361
+ --song-item-btn-bg-color: hsl(var(--hue-blue), 100%, 15%);
362
+ --song-item-btn-active-color: #333;
363
+ --song-item-btn-active-bg-color: var(--btn-active-bg-color);
364
+ --song-item-btn-active-filter: var(--btn-active-filter);
365
+ --song-duration-color: hsl(var(--hue-blue), 10%, 45%);
366
+ --song-title-color: hsl(var(--hue-blue), 10%, 80%);
367
+
368
+ --alpha-picker-color: var(--artist-folder-bg-color);
369
+ --queued-item-color: hsl(var(--hue-pink), 70%, 80%);
370
+ --queued-item-text-shadow: var(--text-shadow-glow);
371
+
372
+ --search-results-heading-color: var(--text-color);
373
+ --search-results-heading-bg-color: var(--artist-folder-bg-color);
374
+ --mark-bg-color: hsl(var(--hue-blue), 50%, 30%);
375
+
376
+ /* Queue */
377
+ --active-item-from-bg-color: hsl(var(--hue-blue), 70%, 15%);
378
+ --active-item-to-bg-color: hsl(var(--hue-blue), 70%, 30%);
379
+ --queue-item-height: 92px;
380
+
381
+ /* Account panels */
382
+ --panel-bg-color: hsl(var(--hue-blue), 20%, 10%);
383
+ --panel-title-color: hsl(var(--hue-blue), 10%, 92%);
384
+ --panel-title-bg-color: hsl(var(--hue-blue), 5%, 30%);
385
+ --panel-title-size: 20px;
386
+ --panel-title-padding: 6px;
387
+ --panel-title-font: 300 20px var(--font-family-custom);
388
+
389
+ /* PlaybackCtrl */
390
+ --transport-btn-bg-color: var(--btn-danger-bg-color);
391
+ --transport-btn-filter: var(--btn-danger-filter);
392
+ --transport-volume-track-color: var(--btn-bg-color);
393
+ --transport-volume-track-active-color: var(--btn-active-bg-color);
394
+ --transport-volume-track-active-filter: var(--btn-active-filter);
395
+
396
+ /* Up Next header/banner */
397
+ --up-next-bg-color-from: hsl(var(--hue-blue), 70%, 20%);
398
+ --up-next-bg-color-to: hsl(var(--hue-blue), 70%, 35%);
399
+ --up-next-filter: none;
400
+
401
+ --up-now-bg-color-from: hsl(var(--hue-pink), 70%, 20%);
402
+ --up-now-bg-color-to: hsl(var(--hue-pink), 50%, 40%);
403
+ --up-now-filter: none;
404
+
405
+ /* <button> colors */
406
+ --btn-default-color: #333;
407
+ --btn-default-bg-color: hsl(var(--hue-blue), 10%, 75%);
408
+
409
+ --btn-primary-color: #333;
410
+ --btn-primary-bg-color: var(--btn-active-bg-color);
411
+
412
+ /* Animation */
413
+ --spring-duration: .5s;
414
+ --spring-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
415
+ --function-ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
416
+ --animation-bounce: bounce .25s ease-out;
417
+ --animation-text-shadow-glow: glow .25s ease-out;
418
+ --animation-btn-activate: btn-activate .1s ease-out;
419
+ --animation-btn-danger-activate: btn-danger-activate .1s ease-out;
420
+ --text-shadow-glow: 0 0 .25em hsl(var(--hue-pink), 100%, 50%), 0 0 .5em hsl(var(--hue-pink), 100%, 50%);
421
+ }
422
+
423
+ @keyframes bounce {
424
+ from { transform: scale3d(1, 1, 1); }
425
+ 3% { transform: scale3d(1.75, 1.75, 1.75); }
426
+ 95% { transform: scale3d(.9, .9, .9); }
427
+ to { transform: scale3d(1, 1, 1); }
428
+ }
429
+
430
+ @keyframes glow {
431
+ from { text-shadow: none; }
432
+ 25% { text-shadow: 0 0 4px hsl(var(--hue-pink), 100%, 100%), 0 0 8px hsl(var(--hue-pink), 100%, 100%), 0 0 12px hsl(var(--hue-pink), 100%, 100%); }
433
+ to { text-shadow: var(--text-shadow-glow); }
434
+ }
435
+
436
+ @keyframes btn-activate {
437
+ from { filter: var(--btn-activate-filter); }
438
+ to { filter: none; }
439
+ }
440
+
441
+ @keyframes btn-danger-activate {
442
+ from { filter: var(--btn-danger-activate-filter); }
443
+ to { filter: none; }
444
+ }
445
+
446
+ @font-face {
447
+ font-family: 'Beon';
448
+ font-style: normal;
449
+ font-weight: normal;
450
+ src: url(a35814dd9eb496e3d7cc.woff2) format('woff2');
451
+ }
452
+
453
+ @font-face {
454
+ font-family: 'Raleway';
455
+ font-style: normal;
456
+ font-weight: 200;
457
+ src: url(e419b95dccb58b362811.woff2) format('woff2');
458
+ }
459
+
460
+ @font-face {
461
+ font-family: 'Raleway';
462
+ font-style: normal;
463
+ font-weight: 700;
464
+ src: url(7ce9eb3fe454f54745a4.woff2) format('woff2');
465
+ }
466
+
467
+ .rc-slider {
468
+ position: relative;
469
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
470
+ }
471
+
472
+ .rc-slider * {
473
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
474
+ }
475
+
476
+ .rc-slider-rail {
477
+ position: absolute;
478
+ width: 100%;
479
+ background-color: var(--transport-volume-track-color);
480
+ height: 6px;
481
+ border-radius: 6px;
482
+ }
483
+
484
+ .rc-slider-track {
485
+ position: absolute;
486
+ left: 0;
487
+ height: 6px;
488
+ border-radius: 6px;
489
+ background-color: var(--transport-volume-track-active-color);
490
+ filter: var(--transport-volume-track-active-filter);
491
+ }
492
+
493
+ html {
494
+ height: 100%;
495
+ touch-action: manipulation;
496
+ -webkit-user-select: none;
497
+ -moz-user-select: none;
498
+ -ms-user-select: none;
499
+ user-select: none;
500
+ -webkit-touch-callout: none;
501
+ }
502
+
503
+ body {
504
+ background-color: var(--bg-color);
505
+ color: var(--text-color);
506
+ font-family: var(--font-family);
507
+ height: 100%;
508
+ margin: 0;
509
+ padding: 0;
510
+ }
511
+
512
+ body.scroll-lock {
513
+ overflow: hidden;
514
+ position: fixed;
515
+ width: 100%;
516
+ }
517
+
518
+ h1 {
519
+ font-weight: normal;
520
+ }
521
+
522
+ a {
523
+ color: var(--link-color);
524
+ font-weight: bold;
525
+ cursor: pointer;
526
+ }
527
+
528
+ svg {
529
+ vertical-align: bottom;
530
+ }
531
+
532
+ /* Form elements */
533
+ input[type="text"],
534
+ input[type="email"],
535
+ input[type="password"],
536
+ input[type="search"],
537
+ select {
538
+ display: block;
539
+ width: 100%;
540
+ padding: 8px;
541
+ font-size: 18px;
542
+ box-shadow: inset 1px 1px 3px 0px rgba(50, 50, 50, 0.75);
543
+ border: none;
544
+ border-radius: var(--border-radius);
545
+ color: var(--input-color);
546
+ background-color: var(--input-bg-color);
547
+ }
548
+
549
+ ::placeholder {
550
+ color: var(--input-placeholder-color);
551
+ }
552
+
553
+ input[type="text"]:focus,
554
+ input[type="email"]:focus,
555
+ input[type="password"]:focus,
556
+ input[type="search"]:focus,
557
+ select:focus,
558
+ button:focus {
559
+ box-shadow: inset 0px 0px 5px 3px var(--input-outline-color);
560
+ outline: none;
561
+ }
562
+
563
+ input[type="text"],
564
+ input[type="email"],
565
+ input[type="password"],
566
+ input[type="search"],
567
+ input[type="search"]::-webkit-search-cancel-button {
568
+ appearance: none;
569
+ -webkit-appearance: none;
570
+ }
571
+
572
+ /* Buttons */
573
+ button {
574
+ background-color: var(--btn-default-bg-color);
575
+ border: none;
576
+ border-radius: var(--border-radius);
577
+ box-shadow: var(--box-shadow);
578
+ color: var(--btn-default-color);
579
+ cursor: pointer;
580
+ display: inline-block;
581
+ font-weight: inherit;
582
+ padding: 16px;
583
+ width: 100%;
584
+ }
585
+
586
+ button.primary {
587
+ background-color: var(--btn-primary-bg-color);
588
+ color: var(--btn-primary-color);
589
+ }
590
+
591
+ @supports (backdrop-filter: saturate(250%) blur(20px)) or (-webkit-backdrop-filter: saturate(250%) blur(20px)) {
592
+ .bg-blur {
593
+ background-color: transparent !important;
594
+ -webkit-backdrop-filter: saturate(250%) blur(20px);
595
+ backdrop-filter: saturate(250%) blur(20px);
596
+ }
597
+ }
598
+
599
+ mark {
600
+ color: inherit;
601
+ background-color: var(--mark-bg-color);
602
+ }
603
+
604
+ .UIK2HEzG93kJrZg1zrOI {
605
+ display: flex;
606
+ align-items: center;
607
+ padding-right: var(--container-padding);
608
+ }
609
+
610
+ .jvBgtBq5nhwhgFxDdohV {
611
+ flex: 1;
612
+ margin: 0;
613
+ margin-left: -4px;
614
+ border: none !important;
615
+ color: var(--text-color) !important;
616
+ background-color: transparent !important;
617
+ box-shadow: none !important;
618
+ }
619
+
620
+ .jvBgtBq5nhwhgFxDdohV::placeholder {
621
+ color: var(--input-placeholder-color) !important;
622
+ }
623
+
624
+ .cwDhxOIVfzteFzlWeKwa {
625
+ cursor: pointer;
626
+ fill: var(--btn-bg-color);
627
+ }
628
+
629
+ .Y7B1obsA9DO34NOCVSUZ {
630
+ fill: var(--btn-active-bg-color);
631
+ filter: var(--btn-active-filter);
632
+ }
633
+
634
+ .fvmAaIs1XBUyXOMAAkYo {
635
+ animation: var(--animation-bounce);
636
+ }
637
+
638
+ .dMo9SQYONtw9WYO5lxiN {
639
+ width: 100%;
640
+ margin: -5px 34px 0 30px;
641
+ }
642
+
643
+ .pMYNwtxIUiwKZSuUB8NQ {
644
+ cursor: pointer;
645
+ fill: var(--transport-btn-bg-color);
646
+ filter: var(--transport-btn-filter);
647
+ position: absolute;
648
+ top: -18px;
649
+ touch-action: 'pan-x';
650
+ outline: none;
651
+ }
652
+
653
+ .sfr6H9YQSnxNFewvtYb2 {
654
+ font-size: 16px;
655
+ color: var(--header-notice-color);
656
+ background-color: var(--header-notice-bg-color);
657
+ }
658
+
659
+ .QYsiKZ5NRjaOsK5iaXfX {
660
+ margin: 0;
661
+ padding: 5px;
662
+ text-align: center;
663
+ }
664
+
665
+ .Mavkfley4QjffP3Catge {
666
+ position: fixed;
667
+ top: 0;
668
+ bottom: 0;
669
+ left: 0;
670
+ right: 0;
671
+ z-index: 1000;
672
+ }
673
+
674
+ .CNM_5gB7G5H_AMRhZuHX {
675
+ background: rgba(0, 0, 0, 0.5);
676
+ position: fixed;
677
+ top: 0;
678
+ bottom: 0;
679
+ left: 0;
680
+ right: 0;
681
+ z-index: -1;
682
+ }
683
+
684
+ .CKty5KaEk_nKaO8C9NWj {
685
+ max-width: 800px;
686
+ display: inline-block;
687
+ text-align: left;
688
+ vertical-align: middle;
689
+ background: var(--bg-color);
690
+ box-shadow: 0 12px 15px 0 rgba(0, 0, 0, 0.25);
691
+ margin: 1.2rem;
692
+ padding: 1.2rem;
693
+ position: relative;
694
+ overflow-y: auto;
695
+ /* end defaults */
696
+ background-clip: padding-box;
697
+ outline: none;
698
+ }
699
+
700
+ .rSAvyMqmZiU8isOniIRg {
701
+ height: 100%;
702
+ outline: 0;
703
+ overflow-x: hidden;
704
+ overflow-y: auto;
705
+ text-align: center;
706
+ }
707
+
708
+ .AxFsDuLo2IzSUTFEbuZo {
709
+ position: absolute;
710
+ top: 14px;
711
+ right: 14px;
712
+ border: none;
713
+ padding: 0;
714
+ cursor: pointer;
715
+ background-color: transparent;
716
+ display: flex;
717
+ /* end defaults */
718
+ border-radius: 0;
719
+ box-shadow: none;
720
+ fill: var(--btn-active-bg-color);
721
+ width: auto;
722
+ }
723
+
724
+ @keyframes react-responsive-modal-overlay-in {
725
+ 0% {
726
+ opacity: 0;
727
+ }
728
+ 100% {
729
+ opacity: 1;
730
+ }
731
+ }
732
+
733
+ @keyframes react-responsive-modal-overlay-out {
734
+ 0% {
735
+ opacity: 1;
736
+ }
737
+ 100% {
738
+ opacity: 0;
739
+ }
740
+ }
741
+
742
+ @keyframes react-responsive-modal-modal-in {
743
+ 0% {
744
+ transform: scale(0.96);
745
+ opacity: 0;
746
+ }
747
+ 100% {
748
+ transform: scale(100%);
749
+ opacity: 1;
750
+ }
751
+ }
752
+
753
+ @keyframes react-responsive-modal-modal-out {
754
+ 0% {
755
+ transform: scale(100%);
756
+ opacity: 1;
757
+ }
758
+ 100% {
759
+ transform: scale(0.96);
760
+ opacity: 0;
761
+ }
762
+ }
763
+
764
+ .HHYLkEZBcUJPga1se3oQ {
765
+ display: flex;
766
+ flex-direction: column;
767
+ height: 100%;
768
+ }
769
+
770
+ .eJLT6828XSsubIHdpAW2 {
771
+ font-family: var(--font-family-custom);
772
+ margin: 0 0 1rem 0;
773
+ overflow: hidden;
774
+ text-overflow: ellipsis;
775
+ }
776
+
777
+ .M1nSLELWzWtg0nMNVAPp {
778
+ flex: 1;
779
+ -webkit-overflow-scrolling: touch;
780
+ overflow: auto;
781
+ }
782
+
783
+ .nsGMxmc6ZA0V4Fwl17Bf {
784
+ margin-top: var(--container-padding);
785
+ }
786
+
787
+ .eBgZD0SKZoZxdKfDH4T1 {
788
+ border: 1px solid var(--btn-bg-color);
789
+ border-radius: var(--border-radius);
790
+ margin-top: var(--container-padding);
791
+ }
792
+
793
+ .PJhDzihe1KxTY9CE2xvq {
794
+ }
795
+
796
+ .Y8xCNeqBBAdhv1S2a0zC {
797
+ }
798
+
799
+ .PJhDzihe1KxTY9CE2xvq legend,
800
+ .Y8xCNeqBBAdhv1S2a0zC legend {
801
+ margin-left: -.5em;
802
+ }
803
+
804
+ .PJhDzihe1KxTY9CE2xvq legend label {
805
+ display: flex;
806
+ align-items: center;
807
+ cursor: pointer;
808
+ }
809
+
810
+ .PJhDzihe1KxTY9CE2xvq legend input[type="checkbox"] {
811
+ margin-right: .25em;
812
+ }
813
+
814
+ .lNVvAVB0rbHGFBU4wBbH {
815
+ display: block;
816
+ margin: 0.8em 0;
817
+ color: hsl(var(--hue-blue), 10%, 67%);
818
+ }
819
+
820
+ .Y8xCNeqBBAdhv1S2a0zC label:first-of-type {
821
+ margin-top: .25rem;
822
+ }
823
+
824
+ .QyK2Uk7cCogrdI3yDGZX {
825
+ display: flex;
826
+ margin: .25rem 0 .5rem 0;
827
+ justify-content: space-between;
828
+ }
829
+
830
+ .Busc1bvYRrq8mQTC8UsA {
831
+ width: 30%;
832
+ display: block;
833
+ padding: 0;
834
+ background-color: var(--btn-active-bg-color);
835
+ }
836
+
837
+ .UD9HYyUBgOjSl2ux6LIp {
838
+ fill: var(--btn-base-blue);
839
+ }
840
+
841
+ .eBgZD0SKZoZxdKfDH4T1 legend label {
842
+ font-size: 18px;
843
+ padding: 0 .25em;
844
+ }
845
+
846
+ .zIEucMK4dBypf03pERBF {
847
+ text-align: center;
848
+ margin: 1rem 0;
849
+ color: grey;
850
+ }
851
+
852
+ .MhuyzAaoykU7XrttP0lt {
853
+ padding-bottom: 1em;
854
+ margin: 0 15px;
855
+ }
856
+
857
+ .vA6PJ2CfQyCJ0Aqjod8g {
858
+ cursor: pointer;
859
+ fill: var(--btn-active-bg-color);
860
+ position: absolute;
861
+ top: -15px;
862
+ touch-action: 'pan-x';
863
+ outline: none;
864
+ }
865
+
866
+ .s6dMfvg4cHkpBCZwMxlM {
867
+ display: flex;
868
+ align-items: center;
869
+ padding: 0 var(--container-padding);
870
+ }
871
+
872
+ .utieeUffOQOs5Tb422mr {
873
+ cursor: pointer;
874
+ fill: var(--transport-btn-bg-color);
875
+ filter: var(--transport-btn-filter);
876
+ }
877
+
878
+ .pRlD2sOdoJdRfrjBCylf {
879
+ animation: var(--animation-btn-danger-activate);
880
+ }
881
+
882
+ .ffq0SD5gzioIYEcgKgLY {
883
+ }
884
+
885
+ .pjBKslXw1U349A1rnhe0 {
886
+ }
887
+
888
+ .tQEHmnxGjJM781oxemUN {
889
+ margin-left: 7px;
890
+ }
891
+
892
+ .fIuT4teYAIcl4oLOLEzJ {
893
+ fill: var(--btn-active-bg-color);
894
+ filter: var(--btn-active-filter);
895
+ }
896
+
897
+ .HZ7zG9VjL9eCkdQDZGIM {
898
+ fill: var(--btn-active-bg-color);
899
+ filter: var(--btn-active-filter);
900
+ }
901
+
902
+ .R0tWhGzOMnxRvplqamqt {
903
+ display: flex;
904
+ align-items: center;
905
+ height: 40px;
906
+ width: 100%;
907
+ background-image: linear-gradient(to right, var(--active-item-from-bg-color), var(--active-item-from-bg-color));
908
+ background-repeat: no-repeat;
909
+ }
910
+
911
+ .WxqoYmzzeIRmqDepbVLR {
912
+ flex: 1;
913
+ font-size: 16px;
914
+ text-align: center;
915
+ white-space: nowrap;
916
+ text-overflow: ellipsis;
917
+ overflow: hidden;
918
+ color: var(--text-color);
919
+ }
920
+
921
+ .L3KVVs498s_TTzMFHKn5 {
922
+ cursor: pointer;
923
+ }
924
+
925
+ .iL_22Dl4fbuLsQo42o2o {
926
+ fill: var(--btn-danger-bg-color);
927
+ filter: var(--btn-danger-filter);
928
+ }
929
+
930
+ .rMNneKuTapuKwyse_AMl {
931
+ fill: var(--btn-active-bg-color);
932
+ filter: var(--btn-active-filter);
933
+ }
934
+
935
+ .qdbIg3xgUn4KEomWXd7E {
936
+ font-size: 16px;
937
+ color: var(--text-color);
938
+ animation-duration: 1.5s;
939
+ animation-direction: alternate;
940
+ animation-iteration-count: infinite;
941
+ animation-timing-function: ease-out;
942
+ }
943
+
944
+ .PhYxOVpDCwPMJWw0BE6k {
945
+ animation-name: chycT2sgXRCUDLsKIkuK;
946
+ filter: var(--up-next-filter);
947
+ }
948
+
949
+ @keyframes chycT2sgXRCUDLsKIkuK {
950
+ 0% { background-color: var(--up-next-bg-color-to); }
951
+ 100% { background-color: var(--up-next-bg-color-from); }
952
+ }
953
+
954
+ .C9WuYntlaEVvxRaewY7r {
955
+ animation-name: arEOr6pUTnFXinmiHz2o;
956
+ filter: var(--up-now-filter);
957
+ }
958
+
959
+ @keyframes arEOr6pUTnFXinmiHz2o {
960
+ 0% { background-color: var(--up-now-bg-color-to); }
961
+ 100% { background-color: var(--up-now-bg-color-from); }
962
+ }
963
+
964
+ .pXcSEQ5RRGogLr2WCFum {
965
+ background-color: var(--up-next-bg-color-from);
966
+ }
967
+
968
+ .ZYRIFRvELzaH67PRlPlp {
969
+ margin: 0;
970
+ padding: 5px;
971
+ text-align: center;
972
+ }
973
+
974
+ .vreYukSnqUrGi25wejn4 {
975
+ position: fixed;
976
+ top: 0;
977
+ left: 0;
978
+ width: 100%;
979
+ background-color: var(--chrome-bg-color);
980
+ border-bottom: 1px solid var(--chrome-border-color);
981
+ z-index: 1;
982
+ }
983
+
984
+ .sjMaG58osNAeqXFe4zpO {
985
+ position: fixed;
986
+ bottom: 0;
987
+ left: 0;
988
+ display: flex;
989
+ text-decoration: none;
990
+ width: 100%;
991
+ background-color: var(--chrome-bg-color);
992
+ border-top: 1px solid var(--chrome-border-color);
993
+ z-index: 1;
994
+ }
995
+
996
+ .ekb54bjQ8jCQ8gjJwL6h {
997
+ flex: 1;
998
+ padding-top: 4px;
999
+ padding-bottom: 8px;
1000
+ text-align: center;
1001
+ fill: var(--nav-link-color);
1002
+ }
1003
+
1004
+ .CERhwPlf7uoRzmK7byOo {
1005
+ fill: var(--nav-active-color);
1006
+ filter: var(--nav-active-filter);
1007
+ }
1008
+
1009
+ .bx9kUlhkDMmCKpxez9Kn {
1010
+ animation: var(--animation-nav-activate);
1011
+ }
1012
+
1013
+ .LpKkKnxGUM9XUZaJYwKA {
1014
+ filter: drop-shadow(0px 1px 0px hsl(var(--hue-blue), 100%, 30%));
1015
+ }
1016
+
1017
+ .AOWDkEJZ7Uh6TMmJSmDN {
1018
+ height: 100%;
1019
+ display: flex;
1020
+ flex-direction: column;
1021
+ }
1022
+
1023
+ .Gi_1FjbpZU1FcRC85lBE {
1024
+ flex: 1;
1025
+ margin: .5rem 0;
1026
+ overflow: scroll;
1027
+ }
1028
+
1029
+ .k8N_J395xr2bblBgwvim {
1030
+ margin-bottom: 1em;
1031
+ overflow-wrap: break-word;
1032
+ }
1033
+
1034
+ .TSJBvSrnl7BotohIdqrj {
1035
+ font-weight: bold;
1036
+ color: #777;
1037
+ }
1038
+
1039
+ .MhLrBfYw2bVvon36GHQg {
1040
+ font-family: Beon;
1041
+ white-space: nowrap;
1042
+ flex: 1;
1043
+ }
1044
+
1045
+ .MRwxEsiCu74aMC4fJ2yn {
1046
+ border: none;
1047
+ color: hsl(var(--hue-blue), 10%, 80%);
1048
+ display: inline-block;
1049
+ font-size: 200%;
1050
+ text-transform: uppercase;
1051
+ margin: 0;
1052
+ text-shadow:
1053
+ 0 0 .1em hsl(var(--hue-pink), 100%, 100%),
1054
+ 0 0 .5em hsl(var(--hue-pink), 100%, 100%),
1055
+ 0 0 .25em hsl(var(--hue-pink), 100%, 50%),
1056
+ 0 0 .5em hsl(var(--hue-pink), 100%, 50%),
1057
+ 0 0 .75em hsl(var(--hue-pink), 100%, 50%),
1058
+ 0 0 1em hsl(var(--hue-pink), 100%, 50%),
1059
+ 0 0 1.5em hsl(var(--hue-pink), 100%, 50%),
1060
+ 0 0 3em hsl(var(--hue-pink), 100%, 50%),
1061
+ 0 0 6em hsl(var(--hue-pink), 100%, 50%),
1062
+ 0 0 9em hsl(var(--hue-pink), 100%, 50%);
1063
+ }
1064
+
1065
+ .XrgY7jUteM7yAiFgHV3G {
1066
+ font-size: 40%;
1067
+ text-transform: uppercase;
1068
+ display: block;
1069
+ letter-spacing: .9em;
1070
+ border: .1em solid hsl(var(--hue-blue), 100%, 90%);
1071
+ border-radius: .25em;
1072
+ padding: .25em;
1073
+ text-shadow:
1074
+ 0 0 .1em hsl(var(--hue-blue), 100%, 90%),
1075
+ 0 0 .25em hsl(var(--hue-blue), 100%, 90%),
1076
+ 0 0 .25em hsl(var(--hue-blue), 100%, 50%),
1077
+ 0 0 .5em hsl(var(--hue-blue), 100%, 50%);
1078
+ box-shadow:
1079
+ 0 0 .1em hsl(var(--hue-blue), 100%, 90%),
1080
+ 0 0 .25em hsl(var(--hue-blue), 100%, 90%),
1081
+ 0 0 .5em hsl(var(--hue-blue), 100%, 50%),
1082
+ 0 0 .75em hsl(var(--hue-blue), 100%, 50%),
1083
+ inset 0 0 .5em hsl(var(--hue-blue), 100%, 50%),
1084
+ inset 0 0 .75em hsl(var(--hue-blue), 100%, 50%);
1085
+ }
1086
+
1087
+ .opBGPXUVYOwhN4fsI5_5 {
1088
+ letter-spacing: normal;
1089
+ }
1090
+
1091
+ .U8A_lOQ63TZUTsiYgktE {
1092
+ top: var(--container-padding);
1093
+ background-color: var(--panel-bg-color);
1094
+ border-radius: var(--border-radius);
1095
+ overflow: hidden;
1096
+ }
1097
+
1098
+ .TEhgIScv1BL8HW1JbB3B {
1099
+ background-color: var(--panel-title-bg-color);
1100
+ font: var(--panel-title-font);
1101
+ margin: 0;
1102
+ padding: var(--panel-title-padding);
1103
+ color: var(--panel-title-color);
1104
+ }
1105
+
1106
+ .XIvZjD6Co9DyofyCj0Da {
1107
+ padding: var(--container-padding);
1108
+ text-align: center;
1109
+ }
1110
+
1111
+ .oPMyaF6eFojk2b8ZQKwH {
1112
+ font-size: 24px;
1113
+ cursor: pointer;
1114
+ }
1115
+
1116
+ .mFno0FFze3kHGDdbZDBB {
1117
+ color: #aaa;
1118
+ font-size: 75%;
1119
+ margin-top: 1em;
1120
+ }
1121
+
1122
+ .NjmtwxMJxR179Hk2Pomb {
1123
+ text-decoration: underline;
1124
+ }
1125
+
1126
+ .GAUmcVf7ad6DttxMOqMj {
1127
+ height: 100%;
1128
+ display: flex;
1129
+ flex-direction: column;
1130
+ }
1131
+
1132
+ .lESUPQPijSGMX4Z2Z_vW {
1133
+ flex: 1;
1134
+ margin: .5rem 0;
1135
+ overflow: scroll;
1136
+ }
1137
+
1138
+ .rIur97ACvqfbIkmbOiCL {
1139
+ overflow: hidden;
1140
+ position: relative;
1141
+ min-width: 96px;
1142
+ height: 72px;
1143
+ border-radius: var(--border-radius);
1144
+ text-align: center;
1145
+ cursor: pointer;
1146
+ }
1147
+
1148
+ ._03pNkaJuEzTEpMZlrFAs {
1149
+ cursor: inherit;
1150
+ display: block;
1151
+ font-size: 999px;
1152
+ filter: alpha(opacity=0);
1153
+ min-height: 100%;
1154
+ min-width: 100%;
1155
+ opacity: 0;
1156
+ position: absolute;
1157
+ right: 0;
1158
+ text-align: right;
1159
+ top: 0;
1160
+ }
1161
+
1162
+ .zDcM8XBIpYcWZBK2ostT {
1163
+ position: absolute;
1164
+ top: 0;
1165
+ left: 0;
1166
+ fill: hsl(var(--hue-pink), 100%, 70%);
1167
+ z-index: 99;
1168
+ }
1169
+
1170
+ .QoNRuAf71c67_0daJ00g {
1171
+ fill: var(--btn-bg-color);
1172
+ }
1173
+
1174
+ .UJP7G5dKPXhMYPVm9lGC {
1175
+ display: flex;
1176
+ flex-direction: column;
1177
+ }
1178
+
1179
+ .MRv8af4NPh12SLYbjwuA {
1180
+ display: flex;
1181
+ margin-bottom: var(--input-margin);
1182
+ }
1183
+
1184
+ .TFXhqL1_ppdgVq8Ip8G0 {
1185
+ margin-bottom: var(--input-margin);
1186
+ }
1187
+
1188
+ select.TFXhqL1_ppdgVq8Ip8G0 {
1189
+ cursor: pointer;
1190
+ }
1191
+
1192
+ .TXcvFiC1fGbvm_9tjD0d {
1193
+ margin: 0 0 0 var(--input-margin);
1194
+ }
1195
+
1196
+ .AdPYAIbFPpGhbG80E9oa {
1197
+ background-color: var(--panel-bg-color);
1198
+ border-radius: var(--border-radius);
1199
+ margin: 10px 0;
1200
+ overflow: hidden;
1201
+ }
1202
+
1203
+ .LbIcdbrF5GE54rSrqL_I {
1204
+ margin: 0;
1205
+ font: var(--panel-title-font);
1206
+ padding: var(--panel-title-padding);
1207
+ background-color: var(--panel-title-bg-color);
1208
+ color: var(--panel-title-color);
1209
+ }
1210
+
1211
+ .eWB988t3JuRQuM9e6O_N {
1212
+ padding: var(--container-padding);
1213
+ }
1214
+
1215
+ .eWB988t3JuRQuM9e6O_N p {
1216
+ margin-top: 10px;
1217
+ }
1218
+
1219
+ .lVRxnFYFCfHZHGIPV2QD {
1220
+ margin-top: var(--input-margin);
1221
+ }
1222
+
1223
+ .Fj4oA4Er2_057Nqs3d_R {
1224
+ margin-top: var(--input-margin);
1225
+ }
1226
+
1227
+ .zXRZqy8GypIyzzonhQDj {
1228
+ display: flex;
1229
+ height: 40px;
1230
+ cursor: pointer;
1231
+ align-items: center;
1232
+ }
1233
+
1234
+ .nn35PIgJyM8hd_PfVG9P {
1235
+ flex: 1;
1236
+ font-size: 16px;
1237
+ margin-left: 5px;
1238
+ overflow: hidden;
1239
+ text-overflow: ellipsis;
1240
+ white-space: nowrap;
1241
+ }
1242
+
1243
+ .iWBd2Rn8EbpVZP3_NmrF {
1244
+ fill: var(--text-color);
1245
+ }
1246
+
1247
+ .PCD9_JwmkY6aoE1S6ZP_ {
1248
+ height: 100%;
1249
+ display: flex;
1250
+ flex-direction: column;
1251
+ }
1252
+
1253
+ .zuvIYSwYXKYBkknUSBt0 {
1254
+ padding: 10px;
1255
+ border: 1px solid #ccc;
1256
+ }
1257
+
1258
+ .Er04pbLH9MbYq06HYgN2 {
1259
+ flex: 1;
1260
+ margin: .5rem 0;
1261
+ overflow: scroll;
1262
+ }
1263
+
1264
+ .iMjsWmBEoY_an0jfzpzr {
1265
+ flex: 1;
1266
+ width: auto;
1267
+ }
1268
+
1269
+ .k7DvjmmaDcQjq3A2XJBH {
1270
+ margin-left: 1em;
1271
+ width: auto;
1272
+ }
1273
+
1274
+ .vfEtFMD1PnnZpL7KJi5i {
1275
+ display: flex;
1276
+ align-items: center;
1277
+ background-color: var(--panel-bg-color);
1278
+ padding: 3px;
1279
+ margin: 0 0 5px 0;
1280
+ border-radius: var(--border-radius);
1281
+ }
1282
+
1283
+ .reQxnTVFy0pmOJ_OxHEW {
1284
+ flex: 1;
1285
+ user-select: text;
1286
+ text-overflow: ellipsis;
1287
+ overflow: hidden;
1288
+ }
1289
+
1290
+ .ZYVMDVEYbeodkfufIBsd {
1291
+ cursor: pointer;
1292
+ fill: var(--btn-danger-bg-color);
1293
+ }
1294
+
1295
+ .cLbX8ACpwjrJHf1i33Kw {
1296
+ fill: var(--btn-bg-color);
1297
+ }
1298
+
1299
+ .iEi_d5e035onJ18oKA6M {
1300
+ background-color: var(--panel-title-bg-color);
1301
+ border-radius: var(--border-radius);
1302
+ }
1303
+
1304
+ .IkPiZ7oarPYasin3JcFC {
1305
+ display: flex;
1306
+ align-items: center;
1307
+ padding: 3px 5px;
1308
+ cursor: pointer;
1309
+ }
1310
+
1311
+ .eabAFWz3ueFCR7MFdfnm {
1312
+ flex: 1;
1313
+ margin-left: 5px;
1314
+ }
1315
+
1316
+ .H5t2XU3F3BFidL0_rXXf {
1317
+ fill: var(--text-color);
1318
+ }
1319
+
1320
+ .eYUqAJLLPnFSGQfPrwJp {
1321
+ padding: var(--container-padding);
1322
+ }
1323
+
1324
+ .COsFBSxrE3VeJHh23G5V {
1325
+ display: flex;
1326
+ margin-top: var(--container-padding);
1327
+ }
1328
+ .rFRCbyZPT_PQc_wrBjwo {
1329
+ background-color: var(--panel-title-bg-color);
1330
+ border-radius: var(--border-radius);
1331
+ margin-top: var(--container-padding);
1332
+ }
1333
+
1334
+ .iQsmu84S0UOMvskFslib {
1335
+ display: flex;
1336
+ align-items: center;
1337
+ padding: 3px 5px;
1338
+ cursor: pointer;
1339
+ }
1340
+
1341
+ .ug6Vnih76yOx9OR2lGmt {
1342
+ flex: 1;
1343
+ margin-left: 5px;
1344
+ }
1345
+
1346
+ .EsTYWrxvRDwQ5bUKgop3 {
1347
+ padding: var(--container-padding);
1348
+ margin-left: 20px;
1349
+ }
1350
+
1351
+ .EsTYWrxvRDwQ5bUKgop3 label {
1352
+ padding: var(--container-padding);
1353
+ cursor: pointer;
1354
+ }
1355
+
1356
+ .hE76lHI6zK5vyZqbFZPC {
1357
+ fill: var(--text-color);
1358
+ }
1359
+
1360
+ .UpHxEb2QWaWp9rGss7Hw {
1361
+ top: var(--container-padding);
1362
+ background-color: var(--panel-bg-color);
1363
+ border-radius: var(--border-radius);
1364
+ overflow: hidden;
1365
+ }
1366
+
1367
+ .DXs3pxIfjaqE0SeBpWKz {
1368
+ margin: 0;
1369
+ font: var(--panel-title-font);
1370
+ padding: var(--panel-title-padding);
1371
+ background-color: var(--panel-title-bg-color);
1372
+ color: var(--panel-title-color);
1373
+ }
1374
+
1375
+ .ew2x2VQFG7Hj_ltiyxbF {
1376
+ padding: var(--container-padding);
1377
+ }
1378
+
1379
+ .zlSZG60tYLnv3ifQhy83 label {
1380
+ cursor: pointer;
1381
+ }
1382
+
1383
+ .KPS_QjyNbNZvOcq4_1Pg {
1384
+ margin-bottom: var(--input-margin);
1385
+ }
1386
+
1387
+ .B5kM8X2kOsyfaMqa0xWN {
1388
+ margin-bottom: var(--input-margin);
1389
+ }
1390
+
1391
+ .ysLnY77UZ_c1_TfyXfgo {
1392
+ background-color: var(--panel-bg-color);
1393
+ border-radius: var(--border-radius);
1394
+ margin: 10px 0;
1395
+ overflow: hidden;
1396
+ }
1397
+
1398
+ .hx1d5UAAVzr0KT0tBfNB {
1399
+ align-items: center;
1400
+ display: flex;
1401
+ padding: var(--panel-title-padding);
1402
+ background-color: var(--panel-title-bg-color);
1403
+ }
1404
+
1405
+ .hx1d5UAAVzr0KT0tBfNB h1 {
1406
+ color: var(--panel-title-color);
1407
+ }
1408
+
1409
+ .hx1d5UAAVzr0KT0tBfNB select {
1410
+ font-size: 16px;
1411
+ height: 24px; /* --panel-title-font size + top/bottom padding */
1412
+ max-width: 33%;
1413
+ padding: 0;
1414
+ }
1415
+
1416
+ .u57YoQwu4we4ucg5Z3JI {
1417
+ flex: 1;
1418
+ margin: 0;
1419
+ padding: 0;
1420
+ font: var(--panel-title-font);
1421
+ }
1422
+
1423
+ .wM1sRpuOJYI8QczteHwR {
1424
+ cursor: pointer;
1425
+ }
1426
+
1427
+ .OUzt44G4J9NqiXahGZNg {
1428
+ padding: var(--container-padding);
1429
+ }
1430
+
1431
+ .HAVmLg8TCL18Jeiuo7fX {
1432
+ width: 100%;
1433
+ }
1434
+
1435
+ .HAVmLg8TCL18Jeiuo7fX > * {
1436
+ outline: none;
1437
+ }
1438
+
1439
+ .HAVmLg8TCL18Jeiuo7fX th {
1440
+ color: hsl(var(--hue-blue), 10%, 60%);
1441
+ font-weight: normal;
1442
+ text-align: left;
1443
+ }
1444
+
1445
+ .HAVmLg8TCL18Jeiuo7fX th:first-child {
1446
+ width: 100%;
1447
+ }
1448
+
1449
+ .HAVmLg8TCL18Jeiuo7fX th:nth-child(2) {
1450
+ min-width: 70px;
1451
+ }
1452
+
1453
+ .HAVmLg8TCL18Jeiuo7fX td {
1454
+ height: 25px;
1455
+ overflow: hidden;
1456
+ white-space: nowrap;
1457
+ }
1458
+
1459
+ .HAVmLg8TCL18Jeiuo7fX td:first-child {
1460
+ text-overflow: ellipsis;
1461
+ max-width: 0;
1462
+ }
1463
+
1464
+ .GOcqON1ttKvLN26MFNIy {
1465
+ margin-bottom: var(--input-margin);
1466
+ }
1467
+
1468
+ .egMKJajhBRVHHcS0ruyV {
1469
+ margin-bottom: var(--input-margin);
1470
+ }
1471
+
1472
+ .ffaCMJ3wIqwLL6cRptTw {
1473
+ background-color: var(--panel-bg-color);
1474
+ border-radius: var(--border-radius);
1475
+ margin: 10px 0;
1476
+ overflow: hidden;
1477
+ }
1478
+
1479
+ .tQTBvPKeFLjVpNbYouTj {
1480
+ align-items: center;
1481
+ display: flex;
1482
+ padding: var(--panel-title-padding);
1483
+ background-color: var(--panel-title-bg-color);
1484
+ }
1485
+
1486
+ .tQTBvPKeFLjVpNbYouTj h1 {
1487
+ color: var(--panel-title-color);
1488
+ }
1489
+
1490
+ .tQTBvPKeFLjVpNbYouTj select {
1491
+ font-size: 16px;
1492
+ height: 24px; /* --panel-title-font size + top/bottom padding */
1493
+ max-width: 33%;
1494
+ padding: 0;
1495
+ }
1496
+
1497
+ .bc5ncwHH9YJ23tSoHwjU {
1498
+ flex: 1;
1499
+ margin: 0;
1500
+ padding: 0;
1501
+ font: var(--panel-title-font);
1502
+ }
1503
+
1504
+ .IhdI0Ej7cIQc3O9IulTL {
1505
+ cursor: pointer;
1506
+ }
1507
+
1508
+ .qCcT2N3kiZaZB2i4v2gX {
1509
+ padding: var(--container-padding);
1510
+ }
1511
+
1512
+ .dVtQTutpaei_Zk_0Dmhd {
1513
+ width: 100%;
1514
+ }
1515
+
1516
+ .dVtQTutpaei_Zk_0Dmhd > * {
1517
+ outline: none;
1518
+ }
1519
+
1520
+ .dVtQTutpaei_Zk_0Dmhd th {
1521
+ color: hsl(var(--hue-blue), 10%, 60%);
1522
+ font-weight: normal;
1523
+ text-align: left;
1524
+ }
1525
+
1526
+ .dVtQTutpaei_Zk_0Dmhd th:first-child {
1527
+ width: 100%;
1528
+ }
1529
+
1530
+ .dVtQTutpaei_Zk_0Dmhd th:nth-child(2) {
1531
+ min-width: 70px;
1532
+ }
1533
+
1534
+ .dVtQTutpaei_Zk_0Dmhd td {
1535
+ height: 25px;
1536
+ overflow: hidden;
1537
+ white-space: nowrap;
1538
+ }
1539
+
1540
+ .dVtQTutpaei_Zk_0Dmhd td:first-child {
1541
+ text-overflow: ellipsis;
1542
+ max-width: 0;
1543
+ }
1544
+
1545
+ ._kg8JIOeafNciIqzc0kY {
1546
+ margin-bottom: var(--input-margin);
1547
+ }
1548
+
1549
+ .Gt1harUlpdZAYOWiLjgK {
1550
+ height: 36px;
1551
+ }
1552
+
1553
+ .f1EKGJojigwMU6SsYuZr {
1554
+ align-items: baseline;
1555
+ color: hsl(var(--hue-blue), 10%, 60%);
1556
+ display: flex;
1557
+ flex-wrap: wrap;
1558
+ margin-bottom: 1em;
1559
+ }
1560
+
1561
+ .f1EKGJojigwMU6SsYuZr h2 {
1562
+ color: hsl(var(--hue-blue), 10%, 80%);
1563
+ flex: 1;
1564
+ margin: 0 1em 0 0;
1565
+ font-size: 32px;
1566
+ font-family: var(--font-family-custom);
1567
+ font-weight: 200;
1568
+ white-space: nowrap;
1569
+ }
1570
+
1571
+ .Z00W8gVjj0IMplO_RP3Q {
1572
+ align-items: baseline;
1573
+ color: hsl(var(--hue-blue), 10%, 60%);
1574
+ display: flex;
1575
+ flex-wrap: wrap;
1576
+ }
1577
+
1578
+ .Z00W8gVjj0IMplO_RP3Q h2 {
1579
+ color: hsl(var(--hue-blue), 10%, 80%);
1580
+ flex: 1;
1581
+ margin: 0 1em 0 0;
1582
+ font-size: 32px;
1583
+ font-family: var(--font-family-custom);
1584
+ font-weight: 200;
1585
+ white-space: nowrap;
1586
+ }
1587
+
1588
+ .eWcvh3MX2knJm1d0CQWu {
1589
+ align-items: baseline;
1590
+ color: hsl(var(--hue-blue), 10%, 60%);
1591
+ display: flex;
1592
+ flex-wrap: wrap;
1593
+ margin-bottom: var(--container-padding);
1594
+ }
1595
+
1596
+ .eWcvh3MX2knJm1d0CQWu h2 {
1597
+ color: hsl(var(--hue-blue), 10%, 80%);
1598
+ flex: 1;
1599
+ margin: 0 1em 0 0;
1600
+ font-size: 32px;
1601
+ font-family: var(--font-family-custom);
1602
+ font-weight: 200;
1603
+ white-space: nowrap;
1604
+ }
1605
+
1606
+ .GSpYmU6m4qxOLmgK4rX3 {
1607
+ margin-bottom: var(--input-margin);
1608
+ }
1609
+
1610
+ .e3jR4OMsV_OIaaAci_hn {
1611
+ margin: 0 auto;
1612
+ overflow: hidden;
1613
+ padding: var(--container-padding);
1614
+ }
1615
+
1616
+ .kfaDc9tZA7V0rbLrrQxW {
1617
+ margin: 2rem 0;
1618
+ text-align: center;
1619
+ font-size: 30px;
1620
+ }
1621
+
1622
+ @media (min-width: 42em) {
1623
+ .kfaDc9tZA7V0rbLrrQxW {
1624
+ margin: 3rem 0;
1625
+ font-size: 36px;
1626
+ }
1627
+ }
1628
+
1629
+ .EPw4Q8pC4VCZu_ENeHOh {
1630
+ margin: 0 auto;
1631
+ padding: 0 1vw;
1632
+ overflow-x: hidden;
1633
+ overflow-y: auto;
1634
+ -webkit-overflow-scrolling: touch;
1635
+ }
1636
+
1637
+ .JoCtgfMdp4_LkFISBVdL {
1638
+ overflow: hidden auto !important; /* allow scrolling on Y-axis only */
1639
+ scrollbar-width: none; /* Firefox */
1640
+ }
1641
+
1642
+ .JoCtgfMdp4_LkFISBVdL::-webkit-scrollbar {
1643
+ display: none; /* Safari and Chrome */
1644
+ }
1645
+
1646
+ .vN10Ra6WwFQwsoJD1_3H {
1647
+ align-items: center;
1648
+ color: var(--alpha-picker-color);
1649
+ display: flex;
1650
+ flex-direction: column;
1651
+ font-size: 2vh;
1652
+ padding: 5px 0;
1653
+ position: fixed;
1654
+ right: 0;
1655
+ width: 32px;
1656
+ cursor: pointer;
1657
+ touch-action: none;
1658
+ }
1659
+
1660
+ .NLkRlVVNnuiKJMNOXMhe {
1661
+ display: flex;
1662
+ align-items: center;
1663
+ transition: width var(--spring-duration) var(--spring-function);
1664
+ }
1665
+
1666
+ .IW53X1CCc5LsUP_viCWs {
1667
+ opacity: 0;
1668
+ }
1669
+
1670
+ .Hk5Oiz4LTn0TQU1HJ_4r {
1671
+ display: flex;
1672
+ align-items: center;
1673
+ }
1674
+
1675
+ .zik5wR9zmSukEda8d8FN {
1676
+ text-shadow: var(--queued-item-text-shadow);
1677
+ }
1678
+
1679
+ .zik5wR9zmSukEda8d8FN .oqSOn8U_QmqEzSvyfAw_ {
1680
+ color: var(--queued-item-color);
1681
+ }
1682
+
1683
+ .q8d4R7JJbyKfMfb5qTtn {
1684
+ animation: var(--animation-text-shadow-glow);
1685
+ }
1686
+
1687
+ .hxXzgFhspryRgl6_AkmQ {
1688
+ color: var(--song-duration-color);
1689
+ font-size: 12px;
1690
+ text-align: right;
1691
+ width: 40px;
1692
+ }
1693
+
1694
+ .z8K08MurHExDsFH50TjN {
1695
+ cursor: pointer;
1696
+ flex: 1;
1697
+ overflow: hidden;
1698
+ white-space: nowrap;
1699
+ margin-left: 14px;
1700
+ }
1701
+
1702
+ .oqSOn8U_QmqEzSvyfAw_ {
1703
+ color: var(--song-title-color);
1704
+ font-size: 18px;
1705
+ text-overflow: ellipsis;
1706
+ overflow: hidden;
1707
+ }
1708
+
1709
+ .INKd0vI4DamezRZUfFHO {
1710
+ color: #aaa;
1711
+ font-size: 15px;
1712
+ text-overflow: ellipsis;
1713
+ overflow: hidden;
1714
+ white-space: nowrap;
1715
+ }
1716
+
1717
+ /* Buttons */
1718
+ .DLgbTdB3hYU0zYVmvotm {
1719
+ cursor: pointer;
1720
+ width: var(--song-item-btn-width);
1721
+ height: var(--song-item-btn-height);
1722
+ margin-right: var(--btn-margin);
1723
+ transition: opacity .3s;
1724
+ }
1725
+
1726
+ .bfE_vcKGNAy6HuKrhsLQ {
1727
+ fill: var(--song-item-btn-bg-color);
1728
+ height: var(--song-item-btn-height);
1729
+ }
1730
+
1731
+ .sITkO1nY1LgSZ74YOArz {
1732
+ fill: var(--song-item-btn-active-bg-color);
1733
+ filter: var(--song-item-btn-active-filter);
1734
+ }
1735
+
1736
+ .a2lTNMjjT5QzeuYbGeux {
1737
+ position: relative;
1738
+ font-size: 13px;
1739
+ top: -28px;
1740
+ text-align: center;
1741
+ text-shadow: none;
1742
+ color: var(--text-color);
1743
+ }
1744
+
1745
+ .sF5sWiz0_6zeoGgwx9_r {
1746
+ color: var(--song-item-btn-active-color);
1747
+ }
1748
+
1749
+ .r4HcW54ut9T2YXA4ysAf {
1750
+ animation: var(--animation-bounce);
1751
+ }
1752
+
1753
+ .IpLs3GshduGnVRAThUSV {
1754
+ fill: var(--song-item-btn-active-bg-color);
1755
+ filter: var(--song-item-btn-active-filter);
1756
+ }
1757
+
1758
+ .ZQ1vJSuEzaXfK5U2mVy3 {
1759
+ display: flex;
1760
+ height: var(--artist-item-height);
1761
+ align-items: center;
1762
+ overflow: hidden;
1763
+ }
1764
+
1765
+ .Oeq1kmzT_zA03h__nm96 {
1766
+ }
1767
+
1768
+ .Lo0KOIA2KNbjdkAzONWs {
1769
+ color: var(--artist-name-color);
1770
+ flex: 1;
1771
+ font-size: 20px;
1772
+ text-overflow: ellipsis;
1773
+ overflow: hidden;
1774
+ white-space: nowrap;
1775
+ padding-left: 3px;
1776
+ cursor: pointer;
1777
+ }
1778
+
1779
+ .MX_Porxug1vkdk_A2Vcz {
1780
+ color: var(--queued-item-color);
1781
+ text-shadow: var(--queued-item-text-shadow);
1782
+ }
1783
+
1784
+ .HZ0_7hegL7xDvnX1Vw9I {
1785
+ animation: var(--animation-text-shadow-glow);
1786
+ }
1787
+
1788
+ .lLz_KOztRoFN8eQxqGc1 {
1789
+ height: var(--artist-item-height);
1790
+ fill: var(--artist-folder-bg-color);
1791
+ }
1792
+
1793
+ .Bc6UO2wMDwOUxrq1bAUP {
1794
+ color: var(--artist-folder-starred-color);
1795
+ fill: var(--artist-folder-starred-bg-color);
1796
+ filter: var(--artist-folder-starred-filter);
1797
+ }
1798
+
1799
+ .b9LqH0GqWQ8WmCaa4ktx {
1800
+ position: relative;
1801
+ top: -30px;
1802
+ text-align: center;
1803
+ font-size: 16px;
1804
+ }
1805
+
1806
+ .EsKyaVkUOVjrQNBLIEEM {
1807
+ position: relative;
1808
+ top: -34px;
1809
+ text-align: center;
1810
+ fill: var(--text-color);
1811
+ }
1812
+
1813
+ .qAmZbfGSZX2Xu4xgWagx {
1814
+ fill: #000;
1815
+ }
1816
+
1817
+ .FM0NON48tUGevc0Mocok,
1818
+ .CEmdQRH561N9ZZS2sElY {
1819
+ color: var(--search-results-heading-color);
1820
+ background-color: var(--search-results-heading-bg-color);
1821
+ font-size: 18px;
1822
+ text-align: center;
1823
+ }
1824
+
1825
+ .l_cLCw9eRNCSyRKgXWS5 {
1826
+ display: flex;
1827
+ height: 100%;
1828
+ text-align: center;
1829
+ align-items: center;
1830
+ }
1831
+
1832
+ .Fog7IKmx1oVfPd8FU407 {
1833
+ flex: 1;
1834
+ }
1835
+
1836
+ /* adapted from https://github.com/tobiasahlin/SpinKit */
1837
+ .Cy2j9ZX2IZrQWobGUi7X {
1838
+ display: flex;
1839
+ height: 100%;
1840
+ align-items: center;
1841
+ justify-content: center;
1842
+ }
1843
+
1844
+ .dTWtSURLdyh9OV1LTnaC {
1845
+ background-color: var(--btn-bg-color);
1846
+ height: 40px;
1847
+ width: 6px;
1848
+ animation: pQ8Wi97sGo_5PlIrHfhm 0.8s infinite ease-in-out;
1849
+ margin: 0 5px;
1850
+ }
1851
+
1852
+ .L3qh5gTBMbZXjFIzwmUI {
1853
+ animation-delay: -0.7s;
1854
+ }
1855
+
1856
+ .f7Ry7aQoljxI7zOj18tU {
1857
+ animation-delay: -0.6s;
1858
+ }
1859
+
1860
+ .jZojmB6JI3Y1bkX6XnDI {
1861
+ animation-delay: -0.5s;
1862
+ }
1863
+
1864
+ .EcvP0cnG_tPw2rSbAdHh {
1865
+ animation-delay: -0.4s;
1866
+ }
1867
+
1868
+ @-webkit-keyframes pQ8Wi97sGo_5PlIrHfhm {
1869
+ 0%, 40%, 100% { -webkit-transform: scaleY(0.4) }
1870
+ 20% { -webkit-transform: scaleY(1.0) }
1871
+ }
1872
+
1873
+ @keyframes pQ8Wi97sGo_5PlIrHfhm {
1874
+ 0%, 40%, 100% {
1875
+ transform: scaleY(0.4);
1876
+ } 20% {
1877
+ transform: scaleY(1.0);
1878
+ }
1879
+ }
1880
+
1881
+ .bhZWQ2xPWPTNIX6C4F3a h1 {
1882
+ font-family: var(--font-family-custom);
1883
+ }
1884
+
1885
+ .mzDMD6M1pFKWJavfPkH5 {
1886
+ border-radius: var(--border-radius);
1887
+ }
1888
+
1889
+ .VlpZ7WoRWqt_q9Lph86w {
1890
+ fill: var(--btn-bg-color);
1891
+ }
1892
+
1893
+ .wmZzvQLV8SUXBxloByaI {
1894
+ background-image: linear-gradient(to right, var(--active-item-from-bg-color), var(--active-item-to-bg-color));
1895
+ background-repeat: no-repeat;
1896
+ height: var(--queue-item-height);
1897
+ overflow: hidden;
1898
+ padding-right: 4px;
1899
+ }
1900
+
1901
+ .OcXId78BLaxBJIqdYIof {
1902
+ display: flex;
1903
+ flex: 1;
1904
+ margin-top: var(--container-padding);
1905
+ margin-right: 0;
1906
+ margin-bottom: var(--container-padding);
1907
+ margin-left: var(--container-padding);
1908
+ overflow: hidden;
1909
+ }
1910
+
1911
+ .umnUSnD73DO3rWOYPZ9K {
1912
+ opacity: .5;
1913
+ }
1914
+
1915
+ .GacRKdveAPO6_ywV1_ca {
1916
+ position: relative;
1917
+ display: flex;
1918
+ align-items: center;
1919
+ justify-content: center;
1920
+ width: 96px;
1921
+ height: 72px;
1922
+ }
1923
+
1924
+ .RGd3UJAFUhL9NuucNZat {
1925
+ max-width: 96px;
1926
+ max-height: 72px;
1927
+ }
1928
+
1929
+ .ctOyiO7TWxvaj2cMva6s {
1930
+ position: absolute;
1931
+ bottom: 0;
1932
+ right: 0;
1933
+ background-color: rgba(0, 0, 0, 0.6);
1934
+ border-top-left-radius: var(--border-radius);
1935
+ }
1936
+
1937
+ .pCDYhCexaZe_zujCsnng {
1938
+ color: #ccc;
1939
+ font-size: 15px;
1940
+ padding: 3px 3px;
1941
+ }
1942
+
1943
+ .nDkBZyovKLxzMG7K_3Tg {
1944
+ flex: 1;
1945
+ display: flex;
1946
+ flex-direction: column;
1947
+ margin-left: var(--container-padding);
1948
+ overflow: hidden;
1949
+ padding: 3px 0;
1950
+ }
1951
+
1952
+ .Wj7Me9sY8G3TTqTAeAaj {
1953
+ flex: 1;
1954
+ }
1955
+
1956
+ .VVVypNxrRbHxoVVWCt7a {
1957
+ text-overflow: ellipsis;
1958
+ overflow: hidden;
1959
+ white-space: nowrap;
1960
+ }
1961
+
1962
+ .oyozFDwcV8GMOumLs906 {
1963
+ font-size: 19px;
1964
+ }
1965
+
1966
+ .PyOIw1JanvSSiLfkRkZt {
1967
+ color: #aaa;
1968
+ font-size: 17px;
1969
+ }
1970
+
1971
+ .HEBTYqqhv5BzgHhWH7vd {
1972
+ font-size: 15px;
1973
+ /* for some reason composes: ellipsis; isn't working here */
1974
+ text-overflow: ellipsis;
1975
+ overflow: hidden;
1976
+ white-space: nowrap;
1977
+ color: #777;
1978
+ }
1979
+
1980
+ ._LtmdT6l38fSEjxPLZod {
1981
+ color: var(--queued-item-color);
1982
+ text-shadow: var(--text-shadow-glow);
1983
+ }
1984
+
1985
+ /* Buttons */
1986
+ .ipO9CAddWNfj0FeLnSlg {
1987
+ cursor: pointer;
1988
+ fill: var(--song-item-btn-bg-color);
1989
+ margin-right: var(--btn-margin);
1990
+ transition: opacity .3s;
1991
+ }
1992
+
1993
+ .YmwxQ7Vy9kTAPCo00I2U {
1994
+ fill: var(--song-item-btn-active-bg-color);
1995
+ filter: var(--song-item-btn-active-filter);
1996
+ }
1997
+
1998
+ .tX8eNQUgD77rREuwXWHO {
1999
+ fill: var(--btn-danger-bg-color);
2000
+ filter: var(--btn-danger-filter);
2001
+ }
2002
+
2003
+ .ZRVZZ_1kYEKO36fznW79 {
2004
+ animation: var(--animation-bounce);
2005
+ }
2006
+
2007
+ .bbUhdC2XhFqBtedX7G5x {
2008
+ animation: egvUeoIxP3c8CjTQWSwH .3s;
2009
+ }
2010
+
2011
+ .oj9sgd1_DuPZvgyJKc_3 {
2012
+ animation: zM_lTYVFPmOz9sQfvcpQ .5s;
2013
+ }
2014
+
2015
+ @keyframes egvUeoIxP3c8CjTQWSwH {
2016
+ 0% { opacity: 0; transform: scale3d(0, 0, 0); }
2017
+ 100% { opacity: 1; transform: scale3d(1, 1, 1); }
2018
+ }
2019
+
2020
+ @keyframes zM_lTYVFPmOz9sQfvcpQ {
2021
+ 0% { opacity: 1; transform: scale3d(1, 1, 1); }
2022
+ 100% { opacity: 0; transform: scale3d(0, 0, 0); }
2023
+ }
2024
+
2025
+ .SF0X5MbNRNL3euuIjCwB {
2026
+ overflow-x: hidden;
2027
+ overflow-y: auto;
2028
+ -webkit-overflow-scrolling: touch;
2029
+ }
2030
+
2031
+ .SF0X5MbNRNL3euuIjCwB h1 {
2032
+ font-family: var(--font-family-custom);
2033
+ }
2034
+