/* ===== 足球直播 - sxjrgz.cn 主样式文件 ===== */
:root {
  --primary: #1a7a3c;
  --primary-dark: #0f5a2b;
  --primary-light: #2ecc71;
  --accent: #f39c12;
  --accent-dark: #e67e22;
  --dark: #0d1117;
  --dark2: #161b22;
  --dark3: #21262d;
  --text: #e6edf3;
  --text-muted: #8b949e;
  --border: #30363d;
  --red: #e74c3c;
  --blue: #3498db;
  --white: #ffffff;
  --shadow: 0 4px 20px rgba(0,0,0,0.4);
  --radius: 10px;
  --radius-lg: 16px;
  --transition: all 0.3s ease;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{font-family:'Microsoft YaHei','PingFang SC','Helvetica Neue',Arial,sans-serif;background:var(--dark);color:var(--text);line-height:1.6;overflow-x:hidden}
a{color:var(--primary-light);text-decoration:none;transition:var(--transition)}
a:hover{color:var(--accent)}
img{max-width:100%;height:auto;display:block}
ul{list-style:none}
button{cursor:pointer;border:none;outline:none}

/* ===== 滚动条 ===== */
::-webkit-scrollbar{width:6px;height:6px}
::-webkit-scrollbar-track{background:var(--dark2)}
::-webkit-scrollbar-thumb{background:var(--primary);border-radius:3px}

/* ===== 顶部公告栏 ===== */
.top-bar{background:var(--primary-dark);padding:6px 0;font-size:13px;border-bottom:1px solid var(--primary)}
.top-bar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px}
.top-bar-left{display:flex;align-items:center;gap:16px}
.top-bar-right{display:flex;align-items:center;gap:16px}
.live-badge{background:var(--red);color:#fff;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:700;animation:pulse 1.5s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:0.6}}
.top-bar a{color:rgba(255,255,255,0.85);font-size:13px}
.top-bar a:hover{color:#fff}

/* ===== 导航 ===== */
.site-header{background:var(--dark2);border-bottom:2px solid var(--primary);position:sticky;top:0;z-index:1000;box-shadow:var(--shadow)}
.header-main{display:flex;align-items:center;justify-content:space-between;padding:12px 0;gap:20px}
.logo-wrap{display:flex;align-items:center;gap:10px;flex-shrink:0}
.logo-wrap img{width:50px;height:50px;object-fit:contain}
.logo-text{display:flex;flex-direction:column}
.logo-text .brand{font-size:22px;font-weight:900;color:var(--primary-light);letter-spacing:1px;line-height:1.1}
.logo-text .slogan{font-size:11px;color:var(--text-muted)}

/* 搜索框 */
.search-bar{flex:1;max-width:400px;position:relative}
.search-bar input{width:100%;padding:9px 44px 9px 16px;background:var(--dark3);border:1px solid var(--border);border-radius:24px;color:var(--text);font-size:14px;transition:var(--transition)}
.search-bar input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(26,122,60,0.2)}
.search-bar button{position:absolute;right:4px;top:50%;transform:translateY(-50%);background:var(--primary);color:#fff;border:none;border-radius:20px;padding:5px 14px;font-size:13px;cursor:pointer;transition:var(--transition)}
.search-bar button:hover{background:var(--primary-dark)}

/* 主导航 */
.main-nav{background:var(--dark3);border-bottom:1px solid var(--border)}
.main-nav ul{display:flex;align-items:center;gap:0;overflow-x:auto;scrollbar-width:none}
.main-nav ul::-webkit-scrollbar{display:none}
.main-nav ul li a{display:block;padding:12px 18px;font-size:14px;font-weight:600;color:var(--text);white-space:nowrap;border-bottom:3px solid transparent;transition:var(--transition)}
.main-nav ul li a:hover,.main-nav ul li a.active{color:var(--primary-light);border-bottom-color:var(--primary-light)}
.main-nav ul li a.hot::after{content:'热';background:var(--red);color:#fff;font-size:10px;padding:1px 4px;border-radius:3px;margin-left:4px;vertical-align:middle}

/* ===== 容器 ===== */
.container{max-width:1200px;margin:0 auto;padding:0 16px}
.container-fluid{max-width:100%;padding:0 16px}

/* ===== 面包屑 ===== */
.breadcrumb{background:var(--dark3);padding:10px 0;border-bottom:1px solid var(--border);font-size:13px}
.breadcrumb ol{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.breadcrumb ol li{color:var(--text-muted)}
.breadcrumb ol li+li::before{content:'›';margin-right:6px}
.breadcrumb ol li a{color:var(--text-muted)}
.breadcrumb ol li a:hover{color:var(--primary-light)}
.breadcrumb ol li:last-child{color:var(--text)}

/* ===== Hero Banner ===== */
.hero-section{position:relative;height:480px;overflow:hidden;background:var(--dark)}
.hero-section img{width:100%;height:100%;object-fit:cover;opacity:0.7}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(135deg,rgba(13,17,23,0.8) 0%,rgba(26,122,60,0.3) 100%)}
.hero-content{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:0 60px}
.hero-content h1{font-size:48px;font-weight:900;color:#fff;line-height:1.2;text-shadow:2px 2px 8px rgba(0,0,0,0.8);margin-bottom:12px}
.hero-content h1 span{color:var(--primary-light)}
.hero-content p{font-size:18px;color:rgba(255,255,255,0.9);margin-bottom:24px;max-width:600px}
.hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.btn-primary{background:var(--primary);color:#fff;padding:12px 28px;border-radius:6px;font-size:15px;font-weight:700;transition:var(--transition);display:inline-flex;align-items:center;gap:8px}
.btn-primary:hover{background:var(--primary-dark);color:#fff;transform:translateY(-2px);box-shadow:0 6px 20px rgba(26,122,60,0.4)}
.btn-outline{border:2px solid var(--accent);color:var(--accent);padding:10px 24px;border-radius:6px;font-size:15px;font-weight:700;transition:var(--transition);display:inline-flex;align-items:center;gap:8px}
.btn-outline:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}
.hero-stats{position:absolute;bottom:30px;left:60px;display:flex;gap:30px}
.hero-stat{text-align:center}
.hero-stat .num{font-size:28px;font-weight:900;color:var(--primary-light)}
.hero-stat .label{font-size:12px;color:rgba(255,255,255,0.7)}

/* ===== 直播滚动条 ===== */
.live-ticker{background:var(--primary-dark);padding:8px 0;overflow:hidden}
.ticker-wrap{display:flex;align-items:center;gap:0}
.ticker-label{background:var(--red);color:#fff;padding:4px 12px;font-size:13px;font-weight:700;white-space:nowrap;flex-shrink:0;margin-right:16px}
.ticker-content{overflow:hidden;flex:1}
.ticker-inner{display:flex;gap:40px;animation:ticker 30s linear infinite;white-space:nowrap}
.ticker-inner:hover{animation-play-state:paused}
@keyframes ticker{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{font-size:13px;color:rgba(255,255,255,0.9);white-space:nowrap}
.ticker-item .score{color:var(--accent);font-weight:700}

/* ===== 区块标题 ===== */
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:12px;border-bottom:2px solid var(--border)}
.section-title{font-size:22px;font-weight:800;color:var(--text);display:flex;align-items:center;gap:10px}
.section-title::before{content:'';display:block;width:4px;height:24px;background:var(--primary-light);border-radius:2px}
.section-title .icon{font-size:20px}
.section-more{color:var(--text-muted);font-size:14px;transition:var(--transition)}
.section-more:hover{color:var(--primary-light)}

/* ===== 视频卡片 ===== */
.video-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}
.video-card{background:var(--dark2);border-radius:var(--radius);overflow:hidden;transition:var(--transition);border:1px solid var(--border);cursor:pointer}
.video-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(0,0,0,0.5);border-color:var(--primary)}
.video-thumb{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--dark3)}
.video-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.video-card:hover .video-thumb img{transform:scale(1.05)}
.play-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.3);opacity:0;transition:var(--transition)}
.video-card:hover .play-btn{opacity:1}
.play-icon{width:56px;height:56px;background:rgba(26,122,60,0.9);border-radius:50%;display:flex;align-items:center;justify-content:center;transform:scale(0.8);transition:transform 0.3s ease}
.video-card:hover .play-icon{transform:scale(1)}
.play-icon svg{width:24px;height:24px;fill:#fff;margin-left:4px}
.video-badge{position:absolute;top:8px;left:8px;background:var(--red);color:#fff;font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px}
.video-badge.live{animation:pulse 1.5s infinite}
.video-duration{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,0.8);color:#fff;font-size:11px;padding:2px 6px;border-radius:3px}
.video-info{padding:12px}
.video-info h3{font-size:14px;font-weight:700;color:var(--text);margin-bottom:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.video-meta{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-muted)}
.video-stats{display:flex;gap:12px}
.video-stat{display:flex;align-items:center;gap:4px}

/* ===== 赛事卡片 ===== */
.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}
.match-card{background:var(--dark2);border-radius:var(--radius);padding:16px;border:1px solid var(--border);transition:var(--transition)}
.match-card:hover{border-color:var(--primary);box-shadow:0 4px 20px rgba(26,122,60,0.2)}
.match-league{font-size:12px;color:var(--text-muted);margin-bottom:10px;display:flex;align-items:center;gap:6px}
.match-teams{display:flex;align-items:center;justify-content:space-between;gap:10px}
.team{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1}
.team-flag{font-size:32px;line-height:1}
.team-name{font-size:13px;font-weight:700;text-align:center;color:var(--text)}
.match-score{text-align:center;flex-shrink:0}
.score-display{font-size:28px;font-weight:900;color:var(--accent);line-height:1}
.score-sep{color:var(--text-muted);margin:0 4px}
.match-time{font-size:11px;color:var(--text-muted);margin-top:4px}
.match-status{display:inline-block;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:700;margin-top:8px}
.status-live{background:rgba(231,76,60,0.2);color:var(--red)}
.status-upcoming{background:rgba(52,152,219,0.2);color:var(--blue)}
.status-finished{background:rgba(139,148,158,0.2);color:var(--text-muted)}
.match-actions{margin-top:12px;display:flex;gap:8px}
.btn-watch{background:var(--primary);color:#fff;padding:6px 14px;border-radius:5px;font-size:12px;font-weight:700;transition:var(--transition);text-align:center;flex:1}
.btn-watch:hover{background:var(--primary-dark);color:#fff}
.btn-remind{background:var(--dark3);color:var(--text-muted);padding:6px 14px;border-radius:5px;font-size:12px;transition:var(--transition);text-align:center}
.btn-remind:hover{background:var(--border);color:var(--text)}

/* ===== 新闻卡片 ===== */
.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.news-card{background:var(--dark2);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);transition:var(--transition)}
.news-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--primary)}
.news-thumb{aspect-ratio:16/9;overflow:hidden}
.news-thumb img{width:100%;height:100%;object-fit:cover;transition:transform 0.4s ease}
.news-card:hover .news-thumb img{transform:scale(1.05)}
.news-body{padding:14px}
.news-tag{display:inline-block;background:rgba(26,122,60,0.2);color:var(--primary-light);font-size:11px;padding:2px 8px;border-radius:4px;margin-bottom:8px}
.news-body h3{font-size:15px;font-weight:700;color:var(--text);margin-bottom:8px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-body p{font-size:13px;color:var(--text-muted);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.news-footer{display:flex;align-items:center;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--text-muted)}

/* ===== 世界杯球队 ===== */
.teams-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.team-card{background:var(--dark2);border-radius:var(--radius);padding:14px;text-align:center;border:1px solid var(--border);transition:var(--transition)}
.team-card:hover{border-color:var(--primary);transform:translateY(-2px)}
.team-card .flag{font-size:36px;margin-bottom:6px}
.team-card .name{font-size:13px;font-weight:700;color:var(--text);margin-bottom:4px}
.team-card .group{font-size:11px;color:var(--text-muted)}
.team-card .match-info{font-size:11px;color:var(--accent);margin-top:4px}

/* ===== 专家展示 ===== */
.experts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}
.expert-card{background:var(--dark2);border-radius:var(--radius);padding:20px;text-align:center;border:1px solid var(--border);transition:var(--transition)}
.expert-card:hover{border-color:var(--primary);transform:translateY(-3px)}
.expert-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--primary-light));margin:0 auto 12px;display:flex;align-items:center;justify-content:center;font-size:32px;border:3px solid var(--primary)}
.expert-name{font-size:16px;font-weight:800;color:var(--text);margin-bottom:4px}
.expert-title{font-size:12px;color:var(--primary-light);margin-bottom:8px}
.expert-desc{font-size:12px;color:var(--text-muted);line-height:1.5;margin-bottom:12px}
.expert-awards{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-bottom:12px}
.award-tag{background:rgba(243,156,18,0.15);color:var(--accent);font-size:10px;padding:2px 6px;border-radius:3px}
.expert-btns{display:flex;gap:8px;justify-content:center}
.expert-btns a{font-size:12px;padding:5px 12px;border-radius:4px;transition:var(--transition)}
.btn-contact{background:var(--primary);color:#fff}
.btn-contact:hover{background:var(--primary-dark);color:#fff}
.btn-works{border:1px solid var(--border);color:var(--text-muted)}
.btn-works:hover{border-color:var(--primary);color:var(--primary-light)}

/* ===== 用户评论 ===== */
.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.review-card{background:var(--dark2);border-radius:var(--radius);padding:16px;border:1px solid var(--border)}
.review-header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.reviewer-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--primary),var(--accent));display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#fff;flex-shrink:0}
.reviewer-info .name{font-size:14px;font-weight:700;color:var(--text)}
.reviewer-info .stars{color:var(--accent);font-size:13px}
.review-text{font-size:13px;color:var(--text-muted);line-height:1.6}
.review-date{font-size:11px;color:var(--border);margin-top:8px}

/* ===== FAQ ===== */
.faq-list{display:flex;flex-direction:column;gap:12px}
.faq-item{background:var(--dark2);border-radius:var(--radius);border:1px solid var(--border);overflow:hidden}
.faq-question{padding:16px 20px;font-size:15px;font-weight:700;color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:space-between;transition:var(--transition)}
.faq-question:hover{background:var(--dark3)}
.faq-question .arrow{transition:transform 0.3s ease;color:var(--primary-light);font-size:18px}
.faq-item.open .faq-question .arrow{transform:rotate(180deg)}
.faq-answer{padding:0 20px;max-height:0;overflow:hidden;transition:max-height 0.3s ease,padding 0.3s ease}
.faq-item.open .faq-answer{max-height:300px;padding:0 20px 16px}
.faq-answer p{font-size:14px;color:var(--text-muted);line-height:1.7}

/* ===== 合作品牌 ===== */
.partners-grid{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:center}
.partner-item{background:var(--dark2);border-radius:var(--radius);padding:16px 24px;border:1px solid var(--border);font-size:14px;font-weight:700;color:var(--text-muted);transition:var(--transition);text-align:center}
.partner-item:hover{border-color:var(--primary);color:var(--primary-light)}

/* ===== 联系我们 ===== */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.contact-card{background:var(--dark2);border-radius:var(--radius);padding:20px;border:1px solid var(--border);text-align:center}
.contact-icon{font-size:36px;margin-bottom:12px}
.contact-card h3{font-size:16px;font-weight:800;color:var(--text);margin-bottom:8px}
.contact-card p{font-size:13px;color:var(--text-muted);line-height:1.6}
.contact-card a{color:var(--primary-light)}
.contact-card a:hover{color:var(--accent)}

/* ===== 社交分享 ===== */
.share-bar{background:var(--dark2);border-radius:var(--radius);padding:16px 20px;border:1px solid var(--border);display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.share-label{font-size:14px;font-weight:700;color:var(--text);flex-shrink:0}
.share-btns{display:flex;gap:10px;flex-wrap:wrap}
.share-btn{padding:7px 16px;border-radius:20px;font-size:13px;font-weight:600;transition:var(--transition);display:flex;align-items:center;gap:6px}
.share-wechat{background:#07c160;color:#fff}
.share-weibo{background:#e6162d;color:#fff}
.share-douyin{background:#000;color:#fff;border:1px solid #333}
.share-bilibili{background:#00a1d6;color:#fff}
.share-btn:hover{opacity:0.85;transform:translateY(-1px);color:#fff}

/* ===== 页脚 ===== */
.site-footer{background:var(--dark2);border-top:2px solid var(--primary);margin-top:60px}
.footer-main{padding:40px 0 24px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
.footer-brand .logo-wrap{margin-bottom:12px}
.footer-brand p{font-size:13px;color:var(--text-muted);line-height:1.7;margin-bottom:16px}
.footer-qrcodes{display:flex;gap:16px}
.qr-item{text-align:center}
.qr-item img{width:80px;height:80px;border-radius:6px;border:1px solid var(--border)}
.qr-item p{font-size:11px;color:var(--text-muted);margin-top:4px}
.footer-col h4{font-size:15px;font-weight:800;color:var(--text);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid var(--border)}
.footer-col ul li{margin-bottom:8px}
.footer-col ul li a{font-size:13px;color:var(--text-muted);transition:var(--transition)}
.footer-col ul li a:hover{color:var(--primary-light)}
.footer-bottom{border-top:1px solid var(--border);padding:16px 0;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--text-muted)}
.footer-bottom a{color:var(--text-muted)}
.footer-bottom a:hover{color:var(--primary-light)}
.footer-links{display:flex;gap:16px;flex-wrap:wrap}

/* ===== 区块通用 ===== */
.section{padding:48px 0}
.section-alt{background:var(--dark2)}
.section-dark{background:var(--dark)}

/* ===== 侧边栏 ===== */
.page-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}
.sidebar{display:flex;flex-direction:column;gap:20px}
.sidebar-widget{background:var(--dark2);border-radius:var(--radius);padding:16px;border:1px solid var(--border)}
.widget-title{font-size:15px;font-weight:800;color:var(--text);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:8px}
.widget-title::before{content:'';width:3px;height:16px;background:var(--primary-light);border-radius:2px;display:block}

/* ===== 内页Hero ===== */
.inner-hero{background:linear-gradient(135deg,var(--dark2) 0%,var(--primary-dark) 100%);padding:48px 0;border-bottom:2px solid var(--primary)}
.inner-hero h1{font-size:36px;font-weight:900;color:#fff;margin-bottom:8px}
.inner-hero p{font-size:16px;color:rgba(255,255,255,0.75);max-width:700px}

/* ===== 标签 ===== */
.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.tag{background:var(--dark3);color:var(--text-muted);font-size:12px;padding:4px 10px;border-radius:16px;border:1px solid var(--border);transition:var(--transition)}
.tag:hover{border-color:var(--primary);color:var(--primary-light)}

/* ===== 统计数字 ===== */
.stats-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:16px}
.stat-box{background:var(--dark2);border-radius:var(--radius);padding:20px;text-align:center;border:1px solid var(--border)}
.stat-box .number{font-size:32px;font-weight:900;color:var(--primary-light);line-height:1}
.stat-box .label{font-size:13px;color:var(--text-muted);margin-top:4px}

/* ===== 弹幕区 ===== */
.danmaku-area{background:var(--dark3);border-radius:var(--radius);padding:16px;border:1px solid var(--border);position:relative;overflow:hidden;height:80px}
.danmaku-item{position:absolute;white-space:nowrap;font-size:14px;color:var(--text);animation:danmaku linear infinite;top:50%;transform:translateY(-50%)}
@keyframes danmaku{from{left:100%}to{left:-100%}}

/* ===== 响应式 ===== */
@media(max-width:1024px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .page-layout{grid-template-columns:1fr}
}
@media(max-width:768px){
  .hero-content{padding:0 20px}
  .hero-content h1{font-size:28px}
  .hero-content p{font-size:14px}
  .hero-stats{left:20px;gap:16px}
  .hero-stat .num{font-size:20px}
  .footer-grid{grid-template-columns:1fr}
  .header-main{flex-wrap:wrap}
  .search-bar{order:3;max-width:100%;width:100%}
  .inner-hero h1{font-size:26px}
  .section-title{font-size:18px}
  .video-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .match-grid{grid-template-columns:1fr}
  .teams-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}
}
@media(max-width:480px){
  .hero-section{height:320px}
  .hero-btns{flex-direction:column}
  .hero-stats{display:none}
  .video-grid{grid-template-columns:1fr 1fr}
}

/* ===== 工具类 ===== */
.text-center{text-align:center}
.text-muted{color:var(--text-muted)}
.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}
.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}
.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}
.gap-8{gap:8px}.gap-16{gap:16px}
.hidden{display:none}
.show{display:block}

/* ===== 加载动画 ===== */
.lazy{opacity:0;transition:opacity 0.4s ease}
.lazy.loaded{opacity:1}

/* ===== 移动端菜单 ===== */
.mobile-menu-btn{display:none;flex-direction:column;gap:5px;background:none;padding:8px}
.mobile-menu-btn span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:var(--transition)}
.mobile-menu{position:fixed;top:0;right:-100%;width:280px;height:100vh;background:var(--dark2);z-index:9999;padding:60px 20px 20px;transition:right 0.3s ease;overflow-y:auto;border-left:1px solid var(--border)}
.mobile-menu.open{right:0}
.mobile-menu ul{display:flex;flex-direction:column;gap:4px}
.mobile-menu ul li a{display:block;padding:12px 16px;font-size:15px;color:var(--text);border-radius:6px;transition:var(--transition)}
.mobile-menu ul li a:hover{background:var(--dark3);color:var(--primary-light)}
.mobile-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9998;display:none}
.mobile-overlay.show{display:block}
@media(max-width:768px){
  .mobile-menu-btn{display:flex}
  .main-nav{display:none}
  .search-bar{display:none}
}
/* ===== 弹幕动画增强 ===== */
.danmaku-area{height:60px;overflow:hidden}
/* ===== 视频H5标签 ===== */
.video-h5-wrapper{position:relative;width:100%;aspect-ratio:16/9;background:var(--dark3);border-radius:var(--radius);overflow:hidden;cursor:pointer}
.video-h5-wrapper video{width:100%;height:100%;object-fit:cover}
.video-h5-wrapper .play-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,0.4);transition:var(--transition)}
.video-h5-wrapper:hover .play-overlay{background:rgba(0,0,0,0.2)}
/* ===== 世界杯预测页 ===== */
.shijiebei-yuce .prediction-card{background:var(--dark2);border-radius:var(--radius);padding:20px;border:1px solid var(--border)}
