yahoo-x-bv-player
Version:
yahoo-x-bv-player is a video player web component which based on BlendVision Web SDK. It has not only LIVE but also REPLAY features for Yahoo Auction. Sellers could display their products through this player and interact with buyers. We believe this could
993 lines (853 loc) • 153 kB
JavaScript
import { _wcl } from './common-lib.js';
import { _wccss } from './common-css.js';
import { colorPalette, buttons } from './fuji-css.js';
import Mustache from './mustache.js';
// import 'https://unpkg.com/@blendvision/link@0.0.2';
import 'https://unpkg.com/@blendvision/link@0.0.2/umd/index.js';
import 'https://unpkg.com/@blendvision/player@2.20.8';
// import 'https://unpkg.com/@blendvision/player@2.21.0-canary.1';
import 'https://unpkg.com/@blendvision/chatroom-javascript-sdk/index.min.js';
/*
reference:
- https://developers.blendvision.com/zh/docs/player/web-sdk/quick-start
- https://developers.blendvision.com/zh/docs/sdk/player/web/intro
- https://www.npmjs.com/package/@blendvision/chatroom-javascript-sdk
- https://www.npmjs.com/package/@blendvision/link
- https://developer.chrome.com/docs/web-platform/document-picture-in-picture
- https://developer.mozilla.org/en-US/docs/Web/API/Picture-in-Picture_API
- https://developer.mozilla.org/en-US/docs/Web/API/Fullscreen_API
- https://web.dev/articles/css-individual-transform-properties
- https://developer.chrome.com/blog/better-full-screen-mode
- https://developer.chrome.com/blog/media-session
- https://developer.mozilla.org/en-US/docs/Web/API/MediaSession
- https://developer.mozilla.org/en-US/docs/Web/API/MediaSession/setActionHandler
- https://albyianna.medium.com/creating-an-auto-scrollable-element-with-css-b7d814c73522
- https://css-tricks.com/a-dry-approach-to-color-themes-in-css/
- https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/drawImage
- https://web.dev/articles/offscreen-canvas
- https://developer.mozilla.org/en-US/docs/Web/API/WebSocket
*/
const blankImage = 'data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==';
const defaults = {
playerconfig: {
licenseKey: '',
playbackToken: '',
title: 'yahoo auction',
source: []
},
chatroomconfig: {
token: '',
refreshToken: '',
host: 'https://api.one.blendvision.com'
},
ysocket: {
// id, url
},
share: {
title: document.title,
text: '',
url: document?.querySelector('link[rel=canonical]')?.href || window.location.href
},
poster: blankImage,
loop: false,
autopilot: false,
host: {
avatar: blankImage,
link: '#',
name: '',
count: 0,
follow: false,
announce: ''
},
messagetemplate: [],
products: [
/*
{
"id": "",
"uuid": "",
"title": "",
"link": "",
"thumbnail": "",
"price": "$ 1,000",
"marketPrice": "$ 2,000",
"priceRange": {
"min": "$ 1,000",
"max": "$ 2,000",
},
"bestDiscount": "-40%",
"marks": {
"coupon": false,
"shippingCoupon": false,
"buynow": true,
"bid": false
},
"buyCount": 0,
"broadcasting": true
}
*/
],
type: 'live',
l10n: {
previewtrigger: 'View',
listingshead: 'Products',
buynow: 'BUY NOW',
jointhecrowd: 'joined the crowd.',
rushbuying: 'is rush buying.',
addfavorite: 'added host as favorite.',
sharelive: 'shared this LIVE.',
takesnapshot: 'took snapshot.',
achievetrophy: 'achieved {{hits}} likes.',
highestbid: 'bid ${{price}} and become the highest bidder.',
exceededbid: 'Someone has exceeded your last bid price ${{price}}.',
wonbid: 'won the bid as price ${{price}}.',
cancelledplacebid: 'Owner canceled {{nickname}}\'s bid.',
placebid: 'has place bid as price ${{price}}.'
}
};
const booleanAttrs = ['loop', 'autopilot'];
const objectAttrs = ['playerconfig', 'chatroomconfig', 'ysocket', 'share', 'host', 'products', 'l10n', 'messagetemplate'];
const custumEvents = {
play: 'yahoo-x-bv-player-play',
pause: 'yahoo-x-bv-player-pause',
seeking: 'yahoo-x-bv-player-seeking',
ended: 'yahoo-x-bv-player-ended',
purchaseClick: 'yahoo-x-bv-player-purchase-click',
followClick: 'yahoo-x-bv-player-follow-click',
liveEnded: 'yahoo-x-bv-player-live-ended',
addProduct: 'yahoo-x-bv-player-add-product'
};
const legalKey = [
'k',
's',
'm',
'f',
' ',
'j',
'l',
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9',
'ArrowLeft',
'ArrowRight',
'Escape'
];
const legalTypes = ['live', 'replay'];
const fullscreenEnabled = !!document.fullscreenEnabled;
const keyboardLockEnabled = !!navigator?.keyboard?.lock;
const pipEnabled = !!document.pictureInPictureEnabled;
const clearDelay = 2500;
const trophyMilestones = [50, 100, 1000];
const maxMessageCount = 50;
const template = document.createElement('template');
template.innerHTML = `
<style>
${_wccss}
${colorPalette}
${buttons}
:host {
position: relative;
inline-size: 100%;
display: block;
@media (display-mode: picture-in-picture) {
inline-size: 100dvi;
block-size: 100dvb;
.button--fullscreen,
.button--share,
.button--pip {
display: none;
}
.main {
--yahoo-logo-display: block;
--preview-inset-block-start-stuff: 0px;
@container (width < 320px) {
.controls {
.button--subtitles {
visibility: hidden;
pointer-events: none;
}
}
}
}
.listings {
--buynow-button-pointer-events: none;
}
#live-controls {
--button-count: 3;
}
}
}
:host(.yahoo-x-bv-player--refreshing) .main {
--refreshing-axis-inline-start: -100%;
--refreshing-axis-inline-end: 100%;
--refreshing-axis-block-start: -100%;
--refreshing-axis-block-end: 100%;
--refreshing-button-scale: 1;
--refreshing-button-pointer-events: auto;
}
.main {
--ON: initial;
--OFF: ;
--LIVE: var(--ON);
--REPLAY: var(--OFF);
--padding-inline-basis: var(--yahoo-x-bv-player-padding-inline-basis, 12px);
--padding-block-end-basis: var(--yahoo-x-bv-player-padding-block-end-basis, 8px);
--padding-block-start-basis: 12px;
--padding-inline: var(--padding-inline-basis);
--padding-block-start: var(--padding-block-start-basis);
--padding-block-end: var(--padding-block-end-basis);
/* video */
--video-object-fit: var(--yahoo-x-bv-player-video-object-fit, contain);
/* refreshing */
--refreshing-axis-inline-start: 0%;
--refreshing-axis-inline-end: 0%;
--refreshing-axis-block-start: 0%;
--refreshing-axis-block-end: 0%;
--refreshing-button-scale: 0;
--refreshing-button-pointer-events: none;
--refreshing-animation-duration: 450ms;
--refreshing-animation-timing-function: ease;
--slider-thumb-color: var(--yahoo-x-bv-player-slider-thumb-color, rgba(234 51 35));
--slider-thumb-shadow-color: var(--yahoo-x-bv-player-slider-thumb-shadow-color, rgba(0 0 0));
--slider-thumb-size: 14px;
--slider-thumb-scale: 1;
--slider-thumb-hover-scale: 1;
--slider-thumb-active-scale: 1.5;
--indicator-block-size: calc(var(--slider-thumb-size) * .35);
--indicator-background: var(--yahoo-x-bv-player-indicator-background, rgba(255 255 255/.2));
--indicator-buffer-start: var(--yahoo-x-bv-player-indicator-buffer-start, rgba(255 255 255/.4));
--indicator-buffer-end: var(--yahoo-x-bv-player-indicator-buffer-end, rgba(255 255 255/.4));
--indicator-duration-start: var(--yahoo-x-bv-player-indicator-duration-start, rgba(234 51 35));
--indicator-duration-end: var(--yahoo-x-bv-player-indicator-duration-end, rgba(234 51 35));
--indicator-scale: 1;
--indicator-hover-scale: 1;
/* controls */
--time-info-text-size: 12px;
--time-info-text-color: var(--yahoo-x-bv-player-time-info-text-color, rgba(255 255 255));
--button-icon-color: var(--yahoo-x-bv-player-button-icon-color, rgba(255 255 255));
--button-focus-visible-color: var(--yahoo-x-bv-player-button-focus-visible-background-color, rgba(0 0 0/.5));
--button-size: 32;
--control-axis-y: 0%;
/* live-controls */
--live-controls-input-font-size: 14px;
--live-controls-input-text-color: var(--yahoo-x-bv-player-live-controls-input-text-color, rgba(255 255 255));
--live-controls-input-placeholder-color: var(--yahoo-x-bv-player-live-controls-input-placeholder-color, rgba(255 255 255/.5));
--live-controls-form-background-color: var(--yahoo-x-bv-player-live-controls-form-background-color, rgba(0 0 0/.75));
--emotion-float-ratio: 4;
/* host */
--host-avatar-size: 32;
--host-avatar-padding: 4px;
--host-name-font-size: 12px;
--host-count-font-size: 10px;
--host-count-text: var(--yahoo-x-bv-player-host-count-text, 'viewers');
/* poster */
--poster-background-color: var(--yahoo-x-bv-player-poster-background-color, rgba(0 0 0));
/* preview */
--preview-inset-block-start-stuff: 0px;
--preview-inset-block-start: calc(var(--preview-inset-block-start-stuff) + var(--padding-block-start-basis));
--preview-image-size: 80px;
--preview-background-color: rgba(0 0 0/.8);
--preview-border-color: rgba(255 255 255/.2);
--preview-button-background-color: rgba(255 255 255/.3);
--preview-button-color: rgba(255 255 255);
/* chatroom */
--chatroom-max-inline-size: calc(100% / 2);
--chatroom-max-block-size: 320px;
--chatroom-message-owner-text: var(--yahoo-x-bv-player-chatroom-message-owner-text, 'HOST');
--chatroom-message-owner-text-color: var(--yahoo-x-bv-player-chatroom-message-owner-text-color, rgba(255 255 255));
--chatroom-message-owner-background-color: var(--yahoo-x-bv-player-chatroom-message-owner-background-color, rgba(255 82 13));
/* reactions */
--reaction-size: 60;
--icon-play: path('M8 5v14l11-7z');
--icon-pause: path('M6 19h4V5H6v14zm8-14v14h4V5h-4z');
--icon-volume-up: path('M3 9v6h4l5 5V4L7 9H3zm13.5 3c0-1.77-1.02-3.29-2.5-4.03v8.05c1.48-.73 2.5-2.25 2.5-4.02zM14 3.23v2.06c2.89.86 5 3.54 5 6.71s-2.11 5.85-5 6.71v2.06c4.01-.91 7-4.49 7-8.77s-2.99-7.86-7-8.77z');
--icon-volume-off: path('M16.5 12c0-1.77-1.02-3.29-2.5-4.03v2.21l2.45 2.45c.03-.2.05-.41.05-.63zm2.5 0c0 .94-.2 1.82-.54 2.64l1.51 1.51C20.63 14.91 21 13.5 21 12c0-4.28-2.99-7.86-7-8.77v2.06c2.89.86 5 3.54 5 6.71zM4.27 3L3 4.27 7.73 9H3v6h4l5 5v-6.73l4.25 4.25c-.67.52-1.42.93-2.25 1.18v2.06c1.38-.31 2.63-.95 3.69-1.81L19.73 21 21 19.73l-9-9L4.27 3zM12 4L9.91 6.09 12 8.18V4z');
--icon-fullscreen: path('M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z');
--icon-fullscreen-exit: path('M5 16h3v3h2v-5H5v2zm3-8H5v2h5V5H8v3zm6 11h2v-3h3v-2h-5v5zm2-11V5h-2v5h5V8h-3z');
--icon-share: path('M16 5l-1.42 1.42-1.59-1.59V16h-1.98V4.83L9.42 6.42 8 5l4-4 4 4zm4 5v11c0 1.1-.9 2-2 2H6c-1.11 0-2-.9-2-2V10c0-1.11.89-2 2-2h3v2H6v11h12V10h-3V8h3c1.1 0 2 .89 2 2z');
--icon-replay: path('M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8z');
--icon-forward10: path('M18,14c0,3.3-2.7,6-6,6s-6-2.7-6-6,2.7-6,6-6v4l5-5-5-5v4c-4.4,0-8,3.6-8,8s3.6,8,8,8,8-3.6,8-8h-2ZM10.8,17v-4.3h0l-1.8.6v.7l1-.3v3.3h.8ZM12.2,14.5v.7c0,1.9,1.3,1.8,1.4,1.8s1.4,0,1.4-1.8v-.7c0-1.9-1.3-1.8-1.4-1.8s-1.4,0-1.4,1.8ZM14.3,14.4v1c0,.8-.2,1-.6,1s-.6-.3-.6-1v-1c0-.8.2-1,.6-1,.4,0,.6.3.6,1Z');
--icon-replay10: path('M11.99,5V1l-5,5l5,5V7c3.31,0,6,2.69,6,6s-2.69,6-6,6s-6-2.69-6-6h-2c0,4.42,3.58,8,8,8s8-3.58,8-8S16.41,5,11.99,5z M10.89,16h-0.85v-3.26l-1.01,0.31v-0.69l1.77-0.63h0.09V16z M15.17,14.24c0,0.32-0.03,0.6-0.1,0.82s-0.17,0.42-0.29,0.57s-0.28,0.26-0.45,0.33s-0.37,0.1-0.59,0.1 s-0.41-0.03-0.59-0.1s-0.33-0.18-0.46-0.33s-0.23-0.34-0.3-0.57s-0.11-0.5-0.11-0.82V13.5c0-0.32,0.03-0.6,0.1-0.82 s0.17-0.42,0.29-0.57s0.28-0.26,0.45-0.33s0.37-0.1,0.59-0.1s0.41,0.03,0.59,0.1c0.18,0.07,0.33,0.18,0.46,0.33 s0.23,0.34,0.3,0.57s0.11,0.5,0.11,0.82V14.24z M14.32,13.38c0-0.19-0.01-0.35-0.04-0.48s-0.07-0.23-0.12-0.31 s-0.11-0.14-0.19-0.17s-0.16-0.05-0.25-0.05s-0.18,0.02-0.25,0.05s-0.14,0.09-0.19,0.17s-0.09,0.18-0.12,0.31 s-0.04,0.29-0.04,0.48v0.97c0,0.19,0.01,0.35,0.04,0.48s0.07,0.24,0.12,0.32s0.11,0.14,0.19,0.17s0.16,0.05,0.25,0.05 s0.18-0.02,0.25-0.05s0.14-0.09,0.19-0.17s0.09-0.19,0.11-0.32s0.04-0.29,0.04-0.48V13.38z');
--icon-forward5: path('M17.95 13c0 3.31-2.69 6-6 6s-6-2.69-6-6 2.69-6 6-6v4l5-5-5-5v4c-4.42 0-8 3.58-8 8s3.58 8 8 8 8-3.58 8-8h-2zm-5.52 2.15c-.05.07-.11.13-.18.17s-.17.06-.27.06c-.17 0-.31-.05-.42-.15s-.17-.24-.19-.41h-.84c.01.2.05.37.13.53s.19.28.32.39.29.19.46.24.35.08.53.08c.24 0 .46-.04.64-.12s.33-.18.45-.31.21-.28.27-.45.09-.35.09-.54c0-.22-.03-.43-.09-.6s-.14-.33-.25-.45-.25-.22-.41-.28-.34-.1-.55-.1c-.07 0-.14.01-.2.02s-.13.02-.18.04-.1.03-.15.05-.08.04-.11.05l.11-.92h1.7v-.71H10.9l-.25 2.17.67.17c.03-.03.06-.06.1-.09s.07-.05.12-.07.1-.04.15-.05.13-.02.2-.02c.12 0 .22.02.3.05s.16.09.21.15.1.14.13.24.04.19.04.31-.01.22-.03.31-.06.17-.11.24z');
--icon-replay5: path('M12 5V1L7 6l5 5V7c3.31 0 6 2.69 6 6s-2.69 6-6 6-6-2.69-6-6H4c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8zm-1.31 8.9l.25-2.17h2.39v.71h-1.7l-.11.92c.03-.02.07-.03.11-.05s.09-.04.15-.05.12-.03.18-.04.13-.02.2-.02c.21 0 .39.03.55.1s.3.16.41.28.2.27.25.45.09.38.09.6c0 .19-.03.37-.09.54s-.15.32-.27.45-.27.24-.45.31-.39.12-.64.12c-.18 0-.36-.03-.53-.08s-.32-.14-.46-.24-.24-.24-.32-.39-.13-.33-.13-.53h.84c.02.18.08.32.19.41s.25.15.42.15c.11 0 .2-.02.27-.06s.14-.1.18-.17.08-.15.11-.25.03-.2.03-.31-.01-.21-.04-.31-.07-.17-.13-.24-.13-.12-.21-.15-.19-.05-.3-.05c-.08 0-.15.01-.2.02s-.11.03-.15.05-.08.05-.12.07-.07.06-.1.09l-.67-.16z');
--icon-pip: path('M2.4,11.4v-2H6L1.7,5.1l1.4-1.4L7.4,8V4.4h2v7H2.4z M4.4,20.4c-0.5,0-1-0.2-1.4-0.6c-0.4-0.4-0.6-0.9-0.6-1.4v-5h2v5h8v2 H4.4z M20.4,13.4v-7h-9v-2h9c0.5,0,1,0.2,1.4,0.6c0.4,0.4,0.6,0.9,0.6,1.4v7H20.4z M14.4,20.4v-5h8v5H14.4z');
--icon-favorite-border: path('M16.5 3c-1.74 0-3.41.81-4.5 2.09C10.91 3.81 9.24 3 7.5 3 4.42 3 2 5.42 2 8.5c0 3.78 3.4 6.86 8.55 11.54L12 21.35l1.45-1.32C18.6 15.36 22 12.28 22 8.5 22 5.42 19.58 3 16.5 3zm-4.4 15.55l-.1.1-.1-.1C7.14 14.24 4 11.39 4 8.5 4 6.5 5.5 5 7.5 5c1.54 0 3.04.99 3.57 2.36h1.87C13.46 5.99 14.96 5 16.5 5c2 0 3.5 1.5 3.5 3.5 0 2.89-3.14 5.74-7.9 10.05z');
--icon-favorite: path('M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z');
--icon-subtitles: path('M20 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 14H4V6h16v12zM6 10h2v2H6zm0 4h8v2H6zm10 0h2v2h-2zm-6-4h8v2h-8z');
--icon-subtitles-off: path('M20,4H6.8l2,2h11.2v11.2l1.8,1.8c.1-.3.2-.6.2-.9V6c0-1.1-.9-2-2-2ZM18,10h-5.2l2,2h3.2v-2ZM1,3.9l1.2,1.2c-.2.3-.2.6-.2.9v12c0,1.1.9,2,2,2h13.2l3,3,1.4-1.4L2.5,2.5l-1.4,1.4ZM4,6.8l3.2,3.2h-1.2v2h2v-1.2l3.2,3.2h-5.2v2h7.2l2,2H4V6.8Z');
--icon-chevron-right: path('M10 6L8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6-6-6z');
--icon-send: path('M2.01 21L23 12 2.01 3 2 10l15 2-15 2z');
--icon-thumb-up: path('M1 21h4V9H1v12zm22-11c0-1.1-.9-2-2-2h-6.31l.95-4.57.03-.32c0-.41-.17-.79-.44-1.06L14.17 1 7.59 7.59C7.22 7.95 7 8.45 7 9v10c0 1.1.9 2 2 2h9c.83 0 1.54-.5 1.84-1.22l3.02-7.05c.09-.23.14-.47.14-.73v-2z');
--icon-camera: path('M12,17.5c1.3,0,2.3-.4,3.2-1.3s1.3-1.9,1.3-3.2-.4-2.3-1.3-3.2-1.9-1.3-3.2-1.3-2.3.4-3.2,1.3-1.3,1.9-1.3,3.2.4,2.3,1.3,3.2,1.9,1.3,3.2,1.3ZM12,15.5c-.7,0-1.3-.2-1.8-.7s-.7-1.1-.7-1.8.2-1.3.7-1.8c.5-.5,1.1-.7,1.8-.7s1.3.2,1.8.7c.5.5.7,1.1.7,1.8s-.2,1.3-.7,1.8-1.1.7-1.8.7ZM4,21c-.6,0-1-.2-1.4-.6-.4-.4-.6-.9-.6-1.4V7c0-.6.2-1,.6-1.4s.9-.6,1.4-.6h3.2l1.9-2h6l1.9,2h3.2c.6,0,1,.2,1.4.6s.6.9.6,1.4v12c0,.6-.2,1-.6,1.4-.4.4-.9.6-1.4.6H4ZM4,19h16V7h-4.1l-1.8-2h-4.3l-1.8,2H4v12Z');
/* yahoo logo */
--yahoo-logo-display: none;
--yahoo-logo: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScxNDUnIGhlaWdodD0nNDAnIGZpbGw9J25vbmUnPjxwYXRoIGZpbGw9JyNmZmYnIGZpbGwtcnVsZT0nZXZlbm9kZCcgZD0nbTk3LjM5MiA1LTUuOTE4IDE0LjUxMmg2LjYxTDEwNC4wMDMgNWgtNi42MVpNODkuNDYgMjQuNzIyYzAgMi4wMTQgMS41NDIgMy42NzYgMy42MiAzLjY3NiAyLjE0IDAgMy43NDctMS43MjYgMy43NDctMy44MDMgMC0yLjA0Ny0xLjU0My0zLjY3Ni0zLjYyLTMuNjc2LTIuMTQxIDAtMy43NDcgMS43NTctMy43NDcgMy44MDNabS01Ljk4MS00LjYwM2MwLTEuNzktMS4zMjItMy4yMjktMy4xNDgtMy4yMjlzLTMuMTQ4IDEuNDM5LTMuMTQ4IDMuMjNjMCAxLjc5IDEuMzIyIDMuMjI4IDMuMTQ4IDMuMjI4czMuMTQ4LTEuNDM4IDMuMTQ4LTMuMjI5Wm0tMTcuODE4IDBjMC0xLjc5LTEuMzIyLTMuMjI5LTMuMTQ4LTMuMjI5cy0zLjE0OCAxLjQzOS0zLjE0OCAzLjIzYzAgMS43OSAxLjMyMiAzLjIyOCAzLjE0OCAzLjIyOHMzLjE0OC0xLjQzOCAzLjE0OC0zLjIyOVptLTM4LjIxNyAzLjI5M2MtMS44NTcgMC0zLjI3My0xLjQzOS0zLjI3My0zLjI5M3MxLjQxNi0zLjI5MSAzLjI3My0zLjI5MWMxLjgyNiAwIDMuMjQzIDEuNDM3IDMuMjQzIDMuMjkxIDAgMS44NTQtMS40MTcgMy4yOTMtMy4yNDMgMy4yOTNaTS43OCAxMi4wOTZsNi43MzYgMTYuMTQyLTIuNDIzIDUuODE4aDUuOTE4bDguOTcyLTIxLjk2aC01Ljg4OGwtMy42NSA5LjM5Ny0zLjYyLTkuMzk3SC43OFptNzAuMTY5IDguMDIzYzAgNC43OTUtMy42MiA4LjQwNy04LjQzNyA4LjQwNy00LjgxNiAwLTguNDM2LTMuNjEyLTguNDM2LTguNDA3IDAtNC43OTQgMy42Mi04LjQwNiA4LjQzNi04LjQwNiA0LjgxNyAwIDguNDM3IDMuNjEyIDguNDM3IDguNDA2Wm0xNy44MTcgMGMwIDQuNzk1LTMuNjIgOC40MDctOC40MzYgOC40MDctNC44MTcgMC04LjQzNi0zLjYxMi04LjQzNi04LjQwNyAwLTQuNzk0IDMuNjE5LTguNDA2IDguNDM2LTguNDA2IDQuODE2IDAgOC40MzYgMy42MTIgOC40MzYgOC40MDZaTTM3LjggNXYyMy4xMWg1LjU3M3YtOC41MzRjMC0xLjY2My43ODYtMi42NTQgMi4wNDYtMi42NTQgMS4yMjcgMCAxLjkyLjg2NCAxLjkyIDIuNDYydjguNzI2aDUuNTcyVjE4LjA0MmMwLTMuOS0yLjA3OC02LjMzLTUuNDE1LTYuMzMtMS43OTQgMC0zLjE4LjcwNC00LjE1NSAxLjk1VjVoLTUuNTRabS03LjI0IDcuMDk2djEuNTAzYy0uODUtMS4xMi0yLjQyNC0xLjg4Ni00LjI1LTEuODg2LTQuMzEzIDAtNy41MjMgMy44NjctNy41MjMgOC40MDYgMCA0LjY2NyAzLjE3OSA4LjQwNyA3LjUyMyA4LjQwNyAxLjgyNiAwIDMuNC0uNzM1IDQuMjUtMS45MTh2MS41MDJoNS4zODRWMTIuMDk2SDMwLjU2WicgY2xpcC1ydWxlPSdldmVub2RkJy8+PG1hc2sgaWQ9J2EnIHdpZHRoPScxMDUnIGhlaWdodD0nMzAnIHg9JzAnIHk9JzUnIG1hc2tVbml0cz0ndXNlclNwYWNlT25Vc2UnIHN0eWxlPSdtYXNrLXR5cGU6bHVtaW5hbmNlJz48cGF0aCBmaWxsPScjZmZmJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J205Ny4zOTIgNS01LjkxOCAxNC41MTJoNi42MUwxMDQuMDAzIDVoLTYuNjFaTTg5LjQ2IDI0LjcyMmMwIDIuMDE0IDEuNTQyIDMuNjc2IDMuNjIgMy42NzYgMi4xNCAwIDMuNzQ3LTEuNzI2IDMuNzQ3LTMuODAzIDAtMi4wNDctMS41NDMtMy42NzYtMy42Mi0zLjY3Ni0yLjE0MSAwLTMuNzQ3IDEuNzU3LTMuNzQ3IDMuODAzWm0tNS45ODEtNC42MDNjMC0xLjc5LTEuMzIyLTMuMjI5LTMuMTQ4LTMuMjI5cy0zLjE0OCAxLjQzOS0zLjE0OCAzLjIzYzAgMS43OSAxLjMyMiAzLjIyOCAzLjE0OCAzLjIyOHMzLjE0OC0xLjQzOCAzLjE0OC0zLjIyOVptLTE3LjgxOCAwYzAtMS43OS0xLjMyMi0zLjIyOS0zLjE0OC0zLjIyOXMtMy4xNDggMS40MzktMy4xNDggMy4yM2MwIDEuNzkgMS4zMjIgMy4yMjggMy4xNDggMy4yMjhzMy4xNDgtMS40MzggMy4xNDgtMy4yMjlabS0zOC4yMTcgMy4yOTNjLTEuODU3IDAtMy4yNzMtMS40MzktMy4yNzMtMy4yOTNzMS40MTYtMy4yOTEgMy4yNzMtMy4yOTFjMS44MjYgMCAzLjI0MyAxLjQzNyAzLjI0MyAzLjI5MSAwIDEuODU0LTEuNDE3IDMuMjkzLTMuMjQzIDMuMjkzWk0uNzggMTIuMDk2bDYuNzM2IDE2LjE0Mi0yLjQyMyA1LjgxOGg1LjkxOGw4Ljk3Mi0yMS45NmgtNS44ODhsLTMuNjUgOS4zOTctMy42Mi05LjM5N0guNzhabTcwLjE2OSA4LjAyM2MwIDQuNzk1LTMuNjIgOC40MDctOC40MzcgOC40MDctNC44MTYgMC04LjQzNi0zLjYxMi04LjQzNi04LjQwNyAwLTQuNzk0IDMuNjItOC40MDYgOC40MzYtOC40MDYgNC44MTcgMCA4LjQzNyAzLjYxMiA4LjQzNyA4LjQwNlptMTcuODE3IDBjMCA0Ljc5NS0zLjYyIDguNDA3LTguNDM2IDguNDA3LTQuODE3IDAtOC40MzYtMy42MTItOC40MzYtOC40MDcgMC00Ljc5NCAzLjYxOS04LjQwNiA4LjQzNi04LjQwNiA0LjgxNiAwIDguNDM2IDMuNjEyIDguNDM2IDguNDA2Wk0zNy44IDV2MjMuMTFoNS41NzN2LTguNTM0YzAtMS42NjMuNzg2LTIuNjU0IDIuMDQ2LTIuNjU0IDEuMjI3IDAgMS45Mi44NjQgMS45MiAyLjQ2MnY4LjcyNmg1LjU3MlYxOC4wNDJjMC0zLjktMi4wNzgtNi4zMy01LjQxNS02LjMzLTEuNzk0IDAtMy4xOC43MDQtNC4xNTUgMS45NVY1aC01LjU0Wm0tNy4yNCA3LjA5NnYxLjUwM2MtLjg1LTEuMTItMi40MjQtMS44ODYtNC4yNS0xLjg4Ni00LjMxMyAwLTcuNTIzIDMuODY3LTcuNTIzIDguNDA2IDAgNC42NjcgMy4xNzkgOC40MDcgNy41MjMgOC40MDcgMS44MjYgMCAzLjQtLjczNSA0LjI1LTEuOTE4djEuNTAyaDUuMzg0VjEyLjA5NkgzMC41NlonIGNsaXAtcnVsZT0nZXZlbm9kZCcvPjwvbWFzaz48ZyBtYXNrPSd1cmwoI2EpJz48cGF0aCBmaWxsPScjZmZmJyBkPSdNMCA1aDEwNHYzMEgweicvPjwvZz48cGF0aCBmaWxsPScjZmZmJyBmaWxsLXJ1bGU9J2V2ZW5vZGQnIGQ9J00xMTAuOTAyIDE4LjR2LTMuODUzaDIuMDc4VjEyLjU3aC0yLjA3OFY5aC0ydjMuNTdoLTIuNzQ1djEuOTc3aDIuNzQ1djQuNDk4Yy0xIC4zMjItMS44NjMuNTQ0LTIuOTAyLjc0NmwuMjk0IDIuMTk4YTU2LjI1NiA1Ni4yNTYgMCAwIDAgMi42MDgtLjc4NnY0LjA1NGMwIC4zNjMtLjExOC40ODQtLjQ3MS40ODRoLTJsLjMzNCAyLjE1OGgyLjYwOGMxLjEzNyAwIDEuNTI5LS42ODYgMS41MjktMS43NzV2LTUuNjQ3YTQ3LjY2OCA0Ny42NjggMCAwIDAgMi4xMTgtLjkwOGwtLjExOC0xLjkxNmMtLjY2Ny4yNjItMS4zMzMuNTA0LTIgLjc0NlptNi43ODQtOS4zNmEyMS4wMSAyMS4wMSAwIDAgMS0uNzY0IDIuNjgzaC0zLjIzNnYxNi4xMzZoMi4wMnYtMS4yMWg2LjAzOXYxLjIxaDIuMDJWMTEuNzIzaC00LjcyNmMuMjk0LS44MjcuNjA4LTEuNjU0Ljg0My0yLjUyMWwtMi4xOTYtLjE2MlptNC4wNTkgNC42MnY0LjMzNmgtNi4wMzl2LTQuMzM3aDYuMDM5Wm0wIDYuMTcxdjQuODgxaC02LjAzOXYtNC44OGg2LjAzOVptMTQuMTE4LTEwLjc5aC0yLjAzOXYuODQ2aC04LjA5OXYxLjQzMmg4LjA5OXYuODg4aC02Ljk2MXYxLjI1aDE2LjAzOXYtMS4yNWgtNy4wMzl2LS44ODhIMTQ0VjkuODg3aC04LjEzN1Y5LjA0Wk0xNDMgMTQuMTYzaC0xNi4yMzV2My4yNjdIMTQzdi0zLjI2OFptLTExLjQxMiAxLjA4OXYxLjA4OWgtMi45NjF2LTEuMDloMi45NjFabTQuNzY1IDB2MS4wODloLTIuOTh2LTEuMDloMi45OFptNC43NDUgMHYxLjA4OWgtMi45OHYtMS4wOWgyLjk4Wm0tMS41NjkgMTAuMTA1aDIuNDkxdi03LjIyMWgtMTQuMjk1djcuMjJoMi45MjJjLTEuNTY5LjU2Ni0zLjIzNS43NjctNC45MDIuODI4bC43NjUgMS43NTVjMS45NDEtLjIwMiA0LjEzNy0uNjg2IDUuOTAyLTEuNTc0bC0uODQzLTEuMDA4aDYuNjA3bC0uODIzIDEuMDY5YzIgLjQ2NCA0IC45NjggNS45NjEgMS41NzNsLjY4Ni0xLjYzNGE4MC4zMTIgODAuMzEyIDAgMCAwLTQuNDcxLTEuMDA4Wm0uNTEtNi4wMzF2Ljg4N2gtMTAuMzMzdi0uODg3aDEwLjMzM1ptMCAxLjg3NnYuOTA3aC0xMC4zMzN2LS45MDdoMTAuMzMzWm0wIDEuODk2di45NDhoLTEwLjMzM3YtLjk0OGgxMC4zMzNaJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnLz48L3N2Zz4=) no-repeat 50% 50% / contain;
/* emotions */
--emotion-sign-1: var(
--yahoo-x-bv-player-emotion-sign-1,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0nI0ZDREExOScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI0ZGNEQ1MicgZD0nTTYuNDIzIDE0LjQxM2MuODEgMS4wNjggMi4wNyAxLjc4IDMuNjYyIDEuNzggMS42MzEgMCAyLjg5MS0uNjA3IDMuNzcyLTEuNjExYTQuODEgNC44MSAwIDAgMCAuNzI1LTEuMWMuMTEyLS4yMzQuMTgyLS40MjcuMjE5LS41NmExIDEgMCAwIDAtMS45MjgtLjUzbC0uMDEzLjAzN2EyLjgzOCAyLjgzOCAwIDAgMS0uNTEuODQ1Yy0uNTEyLjU4NC0xLjIzLjkzLTIuMjY1LjkzLS45MiAwLTEuNjEyLS4zOS0yLjA2NS0uOTg4YTEuMDA0IDEuMDA0IDAgMCAwLTEuNC0uMTk1Ljk5Ljk5IDAgMCAwLS4xOTcgMS4zOTJaJy8+PHBhdGggZmlsbD0nIzVGNUY1RicgZD0nTTkuNTI0IDYuMjk4Yy0uMTgyLS41OTMtLjczMi0uOTk0LTEuNDg2LS45OTRIMy44ODZjLTEuMTA0IDAtMS43Ny44Ni0xLjQ4OCAxLjkyMmwuMyAxLjEyOGMuMjgyIDEuMDYyIDEuNDA4IDEuOTIyIDIuNTE0IDEuOTIyaDEuNWMxLjEwNSAwIDIuMjMxLS44NiAyLjUxMy0xLjkyMmwuMDE4LS4wNjdoMi4xMDRsLjAxOC4wNjdjLjI4MiAxLjA2MSAxLjQwOCAxLjkyMiAyLjUxNCAxLjkyMmgxLjQ5OWMxLjEwNiAwIDIuMjMyLS44NiAyLjUxNC0xLjkyMmwuMy0xLjEyOGMuMjgyLTEuMDYyLS4zODQtMS45MjItMS40ODgtMS45MjJoLTQuMTUyYy0uNzU0IDAtMS4zMDMuNDAxLTEuNDg2Ljk5NEg5LjUyNFonLz48L3N2Zz4=)
);
--emotion-sign-2: var(
--yahoo-x-bv-player-emotion-sign-2,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0ndXJsKCNhKScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nIzVGNUY1RicgZD0nTTEzLjYzNiA2LjUxYy0uOTA0IDAtMS42MzYuNzI4LTEuNjM2IDEuNjI2IDAgLjkuNzMyIDEuNjI4IDEuNjM2IDEuNjI4LjkwNCAwIDEuNjM3LS43MjggMS42MzctMS42MjggMC0uODk4LS43MzMtMS42MjctMS42MzctMS42MjdaJy8+PHBhdGggZmlsbD0nI0ZGNEQ1MicgZD0nTTUuNTE5IDEzLjMyM2MuNjU2IDEuNzE1IDIuNDkgMi45NSA0LjY1MiAyLjk1IDIuMTYgMCAzLjk5NS0xLjIzNSA0LjY1MS0yLjk1LjI1OS0uNjc1LS4zLTEuMzktMS4wNC0xLjM5SDYuNTZjLS43NDEgMC0xLjMuNzE1LTEuMDQxIDEuMzlaJy8+PHBhdGggZmlsbD0nIzVGNUY1RicgZD0nTTcuMDkgOS43NjRjLjkwNSAwIDEuNjM3LS43MjggMS42MzctMS42MjggMC0uODk4LS43MzItMS42MjctMS42MzYtMS42MjctLjkwNCAwLTEuNjM2LjczLTEuNjM2IDEuNjI3IDAgLjkuNzMyIDEuNjI4IDEuNjM2IDEuNjI4WicvPjxkZWZzPjxsaW5lYXJHcmFkaWVudCBpZD0nYScgeDE9JzEyJyB4Mj0nLTEyJyB5MT0nLTEyJyB5Mj0nMTInIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJz48c3RvcCBzdG9wLWNvbG9yPScjRkVFRjM2Jy8+PHN0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPScjRkNEQTE5Jy8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+)
);
--emotion-sign-3: var(
--yahoo-x-bv-player-emotion-sign-3,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0nI0ZDREExOScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI0ZDREExOScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI0ZGNEQ1MicgZD0nTTYgMTIuMjY1IDIuODg3IDkuMDIxYTIuMDQ1IDIuMDQ1IDAgMCAxIDAtMi43OTkgMS44NjYgMS44NjYgMCAwIDEgMS4zNTgtLjU4N2MxLjA2MiAwIDEuNTU4Ljg0MyAxLjc1NSAxLjAwMi4yMDMtLjE2NC42ODctMS4wMDIgMS43NTUtMS4wMDIuNTE0IDAgLjk5Ny4yMDkgMS4zNTguNTg3YTIuMDQ1IDIuMDQ1IDAgMCAxIDAgMi43OThMNiAxMi4yNjVaTTE1IDEyLjI2NWwtMy4xMTMtMy4yNDRhMi4wNDUgMi4wNDUgMCAwIDEgMC0yLjc5OSAxLjg2NiAxLjg2NiAwIDAgMSAxLjM1OC0uNTg3YzEuMDYzIDAgMS41NTguODQzIDEuNzU1IDEuMDAyLjIwMy0uMTY0LjY4Ny0xLjAwMiAxLjc1NS0xLjAwMi41MTQgMCAuOTk3LjIwOSAxLjM1OC41ODdhMi4wNDUgMi4wNDUgMCAwIDEgMCAyLjc5OEwxNSAxMi4yNjVaJy8+PHBhdGggZmlsbD0nIzVGNUY1RicgZD0nTTEyLjMzIDE0LjZhMiAyIDAgMSAxLTQgMCAyIDIgMCAwIDEgNCAwWicvPjwvc3ZnPg==)
);
--emotion-sign-4: var(
--yahoo-x-bv-player-emotion-sign-4,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0ndXJsKCNhKScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI2ZmZicgZD0nTTE1IDQuNjRjLTIuMDI3IDAtMy42NjcgMS42MzQtMy42NjcgMy42NDdBMy42NTUgMy42NTUgMCAwIDAgMTUgMTEuOTMzYzIuMDI0IDAgMy42NjctMS42MyAzLjY2Ny0zLjY0NiAwLTIuMDEzLTEuNjQzLTMuNjQ2LTMuNjY3LTMuNjQ2Wk02IDQuNjRjLTIuMDI2IDAtMy42NjcgMS42MzQtMy42NjcgMy42NDdBMy42NTUgMy42NTUgMCAwIDAgNiAxMS45MzNjMi4wMjQgMCAzLjY2Ny0xLjYzIDMuNjY3LTMuNjQ2IDAtMi4wMTMtMS42NDMtMy42NDYtMy42NjctMy42NDZaJy8+PHBhdGggZmlsbD0nIzVGNUY1RicgZD0nTTE0Ljk3IDkuODg0Yy45MDQgMCAxLjYzNi0uNzI4IDEuNjM2LTEuNjI3IDAtLjg5OC0uNzMyLTEuNjI3LTEuNjM2LTEuNjI3LS45MDUgMC0xLjYzNy43MjktMS42MzcgMS42MjcgMCAuOS43MzIgMS42MjcgMS42MzcgMS42MjdaTTUuOTcgOS44ODRjLjkwNCAwIDEuNjM2LS43MjggMS42MzYtMS42MjcgMC0uODk4LS43MzItMS42MjctMS42MzYtMS42MjctLjkwNSAwLTEuNjM3LjcyOS0xLjYzNyAxLjYyNyAwIC45LjczMiAxLjYyNyAxLjYzNyAxLjYyN1onLz48cGF0aCBmaWxsPScjRkY0RDUyJyBkPSdNOC4zMzMgMTMuOTM0YTIgMiAwIDEgMSA0IDB2My42MjRhMiAyIDAgMCAxLTQgMHYtMy42MjRaJy8+PGRlZnM+PGxpbmVhckdyYWRpZW50IGlkPSdhJyB4MT0nMTInIHgyPSctMTInIHkxPSctMTInIHkyPScxMicgZ3JhZGllbnRVbml0cz0ndXNlclNwYWNlT25Vc2UnPjxzdG9wIHN0b3AtY29sb3I9JyNGRUVGMzYnLz48c3RvcCBvZmZzZXQ9JzEnIHN0b3AtY29sb3I9JyNGQ0RBMTknLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=)
);
--emotion-sign-5: var(
--yahoo-x-bv-player-emotion-sign-5,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0nI0ZDREExOScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI0ZDREExOScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nIzVGNUY1RicgZD0nTTEyLjY0MyA2LjM4OWEuOTk0Ljk5NCAwIDAgMSAxLjQtLjEyM2wyLjA1MiAxLjcyMWEuOTk0Ljk5NCAwIDEgMS0xLjI3OCAxLjUyNEwxMi43NjUgNy43OWEuOTk0Ljk5NCAwIDAgMS0uMTIyLTEuNDAxWk04LjIxOCA2LjM4OWEuOTk0Ljk5NCAwIDAgMC0xLjQwMS0uMTIzTDQuNzY1IDcuOTg3YS45OTQuOTk0IDAgMCAwIDEuMjc5IDEuNTI0TDguMDk1IDcuNzlhLjk5NC45OTQgMCAwIDAgLjEyMy0xLjQwMVonLz48cGF0aCBmaWxsPScjRkY0RDUyJyBkPSdNMTIuMzcgMTUuNzg2YzEuMTY3IDAgMi4wMDUtLjU2MiAyLjQ1NS0xLjQ0NmEzLjIzNCAzLjIzNCAwIDAgMCAuMzQ1LTEuMzMyLjk5Ny45OTcgMCAwIDAtLjk4Mi0xLjAxMy45OTcuOTk3IDAgMCAwLTEuMDE4Ljk3NmMtLjAwMS4wODktLjAzOC4yOS0uMTMuNDctLjEyMy4yNDMtLjI5Mi4zNTYtLjY3LjM1Ni0uNCAwLS42MTUtLjEzNi0uNzc3LS40MWExLjM5MiAxLjM5MiAwIDAgMS0uMTgtLjQ5OGMtLjEyLTEuMTgyLTEuODQ3LTEuMTk3LTEuOTg4LS4wMTYtLjAxMS4wOTktLjA3LjMxMS0uMTkuNTEtLjE2NS4yNzgtLjM3OC40MTQtLjc1Ny40MTQtLjM1MyAwLS41MjUtLjEyLS42Ni0uMzg2YTEuNTE4IDEuNTE4IDAgMCAxLS4xNTItLjUyOC45OTguOTk4IDAgMCAwLTEuMDQ1LS45NDguOTk3Ljk5NyAwIDAgMC0uOTUzIDEuMDM4IDMuNDY4IDMuNDY4IDAgMCAwIC4zNjUgMS4zMzZjLjQ1Ny44OTggMS4yODcgMS40NzcgMi40NDUgMS40NzcuNzkzIDAgMS40NDMtLjI2NSAxLjkzNS0uNzE2LjQ5NS40NTIgMS4xNTIuNzE2IDEuOTU2LjcxNlonLz48cGF0aCBmaWxsPScjRkY0RDUyJyBkPSdNMSAxMS42MDVjMC0uNzMyLjU5My0xLjMyNSAxLjMyNS0xLjMyNWgxLjM1YTEuMzI1IDEuMzI1IDAgMSAxIDAgMi42NWgtMS4zNUExLjMyNSAxLjMyNSAwIDAgMSAxIDExLjYwNVpNMTYuMzMgMTEuNjA1YzAtLjczMi41OTMtMS4zMjUgMS4zMjUtMS4zMjVoMS4zNWExLjMyNSAxLjMyNSAwIDEgMSAwIDIuNjVoLTEuMzVhMS4zMjUgMS4zMjUgMCAwIDEtMS4zMjUtMS4zMjVaJyBvcGFjaXR5PScuMycvPjwvc3ZnPg==)
);
--emotion-sign-6: var(
--yahoo-x-bv-player-emotion-sign-6,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0nI0ZDREExOScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI0ZGNEQ1MicgZD0nTTcgMTUuMmMwLTEuMTA1Ljg5LTIgMS45ODgtMmg0LjAyNGMxLjA5OCAwIDEuOTg4Ljg5NSAxLjk4OCAycy0uODkgMi0xLjk4OCAySDguOTg4QTEuOTk0IDEuOTk0IDAgMCAxIDcgMTUuMlonLz48cGF0aCBmaWxsPScjZmZmJyBkPSdNNS43MyA1LjM2Yy4xMy0uNDguODA5LS40OC45MzggMGwuNjY2IDIuNDY4IDIuMDc0LjQxNmMuNTIuMTA0LjUyLjg0OCAwIC45NTJsLTIuMDc0LjQxNi0uNjY2IDIuNDY5Yy0uMTMuNDc5LS44MDkuNDc5LS45MzggMGwtLjY2Ni0yLjQ3LTIuMDc0LS40MTVjLS41Mi0uMTA0LS41Mi0uODQ4IDAtLjk1MmwyLjA3NC0uNDE2LjY2Ni0yLjQ2OVpNMTUuMTMgNS4zNmMuMTMtLjQ4LjgwOS0uNDguOTM4IDBsLjY2NiAyLjQ2OCAyLjA3NC40MTZjLjUyLjEwNC41Mi44NDggMCAuOTUybC0yLjA3NC40MTYtLjY2NiAyLjQ2OWMtLjEzLjQ3OS0uODA5LjQ3OS0uOTM4IDBsLS42NjYtMi40Ny0yLjA3NC0uNDE1Yy0uNTItLjEwNC0uNTItLjg0OCAwLS45NTJsMi4wNzQtLjQxNi42NjYtMi40NjlaJy8+PC9zdmc+)
);
--emotion-sign-7: var(
--yahoo-x-bv-player-emotion-sign-7,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0ndXJsKCNhKScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI2ZmZicgZmlsbC1ydWxlPSdldmVub2RkJyBkPSdtMTguMTkxIDExLjY4OC0uMTY2LjE1NC4wOTQuMjA1Yy4wOC4xNzQuMTIzLjM3LjEyMy41NjYgMCAuMzY3LS4xNjcuNjU0LS40OTYuODUzbC0uMjQ2LjE1LjEyNy4yNTZjLjA4NS4xNzIuMTI4LjM1OC4xMjguNTUgMCAuMzMtLjE2LjU5Ni0uNDg2LjgxNWwtLjIyNy4xNS4xMTcuMjQ1Yy4wNzguMTYyLjExNy4zNDQuMTE3LjU0IDAgLjkwNi0uNzM4IDEuMjYxLTEuMzcgMS4yNjFsLTcuMzg2LjAwN1Y5LjljLjAyMi0uMDM0LjAzNy0uMDYuMDUtLjA4My4wMy0uMDUuMDUtLjA4NS4xMTQtLjE1OC40MjQtLjM2LjgxNC0uNzI1IDEuMTYxLTEuMDg1LjA5Ni0uMS4xOS0uMi4yOC0uMzAxLjc3LS44NTIgMS4wNTItMS41MjUgMS4wMDktMi40YS44NDYuODQ2IDAgMCAxIC4yODgtLjY5M2MuMjY3LS4yMzcuNjc0LS4zMzcgMS4wODktLjI3My43OC4xMjMgMS4zNDIuNzYgMS40NjQgMS42NjMuMTIuODgzLjA1OCAxLjc0Ny0uMTc0IDIuNDMybC0uMTQuNDEzaDMuMjZjLjgyOCAwIDEuNzIyLjUxNCAxLjcyMiAxLjM0NCAwIC4zMy0uMTYuNjYtLjQ1Mi45M1ptLTEyLjgzNCA2LjA2LjAwNi03LjUyOWMwLS4xNjguMTE1LS4zMTMuMzEtLjMxM2gxLjU4MnY4LjE1M0g1LjY3M2EuMzA0LjMwNCAwIDAgMS0uMzE2LS4zMTJaJyBjbGlwLXJ1bGU9J2V2ZW5vZGQnLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9J2EnIHgxPScxNC4zNzInIHgyPSczNC41NDInIHkxPSczMS4xNycgeTI9JzEwLjA4NScgZ3JhZGllbnRVbml0cz0ndXNlclNwYWNlT25Vc2UnPjxzdG9wIHN0b3AtY29sb3I9JyMzQUJGQkEnLz48c3RvcCBvZmZzZXQ9JzEnIHN0b3AtY29sb3I9JyNGQ0RBMTknLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=)
);
--emotion-sign-8: var(
--yahoo-x-bv-player-emotion-sign-8,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0ndXJsKCNhKScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI2ZmZicgZD0nbTEyIDE4LjktNS45NDMtNi4xNzdjLTEuNDEtMS40NjktMS40MS0zLjg1OCAwLTUuMzI2YTMuNTcgMy41NyAwIDAgMSA1LjE4NSAwbC43NTguNzkuNzU3LS43OWEzLjU2OCAzLjU2OCAwIDAgMSA1LjE4NyAwYzEuNDA4IDEuNDY4IDEuNDA4IDMuODU3IDAgNS4zMjVMMTIgMTguOVonLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9J2EnIHgxPScxMS45NzQnIHgyPSczNS45MjInIHkxPSczNS45NzQnIHkyPScxMi4wMjYnIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJz48c3RvcCBzdG9wLWNvbG9yPScjRkY0RDUyJy8+PHN0b3Agb2Zmc2V0PScxJyBzdG9wLWNvbG9yPScjRkY4QTAwJy8+PC9saW5lYXJHcmFkaWVudD48L2RlZnM+PC9zdmc+)
);
--emotion-sign-9: var(
--yahoo-x-bv-player-emotion-sign-9,
url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHdpZHRoPScyNCcgaGVpZ2h0PScyNCcgZmlsbD0nbm9uZSc+PHBhdGggZmlsbD0ndXJsKCNhKScgZD0nTTEyIDBjNi42MjcgMCAxMiA1LjM3MyAxMiAxMnMtNS4zNzMgMTItMTIgMTJTMCAxOC42MjcgMCAxMiA1LjM3MyAwIDEyIDBaJy8+PHBhdGggZmlsbD0nI2ZmZicgZD0nTTUuMjE0IDExLjY0OEg3Ljg3VjguNzJoMS43NDR2Mi45MjhoMi42NzJ2MS42NDhIOS42MTR2Mi45MTJINy44N3YtMi45MTJINS4yMTR2LTEuNjQ4Wk0xNS43NDYgMThWOS4xODRsLTIuMjQgMS4zNzYtLjA5Ni0uMDMyVjguNDk2bDIuOTI4LTEuNzc2aDEuODcyVjE4aC0yLjQ2NFonLz48ZGVmcz48bGluZWFyR3JhZGllbnQgaWQ9J2EnIHgxPScxMS45NzQnIHgyPSczNS45MjInIHkxPSczNS45NzQnIHkyPScxMi4wMjYnIGdyYWRpZW50VW5pdHM9J3VzZXJTcGFjZU9uVXNlJz48c3RvcCBzdG9wLWNvbG9yPScjRkY4QTAwJy8+PHN0b3Agb2Zmc2V0PScuNTknIHN0b3AtY29sb3I9JyNGRkE3MDAnLz48L2xpbmVhckdyYWRpZW50PjwvZGVmcz48L3N2Zz4=)
);
position: relative;
inline-size: 100%;
block-size: 100%;
overflow: hidden;
outline: 0 none;
background-color: rgba(0 0 0);
container-type: inline-size;
&[data-fullscreen=true] {
position: fixed;
inset: 0;
z-index: 2147483647;
#button-fullscreen {
--before-scale: 0;
--after-scale: var(--button-icon-scale-basis);
}
}
/* safe area */
&:fullscreen,
&[data-fullscreen=true] {
--video-object-fit: contain;
.host,
.chatroom {
--padding-inline: max(var(--padding-inline-basis), var(--safe-area-left));
--padding-block-start: max(var(--padding-block-start-basis), var(--safe-area-top));
}
.cancel-refreshing {
--padding-inline: max(var(--padding-inline-basis), var(--safe-area-left));
--padding-block-end: max(var(--padding-block-end-basis), var(--safe-area-bottom));
}
.preview {
--padding-inline: max(var(--padding-inline-basis), var(--safe-area-right));
}
.controls,
.live-controls,
.chatroom {
--padding-inline: max(var(--padding-inline-basis), var(--safe-area-left), var(--safe-area-right));
--padding-block-end: max(var(--padding-block-end-basis), var(--safe-area-bottom));
}
.chatroom {
--chatroom-max-inline-size: calc(100% * 2 / 3);
}
.live-controls {
--emotion-float-ratio: 6;
}
}
&[data-mode=clear] {
--control-axis-y: 100%;
}
&.main--refreshing {
--refreshing-axis-inline-start: -100%;
--refreshing-axis-inline-end: 100%;
--refreshing-axis-block-start: -100%;
--refreshing-axis-block-end: 100%;
--refreshing-button-scale: 1;
--refreshing-button-pointer-events: auto;
}
&[data-type=live] {
--LIVE: var(--ON);
--REPLAY: var(--OFF);
}
&[data-type=replay] {
--LIVE: var(--OFF);
--REPLAY: var(--ON);
}
@container (width > 767px) {
.host,
.chatroom {
--host-avatar-size: 40;
--host-name-font-size: 14px;
--host-count-font-size: 12px;
}
.controls,
.live-controls,
.chatroom {
--slider-thumb-size: 20px;
--indicator-block-size: calc(var(--slider-thumb-size) * .35);
--time-info-text-size: 18px;
--button-size: 40;
}
.live-controls {
--live-controls-input-font-size: 16px;
}
.preview {
--preview-image-size: 100px;
}
.cancel-refreshing {
--button-size: 40;
}
.reactions {
--reaction-size: 70;
}
}
/* handle small size */
@container (width < 320px) {
.controls {
.button--screenshot {
display: none;
}
}
}
@container (width <= 190px) {
.controls .actions__part--end {
visibility: hidden;
pointer-events: none;
}
.preview {
display: none;
}
.chatroom {
--chatroom-max-inline-size: calc(100% - var(--padding-inline) * 2);
}
}
.video-container {
inline-size: 100%;
block-size: 100%;
> * {
position: relative;
inline-size: 100%;
block-size: 100%;
> *:not(:has(video)) {
display: none;
}
> *:has(video) {
position: relative;
inline-size: 100%;
block-size: 100%;
}
}
video {
inline-size: 100%;
block-size: 100%;
display: block;
object-fit: var(--video-object-fit);
outline: 0 none;
background-color: rgba(0 0 0);
&::backdrop {
background-color: rgba(0 0 0);
}
}
}
.scenes {
.host {
--avatar-size: calc(var(--host-avatar-size) * 1px);
--host-block-size: calc(var(--avatar-size) + var(--host-avatar-padding) * 2);
position: absolute;
inset-inline-start: 0;
inset-block-start: 0;
padding-inline-start: var(--padding-inline);
padding-block-start: var(--padding-block-start);
translate: 0 var(--refreshing-axis-block-start);
transition: translate var(--refreshing-animation-duration) var(--refreshing-animation-timing-function);
will-change: translate;
.host__ens {
--button-size: var(--host-avatar-size);
--button-size-with-unit: calc(var(--button-size) * 1px);
--button-icon-scale-basis: calc((var(--button-size) * .75) / 24);
block-size: var(--host-block-size);
padding: var(--host-avatar-padding);
background-color: rgba(0 0 0/.8);
border-radius: var(--host-block-size);
box-sizing: border-box;
display: flex;
gap: var(--host-avatar-padding);
align-items: center;
outline: 0 none;
}
.host__ens__avatar {
flex-shrink: 0;
inline-size: var(--avatar-size);
aspect-ratio: 1/1;
border-radius: var(--avatar-size);
display: block;
object-fit: cover;
}
.host__ens__info {
min-inline-size: 0;
max-inline-size: 120px;
display: flex;
flex-direction: column;
gap: 4px;
.host__ens__info__name {
font-size: var(--host-name-font-size);
line-height: 1;
color: rgba(255 255 255);
}
.host__ens__count {
font-size: var(--host-count-font-size);
color: rgba(var(--gandalf));
&::after {
content: ' ' var(--host-count-text);
}
}
}
.button--follow {
--before-icon: var(--icon-favorite-border);
--after-icon: var(--icon-favorite);
&::after {
--button-icon-color: rgba(var(--solo-cup));
}
}
}
.chatroom {
--inset-block-end:
var(
--REPLAY,
calc(
var(--padding-block-end)
+ var(--button-size) * 1px
+ var(--slider-thumb-size)
)
)
var(
--LIVE,
calc(
var(--padding-block-end)
+ var(--button-size) * 1px
)
);
--block-size-basis: calc(
100%
- var(--padding-block-start)
- var(--inset-block-end)
- (var(--host-avatar-size) * 1px)
- (var(--host-avatar-padding) * 2)
- 16px
);
--block-size: calc(var(--block-size-basis) * 2 / 3);
--gap: 1em;
--mask-vertical-size: var(--gap);
--mask-vertical: linear-gradient(
to bottom,
transparent 0%,
black calc(0% + var(--mask-vertical-size)),
black calc(100% - var(--mask-vertical-size)),
transparent 100%
);
position: absolute;
inset-inline-start: 0;
inset-block-end: var(--chatroom-inset-block-end);
inset-block-end: var(--inset-block-end);
inline-size: var(--chatroom-max-inline-size);
block-size: var(--block-size);
max-block-size: var(--chatroom-max-block-size);
padding-inline-start: var(--padding-inline);
pointer-events: none;
translate: var(--refreshing-axis-inline-start) 0;
transition: translate var(--refreshing-animation-duration) var(--refreshing-animation-timing-function);
will-change: translate;
.auto-scroll {
inline-size: fit-content;
block-size: 100%;
padding-block: var(--gap);
box-sizing: border-box;
pointer-events: auto;
display: flex;
flex-direction: column-reverse;
overflow: hidden;
overflow-y: auto;
-webkit-overflow-scrolling: touch;
overscroll-behavior: contain;
box-sizing: border-box;
mask-image: var(--mask-vertical);
-webkit-mask-image: var(--mask-vertical);
/* scroll */
scrollbar-width: none;
overflow-anchor: none;
&::-webkit-scrollbar {
display: none;
}
}
.chatroom__messages {
display: flex;
flex-direction: column;
align-items: flex-start;
gap: 6px;
}
.chatroom__messages__unit {
--color: rgba(255 255 255);
--background-color: rgba(0 0 0/.45);
--host-color: color-mix(in srgb, rgba(255 211 51) 60%, rgba(255 255 255));
font-size: .875em;
color: var(--color);
background-color: var(--background-color);
line-height: 1.3;
padding: 3px 12px;
border-radius: 16px;
hyphens: auto;
word-break: break-all;
&.chatroom__messages__unit--rushbuying {
--color: rgba(35 42 49);
--background-color: rgba(252 218 25);
--host-color: rgba(35 42 49);
.chatroom__messages__unit__host {
padding-inline-end: 0;
&::before {
content: '《';
}
&::after {
content: '》';
}
}
}
&.chatroom__messages__unit--announce {
--line-height: 20px;
line-height: var(--line-height);
&::before {
content: '';
block-size: var(--line-height);
aspect-ratio: 1.5/1;
background-color: rgba(255 0 0);
border-radius: var(--line-height);
display: block;
float: inline-start;
margin-inline-end: 4px;
background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDI0IDI0IiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiNmZmZmZmYiPjxnPjxyZWN0IGZpbGw9Im5vbmUiIGhlaWdodD0iMjQiIHdpZHRoPSIyNCIvPjwvZz48cGF0aCBkPSJNMTgsMTFjMCwwLjY3LDAsMS4zMywwLDJjMS4yLDAsMi43NiwwLDQsMGMwLTAuNjcsMC0xLjMzLDAtMkMyMC43NiwxMSwxOS4yLDExLDE4LDExeiIvPjxwYXRoIGQ9Ik0xNiwxNy42MWMwLjk2LDAuNzEsMi4yMSwxLjY1LDMuMiwyLjM5YzAuNC0wLjUzLDAuOC0xLjA3LDEuMi0xLjZjLTAuOTktMC43NC0yLjI0LTEuNjgtMy4yLTIuNCBDMTYuOCwxNi41NCwxNi40LDE3LjA4LDE2LDE3LjYxeiIvPjxwYXRoIGQ9Ik0yMC40LDUuNkMyMCw1LjA3LDE5LjYsNC41MywxOS4yLDRjLTAuOTksMC43NC0yLjI0LDEuNjgtMy4yLDIuNGMwLjQsMC41MywwLjgsMS4wNywxLjIsMS42IEMxOC4xNiw3LjI4LDE5LjQxLDYuMzUsMjAuNCw1LjZ6Ii8+PHBhdGggZD0iTTQsOWMtMS4xLDAtMiwwLjktMiwydjJjMCwxLjEsMC45LDIsMiwyaDF2NGgydi00aDFsNSwzVjZMOCw5SDR6IE05LjAzLDEwLjcxTDExLDkuNTN2NC45NGwtMS45Ny0xLjE4TDguNTUsMTNIOEg0di0yaDQgaDAuNTVMOS4wMywxMC43MXoiLz48cGF0aCBkPSJNMTUuNSwxMmMwLTEuMzMtMC41OC0yLjUzLTEuNS0zLjM1djYuNjlDMTQuOTIsMTQuNTMsMTUuNSwxMy4zMywxNS41LDEyeiIvPjwvc3ZnPg==") rgba(15 105 255) no-repeat 50% 50%/contain;
}
}
&[data-admin=y]::before {
--block-size: 18px;
block-size: var(--block-size);
content: var(--chatroom-message-owner-text);
color: var(--chatroom-message-owner-text-color);
font-size: 12px;
padding-inline: 6px;
border-radius: var(--block-size);
background-color: var(--chatroom-message-owner-background-color);
display: inline-flex;
align-items: center;
position: relative;
inset-block-start: -1px;
}
.chatroom__messages__unit__host {
color: var(--host-color);
padding-inline-end: 4px;
}
&[data-active] {
--leaping-scale: 1.1;
animation: leaping 300ms ease;
}
}
}
.preview {
position: absolute;
inset-inline-end: 0;
inset-block-start: var(--preview-inset-block-start);
inline-size: fit-content;
block-size: fit-content;
padding-inline-end: var(--padding-inline);
translate: var(--refreshing-axis-block-end) 0;
transition: translate var(--refreshing-animation-duration) var(--refreshing-animation-timing-function);
will-change: translate;
.preview__trigger {
appearance: none;
font-size: 0;
appearance: none;
box-shadow: unset;
border: unset;
background: transparent;
-webkit-user-select: none;
user-select: none;
pointer-events: auto;
margin: 0;
padding: 0;
outline: 0 none;
position: relative;
inline-size: var(--preview-image-size);
border: 4px solid var(--preview-background-color);
border-radius: 12px;
background-color: var(--preview-background-color);
box-shadow: 0 0 0 1px var(--preview-border-color);
&::before {
position: absolute;
inset-inline-start: 0;
inset-block-start: 0;
color: rgba(255 255 255);
background-color: rgba(0 0 0/.8);
padding-inline: 6px;
line-height: 1.5;
content: '#' attr(data-serial-no);
font-size: 12px;
z-index: 1;
border-end-end-radius: 8px;
}
img {
--mask-vertical: linear-gradient(
to bottom,
black 0%,
black calc(100% - 20px),
transparent 100%
);
inline-size: 100%;
aspect-ratio: 1/1;
object-fit: cover;
border-radius: 10px;
mask-image: var(--mask-vertical);
-webkit-mask-image: var(--mask-vertical);
}
span {
--block-size: 20px;
inline-size: 100%;
block-size: var(--block-size);
border-radius: var(--block-size);
background-color: var(--preview-button-background-color);
color: var(--preview-button-color);
line-height: var(--block-size);
text-align: center;
display: block;
margin-inline: auto;
font-size: 12px;
margin-block: 2px;
}
}
}
.cancel-refreshing {
--button-size-with-unit: calc(var(--button-size) * 1px);
--button-icon-scale-basis: calc((var(--button-size) * .75) / 24);
--refreshing-animation-duration: 200ms;
position: absolute;
inset-inline-start: 0;
inset-block-end: 0;
padding-inline-start: var(--padding-inline);
padding-block-end: var(--padding-block-end);
pointer-events: var(--refreshing-button-pointer-events);
.button--cancel-refreshing {
--before-icon: var(--icon-subtitles);
--after-icon: var(--icon-subtitles-off);
border-radius: var(--button-size-with-unit);
background-color: var(--button-focus-visible-color);
box-shadow: 0 0 0 2px var(--button-focus-visible-color);
scale: var(--refreshing-button-scale);
transition: scale var(--refreshing-animation-duration) var(--refreshing-animation-timing-function);
will-change: scale;
}
}
.poster {
--opacity: 1;
position: absolute;
inset: 0;
inline-size: 100%;
block-size: 100%;
background-color: var(--poster-background-color);
object-fit: contain;
pointer-events: none;
opacity: var(--opacity);
transition: opacity 1s ease;
will-change: opacity;
&[hidden] {
--opacity: 0;
display: block;
}
}
.controls {
position: absolute;
inset-inline: 0;
inset-block-end: 0;
box-sizing: border-box;
padding-inline: var(--padding-inline);
padding-block-end: var(--padding-block-end);
background: linear-gradient(0deg, rgba(0 0 0/.7), transparent 90%);
display: var(--LIVE, none) var(--REPLAY, block);
translate: 0 var(--refreshing-axis-block-end);
transition: translate var(--refreshing-animation-duration) var(--refreshing-animation-timing-function);
will-change: translate;
.progress-wrap {
flex-grow: 1;
position: relative;
.progress__input {
position: relative;
appearance: none;
inline-size: 100%;
display: block;
outline: 0 none;
cursor: pointer;
background: transparent;
z-index: 1;
/* webkit */
&::-webkit-slider-thumb {
appearance: none;
inline-size: var(--slider-thumb-size);
aspect-ratio: 1/1;
border: 0 none;
border-radius: var(--slider-thumb-size);
background: var(--slider-thumb-color);
scale: var(--slider-thumb-scale);
transition: scale 100ms ease;
will-change: scale;
transform-origin: 50% 50%;
box-shadow: 0 0 2px var(--slider-thumb-shadow-color);
}
&:active::-webkit-slider-thumb {
--slider-thumb-scale: var(--slider-thumb-active-scale);
}
&::-webkit-slider-runnable-track {
background: transparent;
}
/* moz */
&::-moz-focus-outer {
border:0 none;
}
&::-moz-range-thumb {
appearance: none;
inline-size: var(--slider-thumb-size);
block-size: var(--slider-thumb-size);
border: 0 none;
border-radius: var(--slider-thumb-size);
background: var(--slider-thumb-color);
scale: var(--slider-thumb-scale);
transition: scale 100ms ease;
will-change: scale;
transform-origin: 50% 50%;
box-shadow: 0 0 2px var(--slider-thumb-shadow-color);
}
&:active::-moz-range-thumb {
--slider-thumb-scale: var(--slider-thumb-active-scale);
}
&::-moz-range-track {
background: transparent;
block-size: var(--slider-thumb-size);
}
}
.progress__indicators {
--background: linear-gradient(to right,var(--indicator-buffer-start),var(--indicator-buffer-end)) no-repeat 0 / 100%;
position: absolute;
inset: 0;
block-size: var(--indicator-block-size);
border-radius: var(--indicator-block-size);