*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;background:#f4f5f7;color:#222;font-size:14px;line-height:1.5}
a{text-decoration:none;color:inherit}
img{max-width:100%}

/* ========== 图标：纯 CSS 绘制，不依赖 emoji ========== */
.icon-search{
  width:13px;height:13px;border:2px solid #aaa;border-radius:50%;
  position:relative;flex-shrink:0;transition:border-color .2s;
}
.icon-search::after{
  content:'';position:absolute;width:2px;height:6px;background:#aaa;
  transform:rotate(-45deg);bottom:-5px;right:-2px;border-radius:1px;
}
.header-search:focus-within .icon-search,
.header-search:focus-within .icon-search::after{border-color:#1a8c4e;background:#1a8c4e}

.arrow-more::after{
  content:'';display:inline-block;width:5px;height:5px;
  border-top:1.5px solid currentColor;border-right:1.5px solid currentColor;
  transform:rotate(45deg);margin-left:5px;vertical-align:2px;
}

/* ========== 顶部导航 ========== */
.header{background:#fff;border-bottom:1px solid #e8e8e8;position:sticky;top:0;z-index:200;box-shadow:0 1px 6px rgba(0,0,0,.05)}
.header-inner{max-width:1200px;margin:0 auto;padding:0 16px;display:flex;align-items:center;height:58px;gap:28px}
.logo{font-size:23px;font-weight:900;color:#1a8c4e;letter-spacing:-.5px;white-space:nowrap}
.logo span{color:#222}
.nav{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
.nav::-webkit-scrollbar{display:none}
.nav a{padding:7px 15px;border-radius:6px;font-size:14px;color:#555;white-space:nowrap;transition:.2s}
.nav a:hover{background:#e8f5ee;color:#1a8c4e}
.nav a.active{background:#1a8c4e;color:#fff;font-weight:600}
.header-search{display:flex;align-items:center;background:#f4f5f7;border-radius:20px;padding:7px 15px;gap:8px;width:210px;transition:.25s}
.header-search:focus-within{width:270px;background:#e8f5ee}
.header-search input{border:none;background:transparent;outline:none;font-size:13px;width:100%;color:#333}
.header-search input::placeholder{color:#aaa}

/* ========== 主容器 ========== */
.wrap{max-width:1200px;margin:0 auto;padding:18px 16px 40px}

/* ========== 卡片通用 ========== */
.card{background:#fff;border-radius:12px;box-shadow:0 1px 4px rgba(0,0,0,.05);overflow:hidden;margin-bottom:20px}

.section-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 12px;border-bottom:1px solid #f0f0f0}
.section-head h2{font-size:18px;font-weight:800;color:#1a1a1a;display:flex;align-items:center;gap:9px}
.section-head h2::before{content:'';display:inline-block;width:4px;height:19px;background:#1a8c4e;border-radius:2px}
.section-head .more{font-size:13px;color:#999;transition:.2s;display:inline-flex;align-items:center}
.section-head .more:hover{color:#1a8c4e}

/* ========== 资讯分类标签 ========== */
.news-tabs{display:flex;gap:6px;padding:12px 20px 4px;overflow-x:auto;scrollbar-width:none}
.news-tabs::-webkit-scrollbar{display:none}
.news-tabs button{border:none;background:#f4f5f7;color:#666;font-size:13px;padding:6px 16px;border-radius:18px;cursor:pointer;white-space:nowrap;transition:.2s;font-weight:500}
.news-tabs button:hover{background:#e8f5ee;color:#1a8c4e}
.news-tabs button.active{background:#1a8c4e;color:#fff;font-weight:600}

/* ========== 资讯双列列表（一行两排 · 无缩图） ========== */
.news-grid2{
  display:grid;
  grid-template-columns:1fr 1fr;
  column-gap:28px;
  padding:10px 20px 18px;
  min-height:120px;
}

.news-line{
  display:flex;
  align-items:center;
  gap:10px;
  padding:11px 0;
  border-bottom:1px solid #f2f2f2;
  cursor:pointer;
  transition:all .15s;
  min-width:0;
}
.news-line:hover .line-title{color:#1a8c4e}

/* 文字标签 */
.line-tag{
  flex-shrink:0;
  font-size:11.5px;
  padding:2px 8px;
  border-radius:4px;
  font-weight:600;
  line-height:1.5;
  white-space:nowrap;
}
.tag-green{background:#e8f5ee;color:#1a8c4e}
.tag-blue{background:#e8f0fe;color:#2563eb}
.tag-orange{background:#fff3e0;color:#ea7a1a}
.tag-red{background:#fdecea;color:#d93025}
.tag-purple{background:#f3e8fd;color:#8b3dce}
.tag-gray{background:#f0f0f0;color:#666}

/* 标题 */
.line-title{
  flex:1;
  font-size:14px;
  color:#333;
  line-height:1.45;
  transition:color .15s;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  min-width:0;
}

/* 时间 */
.line-time{
  flex-shrink:0;
  font-size:12px;
  color:#c0c0c0;
  white-space:nowrap;
}

/* 空状态提示 */
.empty-tip{
  grid-column:1/-1;
  text-align:center;
  padding:40px 20px;
  color:#bbb;
  font-size:13px;
}

/* ========== 赛程区 ========== */
.match-tabs{display:flex;gap:0;padding:0 20px;border-bottom:1px solid #f0f0f0}
.match-tabs button{border:none;background:none;padding:14px 20px;font-size:14.5px;color:#888;cursor:pointer;position:relative;font-weight:500;transition:color .2s}
.match-tabs button.active{color:#1a8c4e;font-weight:800}
.match-tabs button.active::after{content:'';position:absolute;bottom:-1px;left:20px;right:20px;height:3px;background:#1a8c4e;border-radius:2px 2px 0 0}
.match-tabs button:hover{color:#1a8c4e}

.date-group{padding:0 20px}
.date-head{display:flex;align-items:center;justify-content:space-between;padding:16px 0 10px;font-size:14px;font-weight:800;color:#1a8c4e;border-bottom:1px solid #f0f0f0;margin-bottom:2px}
.date-head .count{font-weight:400;color:#aaa;font-size:12px}

.match-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:12px 20px;gap:10px;border-bottom:1px solid #f8f8f8;cursor:pointer;transition:background .15s}
.match-row:last-child{border-bottom:none}
.match-row:hover{background:#f9fbfa}
.match-meta{grid-column:1/-1;display:flex;align-items:center;gap:10px;font-size:12px;color:#999;margin-bottom:4px}
.match-league{background:#f0f0f0;color:#666;padding:2px 8px;border-radius:3px;font-size:11px;font-weight:600}
.match-status{font-size:11px;padding:2px 8px;border-radius:3px;font-weight:600}
.status-live{background:#fdecea;color:#d93025;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.55}}
.status-upcoming{background:#e8f0fe;color:#2563eb}
.status-finished{background:#f0f0f0;color:#888}

.match-team{display:flex;align-items:center;gap:8px;font-weight:600;color:#333;font-size:14px}
.match-team.home{justify-content:flex-end;text-align:right}
.match-team.away{justify-content:flex-start;text-align:left}
.team-badge{width:24px;height:24px;border-radius:50%;background:#e8e8e8;display:flex;align-items:center;justify-content:center;font-size:10px;color:#999;flex-shrink:0;font-weight:800}
.match-score{font-weight:900;font-size:17px;color:#1a8c4e;min-width:58px;text-align:center;white-space:nowrap}
.match-score.vs{color:#ccc;font-size:14px;font-weight:700}

.load-more{text-align:center;padding:16px;font-size:13.5px;color:#999;cursor:pointer;transition:color .2s;font-weight:500}
.load-more:hover{color:#1a8c4e}

.match-empty{display:none;text-align:center;padding:50px 20px;color:#bbb;font-size:13.5px}

/* ========== 页脚 ========== */
.footer{background:#fff;border-top:1px solid #e8e8e8;padding:28px 16px;text-align:center;font-size:12px;color:#aaa;margin-top:20px}
.footer a{color:#888;margin:0 10px;transition:.2s}
.footer a:hover{color:#1a8c4e}

/* ========== 响应式 ========== */
@media(max-width:768px){
  .header-inner{gap:14px;padding:0 12px;height:52px}
  .logo{font-size:19px}
  .nav a{padding:6px 11px;font-size:13px}
  .header-search{display:none}
  .wrap{padding:12px 10px 30px}
  .section-head{padding:14px 14px 10px}
  .section-head h2{font-size:16px}
  .news-tabs{padding:10px 14px 2px}
  .news-tabs button{padding:5px 13px;font-size:12px}
  .news-grid2{grid-template-columns:1fr;column-gap:0;padding:8px 14px 14px}
  .news-line{padding:10px 0;gap:8px}
  .line-tag{font-size:11px;padding:2px 7px}
  .line-title{font-size:13.5px}
  .line-time{display:none}
  .match-tabs{padding:0 14px}
  .match-tabs button{padding:12px 14px;font-size:13.5px}
  .date-group{padding:0 14px}
  .match-row{padding:10px 14px;gap:6px}
  .match-team{font-size:13px;gap:5px}
  .team-badge{width:20px;height:20px;font-size:9px}
  .match-score{font-size:15px;min-width:46px}
}