.main-container{display:flex;flex-wrap:wrap;gap:20px;max-width:1400px;margin:0 auto;padding:15px;position:relative}
.matches-section{flex:1 1 65%;min-width:300px}
.match-container{background:#fff;border-radius:2px;box-shadow:0 2px 20px rgba(0,0,0,0.06);overflow:hidden;transition:all .3s ease}
.match-header{padding:20px;background:linear-gradient(to right,#f8f9fa,#ffffff);border-bottom:1px solid rgba(0,0,0,0.05)}
.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:2px solid #f0f0f0;position:relative}
.section-header:after{content:'';position:absolute;bottom:-2px;left:0;width:50px;height:2px;background:#1890ff}
.section-title{font-size:22px;font-weight:600;color:#2c3e50;display:flex;align-items:center;gap:10px}
.section-title i{font-size:24px;color:#1890ff}
.more-link{color:#1890ff;font-size:14px;text-decoration:none;display:flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;background:rgba(24,144,255,0.1)}
.match-tabs{display:flex;gap:10px;margin-bottom:15px;padding:0 5px;flex-wrap:wrap}
.match-tab{padding:8px 18px;border-radius:20px;cursor:pointer;font-size:14px;transition:all .3s;background:#f8f9fa;color:#666;border:1px solid transparent;display:flex;align-items:center;gap:8px}
.match-tab i{font-size:16px}
.match-tab:hover{background:#e6f7ff;color:#1890ff}
.match-tab.active{background:#1890ff;color:#fff;box-shadow:0 4px 12px rgba(24,144,255,0.3)}
.match-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding:0 5px}
.sport-type{padding:5px 12px;border-radius:20px;cursor:pointer;font-size:12px;transition:all .3s;background:#f8f9fa;color:#666;border:1px solid #eee;display:flex;align-items:center;gap:6px}
.sport-type:hover{border-color:#1890ff;color:#1890ff}
.sport-type.active{background:#e6f7ff;color:#1890ff;border-color:#1890ff}
.sport-type .count{background:rgba(24,144,255,0.1);padding:2px 6px;border-radius:10px;font-size:12px}
.match-group{padding:10px;border-bottom:1px solid #f5f5f5}
.match-time-header{color:#1890ff;font-size:14px;font-weight:600;margin-bottom:15px;display:flex;align-items:center;gap:8px}
.match-time-header i{font-size:16px}
.match-item{display:flex;align-items:center;padding:16px;border-radius:2px;margin-bottom:12px;background:#f8f9fa}
.match-info{width:100px;text-align:center;padding-right:15px}
.match-time{font-weight:bold;color:#2c3e50;margin-bottom:6px}
.match-status{font-size:12px;padding:4px 8px;border-radius:12px;display:inline-block}
.status-live{color:#fff;background:#ff4d4f;animation:pulse 2s infinite}
.status-upcoming{color:#fff;background:#52c41a}
.status-finished{color:#fff;background:#999}
@keyframes pulse{0%{opacity:1}50%{opacity:.7}100%{opacity:1}}
.match-league{width:160px;display:flex;align-items:center;gap:10px;padding:0 15px}
.league-logo{width:24px;height:24px;border-radius:50%;object-fit:cover;border:1px solid #eee}
.league-name{color:#666;font-weight:500}
.match-teams{flex:1;display:flex;align-items:center;justify-content:center;gap:30px}
.team{display:flex;align-items:center;gap:6px}
.team-logo{width:32px;height:32px;border-radius:50%;object-fit:cover;border:1px solid #eee;padding:2px;background:#fff}
.team-name{color:#2c3e50;width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.match-vs{font-size:14px;color:#5496f7;font-weight:600;position:relative}
.match-action{width:120px;text-align:right}
.btn-watch{padding:8px 20px;color:white;border:none;cursor:pointer;transition:all .3s;display:inline-flex;align-items:center;gap:6px}
.btn-watch i{font-size:16px}
.news-section{flex:1 1 30%;min-width:280px}
.news-list{background:#fff;border-radius:2px;padding:10px}
.no-matches{margin:0 auto;text-align:center;padding:100px 0}
.news-item{display:flex;gap:15px;padding:15px;border-bottom:1px solid #f5f5f5;background:#f8f9fa;}
.news-item:last-child{border-bottom:none}
.news-image{width:100px;height:70px;object-fit:cover}
.news-content{flex:1;display:flex;flex-direction:column;justify-content:space-between}
.news-title{font-size:15px;color:#2c3e50;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-decoration:none;font-weight:500;line-height:1.4}
.news-title:hover{color:#1890ff}
.news-meta{display:flex;align-items:center;gap:12px;font-size:12px;color:#999}
.news-category{color:#1890ff;background:#e6f7ff;padding:3px 10px;border-radius:12px;font-weight:500}
.news-date{display:flex;align-items:center;gap:4px}
.news-date i{font-size:14px}
.sort-controls{display:flex;align-items:center;gap:10px;margin-top:10px;padding:0 5px;flex-wrap:wrap}
.sort-label{color:#666;font-size:13px;display:flex;align-items:center;gap:5px}
.sort-label i{font-size:16px;color:#1890ff}
.sort-options{display:flex;gap:8px;flex-wrap:wrap}
.sort-option{padding:5px 12px;border-radius:20px;cursor:pointer;font-size:12px;transition:all .3s;background:#f8f9fa;color:#666;border:1px solid #eee;display:flex;align-items:center;gap:6px}
.sort-option:hover{border-color:#1890ff;color:#1890ff}
.sort-option.active{background:#e6f7ff;color:#1890ff;border-color:#1890ff}
.sort-option i{font-size:14px}
.hot-matches{padding:15px;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}
.hot-match-item{display:flex;flex-direction:column;background:white;border-radius:15px;overflow:hidden;box-shadow:0 5px 15px rgba(0,0,0,0.08);transition:all .3s ease;border:2px solid transparent;position:relative;margin-bottom:20px}
.hot-match-item:hover{transform:translateY(-5px);border-color:#ff3366;box-shadow:0 10px 25px rgba(255,51,102,0.2)}
.hot-match-item:before{content:"";position:absolute;top:0;right:0;width:40px;height:40px;background:#ff3366;transform:translate(50%,-50%) rotate(45deg);z-index:1}
.hot-match-item:after{content:"热";position:absolute;top:3px;right:3px;color:white;font-size:12px;font-weight:bold;z-index:2}
.hot-matches-container{background:#fff;border-radius:2px;box-shadow:0 2px 20px rgba(0,0,0,0.06);padding:15px}
.hot-match-item .match-info{width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f8f9fa;gap:10px}
.hot-match-item .match-date{font-size:13px;color:#666}
.hot-match-item .match-teams{padding:15px;display:flex;flex-direction:column;gap:15px;align-items:center}
.hot-match-item .team{width:100%;justify-content:center}
.hot-match-item .match-vs{font-size:18px;font-weight:bold;color:#999;position:relative;margin:5px 0}
.hot-match-item .match-action{width:100%;text-align:center;padding:0 15px 15px}
.hot-match-item .btn-watch{width:100%;justify-content:center;background:linear-gradient(135deg,#ff3366,#ff5533);box-shadow:0 5px 15px rgba(255,51,102,0.3);display:inline-flex;align-items:center;gap:6px;padding:10px 20px;border-radius:20px;color:white;font-size:14px;text-decoration:none;transition:all .3s}
.match-item a{text-decoration:none;color:#000}
.ranking-container{background:#fff;border-radius:2px;box-shadow:0 2px 20px rgba(0,0,0,0.06);overflow:hidden;margin-bottom:20px}
.sport-ranking-tabs{display:flex;background:#f8f9fa;padding:8px 5px;border-bottom:1px solid #e9ecef;flex-wrap:wrap}
.sport-ranking-tab{padding:7px 14px;cursor:pointer;font-size:13px;font-weight:500;color:#495057;border-radius:8px;margin-right:5px;margin-bottom:5px;transition:all .3s ease;border:1px solid transparent}
.sport-ranking-tab:hover{color:#007bff;background-color:#e9ecef}
.sport-ranking-tab.active{background-color:#007bff;color:#fff;box-shadow:0 2px 8px rgba(0,123,255,0.3)}
.ranking-tabs{display:flex;background:#f8f9fa;border-bottom:1px solid #eee;flex-wrap:wrap}
.ranking-tab{padding:10px 14px;cursor:pointer;font-size:13px;font-weight:500;color:#666;transition:all .3s;border-bottom:2px solid transparent;margin-bottom:5px}
.ranking-tab:hover{color:#1890ff}
.ranking-tab.active{color:#1890ff;border-bottom-color:#1890ff;background-color:#e6f7ff}
.ranking-table-container{display:none;padding:15px}
.ranking-table-container.active{display:block}
.ranking-table{width:100%;border-collapse:collapse;font-size:14px}
.ranking-table th,.ranking-table td{padding:8px 10px;text-align:center;border-bottom:1px solid #f0f0f0}
.ranking-table th{font-weight:600;color:#333;background:#f8f9fa}
.ranking-table td{color:#666}
.ranking-table .text-left{text-align:left}
.ranking-table .ranking-position{font-weight:bold;width:50px}
.ranking-position{position:relative}
.ranking-position:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.ranking-table tr:nth-child(1) .ranking-position:before{background:gold}
.ranking-table tr:nth-child(2) .ranking-position:before{background:silver}
.ranking-table tr:nth-child(3) .ranking-position:before{background:#cd7f32}
.ranking-table .team-name{font-weight:500;color:#2c3e50}
.ranking-table .points{font-weight:bold;color:#1890ff}
.ranking-table tr:hover td{background-color:#f0f7ff}
.tags-container{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 10px rgba(0,0,0,0.05);margin-bottom:20px}
.tags-cloud{display:flex;flex-wrap:wrap;gap:10px}
.tag-item{padding:8px 15px;color:#3a3838;border-radius:2px;font-size:14px;border-bottom: 1px solid #eee;}
.live,.upcoming,.finished{padding:5px 10px;border-radius:2px;background-color:#fff}
.live{color:#1890ff;border:1px solid #1890ff}
.upcoming{border:1px solid #52c41a}
/*.finished{color:#999;border:1px solid #999}*/
.finished-matches-list .score{font-size:14px;color:#4a8ff5}
.news-section .section-header{margin-top:30px}
.hot-leagues-container{background:#fff;border-radius:2px;padding:15px}
.so_tags{display:none}
.back-to-top{position:fixed;right:20px;bottom:20px;width:40px;height:40px;border-radius:50%;background:#1890ff;color:#fff;border:none;display:none;align-items:center;justify-content:center;font-size:20px;transition:all .3s;}
.back-to-top.show{display:flex}

.finished-matches-list{display:flex;flex-direction:column;gap:10px;padding:15px;background:#fff;;border-radius:2px}
.finished-match-item{display:flex;flex-direction:column;padding:10px;background:#f8f9fa;text-decoration:none}
.finished-match-item .league-name{display:flex;align-items:center;gap:5px}
.finished-match-item .mini-logo{width:20px;height:20px}
.hot-leagues-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}
.finished-match-item .match-teams{margin-bottom:8px;font-size:15px;}
.league-item{display:flex;align-items:center;padding:10px;border-radius:8px;background:#f8f9fa;transition:all .3s;text-decoration:none;color:inherit}
.league-logo-img{width:32px;height:32px;border-radius:50%;object-fit:cover}
.league-name-text{color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:0 auto}
.match-status.live,.btn-watch.live{color:#1890ff}
.match-status.upcoming,.btn-watch.upcoming{color:#52c41a}
.match-status.finished,.btn-watch.finished{color:#94a3b8}
.rela-videos{padding:20px;background:#f8f9fa;}
.rela-video-info a{color:var(--text-color);text-decoration:none;font-size:15px;}
.rela-video-info{padding:10px 0;border-bottom:2px solid #fff;}
.rela-video-meta{font-size:14px;color:#9d9898}

@media (max-width:1200px){.matches-section,.news-section{flex-basis:100%}}
@media (max-width:768px){.match-tabs,.match-filters,.sort-options{justify-content:center}.match-tab,.sport-type,.sort-option{padding:6px 12px;font-size:12px}.match-item{flex-direction:column;align-items:stretch;padding:10px}.match-league{width:30%}.match-info,.match-league,.match-teams,.match-action{width:100%;text-align:center;padding:5px 0;gap:8px}.match-info{display:flex;align-items:center;justify-content:center}.match-teams{gap:10px}.match-vs{margin:5px 0;width:80px}.btn-watch{width:auto;padding:8px 16px}.section-title{font-size:18px}.more-link{font-size:13px;padding:5px 10px}.sport-ranking-tabs,.ranking-tabs{justify-content:center}.sport-ranking-tab,.ranking-tab{padding:6px 10px;font-size:12px}.ranking-table th,.ranking-table td{padding:6px 4px;font-size:11px}.ranking-table .team-name{white-space:normal}.hot-matches{grid-template-columns:1fr}.hot-match-item .match-teams{flex-direction:row}.hot-leagues-grid{grid-template-columns:1fr;display:flex;flex-direction:row;align-items:center;flex-wrap:nowrap;overflow-x:auto;gap:10px;padding:5px 0}}
@media (max-width:480px){.match-info{display:flex;align-items:center;justify-content:center}.match-tab,.sport-type,.sort-option{padding:5px 8px;font-size:11px}.ranking-table{display:block;overflow-x:auto;white-space:nowrap}.ranking-table thead,.ranking-table tbody,.ranking-table tr,.ranking-table th,.ranking-table td{display:block}.ranking-table tr{display:inline-block}.ranking-table th,.ranking-table td{display:table-cell;white-space:nowrap}}
@media (max-width:900px){.hot-leagues-grid{grid-template-columns:repeat(2,1fr)}}