:root {
  --primary: #337ab7;
  --primary-dark: #286090;
  --text-dark: #334155;
  --text-secondary: #666;
  --border-color: #e5e7eb;
  --bg-light: #f8fafc;
  --white: #fff;
}

body,h1,h2,h3,h4,h5,h6,p,ul,ol,li,input,select,textarea,div,table,td,th,tr,dt,dd,dl{margin:0;padding:0;}

ul,ol{list-style:none;}

em,i{font-style:normal;display: inline-block;}

table{border-spacing:0;border-collapse:collapse;}

img{border:0;vertical-align:middle;max-width:100%;height:auto;}

input,select{vertical-align:middle;outline: none;}

a:hover{color: var(--primary);text-decoration:none;}
a{color: var(--text-dark);text-decoration:none;}
a:focus{text-decoration: none;}

.q7yq{margin-top: 20px;}
.pjsa{margin-top: 30px;}
.zrrf{margin-top: 40px;}
.hf5p{margin-top: 50px;}
.c35t{margin-bottom: 20px;}
.fq4{margin-bottom: 30px;}
.dw3j{margin-bottom: 40px;}
.gfme{margin-bottom: 50px;}

body{font-family:'Microsoft YaHei','Arial','Heiti SC';background:#f5f5f5;}

.v8zj{display:block;float:left;}
.ky2m{display:block;float:right;}
.qabw{clear:both;}

.container{width: 1230px;margin: 0 auto;}

.zx8k{margin-bottom: 15px;}

.etg {
    background: var(--white);
    border-radius: 0px;
    box-shadow: 1px 1px 10px rgb(229 229 229);
    padding: 20px;
}

#page{text-align: center;padding: 20px 0 40px;}
#page .pagination{margin-top: 40px;}
#page .pagination li span{width: 35px;height: 35px;line-height: 35px;border-radius: 0px!important;margin-right: 15px;padding: 0px;background: var(--primary);color: var(--white);}
#page .pagination li a{width: 35px;height: 35px;line-height: 35px;border-radius: 0px!important;margin-right: 15px;padding: 0px;border: 1px solid #f5f5f5;color: var(--text-dark);}
#page .pagination li.disabled span{color: var(--text-secondary);border: 1px solid #f5f5f5;background: var(--white);}
#page .pagination li:last-child a{margin-right: 0px;}

.ekn5 {width: 1200px;margin: 0 auto;}
.s6x {display: flex;justify-content: space-between;align-items: center;}

/* Search page */
.bw49 {background: var(--white);padding: 25px;margin-bottom: 20px;border-radius: 4px;box-shadow: 0 1px 4px rgba(0,0,0,0.06);}
.bw49 form {display: flex;}
.bw49 .di9 {flex: 1;height: 42px;padding: 0 16px;border: 2px solid var(--primary);font-size: 14px;outline: none;border-radius: 2px 0 0 2px;transition: border-color 0.2s;}
.bw49 .di9:focus {border-color: var(--primary-dark);box-shadow: 0 0 0 3px rgba(51,122,183,0.15);}
.bw49 .uda {width: 100px;height: 42px;background: var(--primary);border: 2px solid var(--primary);color: var(--white);font-size: 14px;cursor: pointer;border-radius: 0 2px 2px 0;transition: background 0.2s;}
.bw49 .uda:hover {background: var(--primary-dark);}
.bw49 .k6tk {margin-top: 12px;font-size: 14px;color: var(--text-secondary);}

/* Search highlighting */
.j3bs {background: #fff3cd;padding: 2px 4px;border-radius: 2px;font-weight: 500;}

/* Header */
.ejz8 .pa84{height: 78px;}
.ejz8 .pa84 img{height: 70px;margin-top: 0px;}
.gx7w .ejz8 {padding: 12px 0;border-top: 1px solid #ededed;}
.gx7w .ejz8 .r9r {position: relative;}
.gx7w .ejz8 .r9r ul{overflow: hidden;height: 36px;display: block;}
.gx7w .ejz8 .r9r li {float: left;font-size: 14px;position: relative;height: 36px;line-height: 36px;padding-left: 20px;padding-right: 20px;cursor: pointer;border-radius: 4px 4px 0px 0px;}
.gx7w .ejz8 .r9r li.xwrp {background: var(--primary);color: var(--white)!important;}
.gx7w .ejz8 .r9r .ww7z {width: 460px;height: 40px;padding: 0 50px 0 20px;border: 2px solid var(--primary);background-color: var(--white);}
.gx7w .ejz8 .r9r .nfn5 {position: absolute;bottom: 0;right: 0;width: 50px;height: 40px;background: var(--primary);cursor: pointer;border: 0;color: var(--white);font-size: 14px;display: flex;align-items: center;justify-content: center;transition: background 0.2s;}
.gx7w .ejz8 .r9r .nfn5:hover {background: var(--primary-dark);}
.gx7w .ejz8 .r9r .nfn5 svg {width: 18px;height: 18px;}

.gx7w .zp6 {width: 100%;background: var(--primary);box-shadow: 0 1px 3px rgba(27, 95, 160, 0.1);height: 45px;line-height: 45px;font-size: 18px;text-align: center;display: flex;}
.gx7w .zp6 ul.ekn5 {display: flex;width: 1200px;margin: 0 auto;}
.gx7w .zp6 li {position: relative;flex: auto;cursor: pointer;transition: background 0.3s ease;}
.gx7w .zp6 li a {display: block;color: var(--white);text-decoration: none;}
.gx7w .zp6 li:hover {background: #ffffff;color: var(--primary);}
.gx7w .zp6 li:hover a {color: var(--primary);}
.gx7w .zp6 li.v2rw {background-color: var(--white);}
.gx7w .zp6 li.v2rw a {color: var(--primary);}

.gx7w .zp6 li .bna {position: absolute;top: 100%;left: 0;z-index: 99999;width: 128px;background-color: #f9f9f9;line-height: 38px;border-radius: 3px;box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);opacity: 0;transform: scale3d(0, 0, 0);transform-origin: 40px top;transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);}
.gx7w .zp6 li:hover .bna {opacity: 1;transform: scale3d(1, 1, 1);}
.gx7w .zp6 li .bna a {display: block;padding: 0 16px;font-size: 16px;color: var(--text-dark);text-decoration: none;transition: all 0.2s ease;}
.gx7w .zp6 li .bna a:hover {background-color: var(--primary);color: var(--white);padding-left: 18px;}

.b7ze {height: 40px;line-height: 40px;background-color: var(--white);margin: 0 auto;position: relative;margin-bottom: 0;border-bottom: 1px solid #f0f0f0;}
.b7ze ul {display: inline-block;margin: 0;padding: 0;}
.b7ze li {display: inline-block;}
.b7ze a, .b7ze span {display: inline-block;padding: 0 12px;height: 32px;line-height: 32px;font-size: 14px;border-radius: 8px;transition: all 0.3s ease;}
.b7ze a {color: var(--text-dark);background: #f5f7fa;text-decoration: none;}
.b7ze a:hover {background-color: var(--primary);color: var(--white);transform: translateY(-1px);box-shadow: 0 2px 6px rgba(51, 122, 183, 0.3);}
.b7ze span {background-color: var(--primary);color: var(--white);}

.rzbg {float: left;font-family: "Inter", "SF Pro Display", "PingFang SC", "Microsoft YaHei", sans-serif;font-size: 34px;font-weight: 800;background: var(--primary);-webkit-background-clip: text;background-clip: text;color: transparent;letter-spacing: 2px;position: relative;cursor: pointer;}
.rzbg::after {content: '';position: absolute;bottom: -6px;left: 50%;width: 100%;height: 3px;background: linear-gradient(90deg, transparent, var(--primary), #4facfe, #00c6fb, #4facfe, var(--primary), transparent);background-size: 100% 100%;border-radius: 13px;transform: translateX(-50%);}
@keyframes lineScan {0% {background-position: 100% 0;}100% {background-position: -100% 0;}}

/* Footer */
.rdqi {margin-bottom: 20px;min-height: 30px;background: var(--white);padding: 10px;overflow: hidden;margin-top: 10px;}
.rdqi a {float: left;font-size: 14px;line-height: 34px;color: var(--text-dark);margin-right: 16px;}
.rdqi a:hover {color: red;}

footer {width: 100%;color: var(--white);font-size: 12px;background-color: var(--primary);text-align: center;}
footer .ekn5 {height: 115px;padding-top: 20px;}
footer p:nth-of-type(1) {color: var(--white);line-height: 42px;font-size: 13.5px;}
footer p a {color: var(--white);margin: 0 10px;font-weight: 400;}
footer p:nth-of-type(2) {color: var(--white);font-weight: 400;font-size: 13.5px;}
footer p:nth-of-type(2) a {margin: 0;}
footer p:nth-of-type(2) a:hover{color: red;}
footer p a:hover {color: #e8e8e8;text-decoration: underline;}

/* Breadcrumbs */
.dvd {padding: 12px 15px;margin-bottom: 10px;background: #f9f9f9;border-radius: 4px;border-left: 3px solid var(--primary);}
.jccb {font-size: 14px;color: #555;padding: 0;margin-bottom: 0;}
.jccb.ge73{border: 0;padding: 0;}
.jccb a {color: var(--primary);display: inline-block;font-size: 14px;font-weight: 500;}
.jccb a:not(:last-child)::after {padding: 0 8px;color: #ccc;content: '>';font-weight: normal;}
.jccb a:hover{color: #dd0000;}
.jccb a:last-child {color: var(--text-secondary);font-weight: normal;}

/* Index tabs */
.wjfd{border-top: 2px solid var(--primary);background: var(--white);}
.wjfd ul {overflow: hidden;height: 50px;background: #f7f9fa;box-shadow: 0 2px 3px #ddd;}
.wjfd li {float: left;height: 48px;line-height: 48px;margin-right: 2px;padding: 0 16px;background: #f5f7fa;color: var(--text-dark);text-align: center;cursor: pointer;transition: all 0.2s ease;}
.wjfd li:hover {background: var(--primary);color: var(--white);}
.wjfd li.xwrp {background: var(--primary);color: var(--white);}

/* News list */
.c3hw {}
.c3hw .p5xz {background: var(--white);position: relative;margin-top: 10px;padding: 20px;border-bottom: 1px solid #f0f0f0;transition: background 0.2s ease;}
.c3hw .p5xz:last-child {border-bottom: none;}
.c3hw .p5xz:hover {background: #fafbfc;}
.c3hw .p5xz > a{display: block;}
.c3hw .kj8m {align-items: center;display: flex;margin-bottom: 10px;}
.c3hw .p5xz .kj8m .g94b {display: block;font-size: 16px;font-weight: bold;flex: 1;max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.c3hw .kj8m span {margin-left: 20px!important;color: #909399;}
.c3hw .j5y {background: var(--white);align-items: center;display: flex;}
.c3hw .hzi {width: 178px;height: 110px;overflow: hidden;position: relative;}
.c3hw .hzi img{width: 100%;height: 100%;object-fit: cover;aspect-ratio: 16/9;}
.c3hw .bdqt {margin: 0 15px;flex: 1;overflow: hidden;position: relative;}
.c3hw .r4bg {height: 40px;line-height: 20px;color: var(--text-secondary);display: -webkit-box;overflow: hidden;-webkit-box-orient: vertical;text-overflow: ellipsis;-webkit-line-clamp: 2;margin-bottom: 5px;}
.c3hw .yjph {color: var(--primary) !important;font-size: 14px;line-height: 1.5;}

/* Layout */
.w45k{width: 1200px;margin: 20px auto 0;}
.q2kg {margin-bottom: 20px;display: flex;}
.q2kg .zzgb{width: 830px;}
.q2kg .brbv {width: 350px;margin-left: 20px;}

.a43n {margin-bottom: 20px;display: flex;margin-top: 20px!important;}
.a43n .bf4v{width: 830px;flex: 1;}
.yzmk {width: 350px;margin-left: 20px;}

/* Tags */
.vcyr {width: 100%;margin-top: 20px;padding: 12px 8px;background: var(--white);display: flex;flex-wrap: wrap;gap: 8px;box-shadow: inset 0 1px 2px rgba(0,0,0,0.02), 0 1px 2px rgba(0,0,0,0.03);transition: all 0.3s ease;}
.jrqq {position: relative;display: inline-block;padding: 0 14px;height: 32px;line-height: 32px;font-weight: 500;font-size: 14px;text-align: center;color: #1e293b;background: linear-gradient(135deg, #ffffff, var(--bg-light));border-radius: 6px;box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05), 0 0 0 1px rgba(0, 0, 0, 0.02);transition: all 0.3s ease;cursor: pointer;}
.jrqq:hover {background: linear-gradient(135deg, var(--primary), #2a6da0);color: #ffffff;transform: translateY(-2px);box-shadow: 0 6px 14px rgba(51, 122, 183, 0.25), 0 2px 4px rgba(0, 0, 0, 0.1);}
.jrqq:active {transform: translateY(0);transition: 0.05s;}

.jzf {overflow: hidden;}
.jzf span {display: inline-block;font-size: 14px;height: 30px;line-height: 30px;float: left;}
.jzf a {display: inline-block;font-size: 14px;height: 30px;line-height: 30px;color: var(--primary);overflow: hidden;margin-left: 5px;}

/* Title */
.iciw {position: relative;display: flex;justify-content: space-between;align-items: center;}
.iciw span,.iciw h2,.iciw h3 {margin-left: 10px;font-size: 20px;color: var(--primary);font-weight: bold;display: flex;align-items: center;}
.iciw:after{content: "";position: absolute;top: 50%;left: 0;width: 5px;height: 20px;margin-top: -9px;background: linear-gradient(90deg, var(--primary), var(--primary));vertical-align: middle;}

/* Article detail */
.tdhd {padding: 30px 0 20px 0;border-bottom: 1px dashed #eee;text-align: center!important;}
.tdhd.channel{padding-bottom: 0!important;}
.tdhd h1 {color:#222;font-size: 24px;display: block;line-height: 1.4;margin-bottom: 15px;font-weight: bold;text-align: left;}
.tdhd .r4bg {font-size: 13px;line-height: 1.5;color: #999 !important;text-align: left;padding: 8px 0;border-top: 1px solid #f0f0f0;}
.tdhd .r4bg span {margin-right: 15px;color: #999;}
.tdhd .r4bg span:first-child {color: var(--primary);font-weight: 500;}

.icz {padding: 30px 0;line-height: 28px;font-size: 16px;color: #606266;margin-bottom: 10px;}
.icz p {line-height: 28px;font-size: 16px;color: var(--text-dark);margin-bottom: 10px;}
.icz h3,.icz h2{line-height: 36px;font-size: 18px;color: #000;font-weight: 600;margin-bottom: 20px;}
.icz strong{font-size: 16px;font-weight: bold;}
.icz p img {display: block;width: 80%;margin: 15px auto;height: auto !important;}
.icz+p{margin-top: 20px;}

.ui99 {margin: 30px 0 40px 0;height: 80px;position: relative;padding-top: 20px;border-top: 1px solid #e5e5e5;}
.ui99 p {margin-bottom: 10px;}

/* Swiper */
.hq3 {width: auto !important;height: 35px !important;position: absolute;top: 10px !important;left: 20px !important;z-index: 9;}
.hq3 .swiper-pagination-bullet {width: 22px;height: 22px;background-color: transparent;border: 2px solid var(--white);color: var(--white);border-radius: 0;margin: 0 0 0 5px!important;opacity: 1;text-align: center;font-size: 13px;line-height: 18px;}
.hq3 .swiper-pagination-bullet-active {background: var(--white);color: #333;}

/* Top section */
.pty {background: var(--white);padding: 20px;margin-top: 10px;display: flex;justify-content: space-between;border-radius: 4px;box-shadow: 0 1px 4px rgba(0,0,0,0.06);}
.b34v {width: 460px;}
.b34v .tw9f {overflow: hidden;font-size: 20px;margin-bottom: 20px;}
.b34v .vkz{position: relative;height: 236px;}
.b34v .vkz li{position: relative;}
.b34v .vkz li .hzi {display: block;height: 100%;width: 100%;}
.b34v .vkz li img {height: 100%;width: 100%;}
.b34v .vkz li p{position: absolute;bottom: 30px;left: 0px;text-align: center;color: var(--white);width: 100%;height: 20px;display: block;font-weight: bold;z-index: 99;line-height: 20px;padding-left: 10px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.b34v .vkz li .pyf7{position: absolute;background: linear-gradient(to top, black 4%, transparent);left: 0px;bottom: 0px;width: 100%;height: 100%;}

.b82 {width: 440px;}
.pmnb {margin-top: 30px;position: relative;}
.pmnb ul:first-child{margin-bottom: 40px;}
.pmnb ul li {display: flex;height: 20px;justify-content: space-between;align-items: center;position: relative;padding-left: 13px;margin-bottom: 15px;}
.pmnb ul li:last-child{margin-bottom: 15px;}
.pmnb ul li .rjqv {position: absolute;left: -3px;top: 6px;width: 7px;height: 7px;background-color: #ffffff;border: solid 1px #dcdbdc;border-radius: 50%;background: var(--white);z-index: 99;}
.pmnb ul li .wneh {max-width: 320px;font-size: 15px;color: var(--text-dark);margin-right: 12px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.pmnb ul li:hover .rjqv{border-color: var(--primary);}
.pmnb ul li:hover .wneh {color: var(--primary);}
.pmnb ul li .zfa {margin-right: 25px;font-size: 14px;color: #999;}

.x58 {width: 200px;}
.tqe4 ul{margin-top: 20px;}
.tqe4 ul li {width: 100%;overflow: hidden;}
.tqe4 ul li .hzi {display: block;position: relative;width: 100%;}
.tqe4 ul li .hzi img{width: 100%;height: 110px;}
.tqe4 ul li p {width: 100%;height: 24px;line-height: 30px;font-size: 14px;}
.tqe4 ul li p.srhs {color: #000;font-weight: bold;}

/* Hot teams/players */
.zt8m {overflow: hidden;background: var(--white);padding: 0px 5px 10px 5px;}
.zt8m a {display: block;float: left;width: 110px;margin-left: 10px;background: var(--white);box-shadow: 0 0 4px 0 #dfdfdf;margin-top: 10px;padding: 10px;}
.zt8m a img {max-width: 100%;height: 40px;display: block;margin: 0 auto;}
.zt8m a span {height: 30px;line-height: 30px;overflow: hidden;display: block;text-align: center;}

/* Sidebar detail lists */
.njsc{background: var(--white);padding-bottom: 20px!important;}
.njsc ul {border-bottom: 1px dashed #e8e8e8;padding: 10px;margin-bottom: 20px;}
.njsc ul:last-child {margin-bottom: 0;border: 0;padding-bottom: 0;}
.njsc ul li {display: flex;align-items: center;font-size: 16px;line-height: 25px;border-bottom: 1px solid #f5f5f5;padding: 5px 0;}
.njsc ul li span{display: inline-block;width: 5px;height: 5px;line-height: 20px;margin: 5px 10px 0 0;text-align: center;font-size: 12px;color: var(--white);vertical-align: top;background: #cfcfcf;border-radius: 50%;}
.njsc ul li a {display: block;flex: 1;max-width: 100%;overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}

/* Back to top */
#totop {position: fixed;right: 20px;bottom: 20px;width: 40px;height: 40px;z-index: 9999;border: none;border-radius: 4px;background: var(--primary);color: var(--white);font-size: 18px;line-height: 40px;text-align: center;cursor: pointer;display: none;transition: background 0.3s;}
#totop:hover {background: var(--primary-dark);}
#totop::after {content: '\2191';}

/* Hamburger menu toggle */
.xaks {display: none;background: none;border: none;cursor: pointer;padding: 10px 15px;position: absolute;right: 10px;top: 50%;transform: translateY(-50%);z-index: 100;}
.xaks span {display: block;width: 24px;height: 2px;background: var(--white);margin: 5px 0;transition: 0.3s ease;}
.xaks.v2rw span:nth-child(1) {transform: rotate(45deg) translate(5px, 5px);}
.xaks.v2rw span:nth-child(2) {opacity: 0;}
.xaks.v2rw span:nth-child(3) {transform: rotate(-45deg) translate(5px, -5px);}

/* Empty state */
.rwuy {text-align: center;padding: 60px 20px;color: #999;}
.rwuy img {width: 100px;}
.rwuy span {display: block;font-size: 16px;}

/* Responsive */
@media (max-width: 1240px) {
    .container, .ekn5, .w45k {width: 98%;margin-left: 1%;margin-right: 1%;}
    .q2kg .zzgb, .a43n .bf4v {width: 65%;}
    .q2kg .brbv, .yzmk {width: 32%;margin-left: 1.5%;}
    .pty {flex-wrap: wrap;}
    .b34v {width: 100%;margin-bottom: 15px;}
    .b82 {width: 60%;}
    .x58 {width: 35%;}
}

@media (max-width: 768px) {
    .container, .ekn5, .w45k {width: 100%;margin-left: 0;margin-right: 0;padding: 0 10px;box-sizing: border-box;}
    .q2kg, .a43n {flex-direction: column;}
    .q2kg .zzgb, .q2kg .brbv,
    .a43n .bf4v, .yzmk {width: 100%;margin-left: 0;}
    .gx7w .zp6 {font-size: 14px;position: relative;}
    .gx7w .ejz8 .r9r {width: 100%;}
    .gx7w .ejz8 .r9r .ww7z {width: 100%;}
    .pty {flex-direction: column;}
    .b34v, .b82, .x58 {width: 100%;}
    .b7ze ul {white-space: nowrap;overflow-x: auto;-webkit-overflow-scrolling: touch;}
    .xaks {display: block;}
    .gx7w .zp6 ul.ekn5 {display: none;position: absolute;top: 100%;left: 0;width: 100%;background: var(--primary);flex-direction: column;z-index: 999;box-shadow: 0 4px 10px rgba(0,0,0,0.15);}
    .gx7w .zp6 ul.ekn5.nav-open {display: flex;}
    .gx7w .zp6 ul.ekn5 li {text-align: left;border-bottom: 1px solid rgba(255,255,255,0.1);}
    .gx7w .zp6 ul.ekn5 li a {padding: 0 20px;}
}

@media (max-width: 480px) {
    body {font-size: 14px;}
    .gx7w .zp6 {font-size: 14px;height: 40px;line-height: 40px;}
    .gx7w .zp6 li {padding: 0 4px;font-size: 13px;}
    .c3hw .p5xz {padding: 12px;}
    .c3hw .p5xz .kj8m .g94b {font-size: 15px;}
    .c3hw .j5y {flex-direction: column;align-items: stretch;}
    .c3hw .hzi {width: 100%;height: 180px;margin-bottom: 10px;}
    .c3hw .bdqt {margin: 0;width: 100%;min-width: 0;}
    .icz {padding: 15px 0;font-size: 15px;line-height: 26px;}
    .icz p {font-size: 15px;line-height: 26px;}
    .icz p img {width: 100%;}
    .tdhd h1 {font-size: 20px;}
    .iciw span, .iciw h2, .iciw h3 {font-size: 17px;}
    .wjfd li {padding: 0 10px;font-size: 14px;}
    .etg {padding: 12px;}
    .jrqq {font-size: 13px;padding: 0 10px;height: 28px;line-height: 28px;}
    #totop {width: 36px;height: 36px;line-height: 36px;font-size: 16px;right: 12px;bottom: 12px;}
}

/* ===================================================================
   赛事直播页 — zhibo8 schedule list style
   =================================================================== */

/* Tabs */
.zb-tabs {display:flex;gap:0;margin-bottom:0;background:var(--white);border-bottom:2px solid var(--primary);}
.zb-tab {flex:1;padding:10px 0;text-align:center;font-size:14px;color:var(--text-secondary);cursor:pointer;background:var(--white);border:none;outline:none;transition:all .15s;font-weight:500;}
.zb-tab:hover {color:var(--primary);}
.zb-tab.v2rw,.zb-tab[data-active="true"] {color:var(--white);background:var(--primary);font-weight:600;}

/* Date header */
.zb-date {background:#f5f5f5;padding:8px 15px;font-size:14px;font-weight:700;color:var(--text-dark);border-left:3px solid var(--primary);}

/* Match row */
.zb-row {display:flex;align-items:center;padding:10px 15px;border-bottom:1px solid #f0f0f0;background:var(--white);transition:background .12s;font-size:13px;}
.zb-row:last-child {border-bottom:none;}
.zb-row:hover {background:#fafbfc;}
.zb-row-live,
.zb-row[data-status="live"] {background:#fff8e1;}
.zb-row-live:hover,
.zb-row[data-status="live"]:hover {background:#fff3cd;}
.zb-row-done,
.zb-row[data-status="finished"] {color:#666;}

/* Time */
.zb-time {width:55px;flex-shrink:0;text-align:center;font-size:13px;color:var(--text-secondary);font-weight:500;}
.zb-row-live .zb-time,
.zb-row[data-status="live"] .zb-time {color:#dc2626;font-weight:700;}
.zb-live-dot {display:inline-block;width:6px;height:6px;border-radius:50%;background:#dc2626;animation:zbPulse 1.4s ease-in-out infinite;vertical-align:middle;margin-right:3px;}
@keyframes zbPulse {0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}

/* Home team */
.zb-home {width:120px;flex-shrink:0;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-dark);}
.zb-row-live .zb-home,
.zb-row[data-status="live"] .zb-home {color:#1a1a1a;}

/* League label - center */
.zb-league-label {flex:1;text-align:center;font-size:12px;color:#999;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 10px;min-width:0;}

/* Source / links */
.zb-source {flex-shrink:0;display:flex;gap:8px;align-items:center;}
.zb-link {font-size:12px;color:var(--primary);text-decoration:none;cursor:pointer;white-space:nowrap;}
a.zb-link:hover {text-decoration:underline;}

/* Away team */
.zb-away {width:120px;flex-shrink:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500;color:var(--text-dark);}
.zb-row-live .zb-away,
.zb-row[data-status="live"] .zb-away {color:#1a1a1a;}

/* Score mini (right side) */
.zb-score-mini {width:42px;flex-shrink:0;text-align:center;font-size:12px;font-weight:600;color:var(--text-secondary);}
.zb-row-live .zb-score-mini,
.zb-row[data-status="live"] .zb-score-mini {color:#dc2626;font-weight:700;}
.zb-row-done .zb-score-mini,
.zb-row[data-status="finished"] .zb-score-mini {color:#999;}

/* Empty state */
.zb-empty {text-align:center;padding:50px 20px;color:#999;font-size:14px;}

/* Mobile responsive */
@media (max-width:768px) {
  .zb-row {padding:8px 10px;font-size:12px;}
  .zb-home {width:80px;}
  .zb-away {width:80px;}
  .zb-league-label {font-size:11px;padding:0 5px;}
  .zb-score-mini {width:36px;font-size:11px;}
  .zb-time {width:45px;font-size:12px;}
  .zb-source {gap:4px;}
  .zb-link {font-size:11px;}
}
@media (max-width:480px) {
  .zb-home {width:60px;font-size:12px;}
  .zb-away {width:60px;font-size:12px;}
  .zb-league-label {display:none;}
  .zb-source .zb-link:not(:first-child) {display:none;}
}

/* ---- Scoreboard (match detail) ---- */
.hw98 {display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%); border-radius: 8px; padding: 30px 20px; margin-bottom: 20px; box-shadow: 0 4px 15px rgba(0,0,0,0.15);}
.z4rq {flex: 1; text-align: center; min-width: 0;}
.z4rq a {display: flex; flex-direction: column; align-items: center; gap: 8px; text-decoration: none; color: #fff;}
.z4rq img {width: 72px; height: 72px; object-fit: contain; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.3));}
.z4rq strong {font-size: 16px; font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 140px;}
.tg2i {padding: 0 20px; text-align: center;}
.uznh {display: flex; align-items: center; gap: 10px; justify-content: center;}
.uznh span {font-size: 42px; font-weight: 800; color: #fff; line-height: 1;}
.uznh .vz8r {font-size: 30px; color: rgba(255,255,255,0.4); font-weight: 300;}
.r5k {font-size: 13px; color: rgba(255,255,255,0.7); margin-top: 8px;}
.agui {color: #fbbf24 !important; font-weight: 600;}
.agui::before {content: ''; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #fbbf24; margin-right: 6px; animation: livePulse 1.5s ease-in-out infinite;}

/* Event timeline */
.ppqm {position: relative; padding: 15px 0;}
.etvf {display: flex; align-items: flex-start; padding: 8px 15px; margin-bottom: 4px; border-radius: 4px; font-size: 14px; transition: background 0.2s;}
.etvf:hover {background: var(--bg-light);}
.hfe5 {width: 40px; font-weight: 600; color: var(--text-secondary); flex-shrink: 0; text-align: right; padding-right: 12px;}
.yf9v {width: 24px; text-align: center; flex-shrink: 0; font-size: 12px;}
.event-icon-goal {color: #16a34a;}
.event-icon-yellow_card {color: #eab308;}
.event-icon-red_card {color: #dc2626;}
.event-icon-substitution {color: #3b82f6;}
.event-icon-penalty {color: #8b5cf6;}
.event-icon-own_goal {color: #f97316;}
.cns {flex: 1; min-width: 0;}
.cns strong {font-size: 14px; color: var(--text-dark);}
.cns small {display: block; font-size: 12px; color: var(--text-secondary); margin-top: 2px;}
.azzf {text-align: center; padding: 40px; color: #999;}

/* ---- Team page ---- */
.fmnz {display: flex; align-items: center; gap: 20px; padding: 25px; background: var(--white); border-radius: 8px; margin-bottom: 20px; box-shadow: 0 1px 4px rgba(0,0,0,0.06);}
.fmnz img {width: 80px; height: 80px; object-fit: contain;}
.sieh h1 {font-size: 24px; font-weight: 700; color: var(--text-dark); margin-bottom: 4px;}
.sieh .v6qj {font-size: 13px; color: var(--text-secondary); display: flex; gap: 12px; flex-wrap: wrap;}
.sieh .v6qj span {display: inline-flex; align-items: center; gap: 4px;}

/* Standing card */
.mr79 {background: var(--white); border-radius: 8px; padding: 20px; margin-bottom: 20px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); display: flex; align-items: center; gap: 20px; flex-wrap: wrap;}
.mr79 .chzh {display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; background: var(--primary); color: #fff; font-size: 20px; font-weight: 700; flex-shrink: 0;}
.mr79 .seb {display: flex; gap: 16px; flex-wrap: wrap; align-items: center;}
.seb {display: flex; gap: 16px; flex-wrap: wrap; flex: 1;}
.hkxb {text-align: center; min-width: 50px;}
.hkxb .rbs {font-size: 18px; font-weight: 700; color: var(--text-dark); display: block;}
.hkxb .label {font-size: 11px; color: var(--text-secondary); display: block; margin-top: 2px;}
.standing-points {text-align: center; flex-shrink: 0; padding-left: 20px; border-left: 1px solid #eee;}
.standing-points .pts {font-size: 28px; font-weight: 700; color: var(--primary); display: block;}
.standing-points .label {font-size: 11px; color: var(--text-secondary);}

/* Team page header meta alias */
.team-header-meta, .v6qj {font-size: 13px; color: var(--text-secondary); display: flex; gap: 12px; flex-wrap: wrap;}
.team-header-meta span, .v6qj span {display: inline-flex; align-items: center; gap: 4px;}

/* Related news on team page */
.kue {background: var(--white); border-radius: 4px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); padding: 15px;}
.amh {display: flex; gap: 12px; padding: 10px 0; border-bottom: 1px solid #f5f5f5; text-decoration: none; color: var(--text-dark);}
.amh:last-child {border-bottom: none;}
.amh img {width: 120px; height: 80px; object-fit: cover; border-radius: 4px; flex-shrink: 0;}
.yikn {flex: 1; min-width: 0;}
.yikn h3 {margin: 0 0 6px 0; font-size: 14px; line-height: 1.4; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;}
.yikn h3:hover {color: var(--primary);}
.yikn time {font-size: 12px; color: #999;}

/* Recent matches table */
.ek8 {width: 100%; border-collapse: collapse; font-size: 14px;}
.ek8 th {padding: 8px 10px; text-align: left; background: var(--bg-light); font-weight: 600; color: var(--text-secondary); border-bottom: 2px solid var(--border-color); font-size: 12px; text-transform: uppercase; letter-spacing: 0.5px;}
.ek8 td {padding: 8px 10px; border-bottom: 1px solid #f0f0f0;}
.ek8 tr:hover td {background: var(--bg-light);}
.rme8 {color: #16a34a; font-weight: 600;}
.pjxs {color: #eab308; font-weight: 600;}
.rvuu {color: #dc2626; font-weight: 600;}

/* ---- League standings table ---- */
.the3 {width: 100%; border-collapse: collapse; font-size: 13px; background: var(--white); border-radius: 6px; overflow: hidden;}
.the3 th {padding: 10px 8px; text-align: center; background: var(--bg-light); font-weight: 600; color: var(--text-secondary); font-size: 11px; text-transform: uppercase; letter-spacing: 0.5px; border-bottom: 2px solid var(--border-color);}
.the3 th:nth-child(2) {text-align: left;}
.the3 td {padding: 8px; text-align: center; border-bottom: 1px solid #f0f0f0;}
.the3 td:nth-child(2) {text-align: left; font-weight: 500;}
.the3 tr:hover td {background: #f8fafc;}
.the3 .m9zz {display: flex; align-items: center; gap: 6px;}
.the3 .m9zz img {width: 18px; height: 18px; object-fit: contain;}
.the3 .m9zz a {color: var(--text-dark); text-decoration: none;}
.the3 .m9zz a:hover {color: var(--primary);}
.the3 tr.rph td:first-child::before {content: ''; display: inline-block; width: 3px; height: 16px; background: #3b82f6; border-radius: 2px; margin-right: 6px; vertical-align: middle;}
.the3 tr.vpk td:first-child::before {content: ''; display: inline-block; width: 3px; height: 16px; background: #ef4444; border-radius: 2px; margin-right: 6px; vertical-align: middle;}

/* ---- Homepage live widget ---- */
.home-live-section {background: var(--white); border-radius: 6px; margin-bottom: 16px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); overflow: hidden;}
.home-live-header {display: flex; align-items: center; justify-content: space-between; padding: 10px 15px; background: linear-gradient(135deg, #1a1a2e, #16213e); color: #fff;}
.home-live-header h3 {font-size: 16px; font-weight: 600; color: #fff; margin: 0;}
.home-live-header a {font-size: 13px; color: rgba(255,255,255,0.7); text-decoration: none;}
.home-live-header a:hover {color: #fff;}
.home-live-matches {padding: 8px;}
.home-live-card {display: flex; align-items: center; padding: 8px 10px; border-radius: 4px; text-decoration: none; color: inherit; transition: background 0.2s; gap: 8px;}
.home-live-card:hover {background: var(--bg-light);}
.home-live-card.live {background: #fffbeb;}
.home-live-teams {flex: 1; display: flex; flex-direction: column; gap: 2px; font-size: 13px; min-width: 0;}
.home-live-teams span {overflow: hidden; text-overflow: ellipsis; white-space: nowrap;}
.home-live-score {font-weight: 700; font-size: 16px; color: var(--text-dark); width: 50px; text-align: center;}
.home-live-card.live .home-live-score {color: #dc2626;}
.home-live-status {font-size: 11px; width: 50px; text-align: center; color: var(--text-secondary);}
.home-live-card.live .home-live-status {color: #dc2626; font-weight: 600;}
.home-live-empty {text-align: center; padding: 20px; color: #999; font-size: 13px;}

/* ---- Mobile responsive for sports ---- */
@media (max-width: 768px) {
    .hw98 {flex-direction: column; gap: 15px; padding: 20px 15px;}
    .z4rq img {width: 56px; height: 56px;}
    .uznh span {font-size: 32px;}
    .uznh .vz8r {font-size: 24px;}
    .z4rq strong {font-size: 14px; max-width: 120px;}
    .yxs {flex-wrap: wrap; gap: 6px;}
    .qe63 {width: 100%; text-align: left; padding-bottom: 4px;}
    .a65 {flex-direction: row; width: auto; gap: 4px;}
    .a65 .yjph {font-size: 16px;}
    .fmnz {flex-direction: column; text-align: center; gap: 12px;}
    .fmnz img {width: 64px; height: 64px;}
    .mr79 {justify-content: center;}
    .seb {justify-content: center;}
    .the3 {font-size: 11px; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch;}
    .the3 th, .the3 td {padding: 6px 4px;}
    .ek8 {font-size: 12px;}
    .amh {flex-direction: column;}
    .amh img {width: 100%; height: auto;}
    .home-live-card {flex-wrap: wrap; gap: 4px;}
    .qsyk {flex-wrap: wrap; gap: 6px;}
}
@media (max-width: 480px) {
    .hw98 {padding: 15px 10px;}
    .uznh span {font-size: 28px;}
    .etvf {padding: 6px 8px; font-size: 13px;}
    .hfe5 {width: 32px; font-size: 12px;}
}

/* Tennis surface badges — base first, specific variants override */
.jasf  {display: inline-block; padding: 2px 8px; border-radius: 10px; font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .5px; background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.6); border: 1px solid rgba(255,255,255,0.15);}
.eptt   {background: #c0392b22; color: #c0392b; border-color: #c0392b55;}
.tqa8  {background: #27ae6022; color: #27ae60; border-color: #27ae6055;}
.vyc7   {background: #2980b922; color: #2980b9; border-color: #2980b955;}
.u6tg {background: #8e44ad22; color: #8e44ad; border-color: #8e44ad55;}

/* Esports game badges — base first, specific variants override */
.mbne                  {display: inline-block; padding: 3px 12px; border-radius: 12px; font-size: 12px; font-weight: 700; letter-spacing: .5px; text-transform: uppercase; background: rgba(255,255,255,0.08); color: rgba(255,255,255,0.7); border: 1px solid rgba(255,255,255,0.15);}
.f45r {background: #1a78c222; color: #1a78c2; border-color: #1a78c255;}
.d9bm              {background: #e8830022; color: #e88300; border-color: #e8830055;}
.pfhm           {background: #c23b2222; color: #c23b22; border-color: #c23b2255;}
.zb3         {background: #ff4b5022; color: #ff4b50; border-color: #ff4b5055;}
