@gentomiyano/optimized-web-audio-player 0.2.3 → 0.3.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,691 +1,1337 @@
1
- .player-compact,
2
- .player-wide,
3
- .player-detailed,
4
- .player-podcast,
5
- .player-mini,
6
- .player-queue-panel {
7
- container-name: player-surface;
8
- container-type: inline-size;
9
- }
10
-
11
- .player-compact {
12
- max-width: 480px;
13
- overflow: visible;
14
- }
15
-
16
- .player-compact__main {
17
- display: grid;
18
- grid-template-areas:
19
- "play artwork metadata volume"
20
- "play artwork signal volume";
21
- grid-template-columns: auto 48px minmax(0, 1fr) auto;
22
- align-items: center;
23
- min-width: 0;
24
- column-gap: 0.65rem;
25
- row-gap: 0.18rem;
26
- padding: 0.55rem 0.65rem;
27
- }
28
-
29
- .player-compact__main > .player-play-button {
30
- grid-area: play;
31
- min-width: var(--player-hit);
32
- min-height: var(--player-hit);
33
- }
34
-
35
- .player-compact__main[data-has-trailing-control="false"] {
36
- grid-template-areas:
37
- "play artwork metadata"
38
- "play artwork signal";
39
- grid-template-columns: auto 48px minmax(0, 1fr);
40
- }
41
-
42
- .player-compact__artwork {
43
- grid-area: artwork;
44
- width: 48px;
45
- height: 48px;
46
- }
47
-
48
- .player-compact__main > .player-metadata {
49
- grid-area: metadata;
50
- gap: 0.05rem;
51
- }
52
-
53
- .player-compact .player-collection {
54
- display: none;
55
- }
56
-
57
- .player-compact .player-title {
58
- font-size: 0.82rem;
59
- }
60
-
61
- .player-compact .player-creator {
62
- font-size: 0.63rem;
63
- }
64
-
65
- .player-compact__signal {
66
- display: grid;
67
- grid-area: signal;
68
- grid-template-columns: auto minmax(48px, 1fr) auto;
69
- align-items: center;
70
- min-width: 0;
71
- gap: 0.4rem;
72
- }
73
-
74
- .player-compact__main[data-has-status="false"] .player-compact__signal {
75
- grid-template-columns: minmax(48px, 1fr) auto;
76
- }
77
-
78
- .player-compact__scrubber {
79
- position: relative;
80
- display: grid;
81
- min-width: 48px;
82
- align-items: center;
83
- }
84
-
85
- .player-compact__scrubber > * {
86
- grid-area: 1 / 1;
87
- }
88
-
89
- .player-compact__scrubber > .player-seek {
90
- position: absolute;
91
- inset: -8px 0;
92
- min-height: 30px;
93
- }
94
-
95
- .player-compact__scrubber > .player-seek::before,
96
- .player-compact__scrubber > .player-seek > .player-seek__progress {
97
- opacity: 0;
98
- }
99
-
100
- .player-compact__scrubber > .player-seek input {
101
- height: 30px;
102
- }
103
-
104
- .player-compact__main > .player-volume-popover {
105
- grid-area: volume;
106
- }
107
-
108
- .player-compact .player-waveform {
109
- height: 14px;
110
- }
111
-
112
- .player-compact .player-status,
113
- .player-compact .player-time {
114
- font-size: 0.52rem;
115
- letter-spacing: 0.05em;
116
- }
117
-
118
- .player-compact .player-time {
119
- gap: 0.18rem;
120
- }
121
-
122
- .player-wide {
123
- max-width: 680px;
124
- }
125
-
126
- .player-wide__grid {
127
- min-width: 0;
128
- }
129
-
130
- .player-wide__header {
131
- display: grid;
132
- grid-template-columns: 96px minmax(0, 1fr);
133
- align-items: center;
134
- min-width: 0;
135
- gap: clamp(0.9rem, 3vw, 1.2rem);
136
- padding: 0.9rem 1.1rem;
137
- border-bottom: 1px solid var(--player-faint);
138
- }
139
-
140
- .player-wide__artwork {
141
- width: 96px;
142
- height: 96px;
143
- }
144
-
145
- .player-wide__identity {
146
- display: grid;
147
- min-width: 0;
148
- gap: 0.55rem;
149
- }
150
-
151
- .player-wide[data-appearance="light"] .player-wide__identity {
152
- padding: 0.65rem 0.8rem;
153
- border: 1px solid var(--player-lcd-rule);
154
- background: var(--player-lcd);
155
- }
156
-
157
- .player-wide__identity .player-title {
158
- font-size: clamp(1.05rem, 4cqi, 1.42rem);
159
- font-weight: 350;
160
- }
161
-
162
- .player-wide__content {
163
- display: grid;
164
- min-width: 0;
165
- gap: 0.35rem;
166
- padding: 0.65rem 1.1rem 0.8rem;
167
- }
168
-
169
- .player-wide .player-transport {
170
- padding-top: 0.4rem;
171
- border-top: 1px solid var(--player-faint);
172
- }
173
-
174
- .player-timeline,
175
- .player-podcast__timeline {
176
- display: grid;
177
- grid-template-rows: auto auto auto;
178
- min-width: 0;
179
- }
180
-
181
- .player-timeline > .player-waveform,
182
- .player-podcast__timeline > .player-waveform {
183
- grid-row: 1;
184
- }
185
-
186
- .player-timeline > .player-seek,
187
- .player-podcast__timeline > .player-seek {
188
- grid-row: 2;
189
- }
190
-
191
- .player-timeline > .player-wide__timeline-footer,
192
- .player-podcast__timeline > .player-time {
193
- grid-row: 3;
194
- }
195
-
196
- .player-wide .player-waveform {
197
- height: 50px;
198
- margin-block: 0;
199
- }
200
-
201
- .player-timeline .player-seek,
202
- .player-podcast__timeline .player-seek {
203
- min-height: 30px;
204
- }
205
-
206
- .player-wide__timeline-footer {
207
- display: flex;
208
- align-items: center;
209
- justify-content: space-between;
210
- min-width: 0;
211
- gap: 1.5rem;
212
- }
213
-
214
- .player-wide__timeline-footer .player-time {
215
- width: min(13rem, 42%);
216
- }
217
-
218
- .player-wide__timeline-footer .player-volume {
219
- justify-content: flex-end;
220
- }
221
-
222
- .player-detailed {
223
- max-width: 720px;
224
- }
225
-
226
- .player-detailed__display {
227
- display: grid;
228
- grid-template-columns: 170px minmax(0, 1fr) 126px;
229
- min-width: 0;
230
- border-bottom: 1px solid var(--player-rule);
231
- }
232
-
233
- .player-detailed__artwork {
234
- width: 170px;
235
- min-height: 170px;
236
- }
237
-
238
- .player-detailed__primary {
239
- display: grid;
240
- align-content: center;
241
- min-width: 0;
242
- gap: 0.25rem;
243
- padding: 0.65rem 1.2rem 0.25rem;
244
- border-right: 1px solid var(--player-faint);
245
- }
246
-
247
- .player-detailed[data-appearance="light"] .player-detailed__primary {
248
- background: var(--player-lcd);
249
- }
250
-
251
- .player-detailed__primary .player-title {
252
- font-size: clamp(1.02rem, 3.2cqi, 1.32rem);
253
- font-weight: 350;
254
- }
255
-
256
- .player-detailed__primary .player-waveform {
257
- height: 28px;
258
- }
259
-
260
- .player-detailed__primary .player-seek {
261
- min-height: 30px;
262
- }
263
-
264
- .player-detailed__numbers {
265
- display: grid;
266
- align-content: center;
267
- min-width: 0;
268
- gap: 0.55rem;
269
- padding: 0.95rem;
270
- }
271
-
272
- .player-detailed__metric {
273
- display: grid;
274
- min-width: 0;
275
- gap: 0.12rem;
276
- justify-items: end;
277
- }
278
-
279
- .player-detailed__metric-label {
280
- color: var(--player-muted);
281
- font-size: 0.5rem;
282
- letter-spacing: 0.13em;
283
- text-transform: uppercase;
284
- }
285
-
286
- .player-detailed__metric-value {
287
- color: var(--player-text);
288
- font-family: var(--player-font-digital);
289
- font-size: 0.68rem;
290
- font-variant-numeric: tabular-nums;
291
- letter-spacing: 0.09em;
292
- }
293
-
294
- .player-detailed__transport {
295
- padding: 0.4rem 1rem;
296
- border-bottom: 1px solid var(--player-rule);
297
- }
298
-
299
- .player-section-heading {
300
- display: flex;
301
- align-items: center;
302
- justify-content: space-between;
303
- min-height: 38px;
304
- border-bottom: 1px solid var(--player-faint);
305
- color: var(--player-muted);
306
- font-size: 0.67rem;
307
- letter-spacing: 0.13em;
308
- text-transform: uppercase;
309
- }
310
-
311
- .player-detailed__queue {
312
- padding: 0 1rem 0.65rem;
313
- }
314
-
315
- .player-detailed__queue ol,
316
- .player-queue-panel ol {
317
- padding: 0;
318
- margin: 0;
319
- list-style: none;
320
- }
321
-
322
- .player-detailed__queue li,
323
- .player-queue-panel li {
324
- border-bottom: 1px solid var(--player-faint);
325
- }
326
-
327
- .player-detailed__queue li:last-child,
328
- .player-queue-panel li:last-child {
329
- border-bottom: 0;
330
- }
331
-
332
- .player-detailed__queue li[data-current="true"],
333
- .player-queue-panel li[data-current="true"] {
334
- background: var(--player-active-wash);
335
- }
336
-
337
- .player-detailed__queue li[data-current="true"] .player-queue-number,
338
- .player-detailed__queue li[data-current="true"] .player-queue-title,
339
- .player-queue-panel li[data-current="true"] .player-queue-number {
340
- color: var(--player-brand);
341
- }
342
-
343
- .player-detailed__queue li[data-current="true"] .player-queue-title,
344
- .player-queue-panel li[data-current="true"] .player-queue-copy strong {
345
- font-weight: 650;
346
- }
347
-
348
- .player-detailed__queue li > button {
349
- display: grid;
350
- grid-template-columns: 2.25rem minmax(0, 1fr) auto;
351
- align-items: center;
352
- width: 100%;
353
- min-height: 38px;
354
- padding: 0 0.55rem;
355
- border: 0;
356
- background: transparent;
357
- color: inherit;
358
- text-align: left;
359
- cursor: pointer;
360
- }
361
-
362
- .player-detailed__queue li > button:hover,
363
- .player-queue-panel li > button:hover {
364
- background: var(--player-faint);
365
- }
366
-
367
- .player-detailed__queue time,
368
- .player-queue-panel time {
369
- color: var(--player-muted);
370
- font-family: var(--player-font-digital);
371
- font-size: 0.66rem;
372
- font-variant-numeric: tabular-nums;
373
- }
374
-
375
- .player-queue-title {
376
- overflow: hidden;
377
- font-size: 0.76rem;
378
- text-overflow: ellipsis;
379
- white-space: nowrap;
380
- }
381
-
382
- .player-empty {
383
- margin: 0;
384
- padding: 1.4rem 0.6rem;
385
- color: var(--player-muted);
386
- font-size: 0.8rem;
387
- }
388
-
389
- .player-podcast {
390
- max-width: 760px;
391
- }
392
-
393
- .player-podcast__header {
394
- display: grid;
395
- grid-template-columns: 112px minmax(0, 1fr) auto;
396
- align-items: center;
397
- min-width: 0;
398
- gap: clamp(1rem, 4vw, 1.6rem);
399
- padding: 1.15rem;
400
- border-bottom: 1px solid var(--player-faint);
401
- }
402
-
403
- .player-podcast__artwork {
404
- width: 112px;
405
- height: 112px;
406
- }
407
-
408
- .player-podcast__header .player-title {
409
- font-size: clamp(1.05rem, 3.6cqi, 1.4rem);
410
- font-weight: 350;
411
- }
412
-
413
- .player-podcast[data-appearance="light"]
414
- .player-podcast__header
415
- > .player-metadata {
416
- padding: 0.65rem 0.8rem;
417
- border: 1px solid var(--player-lcd-rule);
418
- background: var(--player-lcd);
419
- }
420
-
421
- .player-podcast__transport {
422
- display: flex;
423
- align-items: center;
424
- justify-content: center;
425
- gap: clamp(0.15rem, 2vw, 1rem);
426
- padding: 0.45rem 1rem;
427
- border-top: 1px solid var(--player-rule);
428
- }
429
-
430
- .player-podcast__timeline {
431
- padding: 0.75rem 1.15rem 1.1rem;
432
- }
433
-
434
- .player-podcast__timeline .player-waveform {
435
- height: 60px;
436
- }
437
-
438
- .player-mini {
439
- max-width: 100%;
440
- overflow: visible;
441
- }
442
-
443
- .player-mini__main {
444
- display: grid;
445
- grid-template-columns: 48px minmax(120px, 1fr) auto auto minmax(130px, 0.65fr);
446
- align-items: center;
447
- min-width: 0;
448
- gap: 0.55rem;
449
- padding: 0.4rem 0.65rem;
450
- }
451
-
452
- .player-mini__artwork {
453
- width: 48px;
454
- height: 48px;
455
- }
456
-
457
- .player-mini__controls {
458
- display: flex;
459
- align-items: center;
460
- gap: 0;
461
- }
462
-
463
- .player-mini__timeline {
464
- display: grid;
465
- min-width: 0;
466
- }
467
-
468
- .player-mini__timeline .player-seek {
469
- min-height: 24px;
470
- }
471
-
472
- .player-queue-panel {
473
- max-width: 460px;
474
- }
475
-
476
- .player-queue-panel > header {
477
- display: grid;
478
- grid-template-columns: minmax(0, 1fr) auto auto;
479
- align-items: center;
480
- min-height: 60px;
481
- padding: 0.5rem 0.65rem 0.5rem 1rem;
482
- border-bottom: 1px solid var(--player-rule);
483
- }
484
-
485
- .player-queue-panel h2 {
486
- margin: 0.12rem 0 0;
487
- overflow: hidden;
488
- font-size: 0.92rem;
489
- font-weight: 600;
490
- text-overflow: ellipsis;
491
- white-space: nowrap;
492
- }
493
-
494
- .player-queue-panel li > button {
495
- display: grid;
496
- grid-template-columns: 2.3rem minmax(0, 1fr) auto;
497
- align-items: center;
498
- width: 100%;
499
- min-height: 48px;
500
- padding: 0.3rem 0.8rem 0.3rem 0.65rem;
501
- border: 0;
502
- background: transparent;
503
- color: inherit;
504
- text-align: left;
505
- cursor: pointer;
506
- }
507
-
508
- .player-queue-copy {
509
- display: grid;
510
- min-width: 0;
511
- gap: 0.08rem;
512
- }
513
-
514
- .player-queue-copy strong,
515
- .player-queue-copy small {
516
- overflow: hidden;
517
- text-overflow: ellipsis;
518
- white-space: nowrap;
519
- }
520
-
521
- .player-queue-copy strong {
522
- font-size: 0.78rem;
523
- font-weight: 540;
524
- }
525
-
526
- .player-queue-copy small {
527
- color: var(--player-muted);
528
- font-size: 0.66rem;
529
- }
530
-
531
- .player-transport .player-icon-button:not(.player-play-button),
532
- .player-podcast__transport .player-icon-button:not(.player-play-button) {
533
- color: var(--player-muted);
534
- }
535
-
536
- .player-transport .player-icon-button[aria-pressed="true"],
537
- .player-transport .player-icon-button:hover:not(:disabled),
538
- .player-podcast__transport .player-icon-button:hover:not(:disabled) {
539
- color: var(--player-brand);
540
- }
541
-
542
- @container player-surface (max-width: 680px) {
543
- .player-detailed__display {
544
- grid-template-columns: 104px minmax(0, 1fr);
545
- }
546
-
547
- .player-detailed__artwork {
548
- width: 104px;
549
- height: 104px;
550
- min-height: 0;
551
- align-self: start;
552
- }
553
-
554
- .player-detailed__primary {
555
- padding: 0.75rem;
556
- border-right: 0;
557
- }
558
-
559
- .player-detailed__primary .player-waveform {
560
- height: 24px;
561
- }
562
-
563
- .player-detailed__numbers {
564
- grid-column: 1 / -1;
565
- grid-template-columns: repeat(4, minmax(0, 1fr));
566
- align-items: center;
567
- padding: 0.5rem 0.75rem;
568
- border-top: 1px solid var(--player-faint);
569
- }
570
-
571
- .player-detailed__metric {
572
- justify-items: start;
573
- }
574
-
575
- .player-detailed__transport {
576
- padding-inline: 0.5rem;
577
- }
578
-
579
- .player-detailed__transport .player-transport {
580
- width: 100%;
581
- justify-content: space-between;
582
- gap: 0;
583
- }
584
-
585
- .player-podcast__header {
586
- grid-template-columns: 86px minmax(0, 1fr);
587
- gap: 0.85rem;
588
- padding: 0.85rem;
589
- }
590
-
591
- .player-podcast__artwork {
592
- width: 86px;
593
- height: 86px;
594
- }
595
-
596
- .player-podcast__header > .player-status {
597
- grid-column: 2;
598
- }
599
-
600
- .player-podcast__transport {
601
- gap: 0;
602
- padding-inline: 0.3rem;
603
- }
604
-
605
- .player-mini__main {
606
- grid-template-columns: 46px minmax(0, 1fr) auto;
607
- }
608
-
609
- .player-mini__controls > .player-volume-popover {
610
- display: none;
611
- }
612
-
613
- .player-mini__artwork {
614
- width: 46px;
615
- height: 46px;
616
- }
617
-
618
- .player-mini__main > .player-status,
619
- .player-mini__timeline {
620
- display: none;
621
- }
622
- }
623
-
624
- @container player-surface (max-width: 440px) {
625
- .player-compact__main {
626
- grid-template-areas:
627
- "play artwork metadata"
628
- "play artwork signal";
629
- grid-template-columns: auto 48px minmax(0, 1fr);
630
- }
631
-
632
- .player-compact__main > .player-volume-popover {
633
- display: none;
634
- }
635
-
636
- .player-compact__signal {
637
- grid-template-columns: minmax(48px, 1fr) auto;
638
- }
639
-
640
- .player-compact .player-status {
641
- display: none;
642
- }
643
-
644
- .player-wide__header {
645
- grid-template-columns: 78px minmax(0, 1fr);
646
- gap: 0.85rem;
647
- padding: 0.85rem;
648
- }
649
-
650
- .player-wide__artwork {
651
- width: 78px;
652
- height: 78px;
653
- }
654
-
655
- .player-wide__identity {
656
- gap: 0.55rem;
657
- }
658
-
659
- .player-wide__content {
660
- padding: 0.7rem 0.85rem 1rem;
661
- }
662
-
663
- .player-wide__timeline-footer .player-volume {
664
- display: none;
665
- }
666
-
667
- .player-wide__timeline-footer .player-time {
668
- width: 100%;
669
- }
670
-
671
- .player-transport {
672
- justify-content: space-between;
673
- }
674
-
675
- .player-detailed__queue {
676
- padding-inline: 0.5rem;
677
- }
678
-
679
- .player-detailed__transport {
680
- padding-inline: 0.25rem;
681
- }
682
-
683
- .player-queue-panel > header {
684
- padding-left: 0.65rem;
685
- }
686
-
687
- .player-queue-panel li > button {
688
- grid-template-columns: 1.9rem minmax(0, 1fr) auto;
689
- padding-inline: 0.45rem;
690
- }
691
- }
1
+ .player-compact,
2
+ .player-wide,
3
+ .player-detailed,
4
+ .player-podcast,
5
+ .player-content,
6
+ .player-mini,
7
+ .player-queue-panel {
8
+ container-name: player-surface;
9
+ container-type: inline-size;
10
+ }
11
+
12
+ .player-content {
13
+ max-width: 760px;
14
+ }
15
+
16
+ .player-release {
17
+ max-width: 980px;
18
+ }
19
+
20
+ .player-program {
21
+ max-width: 980px;
22
+ }
23
+
24
+ .player-release__hero {
25
+ display: grid;
26
+ grid-template-columns: minmax(280px, 0.92fr) minmax(320px, 1.08fr);
27
+ align-items: start;
28
+ gap: clamp(1.5rem, 4cqi, 3.2rem);
29
+ padding: clamp(1.2rem, 3.5cqi, 2.4rem);
30
+ border-bottom: 1px solid var(--player-rule);
31
+ }
32
+
33
+ .player-release .player-release__artwork {
34
+ width: 100%;
35
+ height: auto;
36
+ aspect-ratio: 1;
37
+ box-shadow: 0 20px 48px rgb(0 0 0 / 0.34);
38
+ }
39
+
40
+ .player-release__detail {
41
+ display: grid;
42
+ align-self: stretch;
43
+ min-width: 0;
44
+ gap: 1rem;
45
+ }
46
+
47
+ .player-release__identity {
48
+ display: grid;
49
+ min-width: 0;
50
+ gap: 0.28rem;
51
+ }
52
+
53
+ .player-release__identity h2,
54
+ .player-release__identity p {
55
+ min-width: 0;
56
+ margin: 0;
57
+ }
58
+
59
+ .player-release__identity h2 {
60
+ font-family: var(--player-font-title);
61
+ font-size: clamp(2rem, 6.4cqi, 4rem);
62
+ font-stretch: semi-condensed;
63
+ font-weight: 350;
64
+ font-variation-settings: "wght" 340, "wdth" 88;
65
+ letter-spacing: -0.025em;
66
+ line-height: 0.96;
67
+ }
68
+
69
+ .player-release__artist {
70
+ color: var(--player-text);
71
+ font-size: clamp(1rem, 2.2cqi, 1.35rem);
72
+ font-weight: 450;
73
+ }
74
+
75
+ .player-release__facts {
76
+ display: flex;
77
+ flex-wrap: wrap;
78
+ gap: 0.7rem 1.5rem;
79
+ margin: 0.65rem 0 0;
80
+ }
81
+
82
+ .player-release__facts > div {
83
+ display: grid;
84
+ gap: 0.12rem;
85
+ }
86
+
87
+ .player-release__facts dt,
88
+ .player-release__credits > span,
89
+ .player-release__now-playing > span {
90
+ color: var(--player-muted);
91
+ font-family: var(--player-font-digital);
92
+ font-size: 0.58rem;
93
+ letter-spacing: 0.11em;
94
+ text-transform: uppercase;
95
+ }
96
+
97
+ .player-release__facts dd {
98
+ margin: 0;
99
+ font-size: 0.78rem;
100
+ }
101
+
102
+ .player-release__notes {
103
+ max-width: 44rem;
104
+ margin: 0;
105
+ color: var(--player-muted);
106
+ font-size: 0.78rem;
107
+ line-height: 1.55;
108
+ }
109
+
110
+ .player-release__credits {
111
+ display: grid;
112
+ gap: 0.35rem;
113
+ }
114
+
115
+ .player-release__credits ul {
116
+ display: grid;
117
+ gap: 0.18rem;
118
+ padding: 0;
119
+ margin: 0;
120
+ color: var(--player-muted);
121
+ font-size: 0.68rem;
122
+ list-style: none;
123
+ }
124
+
125
+ .player-release__playback {
126
+ display: grid;
127
+ min-width: 0;
128
+ gap: 0.65rem;
129
+ padding: 0.9rem 0 0 !important;
130
+ border-top: 1px solid var(--player-rule);
131
+ }
132
+
133
+ .player-release__now-playing {
134
+ display: grid;
135
+ min-width: 0;
136
+ gap: 0.15rem;
137
+ }
138
+
139
+ .player-release__now-playing strong {
140
+ overflow: hidden;
141
+ font-family: var(--player-font-title);
142
+ font-size: clamp(1rem, 2.6cqi, 1.45rem);
143
+ font-weight: 400;
144
+ text-overflow: ellipsis;
145
+ white-space: nowrap;
146
+ }
147
+
148
+ .player-release__signal {
149
+ display: grid;
150
+ min-width: 0;
151
+ grid-template-rows: auto auto auto;
152
+ }
153
+
154
+ .player-release__signal .player-waveform {
155
+ height: clamp(74px, 12cqi, 112px);
156
+ }
157
+
158
+ .player-release__signal .player-seek {
159
+ min-height: 34px;
160
+ }
161
+
162
+ .player-release__signal .player-time {
163
+ justify-self: end;
164
+ }
165
+
166
+ .player-release__playback > .player-content__transport {
167
+ justify-content: flex-start;
168
+ min-height: var(--player-hit);
169
+ }
170
+
171
+ .player-release__tracklist {
172
+ padding: 0 clamp(1rem, 3.5cqi, 2.4rem) 1.2rem !important;
173
+ }
174
+
175
+ .player-release__tracklist .player-section-heading {
176
+ min-height: 52px;
177
+ }
178
+
179
+ .player-content__header {
180
+ display: grid;
181
+ grid-template-columns: 112px minmax(0, 1fr) auto;
182
+ align-items: center;
183
+ min-width: 0;
184
+ gap: clamp(0.8rem, 3vw, 1.4rem);
185
+ padding: 1rem;
186
+ border-bottom: 1px solid var(--player-rule);
187
+ }
188
+
189
+ .player-content__artwork {
190
+ display: block;
191
+ width: 112px;
192
+ height: 112px;
193
+ overflow: hidden;
194
+ background: var(--player-panel-soft);
195
+ }
196
+
197
+ .player-content__artwork img {
198
+ display: block;
199
+ width: 100%;
200
+ height: 100%;
201
+ object-fit: cover;
202
+ }
203
+
204
+ .player-content__heading {
205
+ display: grid;
206
+ min-width: 0;
207
+ gap: 0.2rem;
208
+ }
209
+
210
+ .player-content__heading h2,
211
+ .player-content__heading p {
212
+ min-width: 0;
213
+ margin: 0;
214
+ overflow: hidden;
215
+ text-overflow: ellipsis;
216
+ white-space: nowrap;
217
+ }
218
+
219
+ .player-content__heading h2 {
220
+ font-family: var(--player-font-title);
221
+ font-size: clamp(1.1rem, 4cqi, 1.6rem);
222
+ font-weight: 350;
223
+ }
224
+
225
+ .player-content__heading p {
226
+ color: var(--player-muted);
227
+ font-size: 0.78rem;
228
+ }
229
+
230
+ .player-content__transport,
231
+ .player-content__skip-controls {
232
+ display: flex;
233
+ align-items: center;
234
+ justify-content: center;
235
+ }
236
+
237
+ .player-content__timeline {
238
+ display: grid;
239
+ gap: 0.25rem;
240
+ padding: 0.75rem 1rem;
241
+ border-bottom: 1px solid var(--player-faint);
242
+ }
243
+
244
+ .player-content__skip-controls {
245
+ padding: 0 1rem 0.5rem;
246
+ border-bottom: 1px solid var(--player-faint);
247
+ }
248
+
249
+ .player-content section {
250
+ padding: 0 1rem 0.65rem;
251
+ }
252
+
253
+ .player-content__list,
254
+ .player-content__chapters {
255
+ padding: 0;
256
+ margin: 0;
257
+ list-style: none;
258
+ }
259
+
260
+ .player-content__list > li {
261
+ border-bottom: 1px solid var(--player-faint);
262
+ }
263
+
264
+ .player-content__list > li:last-child {
265
+ border-bottom: 0;
266
+ }
267
+
268
+ .player-content__list > li[data-current="true"] {
269
+ background: var(--player-active-wash);
270
+ }
271
+
272
+ .player-content__list > li > button {
273
+ display: grid;
274
+ grid-template-columns: 2.25rem minmax(0, 1fr) auto;
275
+ align-items: center;
276
+ width: 100%;
277
+ min-height: var(--player-hit);
278
+ padding: 0.35rem 0.45rem;
279
+ border: 0;
280
+ background: transparent;
281
+ color: var(--player-text);
282
+ text-align: left;
283
+ cursor: pointer;
284
+ }
285
+
286
+ .player-content__list > li > button:disabled {
287
+ cursor: not-allowed;
288
+ opacity: 0.58;
289
+ }
290
+
291
+ .player-content__list > li > button:hover:not(:disabled) {
292
+ background: var(--player-faint);
293
+ }
294
+
295
+ .player-content__entry-copy {
296
+ display: grid;
297
+ min-width: 0;
298
+ gap: 0.08rem;
299
+ }
300
+
301
+ .player-content__entry-copy strong,
302
+ .player-content__entry-copy small {
303
+ overflow: hidden;
304
+ text-overflow: ellipsis;
305
+ white-space: nowrap;
306
+ }
307
+
308
+ .player-content__entry-copy strong {
309
+ font-size: 0.82rem;
310
+ font-weight: 500;
311
+ }
312
+
313
+ .player-content__entry-copy small,
314
+ .player-content__list time,
315
+ .player-content__chapters time {
316
+ color: var(--player-muted);
317
+ font-family: var(--player-font-digital);
318
+ font-size: 0.62rem;
319
+ }
320
+
321
+ .player-content__chapters {
322
+ padding: 0.1rem 0.45rem 0.55rem 2.7rem;
323
+ }
324
+
325
+ .player-content__chapters button {
326
+ display: grid;
327
+ grid-template-columns: 4rem minmax(0, 1fr);
328
+ width: 100%;
329
+ min-height: var(--player-hit);
330
+ align-items: center;
331
+ padding: 0 0.45rem;
332
+ border: 0;
333
+ background: transparent;
334
+ color: var(--player-text);
335
+ text-align: left;
336
+ cursor: pointer;
337
+ }
338
+
339
+ .player-content__chapters button[aria-current="true"] {
340
+ color: var(--player-brand);
341
+ }
342
+
343
+ .player-program__hero {
344
+ display: grid;
345
+ grid-template-columns: minmax(240px, 300px) minmax(0, 1fr);
346
+ align-items: center;
347
+ gap: clamp(1.5rem, 5cqi, 3.8rem);
348
+ padding: clamp(1.2rem, 4cqi, 2.8rem);
349
+ border-bottom: 1px solid var(--player-rule);
350
+ }
351
+
352
+ .player-program__artwork {
353
+ width: 100%;
354
+ height: auto;
355
+ aspect-ratio: 1;
356
+ border-radius: 0.35rem;
357
+ box-shadow: 0 20px 48px rgb(0 0 0 / 0.3);
358
+ }
359
+
360
+ .player-program__detail {
361
+ display: grid;
362
+ min-width: 0;
363
+ gap: 0.85rem;
364
+ }
365
+
366
+ .player-program__detail h2 {
367
+ max-width: 13ch;
368
+ margin: 0;
369
+ font-family: var(--player-font-title);
370
+ font-size: clamp(2.4rem, 7.4cqi, 5rem);
371
+ font-stretch: semi-condensed;
372
+ font-weight: 340;
373
+ font-variation-settings: "wght" 340, "wdth" 88;
374
+ letter-spacing: -0.035em;
375
+ line-height: 0.92;
376
+ }
377
+
378
+ .player-program__description,
379
+ .player-program__episode-heading > p {
380
+ max-width: 48rem;
381
+ margin: 0;
382
+ color: var(--player-muted);
383
+ font-size: 0.82rem;
384
+ line-height: 1.62;
385
+ }
386
+
387
+ .player-program__credits {
388
+ display: grid;
389
+ grid-template-columns: repeat(2, minmax(0, 1fr));
390
+ gap: 0.65rem 1.4rem;
391
+ margin: 0;
392
+ }
393
+
394
+ .player-program__credits > div,
395
+ .player-program__episode-facts > div {
396
+ display: grid;
397
+ min-width: 0;
398
+ gap: 0.16rem;
399
+ }
400
+
401
+ .player-program__credits dt,
402
+ .player-program__episode-facts dt {
403
+ color: var(--player-muted);
404
+ font-family: var(--player-font-digital);
405
+ font-size: 0.58rem;
406
+ letter-spacing: 0.11em;
407
+ text-transform: uppercase;
408
+ }
409
+
410
+ .player-program__credits dd,
411
+ .player-program__episode-facts dd {
412
+ margin: 0;
413
+ font-size: 0.72rem;
414
+ line-height: 1.45;
415
+ }
416
+
417
+ .player-program__episode {
418
+ display: grid;
419
+ grid-template-columns: minmax(0, 0.75fr) minmax(320px, 1.25fr);
420
+ gap: clamp(1.2rem, 4cqi, 2.8rem);
421
+ padding: clamp(1.3rem, 4cqi, 2.5rem) !important;
422
+ border-bottom: 1px solid var(--player-rule);
423
+ background: var(--player-panel-soft);
424
+ }
425
+
426
+ .player-program__episode-heading {
427
+ display: grid;
428
+ align-content: start;
429
+ min-width: 0;
430
+ gap: 0.65rem;
431
+ }
432
+
433
+ .player-program__episode-heading h3 {
434
+ margin: 0;
435
+ font-family: var(--player-font-title);
436
+ font-size: clamp(1.65rem, 4.2cqi, 2.8rem);
437
+ font-weight: 380;
438
+ letter-spacing: -0.02em;
439
+ line-height: 1.02;
440
+ }
441
+
442
+ .player-program__episode-facts {
443
+ display: flex;
444
+ flex-wrap: wrap;
445
+ gap: 0.55rem 1.5rem;
446
+ margin: 0;
447
+ }
448
+
449
+ .player-program__playback {
450
+ display: grid;
451
+ min-width: 0;
452
+ align-content: start;
453
+ gap: 0.7rem;
454
+ }
455
+
456
+ .player-program__signal {
457
+ display: grid;
458
+ min-width: 0;
459
+ grid-template-rows: auto auto auto;
460
+ }
461
+
462
+ .player-program__signal .player-waveform {
463
+ height: clamp(100px, 15cqi, 138px);
464
+ }
465
+
466
+ .player-program__signal .player-seek {
467
+ min-height: 36px;
468
+ }
469
+
470
+ .player-program__signal .player-time {
471
+ justify-self: end;
472
+ }
473
+
474
+ .player-program__transport-row {
475
+ display: flex;
476
+ align-items: center;
477
+ justify-content: space-between;
478
+ gap: 1rem;
479
+ min-height: var(--player-hit);
480
+ }
481
+
482
+ .player-program__transport-row > .player-content__transport,
483
+ .player-program__skip-controls {
484
+ display: flex;
485
+ align-items: center;
486
+ }
487
+
488
+ .player-program__chapters {
489
+ grid-column: 1 / -1;
490
+ padding-top: 0.35rem;
491
+ border-top: 1px solid var(--player-rule);
492
+ }
493
+
494
+ .player-program__chapters ol {
495
+ display: grid;
496
+ grid-template-columns: repeat(2, minmax(0, 1fr));
497
+ gap: 0.35rem;
498
+ padding: 0;
499
+ margin: 0;
500
+ list-style: none;
501
+ }
502
+
503
+ .player-program__chapters li {
504
+ min-width: 0;
505
+ }
506
+
507
+ .player-program__chapters li > button {
508
+ display: grid;
509
+ grid-template-columns: 3.5rem minmax(0, 1fr);
510
+ align-items: center;
511
+ width: 100%;
512
+ min-height: var(--player-hit);
513
+ padding: 0.4rem 0.65rem;
514
+ border: 1px solid var(--player-faint);
515
+ background: transparent;
516
+ color: var(--player-text);
517
+ text-align: left;
518
+ cursor: pointer;
519
+ }
520
+
521
+ .player-program__chapters li > button:hover,
522
+ .player-program__chapters li > button[aria-current="true"] {
523
+ border-color: var(--player-brand);
524
+ background: var(--player-active-wash);
525
+ }
526
+
527
+ .player-program__chapters time {
528
+ color: var(--player-brand);
529
+ font-family: var(--player-font-digital);
530
+ font-size: 0.64rem;
531
+ }
532
+
533
+ .player-program__chapters li span {
534
+ overflow: hidden;
535
+ font-size: 0.76rem;
536
+ text-overflow: ellipsis;
537
+ white-space: nowrap;
538
+ }
539
+
540
+ .player-program__chapters-toggle {
541
+ min-height: var(--player-hit);
542
+ padding: 0 0.2rem;
543
+ border: 0;
544
+ background: transparent;
545
+ color: var(--player-brand);
546
+ font-family: var(--player-font-digital);
547
+ font-size: 0.62rem;
548
+ letter-spacing: 0.04em;
549
+ cursor: pointer;
550
+ }
551
+
552
+ .player-program__episode-list {
553
+ padding: 0 clamp(1rem, 4cqi, 2.5rem) 1.2rem !important;
554
+ }
555
+
556
+ .player-program__episode-list .player-section-heading {
557
+ min-height: 56px;
558
+ }
559
+
560
+ @container player-surface (max-width: 560px) {
561
+ .player-content__header {
562
+ grid-template-columns: 76px minmax(0, 1fr);
563
+ padding: 0.75rem;
564
+ }
565
+
566
+ .player-content__artwork {
567
+ width: 76px;
568
+ height: 76px;
569
+ }
570
+
571
+ .player-content__header > .player-content__transport {
572
+ grid-column: 1 / -1;
573
+ border-top: 1px solid var(--player-faint);
574
+ }
575
+
576
+ .player-content section {
577
+ padding-inline: 0.5rem;
578
+ }
579
+
580
+ .player-content__list > li > button {
581
+ grid-template-columns: 2rem minmax(0, 1fr) auto;
582
+ }
583
+
584
+ .player-content__chapters {
585
+ padding-left: 2rem;
586
+ }
587
+ }
588
+
589
+ @container player-surface (max-width: 760px) {
590
+ .player-release__hero {
591
+ grid-template-columns: minmax(0, 1fr);
592
+ gap: 1.4rem;
593
+ padding: 1rem;
594
+ }
595
+
596
+ .player-release__artwork {
597
+ width: min(100%, 560px);
598
+ justify-self: center;
599
+ }
600
+
601
+ .player-release__identity h2 {
602
+ font-size: clamp(2.25rem, 12cqi, 4.5rem);
603
+ }
604
+
605
+ .player-release__artist {
606
+ font-size: 1.05rem;
607
+ }
608
+
609
+ .player-release__signal .player-waveform {
610
+ height: clamp(86px, 24cqi, 132px);
611
+ }
612
+
613
+ .player-release__tracklist {
614
+ padding-inline: 0.65rem !important;
615
+ }
616
+
617
+ .player-program__hero {
618
+ grid-template-columns: minmax(0, 1fr);
619
+ gap: 1.4rem;
620
+ padding: 1rem;
621
+ }
622
+
623
+ .player-program__artwork {
624
+ width: min(78%, 420px);
625
+ height: auto;
626
+ justify-self: center;
627
+ }
628
+
629
+ .player-program__detail h2 {
630
+ max-width: none;
631
+ font-size: clamp(2.4rem, 13cqi, 4.4rem);
632
+ }
633
+
634
+ .player-program__episode {
635
+ grid-template-columns: minmax(0, 1fr);
636
+ gap: 1.25rem;
637
+ padding: 1rem !important;
638
+ }
639
+
640
+ .player-program__signal .player-waveform {
641
+ height: clamp(106px, 27cqi, 142px);
642
+ }
643
+
644
+ .player-program__chapters {
645
+ grid-column: 1;
646
+ }
647
+
648
+ .player-program__chapters ol {
649
+ grid-template-columns: minmax(0, 1fr);
650
+ }
651
+
652
+ .player-program__episode-list {
653
+ padding-inline: 0.65rem !important;
654
+ }
655
+ }
656
+
657
+ .player-compact {
658
+ max-width: 480px;
659
+ overflow: visible;
660
+ }
661
+
662
+ .player-compact__main {
663
+ display: grid;
664
+ grid-template-areas:
665
+ "play artwork metadata volume"
666
+ "play artwork signal volume";
667
+ grid-template-columns: auto 48px minmax(0, 1fr) auto;
668
+ align-items: center;
669
+ min-width: 0;
670
+ column-gap: 0.65rem;
671
+ row-gap: 0.18rem;
672
+ padding: 0.55rem 0.65rem;
673
+ }
674
+
675
+ .player-compact__main > .player-play-button {
676
+ grid-area: play;
677
+ min-width: var(--player-hit);
678
+ min-height: var(--player-hit);
679
+ }
680
+
681
+ .player-compact__main[data-has-trailing-control="false"] {
682
+ grid-template-areas:
683
+ "play artwork metadata"
684
+ "play artwork signal";
685
+ grid-template-columns: auto 48px minmax(0, 1fr);
686
+ }
687
+
688
+ .player-compact__artwork {
689
+ grid-area: artwork;
690
+ width: 48px;
691
+ height: 48px;
692
+ }
693
+
694
+ .player-compact__main > .player-metadata {
695
+ grid-area: metadata;
696
+ gap: 0.05rem;
697
+ }
698
+
699
+ .player-compact .player-collection {
700
+ display: none;
701
+ }
702
+
703
+ .player-compact .player-title {
704
+ font-size: 0.82rem;
705
+ }
706
+
707
+ .player-compact .player-creator {
708
+ font-size: 0.63rem;
709
+ }
710
+
711
+ .player-compact__signal {
712
+ display: grid;
713
+ grid-area: signal;
714
+ grid-template-columns: auto minmax(48px, 1fr) auto;
715
+ align-items: center;
716
+ min-width: 0;
717
+ gap: 0.4rem;
718
+ }
719
+
720
+ .player-compact__main[data-has-status="false"] .player-compact__signal {
721
+ grid-template-columns: minmax(48px, 1fr) auto;
722
+ }
723
+
724
+ .player-compact__scrubber {
725
+ position: relative;
726
+ display: grid;
727
+ min-width: 48px;
728
+ align-items: center;
729
+ }
730
+
731
+ .player-compact__scrubber > * {
732
+ grid-area: 1 / 1;
733
+ }
734
+
735
+ .player-compact__scrubber > .player-seek {
736
+ position: absolute;
737
+ inset: -8px 0;
738
+ min-height: 30px;
739
+ }
740
+
741
+ .player-compact__scrubber > .player-seek::before,
742
+ .player-compact__scrubber > .player-seek > .player-seek__progress {
743
+ opacity: 0;
744
+ }
745
+
746
+ .player-compact__scrubber > .player-seek input {
747
+ height: 30px;
748
+ }
749
+
750
+ .player-compact__main > .player-volume-popover {
751
+ grid-area: volume;
752
+ }
753
+
754
+ .player-compact .player-waveform {
755
+ height: 14px;
756
+ }
757
+
758
+ .player-compact .player-status,
759
+ .player-compact .player-time {
760
+ font-size: 0.52rem;
761
+ letter-spacing: 0.05em;
762
+ }
763
+
764
+ .player-compact .player-time {
765
+ gap: 0.18rem;
766
+ }
767
+
768
+ .player-wide {
769
+ max-width: 680px;
770
+ }
771
+
772
+ .player-wide__grid {
773
+ min-width: 0;
774
+ }
775
+
776
+ .player-wide__header {
777
+ display: grid;
778
+ grid-template-columns: 96px minmax(0, 1fr);
779
+ align-items: center;
780
+ min-width: 0;
781
+ gap: clamp(0.9rem, 3vw, 1.2rem);
782
+ padding: 0.9rem 1.1rem;
783
+ border-bottom: 1px solid var(--player-faint);
784
+ }
785
+
786
+ .player-wide__artwork {
787
+ width: 96px;
788
+ height: 96px;
789
+ }
790
+
791
+ .player-wide__identity {
792
+ display: grid;
793
+ min-width: 0;
794
+ gap: 0.55rem;
795
+ }
796
+
797
+ .player-wide[data-appearance="light"] .player-wide__identity {
798
+ padding: 0.65rem 0.8rem;
799
+ border: 1px solid var(--player-lcd-rule);
800
+ background: var(--player-lcd);
801
+ }
802
+
803
+ .player-wide__identity .player-title {
804
+ font-size: clamp(1.05rem, 4cqi, 1.42rem);
805
+ font-weight: 350;
806
+ }
807
+
808
+ .player-wide__content {
809
+ display: grid;
810
+ min-width: 0;
811
+ gap: 0.35rem;
812
+ padding: 0.65rem 1.1rem 0.8rem;
813
+ }
814
+
815
+ .player-wide .player-transport {
816
+ padding-top: 0.4rem;
817
+ border-top: 1px solid var(--player-faint);
818
+ }
819
+
820
+ .player-timeline,
821
+ .player-podcast__timeline {
822
+ display: grid;
823
+ grid-template-rows: auto auto auto;
824
+ min-width: 0;
825
+ }
826
+
827
+ .player-timeline > .player-waveform,
828
+ .player-podcast__timeline > .player-waveform {
829
+ grid-row: 1;
830
+ }
831
+
832
+ .player-timeline > .player-seek,
833
+ .player-podcast__timeline > .player-seek {
834
+ grid-row: 2;
835
+ }
836
+
837
+ .player-timeline > .player-wide__timeline-footer,
838
+ .player-podcast__timeline > .player-time {
839
+ grid-row: 3;
840
+ }
841
+
842
+ .player-wide .player-waveform {
843
+ height: 50px;
844
+ margin-block: 0;
845
+ }
846
+
847
+ .player-timeline .player-seek,
848
+ .player-podcast__timeline .player-seek {
849
+ min-height: 30px;
850
+ }
851
+
852
+ .player-wide__timeline-footer {
853
+ display: flex;
854
+ align-items: center;
855
+ justify-content: space-between;
856
+ min-width: 0;
857
+ gap: 1.5rem;
858
+ }
859
+
860
+ .player-wide__timeline-footer .player-time {
861
+ width: min(13rem, 42%);
862
+ }
863
+
864
+ .player-wide__timeline-footer .player-volume {
865
+ justify-content: flex-end;
866
+ }
867
+
868
+ .player-detailed {
869
+ max-width: 720px;
870
+ }
871
+
872
+ .player-detailed__display {
873
+ display: grid;
874
+ grid-template-columns: 170px minmax(0, 1fr) 126px;
875
+ min-width: 0;
876
+ border-bottom: 1px solid var(--player-rule);
877
+ }
878
+
879
+ .player-detailed__artwork {
880
+ width: 170px;
881
+ min-height: 170px;
882
+ }
883
+
884
+ .player-detailed__primary {
885
+ display: grid;
886
+ align-content: center;
887
+ min-width: 0;
888
+ gap: 0.25rem;
889
+ padding: 0.65rem 1.2rem 0.25rem;
890
+ border-right: 1px solid var(--player-faint);
891
+ }
892
+
893
+ .player-detailed[data-appearance="light"] .player-detailed__primary {
894
+ background: var(--player-lcd);
895
+ }
896
+
897
+ .player-detailed__primary .player-title {
898
+ font-size: clamp(1.02rem, 3.2cqi, 1.32rem);
899
+ font-weight: 350;
900
+ }
901
+
902
+ .player-detailed__primary .player-waveform {
903
+ height: 28px;
904
+ }
905
+
906
+ .player-detailed__primary .player-seek {
907
+ min-height: 30px;
908
+ }
909
+
910
+ .player-detailed__numbers {
911
+ display: grid;
912
+ align-content: center;
913
+ min-width: 0;
914
+ gap: 0.55rem;
915
+ padding: 0.95rem;
916
+ }
917
+
918
+ .player-detailed__metric {
919
+ display: grid;
920
+ min-width: 0;
921
+ gap: 0.12rem;
922
+ justify-items: end;
923
+ }
924
+
925
+ .player-detailed__metric-label {
926
+ color: var(--player-muted);
927
+ font-size: 0.5rem;
928
+ letter-spacing: 0.13em;
929
+ text-transform: uppercase;
930
+ }
931
+
932
+ .player-detailed__metric-value {
933
+ color: var(--player-text);
934
+ font-family: var(--player-font-digital);
935
+ font-size: 0.68rem;
936
+ font-variant-numeric: tabular-nums;
937
+ letter-spacing: 0.09em;
938
+ }
939
+
940
+ .player-detailed__transport {
941
+ padding: 0.4rem 1rem;
942
+ border-bottom: 1px solid var(--player-rule);
943
+ }
944
+
945
+ .player-section-heading {
946
+ display: flex;
947
+ align-items: center;
948
+ justify-content: space-between;
949
+ min-height: 38px;
950
+ border-bottom: 1px solid var(--player-faint);
951
+ color: var(--player-muted);
952
+ font-size: 0.67rem;
953
+ letter-spacing: 0.13em;
954
+ text-transform: uppercase;
955
+ }
956
+
957
+ .player-detailed__queue {
958
+ padding: 0 1rem 0.65rem;
959
+ }
960
+
961
+ .player-detailed__queue ol,
962
+ .player-queue-panel ol {
963
+ padding: 0;
964
+ margin: 0;
965
+ list-style: none;
966
+ }
967
+
968
+ .player-detailed__queue li,
969
+ .player-queue-panel li {
970
+ border-bottom: 1px solid var(--player-faint);
971
+ }
972
+
973
+ .player-detailed__queue li:last-child,
974
+ .player-queue-panel li:last-child {
975
+ border-bottom: 0;
976
+ }
977
+
978
+ .player-detailed__queue li[data-current="true"],
979
+ .player-queue-panel li[data-current="true"] {
980
+ background: var(--player-active-wash);
981
+ }
982
+
983
+ .player-detailed__queue li[data-current="true"] .player-queue-number,
984
+ .player-detailed__queue li[data-current="true"] .player-queue-title,
985
+ .player-queue-panel li[data-current="true"] .player-queue-number {
986
+ color: var(--player-brand);
987
+ }
988
+
989
+ .player-detailed__queue li[data-current="true"] .player-queue-title,
990
+ .player-queue-panel li[data-current="true"] .player-queue-copy strong {
991
+ font-weight: 650;
992
+ }
993
+
994
+ .player-detailed__queue li > button {
995
+ display: grid;
996
+ grid-template-columns: 2.25rem minmax(0, 1fr) auto;
997
+ align-items: center;
998
+ width: 100%;
999
+ min-height: 38px;
1000
+ padding: 0 0.55rem;
1001
+ border: 0;
1002
+ background: transparent;
1003
+ color: inherit;
1004
+ text-align: left;
1005
+ cursor: pointer;
1006
+ }
1007
+
1008
+ .player-detailed__queue li > button:hover,
1009
+ .player-queue-panel li > button:hover {
1010
+ background: var(--player-faint);
1011
+ }
1012
+
1013
+ .player-detailed__queue time,
1014
+ .player-queue-panel time {
1015
+ color: var(--player-muted);
1016
+ font-family: var(--player-font-digital);
1017
+ font-size: 0.66rem;
1018
+ font-variant-numeric: tabular-nums;
1019
+ }
1020
+
1021
+ .player-queue-title {
1022
+ overflow: hidden;
1023
+ font-size: 0.76rem;
1024
+ text-overflow: ellipsis;
1025
+ white-space: nowrap;
1026
+ }
1027
+
1028
+ .player-empty {
1029
+ margin: 0;
1030
+ padding: 1.4rem 0.6rem;
1031
+ color: var(--player-muted);
1032
+ font-size: 0.8rem;
1033
+ }
1034
+
1035
+ .player-podcast {
1036
+ max-width: 760px;
1037
+ }
1038
+
1039
+ .player-podcast__header {
1040
+ display: grid;
1041
+ grid-template-columns: 112px minmax(0, 1fr) auto;
1042
+ align-items: center;
1043
+ min-width: 0;
1044
+ gap: clamp(1rem, 4vw, 1.6rem);
1045
+ padding: 1.15rem;
1046
+ border-bottom: 1px solid var(--player-faint);
1047
+ }
1048
+
1049
+ .player-podcast__artwork {
1050
+ width: 112px;
1051
+ height: 112px;
1052
+ }
1053
+
1054
+ .player-podcast__header .player-title {
1055
+ font-size: clamp(1.05rem, 3.6cqi, 1.4rem);
1056
+ font-weight: 350;
1057
+ }
1058
+
1059
+ .player-podcast[data-appearance="light"]
1060
+ .player-podcast__header
1061
+ > .player-metadata {
1062
+ padding: 0.65rem 0.8rem;
1063
+ border: 1px solid var(--player-lcd-rule);
1064
+ background: var(--player-lcd);
1065
+ }
1066
+
1067
+ .player-podcast__transport {
1068
+ display: flex;
1069
+ align-items: center;
1070
+ justify-content: center;
1071
+ gap: clamp(0.15rem, 2vw, 1rem);
1072
+ padding: 0.45rem 1rem;
1073
+ border-top: 1px solid var(--player-rule);
1074
+ }
1075
+
1076
+ .player-podcast__timeline {
1077
+ padding: 0.75rem 1.15rem 1.1rem;
1078
+ }
1079
+
1080
+ .player-podcast__timeline .player-waveform {
1081
+ height: 60px;
1082
+ }
1083
+
1084
+ .player-mini {
1085
+ max-width: 100%;
1086
+ overflow: visible;
1087
+ }
1088
+
1089
+ .player-mini__main {
1090
+ display: grid;
1091
+ grid-template-columns: 48px minmax(120px, 1fr) auto auto minmax(130px, 0.65fr);
1092
+ align-items: center;
1093
+ min-width: 0;
1094
+ gap: 0.55rem;
1095
+ padding: 0.4rem 0.65rem;
1096
+ }
1097
+
1098
+ .player-mini__artwork {
1099
+ width: 48px;
1100
+ height: 48px;
1101
+ }
1102
+
1103
+ .player-mini__controls {
1104
+ display: flex;
1105
+ align-items: center;
1106
+ gap: 0;
1107
+ }
1108
+
1109
+ .player-mini__timeline {
1110
+ display: grid;
1111
+ min-width: 0;
1112
+ }
1113
+
1114
+ .player-mini__timeline .player-seek {
1115
+ min-height: 24px;
1116
+ }
1117
+
1118
+ .player-queue-panel {
1119
+ max-width: 460px;
1120
+ }
1121
+
1122
+ .player-queue-panel > header {
1123
+ display: grid;
1124
+ grid-template-columns: minmax(0, 1fr) auto auto;
1125
+ align-items: center;
1126
+ min-height: 60px;
1127
+ padding: 0.5rem 0.65rem 0.5rem 1rem;
1128
+ border-bottom: 1px solid var(--player-rule);
1129
+ }
1130
+
1131
+ .player-queue-panel h2 {
1132
+ margin: 0.12rem 0 0;
1133
+ overflow: hidden;
1134
+ font-size: 0.92rem;
1135
+ font-weight: 600;
1136
+ text-overflow: ellipsis;
1137
+ white-space: nowrap;
1138
+ }
1139
+
1140
+ .player-queue-panel li > button {
1141
+ display: grid;
1142
+ grid-template-columns: 2.3rem minmax(0, 1fr) auto;
1143
+ align-items: center;
1144
+ width: 100%;
1145
+ min-height: 48px;
1146
+ padding: 0.3rem 0.8rem 0.3rem 0.65rem;
1147
+ border: 0;
1148
+ background: transparent;
1149
+ color: inherit;
1150
+ text-align: left;
1151
+ cursor: pointer;
1152
+ }
1153
+
1154
+ .player-queue-copy {
1155
+ display: grid;
1156
+ min-width: 0;
1157
+ gap: 0.08rem;
1158
+ }
1159
+
1160
+ .player-queue-copy strong,
1161
+ .player-queue-copy small {
1162
+ overflow: hidden;
1163
+ text-overflow: ellipsis;
1164
+ white-space: nowrap;
1165
+ }
1166
+
1167
+ .player-queue-copy strong {
1168
+ font-size: 0.78rem;
1169
+ font-weight: 540;
1170
+ }
1171
+
1172
+ .player-queue-copy small {
1173
+ color: var(--player-muted);
1174
+ font-size: 0.66rem;
1175
+ }
1176
+
1177
+ .player-transport .player-icon-button:not(.player-play-button),
1178
+ .player-podcast__transport .player-icon-button:not(.player-play-button) {
1179
+ color: var(--player-muted);
1180
+ }
1181
+
1182
+ .player-transport .player-icon-button[aria-pressed="true"],
1183
+ .player-transport .player-icon-button:hover:not(:disabled),
1184
+ .player-podcast__transport .player-icon-button:hover:not(:disabled) {
1185
+ color: var(--player-brand);
1186
+ }
1187
+
1188
+ @container player-surface (max-width: 680px) {
1189
+ .player-detailed__display {
1190
+ grid-template-columns: 104px minmax(0, 1fr);
1191
+ }
1192
+
1193
+ .player-detailed__artwork {
1194
+ width: 104px;
1195
+ height: 104px;
1196
+ min-height: 0;
1197
+ align-self: start;
1198
+ }
1199
+
1200
+ .player-detailed__primary {
1201
+ padding: 0.75rem;
1202
+ border-right: 0;
1203
+ }
1204
+
1205
+ .player-detailed__primary .player-waveform {
1206
+ height: 24px;
1207
+ }
1208
+
1209
+ .player-detailed__numbers {
1210
+ grid-column: 1 / -1;
1211
+ grid-template-columns: repeat(4, minmax(0, 1fr));
1212
+ align-items: center;
1213
+ padding: 0.5rem 0.75rem;
1214
+ border-top: 1px solid var(--player-faint);
1215
+ }
1216
+
1217
+ .player-detailed__metric {
1218
+ justify-items: start;
1219
+ }
1220
+
1221
+ .player-detailed__transport {
1222
+ padding-inline: 0.5rem;
1223
+ }
1224
+
1225
+ .player-detailed__transport .player-transport {
1226
+ width: 100%;
1227
+ justify-content: space-between;
1228
+ gap: 0;
1229
+ }
1230
+
1231
+ .player-podcast__header {
1232
+ grid-template-columns: 86px minmax(0, 1fr);
1233
+ gap: 0.85rem;
1234
+ padding: 0.85rem;
1235
+ }
1236
+
1237
+ .player-podcast__artwork {
1238
+ width: 86px;
1239
+ height: 86px;
1240
+ }
1241
+
1242
+ .player-podcast__header > .player-status {
1243
+ grid-column: 2;
1244
+ }
1245
+
1246
+ .player-podcast__transport {
1247
+ gap: 0;
1248
+ padding-inline: 0.3rem;
1249
+ }
1250
+
1251
+ .player-mini__main {
1252
+ grid-template-columns: 46px minmax(0, 1fr) auto;
1253
+ }
1254
+
1255
+ .player-mini__controls > .player-volume-popover {
1256
+ display: none;
1257
+ }
1258
+
1259
+ .player-mini__artwork {
1260
+ width: 46px;
1261
+ height: 46px;
1262
+ }
1263
+
1264
+ .player-mini__main > .player-status,
1265
+ .player-mini__timeline {
1266
+ display: none;
1267
+ }
1268
+ }
1269
+
1270
+ @container player-surface (max-width: 440px) {
1271
+ .player-compact__main {
1272
+ grid-template-areas:
1273
+ "play artwork metadata"
1274
+ "play artwork signal";
1275
+ grid-template-columns: auto 48px minmax(0, 1fr);
1276
+ }
1277
+
1278
+ .player-compact__main > .player-volume-popover {
1279
+ display: none;
1280
+ }
1281
+
1282
+ .player-compact__signal {
1283
+ grid-template-columns: minmax(48px, 1fr) auto;
1284
+ }
1285
+
1286
+ .player-compact .player-status {
1287
+ display: none;
1288
+ }
1289
+
1290
+ .player-wide__header {
1291
+ grid-template-columns: 78px minmax(0, 1fr);
1292
+ gap: 0.85rem;
1293
+ padding: 0.85rem;
1294
+ }
1295
+
1296
+ .player-wide__artwork {
1297
+ width: 78px;
1298
+ height: 78px;
1299
+ }
1300
+
1301
+ .player-wide__identity {
1302
+ gap: 0.55rem;
1303
+ }
1304
+
1305
+ .player-wide__content {
1306
+ padding: 0.7rem 0.85rem 1rem;
1307
+ }
1308
+
1309
+ .player-wide__timeline-footer .player-volume {
1310
+ display: none;
1311
+ }
1312
+
1313
+ .player-wide__timeline-footer .player-time {
1314
+ width: 100%;
1315
+ }
1316
+
1317
+ .player-transport {
1318
+ justify-content: space-between;
1319
+ }
1320
+
1321
+ .player-detailed__queue {
1322
+ padding-inline: 0.5rem;
1323
+ }
1324
+
1325
+ .player-detailed__transport {
1326
+ padding-inline: 0.25rem;
1327
+ }
1328
+
1329
+ .player-queue-panel > header {
1330
+ padding-left: 0.65rem;
1331
+ }
1332
+
1333
+ .player-queue-panel li > button {
1334
+ grid-template-columns: 1.9rem minmax(0, 1fr) auto;
1335
+ padding-inline: 0.45rem;
1336
+ }
1337
+ }