:root{--pred-bg:#f4f6fb;--pred-card:#fff;--pred-ink:#1b2559;--pred-muted:#8b93b0;--pred-line:#e8ecf5;--pred-accent:#4d6bff;--pred-good:#3d8b5c;--pred-bad:#c4564a;--pred-warn:#c9a227}*{box-sizing:border-box}html,body{background:var(--pred-bg);color:var(--pred-ink);margin:0}body{-webkit-font-smoothing:antialiased;font-family:PingFang SC,Microsoft YaHei,sans-serif}.pred-app{max-width:720px;margin:0 auto;padding:12px 12px 40px}.pred-top{align-items:center;gap:14px;margin-bottom:12px;display:flex}.pred-channel{color:var(--pred-muted);border-bottom:2px solid #0000;padding-bottom:4px;font-size:15px;text-decoration:none}.pred-channel.is-active{color:var(--pred-accent);border-bottom-color:var(--pred-accent);font-weight:700}.pred-sports{gap:6px;margin-left:auto;display:flex}.pred-sport,.pred-chip,.pred-back,.pred-page{color:var(--pred-ink);background:#fff;border:0;border-radius:999px;padding:6px 12px;font-size:13px}.pred-sport.is-active,.pred-chip.is-active{background:var(--pred-ink);color:#fff}.pred-state{color:var(--pred-muted);min-height:1.4em;font-size:13px}.pred-hero,.pred-card,.pred-block{background:var(--pred-card);border-radius:16px;margin-bottom:12px;overflow:hidden}.pred-hero{color:#fff;background:linear-gradient(#1b2559 0%,#24306e 100%);padding:16px 16px 18px}.pred-hero-top,.pred-block-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.pred-hero h1,.pred-model-head h1{margin:0;font-size:18px}.pred-period{color:#c9d2f0;font-size:12px}.pred-stats{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.pred-stat{text-align:center}.pred-stat b{font-size:22px;display:block}.pred-stat span{color:#c9d2f0;font-size:12px}.pred-card{cursor:pointer;padding:14px 16px;box-shadow:0 8px 24px #1b25590a}.pred-card.is-locked{cursor:default;opacity:.72}.pred-vip{color:var(--pred-accent);vertical-align:middle;background:#eef3ff;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:11px;font-weight:600;display:inline-block}.pred-card.is-locked .pred-vip{color:var(--pred-muted);background:#f3f4f8}.pred-model-head .pred-vip{color:#fff;background:#ffffff29}.pred-lock-hint{color:var(--pred-muted);margin:0;font-size:12px}.pred-empty a{color:var(--pred-accent)}.pred-card-top{grid-template-columns:28px 40px 1fr auto;align-items:center;gap:10px;display:grid}.pred-rank{color:#c5cbe0;font-size:20px;font-weight:700}.pred-ball{color:#fff;background:#1b2559;border-radius:50%;place-items:center;width:40px;height:40px;font-size:20px;display:grid}.pred-card h2,.pred-model-head h2{margin:0;font-size:16px}.pred-rate{text-align:right}.pred-rate b{color:var(--pred-accent);font-size:20px;display:block}.pred-rate span{color:var(--pred-muted);font-size:12px}.pred-intro{color:#5b6384;margin:10px 0 12px;font-size:13px;line-height:1.5}.pred-model-head .pred-intro{color:#d7def5}.pred-model-head .pred-intro p,.pred-model-head .pred-intro ul,.pred-model-head .pred-intro ol{margin:0 0 8px}.pred-model-head .pred-intro ul,.pred-model-head .pred-intro ol{padding-left:1.2em}.pred-model-head .pred-intro h1,.pred-model-head .pred-intro h2,.pred-model-head .pred-intro h3,.pred-model-head .pred-intro h4{color:#fff;margin:0 0 8px;font-size:15px}.pred-model-head .pred-intro a{color:#9eb6ff}.pred-model-head .pred-intro img{border-radius:8px;max-width:100%;height:auto}.pred-intro p{margin:0}.pred-metrics{grid-template-columns:repeat(4,1fr);gap:8px;font-size:12px;display:grid}.pred-metrics b{font-size:14px;display:block}.pred-metrics span{color:var(--pred-muted)}.pred-back{margin-bottom:10px;text-decoration:none;display:inline-flex}.pred-model-head{color:#fff;background:linear-gradient(#1b2559 0%,#24306e 100%);border-radius:16px;margin-bottom:12px;padding:18px 16px 16px}.pred-kicker{color:#c9d2f0;margin:0 0 8px;font-size:12px}.pred-code{color:#c9d2f0;font-size:12px}.pred-tags{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.pred-tag{background:#ffffff1f;border-radius:999px;padding:4px 10px;font-size:12px}.pred-block{padding:14px 16px}.pred-block-head h3{margin:0;font-size:15px}.pred-tabs,.pred-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.pred-tab{color:#5b6384;background:#eef1f8;border:0;border-radius:10px;padding:6px 10px;font-size:13px}.pred-tab.is-active{background:var(--pred-accent);color:#fff}.pred-period-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.pred-period-main{text-align:center;grid-column:1/-1;padding:8px 0 4px}.pred-period-main b{color:var(--pred-accent);font-size:36px}.pred-period-main span{color:var(--pred-muted);font-size:12px;display:block}.pred-kv{background:#f7f8fc;border-radius:12px;padding:10px 12px}.pred-kv b{font-size:16px;display:block}.pred-kv span{color:var(--pred-muted);font-size:12px}.pred-match{border:1px solid var(--pred-line);border-radius:14px;margin-bottom:10px;padding:12px}.pred-match-top,.pred-teams,.pred-event-row,.pred-hist-top{justify-content:space-between;align-items:center;gap:8px;display:flex}.pred-league{font-weight:700}.pred-risk{color:var(--pred-accent);background:#eef3ff;border-radius:999px;padding:2px 8px;font-size:12px}.pred-teams{margin:10px 0;font-size:15px;font-weight:700}.pred-vs{color:var(--pred-muted);font-size:13px;font-weight:500}.pred-event-row{border-top:1px solid var(--pred-line);padding:6px 0;font-size:13px}.pred-conf{color:var(--pred-accent);font-weight:700}.pred-time{color:var(--pred-muted);margin-top:8px;font-size:12px}.pred-hist{text-align:left;border:1px solid var(--pred-line);background:#fff;border-radius:14px;width:100%;margin-bottom:10px;padding:12px;display:block}.pred-hist-meta{color:var(--pred-muted);font-size:12px}.pred-badge{border-radius:999px;padding:2px 8px;font-size:12px}.pred-badge.hit{color:var(--pred-good);background:#e8f6ee}.pred-badge.miss{color:var(--pred-bad);background:#fdecea}.pred-badge.invalid{color:var(--pred-warn);background:#fff6d9}.pred-badge.pending{color:var(--pred-muted);background:#eef1f8}.pred-pager{justify-content:center;align-items:center;gap:10px;margin-top:8px;display:flex}.pred-empty{color:var(--pred-muted);text-align:center;padding:20px 0}.pred-date{border:1px solid var(--pred-line);border-radius:999px;width:100%;margin-bottom:12px;padding:6px 10px;font-size:13px}@media (width<=520px){.pred-metrics{grid-template-columns:repeat(2,1fr)}.pred-card-top{grid-template-columns:22px 36px 1fr auto}}
