/*全局*/
body {
	margin:0px;
	padding:0px;
	font-size:14px;
	font-family: '微软雅黑', Tahoma, sans-serif;
}
/* 页面禁止滚动 */
body.no-scroll {
	overflow: hidden;
}

select,textarea {
	font-size:14px;
	font-family: 微软雅黑,Tahoma, Helvetica, sans-serif;
	padding:1px;
}
form {margin:0px;padding:0px;}
input[type="text"], input[type="date"],input[type="time"],input[type="number"],input[type="password"],input[type="email"],input[type="button"],input[type="submit"],input[type="reset"],input[type="url"] {
	font-size:14px;
	font-family: 微软雅黑,Tahoma, Helvetica, sans-serif;
}

a {
	color: #000;
	text-decoration: none;
}
a:hover{
	color: #ff0000;
	text-decoration: none;
}
/*全局 结束*/

.mbody {
	margin:2px auto;
	width:1380px;
}
@media(max-width: 768px) {
	.mbody {
		margin:2px auto;
		width:768px;
	}
} 

.live-container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media screen and (max-width: 767px) {
    .live-container {
        display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 20px;
    }
}
.match-container {
	border: 1px solid #88B0E9;
	cursor: pointer;
	box-shadow: 0 2px 8px rgba(136, 176, 233, 0.65);
	border-radius: 4px;
}
.match-container:hover {
	border: 1px solid #993300;
	box-shadow: 0 4px 12px rgba(153, 51, 0, 0.85);
}
.match-container:hover .match-info {
	background: #993300; 
	color: #fff;
}
.match-container:hover .match-teams {
	color: #993300;
}

.match-container .match-info {
	display: flex;
	padding: 5px 5px;
	background: #B4CCF1;
}

.match-container.on {
	border: 1px solid #AA8800;
}
.match-container.on .match-info {
	background: #AA8800; 
	color: #fff;
}
.match-container.on .match-teams {
	color: #993300;
}
/* .match-container.on:hover {
	box-shadow: 0 2px 8px rgba(136, 176, 233, 0.85);
}
.match-container.on:hover .match-info {
	background: #AA8800; 
	color: #fff;
}
.match-container.on:hover .match-teams {
	color: #993300;
} */

.match-container.over {
	border: 1px solid #D1D1D1;
}
.match-container.over .match-info {
	background: #D1D1D1; 
	color: #fff;
}
.match-container.over .match-teams {
	color: #D1D1D1;
}

.match-container .match-info .matchtime {
	flex: 1;
	text-align: right;
}
.match-container .match-teams {
	display: flex;
	padding: 15px 3px;
	font-size: 1.3em;
	align-items: center;
	text-align: center;
	justify-content: center;
	font-weight: bold;
	position: relative;
}

.match-container .match-teams .onlive {
	position: absolute;
	bottom: 1px;
	right: 1px;
	background: #AA8800;
	color: #fff;
	font-size: 12px;
	font-weight: normal;
	display: none;
	border-radius: 3px;
	padding: 1px 3px;
}
.match-container .match-teams .onlive span.statu-1st-half,
.match-container .match-teams .onlive span.statu-2st-half {
	color: #fff;
}
.match-container .match-teams .onlive span.statu-half-break {
	color: #2CD400;
}
.match-container .match-teams .onlive span.statu-delay,
.match-container .match-teams .onlive span.statu-suspended,
.match-container .match-teams .onlive span.statu-voided,
.match-container .match-teams .onlive span.statu-pending,
.match-container .match-teams .onlive span.statu-cancle {
	color: red;
}
.match-container .match-teams .onlive span.statu-extra-time,
.match-container .match-teams .onlive span.statu-penalty-kick {
	color: #00FFFF;
}
.match-container .match-teams div {
	text-align: center;
}
.match-container .match-teams div.team-home {
	width: 42%;
	text-align: right;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.match-container .match-teams div.team-guest {
	width: 42%;
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.match-container.on .match-teams div.seprate {
	flex: 1;
}
.match-container.on .match-teams div.seprate {	
	color: blue;
}
.match-container.over .match-teams div.seprate {
	color: #D1D1D1;
}
.match-container p.errinfo {
	font-size: 2em;
	text-align: center;
	padding: 30px;
}
.some-info {
	padding: 8px 0 3px 0;
}

.player-modal-wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
}
/* 半透明黑色遮罩 */
.player-modal-backdrop {
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, 0.9);
}
.player-modal-box {
	position: relative;
	background: #fff;
	border-radius: 6px;
	overflow: hidden;
	/* GPU独立合成层，解决视频卡顿核心 */
	transform: translateZ(0);
	will-change: transform;
	backface-visibility: hidden;
	display: flex;
	flex-direction: column;
}

#playerWindow {
	border: 1px solid #000;
	border-radius: 5px;
	padding: 0;
	min-width: 760px;
	outline: 0 none;
	overflow: hidden;
}
/* 最大化状态 */
.player-modal-wrap.max {
  inset: 0;
}
.player-modal-wrap.max .player-modal-box {
  width: 100vw !important;
  height: 100vh !important;
  max-width: unset;
  max-height: unset;
  border-radius: 0;
}

.player-modal-box.max {
  width: 100vw;
  height: 100vh;
}

.player-container.max {
  flex: 1;
  width: 100%;
  height: 100%;
}
.player-container.max #my-player {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
@media screen and (max-width: 767px) {
    #playerWindow {
        border: 1px solid #000;
		/* border-radius: 5px; */
		padding: 0;
		position: absolute;
		top: 0;
		left: 0;
		overflow: hidden;
    }
}

#myDialog a, #myDialog button, #playerWindow a {
	outline: 0 none;
}
#playerWindow video {
	outline: 0 none;
	border: none;
	transform: translate3d(0,0,0);
	will-change: video;
	backface-visibility: hidden;
	/* 禁止图片平滑缩放占用性能 */
	image-rendering: pixelated;
	/* 防止滚动触发重排 */
	contain: layout size paint;
}
#myDialog::backdrop {
	background: rgba(0, 0, 0, 0.9);
	backdrop-filter: blur(3px);
	overflow: hidden;
}
body:has(dialog[open]) {
	overflow: hidden;
}

#playerWindow .player-window-title {
	display: flex;
	background: #296EEB;
	color: #fff;
	padding: 6px;
	gap: 4px;
}
#playerWindow .player-window-title div.match-name {
	flex: 1;
}
#playerWindow .player-window-title div.refresh,
#playerWindow .player-window-title div.close, 
#playerWindow .player-window-title div.max-win {
	cursor: pointer;
	font-size: 1.0em;
	font-weight: bold;
	padding: 0 5px;
	border-radius: 3px;
}

#playerWindow .player-window-title div.close:hover,
#playerWindow .player-window-title div.refresh:hover,
#playerWindow .player-window-title div.max-win:hover {
	background: #ff0000;
	color: #fff;
}
#playerWindow .player-window-title span.player-leagueName {
	padding: 0 6px;
	background-color: #DAF38E;
	color: #666;
	border-radius: 3px;
}

#playerWindow .signal-list {
	display: flex;
	margin-right: 8px;
}
#playerWindow .signal-list div.signal {
	display: flex;
	gap: 4px;
}
#playerWindow .signal-list div.signal>span {
	border: 1px solid #ccc;
	cursor: pointer;
	padding: 0 6px;
	border-radius: 3px;
}
#playerWindow .signal-list div.signal>span:hover {
	background: #993300;
	color: #fff;
}
#playerWindow .signal-list div.signal>span.on {
	background: #0F7D00;
	color: #fff;
	cursor: default;
}
#playerWindow .signal-list div.signal>span>em {
	font-size: 11px;
	color: #FF6600;
	padding: 0 3px;
}
/* 
#playerWindow .signal-list div.refreshBtn {
	padding: 5px;
}
#playerWindow .signal-list div.refreshBtn>span {
	padding: 2px 8px;	
	text-align: center;
	background: rgba(0,0,0,0.9);
	color: #fff;
	border: none;
	border-radius: 3px;
	cursor: pointer;
} 
#playerWindow .signal-list .refreshBtn>span:hover {
	background: rgba(0,0,0,0.7);
}
*/


#playerWindow p.message {	
	margin: 0;
	padding: 2px;
	text-align: center;
	font-size: 11px;
}
#playerWindow .player-container {
	position: relative;
	width:1024px;
	height:576px;
	background:#000000;
	container-type: inline-size;
}
#playerWindow .player-container.max {
	width: 100%;
	height: 91%;
}
/* 手机端适配，屏幕宽度小于768px时生效 */
@media screen and (max-width: 767px) {
    #playerWindow .player-container {
        width: 100%;
        height: 0;
        padding-bottom: 56.25%; /* 9÷16=0.5625 → 16:9比例 */
        container-type: inline-size;
    }
    /* 里面video/iframe播放器绝对铺满父容器 */
    #playerWindow .player-container > * {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
    }
}

#playerWindow .player-container #my-player {
	width:100%;
	height:100%;	
	object-fit: contain;
	/* 画面居中 */
	object-position: center;
	/* 关键：禁止视频元素响应点击 */
	pointer-events: none;
	user-select: none;
	object-fit:contain;
    transform:translateZ(0); /* 强制开启GPU硬件加速 */
    will-change:transform;
}
#my-player::-webkit-media-controls-timeline {
	display: none !important;
}
#my-player::-webkit-media-controls-current-time-display,
#my-player::-webkit-media-controls-time-remaining-display {
	display: none !important;
}
/* 3. 隐藏 更多选项(三点菜单/设置) */
#my-player::-webkit-media-controls-overflow-button {
	display: none !important;
}
/* Firefox 隐藏进度条、时间、菜单 */
#my-player::-moz-progress-bar,
#my-player::-moz-range-progress,
#my-player .duration,
#my-player .time,
#my-player .controls-menu-button {
	display: none !important;
}
#my-player::-webkit-media-controls {
	pointer-events: auto !important;
}

/* 控制栏里的画中画按钮 */
/* 
#my-player::-webkit-media-controls-picture-in-picture-button {
	display: none !important;
} 
*/
/* 中间悬浮的画中画图标（部分版本叫 overlay-cast-button） */
#my-player::-internal-media-controls-overlay-cast-button {
	display: none !important;
}
/* 备用：防止还有其他画中画相关控件 */
#my-player::-webkit-media-controls-toggle-closed-captions-button {
	display: none !important;
}



#video-checking-info {
	font-size:2em;
	color:#ffffff;
	background:#000000;
}
/* .video-ad {
	position: absolute !important;
	left: 8px !important;
	bottom: 96px !important;

	width: 352px !important;
	height: 32px !important;
	max-width: calc(100% - 16px) !important;
	max-height: 32px !important;

	box-sizing: border-box !important;
	background: #5F7B27 !important;
	color: #fff !important;
	line-height: 32px !important;
	text-align: center !important;
	border-radius: 4px !important;
	z-index: 9999 !important;
	pointer-events: auto !important;

	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
} 
.video-ad.show {
	display: block !important;
}
*/

.player-container .error-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: #000000;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	/*border-radius: 10px;*/
	color: white;
	padding: 30px;
	text-align: center;
	z-index: 9999;
	opacity: 1;
	visibility: hidden;
/*	transition: all 0.3s ease;*/
}
.player-container .error-overlay.active {
	opacity: 1;
	visibility: visible;
}
.player-container .error-icon {
	font-size: 4rem;
	color: #ff5e62;
	margin-bottom: 25px;
}
.player-container .error-title {
	font-size: 1.8rem;
	margin-bottom: 25px;
	color: #ff5e62;
}
.player-container .error-message {
	font-size: 1.1rem;
	margin-bottom: 45px;
	line-height: 1.5;
}

.player-container .btn-retry {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	padding: 14px 20px;
	background: linear-gradient(to right, #4a6ee0, #6a11cb);
	color: white;
	border: none;
	border-radius: 8px;
	cursor: pointer;
	font-weight: 500;
/*	transition: all 0.1s ease;*/
	margin-right: 10px;
	margin-bottom: 15px;
	width: 300px;
	font-size: 1.0em;
	box-shadow: 0 5px 15px rgba(74, 110, 224, 0.3);
}
.player-container .btn-retry:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(74, 110, 224, 0.4);
}



.loading-title {
	margin-top:20px;
	font-size:2em;
}
