/* 足球AI Pro v4.1 — Grand Atmospheric Design */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+SC:wght@300;400;500;700;900&family=JetBrains+Mono:wght@400;600;700&display=swap');

:root {
  --bg:#05080f;--bg2:#080d17;--bg3:#0c1220;
  --card:#0f1826;--card2:#152030;
  --bd:#1a2d48;--bd2:#254060;
  --tx:#d4e8ff;--tx2:#7aa0c0;--muted:#3a5875;--dim:#1e3348;
  --cyan:#00d4f8;--cyan2:#00a8cc;--green:#00e896;
  --gold:#f5a520;--red:#f02848;--orange:#f07020;--blue:#3d8ef0;
  --epl:#6f2da8;--laliga:#c8102e;--bundes:#e8000d;--seriea:#1565c0;--ligue1:#da291c;
  --s1:0 2px 12px rgba(0,0,0,.4);--s2:0 8px 32px rgba(0,0,0,.6);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:'Noto Sans SC',-apple-system,'PingFang SC',sans-serif;
  background:var(--bg);color:var(--tx);font-size:14px;line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(0,100,200,.06),transparent),
    radial-gradient(ellipse 40% 40% at 90% 10%,rgba(0,212,248,.03),transparent);
  background-attachment:fixed;
}
img{display:block}a{text-decoration:none;color:inherit}button{font-family:inherit}

/* TICKER */
.ticker-wrap{height:32px;background:linear-gradient(90deg,#030710,#060e1c 50%,#030710);border-bottom:1px solid rgba(0,212,248,.06);overflow:hidden;position:sticky;top:0;z-index:600}
.ticker{display:flex;height:100%;align-items:center;white-space:nowrap;animation:ticker-scroll 70s linear infinite}
.ticker:hover{animation-play-state:paused}
.ticker-seg{display:inline-flex;align-items:center;gap:.55rem;padding:0 3rem;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:rgba(0,212,248,.4)}
.live-dot{width:5px;height:5px;border-radius:50%;background:var(--red);flex-shrink:0;box-shadow:0 0 6px var(--red);animation:pulse-dot 1.4s ease infinite}
@keyframes ticker-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.2;transform:scale(.7)}}

/* HEADER */
#site-header{background:rgba(5,8,15,.9);backdrop-filter:blur(24px) saturate(180%);-webkit-backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid var(--bd);position:sticky;top:32px;z-index:500}
.hdr{max-width:1500px;margin:0 auto;display:flex;align-items:center;height:62px;padding:0 2rem;gap:2rem}
.logo{display:flex;align-items:center;gap:.65rem;flex-shrink:0;text-decoration:none}
.logo-icon{font-size:1.65rem;line-height:1;filter:drop-shadow(0 0 8px rgba(0,212,248,.4))}
.logo-name{font-size:1.5rem;font-weight:900;letter-spacing:.01em;color:var(--tx);line-height:1}
.logo-name em{color:var(--cyan);font-style:normal;text-shadow:0 0 20px rgba(0,212,248,.5)}
.logo-sub{font-size:9.5px;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;display:block;margin-top:3px}
.main-nav{display:flex;gap:.1rem;flex:1;justify-content:center}
.main-nav a{display:inline-flex;align-items:center;gap:.38rem;font-size:13.5px;font-weight:500;color:var(--muted);padding:.36rem 1rem;border-radius:8px;transition:all .18s;position:relative}
.main-nav a:hover{color:var(--tx2);background:rgba(255,255,255,.04)}
.main-nav a.active{color:var(--cyan);background:rgba(0,212,248,.06)}
.main-nav a.active::after{content:'';position:absolute;bottom:-1px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);border-radius:1px}
.nav-wc{color:var(--gold)!important}
.nav-wc.active{background:rgba(245,165,32,.07)!important}
.nav-wc.active::after{background:linear-gradient(90deg,transparent,var(--gold),transparent)!important}
.hdr-right{display:flex;align-items:center;gap:.6rem;flex-shrink:0}
.acc-badge{display:inline-flex;align-items:baseline;gap:.32rem;background:rgba(0,232,150,.05);border:1px solid rgba(0,232,150,.15);border-radius:20px;padding:.22rem .9rem;font-family:'JetBrains Mono',monospace}
.acc-pct{font-size:13.5px;font-weight:700;color:var(--green)}
.acc-lbl{font-size:9.5px;color:var(--muted)}
.btn{display:inline-flex;align-items:center;gap:.35rem;border:none;cursor:pointer;border-radius:8px;font-size:13px;font-weight:600;padding:.36rem .95rem;transition:all .18s;white-space:nowrap;font-family:inherit}
.btn-ghost{background:rgba(255,255,255,.05);border:1px solid var(--bd);color:var(--tx2)}
.btn-ghost:hover{border-color:var(--bd2);color:var(--tx)}
.btn-primary{background:linear-gradient(135deg,var(--cyan),var(--cyan2));color:#000;font-weight:700;box-shadow:0 2px 14px rgba(0,212,248,.35)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 4px 20px rgba(0,212,248,.5)}
.btn-full{width:100%;justify-content:center;padding:.62rem;font-size:14px;border-radius:9px}
.user-btn{display:flex;align-items:center;gap:.42rem;background:var(--card);border:1px solid var(--bd);border-radius:22px;padding:.24rem .9rem;font-size:12px;color:var(--tx);cursor:pointer;transition:border-color .18s}
.user-btn:hover{border-color:rgba(240,40,72,.4)}
.user-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-out{font-size:10px;color:var(--muted)}

/* STATS BAR */
.stats-bar{background:linear-gradient(180deg,rgba(0,30,80,.15),transparent);border-bottom:1px solid var(--bd);padding:.6rem 2rem}
.stats-inner{max-width:1500px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr)}
.stat-item{display:flex;align-items:center;gap:.85rem;padding:.45rem 2rem;border-right:1px solid var(--bd)}
.stat-item:first-child{padding-left:0}
.stat-item:last-child{border-right:none}
.stat-val{font-size:2.2rem;font-weight:900;line-height:1;flex-shrink:0;font-family:'JetBrains Mono',monospace;letter-spacing:-.02em}
.stat-val.c{color:var(--cyan);text-shadow:0 0 20px rgba(0,212,248,.3)}
.stat-val.g{color:var(--green);text-shadow:0 0 20px rgba(0,232,150,.3)}
.stat-val.o{color:var(--gold);text-shadow:0 0 20px rgba(245,165,32,.3)}
.stat-val.r{color:var(--red);text-shadow:0 0 20px rgba(240,40,72,.25)}
.stat-name{display:block;font-size:13px;font-weight:600;color:var(--tx);line-height:1.2}
.stat-sub{display:block;font-size:10.5px;color:var(--muted);margin-top:2px}

/* CAT NAV */
.cat-nav{background:var(--bg2);border-bottom:1px solid var(--bd);overflow-x:auto;scrollbar-width:none;position:sticky;top:94px;z-index:400}
.cat-nav::-webkit-scrollbar{display:none}
.cat-nav-inner{max-width:1500px;margin:0 auto;display:flex;padding:0 2rem}
.cat-pill{display:inline-flex;align-items:center;gap:.42rem;padding:.52rem 1.2rem;cursor:pointer;border:none;background:transparent;font-size:13px;font-weight:500;color:var(--muted);border-bottom:2px solid transparent;transition:color .15s,border-color .15s;flex-shrink:0;white-space:nowrap;font-family:inherit}
.cat-pill:hover{color:var(--tx2)}
.cat-pill.on{color:var(--cyan);border-bottom-color:var(--cyan)}
.cat-cnt{font-size:10px;font-family:'JetBrains Mono',monospace;background:rgba(255,255,255,.06);border-radius:9px;padding:1px 6px;color:var(--muted)}
.cat-pill.on .cat-cnt{background:rgba(0,212,248,.12);color:var(--cyan)}

/* LAYOUT */
.page-wrap{max-width:1500px;margin:0 auto;padding:1.25rem 2rem 6rem;display:grid;grid-template-columns:1fr 380px;gap:1.5rem;align-items:start}
.main-col{min-width:0}
.side-col{display:flex;flex-direction:column;gap:.9rem;position:sticky;top:155px}

/* WEEK STRIP */
.week-strip{background:linear-gradient(135deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:14px;padding:.55rem .6rem;margin-bottom:1rem;display:flex;align-items:center;gap:.35rem;box-shadow:var(--s1)}
.wk-arr{flex-shrink:0;width:32px;height:32px;border-radius:8px;background:var(--bg3);border:1px solid var(--bd);color:var(--muted);cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:all .18s}
.wk-arr:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,212,248,.06)}
.wk-days{display:flex;gap:.32rem;flex:1}
.wk-day{flex:1;padding:.36rem .1rem;border-radius:10px;cursor:pointer;text-align:center;border:1px solid transparent;transition:all .2s;user-select:none;min-width:0}
.wk-day:hover{background:rgba(255,255,255,.04);border-color:var(--bd)}
.wk-day.has{border-color:var(--bd2);background:rgba(255,255,255,.02)}
.wk-day.on{background:linear-gradient(135deg,var(--cyan),var(--cyan2));border-color:var(--cyan);box-shadow:0 2px 14px rgba(0,212,248,.35)}
.wd-dow{font-size:9px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;line-height:1}
.wk-day.on .wd-dow{color:rgba(0,0,0,.65)}
.wd-num{font-size:1.15rem;font-weight:700;color:var(--tx);line-height:1;margin:.2rem 0}
.wk-day.on .wd-num{color:#000}
.wd-cnt{font-size:9px;color:var(--muted);font-family:'JetBrains Mono',monospace;min-height:12px}
.wk-day.on .wd-cnt{color:rgba(0,0,0,.6)}
.wk-day.has:not(.on) .wd-cnt{color:var(--cyan)}

/* LEAGUE SECTION */
.league-section{margin-bottom:1rem}
.ls-hdr{display:flex;align-items:center;gap:.6rem;padding:.42rem 1rem;margin-bottom:.5rem;background:linear-gradient(90deg,var(--bg3),var(--bg2));border:1px solid var(--bd);border-left:3px solid var(--muted);border-radius:0 10px 10px 0}
.ls-hdr[data-cat="epl"]{border-left-color:var(--epl)}
.ls-hdr[data-cat="laliga"]{border-left-color:var(--laliga)}
.ls-hdr[data-cat="bundesliga"]{border-left-color:var(--bundes)}
.ls-hdr[data-cat="seriea"]{border-left-color:var(--seriea)}
.ls-hdr[data-cat="ligue1"]{border-left-color:var(--ligue1)}
.ls-hdr[data-cat="ucl"]{border-left-color:var(--gold)}
.ls-hdr[data-cat="world"]{border-left-color:var(--green)}
.ls-hdr[data-cat="asia"]{border-left-color:var(--red)}
.ls-flag{font-size:1.2rem;line-height:1}
.ls-name{font-size:1rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--tx)}
.ls-en{font-size:10.5px;color:var(--muted)}
.ls-cnt{margin-left:auto;font-size:10px;color:var(--muted);font-family:'JetBrains Mono',monospace;background:var(--bg);border:1px solid var(--bd);border-radius:9px;padding:1px 8px}

/* MATCH CARD */
.match-card{background:linear-gradient(135deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:14px;margin-bottom:.55rem;overflow:hidden;transition:border-color .2s,box-shadow .2s,transform .2s;position:relative}
.match-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}
.match-card:hover{border-color:var(--bd2);box-shadow:0 8px 32px rgba(0,0,0,.5);transform:translateY(-2px)}
.mc-top{display:flex;justify-content:space-between;align-items:center;padding:.32rem 1.1rem;background:linear-gradient(90deg,rgba(5,8,15,.8),rgba(8,13,23,.6));border-bottom:1px solid var(--bd)}
.mc-lg{font-size:10.5px;color:var(--muted)}
.mc-right{display:flex;align-items:center;gap:.42rem;flex-shrink:0}
.mc-time{font-size:10.5px;font-family:'JetBrains Mono',monospace;color:var(--muted);background:var(--bg);border:1px solid var(--bd);border-radius:5px;padding:1px 7px}
.mc-time.live{color:var(--red);border-color:rgba(240,40,72,.35);background:rgba(240,40,72,.06);animation:live-pulse 1.8s ease infinite}
.mc-time.ft{color:var(--dim);border-color:var(--dim)}
.fav-btn{background:none;border:none;cursor:pointer;font-size:14px;padding:2px 4px;opacity:.25;transition:all .18s}
.fav-btn:hover,.fav-btn.on{opacity:1;transform:scale(1.2)}
@keyframes live-pulse{0%,100%{opacity:1}50%{opacity:.55}}
.mc-body{display:grid;grid-template-columns:1fr 108px 1fr;align-items:center;padding:.9rem 1.2rem;gap:.6rem}
.mc-team{display:flex;flex-direction:column;align-items:center;gap:.35rem}
.mc-crest{width:50px;height:50px;display:flex;align-items:center;justify-content:center;background:var(--bg2);border:1px solid var(--bd);border-radius:50%;overflow:hidden;font-size:1.1rem;flex-shrink:0;transition:border-color .18s}
.match-card:hover .mc-crest{border-color:var(--bd2)}
.mc-crest img{width:32px;height:32px;object-fit:contain}
.mc-name{font-size:13px;font-weight:600;color:var(--tx);text-align:center;line-height:1.3;max-width:130px}
.mc-mid{text-align:center}
.mc-vs{font-size:1.5rem;font-weight:900;color:var(--dim);letter-spacing:-.01em}
.mc-kt{font-size:11px;color:var(--muted);font-family:'JetBrains Mono',monospace;margin-top:3px}
.mc-score{font-weight:900;line-height:1;letter-spacing:-.02em}
.mc-st{font-size:10px;margin-top:3px}
.mc-st.live{color:var(--red)}.mc-st.ft{color:var(--muted)}

/* PREDICTION */
.pred-wrap{padding:.58rem 1.1rem .78rem;border-top:1px solid var(--bd);background:rgba(0,0,0,.1)}
.pred-lbl{font-size:9.5px;color:var(--muted);letter-spacing:.1em;text-transform:uppercase;margin-bottom:.38rem;font-weight:600}
.prob-bar{display:flex;height:24px;border-radius:6px;overflow:hidden;gap:2px;margin-bottom:.45rem}
.pb{height:100%;min-width:3%;display:flex;align-items:center;justify-content:flex-end;padding:0 .38rem;border-radius:4px;transition:width 1.4s cubic-bezier(.16,1,.3,1)}
.pb span{font-size:9.5px;font-weight:700;font-family:'JetBrains Mono',monospace;white-space:nowrap}
.pb.home{background:rgba(0,212,248,.1);border:1px solid rgba(0,212,248,.2)}
.pb.draw{background:rgba(245,165,32,.09);border:1px solid rgba(245,165,32,.18)}
.pb.away{background:rgba(240,40,72,.1);border:1px solid rgba(240,40,72,.2)}
.pb.home.hi{background:rgba(0,212,248,.25);border-color:var(--cyan)}
.pb.draw.hi{background:rgba(245,165,32,.24);border-color:var(--gold)}
.pb.away.hi{background:rgba(240,40,72,.25);border-color:var(--red)}
.pb.home span{color:var(--cyan)}.pb.draw span{color:var(--gold)}.pb.away span{color:var(--red)}
.pred-foot{display:flex;align-items:center;gap:.42rem;flex-wrap:wrap}
.oc-tag{font-size:11px;font-weight:700;padding:2px 11px;border-radius:20px}
.oc-tag.home{background:rgba(0,212,248,.08);color:var(--cyan);border:1px solid rgba(0,212,248,.18)}
.oc-tag.draw{background:rgba(245,165,32,.07);color:var(--gold);border:1px solid rgba(245,165,32,.16)}
.oc-tag.away{background:rgba(240,40,72,.08);color:var(--red);border:1px solid rgba(240,40,72,.18)}
.conf-txt{font-size:10.5px;color:var(--muted);font-family:'JetBrains Mono',monospace}
.conf-txt em{color:var(--green);font-style:normal;font-weight:700}
.ai-btn{background:var(--bg3);border:1px solid var(--bd);color:var(--muted);border-radius:7px;font-size:11px;padding:.24rem .7rem;cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.ai-btn:hover{border-color:var(--cyan);color:var(--cyan);background:rgba(0,212,248,.04)}
.ai-panel{max-height:0;overflow:hidden;transition:max-height .42s ease}
.ai-panel.open{max-height:700px}
.ai-body{padding:.65rem 1.1rem 0;font-size:12.5px;color:#5a8aac;line-height:1.85}
.ai-tags{display:flex;gap:.32rem;padding:.42rem 1.1rem .68rem;flex-wrap:wrap}
.ai-tag{font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px}
.ai-tag.over{background:rgba(0,232,150,.06);color:var(--green);border:1px solid rgba(0,232,150,.14)}
.ai-tag.btts{background:rgba(139,92,246,.07);color:#a78bfa;border:1px solid rgba(139,92,246,.14)}
.ai-tag.score{background:rgba(245,165,32,.07);color:var(--gold);border:1px solid rgba(245,165,32,.14)}
.gen-btn{width:100%;padding:.55rem;background:transparent;border:none;border-top:1px solid var(--bd);color:var(--muted);cursor:pointer;font-size:12px;transition:all .18s;display:flex;align-items:center;justify-content:center;gap:.4rem}
.gen-btn:hover{color:var(--cyan);background:rgba(0,212,248,.04)}
.thinking{padding:.65rem 1.1rem;display:flex;align-items:center;gap:.5rem;font-size:12px;color:var(--muted)}
.dots{display:flex;gap:4px}
.dots span{width:6px;height:6px;border-radius:50%;background:var(--cyan);animation:dot-anim 1.4s infinite}
.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}
@keyframes dot-anim{0%,80%,100%{transform:scale(.5);opacity:.2}40%{transform:scale(1);opacity:1}}

/* SIDEBAR */
.s-card{background:linear-gradient(135deg,var(--card),var(--card2));border:1px solid var(--bd);border-radius:14px;padding:.95rem 1.05rem;overflow:hidden;box-shadow:var(--s1);position:relative}
.s-card::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent)}
.s-ttl{font-size:12.5px;font-weight:700;color:var(--tx);letter-spacing:.07em;text-transform:uppercase;margin-bottom:.58rem;padding-bottom:.48rem;border-bottom:1px solid var(--bd);display:flex;align-items:center;gap:.42rem}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:.42rem}
.mini-box{background:var(--bg3);border:1px solid var(--bd);border-radius:9px;padding:.55rem .7rem;text-align:center;transition:border-color .18s}
.mini-box:hover{border-color:var(--bd2)}
.mbox-val{font-size:1.55rem;font-weight:900;line-height:1;font-family:'JetBrains Mono',monospace}
.mbox-val.c{color:var(--cyan)}.mbox-val.g{color:var(--green)}.mbox-val.o{color:var(--gold)}.mbox-val.r{color:var(--red)}
.mbox-lbl{font-size:10px;color:var(--muted);margin-top:3px}
.tip-row{display:flex;align-items:flex-start;gap:.48rem;padding:.34rem 0;border-bottom:1px solid var(--bd)}
.tip-row:last-child{border-bottom:none;padding-bottom:0}
.tip-flag{font-size:.95rem;flex-shrink:0;margin-top:2px}
.tip-match{font-size:12px;font-weight:600;color:var(--tx);line-height:1.3}
.tip-pick{font-size:10.5px;color:var(--green);font-weight:600;margin-top:2px}
.tip-meta{font-size:9.5px;color:var(--muted);margin-top:1px}
.lg-grid{display:grid;grid-template-columns:1fr 1fr;gap:.35rem}
.lg-link{display:flex;align-items:center;gap:.38rem;padding:.42rem .6rem;background:var(--bg3);border:1px solid var(--bd);border-radius:8px;cursor:pointer;transition:all .18s;user-select:none}
.lg-link:hover{border-color:var(--bd2);background:var(--card2)}
.lg-link.on{border-color:rgba(0,212,248,.3);background:rgba(0,212,248,.06)}
.lg-flag{font-size:1.05rem;flex-shrink:0}
.lg-name{font-size:12px;font-weight:600;color:var(--tx)}
.lg-cnt{font-size:9.5px;color:var(--muted);font-family:'JetBrains Mono',monospace}

/* WC CARD */
.wc-card{display:block;background:linear-gradient(135deg,#060e20,#0c1c3c 50%,#0a1830);border:1px solid rgba(245,165,32,.2);border-radius:14px;padding:.95rem 1.05rem;cursor:pointer;text-decoration:none;transition:box-shadow .2s,border-color .2s;position:relative;overflow:hidden}
.wc-card::after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 80% 50%,rgba(245,165,32,.07),transparent 65%);pointer-events:none}
.wc-card:hover{box-shadow:0 6px 24px rgba(245,165,32,.2);border-color:rgba(245,165,32,.35)}

/* STANDINGS */
.std-tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:2px;background:var(--bg3);border:1px solid var(--bd);border-radius:9px;padding:3px;margin-bottom:.6rem}
.std-tab{text-align:center;padding:.28rem .1rem;border-radius:6px;font-size:11px;font-weight:700;cursor:pointer;color:var(--muted);border:none;background:transparent;transition:all .15s;font-family:inherit;letter-spacing:.02em}
.std-tab:hover{color:var(--tx2)}
.std-tab.on{background:var(--card2);color:var(--cyan);box-shadow:0 1px 6px rgba(0,0,0,.5)}
.std-panel{display:none}.std-panel.on{display:block}
.std-tbl{width:100%;border-collapse:collapse}
.std-tbl thead tr{border-bottom:1px solid var(--bd)}
.std-tbl thead th{font-size:9px;color:var(--muted);font-family:'JetBrains Mono',monospace;font-weight:600;text-align:center;padding:2px 2px 4px;text-transform:uppercase;letter-spacing:.04em}
.std-tbl thead th.tl{text-align:left}
.std-tbl tbody tr{border-bottom:1px solid rgba(26,45,72,.6);transition:background .1s}
.std-tbl tbody tr:last-child{border-bottom:none}
.std-tbl tbody tr:hover{background:rgba(255,255,255,.02)}
.std-tbl td{padding:3.5px 2px;text-align:center;vertical-align:middle}
.std-tbl td.tl{text-align:left}
.td-r{font-family:'JetBrains Mono',monospace;font-size:10px;font-weight:700;width:15px}
.td-r.cl{color:var(--cyan)}.td-r.el{color:var(--blue)}.td-r.rel{color:var(--red)}.td-r.def{color:var(--muted)}
.td-lg{width:17px;padding:0 1px}.td-lg img{width:13px;height:13px;object-fit:contain;margin:0 auto}
.td-n{font-size:11px;font-weight:500;color:var(--tx);max-width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-left:3px}
.td-n.b{font-weight:700;color:#e8f4ff}
.td-d{font-family:'JetBrains Mono',monospace;font-size:10px;color:var(--muted);width:16px}
.td-gd{font-family:'JetBrains Mono',monospace;font-size:10px;width:22px}
.td-gd.pos{color:var(--green)}.td-gd.neg{color:var(--red)}
.td-p{font-family:'JetBrains Mono',monospace;font-size:11.5px;font-weight:700;width:22px}
.td-p.cl{color:var(--cyan)}.td-p.el{color:var(--blue)}.td-p.rel{color:var(--red)}
.std-leg{display:flex;flex-wrap:wrap;gap:.3rem .75rem;margin-top:.48rem;padding-top:.42rem;border-top:1px solid var(--bd)}
.std-leg-item{display:flex;align-items:center;gap:.28rem;font-size:9px;color:var(--muted)}
.std-leg-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.std-load{text-align:center;padding:.75rem;font-size:11px;color:var(--muted)}

/* EMPTY / LOADING */
.empty-box{text-align:center;padding:4rem 1rem;color:var(--muted)}
.empty-ico{font-size:3rem;display:block;margin-bottom:.75rem}
.empty-box h3{font-size:16px;color:var(--tx2);margin-bottom:.45rem}
.spin{display:inline-block;animation:spin 1.2s linear infinite;font-size:2rem}
@keyframes spin{to{transform:rotate(360deg)}}
.mini-btn{background:var(--bg3);border:1px solid var(--bd);color:var(--muted);cursor:pointer;border-radius:7px;font-size:11.5px;padding:.24rem .7rem;transition:all .18s;display:inline-flex;align-items:center;gap:.3rem;white-space:nowrap}
.mini-btn:hover{border-color:var(--cyan);color:var(--cyan)}

/* MODAL */
.modal-overlay{position:fixed;inset:0;z-index:900;background:rgba(0,0,0,.88);backdrop-filter:blur(16px) saturate(150%);-webkit-backdrop-filter:blur(16px) saturate(150%);display:flex;align-items:center;justify-content:center}
.modal-overlay[hidden]{display:none!important}
.modal-box{background:linear-gradient(135deg,var(--card),var(--card2));border:1px solid var(--bd2);border-radius:18px;padding:2rem;width:380px;max-width:calc(100vw - 2rem);position:relative;box-shadow:0 24px 80px rgba(0,0,0,.9);animation:modal-in .24s cubic-bezier(.16,1,.3,1)}
@keyframes modal-in{from{transform:scale(.95) translateY(10px);opacity:0}to{transform:scale(1) translateY(0);opacity:1}}
.modal-x{position:absolute;top:.9rem;right:.9rem;background:rgba(255,255,255,.06);border:1px solid var(--bd);color:var(--muted);cursor:pointer;font-size:13px;border-radius:7px;padding:3px 9px;transition:all .15s}
.modal-x:hover{color:var(--tx);background:rgba(255,255,255,.1)}
.modal-ttl{font-size:1.4rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;margin-bottom:1.25rem;color:var(--tx)}
.form-grp{margin-bottom:.8rem}
.form-grp label{display:block;font-size:10.5px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.32rem;font-weight:600}
.form-grp input{width:100%;background:var(--bg2);border:1px solid var(--bd);color:var(--tx);border-radius:8px;padding:.55rem .95rem;font-size:14px;outline:none;transition:border-color .18s,box-shadow .18s;font-family:inherit}
.form-grp input:focus{border-color:var(--cyan);box-shadow:0 0 0 3px rgba(0,212,248,.08)}
.form-err{color:var(--red);font-size:11px;margin-bottom:.65rem;min-height:1em}
.form-sw{text-align:center;margin-top:.9rem;font-size:12px;color:var(--muted)}
.link-btn{background:none;border:none;color:var(--cyan);cursor:pointer;text-decoration:underline;font-size:12px;font-family:inherit}

/* TOAST */
#toast-root{position:fixed;bottom:1.75rem;right:1.75rem;z-index:9999;display:flex;flex-direction:column;gap:.55rem}
.toast{background:var(--card);border:1px solid var(--bd2);border-radius:10px;padding:.6rem 1.15rem;font-size:13px;font-weight:600;animation:toast-in .22s cubic-bezier(.16,1,.3,1);box-shadow:0 8px 32px rgba(0,0,0,.7);max-width:300px}
@keyframes toast-in{from{transform:translateX(16px);opacity:0}to{transform:translateX(0);opacity:1}}
.toast.ok{border-color:rgba(0,232,150,.3);color:var(--green)}
.toast.err{border-color:rgba(240,40,72,.3);color:var(--red)}

/* FOOTER */
#site-footer{background:var(--bg2);border-top:1px solid var(--bd);padding:1.75rem 2rem}
.footer-inner{max-width:1500px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:1.25rem;justify-content:space-between}
.footer-logo{font-size:1.25rem;font-weight:900;color:var(--tx)}
.footer-logo em{color:var(--cyan);font-style:normal;text-shadow:0 0 14px rgba(0,212,248,.4)}
.footer-tag{font-size:11px;color:var(--muted);margin-top:3px}
.footer-nav{display:flex;gap:2rem}
.footer-nav a{font-size:13px;color:var(--muted);transition:color .15s}
.footer-nav a:hover{color:var(--cyan)}
.footer-legal{font-size:11px;color:var(--dim);max-width:400px;line-height:1.5}

/* INNER PAGES */
.inner-wrap{max-width:880px;margin:0 auto;padding:1.75rem 2rem 6rem}
.inner-title{font-size:1.6rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tx);margin-bottom:1.35rem;display:flex;align-items:center;gap:.55rem}

/* 404 */
.page-404{min-height:65vh;display:flex;align-items:center;justify-content:center;padding:3rem 2rem}
.e404-inner{text-align:center;max-width:520px}
.e404-nums{display:flex;align-items:center;justify-content:center;gap:.45rem;font-size:7.5rem;font-weight:900;line-height:1;margin-bottom:1.75rem;color:var(--bd2)}
.e404-ball{font-size:5rem;display:inline-block;animation:ball-roll 2s linear infinite}
@keyframes ball-roll{to{transform:rotate(360deg)}}
.e404-title{font-size:1.85rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tx);margin-bottom:.7rem}
.e404-desc{font-size:14px;color:var(--tx2);line-height:1.75;margin-bottom:2.25rem}
.e404-btns{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center}
.e404-main{display:inline-flex;align-items:center;gap:.42rem;background:linear-gradient(135deg,var(--cyan),var(--cyan2));color:#000;font-weight:700;font-size:14px;padding:.7rem 1.6rem;border-radius:11px;text-decoration:none;box-shadow:0 4px 18px rgba(0,212,248,.4)}
.e404-sub{display:inline-flex;align-items:center;gap:.42rem;background:var(--card);border:1px solid var(--bd);color:var(--tx2);font-size:13px;padding:.6rem 1.2rem;border-radius:11px;text-decoration:none;transition:all .18s}
.e404-sub:hover{border-color:var(--bd2);color:var(--tx)}

/* SCROLLBAR */
::-webkit-scrollbar{width:4px;height:4px}
::-webkit-scrollbar-track{background:var(--bg2)}
::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:3px}
::-webkit-scrollbar-thumb:hover{background:rgba(0,212,248,.4)}

/* RESPONSIVE */
@media(max-width:1200px){.page-wrap{grid-template-columns:1fr;padding:1rem 1.5rem 4rem}.side-col{display:none}}
@media(max-width:900px){.stats-inner{grid-template-columns:repeat(2,1fr)}.stat-item{border-right:none;border-bottom:1px solid var(--bd)}.stat-item:nth-child(odd){border-right:1px solid var(--bd)}.stat-item:last-child,.stat-item:nth-last-child(2){border-bottom:none}}
@media(max-width:768px){#site-header .hdr{height:54px;padding:0 1rem;gap:1rem}.logo-sub{display:none}.stats-bar{padding:.45rem 1rem}.stat-val{font-size:1.75rem}.page-wrap{padding:.75rem 1rem 3.5rem}.cat-nav-inner{padding:0 1rem}.main-nav{display:none}.acc-badge{display:none}.week-strip{padding:.42rem .45rem}.hdr-right{margin-left:auto}}
@media(max-width:480px){.mc-body{padding:.7rem .85rem}.mc-crest{width:42px;height:42px}.mc-name{font-size:12px}}

/* 多联赛积分榜：可横向滚动的Tab */
.std-tabs-scroll{display:flex!important;grid-template-columns:none!important;overflow-x:auto;scrollbar-width:thin;gap:3px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
.std-tabs-scroll::-webkit-scrollbar{height:4px}
.std-tabs-scroll::-webkit-scrollbar-thumb{background:var(--bd2);border-radius:4px}
.std-tabs-scroll .std-tab{flex:0 0 auto;white-space:nowrap;padding:.32rem .7rem;scroll-snap-align:start}
