/* =========================================================
   BOLAHUB — polish layer (2026-11)
   ========================================================= */

:root{
  --ink:#0a1523;
  --ink2:#22364c;
  --mut:#61707f;
  --mut2:#93a1b0;
  --line:#e4eaf1;
  --line-2:#eef2f7;
  --radius:14px;
  --radius-s:10px;
  --shadow:0 1px 2px rgba(10,21,35,.05), 0 10px 24px -14px rgba(10,21,35,.22);
  --shadow-h:0 2px 4px rgba(10,21,35,.06), 0 18px 36px -18px rgba(10,21,35,.30);
  --ring:0 0 0 3px rgba(0,179,74,.16);
}

body{font-size:15.5px;line-height:1.62;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
h1,h2,h3,h4{letter-spacing:-.018em}
img{background:var(--line-2)}
a:focus-visible,button:focus-visible{outline:2px solid #00b34a;outline-offset:2px;border-radius:6px}
::selection{background:#c9f7d9;color:#06421e}
.wrap{max-width:1240px;padding:0 20px}

/* 标题 */
.page-h1{font-size:26px;line-height:1.28;font-weight:800;margin:24px 0 4px;letter-spacing:-.03em;max-width:960px}
.page-h1 span{display:block;margin-top:7px;font-size:14px;font-weight:500;color:var(--mut);letter-spacing:0;line-height:1.5}

/* 队徽缺省字母徽章 */
.ini{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:1.6em;height:1.6em;padding:0 .22em;flex:none;
  border-radius:6px;font-size:.6em;font-weight:800;line-height:1;letter-spacing:.02em;
  text-transform:uppercase;color:#51647a;
  background:linear-gradient(160deg,#f2f6fb,#dfe7f0);
  box-shadow:inset 0 0 0 1px rgba(15,23,42,.07);
}

/* 比分面板 */
.b24-board{gap:16px}
.b24-main{padding:16px 18px 10px;border-radius:var(--radius);box-shadow:0 1px 2px rgba(10,21,35,.04)}
.b24-bar h2,.b24-h1{font-size:18px;letter-spacing:-.025em}
.b24-bar{margin-bottom:8px}
.b24-live-n{font-size:11.5px;color:var(--mut2);letter-spacing:.02em}
.b24-upd{font-size:10.5px;color:var(--mut2);letter-spacing:.06em;text-transform:uppercase}

.b24-mrow{grid-template-columns:70px 1fr 76px 1fr;padding:10px 4px;border-bottom:1px solid var(--line-2)}
.b24-mrow:hover{background:#f8fbf9}
.b24-mrow .c-t b{font-size:12.5px;font-variant-numeric:tabular-nums;font-weight:800}
.b24-mrow .c-t i{font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--mut2);margin-top:1px}
.b24-mrow .n{font-size:13.5px;font-weight:600}
.b24-mrow .c-s{font-size:17px;font-variant-numeric:tabular-nums}
.b24-mrow .c-s b{font-weight:800}
.b24-mrow.is-live .c-s{color:var(--red)}
.b24-mrow .c-l a{font-size:9.5px;letter-spacing:.1em;color:var(--mut2);padding:2px 6px;border-radius:4px;background:#f4f7fa}
.b24-mrow .c-l a:hover{background:#e8f7ee;color:var(--green-d)}

/* 侧栏面板 */
.b24-panel{padding:16px;border-radius:var(--radius);box-shadow:0 1px 2px rgba(10,21,35,.04)}
.b24-panel h3{font-size:14px;letter-spacing:-.01em;margin-bottom:10px}
.b24-tbl th{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;padding:6px 4px;color:var(--mut2)}
.b24-tbl td{padding:7px 4px;font-size:12.5px;border-bottom:1px solid var(--line-2);font-variant-numeric:tabular-nums}
.b24-tbl tbody tr:hover{background:#f8fbf9}
.b24-tbl .tm a{gap:7px;font-size:12.5px}
.b24-nrow{padding:9px 0;font-size:12px;border-bottom:1px solid var(--line-2)}
.b24-nrow:hover{background:#f8fbf9}
.b24-all{font-size:12px;font-weight:700;color:var(--green-d);margin-top:10px}
.b24-all:hover{text-decoration:underline;text-underline-offset:3px}

/* 完场结果 */
.b24-resgrid{gap:12px}
.b24-rcell{
  border-radius:12px;padding:12px 14px;background:#fff;border:1px solid var(--line);
  box-shadow:0 1px 2px rgba(10,21,35,.04);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.b24-rcell:hover{transform:translateY(-2px);border-color:#bfe8cd;box-shadow:var(--shadow)}
.b24-rcell .lg{font-size:9.5px;letter-spacing:.1em;color:var(--mut2);margin-bottom:8px}
.b24-rcell .h,.b24-rcell .a{font-size:13px;padding:3px 0;gap:10px}
.b24-rcell b{font-variant-numeric:tabular-nums}

/* 新闻列表 */
.b24-newslist{grid-template-columns:1fr 1fr;gap:0 30px}
.b24-nrow2{padding:14px 0;gap:14px;border-bottom:1px solid var(--line);transition:background .15s}
.b24-nrow2 .th{flex:0 0 116px;height:72px;border-radius:8px;overflow:hidden}
.b24-nrow2 i{font-size:10px;letter-spacing:.08em;color:var(--green-d)}
.b24-nrow2 b{
  font-size:14.5px;line-height:1.36;margin:4px 0 5px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.b24-nrow2 p{
  font-size:12.5px;line-height:1.55;color:var(--mut);margin:0;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.b24-nrow2:hover b{color:var(--green-d)}

/* 栏目标题（通用） */
.sec-t{font-size:18px;letter-spacing:-.02em}
.sec-t::before{height:16px;width:3px;border-radius:2px}
.sec{margin:32px 0}
.sec-h{margin-bottom:14px}

/* 统计/榜单卡片 */
.b24x-h{font-size:19px;letter-spacing:-.025em}
.b24x-card{border-radius:var(--radius);box-shadow:0 1px 2px rgba(10,21,35,.04)}

/* 球队列表 */
.b24-teamlist a{padding:9px 0;font-size:12.5px;transition:background .15s}
.b24-teamlist a:hover{background:#f8fbf9}

/* 文章封面 */
.cov{
  position:relative;display:block;width:100%;height:100%;overflow:hidden;
  background:
    radial-gradient(120% 100% at 78% 12%, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 58%),
    linear-gradient(150deg, var(--cov,#1e293b) 0%, #0b1220 100%);
}
.cov::before{
  content:"";position:absolute;inset:0;
  background-image:repeating-linear-gradient(125deg, rgba(255,255,255,.07) 0 1px, transparent 1px 14px);
  opacity:.5;
}
.cov img{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:auto;height:58%;max-width:72%;object-fit:contain;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.5));
}
.cov .cov-t{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  font-size:20px;letter-spacing:.18em;font-weight:800;line-height:1;
  color:rgba(255,255,255,.5);text-transform:uppercase;
}
.cov em{
  position:absolute;left:9px;bottom:7px;font-style:normal;
  font-size:8.5px;font-weight:800;letter-spacing:.16em;
  color:rgba(255,255,255,.62);text-transform:uppercase;
}

/* 文章页封面横幅 */
.art-cov{margin:18px 0 22px;height:190px;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#0b1220}
.art-cov .cov img{height:70%;max-width:34%;filter:drop-shadow(0 14px 26px rgba(0,0,0,.55))}
.art-cov .cov em{font-size:10px;left:14px;bottom:12px;letter-spacing:.22em}
.art-cov .cov::before{opacity:.35}
@media(max-width:760px){.art-cov{height:140px}}

/* 响应式 */
@media(max-width:1000px){
  .page-h1{font-size:23px}
  .b24-mrow{grid-template-columns:62px 1fr 66px 1fr}
}
@media(max-width:640px){
  body{font-size:15px}
  .page-h1{font-size:20.5px}
  .b24-newslist{grid-template-columns:1fr}
  .b24-nrow2 .th{flex:0 0 96px;height:62px}
}

/* =========================================================
   封面 v2：联赛配色 + 四种图案（按文章 ID 哈希分配）
   ========================================================= */
.cov{
  position:relative;display:block;width:100%;height:100%;overflow:hidden;
  background:
    radial-gradient(140% 120% at 82% 8%, rgba(255,255,255,.20) 0%, rgba(255,255,255,0) 55%),
    linear-gradient(158deg, var(--cov,#334155) 0%, var(--cov2,#0b1220) 78%);
}
.cov::before{content:"";position:absolute;inset:0;pointer-events:none}
.cov::after{
  content:"";position:absolute;left:-30%;bottom:-55%;width:150%;height:150%;
  background:radial-gradient(closest-side, rgba(255,255,255,.10), rgba(255,255,255,0) 70%);
  pointer-events:none;
}
/* p0 斜纹 */
.cov--p0::before{
  background-image:repeating-linear-gradient(118deg, rgba(255,255,255,.13) 0 1px, rgba(255,255,255,0) 1px 9px);
  opacity:.65;
}
/* p1 同心弧 */
.cov--p1::before{
  background-image:repeating-radial-gradient(circle at 88% 118%, rgba(255,255,255,.16) 0 2px, rgba(255,255,255,0) 2px 22px);
  opacity:.85;
}
/* p2 点阵 */
.cov--p2::before{
  background-image:radial-gradient(rgba(255,255,255,.22) 1.1px, rgba(255,255,255,0) 1.1px);
  background-size:11px 11px;opacity:.55;
}
/* p3 大弧 + 斜切光 */
.cov--p3::before{
  background:
    linear-gradient(102deg, rgba(255,255,255,.16) 0 26%, rgba(255,255,255,0) 26.6%),
    repeating-radial-gradient(circle at 8% -20%, rgba(255,255,255,.12) 0 2px, rgba(255,255,255,0) 2px 26px);
  opacity:.75;
}
.cov img{
  position:absolute;left:50%;top:46%;transform:translate(-50%,-50%);
  width:auto;height:56%;max-width:70%;object-fit:contain;z-index:2;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.55));
}
.cov--r img{left:auto;right:12%;transform:translate(0,-50%);height:62%}
.cov .cov-t{
  position:absolute;left:12%;top:50%;transform:translateY(-50%);
  font-size:19px;letter-spacing:.14em;font-weight:800;line-height:1;
  color:rgba(255,255,255,.92);text-transform:uppercase;z-index:2;
  padding-left:10px;border-left:2px solid rgba(255,255,255,.45);
}
.cov em{
  position:absolute;left:9px;bottom:6px;font-style:normal;z-index:2;
  font-size:8px;font-weight:800;letter-spacing:.16em;
  color:rgba(255,255,255,.55);text-transform:uppercase;
}
/* 文章页横幅 */
.art-cov .cov img{height:72%;max-width:30%}
.art-cov .cov .cov-t{font-size:30px;letter-spacing:.18em;left:6%}
.art-cov .cov em{font-size:10px;left:14px;bottom:11px;letter-spacing:.22em}
.b24-nrow2{min-height:100px}

/* 封面水印（仅在文章横幅显示） */
.cov .cov-wm{display:none}
.art-cov{height:150px}
.art-cov .cov .cov-wm{
  display:block;position:absolute;right:4%;top:50%;transform:translateY(-50%);
  font-style:normal;font-weight:800;font-size:64px;line-height:1;
  letter-spacing:.04em;color:rgba(255,255,255,.13);text-transform:uppercase;z-index:1;
  white-space:nowrap;
}
@media(max-width:760px){.art-cov .cov .cov-wm{font-size:40px}}
.art-cov .cov .cov-t{display:none}
.art-cov .cov em{display:none}

/* =========================================================
   防溢出：比分面板栅格允许收缩
   ========================================================= */
.b24-board{grid-template-columns:minmax(0,1.55fr) minmax(0,1fr)}
.b24-main,.b24-side,.b24-tbl,.b24-rows{min-width:0}
.b24-mrow>*{min-width:0}
.b24-mrow .n span{min-width:0;overflow:hidden;text-overflow:ellipsis}
@media(max-width:900px){
  .b24-board{grid-template-columns:minmax(0,1fr)}
  .b24-mrow{grid-template-columns:52px minmax(0,1fr) 54px minmax(0,1fr);gap:4px;padding:9px 2px}
  .b24-mrow .n{font-size:12px;gap:5px}
  .b24-mrow .c-t b{font-size:11.5px}
  .b24-mrow .c-t i{font-size:9px;letter-spacing:.02em}
  .b24-mrow .c-s{font-size:15px}
}

/* ===== 比分行：vs 占位、名称单行省略、窄屏不换行 ===== */
.b24-mrow .c-s em{
  font-style:normal;font-size:10px;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--mut2);
  border:1px solid var(--line-2);border-radius:5px;padding:2px 7px;line-height:1.5;
}
.b24-mrow .c-s.c-vs{align-self:center}
.b24-mrow .c-h,.b24-mrow .c-a{min-width:0}
.b24-mrow .c-h .n,.b24-mrow .c-a .n{display:flex;align-items:center;gap:7px;min-width:0}
.b24-mrow .c-h .n{justify-content:flex-start}
.b24-mrow .c-a .n{justify-content:flex-end}
.b24-mrow .n .tn{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.b24-mrow .n img,.b24-mrow .n .ini{flex:none}

@media(max-width:700px){
  .b24-mrow{grid-template-columns:58px minmax(0,1fr) 46px minmax(0,1fr);gap:6px;padding:11px 2px}
  .b24-mrow .n{font-size:12.5px}
  .b24-mrow .n .ini{display:none}
  .b24-mrow .c-h .n img,.b24-mrow .c-a .n img{width:16px;height:16px}
  .b24-mrow .c-t b{font-size:12px}
  .b24-mrow .c-t i{font-size:9px}
  .b24-mrow .c-s{font-size:15px}
}

/* ===== 顶栏：窄屏只留"直播 + 日期"，右侧链接交给主菜单 ===== */
@media(max-width:760px){
  .topbar .wrap{height:32px;gap:8px}
  .topbar .tb-l{gap:10px;font-size:11.5px}
  .topbar .tb-l span:nth-child(3){display:none}
  .topbar .tb-r{display:none}
}
@media(max-width:420px){
  .topbar .tb-l span:nth-child(2){display:none}
}

/* ===== 横滑条右缘渐隐：被切断的文字变成"还有更多" ===== */
.tk-track{
  -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
  mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 26px),transparent 100%);
}
@media(max-width:760px){
  .hdr .wrap{gap:12px;height:58px}
  .nav{overflow-x:auto;scrollbar-width:none;
    -webkit-mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%);
    mask-image:linear-gradient(90deg,#000 0,#000 calc(100% - 22px),transparent 100%);
  }
  .nav::-webkit-scrollbar{display:none}
  .nav a{padding:7px 9px;font-size:13px}
}

/* ===== 积分表：定宽列，GD 不再被挤掉 ===== */
.b24-tbl{table-layout:fixed;width:100%}
.b24-tbl th:first-child,.b24-tbl td:first-child{width:24px;text-align:center;color:var(--mut2)}
.b24-tbl th:nth-child(3),.b24-tbl td:nth-child(3),
.b24-tbl th:nth-child(4),.b24-tbl td:nth-child(4),
.b24-tbl th:nth-child(5),.b24-tbl td:nth-child(5){width:38px;text-align:right}
.b24-tbl th:nth-child(5),.b24-tbl td:nth-child(5){padding-right:6px}

/* 时间列副行不再折成两行（7 NOV · ERE），行高才齐 */
.b24-mrow .c-t i{white-space:nowrap;display:block;overflow:hidden;text-overflow:ellipsis}
.b24-mrow .c-t{min-width:0}
@media(max-width:700px){
  .b24-mrow .c-t i{font-size:8.5px;letter-spacing:.02em}
  .b24-mrow .c-t b{font-variant-numeric:tabular-nums}
}
/* 顶部 logo 在极窄屏收起 MALAYSIA 字样，给按钮让位 */
@media(max-width:420px){
  .logo small{display:none}
  .hdr .wrap{gap:8px}
  .logo{font-size:20px}
  .logo .mark{width:30px;height:30px;font-size:16px}
  .iconbtn{width:32px;height:32px}
}

/* 主栏与侧栏各自按内容高度，避免左卡被拉高后留出一大片空白 */
.b24-board{align-items:start}
/* 时间列加宽，副行 "7 NOV · SERIEA" 不再被截断 */
.b24-mrow{grid-template-columns:84px minmax(0,1fr) 70px minmax(0,1fr)}
.b24-mrow .c-t i{font-size:9px;letter-spacing:0}
@media(max-width:700px){
  .b24-mrow{grid-template-columns:58px minmax(0,1fr) 46px minmax(0,1fr)}
  .b24-mrow .c-t i{font-size:8.5px}
}

/* 球员头像：字母底 + 背景层，加载慢/失败也不出空块 */
.b24-pl .im{position:relative;background-image:var(--ph,none);background-size:cover;background-position:center top;background-repeat:no-repeat}
.b24-pl .im .mono{
  position:absolute;inset:0;display:grid;place-items:center;font-style:normal;
  font-size:26px;font-weight:800;color:#c6d2de;letter-spacing:0;
}
.b24-pl .im{overflow:hidden}

/* ============ 真实照片封面 ============
   图库里是球场/看台实拍照，直接铺满卡片；不再用色块+字母占位 */
.cov--ph{background:#0b1220;display:block}
.cov--ph::before{display:none !important}
.cov--ph img{
  position:absolute !important;
  top:0 !important;left:0 !important;right:0 !important;bottom:0 !important;
  width:100% !important;height:100% !important;
  max-width:none !important;max-height:none !important;
  object-fit:cover !important;object-position:center !important;
  display:block;border:0;border-radius:0;transform:none !important;
  filter:saturate(1.04) contrast(1.03);
  transition:transform .5s cubic-bezier(.22,.61,.36,1);
}
a:hover .cov--ph img,.blk-hero:hover .cov--ph img{transform:scale(1.045) !important}
/* 照片上压一层极轻的暗角，卡片标题区域更稳 */
.cov--ph::after{
  content:"";display:block !important;position:absolute;inset:0;pointer-events:none;z-index:2;
  background:linear-gradient(180deg,rgba(4,10,20,.05) 0%,rgba(4,10,20,0) 45%,rgba(4,10,20,.30) 100%);
}
