unified-video-framework 1.4.192 → 1.4.194
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.
|
@@ -3679,6 +3679,15 @@ export class WebPlayer extends BasePlayer {
|
|
|
3679
3679
|
flex: 0 1 auto;
|
|
3680
3680
|
max-width: 60%;
|
|
3681
3681
|
}
|
|
3682
|
+
|
|
3683
|
+
/* Top Controls - Right side of top bar */
|
|
3684
|
+
.uvf-top-controls {
|
|
3685
|
+
display: flex;
|
|
3686
|
+
align-items: center;
|
|
3687
|
+
justify-content: flex-end;
|
|
3688
|
+
gap: 12px;
|
|
3689
|
+
flex-shrink: 0;
|
|
3690
|
+
}
|
|
3682
3691
|
|
|
3683
3692
|
.uvf-title-content {
|
|
3684
3693
|
display: flex;
|
|
@@ -3820,15 +3829,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
3820
3829
|
height: 16px;
|
|
3821
3830
|
}
|
|
3822
3831
|
}
|
|
3823
|
-
|
|
3824
|
-
/* Top Controls - Right side of top bar */
|
|
3825
|
-
.uvf-top-controls {
|
|
3826
|
-
display: flex;
|
|
3827
|
-
align-items: center;
|
|
3828
|
-
justify-content: flex-end;
|
|
3829
|
-
gap: 12px;
|
|
3830
|
-
flex-shrink: 0;
|
|
3831
|
-
}
|
|
3832
3832
|
|
|
3833
3833
|
.uvf-top-btn {
|
|
3834
3834
|
width: 40px;
|
|
@@ -4205,550 +4205,6 @@ export class WebPlayer extends BasePlayer {
|
|
|
4205
4205
|
}
|
|
4206
4206
|
|
|
4207
4207
|
|
|
4208
|
-
/* Enhanced Responsive Media Queries with UX Best Practices */
|
|
4209
|
-
/* Mobile devices (portrait) - Material You Design (25-50-25 Layout) */
|
|
4210
|
-
@media screen and (max-width: 767px) and (orientation: portrait) {
|
|
4211
|
-
.uvf-responsive-container {
|
|
4212
|
-
padding: 0;
|
|
4213
|
-
width: 100vw !important;
|
|
4214
|
-
height: 100vh;
|
|
4215
|
-
height: 100dvh;
|
|
4216
|
-
margin: 0;
|
|
4217
|
-
position: fixed;
|
|
4218
|
-
top: 0;
|
|
4219
|
-
left: 0;
|
|
4220
|
-
overflow: hidden;
|
|
4221
|
-
}
|
|
4222
|
-
|
|
4223
|
-
.uvf-responsive-container .uvf-player-wrapper {
|
|
4224
|
-
width: 100vw !important;
|
|
4225
|
-
height: 100vh;
|
|
4226
|
-
height: 100dvh;
|
|
4227
|
-
position: fixed;
|
|
4228
|
-
top: 0;
|
|
4229
|
-
left: 0;
|
|
4230
|
-
display: flex;
|
|
4231
|
-
flex-direction: column;
|
|
4232
|
-
background: #000;
|
|
4233
|
-
overflow: hidden;
|
|
4234
|
-
}
|
|
4235
|
-
|
|
4236
|
-
/* Video container occupies middle 50% with all UI elements */
|
|
4237
|
-
.uvf-responsive-container .uvf-video-container {
|
|
4238
|
-
height: 50vh;
|
|
4239
|
-
height: 50dvh;
|
|
4240
|
-
width: 100vw;
|
|
4241
|
-
position: absolute;
|
|
4242
|
-
top: 25vh;
|
|
4243
|
-
top: 25dvh;
|
|
4244
|
-
left: 0;
|
|
4245
|
-
aspect-ratio: unset !important;
|
|
4246
|
-
background: radial-gradient(ellipse at center, #1a1a2e 0%, #000 100%);
|
|
4247
|
-
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4),
|
|
4248
|
-
0 4px 16px rgba(0, 0, 0, 0.3),
|
|
4249
|
-
0 2px 8px rgba(0, 0, 0, 0.2);
|
|
4250
|
-
}
|
|
4251
|
-
|
|
4252
|
-
.uvf-video {
|
|
4253
|
-
width: 100%;
|
|
4254
|
-
height: 100%;
|
|
4255
|
-
object-fit: contain;
|
|
4256
|
-
}
|
|
4257
|
-
|
|
4258
|
-
/* Top black section (25%) - Tap zone */
|
|
4259
|
-
.uvf-player-wrapper::before {
|
|
4260
|
-
content: '';
|
|
4261
|
-
position: absolute;
|
|
4262
|
-
top: 0;
|
|
4263
|
-
left: 0;
|
|
4264
|
-
width: 100vw;
|
|
4265
|
-
height: 25vh;
|
|
4266
|
-
height: 25dvh;
|
|
4267
|
-
background: #000;
|
|
4268
|
-
z-index: 1;
|
|
4269
|
-
pointer-events: all;
|
|
4270
|
-
touch-action: manipulation;
|
|
4271
|
-
}
|
|
4272
|
-
|
|
4273
|
-
/* Bottom black section (25%) - Controls area */
|
|
4274
|
-
.uvf-player-wrapper::after {
|
|
4275
|
-
content: '';
|
|
4276
|
-
position: absolute;
|
|
4277
|
-
bottom: 0;
|
|
4278
|
-
left: 0;
|
|
4279
|
-
width: 100vw;
|
|
4280
|
-
height: 25vh;
|
|
4281
|
-
height: 25dvh;
|
|
4282
|
-
background: linear-gradient(to top,
|
|
4283
|
-
#000 0%,
|
|
4284
|
-
rgba(0, 0, 0, 0.98) 20%,
|
|
4285
|
-
rgba(0, 0, 0, 0.95) 100%);
|
|
4286
|
-
z-index: 1;
|
|
4287
|
-
pointer-events: none;
|
|
4288
|
-
}
|
|
4289
|
-
|
|
4290
|
-
/* Material surface container for controls - positioned in middle 50% area */
|
|
4291
|
-
.uvf-responsive-container .uvf-video-container .uvf-controls-bar {
|
|
4292
|
-
position: absolute;
|
|
4293
|
-
bottom: 12px;
|
|
4294
|
-
padding: 0px 10px;
|
|
4295
|
-
background: transparent;
|
|
4296
|
-
z-index: 10;
|
|
4297
|
-
display: flex;
|
|
4298
|
-
flex-direction: column;
|
|
4299
|
-
justify-content: flex-end;
|
|
4300
|
-
pointer-events: auto !important; /* Allow clicking on controls */
|
|
4301
|
-
}
|
|
4302
|
-
|
|
4303
|
-
.uvf-responsive-container .uvf-video-container .uvf-controls-bar::before {
|
|
4304
|
-
content: '';
|
|
4305
|
-
position: absolute;
|
|
4306
|
-
inset: 0; /* stretch to cover the controls-bar */
|
|
4307
|
-
backdrop-filter: blur(24px);
|
|
4308
|
-
-webkit-backdrop-filter: blur(24px);
|
|
4309
|
-
pointer-events: auto !important; /* Allow clicking on controls */
|
|
4310
|
-
|
|
4311
|
-
/* Gradient mask */
|
|
4312
|
-
-webkit-mask-image: linear-gradient(to top, black 50%, transparent 100%);
|
|
4313
|
-
mask-image: linear-gradient(to top, black 50%, transparent 100%);
|
|
4314
|
-
-webkit-mask-size: 100% 100%;
|
|
4315
|
-
mask-size: 100% 100%;
|
|
4316
|
-
-webkit-mask-repeat: no-repeat;
|
|
4317
|
-
mask-repeat: no-repeat;
|
|
4318
|
-
|
|
4319
|
-
z-index: -1; /* sit behind the content of the controls bar */
|
|
4320
|
-
}
|
|
4321
|
-
|
|
4322
|
-
/* Make sure child elements are also clickable */
|
|
4323
|
-
.uvf-controls-bar > * {
|
|
4324
|
-
pointer-events: auto !important;
|
|
4325
|
-
}
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
/* Material surface tint overlay */
|
|
4329
|
-
.uvf-controls-bar::before {
|
|
4330
|
-
content: '';
|
|
4331
|
-
position: absolute;
|
|
4332
|
-
inset: 0;
|
|
4333
|
-
background: var(--uvf-surface-tint, rgba(0, 0, 0, 0.08));
|
|
4334
|
-
pointer-events: none;
|
|
4335
|
-
z-index: -1;
|
|
4336
|
-
}
|
|
4337
|
-
|
|
4338
|
-
/* Progress bar with chapter markers */
|
|
4339
|
-
.uvf-progress-section {
|
|
4340
|
-
margin-bottom: 12px;
|
|
4341
|
-
position: relative;
|
|
4342
|
-
}
|
|
4343
|
-
|
|
4344
|
-
.uvf-progress-bar-wrapper {
|
|
4345
|
-
padding: 12px 0;
|
|
4346
|
-
position: relative;
|
|
4347
|
-
}
|
|
4348
|
-
|
|
4349
|
-
.uvf-progress-bar {
|
|
4350
|
-
height: 4px;
|
|
4351
|
-
background: rgba(255, 255, 255, 0.2);
|
|
4352
|
-
border-radius: 4px;
|
|
4353
|
-
position: relative;
|
|
4354
|
-
overflow: visible;
|
|
4355
|
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
|
|
4356
|
-
}
|
|
4357
|
-
|
|
4358
|
-
.uvf-progress-filled {
|
|
4359
|
-
background: var(--uvf-accent-1, #ff0000);
|
|
4360
|
-
box-shadow: 0 0 8px var(--uvf-accent-1, #ff0000);
|
|
4361
|
-
}
|
|
4362
|
-
|
|
4363
|
-
.uvf-progress-handle {
|
|
4364
|
-
width: 20px;
|
|
4365
|
-
height: 20px;
|
|
4366
|
-
background: var(--uvf-accent-1, #ff0000);
|
|
4367
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3),
|
|
4368
|
-
0 0 0 0 var(--uvf-accent-1, #ff0000);
|
|
4369
|
-
transition: box-shadow 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
4370
|
-
}
|
|
4371
|
-
|
|
4372
|
-
.uvf-progress-handle:active {
|
|
4373
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4),
|
|
4374
|
-
0 0 0 12px rgba(255, 0, 0, 0.15);
|
|
4375
|
-
transform: translate(-50%, -50%) scale(1.2);
|
|
4376
|
-
}
|
|
4377
|
-
|
|
4378
|
-
/* Material Design control buttons */
|
|
4379
|
-
.uvf-control-btn {
|
|
4380
|
-
width: 48px;
|
|
4381
|
-
height: 48px;
|
|
4382
|
-
min-width: 48px;
|
|
4383
|
-
min-height: 48px;
|
|
4384
|
-
background: rgba(255, 255, 255, 0.12);
|
|
4385
|
-
border-radius: 24px;
|
|
4386
|
-
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12),
|
|
4387
|
-
0 1px 2px rgba(0, 0, 0, 0.24);
|
|
4388
|
-
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
|
4389
|
-
position: relative;
|
|
4390
|
-
overflow: hidden;
|
|
4391
|
-
}
|
|
4392
|
-
|
|
4393
|
-
/* Material ripple effect */
|
|
4394
|
-
.uvf-control-btn::before {
|
|
4395
|
-
content: '';
|
|
4396
|
-
position: absolute;
|
|
4397
|
-
inset: 0;
|
|
4398
|
-
background: rgba(255, 255, 255, 0.1);
|
|
4399
|
-
border-radius: inherit;
|
|
4400
|
-
opacity: 0;
|
|
4401
|
-
transition: opacity 0.2s ease;
|
|
4402
|
-
}
|
|
4403
|
-
|
|
4404
|
-
.uvf-control-btn:active::before {
|
|
4405
|
-
opacity: 1;
|
|
4406
|
-
}
|
|
4407
|
-
|
|
4408
|
-
.uvf-control-btn:active {
|
|
4409
|
-
box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16),
|
|
4410
|
-
0 3px 6px rgba(0, 0, 0, 0.23);
|
|
4411
|
-
transform: scale(0.95);
|
|
4412
|
-
}
|
|
4413
|
-
|
|
4414
|
-
.uvf-control-btn.play-pause {
|
|
4415
|
-
width: 56px;
|
|
4416
|
-
height: 56px;
|
|
4417
|
-
min-width: 56px;
|
|
4418
|
-
min-height: 56px;
|
|
4419
|
-
border-radius: 28px;
|
|
4420
|
-
background: linear-gradient(135deg,
|
|
4421
|
-
var(--uvf-accent-1, #ff0000),
|
|
4422
|
-
var(--uvf-accent-2, #ff4d4f));
|
|
4423
|
-
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2),
|
|
4424
|
-
0 2px 4px rgba(0, 0, 0, 0.15),
|
|
4425
|
-
0 0 0 0 var(--uvf-accent-1, #ff0000);
|
|
4426
|
-
}
|
|
4427
|
-
|
|
4428
|
-
.uvf-control-btn.play-pause:active {
|
|
4429
|
-
box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25),
|
|
4430
|
-
0 4px 8px rgba(0, 0, 0, 0.20),
|
|
4431
|
-
0 0 0 8px rgba(255, 0, 0, 0.12);
|
|
4432
|
-
}
|
|
4433
|
-
|
|
4434
|
-
.uvf-control-btn svg {
|
|
4435
|
-
width: 20px;
|
|
4436
|
-
height: 20px;
|
|
4437
|
-
}
|
|
4438
|
-
|
|
4439
|
-
.uvf-control-btn.play-pause svg {
|
|
4440
|
-
width: 24px;
|
|
4441
|
-
height: 24px;
|
|
4442
|
-
}
|
|
4443
|
-
|
|
4444
|
-
/* Controls row with Material spacing */
|
|
4445
|
-
.uvf-controls-row {
|
|
4446
|
-
gap: 16px;
|
|
4447
|
-
padding: 0;
|
|
4448
|
-
align-items: center;
|
|
4449
|
-
}
|
|
4450
|
-
|
|
4451
|
-
/* Time display positioned bottom-left above seekbar */
|
|
4452
|
-
.uvf-time-display {
|
|
4453
|
-
background: rgba(255, 255, 255, 0.1);
|
|
4454
|
-
backdrop-filter: blur(8px);
|
|
4455
|
-
border-radius: 16px;
|
|
4456
|
-
padding: 6px 12px;
|
|
4457
|
-
font-size: 13px;
|
|
4458
|
-
font-weight: 500;
|
|
4459
|
-
font-feature-settings: 'tnum';
|
|
4460
|
-
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
|
|
4461
|
-
}
|
|
4462
|
-
|
|
4463
|
-
/* Framework branding positioned bottom-right above seekbar */
|
|
4464
|
-
.uvf-video-container .uvf-framework-branding {
|
|
4465
|
-
position: absolute !important;
|
|
4466
|
-
bottom: 80px !important;
|
|
4467
|
-
right: 16px !important;
|
|
4468
|
-
z-index: 10 !important;
|
|
4469
|
-
opacity: 0.8 !important;
|
|
4470
|
-
}
|
|
4471
|
-
|
|
4472
|
-
/* Adjust above-seekbar section to align time and branding */
|
|
4473
|
-
.uvf-above-seekbar-section {
|
|
4474
|
-
display: flex !important;
|
|
4475
|
-
justify-content: space-between !important;
|
|
4476
|
-
align-items: center !important;
|
|
4477
|
-
width: 100% !important;
|
|
4478
|
-
margin-bottom: 8px !important;
|
|
4479
|
-
}
|
|
4480
|
-
|
|
4481
|
-
/* Hide desktop volume control and skip buttons */
|
|
4482
|
-
.uvf-volume-control,
|
|
4483
|
-
#uvf-skip-back,
|
|
4484
|
-
#uvf-skip-forward {
|
|
4485
|
-
display: none !important;
|
|
4486
|
-
}
|
|
4487
|
-
|
|
4488
|
-
/* Top bar container - Mobile portrait uses separate positioning */
|
|
4489
|
-
.uvf-video-container .uvf-top-bar,
|
|
4490
|
-
.uvf-responsive-container .uvf-video-container .uvf-top-bar {
|
|
4491
|
-
position: absolute !important;
|
|
4492
|
-
top: 12px !important;
|
|
4493
|
-
left: 16px !important;
|
|
4494
|
-
right: 16px !important;
|
|
4495
|
-
padding: 0 !important;
|
|
4496
|
-
z-index: 10 !important;
|
|
4497
|
-
opacity: 0 !important;
|
|
4498
|
-
transform: translateY(-10px) !important;
|
|
4499
|
-
transition: opacity 0.3s ease, transform 0.3s ease !important;
|
|
4500
|
-
display: flex !important;
|
|
4501
|
-
justify-content: space-between !important;
|
|
4502
|
-
align-items: flex-start !important;
|
|
4503
|
-
gap: 12px !important;
|
|
4504
|
-
}
|
|
4505
|
-
|
|
4506
|
-
/* Show top bar when controls are visible or on hover */
|
|
4507
|
-
.uvf-player-wrapper:hover .uvf-top-bar,
|
|
4508
|
-
.uvf-player-wrapper.controls-visible .uvf-top-bar {
|
|
4509
|
-
opacity: 1 !important;
|
|
4510
|
-
transform: translateY(0) !important;
|
|
4511
|
-
}
|
|
4512
|
-
|
|
4513
|
-
/* Hide top bar when controls are hidden (no-cursor class) */
|
|
4514
|
-
.uvf-player-wrapper.no-cursor .uvf-top-bar {
|
|
4515
|
-
opacity: 0 !important;
|
|
4516
|
-
transform: translateY(-10px) !important;
|
|
4517
|
-
pointer-events: none !important;
|
|
4518
|
-
}
|
|
4519
|
-
|
|
4520
|
-
/* Title bar within top bar - mobile portrait */
|
|
4521
|
-
.uvf-video-container .uvf-top-bar .uvf-title-bar,
|
|
4522
|
-
.uvf-responsive-container .uvf-video-container .uvf-top-bar .uvf-title-bar {
|
|
4523
|
-
display: flex !important;
|
|
4524
|
-
width: auto !important;
|
|
4525
|
-
max-width: 50% !important;
|
|
4526
|
-
height: auto !important;
|
|
4527
|
-
padding: 0 !important;
|
|
4528
|
-
background: transparent !important;
|
|
4529
|
-
flex-direction: column !important;
|
|
4530
|
-
justify-content: flex-start !important;
|
|
4531
|
-
align-items: flex-start !important;
|
|
4532
|
-
position: relative !important;
|
|
4533
|
-
}
|
|
4534
|
-
|
|
4535
|
-
/* Title content layout */
|
|
4536
|
-
.uvf-title-bar .uvf-title-content {
|
|
4537
|
-
display: flex !important;
|
|
4538
|
-
align-items: flex-start !important;
|
|
4539
|
-
gap: 12px !important;
|
|
4540
|
-
width: 100% !important;
|
|
4541
|
-
}
|
|
4542
|
-
|
|
4543
|
-
/* Video thumbnail/logo */
|
|
4544
|
-
.uvf-title-bar .uvf-video-thumb {
|
|
4545
|
-
width: 48px !important;
|
|
4546
|
-
height: 48px !important;
|
|
4547
|
-
border-radius: 12px !important;
|
|
4548
|
-
object-fit: cover !important;
|
|
4549
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3) !important;
|
|
4550
|
-
flex-shrink: 0 !important;
|
|
4551
|
-
}
|
|
4552
|
-
|
|
4553
|
-
/* Title and subtitle text */
|
|
4554
|
-
.uvf-title-bar .uvf-title-text {
|
|
4555
|
-
flex: 1 !important;
|
|
4556
|
-
min-width: 0 !important;
|
|
4557
|
-
}
|
|
4558
|
-
|
|
4559
|
-
.uvf-title-bar .uvf-video-title {
|
|
4560
|
-
display: block !important;
|
|
4561
|
-
font-size: 16px !important;
|
|
4562
|
-
font-weight: 600 !important;
|
|
4563
|
-
color: #fff !important;
|
|
4564
|
-
margin-bottom: 4px !important;
|
|
4565
|
-
line-height: 1.3 !important;
|
|
4566
|
-
overflow: hidden !important;
|
|
4567
|
-
text-overflow: ellipsis !important;
|
|
4568
|
-
display: -webkit-box !important;
|
|
4569
|
-
-webkit-line-clamp: 2 !important;
|
|
4570
|
-
-webkit-box-orient: vertical !important;
|
|
4571
|
-
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5) !important;
|
|
4572
|
-
}
|
|
4573
|
-
|
|
4574
|
-
.uvf-title-bar .uvf-video-subtitle {
|
|
4575
|
-
display: block !important;
|
|
4576
|
-
font-size: 13px !important;
|
|
4577
|
-
font-weight: 400 !important;
|
|
4578
|
-
color: rgba(255, 255, 255, 0.8) !important;
|
|
4579
|
-
line-height: 1.3 !important;
|
|
4580
|
-
overflow: hidden !important;
|
|
4581
|
-
text-overflow: ellipsis !important;
|
|
4582
|
-
display: -webkit-box !important;
|
|
4583
|
-
-webkit-line-clamp: 1 !important;
|
|
4584
|
-
-webkit-box-orient: vertical !important;
|
|
4585
|
-
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4) !important;
|
|
4586
|
-
}
|
|
4587
|
-
|
|
4588
|
-
/* Top controls within top bar - mobile portrait */
|
|
4589
|
-
.uvf-video-container .uvf-top-bar .uvf-top-controls,
|
|
4590
|
-
.uvf-responsive-container .uvf-video-container .uvf-top-bar .uvf-top-controls {
|
|
4591
|
-
display: flex !important;
|
|
4592
|
-
gap: 12px !important;
|
|
4593
|
-
align-items: flex-start !important;
|
|
4594
|
-
justify-content: flex-end !important;
|
|
4595
|
-
flex-direction: row !important;
|
|
4596
|
-
position: relative !important;
|
|
4597
|
-
}
|
|
4598
|
-
|
|
4599
|
-
/* Keep top bar visible when casting */
|
|
4600
|
-
.uvf-player-wrapper.uvf-casting .uvf-top-bar {
|
|
4601
|
-
opacity: 1 !important;
|
|
4602
|
-
transform: translateY(0) !important;
|
|
4603
|
-
}
|
|
4604
|
-
|
|
4605
|
-
/* Material You top buttons (cast & share) */
|
|
4606
|
-
.uvf-top-controls .uvf-top-btn {
|
|
4607
|
-
width: 48px !important;
|
|
4608
|
-
height: 48px !important;
|
|
4609
|
-
min-width: 48px !important;
|
|
4610
|
-
min-height: 48px !important;
|
|
4611
|
-
background: rgba(0, 0, 0, 0.5) !important;
|
|
4612
|
-
backdrop-filter: blur(16px) !important;
|
|
4613
|
-
-webkit-backdrop-filter: blur(16px) !important;
|
|
4614
|
-
border: 1px solid rgba(255, 255, 255, 0.15) !important;
|
|
4615
|
-
border-radius: 24px !important;
|
|
4616
|
-
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3),
|
|
4617
|
-
0 1px 3px rgba(0, 0, 0, 0.2) !important;
|
|
4618
|
-
transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
|
|
4619
|
-
}
|
|
4620
|
-
|
|
4621
|
-
.uvf-top-controls .uvf-top-btn:active {
|
|
4622
|
-
transform: scale(0.95) !important;
|
|
4623
|
-
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4),
|
|
4624
|
-
0 2px 6px rgba(0, 0, 0, 0.3) !important;
|
|
4625
|
-
background: rgba(0, 0, 0, 0.7) !important;
|
|
4626
|
-
}
|
|
4627
|
-
|
|
4628
|
-
.uvf-top-controls .uvf-top-btn svg {
|
|
4629
|
-
width: 22px !important;
|
|
4630
|
-
height: 22px !important;
|
|
4631
|
-
fill: #fff !important;
|
|
4632
|
-
filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.3)) !important;
|
|
4633
|
-
}
|
|
4634
|
-
|
|
4635
|
-
/* Stop cast button styling */
|
|
4636
|
-
.uvf-top-controls .uvf-pill-btn {
|
|
4637
|
-
height: 48px !important;
|
|
4638
|
-
padding: 0 16px !important;
|
|
4639
|
-
border-radius: 24px !important;
|
|
4640
|
-
background: rgba(255, 77, 79, 0.95) !important;
|
|
4641
|
-
backdrop-filter: blur(16px) !important;
|
|
4642
|
-
border: 1px solid rgba(255, 77, 79, 0.3) !important;
|
|
4643
|
-
box-shadow: 0 2px 8px rgba(255, 77, 79, 0.4),
|
|
4644
|
-
0 1px 3px rgba(0, 0, 0, 0.3) !important;
|
|
4645
|
-
}
|
|
4646
|
-
|
|
4647
|
-
.uvf-top-controls .uvf-pill-btn svg {
|
|
4648
|
-
width: 20px !important;
|
|
4649
|
-
height: 20px !important;
|
|
4650
|
-
}
|
|
4651
|
-
|
|
4652
|
-
.uvf-top-controls .uvf-pill-btn span {
|
|
4653
|
-
font-size: 14px !important;
|
|
4654
|
-
font-weight: 500 !important;
|
|
4655
|
-
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
|
|
4656
|
-
}
|
|
4657
|
-
|
|
4658
|
-
/* Optimize settings button for Material You */
|
|
4659
|
-
#uvf-settings-btn {
|
|
4660
|
-
width: 48px !important;
|
|
4661
|
-
height: 48px !important;
|
|
4662
|
-
min-width: 48px !important;
|
|
4663
|
-
min-height: 48px !important;
|
|
4664
|
-
border-radius: 24px !important;
|
|
4665
|
-
}
|
|
4666
|
-
|
|
4667
|
-
/* Fullscreen on mobile portrait - maintain Material You layout */
|
|
4668
|
-
.uvf-player-wrapper.uvf-fullscreen,
|
|
4669
|
-
.uvf-responsive-container .uvf-player-wrapper.uvf-fullscreen {
|
|
4670
|
-
position: fixed !important;
|
|
4671
|
-
top: 0 !important;
|
|
4672
|
-
left: 0 !important;
|
|
4673
|
-
width: 100vw !important;
|
|
4674
|
-
height: 100vh !important;
|
|
4675
|
-
height: 100dvh !important;
|
|
4676
|
-
z-index: 2147483647 !important;
|
|
4677
|
-
display: flex !important;
|
|
4678
|
-
flex-direction: column !important;
|
|
4679
|
-
background: #000 !important;
|
|
4680
|
-
}
|
|
4681
|
-
|
|
4682
|
-
/* Video container in fullscreen - keep 50% middle */
|
|
4683
|
-
.uvf-player-wrapper.uvf-fullscreen .uvf-video-container,
|
|
4684
|
-
.uvf-responsive-container .uvf-player-wrapper.uvf-fullscreen .uvf-video-container {
|
|
4685
|
-
height: 50vh !important;
|
|
4686
|
-
height: 50dvh !important;
|
|
4687
|
-
width: 100vw !important;
|
|
4688
|
-
margin-top: 25vh !important;
|
|
4689
|
-
margin-top: 25dvh !important;
|
|
4690
|
-
position: relative !important;
|
|
4691
|
-
}
|
|
4692
|
-
|
|
4693
|
-
/* Top and bottom black sections in fullscreen */
|
|
4694
|
-
.uvf-player-wrapper.uvf-fullscreen::before {
|
|
4695
|
-
height: 25vh !important;
|
|
4696
|
-
height: 25dvh !important;
|
|
4697
|
-
}
|
|
4698
|
-
|
|
4699
|
-
.uvf-player-wrapper.uvf-fullscreen::after {
|
|
4700
|
-
height: 25vh !important;
|
|
4701
|
-
height: 25dvh !important;
|
|
4702
|
-
}
|
|
4703
|
-
|
|
4704
|
-
/* Controls stay in bottom 25% in fullscreen */
|
|
4705
|
-
.uvf-player-wrapper.uvf-fullscreen .uvf-controls-bar,
|
|
4706
|
-
.uvf-responsive-container .uvf-player-wrapper.uvf-fullscreen .uvf-controls-bar {
|
|
4707
|
-
position: absolute !important;
|
|
4708
|
-
bottom: 0 !important;
|
|
4709
|
-
max-height: 25vh !important;
|
|
4710
|
-
max-height: 25dvh !important;
|
|
4711
|
-
padding: 16px 20px !important;
|
|
4712
|
-
padding-bottom: calc(16px + var(--uvf-safe-area-bottom, 0px)) !important;
|
|
4713
|
-
}
|
|
4714
|
-
}
|
|
4715
|
-
}
|
|
4716
|
-
|
|
4717
|
-
#uvf-settings-btn svg {
|
|
4718
|
-
width: 20px !important;
|
|
4719
|
-
height: 20px !important;
|
|
4720
|
-
fill: var(--uvf-icon-color) !important;
|
|
4721
|
-
}
|
|
4722
|
-
|
|
4723
|
-
/* Hide skip buttons on small mobile devices to save space */
|
|
4724
|
-
@media screen and (max-width: 480px) {
|
|
4725
|
-
#uvf-skip-back,
|
|
4726
|
-
#uvf-skip-forward {
|
|
4727
|
-
display: none;
|
|
4728
|
-
}
|
|
4729
|
-
}
|
|
4730
|
-
|
|
4731
|
-
/* Ensure all controls remain visible and functional */
|
|
4732
|
-
.uvf-controls-row > * {
|
|
4733
|
-
flex-shrink: 0;
|
|
4734
|
-
}
|
|
4735
|
-
|
|
4736
|
-
/* Loading spinner optimization for mobile */
|
|
4737
|
-
.uvf-loading-spinner {
|
|
4738
|
-
width: 48px;
|
|
4739
|
-
height: 48px;
|
|
4740
|
-
border-width: 4px;
|
|
4741
|
-
}
|
|
4742
|
-
|
|
4743
|
-
/* Mobile shortcut indicators */
|
|
4744
|
-
.uvf-shortcut-indicator {
|
|
4745
|
-
font-size: 20px;
|
|
4746
|
-
padding: 16px 24px;
|
|
4747
|
-
border-radius: 12px;
|
|
4748
|
-
max-width: 280px;
|
|
4749
|
-
}
|
|
4750
|
-
}
|
|
4751
|
-
|
|
4752
4208
|
/* Mobile devices (landscape) - Optimized for fullscreen viewing with safe areas */
|
|
4753
4209
|
@media screen and (max-width: 767px) and (orientation: landscape) {
|
|
4754
4210
|
.uvf-responsive-container {
|