/* ============================================================
   zhiboshow — 本页特有样式
   依赖 css/common.css，请保持该文件先于本文件加载
   来源：原 <style> 内联块中仅本页使用的规则
   ============================================================ */
.mnav-events-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:0 4px}
.mnav-event-chip{display:flex;align-items:center;gap:8px;padding:11px 12px;border-radius:10px;font-size:13px;font-weight:500;color:var(--t700);background:var(--bg);border:1px solid var(--bdl);transition:var(--e);cursor:pointer;text-decoration:none;white-space:nowrap}
.mnav-event-chip:hover{background:var(--p50);border-color:var(--p200);color:var(--p700)}
.mnav-event-chip .chip-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.mbb-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:4px 12px;cursor:pointer;-webkit-tap-highlight-color:transparent;text-decoration:none;position:relative}
.mbb-dot{position:absolute;top:-1px;right:6px;width:7px;height:7px;background:var(--red);border-radius:50%;border:2px solid #fff}
.breadcrumb{padding:14px 0 0}
.breadcrumb .wrap{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--t400);flex-wrap:wrap}
.breadcrumb a{color:var(--t500);transition:var(--e)}
.breadcrumb a:hover{color:var(--p)}
.breadcrumb .sep{color:var(--t300)}
.breadcrumb .cur{color:var(--t900);font-weight:600;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.page{padding:16px 0 40px}
.col-s{width:360px;flex-shrink:0}
/* ======================================================
   比赛头部 Hero
   ====================================================== */
.match-hero{
  padding:28px 24px 32px;
  background:linear-gradient(135deg,#0f172a 0%,#1e293b 60%,#065f46 100%);
  color:#fff;position:relative;overflow:hidden;
}
.match-hero::before{
  content:'';position:absolute;top:-50%;right:-8%;width:420px;height:420px;
  background:radial-gradient(circle,rgba(5,150,105,.12) 0%,transparent 65%);
  pointer-events:none;
}
.match-hero .mh-top{
  display:flex;align-items:center;justify-content:space-between;
  margin-bottom:24px;position:relative;z-index:1;
}
.match-hero .mh-league{
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 14px;border-radius:6px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);
  font-size:13px;font-weight:600;color:#a7f3d0;
}
.match-hero .mh-league-dot{width:7px;height:7px;border-radius:50%;background:var(--p)}
.match-hero .mh-round{font-size:13px;color:rgba(255,255,255,.4);font-weight:400}
.match-hero .mh-score-area{
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;z-index:1;
}
.mh-team{
  flex:1;
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.mh-center{
  flex:none;width:220px;
  display:flex;flex-direction:column;align-items:center;gap:6px;
}
.mh-team-logo{
  width:80px;height:80px;object-fit:contain;
  filter:drop-shadow(0 6px 16px rgba(0,0,0,.35));
}
.mh-team-name{
  font-size:20px;font-weight:700;letter-spacing:2px;
}
.mh-time{
  font-family:'DM Mono',monospace;font-size:12px;font-weight:500;
  color:rgba(255,255,255,.35);letter-spacing:1px;
  margin-bottom:4px;
}
.mh-score{
  font-family:'DM Mono',monospace;font-size:52px;font-weight:700;
  letter-spacing:6px;line-height:1;
  background:linear-gradient(180deg,#fff 0%,#a7f3d0 100%);
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;
  background-clip:text;
  white-space:nowrap;
}
.mh-status{
  margin-top:16px;
  display:inline-flex;align-items:center;gap:7px;
  padding:5px 16px;border-radius:20px;
  font-size:13px;font-weight:700;letter-spacing:.5px;
}
.mh-status.is-live{
  background:rgba(239,68,68,.12);border:1px solid rgba(239,68,68,.25);
  color:#fca5a5;
}
.mh-status.is-live .mh-status-dot{
  width:7px;height:7px;background:#ef4444;border-radius:50%;
  animation:blink 1.2s ease-in-out infinite;flex-shrink:0;
}
.mh-status.is-end{
  background:rgba(148,163,184,.1);border:1px solid rgba(148,163,184,.2);
  color:rgba(255,255,255,.45);
}
.mh-status.is-upcoming{
  background:rgba(5,150,105,.1);border:1px solid rgba(5,150,105,.25);
  color:rgba(167,243,208,.7);
}
@keyframes blink{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.25;transform:scale(.7)}}
/* ======================================================
   信号源按钮区
   ====================================================== */
.signal-section{
  padding:22px 24px 18px;
  background:linear-gradient(180deg,rgba(248,253,249,.5) 0%,var(--bg-card) 100%);
  border-top:1px solid var(--bdl);
}
.signal-section .ss-title{
  font-size:14px;font-weight:600;color:var(--t900);
  display:flex;align-items:center;gap:7px;margin-bottom:16px;
}
.signal-section .ss-title .st-dot{width:6px;height:6px;border-radius:50%;background:var(--p);flex-shrink:0}
.signal-buttons{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.signal-btn{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;
  padding:20px 12px 18px;border-radius:12px;
  border:1.5px solid var(--p200);
  background:linear-gradient(180deg,#fff 0%,var(--p50) 100%);
  cursor:pointer;transition:var(--e);text-decoration:none;
  position:relative;overflow:hidden;
  -webkit-tap-highlight-color:transparent;user-select:none;
}
.signal-btn::after{
  content:'';position:absolute;inset:0;
  background:radial-gradient(circle at center,rgba(5,150,105,.15) 0%,transparent 70%);
  opacity:0;transition:opacity .3s;pointer-events:none;
}
.signal-btn:hover{
  border-color:var(--p);background:var(--p50);
  transform:translateY(-3px);
  box-shadow:0 8px 24px rgba(5,150,105,.18);
}
.signal-btn:hover .sb-icon{background:var(--p);border-color:var(--p);transform:scale(1.06)}
.signal-btn:hover .sb-icon svg{stroke:#fff}
.signal-btn:hover .sb-label{color:var(--p700)}
.signal-btn:active{
  transform:translateY(0) scale(.97);
  box-shadow:0 2px 8px rgba(5,150,105,.12);
  border-color:var(--p700);background:var(--p100);
}
.signal-btn:active::after{opacity:1}
.signal-btn:active .sb-icon{background:var(--p700);border-color:var(--p700);transform:scale(.95);box-shadow:0 0 0 3px rgba(5,150,105,.15)}
.signal-btn.selected{
  border-color:var(--p);background:var(--p50);
  box-shadow:0 4px 16px rgba(5,150,105,.2),inset 0 0 0 1px rgba(5,150,105,.08);
}
.signal-btn.selected .sb-icon{background:var(--p);border-color:var(--p)}
.signal-btn.selected .sb-icon svg{stroke:#fff}
.signal-btn.selected .sb-label{color:var(--p700);font-weight:700}
.sb-icon{
  width:48px;height:48px;
  background:var(--p50);border:1.5px solid var(--p200);
  border-radius:12px;display:flex;align-items:center;justify-content:center;
  transition:var(--e);flex-shrink:0;
}
.sb-icon svg{width:24px;height:24px;fill:none;stroke:var(--p);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
.sb-label{font-size:13px;font-weight:600;color:var(--t900);text-align:center;line-height:1.4;transition:color .2s}
.signal-tip{
  margin-top:16px;padding:11px 14px;
  background:var(--r50);border:1px solid rgba(239,68,68,.1);border-radius:8px;
  font-size:12px;color:var(--t500);line-height:1.7;
  display:flex;align-items:flex-start;gap:9px;
}
.signal-tip .tip-icon{
  width:18px;height:18px;border-radius:50%;background:rgba(239,68,68,.08);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;
}
.signal-tip .tip-icon svg{width:11px;height:11px;fill:none;stroke:var(--red);stroke-width:2.2;stroke-linecap:round}
/* ======================================================
   赛事详情
   ====================================================== */
.match-detail-section{padding:20px 24px 22px;border-top:1px solid var(--bdl)}
.match-detail-section .md-title{
  font-size:15px;font-weight:700;color:var(--t900);
  display:flex;align-items:center;gap:8px;margin-bottom:16px;
}
.match-detail-section .md-title .d{width:5px;height:16px;border-radius:3px;background:var(--p);flex-shrink:0}
.md-content{
  font-size:14px;line-height:1.95;color:var(--t700);
  padding:16px 18px;
  background:var(--bdl);border-radius:10px;
  border:1px solid rgba(226,232,240,.5);
}
.md-content p{margin-bottom:14px;text-align:justify}
.md-content p:last-child{margin-bottom:0}
.md-content strong{color:var(--t900);font-weight:600}
.match-sm{display:grid;grid-template-columns:70px 1fr 70px;align-items:center;padding:0 14px;height:52px;border-bottom:1px solid var(--bdl);transition:var(--e);cursor:pointer;text-decoration:none}
.match-sm:last-child{border-bottom:none}
.match-sm:hover{background:var(--p50)}
.ms-left{display:flex;align-items:center;gap:6px}
.ms-time{font-family:'DM Mono',monospace;font-size:12px;font-weight:600;color:var(--t900);min-width:32px;text-align:right}
.ms-pipe{width:1.5px;height:20px;background:var(--p200);flex-shrink:0;border-radius:1px}
.ms-tag{font-size:11px;font-weight:700;color:var(--p800);white-space:nowrap}
.ms-mid{display:flex;align-items:center;justify-content:center;gap:8px;font-size:12px;font-weight:600;color:var(--t900)}
.ms-mid .logo{width:20px;height:20px;object-fit:contain}
.ms-mid .vs{font-size:10px;color:var(--t300);font-weight:700}
.ms-mid .score{font-family:'DM Mono',monospace;font-size:13px;font-weight:700;color:var(--p700)}
.ms-right{display:flex;justify-content:flex-end}
.ms-btn{font-size:10px;font-weight:600;padding:3px 8px;border-radius:5px;border:1px solid;white-space:nowrap}
.ms-btn.live{color:#dc2626;border-color:#fecaca;background:rgba(239,68,68,.04)}
.ms-btn.live::before{content:'';display:inline-block;width:4px;height:4px;background:#dc2626;border-radius:50%;margin-right:4px;animation:blink 1.5s ease-in-out infinite}
.ms-btn.up{color:var(--p700);border-color:var(--p200);background:rgba(5,150,105,.04)}
.ms-btn.end{color:var(--t400);border-color:var(--bdl);background:rgba(148,163,184,.06)}
.match-sm.is-live .ms-time{color:var(--red)}
.match-sm.is-live .ms-tag{color:var(--red)}
.sn-list{padding:4px 0}
.sn-item-news{display:flex;align-items:flex-start;gap:8px;padding:8px 14px;border-bottom:1px solid var(--bdl);cursor:pointer;transition:background .15s}
.sn-item-news:last-child{border-bottom:none}
.sn-item-news:hover{background:var(--p50)}
.sn-item-news:hover h4{color:var(--p)}
.sn-idx{width:18px;height:18px;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;color:#fff;flex-shrink:0;margin-top:2px}
.si-1{background:linear-gradient(135deg,#ef4444,#dc2626)}
.si-2{background:linear-gradient(135deg,#f97316,#ea580c)}
.si-3{background:linear-gradient(135deg,#eab308,#ca8a04)}
.si-n{background:var(--bdl);color:var(--t400)}
.sn-item-news .sn-body{flex:1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px}
.sn-item-news .sn-body h4{font-size:12px;font-weight:500;color:var(--t900);line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .15s;flex:1;min-width:0}
.sn-item-news .sn-time{font-size:11px;color:var(--t400);font-family:'DM Mono',monospace;flex-shrink:0;white-space:nowrap}
.vi-s{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--bdl);cursor:pointer;transition:background .15s}
.vi-text{flex:1;font-size:12px;font-weight:500;color:var(--t900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* ======================================================
   响应式
   ====================================================== */
@media(max-width:1080px){.col-s{width:300px}}
@media(max-width:1024px){
  .page .wrap{flex-direction:column;align-items:stretch}
  .col-s{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .col-s>section:first-child{grid-column:1/-1}
  .page{padding-bottom:80px}
}
@media(max-width:768px){
  .nav>li>a{padding:16px 12px;font-size:13px}
  .nav-drop{left:0;transform:translateX(0) translateY(6px)}.nav>li:hover .nav-drop{transform:translateX(0) translateY(0)}.nav-drop::before{left:24px}
  .col-s{grid-template-columns:1fr}
  .match-hero{padding:20px 16px 24px}
  .mh-team-logo{width:60px;height:60px}
  .mh-team-name{font-size:16px}
  .mh-center{width:170px}
  .mh-score{font-size:42px;letter-spacing:6px}
  .mh-status{margin-top:14px;font-size:12px;padding:4px 14px}
  .signal-section{padding:18px 16px 14px}
  .signal-btn{padding:16px 10px 14px;gap:8px}
  .sb-icon{width:42px;height:42px;border-radius:10px}
  .sb-icon svg{width:20px;height:20px}
  .sb-label{font-size:12px}
  .match-detail-section{padding:16px 16px 18px}
  .md-content{padding:14px 14px;font-size:13px}
  .match-sm{height:46px;padding:0 12px;gap:4px}
  .ms-mid{gap:6px;font-size:11px}
  .ms-mid .logo{width:18px;height:18px}
  .ms-time{font-size:11px;min-width:28px}
  .ms-tag{font-size:10px}
  .footer{padding-bottom:calc(60px + env(safe-area-inset-bottom,16px))}
}
@media(max-width:640px){
  .nav{display:none}
  .menu-btn{display:flex}
  .mbb{display:block}
  .page{padding:16px 0 calc(80px + env(safe-area-inset-bottom,16px))}
  .wrap{padding:0 16px}
  .breadcrumb{padding:10px 0 0}
  .breadcrumb .wrap{font-size:11px;gap:4px}
  .match-hero{padding:16px 12px 20px}
  .match-hero .mh-top{flex-direction:column;gap:8px;align-items:flex-start}
  .mh-team-logo{width:50px;height:50px}
  .mh-team-name{font-size:15px}
  .mh-center{width:150px}
  .mh-score{font-size:38px;letter-spacing:5px}
  .mh-status{margin-top:12px;font-size:11px;padding:4px 12px;gap:5px}
  .mh-status .mh-status-dot{width:6px;height:6px}
  .signal-section{padding:14px 12px 12px}
  .signal-buttons{gap:10px}
  .signal-btn{padding:14px 10px 12px;gap:8px;border-radius:10px}
  .sb-icon{width:40px;height:40px;border-radius:10px}
  .sb-icon svg{width:18px;height:18px}
  .sb-label{font-size:11px}
  .signal-tip{padding:10px 12px;font-size:11px;gap:8px}
  .signal-tip .tip-icon{width:16px;height:16px}
  .signal-tip .tip-icon svg{width:10px;height:10px}
  .match-detail-section{padding:14px 12px 16px}
  .md-content{padding:12px;font-size:12px;line-height:1.85}
  .ms-mid .logo{width:16px;height:16px}
  .sn-item-news{padding:8px 12px}
  .sn-item-news .sn-body h4{font-size:12px}
  .sn-item-news .sn-time{font-size:11px}
  .sn-idx{width:16px;height:16px;font-size:9px}
  .vi-s{padding:8px 12px}
  .vi-icon{width:18px;height:18px}
  .vi-icon::after{border-left-width:5px;border-top-width:2.5px;border-bottom-width:2.5px}
  .vi-text{font-size:11px}
  .vi-date{font-size:10px}
}
@media(max-width:480px){
  .logo-t{font-size:17px;letter-spacing:1px}.logo-b{width:30px;height:30px;font-size:13px}
  .header .wrap{height:52px}
  .mh-team-logo{width:44px;height:44px}
  .mh-team-name{font-size:13px;letter-spacing:1px}
  .mh-center{width:120px}
  .mh-score{font-size:32px;letter-spacing:4px}
  .mh-time{font-size:11px}
  .mh-status{margin-top:10px;font-size:10px;padding:3px 10px;gap:4px}
  .mh-status .mh-status-dot{width:5px;height:5px}
  .mh-league{font-size:11px;padding:4px 10px}
  .mh-round{font-size:11px}
  .signal-buttons{grid-template-columns:1fr}
  .signal-btn{flex-direction:row;gap:14px;padding:12px 14px}
  .sb-icon{width:42px;height:42px}
  .sb-label{text-align:left;font-size:12px}
  .match-sm{height:auto;min-height:44px;grid-template-columns:60px 1fr auto;padding:10px 12px;gap:4px}
  .ms-time{font-size:10px;min-width:24px}
  .ms-tag{font-size:9px}
  .ms-mid{font-size:10px;gap:4px}
  .ms-mid .logo{width:16px;height:16px}
  .ms-btn{font-size:9px;padding:2px 6px}
  .mnav-panel{width:280px}
}
