smooth-player 1.0.4 → 2.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.
@@ -1,19 +1,20 @@
1
1
  .smooth-player {
2
+ --smooth-player-rem: 0.0625rem;
2
3
  --smooth-player-background: #0b1220;
3
4
  --smooth-player-foreground: rgba(243, 245, 249, 0.8);
4
5
  --smooth-player-accent: #2db6c8;
5
6
  --smooth-player-waveform: #f3f5f9;
6
- --smooth-player-radius: 18px;
7
+ --smooth-player-radius: calc(var(--smooth-player-rem) * 18);
7
8
  --smooth-player-font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
8
9
  --smooth-player-surface: linear-gradient(145deg, #182743, #111a2d 56%, #0e1628);
9
10
  --smooth-player-panel: linear-gradient(190deg, #1a2945 0%, #111a2e 58%, #0c1321 100%);
10
11
  --smooth-player-muted: #92a4c1;
11
12
  --smooth-player-progress: 0%;
12
13
  position: relative;
13
- width: min(960px, 92vw);
14
- min-height: 500px;
14
+ width: min(40rem, 92vw);
15
+ min-height: calc(var(--smooth-player-rem) * 500);
15
16
  border-radius: var(--smooth-player-radius);
16
- border: 1px solid rgba(255, 255, 255, 0.12);
17
+ border: calc(var(--smooth-player-rem) * 1) solid rgba(255, 255, 255, 0.12);
17
18
  background: var(--smooth-player-surface);
18
19
  color: var(--smooth-player-foreground);
19
20
  font-family: var(--smooth-player-font-family);
@@ -29,38 +30,146 @@
29
30
  transition: opacity 420ms cubic-bezier(0.2, 0.7, 0.2, 1);
30
31
  }
31
32
 
33
+ .smooth-player.is-drag-over {
34
+ border-color: color-mix(in srgb, var(--smooth-player-accent) 44%, #fff 56%);
35
+ box-shadow: 0 0 0 calc(var(--smooth-player-rem) * 2) color-mix(in srgb, var(--smooth-player-accent) 18%, transparent);
36
+ }
37
+ .smooth-player.is-drag-over::before {
38
+ opacity: 0.45;
39
+ }
40
+ .smooth-player.is-drag-over .smooth-player__main {
41
+ filter: saturate(1.03);
42
+ }
43
+
44
+ .smooth-player__main::before,
45
+ .smooth-player__main::after {
46
+ content: "";
47
+ position: absolute;
48
+ pointer-events: none;
49
+ opacity: 0;
50
+ transition: opacity 220ms ease, transform 220ms ease;
51
+ }
52
+
53
+ .smooth-player__main::before {
54
+ inset: calc(var(--smooth-player-rem) * 18);
55
+ border-radius: calc(var(--smooth-player-rem) * 16);
56
+ border: calc(var(--smooth-player-rem) * 2) dashed color-mix(in srgb, var(--smooth-player-accent) 52%, #fff 48%);
57
+ background: color-mix(in srgb, var(--smooth-player-accent) 8%, transparent);
58
+ transform: scale(0.985);
59
+ }
60
+
61
+ .smooth-player__main::after {
62
+ width: calc(var(--smooth-player-rem) * 64);
63
+ height: calc(var(--smooth-player-rem) * 64);
64
+ left: 50%;
65
+ top: 50%;
66
+ transform: translate(-50%, -50%) scale(0.92);
67
+ background: rgba(255, 255, 255, 0.78);
68
+ -webkit-mask: url("/assets/icons/upload.svg") center/contain no-repeat;
69
+ mask: url("/assets/icons/upload.svg") center/contain no-repeat;
70
+ }
71
+
72
+ .smooth-player.is-drag-over .smooth-player__main::before,
73
+ .smooth-player.is-drag-over .smooth-player__main::after {
74
+ opacity: 1;
75
+ }
76
+
77
+ .smooth-player.is-drag-over .smooth-player__main::before {
78
+ transform: scale(1);
79
+ }
80
+
81
+ .smooth-player.is-drag-over .smooth-player__main::after {
82
+ transform: translate(-50%, -50%) scale(1);
83
+ }
84
+
32
85
  .smooth-player__main {
33
86
  position: relative;
34
87
  z-index: 1;
35
88
  height: 100%;
36
- padding: 20px;
89
+ padding: calc(var(--smooth-player-rem) * 20);
37
90
  transition: transform 500ms cubic-bezier(0.2, 0.7, 0.2, 1), filter 420ms ease;
38
91
  }
39
92
 
93
+ .smooth-player__notice {
94
+ position: absolute;
95
+ left: 50%;
96
+ bottom: calc(var(--smooth-player-rem) * 14);
97
+ z-index: 6;
98
+ transform: translate(-50%, calc(var(--smooth-player-rem) * 8));
99
+ width: min(calc(var(--smooth-player-rem) * 640), 100% - calc(var(--smooth-player-rem) * 28));
100
+ padding: calc(var(--smooth-player-rem) * 10) calc(var(--smooth-player-rem) * 12);
101
+ border-radius: calc(var(--smooth-player-rem) * 10);
102
+ border: calc(var(--smooth-player-rem) * 1) solid rgba(255, 255, 255, 0.24);
103
+ background: rgba(9, 16, 30, 0.84);
104
+ color: rgba(255, 255, 255, 0.9);
105
+ font-size: calc(var(--smooth-player-rem) * 12);
106
+ line-height: 1.35;
107
+ text-align: center;
108
+ pointer-events: none;
109
+ opacity: 0;
110
+ transition: opacity 180ms ease, transform 180ms ease;
111
+ }
112
+
113
+ .smooth-player__notice.is-visible {
114
+ opacity: 1;
115
+ transform: translate(-50%, 0);
116
+ }
117
+
118
+ .smooth-player__debug {
119
+ width: min(100%, calc(var(--smooth-player-rem) * 640));
120
+ margin: calc(var(--smooth-player-rem) * 12) auto 0;
121
+ border: calc(var(--smooth-player-rem) * 1) solid rgba(255, 255, 255, 0.18);
122
+ border-radius: calc(var(--smooth-player-rem) * 12);
123
+ background: rgba(7, 12, 22, 0.65);
124
+ padding: calc(var(--smooth-player-rem) * 10) calc(var(--smooth-player-rem) * 12);
125
+ font-size: calc(var(--smooth-player-rem) * 12);
126
+ }
127
+
128
+ .smooth-player__debug h3 {
129
+ margin: 0 0 calc(var(--smooth-player-rem) * 8);
130
+ font-size: calc(var(--smooth-player-rem) * 13);
131
+ font-weight: 700;
132
+ }
133
+
134
+ .smooth-player__debug-grid {
135
+ display: grid;
136
+ grid-template-columns: repeat(2, minmax(0, 1fr));
137
+ gap: calc(var(--smooth-player-rem) * 6) calc(var(--smooth-player-rem) * 10);
138
+ }
139
+
140
+ .smooth-player__debug-events {
141
+ margin: calc(var(--smooth-player-rem) * 8) 0 0;
142
+ max-height: calc(var(--smooth-player-rem) * 140);
143
+ overflow: auto;
144
+ border-radius: calc(var(--smooth-player-rem) * 8);
145
+ padding: calc(var(--smooth-player-rem) * 8);
146
+ background: rgba(255, 255, 255, 0.06);
147
+ }
148
+
40
149
  .smooth-player__row {
41
150
  display: flex;
42
151
  flex-wrap: wrap;
43
- gap: 12px;
152
+ gap: calc(var(--smooth-player-rem) * 12);
44
153
  align-items: center;
45
154
  justify-content: space-between;
46
155
  }
47
156
 
48
157
  .smooth-player__title {
49
158
  margin: 0;
50
- font-size: 22px;
159
+ font-size: calc(var(--smooth-player-rem) * 22);
51
160
  }
52
161
 
53
162
  .smooth-player__controls {
54
163
  display: flex;
55
- gap: 8px;
164
+ gap: calc(var(--smooth-player-rem) * 8);
56
165
  }
57
166
 
58
167
  .smooth-player button {
59
168
  border: 0;
60
169
  background: var(--smooth-player-accent);
61
170
  color: #041016;
62
- width: 46px;
63
- height: 46px;
171
+ width: calc(var(--smooth-player-rem) * 46);
172
+ height: calc(var(--smooth-player-rem) * 46);
64
173
  display: inline-flex;
65
174
  align-items: center;
66
175
  justify-content: center;
@@ -73,12 +182,12 @@
73
182
  outline: none;
74
183
  }
75
184
  .smooth-player button:hover {
76
- transform: translateY(-1px);
185
+ transform: translateY(-sp-rem(1));
77
186
  filter: brightness(1.1);
78
187
  }
79
188
  .smooth-player button:focus-visible {
80
- outline: 2px solid #7fe9f5;
81
- outline-offset: 2px;
189
+ outline: calc(var(--smooth-player-rem) * 2) solid #7fe9f5;
190
+ outline-offset: calc(var(--smooth-player-rem) * 2);
82
191
  }
83
192
  .smooth-player button.secondary {
84
193
  background: #27344f;
@@ -86,24 +195,24 @@
86
195
  }
87
196
 
88
197
  .smooth-player__icon {
89
- width: 22px;
90
- height: 22px;
198
+ width: calc(var(--smooth-player-rem) * 22);
199
+ height: calc(var(--smooth-player-rem) * 22);
91
200
  display: block;
92
201
  }
93
202
 
94
203
  .smooth-player__sr-only {
95
204
  position: absolute;
96
- width: 1px;
97
- height: 1px;
205
+ width: calc(var(--smooth-player-rem) * 1);
206
+ height: calc(var(--smooth-player-rem) * 1);
98
207
  padding: 0;
99
- margin: -1px;
208
+ margin: -sp-rem(1);
100
209
  overflow: hidden;
101
210
  clip: rect(0, 0, 0, 0);
102
211
  border: 0;
103
212
  }
104
213
 
105
214
  .smooth-player__meta {
106
- margin-top: 14px;
215
+ margin-top: calc(var(--smooth-player-rem) * 14);
107
216
  opacity: 0.95;
108
217
  }
109
218
 
@@ -118,13 +227,13 @@
118
227
  .smooth-player__ring {
119
228
  --smooth-player-progress-angle: 0deg;
120
229
  position: relative;
121
- width: 230px;
230
+ width: calc(var(--smooth-player-rem) * 230);
122
231
  aspect-ratio: 1/1;
123
232
  border-radius: 50%;
124
- padding: 2px;
233
+ padding: calc(var(--smooth-player-rem) * 2);
125
234
  background: conic-gradient(var(--smooth-player-accent) var(--smooth-player-progress), rgba(255, 255, 255, 0.16) 0%);
126
235
  cursor: grab;
127
- box-shadow: 0 0 20px color-mix(in srgb, var(--smooth-player-accent) 45%, transparent);
236
+ box-shadow: 0 0 calc(var(--smooth-player-rem) * 20) color-mix(in srgb, var(--smooth-player-accent) 45%, transparent);
128
237
  }
129
238
 
130
239
  .smooth-player__ring:active {
@@ -146,7 +255,7 @@
146
255
  border-radius: 50%;
147
256
  overflow: hidden;
148
257
  background: var(--smooth-player-background);
149
- box-shadow: 0 16px 28px rgba(0, 0, 0, 0.36), inset 0 1px 1px rgba(255, 255, 255, 0.25);
258
+ box-shadow: 0 calc(var(--smooth-player-rem) * 16) calc(var(--smooth-player-rem) * 28) rgba(0, 0, 0, 0.36), inset 0 calc(var(--smooth-player-rem) * 1) calc(var(--smooth-player-rem) * 1) rgba(255, 255, 255, 0.25);
150
259
  }
151
260
 
152
261
  .smooth-player__cover-canvas {
@@ -162,27 +271,27 @@
162
271
  }
163
272
 
164
273
  .smooth-player__artist {
165
- margin-top: 2px;
274
+ margin-top: calc(var(--smooth-player-rem) * 2);
166
275
  color: var(--smooth-player-muted);
167
276
  }
168
277
 
169
278
  .smooth-player__time {
170
- margin-top: 8px;
171
- font-size: 14px;
279
+ margin-top: calc(var(--smooth-player-rem) * 8);
280
+ font-size: calc(var(--smooth-player-rem) * 14);
172
281
  color: var(--smooth-player-muted);
173
282
  }
174
283
 
175
284
  .smooth-player__progress-wrap {
176
- margin-top: 10px;
285
+ margin-top: calc(var(--smooth-player-rem) * 10);
177
286
  display: grid;
178
- gap: 6px;
287
+ gap: calc(var(--smooth-player-rem) * 6);
179
288
  }
180
289
 
181
290
  .smooth-player__progress-row {
182
291
  display: flex;
183
292
  justify-content: space-between;
184
293
  align-items: center;
185
- font-size: 12px;
294
+ font-size: calc(var(--smooth-player-rem) * 12);
186
295
  color: var(--smooth-player-muted);
187
296
  }
188
297
 
@@ -190,45 +299,45 @@
190
299
  --smooth-player-progress: 0%;
191
300
  appearance: none;
192
301
  width: 100%;
193
- height: 7px;
194
- border-radius: 999px;
302
+ height: calc(var(--smooth-player-rem) * 7);
303
+ border-radius: calc(var(--smooth-player-rem) * 999);
195
304
  background: linear-gradient(to right, var(--smooth-player-accent) 0%, var(--smooth-player-accent) var(--smooth-player-progress), rgba(255, 255, 255, 0.2) var(--smooth-player-progress), rgba(255, 255, 255, 0.2) 100%);
196
305
  cursor: pointer;
197
306
  }
198
307
  .smooth-player__progress::-webkit-slider-thumb {
199
308
  appearance: none;
200
- width: 14px;
201
- height: 14px;
309
+ width: calc(var(--smooth-player-rem) * 14);
310
+ height: calc(var(--smooth-player-rem) * 14);
202
311
  border-radius: 50%;
203
312
  border: 0;
204
313
  background: #f4fbff;
205
- box-shadow: 0 0 0 2px rgba(44, 182, 200, 0.35);
314
+ box-shadow: 0 0 0 calc(var(--smooth-player-rem) * 2) rgba(44, 182, 200, 0.35);
206
315
  }
207
316
  .smooth-player__progress::-moz-range-thumb {
208
- width: 14px;
209
- height: 14px;
317
+ width: calc(var(--smooth-player-rem) * 14);
318
+ height: calc(var(--smooth-player-rem) * 14);
210
319
  border-radius: 50%;
211
320
  border: 0;
212
321
  background: #f4fbff;
213
- box-shadow: 0 0 0 2px rgba(44, 182, 200, 0.35);
322
+ box-shadow: 0 0 0 calc(var(--smooth-player-rem) * 2) rgba(44, 182, 200, 0.35);
214
323
  }
215
324
 
216
325
  .smooth-player__canvas {
217
- margin-top: 14px;
326
+ margin-top: calc(var(--smooth-player-rem) * 14);
218
327
  width: 100%;
219
- border-radius: 10px;
220
- border: 1px solid rgba(255, 255, 255, 0.1);
328
+ border-radius: calc(var(--smooth-player-rem) * 10);
329
+ border: calc(var(--smooth-player-rem) * 1) solid rgba(255, 255, 255, 0.1);
221
330
  background: var(--smooth-player-background);
222
331
  }
223
332
 
224
333
  .smooth-player__playlist {
225
334
  position: absolute;
226
335
  inset: 0 0 0 auto;
227
- width: min(350px, 90vw);
336
+ width: min(calc(var(--smooth-player-rem) * 350), 90vw);
228
337
  height: 100%;
229
- padding: 20px;
338
+ padding: calc(var(--smooth-player-rem) * 20);
230
339
  background: var(--smooth-player-panel);
231
- border-left: 1px solid rgba(255, 255, 255, 0.12);
340
+ border-left: calc(var(--smooth-player-rem) * 1) solid rgba(255, 255, 255, 0.12);
232
341
  transform: translateX(105%);
233
342
  opacity: 0;
234
343
  visibility: hidden;
@@ -241,22 +350,22 @@
241
350
  display: flex;
242
351
  align-items: center;
243
352
  justify-content: space-between;
244
- gap: 12px;
353
+ gap: calc(var(--smooth-player-rem) * 12);
245
354
  }
246
355
  .smooth-player__playlist-head h2 {
247
356
  margin: 0;
248
- font-size: 20px;
357
+ font-size: calc(var(--smooth-player-rem) * 20);
249
358
  }
250
359
 
251
360
  .smooth-player__playlist-close {
252
- width: 36px;
253
- height: 36px;
254
- font-size: 22px;
361
+ width: calc(var(--smooth-player-rem) * 36);
362
+ height: calc(var(--smooth-player-rem) * 36);
363
+ font-size: calc(var(--smooth-player-rem) * 22);
255
364
  line-height: 1;
256
365
  }
257
366
 
258
367
  .smooth-player__playlist-switcher {
259
- margin-top: 10px;
368
+ margin-top: calc(var(--smooth-player-rem) * 10);
260
369
  position: relative;
261
370
  }
262
371
 
@@ -264,30 +373,30 @@
264
373
  width: 100%;
265
374
  height: auto;
266
375
  min-width: 0;
267
- min-height: 36px;
268
- padding: 8px 12px;
269
- border: 1px solid rgba(255, 255, 255, 0.18);
376
+ min-height: calc(var(--smooth-player-rem) * 36);
377
+ padding: calc(var(--smooth-player-rem) * 8) calc(var(--smooth-player-rem) * 12);
378
+ border: calc(var(--smooth-player-rem) * 1) solid rgba(255, 255, 255, 0.18);
270
379
  background: rgba(255, 255, 255, 0.06);
271
380
  color: #e7eef9;
272
- font-size: 13px;
381
+ font-size: calc(var(--smooth-player-rem) * 13);
273
382
  line-height: 1.2;
274
383
  text-align: left;
275
384
  white-space: nowrap;
276
385
  overflow: hidden;
277
386
  text-overflow: ellipsis;
278
387
  position: relative;
279
- padding-right: 32px;
388
+ padding-right: calc(var(--smooth-player-rem) * 32);
280
389
  }
281
390
 
282
391
  .smooth-player__playlist-switcher-trigger::after {
283
392
  content: "";
284
393
  position: absolute;
285
- right: 12px;
394
+ right: calc(var(--smooth-player-rem) * 12);
286
395
  top: 50%;
287
- width: 8px;
288
- height: 8px;
289
- border-right: 2px solid currentColor;
290
- border-bottom: 2px solid currentColor;
396
+ width: calc(var(--smooth-player-rem) * 8);
397
+ height: calc(var(--smooth-player-rem) * 8);
398
+ border-right: calc(var(--smooth-player-rem) * 2) solid currentColor;
399
+ border-bottom: calc(var(--smooth-player-rem) * 2) solid currentColor;
291
400
  transform: translateY(-65%) rotate(45deg);
292
401
  opacity: 0.8;
293
402
  }
@@ -298,15 +407,15 @@
298
407
 
299
408
  .smooth-player__playlist-switcher-menu {
300
409
  position: absolute;
301
- top: calc(100% + 6px);
410
+ top: calc(100% + calc(var(--smooth-player-rem) * 6));
302
411
  left: 0;
303
412
  right: 0;
304
413
  display: grid;
305
- gap: 6px;
306
- padding: 12px;
414
+ gap: calc(var(--smooth-player-rem) * 6);
415
+ padding: calc(var(--smooth-player-rem) * 12);
307
416
  background: rgba(10, 18, 35, 0.96);
308
- backdrop-filter: blur(10px);
309
- border-radius: 8px;
417
+ backdrop-filter: blur(calc(var(--smooth-player-rem) * 10));
418
+ border-radius: calc(var(--smooth-player-rem) * 8);
310
419
  z-index: 8;
311
420
  }
312
421
 
@@ -318,13 +427,13 @@
318
427
  width: 100%;
319
428
  height: auto;
320
429
  min-width: 0;
321
- min-height: 34px;
322
- padding: 8px 10px;
323
- border-radius: 10px;
324
- border: 1px solid rgba(255, 255, 255, 0.14);
430
+ min-height: calc(var(--smooth-player-rem) * 34);
431
+ padding: calc(var(--smooth-player-rem) * 8) calc(var(--smooth-player-rem) * 10);
432
+ border-radius: calc(var(--smooth-player-rem) * 10);
433
+ border: calc(var(--smooth-player-rem) * 1) solid rgba(255, 255, 255, 0.14);
325
434
  background: rgba(255, 255, 255, 0.04);
326
435
  color: #e7eef9;
327
- font-size: 12px;
436
+ font-size: calc(var(--smooth-player-rem) * 12);
328
437
  line-height: 1.2;
329
438
  text-align: left;
330
439
  white-space: nowrap;
@@ -340,11 +449,11 @@
340
449
 
341
450
  .smooth-player__playlist-list {
342
451
  list-style: none;
343
- margin: 12px 0 0;
452
+ margin: calc(var(--smooth-player-rem) * 12) 0 0;
344
453
  padding: 0;
345
454
  display: grid;
346
- gap: 8px;
347
- max-height: calc(100% - 108px);
455
+ gap: calc(var(--smooth-player-rem) * 8);
456
+ max-height: calc(100% - calc(var(--smooth-player-rem) * 108));
348
457
  overflow: auto;
349
458
  }
350
459
 
@@ -352,18 +461,18 @@
352
461
  width: 100%;
353
462
  height: auto;
354
463
  min-width: 0;
355
- min-height: 48px;
356
- border-radius: 8px;
464
+ min-height: calc(var(--smooth-player-rem) * 48);
465
+ border-radius: calc(var(--smooth-player-rem) * 8);
357
466
  border: 0;
358
467
  background: transparent;
359
468
  color: #f1f5fd;
360
- padding: 8px 0;
469
+ padding: calc(var(--smooth-player-rem) * 8) 0;
361
470
  text-align: left;
362
471
  display: grid;
363
- grid-template-columns: 18px minmax(0, 1fr);
472
+ grid-template-columns: calc(var(--smooth-player-rem) * 18) minmax(0, 1fr);
364
473
  align-items: center;
365
474
  justify-content: initial;
366
- gap: 10px;
475
+ gap: calc(var(--smooth-player-rem) * 10);
367
476
  cursor: pointer;
368
477
  }
369
478
 
@@ -371,41 +480,41 @@
371
480
  width: 100%;
372
481
  height: auto;
373
482
  min-width: 0;
374
- min-height: 36px;
375
- border-radius: 6px;
483
+ min-height: calc(var(--smooth-player-rem) * 36);
484
+ border-radius: calc(var(--smooth-player-rem) * 6);
376
485
  }
377
486
 
378
487
  .smooth-player .smooth-player__playlist-switcher-item {
379
488
  width: 100%;
380
489
  height: auto;
381
490
  min-width: 0;
382
- min-height: 34px;
383
- border-radius: 4px;
491
+ min-height: calc(var(--smooth-player-rem) * 34);
492
+ border-radius: calc(var(--smooth-player-rem) * 4);
384
493
  }
385
494
 
386
495
  .smooth-player .smooth-player__playlist-item {
387
496
  width: 100%;
388
497
  height: auto;
389
498
  min-width: 0;
390
- min-height: 48px;
391
- border-bottom: rgba(255, 255, 255, 0.1) 1px solid;
499
+ min-height: calc(var(--smooth-player-rem) * 48);
500
+ border-bottom: rgba(255, 255, 255, 0.1) calc(var(--smooth-player-rem) * 1) solid;
392
501
  border-radius: 0;
393
502
  }
394
503
 
395
504
  .smooth-player__playlist-note {
396
- width: 18px;
397
- height: 18px;
505
+ width: calc(var(--smooth-player-rem) * 18);
506
+ height: calc(var(--smooth-player-rem) * 18);
398
507
  color: rgba(243, 245, 249, 0.52);
399
508
  background: currentColor;
400
509
  display: block;
401
- -webkit-mask: url("/assets/icons/note.svg") center/15px 15px no-repeat;
402
- mask: url("/assets/icons/note.svg") center/15px 15px no-repeat;
510
+ -webkit-mask: url("/assets/icons/note.svg") center/calc(var(--smooth-player-rem) * 15) calc(var(--smooth-player-rem) * 15) no-repeat;
511
+ mask: url("/assets/icons/note.svg") center/calc(var(--smooth-player-rem) * 15) calc(var(--smooth-player-rem) * 15) no-repeat;
403
512
  }
404
513
 
405
514
  .smooth-player__playlist-content {
406
515
  min-width: 0;
407
516
  display: grid;
408
- gap: 2px;
517
+ gap: calc(var(--smooth-player-rem) * 2);
409
518
  }
410
519
 
411
520
  .smooth-player__playlist-title {
@@ -430,16 +539,16 @@
430
539
  }
431
540
 
432
541
  .smooth-player__playlist-item:focus-visible {
433
- outline: 2px solid color-mix(in srgb, var(--smooth-player-accent) 55%, #fff 45%);
434
- outline-offset: 3px;
435
- border-radius: 8px;
542
+ outline: calc(var(--smooth-player-rem) * 2) solid color-mix(in srgb, var(--smooth-player-accent) 55%, #fff 45%);
543
+ outline-offset: calc(var(--smooth-player-rem) * 3);
544
+ border-radius: calc(var(--smooth-player-rem) * 8);
436
545
  }
437
546
 
438
547
  .smooth-player--playlist-open::before {
439
548
  opacity: 1;
440
549
  }
441
550
  .smooth-player--playlist-open .smooth-player__main {
442
- transform: translateX(-18px) scale(0.992);
551
+ transform: translateX(-sp-rem(18)) scale(0.992);
443
552
  filter: saturate(0.9);
444
553
  }
445
554
  .smooth-player--playlist-open .smooth-player__playlist {
@@ -449,12 +558,15 @@
449
558
  pointer-events: auto;
450
559
  }
451
560
 
452
- @media (max-width: 700px) {
561
+ @media (max-width: 560px) {
453
562
  .smooth-player {
454
- min-height: 540px;
563
+ width: 100%;
564
+ min-height: 100dvh;
565
+ border-radius: 0;
566
+ margin: 0;
455
567
  }
456
568
  .smooth-player__main {
457
- padding: 14px;
569
+ padding: calc(var(--smooth-player-rem) * 14);
458
570
  }
459
571
  .smooth-player__playlist {
460
572
  width: 100%;
@@ -463,70 +575,117 @@
463
575
  }
464
576
  .smooth-player {
465
577
  --smooth-player-muted: #9ca7b6;
466
- --smooth-player-radius: 32px;
578
+ --smooth-player-radius: calc(var(--smooth-player-rem) * 32);
467
579
  border-color: rgba(255, 255, 255, 0.08);
468
- box-shadow: 0 30px 60px rgba(0, 0, 0, 0.35), inset 0 1px 1px rgba(255, 255, 255, 0.06);
580
+ box-shadow: 0 calc(var(--smooth-player-rem) * 30) calc(var(--smooth-player-rem) * 60) rgba(0, 0, 0, 0.35), inset 0 calc(var(--smooth-player-rem) * 1) calc(var(--smooth-player-rem) * 1) rgba(255, 255, 255, 0.06);
469
581
  }
470
582
  .smooth-player .smooth-player__meta {
471
583
  margin-top: 1.5rem;
472
584
  text-align: center;
473
585
  }
474
586
  .smooth-player .smooth-player__meta strong {
475
- font-size: clamp(24px, 5vw, 42px);
587
+ font-size: clamp(calc(var(--smooth-player-rem) * 24), 5vw, calc(var(--smooth-player-rem) * 42));
476
588
  font-weight: 500;
477
589
  letter-spacing: -0.02em;
478
590
  line-height: 1.08;
479
591
  display: block;
480
592
  color: color-mix(in srgb, var(--smooth-player-accent) 80%, transparent);
593
+ transition: opacity 180ms ease, transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
594
+ will-change: opacity, transform;
481
595
  }
482
596
  .smooth-player .smooth-player__artist {
483
597
  margin-top: 0.375rem;
484
- font-size: clamp(14px, 2.4vw, 18px);
598
+ font-size: clamp(calc(var(--smooth-player-rem) * 14), 2.4vw, calc(var(--smooth-player-rem) * 18));
599
+ transition: opacity 180ms ease, transform 220ms cubic-bezier(0.2, 0.7, 0.2, 1);
600
+ will-change: opacity, transform;
601
+ }
602
+ .smooth-player .smooth-player__meta strong.is-track-exit,
603
+ .smooth-player .smooth-player__artist.is-track-exit {
604
+ opacity: 0;
605
+ transform: translateY(-0.35rem);
606
+ }
607
+ .smooth-player .smooth-player__meta strong.is-track-enter,
608
+ .smooth-player .smooth-player__artist.is-track-enter {
609
+ opacity: 0;
610
+ transform: translateY(0.45rem);
485
611
  }
486
612
  .smooth-player .smooth-player__top {
487
613
  position: relative;
488
614
  min-height: 2.125rem;
489
615
  display: flex;
490
616
  align-items: center;
491
- justify-content: center;
617
+ justify-content: flex-start;
618
+ }
619
+ .smooth-player .smooth-player__brand {
620
+ position: absolute;
621
+ top: 0.75rem;
622
+ right: 0;
623
+ left: auto;
624
+ width: 2.2rem;
625
+ height: 1.6rem;
626
+ display: block;
627
+ color: color-mix(in srgb, var(--smooth-player-accent) 92%, #fff 8%);
628
+ opacity: 0.8;
629
+ }
630
+ .smooth-player .smooth-player__brand::before {
631
+ content: "";
632
+ width: 100%;
633
+ height: 100%;
634
+ display: block;
635
+ background: currentColor;
636
+ -webkit-mask: url("/assets/icons/logo.svg") center/contain no-repeat;
637
+ mask: url("/assets/icons/logo.svg") center/contain no-repeat;
492
638
  }
493
639
  .smooth-player .smooth-player__top-title {
494
640
  font-size: 0.875rem;
495
641
  color: rgba(242, 244, 248, 0.8);
496
642
  letter-spacing: 0.01em;
643
+ white-space: nowrap;
644
+ text-align: right;
497
645
  }
498
- .smooth-player .smooth-player__nav-btn {
499
- position: absolute;
500
- top: 0;
501
- left: 0.875rem;
502
- width: 1.875rem;
503
- height: 1.875rem;
504
- min-width: 1.875rem;
505
- min-height: 1.875rem;
646
+ .smooth-player .smooth-player__playlist-top {
647
+ margin-right: auto;
648
+ display: inline-flex;
649
+ align-items: center;
650
+ gap: 0.45rem;
651
+ min-width: 0;
652
+ max-width: calc(100% - 4.5rem);
653
+ }
654
+ .smooth-player #playlist-toggle {
655
+ position: static;
656
+ width: 3.125rem;
657
+ height: 3.125rem;
658
+ min-width: 3.125rem;
659
+ min-height: 3.125rem;
506
660
  border-radius: 50%;
507
- background: transparent;
508
661
  border: 0;
509
- color: rgba(242, 244, 248, 0.7);
510
- font-size: 1.25rem;
511
- box-shadow: none;
662
+ background: rgba(255, 255, 255, 0.14);
663
+ color: rgba(255, 255, 255, 0.78);
664
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
512
665
  }
513
- .smooth-player .smooth-player__nav-btn[aria-expanded=true] {
514
- color: var(--smooth-player-accent);
666
+ .smooth-player #playlist-toggle:hover {
667
+ background: rgba(255, 255, 255, 0.19);
668
+ filter: none;
669
+ }
670
+ .smooth-player #playlist-toggle .smooth-player__icon {
671
+ width: 1.375rem;
672
+ height: 1.375rem;
673
+ opacity: 0.78;
674
+ filter: brightness(0) invert(1);
515
675
  }
516
676
  .smooth-player #shuffle-toggle {
517
- position: absolute;
518
- top: 0;
519
- right: 0.875rem;
520
- width: 1.875rem;
521
- height: 1.875rem;
522
- min-width: 1.875rem;
523
- min-height: 1.875rem;
677
+ position: static;
678
+ width: 3.125rem;
679
+ height: 3.125rem;
680
+ min-width: 3.125rem;
681
+ min-height: 3.125rem;
682
+ border: 0;
524
683
  background: transparent;
525
- color: rgba(242, 244, 248, 0.55);
684
+ color: rgba(255, 255, 255, 0.78);
526
685
  box-shadow: none;
527
- z-index: 4;
528
686
  }
529
687
  .smooth-player #shuffle-toggle:hover {
688
+ background: transparent;
530
689
  filter: none;
531
690
  }
532
691
  .smooth-player #shuffle-toggle .smooth-player__icon-shuffle {
@@ -542,31 +701,260 @@
542
701
  background: transparent;
543
702
  box-shadow: none;
544
703
  }
704
+ .smooth-player #visualizer-toggle {
705
+ position: static;
706
+ width: 3.125rem;
707
+ height: 3.125rem;
708
+ min-width: 3.125rem;
709
+ min-height: 3.125rem;
710
+ border: 0;
711
+ background: transparent;
712
+ color: rgba(255, 255, 255, 0.78);
713
+ box-shadow: none;
714
+ }
715
+ .smooth-player #visualizer-toggle:hover {
716
+ background: transparent;
717
+ filter: none;
718
+ }
719
+ .smooth-player #visualizer-toggle .smooth-player__icon-visualizer {
720
+ width: 1rem;
721
+ height: 1rem;
722
+ display: block;
723
+ background-color: currentColor;
724
+ -webkit-mask: url("/assets/icons/visualizer.svg") center/contain no-repeat;
725
+ mask: url("/assets/icons/visualizer.svg") center/contain no-repeat;
726
+ }
727
+ .smooth-player #visualizer-toggle[data-mode=none] {
728
+ color: rgba(255, 255, 255, 0.62);
729
+ }
730
+ .smooth-player #visualizer-toggle[data-mode=spectrum],
731
+ .smooth-player #visualizer-toggle[data-mode=waveform] {
732
+ color: var(--smooth-player-accent);
733
+ background: transparent;
734
+ box-shadow: none;
735
+ }
736
+ .smooth-player .smooth-player__visualizer-panel {
737
+ position: absolute;
738
+ inset: auto 0 0 0;
739
+ z-index: 2;
740
+ width: 100%;
741
+ height: min(48%, 20rem);
742
+ overflow-y: auto;
743
+ padding: 0.8rem 1rem 1rem;
744
+ border-top: 1px solid rgba(255, 255, 255, 0.16);
745
+ border-radius: 0;
746
+ background: var(--smooth-player-panel);
747
+ backdrop-filter: blur(8px);
748
+ display: grid;
749
+ gap: 0.42rem;
750
+ align-content: start;
751
+ justify-items: stretch;
752
+ transform: translateY(104%);
753
+ opacity: 0;
754
+ visibility: hidden;
755
+ pointer-events: none;
756
+ transition: transform 320ms cubic-bezier(0.2, 0.7, 0.2, 1), opacity 220ms ease, visibility 220ms ease;
757
+ }
758
+ .smooth-player .smooth-player__visualizer-panel.is-open {
759
+ transform: translateY(0);
760
+ opacity: 1;
761
+ visibility: visible;
762
+ pointer-events: auto;
763
+ }
764
+ .smooth-player .smooth-player__visualizer-label {
765
+ margin-top: 0.55rem;
766
+ margin-bottom: 0.28rem;
767
+ font-size: 0.98rem;
768
+ font-weight: 600;
769
+ color: rgba(242, 244, 248, 0.9);
770
+ letter-spacing: 0.01em;
771
+ }
772
+ .smooth-player .smooth-player__visualizer-mode-row {
773
+ display: flex;
774
+ justify-content: stretch;
775
+ gap: 0;
776
+ margin: 0.35rem 0 0.8rem;
777
+ border-bottom: 1px solid rgba(255, 255, 255, 0.14);
778
+ }
779
+ .smooth-player .smooth-player__visualizer-mode {
780
+ width: 33.333%;
781
+ height: 2.3rem;
782
+ min-width: 0;
783
+ min-height: 2.3rem;
784
+ border-radius: 0;
785
+ border: 0;
786
+ border-bottom: 2px solid transparent;
787
+ background: transparent;
788
+ color: rgba(242, 244, 248, 0.72);
789
+ box-shadow: none;
790
+ padding: 0 0.45rem;
791
+ display: inline-flex;
792
+ align-items: center;
793
+ justify-content: center;
794
+ gap: 0.4rem;
795
+ }
796
+ .smooth-player .smooth-player__visualizer-mode.is-active {
797
+ border-bottom-color: var(--smooth-player-accent);
798
+ color: color-mix(in srgb, var(--smooth-player-accent) 82%, #fff 18%);
799
+ background: color-mix(in srgb, var(--smooth-player-accent) 12%, transparent);
800
+ }
801
+ .smooth-player .smooth-player__visualizer-mode-icon {
802
+ width: 1rem;
803
+ height: 1rem;
804
+ margin: 0;
805
+ display: block;
806
+ fill: currentColor;
807
+ stroke: currentColor;
808
+ stroke-width: 1.8;
809
+ stroke-linecap: round;
810
+ stroke-linejoin: round;
811
+ }
812
+ .smooth-player .smooth-player__visualizer-mode-text {
813
+ font-size: 0.69rem;
814
+ line-height: 1;
815
+ white-space: nowrap;
816
+ }
817
+ .smooth-player .smooth-player__visualizer-spectrum-options,
818
+ .smooth-player .smooth-player__visualizer-waveform-options {
819
+ display: grid;
820
+ gap: 0.1rem;
821
+ align-content: start;
822
+ }
823
+ .smooth-player .smooth-player__visualizer-spectrum-grid {
824
+ display: grid;
825
+ grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
826
+ gap: 1rem;
827
+ align-items: start;
828
+ }
829
+ .smooth-player .smooth-player__visualizer-spectrum-col {
830
+ min-width: 0;
831
+ display: grid;
832
+ gap: 0.1rem;
833
+ align-content: start;
834
+ }
835
+ .smooth-player .smooth-player__visualizer-spectrum-options[hidden],
836
+ .smooth-player .smooth-player__visualizer-waveform-options[hidden],
837
+ .smooth-player .smooth-player__visualizer-off-options[hidden] {
838
+ display: none !important;
839
+ }
840
+ .smooth-player .smooth-player__visualizer-size-list {
841
+ display: flex;
842
+ align-items: center;
843
+ gap: 0.8rem;
844
+ margin-top: 0.15rem;
845
+ }
846
+ .smooth-player .smooth-player__visualizer-size {
847
+ width: 2.25rem;
848
+ min-width: 2.25rem;
849
+ min-height: 2.25rem;
850
+ border-radius: 0;
851
+ border: 0;
852
+ background: transparent;
853
+ color: rgba(242, 244, 248, 0.86);
854
+ box-shadow: none;
855
+ padding: 0;
856
+ display: inline-grid;
857
+ grid-template-columns: 2.25rem;
858
+ align-items: center;
859
+ justify-items: center;
860
+ }
861
+ .smooth-player .smooth-player__visualizer-size.is-active {
862
+ color: color-mix(in srgb, var(--smooth-player-accent) 90%, #fff 10%);
863
+ }
864
+ .smooth-player .smooth-player__visualizer-size:disabled {
865
+ opacity: 0.4;
866
+ }
867
+ .smooth-player .smooth-player__size-bars {
868
+ width: 2.25rem;
869
+ height: 2.25rem;
870
+ border-radius: 50%;
871
+ border: 0;
872
+ background: rgba(255, 255, 255, 0.06);
873
+ display: flex;
874
+ align-items: end;
875
+ justify-content: center;
876
+ gap: 0.13rem;
877
+ padding-bottom: 0.45rem;
878
+ }
879
+ .smooth-player .smooth-player__size-bars span {
880
+ display: block;
881
+ background: currentColor;
882
+ border-radius: 1px;
883
+ }
884
+ .smooth-player .smooth-player__size-bars span:nth-child(1) {
885
+ height: 0.42rem;
886
+ }
887
+ .smooth-player .smooth-player__size-bars span:nth-child(2) {
888
+ height: 0.68rem;
889
+ }
890
+ .smooth-player .smooth-player__size-bars span:nth-child(3) {
891
+ height: 0.98rem;
892
+ }
893
+ .smooth-player .smooth-player__size-bars--thin span {
894
+ width: 0.11rem;
895
+ }
896
+ .smooth-player .smooth-player__size-bars--medium span {
897
+ width: 0.18rem;
898
+ }
899
+ .smooth-player .smooth-player__size-bars--large span {
900
+ width: 0.3rem;
901
+ }
902
+ .smooth-player .smooth-player__visualizer-size.is-active .smooth-player__size-bars {
903
+ background: color-mix(in srgb, var(--smooth-player-accent) 16%, transparent);
904
+ }
905
+ .smooth-player .smooth-player__visualizer-check {
906
+ display: flex;
907
+ align-items: center;
908
+ gap: 0.62rem;
909
+ min-height: 2rem;
910
+ font-size: 1rem;
911
+ color: rgba(242, 244, 248, 0.9);
912
+ }
913
+ .smooth-player .smooth-player__visualizer-check input {
914
+ width: 1.08rem;
915
+ height: 1.08rem;
916
+ accent-color: var(--smooth-player-accent);
917
+ }
918
+ .smooth-player .smooth-player__visualizer-check input:disabled {
919
+ opacity: 0.5;
920
+ }
545
921
  .smooth-player .smooth-player__transport {
546
922
  margin-top: 1.75rem;
547
923
  margin-bottom: 2.25rem;
548
924
  display: flex;
549
925
  justify-content: center;
550
926
  align-items: center;
551
- gap: 1.625rem;
927
+ gap: 1.1rem;
552
928
  }
553
929
  .smooth-player .smooth-player__transport button {
554
930
  width: 3.125rem;
555
931
  height: 3.125rem;
932
+ border: 0;
933
+ background: rgba(255, 255, 255, 0.14);
934
+ color: rgba(255, 255, 255, 0.78);
935
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
556
936
  }
557
- .smooth-player .smooth-player__transport .smooth-player__transport-playlist {
558
- width: 3.75rem;
559
- height: 3.75rem;
560
- min-width: 3.75rem;
561
- min-height: 3.75rem;
937
+ .smooth-player .smooth-player__transport button:hover {
938
+ background: rgba(255, 255, 255, 0.19);
939
+ filter: none;
940
+ }
941
+ .smooth-player .smooth-player__transport .smooth-player__icon {
942
+ opacity: 0.78;
943
+ filter: brightness(0) invert(1);
562
944
  }
563
- .smooth-player .smooth-player__transport .smooth-player__transport-playlist .smooth-player__icon {
564
- width: 1.5rem;
565
- height: 1.5rem;
945
+ .smooth-player #stop {
946
+ width: 4.2rem;
947
+ height: 4.2rem;
948
+ min-width: 4.2rem;
949
+ min-height: 4.2rem;
566
950
  }
567
- .smooth-player .smooth-player__transport .smooth-player__transport-play {
568
- width: 4.375rem;
569
- height: 4.375rem;
951
+ .smooth-player #stop .smooth-player__icon-stop {
952
+ width: 1.6rem;
953
+ height: 1.6rem;
954
+ display: block;
955
+ background: currentColor;
956
+ -webkit-mask: url("/assets/icons/stop.svg") center/contain no-repeat;
957
+ mask: url("/assets/icons/stop.svg") center/contain no-repeat;
570
958
  }
571
959
  .smooth-player .smooth-player__progress-wrap {
572
960
  display: none;
@@ -592,22 +980,45 @@
592
980
  height: 4.625rem;
593
981
  background: transparent;
594
982
  border: 0;
595
- color: rgba(242, 244, 248, 0.78);
983
+ color: var(--smooth-player-accent);
596
984
  }
597
985
  .smooth-player .smooth-player__hero-play .smooth-player__icon-play {
598
- width: 2.75rem;
599
- height: 2.75rem;
986
+ width: 2.95rem;
987
+ height: 2.95rem;
600
988
  display: block;
989
+ position: relative;
990
+ }
991
+ .smooth-player .smooth-player__hero-play .smooth-player__icon-play::before,
992
+ .smooth-player .smooth-player__hero-play .smooth-player__icon-play::after {
993
+ content: "";
994
+ position: absolute;
995
+ inset: 0;
601
996
  background-color: currentColor;
602
- -webkit-mask: url("/assets/icons/play.svg") center/contain no-repeat;
603
- mask: url("/assets/icons/play.svg") center/contain no-repeat;
997
+ transition: clip-path 260ms cubic-bezier(0.2, 0.7, 0.2, 1), transform 260ms cubic-bezier(0.2, 0.7, 0.2, 1);
998
+ will-change: clip-path, transform;
999
+ }
1000
+ .smooth-player .smooth-player__hero-play .smooth-player__icon-play::before {
1001
+ clip-path: polygon(24% 16%, 24% 84%, 84% 50%);
1002
+ transform: scale(1);
1003
+ }
1004
+ .smooth-player .smooth-player__hero-play .smooth-player__icon-play::after {
1005
+ clip-path: polygon(58% 50%, 58% 50%, 58% 50%, 58% 50%);
1006
+ transform: scale(1);
604
1007
  }
605
1008
  .smooth-player .smooth-player__hero-play[aria-pressed=true] {
606
1009
  color: var(--smooth-player-accent);
607
1010
  }
608
1011
  .smooth-player .smooth-player__hero-play[aria-pressed=true] .smooth-player__icon-play {
609
- -webkit-mask: url("/assets/icons/pause.svg") center/contain no-repeat;
610
- mask: url("/assets/icons/pause.svg") center/contain no-repeat;
1012
+ width: 2.95rem;
1013
+ height: 2.95rem;
1014
+ }
1015
+ .smooth-player .smooth-player__hero-play[aria-pressed=true] .smooth-player__icon-play::before {
1016
+ clip-path: polygon(22% 16%, 42% 16%, 42% 84%, 22% 84%);
1017
+ transform: scale(0.96);
1018
+ }
1019
+ .smooth-player .smooth-player__hero-play[aria-pressed=true] .smooth-player__icon-play::after {
1020
+ clip-path: polygon(58% 16%, 78% 16%, 78% 84%, 58% 84%);
1021
+ transform: scale(0.96);
611
1022
  }
612
1023
  .smooth-player .smooth-player__hero-play:hover {
613
1024
  transform: translate(-50%, -50%) scale(1.02);
@@ -617,22 +1028,22 @@
617
1028
  transform: translate(-50%, -50%);
618
1029
  }
619
1030
  .smooth-player .smooth-player__progress {
620
- height: 3px;
1031
+ height: calc(var(--smooth-player-rem) * 3);
621
1032
  background: linear-gradient(to right, color-mix(in srgb, var(--smooth-player-accent) 95%, #fff 5%) 0%, color-mix(in srgb, var(--smooth-player-accent) 95%, #fff 5%) var(--smooth-player-progress), rgba(255, 255, 255, 0.2) var(--smooth-player-progress), rgba(255, 255, 255, 0.2) 100%);
622
- box-shadow: 0 0 14px rgba(14, 210, 164, 0.24);
1033
+ box-shadow: 0 0 calc(var(--smooth-player-rem) * 14) rgba(14, 210, 164, 0.24);
623
1034
  }
624
1035
  .smooth-player .smooth-player__progress::-webkit-slider-thumb {
625
- width: 12px;
626
- height: 12px;
627
- box-shadow: 0 0 0 2px rgba(14, 210, 164, 0.35), 0 0 12px rgba(14, 210, 164, 0.48);
1036
+ width: calc(var(--smooth-player-rem) * 12);
1037
+ height: calc(var(--smooth-player-rem) * 12);
1038
+ box-shadow: 0 0 0 calc(var(--smooth-player-rem) * 2) rgba(14, 210, 164, 0.35), 0 0 calc(var(--smooth-player-rem) * 12) rgba(14, 210, 164, 0.48);
628
1039
  }
629
1040
  .smooth-player .smooth-player__progress::-moz-range-thumb {
630
- width: 12px;
631
- height: 12px;
632
- box-shadow: 0 0 0 2px rgba(14, 210, 164, 0.35), 0 0 12px rgba(14, 210, 164, 0.48);
1041
+ width: calc(var(--smooth-player-rem) * 12);
1042
+ height: calc(var(--smooth-player-rem) * 12);
1043
+ box-shadow: 0 0 0 calc(var(--smooth-player-rem) * 2) rgba(14, 210, 164, 0.35), 0 0 calc(var(--smooth-player-rem) * 12) rgba(14, 210, 164, 0.48);
633
1044
  }
634
1045
  .smooth-player .smooth-player__progress-row {
635
- font-size: 11px;
1046
+ font-size: calc(var(--smooth-player-rem) * 11);
636
1047
  opacity: 0.9;
637
1048
  }
638
1049
  .smooth-player .smooth-player__playlist {
@@ -643,6 +1054,16 @@
643
1054
  align-items: center;
644
1055
  background: transparent;
645
1056
  }
1057
+ .smooth-player .smooth-player__playlist-close.secondary {
1058
+ border: 0;
1059
+ background: rgba(255, 255, 255, 0.14);
1060
+ color: rgba(255, 255, 255, 0.78);
1061
+ box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
1062
+ }
1063
+ .smooth-player .smooth-player__playlist-close.secondary:hover {
1064
+ background: rgba(255, 255, 255, 0.19);
1065
+ filter: none;
1066
+ }
646
1067
  .smooth-player .smooth-player__playlist-switcher {
647
1068
  padding-bottom: 0.375rem;
648
1069
  margin-bottom: 0.25rem;
@@ -669,7 +1090,7 @@
669
1090
  color: #fff;
670
1091
  }
671
1092
  .smooth-player .smooth-player__canvas {
672
- margin-top: 16px;
673
- border-radius: 12px;
674
- min-height: 82px;
1093
+ margin-top: calc(var(--smooth-player-rem) * 16);
1094
+ border-radius: calc(var(--smooth-player-rem) * 12);
1095
+ min-height: calc(var(--smooth-player-rem) * 82);
675
1096
  }