/*
Theme Name: 好体育 (2030hty.com)
Theme URI: https://2030hty.com/
Author: 好体育
Description: 好体育官网主题 — API-Football 比分数据 + DeepSeek 翻译与AI预测，内置多搜索引擎SEO、自动发文、PWA。启用后只需在后台填写两个密钥。
Version: 1.0.0
Requires at least: 6.3
Requires PHP: 8.0
Text Domain: hty2030
*/
/* ===== base layout & components (colors come from the site skin) ===== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.7 var(--font);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
a:hover{color:var(--acc)}
img{max-width:100%;height:auto}
h1,h2,h3,h4{margin:0;line-height:1.35}
p{margin:0 0 .8em}
ul,ol{margin:0;padding:0}
button{font:inherit}
.zj-skip{position:absolute;left:-999px;top:0;background:var(--acc);color:#fff;padding:8px 12px;z-index:100}
.zj-skip:focus{left:8px}
.zj-wrap{max-width:1200px;margin:0 auto;padding:0 16px}
.zj-main{min-height:60vh;padding-bottom:40px}

/* header pieces */
.zj-top{background:var(--top-bg,var(--ink));color:var(--top-fg,#cfd2d8);font-size:12px}
.zj-top-in{display:flex;justify-content:space-between;align-items:center;min-height:32px;gap:10px}
.zj-top b{color:#fff;font-weight:600}
.zj-auth{display:inline-flex;gap:8px;align-items:center;white-space:nowrap}
.zj-auth a{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:5px;height:var(--auth-h,34px);padding:0 16px;border-radius:999px;font-size:13px;font-weight:700;letter-spacing:1px;line-height:1;transition:transform .2s,box-shadow .25s,filter .2s}
.zj-auth a svg{flex:none}
.zj-auth a:hover{transform:translateY(-1px);filter:brightness(1.08)}
.zj-auth a:active{transform:translateY(1px)}
.zj-auth .zj-signin{background:var(--btn-login-bg,var(--card2));color:var(--btn-login-fg,var(--ink))!important;box-shadow:inset 0 0 0 1px var(--btn-login-bd,var(--line))}
.zj-auth .zj-signup{background:linear-gradient(120deg,var(--btn-reg-1,var(--acc)),var(--btn-reg-2,var(--acc2)));color:var(--btn-reg-fg,#fff)!important;text-shadow:0 1px 1px rgba(0,0,0,.18);box-shadow:0 6px 16px -6px var(--btn-reg-1,var(--acc))}
.zj-auth .zj-signup:hover{box-shadow:0 10px 22px -6px var(--btn-reg-1,var(--acc))}
.zj-auth .zj-signup::before{content:"";position:absolute;top:0;left:-70%;width:45%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);transform:skewX(-20deg);animation:zj-shine 3s ease-in-out infinite}
@keyframes zj-shine{0%,55%{left:-70%}100%{left:130%}}
@media(max-width:480px){.zj-auth{gap:6px}.zj-auth a{padding:0 12px;letter-spacing:0}.zj-auth a svg{display:none}}
@media(prefers-reduced-motion:reduce){.zj-auth .zj-signup::before{animation:none}}
.zj-hd{background:var(--hd-bg);color:var(--hd-fg)}
.zj-hd-in{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:68px}
.zj-logo{display:flex;align-items:baseline;gap:10px;flex:none}
.zj-logo-mark{font-family:var(--font-h);font-size:27px;font-weight:900;letter-spacing:1px;line-height:1}
.zj-logo-mark em{font-style:normal;color:var(--acc);margin-left:2px}
.zj-logo-tag{font-size:12px;opacity:.7;padding-left:10px;border-left:1px solid currentColor}
.zj-search{display:flex;flex:0 1 320px;border:1.5px solid var(--search-bd,var(--ink));border-radius:999px;overflow:hidden;background:var(--card)}
.zj-search input{flex:1;min-width:0;border:0;padding:8px 14px;font-size:14px;outline:none;background:transparent;color:var(--ink)}
.zj-search button{border:0;background:var(--search-btn,var(--ink));color:#fff;padding:0 16px;cursor:pointer;font-size:13px}
.zj-hd-nav{background:var(--nav-bg);color:var(--nav-fg)}
.zj-nav{list-style:none;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.zj-nav::-webkit-scrollbar{display:none}
.zj-nav a{display:block;padding:12px 15px;font-weight:600;white-space:nowrap;border-bottom:3px solid transparent}
.zj-nav a.zj-on{border-bottom-color:var(--acc);color:var(--acc)}
.zj-ticker{background:var(--ticker-bg,var(--card));border-bottom:1px solid var(--line);font-size:13px}
.zj-ticker .zj-wrap{display:flex;align-items:center;gap:12px;min-height:40px}
.zj-ticker-l{flex:none;background:var(--acc);color:#fff;font-weight:700;padding:2px 8px;border-radius:4px;font-size:12px}
.zj-ticker-s{display:flex;gap:22px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.zj-ticker-s::-webkit-scrollbar{display:none}
.zj-ticker-s a{display:inline-flex;gap:6px;align-items:center}
.zj-ticker-s em{font-style:normal;color:var(--mute);font-size:11px}
.zj-ticker .zj-score{display:inline-flex;gap:4px;align-items:baseline}
.zj-ticker .zj-score small{font-size:10px}

/* grid */
.zj-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
.zj-col{min-width:0}
@media(max-width:980px){.zj-grid{grid-template-columns:1fr}.zj-logo-tag{display:none}}
@media(max-width:760px){.zj-search{display:none}}
.zj-crumb{font-size:12px;color:var(--mute);padding:14px 0 8px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.zj-crumb i{font-style:normal;opacity:.6}
.zj-h1{font-family:var(--font-h);font-size:27px;margin:6px 0 6px;font-weight:800}
.zj-h1-m{font-size:21px}
.zj-lede{color:var(--ink2);font-size:14px;margin-bottom:16px}
.zj-lede b{color:var(--acc)}
.zj-home-head{padding:18px 0 4px}

/* sections */
.zj-sec{margin:0 0 26px}
.zj-sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:var(--sec-bd,2px solid var(--ink));padding-bottom:6px;margin-bottom:14px}
.zj-sec-h h2{font-size:19px;font-weight:800;display:flex;align-items:center;gap:8px}
.zj-sec-h h2::before{content:"";width:5px;height:18px;border-radius:2px;background:var(--acc)}
.zj-sec-h a{font-size:13px;color:var(--mute);white-space:nowrap}
.zj-day{font-size:15px;color:var(--ink2);margin:18px 0 10px;padding-left:10px;border-left:3px solid var(--acc)}

/* match card */
.zj-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);margin-bottom:14px;overflow:hidden}
.zj-card-top{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 16px;background:var(--card2);border-bottom:1px solid var(--line);font-size:12px;color:var(--mute)}
.zj-lg{display:flex;align-items:center;gap:7px;color:var(--ink2);font-weight:600}
.zj-dot{width:8px;height:8px;border-radius:50%;background:var(--acc);display:inline-block}
.zj-card-body{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:18px;padding:16px}
@media(max-width:700px){.zj-card-body{grid-template-columns:1fr}}
.zj-vs{margin:0 0 12px;font-size:inherit;font-weight:inherit}
.zj-vs a{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.zj-team{display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center}
.zj-team b{font-size:15px;line-height:1.3}
.zj-crest{border-radius:50%;object-fit:contain;flex:none;background:#fff;overflow:hidden;font-size:0;color:transparent}
.zj-crest-i{display:inline-grid;place-items:center;background:var(--ink);color:#fff;font-weight:800;font-size:13px}
.zj-form{display:inline-flex;gap:2px}
.zj-form i{font-style:normal;width:16px;height:16px;border-radius:3px;font-size:10px;color:#fff;display:grid;place-items:center;font-weight:700}
.zj-fw{background:var(--win)}.zj-fd{background:var(--draw)}.zj-fl{background:var(--lose)}
.zj-score{display:flex;flex-direction:column;align-items:center;line-height:1.15;min-width:64px}
.zj-sc{font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.zj-st{font-size:11px;color:var(--mute)}
.zj-is-live .zj-sc{color:var(--acc)}
.zj-is-live .zj-st{color:var(--acc);font-weight:700}
.zj-is-live .zj-st::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--acc);margin-right:4px;vertical-align:middle;animation:zj-blink 1.2s infinite}
@keyframes zj-blink{50%{opacity:.2}}
.zj-flash{animation:zj-fl 1s 2}
@keyframes zj-fl{50%{background:var(--acc-soft)}}
.zj-score-big .zj-sc{font-size:40px}
.zj-score-big .zj-st{font-size:13px}
.zj-prob{margin:4px 0 10px}
.zj-prob-bar{display:flex;height:26px;border-radius:6px;overflow:hidden;font-size:12px;font-weight:700;color:#fff}
.zj-prob-bar span{display:flex;align-items:center;justify-content:center;white-space:nowrap;overflow:hidden}
.zj-p1{background:var(--win)}.zj-px{background:var(--draw)}.zj-p2{background:var(--lose)}
.zj-prob-lbl{display:flex;justify-content:space-between;font-size:11px;color:var(--mute);margin-top:4px;gap:6px}
.zj-why{font-size:13.5px;color:var(--ink2);border-left:3px solid var(--acc2);padding:6px 0 6px 12px;background:linear-gradient(90deg,var(--acc2-soft),transparent)}
.zj-why strong{color:var(--ink)}
.zj-card-side{border-left:1px dashed var(--line);padding-left:16px;display:flex;flex-direction:column;gap:8px}
@media(max-width:700px){.zj-card-side{border-left:0;padding-left:0;border-top:1px dashed var(--line);padding-top:12px}}
.zj-pick{background:var(--pick-bg,var(--ink));color:var(--pick-fg,#fff);border-radius:8px;padding:9px 12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 8px}
.zj-pick small{grid-column:1/-1;font-size:11px;opacity:.7}
.zj-pick b{font-size:17px}
.zj-pick-lg b{font-size:22px}
.zj-stars{color:var(--star,#f5b301);letter-spacing:1px;font-size:13px}
.zj-stars s{text-decoration:none;opacity:.25}
.zj-kv{margin:0;display:grid;gap:0}
.zj-kv div{display:flex;justify-content:space-between;gap:8px;font-size:13px;border-bottom:1px solid var(--line2);padding:4px 0}
.zj-kv dt{color:var(--mute)}
.zj-kv dd{margin:0;font-weight:700;font-variant-numeric:tabular-nums}
.zj-res{text-align:center;font-weight:800;border-radius:6px;padding:4px}
.zj-hit{color:var(--win)}.zj-miss{color:var(--lose)}
.zj-res.zj-hit{background:color-mix(in srgb,var(--win) 12%,transparent)}
.zj-res.zj-miss{background:color-mix(in srgb,var(--lose) 12%,transparent)}
.zj-card-foot{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 16px;border-top:1px solid var(--line);font-size:12px;color:var(--mute)}
.zj-btn{display:inline-block;background:var(--acc);color:#fff!important;font-weight:700;padding:6px 14px;border-radius:var(--btn-r,6px);font-size:13px;border:0;cursor:pointer;line-height:1.5}
.zj-btn:hover{opacity:.9}
.zj-btn-lg{padding:10px 22px;font-size:15px}
.zj-btn-ghost{background:transparent;color:var(--ink)!important;border:1.5px solid var(--ink)}
.zj-tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.zj-tabs button{border:1px solid var(--line);background:var(--card);padding:5px 14px;border-radius:999px;font-size:13px;cursor:pointer;color:var(--ink2)}
.zj-tabs button.zj-on{background:var(--ink);color:#fff;border-color:var(--ink)}

/* scoreboard */
.zj-board-g{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:12px;overflow:hidden}
.zj-board-h{display:flex;justify-content:space-between;align-items:center;font-size:14px;padding:8px 14px;background:var(--card2);border-bottom:1px solid var(--line)}
.zj-board-h small{font-weight:400;color:var(--mute);font-size:12px}
.zj-board ul{list-style:none}
.zj-row{display:grid;grid-template-columns:46px minmax(0,1fr) 64px 56px;align-items:center;gap:8px;padding:8px 14px;border-top:1px solid var(--line2);font-size:14px}
.zj-row:first-child{border-top:0}
.zj-row-live{background:var(--acc-soft)}
.zj-row-t{color:var(--mute);font-size:12px;font-variant-numeric:tabular-nums}
.zj-row-m{display:grid;grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);align-items:center;gap:8px}
.zj-row-h{display:flex;justify-content:flex-end;align-items:center;gap:6px;text-align:right;overflow:hidden}
.zj-row-a{display:flex;align-items:center;gap:6px;overflow:hidden}
.zj-row .zj-sc{font-size:16px}
.zj-row .zj-st{font-size:10px}
.zj-row-ht{font-size:11px;color:var(--mute);text-align:right}
.zj-chip{font-size:11px;padding:2px 6px;border-radius:4px;background:var(--card2);border:1px solid var(--line);white-space:nowrap;color:var(--ink2)}
.zj-chip.zj-hit{border-color:var(--win)}.zj-chip.zj-miss{border-color:var(--lose)}
@media(max-width:600px){.zj-row{grid-template-columns:38px minmax(0,1fr) 50px;padding:8px 10px;font-size:13px}.zj-row-ht{display:none}.zj-row-m{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);gap:4px}.zj-row .zj-crest{display:none}}
.zj-dates{display:flex;gap:6px;overflow-x:auto;margin-bottom:14px;scrollbar-width:none}
.zj-dates a{flex:1 0 70px;text-align:center;border:1px solid var(--line);background:var(--card);border-radius:8px;padding:6px 4px;display:flex;flex-direction:column;line-height:1.3}
.zj-dates a small{font-size:11px;color:var(--mute)}
.zj-dates a.zj-on{background:var(--ink);color:#fff;border-color:var(--ink)}
.zj-dates a.zj-on small{color:#ddd}

/* posts */
.zj-posts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.zj-posts-list{grid-template-columns:1fr}
@media(max-width:700px){.zj-posts{grid-template-columns:1fr}}
.zj-post{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px}
.zj-post-cat{font-size:11px;font-weight:700;color:var(--acc)}
.zj-post h3{font-size:16px;line-height:1.5}
.zj-post p{font-size:13px;color:var(--ink2);margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.zj-meta{font-size:12px;color:var(--mute);display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.zj-au{display:inline-flex;align-items:center;gap:6px;color:var(--ink2)}
.zj-av{width:22px;height:22px;border-radius:50%;background:var(--av-bg,var(--ink));color:#fff;font-size:11px;font-style:normal;display:inline-grid;place-items:center;font-weight:700;flex:none}
.zj-av-lg{width:56px;height:56px;font-size:22px}
.zj-plist{list-style:none}
.zj-plist li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line2);font-size:14px}
.zj-plist small{color:var(--mute);flex:none}

/* hero */
.zj-hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:16px;margin-bottom:26px}
.zj-hero-m{position:relative}
.zj-hero-m .zj-card{margin:0;height:100%}
.zj-hero-m .zj-card-body{grid-template-columns:1fr}
.zj-hero-m .zj-card-side{border-left:0;padding-left:0;border-top:1px dashed var(--line);padding-top:12px}
.zj-badge{position:absolute;right:12px;top:-9px;z-index:2;background:var(--acc);color:#fff;font-size:12px;font-weight:700;padding:2px 10px;border-radius:4px}
.zj-hero-p{display:flex;flex-direction:column;gap:10px}
.zj-hero-p .zj-post{padding:12px 14px}
@media(max-width:860px){.zj-hero{grid-template-columns:1fr}}

/* sidebar */
.zj-side{display:flex;flex-direction:column;gap:18px;position:sticky;top:12px}
@media(max-width:980px){.zj-side{position:static}}
.zj-box{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.zj-box-h{font-size:15px;padding:11px 16px;border-bottom:var(--sec-bd,2px solid var(--ink));display:flex;justify-content:space-between;align-items:center}
.zj-box-h small{font-weight:400;color:var(--mute);font-size:12px}
.zj-box-more{display:block;text-align:center;padding:9px;font-size:13px;color:var(--mute);border-top:1px solid var(--line2)}
.zj-acc{text-align:center}
.zj-acc-big{font-size:46px;font-weight:900;color:var(--acc);line-height:1;padding-top:16px;font-variant-numeric:tabular-nums}
.zj-acc-big sup{font-size:18px}
.zj-acc-sub{font-size:12px;color:var(--mute);margin:6px 0 0}
.zj-acc-empty{font-size:13px;color:var(--mute);padding:16px}
.zj-acc-rows{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);margin-top:14px}
.zj-acc-rows div{padding:10px 0;font-size:12px;color:var(--mute)}
.zj-acc-rows div+div{border-left:1px solid var(--line)}
.zj-acc-rows b{display:block;font-size:17px;color:var(--ink)}
.zj-stand{width:100%;border-collapse:collapse;font-size:13px}
.zj-stand th{font-weight:600;color:var(--mute);font-size:11px;padding:7px 6px;text-align:center}
.zj-stand td{padding:6px;text-align:center;border-top:1px solid var(--line2);font-variant-numeric:tabular-nums}
.zj-stand td.zj-tn{text-align:left;font-weight:600;display:flex;align-items:center;gap:6px;white-space:nowrap}
.zj-rk{min-width:20px;height:20px;border-radius:4px;display:inline-grid;place-items:center;font-size:11px;font-weight:700;background:var(--card2);color:var(--ink2)}
.zj-stand tr:nth-child(-n+4) .zj-rk{background:var(--ink);color:#fff}
.zj-grp{font-size:13px;margin:12px 0 4px;color:var(--ink2)}
.zj-hot{list-style:none;counter-reset:h;padding:6px 16px 10px}
.zj-hot li{counter-increment:h;display:grid;grid-template-columns:20px 1fr;padding:7px 0;border-bottom:1px solid var(--line2);font-size:14px}
.zj-hot li::before{content:counter(h);font-weight:900;color:var(--mute);grid-row:span 2}
.zj-hot li:nth-child(-n+3)::before{color:var(--acc)}
.zj-hot small{color:var(--mute);font-size:11px}
.zj-authors{padding:12px 16px;display:flex;flex-direction:column;gap:12px}
.zj-author{display:flex;gap:10px;align-items:center}
.zj-author .zj-av{width:40px;height:40px;font-size:15px}
.zj-author b{font-size:14px;display:block}
.zj-author small{font-size:12px;color:var(--mute)}
.zj-kwnav{display:flex;flex-wrap:wrap;gap:8px}
.zj-kwnav a{font-size:13px;border:1px solid var(--line);padding:4px 12px;border-radius:999px;background:var(--card)}
.zj-kwnav-side{padding:12px 16px}

/* article */
.zj-article .zj-prose{font-size:16px;line-height:1.9}
.zj-prose h2{font-size:20px;margin:26px 0 10px;padding-left:10px;border-left:4px solid var(--acc)}
.zj-prose h3{font-size:17px;margin:20px 0 8px}
.zj-prose ul,.zj-prose ol{padding-left:1.4em;margin:0 0 1em}
.zj-prose a{color:var(--acc);text-decoration:underline;text-underline-offset:2px}
.zj-lead{font-size:16px;color:var(--ink2);background:var(--card2);border-radius:8px;padding:12px 16px}
.zj-databox{width:100%;border-collapse:collapse;margin:14px 0 18px;font-size:14px;background:var(--card);border:1px solid var(--line)}
.zj-databox caption{text-align:left;font-weight:800;padding:8px 0;color:var(--ink)}
.zj-databox th,.zj-databox td{padding:8px 12px;border-bottom:1px solid var(--line2);text-align:left}
.zj-databox th{background:var(--card2);color:var(--ink2);font-weight:600;white-space:nowrap}
.zj-art-h{margin-bottom:12px}
.zj-tags{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}
.zj-tags a{font-size:13px;color:var(--ink2);background:var(--card2);padding:3px 10px;border-radius:4px}
.zj-authorbox{display:flex;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px;margin:18px 0 26px}
.zj-authorbox b{display:block;font-size:16px}
.zj-authorbox small{color:var(--mute)}
.zj-authorbox p{font-size:14px;color:var(--ink2);margin:6px 0}
.zj-authorbox a{font-size:13px;color:var(--acc)}
.zj-note{font-size:12px;color:var(--mute);margin-top:10px}
.zj-note a{color:var(--acc)}
.zj-arch-h{display:flex;gap:14px;align-items:center;margin:6px 0 12px}
.zj-pager{display:flex;flex-wrap:wrap;gap:6px;margin:18px 0}
.zj-pager a,.zj-pager span{border:1px solid var(--line);background:var(--card);padding:5px 12px;border-radius:6px;font-size:14px}
.zj-pager .current{background:var(--ink);color:#fff;border-color:var(--ink)}

/* match page */
.zj-mh{background:var(--mh-bg);color:var(--mh-fg);border-radius:var(--radius);padding:18px 16px 16px;margin:6px 0 20px;text-align:center}
.zj-mh-top{font-size:13px;opacity:.85}
.zj-mh-vs{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:16px 0 8px}
.zj-mh-t{display:flex;flex-direction:column;align-items:center;gap:6px}
.zj-mh-t b{font-size:20px}
.zj-mh-t small{opacity:.7;font-size:12px}
.zj-mh .zj-st{color:inherit;opacity:.85}
.zj-mh-s{display:flex;flex-direction:column;align-items:center;gap:4px}
.zj-ht{font-size:12px;opacity:.8}
.zj-mh-venue{font-size:12px;opacity:.75}
@media(max-width:600px){.zj-mh-t b{font-size:16px}.zj-mh .zj-crest{width:52px;height:52px}.zj-score-big .zj-sc{font-size:32px}}
.zj-review{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.zj-rv-badge{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-weight:800;margin-bottom:10px}
.zj-rv-hit .zj-rv-badge{color:var(--win)}.zj-rv-miss .zj-rv-badge{color:var(--lose)}
.zj-rv-badge span{font-weight:400;color:var(--ink2);font-size:13px}
.zj-tl{list-style:none;position:relative;padding:4px 0}
.zj-tl::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:2px;background:var(--line)}
.zj-tl li{display:flex;gap:10px;align-items:center;width:50%;padding:5px 0;font-size:14px;position:relative}
.zj-tl-h{flex-direction:row-reverse;text-align:right;padding-right:22px!important}
.zj-tl-a{margin-left:50%;padding-left:22px!important}
.zj-tl em{font-style:normal;font-weight:800;color:var(--mute);font-variant-numeric:tabular-nums;min-width:36px}
.zj-tl b{margin:0 6px;font-size:12px;padding:1px 6px;border-radius:3px;background:var(--card2)}
.zj-ev-g b{background:var(--win);color:#fff}.zj-ev-y b{background:#f2c200;color:#222}.zj-ev-r b{background:var(--lose);color:#fff}
.zj-tl-mini{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);margin:-6px 0 14px;padding:8px}
.zj-stats{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 16px}
.zj-stat{display:grid;grid-template-columns:52px 1fr 52px;align-items:center;gap:10px;padding:5px 0;font-size:13px;font-variant-numeric:tabular-nums}
.zj-stat>span:last-child{text-align:right}
.zj-stat em{display:block;font-style:normal;text-align:center;color:var(--mute);font-size:12px}
.zj-stat i{display:block;height:6px;background:var(--lose);border-radius:3px;overflow:hidden}
.zj-stat i b{display:block;height:100%;background:var(--win)}
.zj-pred-grid{display:grid;grid-template-columns:220px 1fr;gap:16px;margin:12px 0}
@media(max-width:600px){.zj-pred-grid{grid-template-columns:1fr}}
.zj-analysis{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px;font-size:15px}
.zj-form2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.zj-form2>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:flex;flex-direction:column;gap:6px}
.zj-form2 small{color:var(--mute)}
@media(max-width:600px){.zj-form2{grid-template-columns:1fr}}
.zj-h2h-sum{margin:12px 0 6px;font-size:14px}
.zj-h2h{list-style:none;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.zj-h2h li{display:grid;grid-template-columns:90px 1fr 54px 1fr;gap:8px;padding:7px 12px;border-top:1px solid var(--line2);font-size:13px;align-items:center}
.zj-h2h li:first-child{border-top:0}
.zj-h2h li span:nth-child(2){text-align:right}
.zj-h2h li b{text-align:center}
.zj-h2h time{color:var(--mute)}
.zj-lineups{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.zj-lineups>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.zj-lineups h3{font-size:15px;display:flex;justify-content:space-between;margin-bottom:6px}
.zj-lineups h3 small{color:var(--mute);font-weight:400}
.zj-lineups ol{list-style:none;font-size:13px}
.zj-lineups li{padding:3px 0;display:flex;gap:8px}
.zj-lineups li i{font-style:normal;color:var(--mute);min-width:22px;text-align:right}
@media(max-width:600px){.zj-lineups{grid-template-columns:1fr}}

/* tables & misc */
.zj-tbl-wrap{overflow-x:auto;background:var(--card);border:1px solid var(--line);border-radius:var(--radius)}
.zj-tbl{width:100%;border-collapse:collapse;font-size:13px;min-width:520px}
.zj-tbl th{background:var(--card2);color:var(--mute);font-weight:600;text-align:left;padding:9px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.zj-tbl td{padding:9px 12px;border-bottom:1px solid var(--line2)}
.zj-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:22px}
.zj-kpis div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;text-align:center}
.zj-kpis b{display:block;font-size:26px;color:var(--acc);font-variant-numeric:tabular-nums}
.zj-kpis small{color:var(--mute);font-size:12px}
@media(max-width:600px){.zj-kpis{grid-template-columns:1fr 1fr}}
.zj-faq details{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:11px 16px;margin-bottom:8px}
.zj-faq summary{font-weight:700;cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:10px}
.zj-faq summary::-webkit-details-marker{display:none}
.zj-faq summary::after{content:"+";color:var(--acc);font-weight:900}
.zj-faq details[open] summary::after{content:"−"}
.zj-faq details p{margin:8px 0 0;font-size:14px;color:var(--ink2)}
.zj-intro .zj-prose{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;font-size:14.5px;color:var(--ink2)}
.zj-empty{text-align:center;padding:60px 16px}
.zj-empty .zj-kwnav{justify-content:center;margin:16px 0}
.zj-empty .zj-search{display:flex;margin:12px auto;max-width:360px}
.zj-empty-s{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius);padding:22px;text-align:center;color:var(--mute);font-size:14px}
.zj-lg2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:26px}
@media(max-width:700px){.zj-lg2{grid-template-columns:1fr}}
.zj-lg-h{display:flex;gap:14px;align-items:center;margin:6px 0 16px}
.zj-lg-h img{background:#fff;border-radius:10px;padding:4px}
.zj-lgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-bottom:26px}
.zj-lcard{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:grid;grid-template-columns:36px 1fr;gap:2px 10px;align-items:center}
.zj-lcard img{grid-row:span 2;background:#fff;border-radius:6px}
.zj-lcard small{color:var(--mute);font-size:11px}

/* landing modules */
.zj-applead{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:center;margin:8px 0 28px}
@media(max-width:700px){.zj-applead{grid-template-columns:1fr}.zj-phone{margin:0 auto}}
.zj-phone{width:230px;border-radius:34px;background:#111;padding:10px;box-shadow:0 18px 40px rgba(0,0,0,.25)}
.zj-phone-sc{background:var(--bg);border-radius:26px;overflow:hidden;min-height:400px;display:flex;flex-direction:column;font-size:12px}
.zj-phone-top{background:var(--hd-bg);color:var(--hd-fg);font-weight:900;text-align:center;padding:16px 0 10px;font-family:var(--font-h);font-size:16px}
.zj-phone-row{display:grid;grid-template-columns:1fr 56px 1fr;align-items:center;gap:4px;padding:9px 8px;border-bottom:1px solid var(--line);background:var(--card)}
.zj-phone-row span{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.zj-phone-row span:first-child{text-align:right}
.zj-phone-row .zj-sc{font-size:13px}
.zj-phone-tab{margin-top:auto;display:flex;justify-content:space-around;padding:10px 0;background:var(--card);border-top:1px solid var(--line);color:var(--mute)}
.zj-phone-tab i{font-style:normal}
.zj-feats{list-style:none;display:grid;gap:10px;margin-bottom:16px}
.zj-feats li{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px;font-size:14px;color:var(--ink2)}
.zj-feats b{display:block;color:var(--ink)}
.zj-qrbox{display:flex;gap:20px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
#zj-qr{width:160px;height:160px;flex:none;background:#fff}
@media(max-width:600px){.zj-qrbox{flex-direction:column;text-align:center}}
.zj-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.zj-steps>div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.zj-steps h3{font-size:16px;margin-bottom:8px}
.zj-steps ol{padding-left:1.2em;font-size:14px;color:var(--ink2)}
@media(max-width:760px){.zj-steps{grid-template-columns:1fr}}
.zj-login{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:26px}
.zj-login-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.zj-login-card h2{font-size:20px;margin-bottom:8px}
@media(max-width:700px){.zj-login{grid-template-columns:1fr}}
.zj-entry{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.zj-entry a{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;display:flex;flex-direction:column}
.zj-entry a:hover{border-color:var(--acc)}
.zj-entry small{color:var(--mute);font-size:12px}
.zj-entry-s{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}
.zj-entry-s a{padding:10px;text-align:center}

/* footer */
.zj-ft{background:var(--ft-bg);color:var(--ft-fg);font-size:13px;padding:30px 0 96px}
.zj-ft a:hover{color:#fff}
.zj-ft-kw{border-bottom:1px solid var(--ft-line);padding-bottom:18px;margin-bottom:22px}
.zj-ft-kw h2{font-size:15px;color:#fff;margin-bottom:10px}
.zj-ft .zj-kwnav a{background:transparent;border-color:var(--ft-line);color:var(--ft-fg)}
.zj-ft-cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:24px}
@media(max-width:760px){.zj-ft-cols{grid-template-columns:1fr 1fr}.zj-ft-about{grid-column:1/-1}}
.zj-ft h3{color:#fff;font-size:14px;margin-bottom:10px}
.zj-ft ul{list-style:none}
.zj-ft li{margin-bottom:6px}
.zj-ft-logo{font-family:var(--font-h);font-size:22px;color:#fff;font-weight:900;margin-bottom:8px}
.zj-disc{font-size:12px;opacity:.75}
.zj-copy{border-top:1px solid var(--ft-line);margin-top:22px;padding-top:14px;font-size:12px;opacity:.8}
.zj-tabbar{display:none}
.zj-box .zj-plist{padding:4px 16px 10px}

/* ===== bottom register ad bar ===== */
.zj-adbar{position:fixed;left:0;right:0;bottom:0;z-index:70;background:var(--ad-bg,linear-gradient(100deg,var(--acc),var(--acc2)));color:#fff;box-shadow:0 -6px 20px rgba(0,0,0,.18);transform:translateY(110%);transition:transform .6s cubic-bezier(.2,1.2,.4,1);padding-bottom:env(safe-area-inset-bottom)}
.zj-adbar.zj-show{transform:none}
.zj-adbar[hidden]{display:none}
.zj-adbar-in{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:center;gap:14px;min-height:56px;padding:6px 48px 6px 16px}
.zj-adbar-ic{font-size:22px;animation:zj-bounce 1.6s infinite}
.zj-adbar-t{font-weight:700;font-size:15px;text-shadow:0 1px 2px rgba(0,0,0,.15)}
.zj-adbar-b{position:relative;overflow:hidden;flex:none;background:#fff;color:var(--acc)!important;font-weight:900;font-size:15px;padding:8px 22px;border-radius:999px;box-shadow:0 4px 14px rgba(0,0,0,.18);animation:zj-pulse 1.8s ease-in-out infinite}
.zj-adbar-b::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,200,120,.6),transparent);transform:skewX(-20deg);animation:zj-shine 2.4s ease-in-out infinite}
.zj-adbar-b:hover{color:var(--acc)!important;animation-play-state:paused}
@keyframes zj-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.07)}}
.zj-adbar-x{position:absolute;right:10px;top:50%;transform:translateY(-50%);width:30px;height:30px;border-radius:50%;border:0;background:rgba(0,0,0,.18);color:#fff;font-size:18px;line-height:1;cursor:pointer}
.zj-adbar-x:hover{background:rgba(0,0,0,.35)}
.zj-app .zj-adbar{bottom:0}
@media(max-width:760px){.zj-app .zj-adbar{bottom:calc(58px + env(safe-area-inset-bottom))}.zj-adbar-in{gap:10px;padding:6px 44px 6px 10px}.zj-adbar-t{font-size:13px;line-height:1.35}.zj-adbar-ic{display:none}.zj-adbar-b{padding:7px 14px;font-size:14px}}
body.zj-has-ad .zj-ft{padding-bottom:150px}
@media(prefers-reduced-motion:reduce){.zj-adbar,.zj-adbar-b,.zj-adbar-b::before,.zj-adbar-ic,.zj-am-logo{animation:none!important;transition:none!important}}
@keyframes zj-bounce{0%,100%{transform:translateY(0)}45%{transform:translateY(-6px)}}

/* ===== skin: royal (紫金之路) ===== */
:root{--font:"PingFang SC","Microsoft YaHei","Noto Sans SC",sans-serif;--font-h:"Songti SC","STZhongsong","Noto Serif SC",serif;
--bg:#f4f2f9;--card:#ffffff;--card2:#f8f6fc;--ink:#1d1530;--ink2:#433a5a;--mute:#857d99;--line:#e4dfef;--line2:#efebf6;
--acc:#6b2fd6;--acc-soft:#efe7fd;--acc2:#d4a72c;--acc2-soft:#fbf3dc;--win:#2a9d6b;--draw:#9a93ad;--lose:#d64561;
--hd-bg:linear-gradient(100deg,#1d0f3d 0%,#3b1a7a 55%,#5a28b0 100%);--hd-fg:#fff;--nav-bg:transparent;--nav-fg:#e8e0ff;--ft-bg:#140b2b;--ft-fg:#a99fc4;--ft-line:#2a1d4d;
--mh-bg:linear-gradient(120deg,#1d0f3d,#4a1f99);--mh-fg:#fff;--radius:14px;--shadow:0 6px 24px rgba(59,26,122,.08);
--pick-bg:linear-gradient(120deg,#3b1a7a,#6b2fd6);--search-btn:#6b2fd6;--sec-bd:1px solid #e4dfef;--btn-r:999px;--av-bg:#6b2fd6;--star:#d4a72c}
.zj-royal .zj-hd-in{min-height:66px}
.zj-royal .zj-hd-nav{flex:1;min-width:0}
.zj-royal .zj-nav{justify-content:center}
.zj-royal .zj-nav a{padding:21px 12px 18px}
.zj-royal .zj-nav a.zj-on{color:var(--acc2);border-bottom-color:var(--acc2)}
.zj-royal .zj-logo-mark em{color:var(--acc2)}
.zj-royal .zj-logo-tag{display:none}
:root{--btn-login-bg:rgba(255,255,255,.12);--btn-login-fg:#fff;--btn-login-bd:rgba(255,255,255,.28);--btn-reg-1:#f5d77a;--btn-reg-2:#d4a72c;--btn-reg-fg:#2b1260}
.zj-royal .zj-signup{text-shadow:none}
.zj-royal .zj-subbar{background:rgba(0,0,0,.22)}
.zj-royal .zj-subbar .zj-wrap{display:flex;gap:6px;overflow-x:auto;padding-top:8px;padding-bottom:8px;scrollbar-width:none}
.zj-royal .zj-subbar a{font-size:12px;color:#e8e0ff;border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:2px 12px;white-space:nowrap}
.zj-royal .zj-subbar a:hover{background:var(--acc2);color:#1d0f3d;border-color:var(--acc2)}
.zj-royal .zj-sec-h h2::before{background:linear-gradient(var(--acc),var(--acc2));width:4px}
.zj-royal .zj-card{border:0}
.zj-royal .zj-card-top{background:transparent}
.zj-royal .zj-tabs button.zj-on,.zj-royal .zj-dates a.zj-on,.zj-royal .zj-pager .current{background:var(--acc);border-color:var(--acc)}
.zj-royal .zj-stand tr:nth-child(-n+4) .zj-rk{background:var(--acc)}
.zj-royal .zj-box{border:0}
.zj-royal .zj-h1{font-weight:900}
@media(max-width:980px){.zj-royal .zj-hd-in{flex-wrap:wrap;gap:0 12px;padding-top:8px}.zj-royal .zj-hd-nav{order:3;flex-basis:100%}.zj-royal .zj-nav{justify-content:flex-start}.zj-royal .zj-nav a{padding:10px 12px}}
