/* 球盟会 - 足球AI数据与体育定制平台样式表 */
:root{
  --qm-bg:#f4f6f9;
  --qm-panel:#ffffff;
  --qm-head:#e7edf5;
  --qm-navy:#1c2b45;
  --qm-text:#263449;
  --qm-muted:#6b7688;
  --qm-border:#e1e6ee;
  --qm-teal:#12b3a6;
  --qm-blue:#2f6fed;
  --qm-orange:#f2932f;
  --qm-red:#d9484f;
  --qm-radius:10px;
  --qm-maxw:1200px;
  --qm-article:820px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  background:var(--qm-bg);
  color:var(--qm-text);
  font-family:"Microsoft YaHei","PingFang SC","Segoe UI",sans-serif;
  line-height:1.7;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
ul,ol{margin:0;padding:0;list-style:none;}
h1,h2,h3,h4{margin:0 0 .6em 0;line-height:1.35;}
p{margin:0 0 1em 0;}
table{border-collapse:collapse;width:100%;}

.container{max-width:var(--qm-maxw);margin:0 auto;padding:0 20px;}
.scroll-x{overflow-x:auto;}

/* Header */
.site-header{position:sticky;top:0;z-index:100;background:var(--qm-navy);border-bottom:1px solid #26375a;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;max-width:var(--qm-maxw);margin:0 auto;gap:14px;}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem;color:#fff;flex:0 0 auto;}
.brand img{width:36px;height:36px;}
.main-nav{display:flex;}
.main-nav ul{display:flex;gap:2px;flex-wrap:wrap;}
.main-nav a{padding:8px 10px;border-radius:6px;font-size:.85rem;color:#c3cee0;white-space:nowrap;}
.main-nav a:hover,.main-nav a.active{background:#25365a;color:#fff;}
.header-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.btn{display:inline-block;padding:9px 16px;border-radius:var(--qm-radius);font-size:.88rem;font-weight:600;border:1px solid transparent;cursor:pointer;}
.btn-primary{background:var(--qm-blue);color:#fff;}
.btn-primary:hover{background:#1f5bd6;}
.btn-outline{border-color:var(--qm-border);color:var(--qm-text);background:var(--qm-panel);}
.btn-outline:hover{border-color:var(--qm-teal);color:var(--qm-teal);}
.btn-ghost{border-color:#33456a;color:#c3cee0;background:transparent;}
.btn-ghost:hover{border-color:var(--qm-teal);color:var(--qm-teal);}
.btn-block{width:100%;text-align:center;}
.nav-toggle{display:none;background:none;border:1px solid #33456a;border-radius:6px;color:#fff;font-size:1.25rem;padding:5px 10px;cursor:pointer;}
.back-top{position:fixed;right:18px;bottom:18px;z-index:90;width:42px;height:42px;border-radius:50%;background:var(--qm-navy);color:#fff;border:none;font-size:1.1rem;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(28,43,69,.3);}
.back-top.show{display:flex;}

/* Breadcrumb */
.breadcrumb{font-size:.82rem;color:var(--qm-muted);padding:14px 0 0;max-width:var(--qm-maxw);margin:0 auto;padding-left:20px;padding-right:20px;}
.breadcrumb a{color:var(--qm-blue);}
.breadcrumb span{margin:0 6px;color:var(--qm-muted);}

/* Hero */
.hero{padding:36px 0 26px;}
.hero-inner{display:flex;align-items:center;gap:36px;max-width:var(--qm-maxw);margin:0 auto;padding:0 20px;}
.hero-copy{flex:1 1 480px;}
.hero-media{flex:1 1 380px;}
.hero-tags{color:var(--qm-blue);font-size:.9rem;margin-bottom:12px;font-weight:600;}
.hero h1{font-size:1.9rem;color:var(--qm-navy);}
.hero-desc{color:var(--qm-muted);font-size:1rem;max-width:560px;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px;}

.quick-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;max-width:var(--qm-maxw);margin:22px auto 0;padding:0 20px;}
.quick-item{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:11px 8px;text-align:center;font-size:.8rem;color:var(--qm-muted);box-shadow:0 1px 3px rgba(28,43,69,.05);}
.quick-item strong{display:block;color:var(--qm-navy);font-size:.9rem;margin-bottom:2px;}

.info-bar{
  background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);
  margin:24px auto 0;max-width:var(--qm-maxw);padding:16px 22px;
  display:flex;flex-wrap:wrap;gap:10px 24px;font-size:.85rem;color:var(--qm-muted);
  box-shadow:0 1px 4px rgba(28,43,69,.06);
}
.info-bar b{color:var(--qm-text);}
.source-note{max-width:var(--qm-maxw);margin:14px auto 0;padding:0 22px;font-size:.83rem;color:var(--qm-muted);}
.demo-note{background:#fdf3e6;border-left:3px solid var(--qm-orange);border-radius:6px;padding:10px 16px;font-size:.85rem;color:var(--qm-text);margin:16px 0;}

/* Sections */
.section{padding:44px 0;border-bottom:1px solid var(--qm-border);}
.section-head{max-width:780px;margin:0 auto 26px;}
.section-head h2{font-size:1.44rem;color:var(--qm-navy);}
.section-desc{color:var(--qm-muted);font-size:.95rem;}
.eyebrow{display:inline-block;font-size:.78rem;color:var(--qm-blue);border:1px solid var(--qm-border);padding:3px 10px;border-radius:20px;margin-bottom:8px;background:var(--qm-panel);}

/* Task dashboard table */
.dash-table-wrap{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:6px;box-shadow:0 1px 4px rgba(28,43,69,.06);}
.dash-table{font-size:.85rem;}
.dash-table th{background:var(--qm-head);color:var(--qm-text);font-weight:600;padding:11px 12px;text-align:left;white-space:nowrap;}
.dash-table td{padding:11px 12px;border-top:1px solid var(--qm-border);vertical-align:middle;}
.dash-table tr:hover td{background:#fafcff;}
.dash-table td.num{text-align:right;}
.tag-pill{display:inline-block;background:#e6f7f5;color:var(--qm-teal);border-radius:20px;padding:2px 10px;font-size:.76rem;font-weight:600;}
.tag-pill.blue{background:#e9f0fe;color:var(--qm-blue);}
.tag-pill.orange{background:#fdf0de;color:var(--qm-orange);}
.rate-bar{display:inline-block;width:70px;height:6px;background:var(--qm-border);border-radius:4px;overflow:hidden;vertical-align:middle;margin-right:6px;}
.rate-bar i{display:block;height:100%;background:var(--qm-teal);}
.switch{position:relative;display:inline-block;width:38px;height:20px;}
.switch input{opacity:0;width:0;height:0;}
.switch-track{position:absolute;inset:0;background:var(--qm-border);border-radius:20px;cursor:pointer;transition:.2s;}
.switch-track::before{content:"";position:absolute;width:16px;height:16px;left:2px;top:2px;background:#fff;border-radius:50%;transition:.2s;box-shadow:0 1px 2px rgba(0,0,0,.2);}
.switch input:checked + .switch-track{background:var(--qm-blue);}
.switch input:checked + .switch-track::before{transform:translateX(18px);}
.priority-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;}
.priority-dot.high{background:var(--qm-orange);}
.priority-dot.mid{background:var(--qm-blue);}
.priority-dot.low{background:var(--qm-muted);}

/* Split layouts */
.split-row{display:flex;gap:30px;align-items:center;margin-bottom:34px;flex-wrap:wrap;}
.split-row.reverse{flex-direction:row-reverse;}
.split-media{flex:1 1 320px;}
.split-copy{flex:1 1 380px;}
.split-media figure{margin:0;}
.split-media figcaption{font-size:.85rem;color:var(--qm-muted);margin-top:8px;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:8px;padding:10px 12px;}
.split-copy h3{font-size:1.15rem;color:var(--qm-navy);}
.split-copy .meta-list{margin:10px 0;font-size:.87rem;color:var(--qm-muted);}
.split-copy .meta-list li{padding:4px 0 4px 18px;position:relative;}
.split-copy .meta-list li::before{content:"›";position:absolute;left:0;color:var(--qm-blue);}
.warn-line{font-size:.83rem;color:#8a5a17;background:#fdf3e6;border-left:3px solid var(--qm-orange);padding:8px 12px;border-radius:6px;margin-top:10px;}

/* Chip nav */
.chip-nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px;}
.chip-nav a,.chip-nav button{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:20px;padding:7px 15px;font-size:.85rem;color:var(--qm-text);cursor:pointer;}
.chip-nav a:hover,.chip-nav button:hover{border-color:var(--qm-teal);color:var(--qm-teal);}
.chip-nav button.active{background:var(--qm-navy);color:#fff;border-color:var(--qm-navy);}

/* Card grids */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.cat-card{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:16px;display:flex;flex-direction:column;gap:6px;box-shadow:0 1px 3px rgba(28,43,69,.05);}
.cat-card img{width:100%;height:120px;object-fit:cover;background:var(--qm-bg);border-radius:6px;}
.cat-card h3{font-size:.98rem;margin:6px 0 0;color:var(--qm-navy);}
.cat-meta{font-size:.74rem;color:var(--qm-muted);}
.cat-card p{font-size:.85rem;color:var(--qm-muted);flex:1;margin:4px 0 0;}
.cat-card a{font-size:.82rem;color:var(--qm-blue);margin-top:4px;font-weight:600;}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.info-card{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(28,43,69,.05);}
.info-card img{width:100%;height:140px;object-fit:cover;background:var(--qm-bg);}
.info-card .card-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;flex:1;}
.card-tags{display:flex;flex-wrap:wrap;gap:6px;font-size:.74rem;}
.tag{background:var(--qm-bg);border:1px solid var(--qm-border);color:var(--qm-muted);padding:2px 8px;border-radius:20px;}
.tag-ai{border-color:var(--qm-teal);color:var(--qm-teal);}
.tag-app{border-color:var(--qm-blue);color:var(--qm-blue);}
.tag-news{border-color:var(--qm-orange);color:var(--qm-orange);}
.info-card h3{font-size:1rem;margin:4px 0 2px;color:var(--qm-navy);}
.card-meta{font-size:.76rem;color:var(--qm-muted);display:flex;flex-wrap:wrap;gap:8px;}
.info-card p.desc{font-size:.87rem;color:var(--qm-muted);flex:1;margin:0;}

/* Console: filter + panel */
.console-layout{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap;}
.console-filter{flex:0 0 300px;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:20px;position:sticky;top:80px;}
.console-filter h4{font-size:.9rem;color:var(--qm-navy);}
.filter-group{margin-bottom:14px;}
.filter-group label{display:block;font-size:.78rem;color:var(--qm-muted);margin-bottom:5px;}
.filter-group select,.filter-group input[type="date"]{width:100%;padding:8px 10px;border:1px solid var(--qm-border);border-radius:6px;font-size:.85rem;background:var(--qm-bg);color:var(--qm-text);font-family:inherit;}
.chip-select{display:flex;flex-wrap:wrap;gap:6px;}
.chip-select button{background:var(--qm-bg);border:1px solid var(--qm-border);border-radius:16px;padding:5px 12px;font-size:.78rem;color:var(--qm-muted);cursor:pointer;}
.chip-select button.active{background:var(--qm-teal);color:#fff;border-color:var(--qm-teal);}
.console-report{flex:1 1 480px;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:22px;min-height:280px;}
.console-report h3{font-size:1.05rem;color:var(--qm-navy);}
.report-empty{color:var(--qm-muted);font-size:.9rem;text-align:center;padding:60px 20px;}
.report-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px dashed var(--qm-border);font-size:.87rem;}
.report-row span:first-child{color:var(--qm-muted);}
.report-row span:last-child{color:var(--qm-text);font-weight:600;}

/* Category grid for data types */
.data-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;}
.data-type-grid div{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:8px;padding:10px 12px;font-size:.82rem;color:var(--qm-text);text-align:center;}

/* Player ranking list */
.rank-list{display:flex;flex-direction:column;gap:8px;}
.rank-item{display:flex;align-items:center;gap:12px;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:8px;padding:10px 14px;}
.rank-num{width:26px;height:26px;border-radius:50%;background:var(--qm-head);color:var(--qm-navy);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex:0 0 auto;}
.rank-num.top{background:var(--qm-orange);color:#fff;}
.rank-name{flex:1 1 auto;font-size:.88rem;color:var(--qm-text);}
.rank-bar-wrap{flex:1 1 160px;}
.rank-value{font-size:.85rem;color:var(--qm-muted);width:50px;text-align:right;}

/* Pitch zone diagram wrapper */
.pitch-wrap{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:16px;text-align:center;}

/* Data tables */
.data-table{font-size:.85rem;}
.data-table th,.data-table td{border:1px solid var(--qm-border);padding:9px 12px;text-align:left;vertical-align:top;}
.data-table th{background:var(--qm-navy);color:#fff;font-weight:600;}
.data-table tr:nth-child(even) td{background:#fbfcfe;}

/* Steps timeline */
.step-flow{counter-reset:sf;display:flex;flex-wrap:wrap;gap:14px;}
.step-flow li{counter-increment:sf;flex:1 1 220px;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:16px 16px 16px 46px;position:relative;font-size:.87rem;color:var(--qm-muted);}
.step-flow li::before{content:counter(sf);position:absolute;left:14px;top:14px;width:22px;height:22px;background:var(--qm-blue);color:#fff;font-weight:700;border-radius:50%;font-size:.76rem;display:flex;align-items:center;justify-content:center;}
.step-flow li strong{display:block;color:var(--qm-navy);margin-bottom:4px;font-size:.92rem;}

.timeline{border-left:3px solid var(--qm-border);margin-left:10px;padding-left:24px;display:flex;flex-direction:column;gap:22px;}
.timeline-item{position:relative;}
.timeline-item::before{content:"";position:absolute;left:-31px;top:4px;width:14px;height:14px;border-radius:50%;background:var(--qm-blue);border:3px solid var(--qm-panel);box-shadow:0 0 0 2px var(--qm-blue);}
.timeline-item h4{font-size:.85rem;color:var(--qm-muted);margin-bottom:4px;}
.timeline-item h3{font-size:1rem;color:var(--qm-navy);}

/* Download cards */
.download-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.dl-card{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);overflow:hidden;}
.dl-card.dl-android{border-top:4px solid var(--qm-teal);}
.dl-card.dl-ios{border-top:4px solid var(--qm-navy);}
.dl-card.dl-h5{border-top:4px solid var(--qm-blue);}
.dl-card-head{padding:18px 20px 0;display:flex;align-items:center;gap:10px;}
.dl-card-head img{width:36px;height:36px;}
.dl-card-body{padding:14px 20px 20px;}
.dl-steps{counter-reset:d;margin:12px 0;}
.dl-steps li{counter-increment:d;padding:6px 0 6px 30px;position:relative;font-size:.86rem;color:var(--qm-muted);border-bottom:1px dashed var(--qm-border);}
.dl-steps li::before{content:counter(d);position:absolute;left:0;top:5px;width:19px;height:19px;background:var(--qm-blue);color:#fff;border-radius:50%;font-size:.7rem;display:flex;align-items:center;justify-content:center;}
.notice-box{max-width:var(--qm-article);margin:22px auto 0;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:18px 22px;font-size:.9rem;color:var(--qm-text);}

/* Troubleshoot */
.trouble-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;}
.trouble-card{background:var(--qm-panel);border:1px solid var(--qm-border);border-left:4px solid var(--qm-orange);border-radius:var(--qm-radius);padding:16px 18px;}
.trouble-card h3{font-size:.98rem;color:var(--qm-navy);}
.trouble-card ul{margin-top:8px;}
.trouble-card li{font-size:.85rem;color:var(--qm-muted);padding:3px 0 3px 16px;position:relative;}
.trouble-card li::before{content:"·";position:absolute;left:2px;color:var(--qm-teal);font-weight:700;}

/* Magazine articles */
.article-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.article-card{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);overflow:hidden;display:flex;flex-direction:column;}
.article-card img{width:100%;height:140px;object-fit:cover;}
.article-card .card-body{padding:16px 18px;display:flex;flex-direction:column;gap:6px;}
.article-card h3{font-size:1rem;color:var(--qm-navy);}
.article-meta{font-size:.74rem;color:var(--qm-muted);display:flex;flex-wrap:wrap;gap:8px;}
.article-card p{font-size:.87rem;color:var(--qm-muted);flex:1;margin:0;}

.long-article{max-width:var(--qm-article);margin:0 auto 36px;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:26px 28px;}
.long-article:last-child{margin-bottom:0;}
.article-top-meta{font-size:.8rem;color:var(--qm-muted);margin-bottom:14px;display:flex;flex-wrap:wrap;gap:12px;}
.long-article h2{font-size:1.3rem;color:var(--qm-navy);}
.long-article h3{font-size:1.02rem;color:var(--qm-blue);margin-top:20px;}
.long-article .lede{color:var(--qm-muted);font-size:.96rem;}
.tip-box{background:#fdf3e6;border-left:3px solid var(--qm-orange);border-radius:6px;padding:12px 16px;font-size:.89rem;color:var(--qm-text);margin:16px 0;}
.tip-box strong{color:#a2611f;}
.related-links{margin-top:18px;padding-top:14px;border-top:1px solid var(--qm-border);font-size:.85rem;display:flex;flex-wrap:wrap;gap:14px;}
.related-links a{color:var(--qm-blue);}
.content-type-tag{display:inline-block;font-size:.74rem;color:var(--qm-muted);background:var(--qm-bg);border:1px solid var(--qm-border);border-radius:20px;padding:2px 10px;margin-bottom:10px;}

/* About */
.about-grid{display:flex;gap:30px;flex-wrap:wrap;}
.about-copy{flex:1 1 420px;}
.about-info{flex:1 1 300px;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:18px 20px;font-size:.89rem;}
.about-info dt{color:var(--qm-muted);font-size:.76rem;margin-top:9px;}
.about-info dd{margin:2px 0 0;color:var(--qm-text);}
.principle-list{margin-top:12px;}
.principle-list li{font-size:.87rem;color:var(--qm-muted);padding:5px 0 5px 20px;position:relative;}
.principle-list li::before{content:"›";position:absolute;left:0;color:var(--qm-blue);}

/* FAQ */
.faq-list{max-width:var(--qm-article);margin:0 auto;display:flex;flex-direction:column;gap:9px;}
.faq-item{background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:13px 18px;}
.faq-item summary{cursor:pointer;font-weight:600;font-size:.94rem;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:10px;color:var(--qm-navy);}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";color:var(--qm-blue);font-size:1.15rem;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{margin:9px 0 0;font-size:.87rem;color:var(--qm-muted);}

/* Boundary box */
.boundary-box{max-width:var(--qm-article);margin:0 auto;background:var(--qm-panel);border:1px solid var(--qm-border);border-radius:var(--qm-radius);padding:22px 26px;}
.boundary-box ol{margin-top:10px;counter-reset:s;}
.boundary-box li{font-size:.87rem;color:var(--qm-text);padding:6px 0 6px 26px;position:relative;counter-increment:s;}
.boundary-box li::before{content:counter(s);position:absolute;left:0;top:6px;width:18px;height:18px;background:var(--qm-orange);color:#fff;border-radius:50%;font-size:.68rem;display:flex;align-items:center;justify-content:center;}

/* Footer */
.site-footer{background:var(--qm-navy);padding:42px 0 22px;color:#c3cee0;}
.footer-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:22px;margin-bottom:28px;}
.footer-col h4{font-size:.9rem;color:#fff;}
.footer-col li{font-size:.83rem;padding:4px 0;}
.footer-col a:hover{color:var(--qm-teal);}
.footer-copy{border-top:1px solid #2a3c60;padding-top:16px;font-size:.8rem;text-align:center;line-height:1.9;}

.center{text-align:center;}
.mt-md{margin-top:22px;}
.mt-lg{margin-top:34px;}

@media (max-width:960px){
  .quick-strip{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:repeat(2,1fr);}
  .cat-grid{grid-template-columns:repeat(2,1fr);}
  .download-grid{grid-template-columns:1fr;}
  .console-filter{position:static;flex:1 1 100%;}
}
@media (max-width:860px){
  .main-nav{position:absolute;top:100%;left:0;right:0;background:var(--qm-navy);border-bottom:1px solid #26375a;flex-direction:column;display:none;}
  .main-nav.open{display:flex;}
  .main-nav ul{flex-direction:column;padding:10px 20px;width:100%;}
  .nav-toggle{display:inline-block;}
  .hero-inner{flex-direction:column;}
  .hero h1{font-size:1.5rem;}
  .split-row,.split-row.reverse{flex-direction:column;}
}
@media (max-width:600px){
  .quick-strip{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .cat-grid{grid-template-columns:1fr;}
  .long-article{padding:20px 16px;}
  .header-actions .btn-primary{display:none;}
}
