:root{--primary:#0f766e;--primary2:#14b8a6;--muted:#64748b;--bg:#f3f6f8;--card:#fff;--red:#ef4444}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Microsoft YaHei',Arial,sans-serif;background:var(--bg);color:#1e293b}a{text-decoration:none;color:inherit}.container{max-width:1180px;margin:0 auto;padding:0 16px}.site-header{position:sticky;top:0;z-index:50;background:linear-gradient(135deg,#064e3b,#0f766e);color:#fff;box-shadow:0 4px 20px rgba(15,23,42,.18)}.nav-wrap{height:68px;display:flex;align-items:center;justify-content:space-between}.brand{font-weight:900;font-size:24px}.brand:before{content:'⚽';margin-right:8px}.main-nav{display:flex;gap:18px;font-size:15px}.nav-toggle{display:none}.hero,.sub-hero{background:linear-gradient(135deg,#052e2b,#0f766e 45%,#111827);color:#fff;padding:60px 0 48px}.sub-hero{padding:42px 0}.hero h1,.sub-hero h1{font-size:42px;line-height:1.15;margin:0 0 16px;font-weight:900}.hero p,.sub-hero p{font-size:18px;line-height:1.8;max-width:820px;color:#d1fae5}.breadcrumb{color:#bbf7d0;margin-bottom:10px}.hero-stats,.keyword-cloud{display:flex;gap:12px;flex-wrap:wrap}.stat-pill,.keyword-cloud span{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);border-radius:999px;padding:10px 16px;font-weight:800}.keyword-cloud span{background:#ecfdf5;color:#047857}.section{padding:36px 0}.section-head{display:flex;justify-content:space-between;margin-bottom:18px}.section-head h2{font-size:30px;margin:0}.section-head p{color:var(--muted)}.live-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.live-grid.single{grid-template-columns:1fr}.match-card,.content-card,.side-box,.news-card,.page-link-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.07);margin-bottom:16px}.match-top{display:flex;justify-content:space-between;border-bottom:1px solid #e2e8f0;padding-bottom:12px;margin-bottom:16px}.league{font-weight:900}.round{font-size:13px;color:var(--muted)}.status{font-weight:800;border-radius:999px;padding:5px 10px;font-size:13px}.status.live{background:#fee2e2;color:#b91c1c}.status.scheduled{background:#e0f2fe;color:#0369a1}.teams{display:grid;grid-template-columns:1fr 120px 1fr;align-items:center;gap:16px}.team{text-align:center}.team-logo{width:44px;height:44px;object-fit:contain;margin-bottom:8px}.team .name{font-size:20px;font-weight:900}.team .label,.mini-stat{font-size:13px;color:var(--muted)}.score{text-align:center;font-size:32px;font-weight:1000}.minute{text-align:center;color:var(--red);font-weight:800}.stats-line{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.mini-stat{background:#f8fafc;border-radius:12px;padding:10px;text-align:center}.mini-stat b{display:block;color:#0f172a;font-size:18px}.two-col{display:grid;grid-template-columns:2fr 1fr;gap:20px}.page-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.page-link-card b{display:block;color:#0f766e;font-size:18px;margin-bottom:8px}.page-link-card span{color:#64748b;font-size:14px;line-height:1.6}.news-card{display:grid;grid-template-columns:180px 1fr;gap:16px}.news-card img{width:100%;height:116px;object-fit:cover;border-radius:12px}.news-tag{display:inline-block;background:#ecfeff;color:#0e7490;border-radius:999px;font-size:12px;font-weight:800;padding:4px 9px}.news-card h3{font-size:20px;margin:8px 0}.news-card p,.content-card p,.check-list,.faq-mini p{color:#475569;line-height:1.85}.side-link{display:block;border-bottom:1px solid #e2e8f0;padding:10px 0;color:#0f766e;font-weight:700}.small-news{border-bottom:1px solid #e2e8f0;padding:10px 0}.small-news span{display:block;color:#64748b;font-size:13px}.schedule-item{display:flex;justify-content:space-between;border-bottom:1px solid #e2e8f0;padding:12px 0}.ad-box{height:88px;border:1px dashed #94a3b8;border-radius:16px;display:flex;align-items:center;justify-content:center;color:#64748b;font-weight:800;margin:20px 0}.footer{background:#0f172a;color:#cbd5e1;margin-top:36px;padding:36px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}.footer h3,.footer h4{color:#fff}.footer a,.footer span{display:block;color:#cbd5e1;margin:8px 0;font-size:14px}.copyright{text-align:center;border-top:1px solid rgba(255,255,255,.1);padding:18px;margin-top:24px;color:#94a3b8}@media(max-width:1000px){.page-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:900px){.main-nav{display:none;width:100%;padding:0 0 14px;flex-wrap:wrap}.nav-open .main-nav{display:flex}.nav-wrap{height:auto;min-height:62px;flex-wrap:wrap}.nav-toggle{display:block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:8px;padding:8px 10px}.hero h1,.sub-hero h1{font-size:32px}.live-grid,.two-col,.footer-grid{grid-template-columns:1fr}.teams{grid-template-columns:1fr}.news-card{grid-template-columns:1fr}.news-card img{height:180px}.page-grid{grid-template-columns:1fr}}

/* ===== 2026 修复：比分卡片移动端/窄屏超出页面 ===== */
html, body { max-width: 100%; overflow-x: hidden; }
.container { width: 100%; }
.live-grid, .page-grid, .two-col, .footer-grid { min-width: 0; }
.match-card, .content-card, .side-box, .news-card, .page-link-card { min-width: 0; max-width: 100%; }
.teams { min-width: 0; }
.team, .score, .league, .round, .schedule-item, .side-link, .page-link-card b, .page-link-card span { min-width: 0; overflow-wrap: anywhere; word-break: break-word; }
.score { white-space: nowrap; }
@media (max-width: 768px) {
    .container { padding-left: 12px; padding-right: 12px; }
    .section { padding: 26px 0; }
    .live-grid, .live-grid.single, .two-col, .page-grid { display: grid; grid-template-columns: minmax(0, 1fr) !important; width: 100%; gap: 12px; }
    .match-card { width: 100%; padding: 14px; border-radius: 14px; }
    .match-top { align-items: flex-start; gap: 8px; flex-wrap: wrap; }
    .teams { grid-template-columns: minmax(0, 1fr); gap: 10px; }
    .team .name { font-size: 17px; line-height: 1.35; }
    .score { font-size: 28px; line-height: 1.2; }
    .stats-line { grid-template-columns: minmax(0, 1fr); }
    .hero h1, .sub-hero h1 { font-size: 30px; line-height: 1.2; }
    .hero p, .sub-hero p { font-size: 16px; }
    .section-head { display: block; }
    .section-head .status { display: inline-block; margin-top: 10px; }
}
@media (max-width: 390px) { .match-card { padding: 12px; } .score { font-size: 24px; } .team .name { font-size: 16px; } }
