/* Reference: http://diguoaii3.jianzhanzj.com/ ; layout rules preserved, business data supplied by Go. */
/* ══════════════════════════════════════════════════════════════════
   FILE: /skin/jf/css/style.css  （炽焰主题 · 正式完整版）
   = 预览版全部样式 + 子页面样式(append) 合并为一个文件
   已适配重写版模板结构：新闻/视频/问答/球队/球员卡片均为
   <article><a>…</a></article> 嵌套（利于SEO），新增 >a 布局规则
   全站零 emoji，图标均为内联 SVG / CSS 绘制
   ══════════════════════════════════════════════════════════════════ */
:root{
  --jf-bg:#0d0907; --jf-panel:#171010; --jf-panel2:#1d1412; --jf-line:rgba(255,255,255,.075);
  --jf-txt:#f6ece4; --jf-sub:#a2918a; --jf-fire:#ff6a1a; --jf-ember:#e6392e;
  --jf-gold:#ffc53d; --jf-blue:#5a9cff; --jf-red:#ff3b5c; --jf-green:#00ffa3;
  --jf-radius:16px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans SC",-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;
  background:
    radial-gradient(1100px 480px at 85% -8%, rgba(255,106,26,.10), transparent 60%),
    radial-gradient(900px 420px at -12% 18%, rgba(230,57,46,.08), transparent 60%),
    radial-gradient(700px 400px at 50% 110%, rgba(255,197,61,.05), transparent 65%),
    var(--jf-bg);
  color:var(--jf-txt); font-size:14px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
img{max-width:100%;display:block}
button{font-family:inherit}
.jf-num{font-family:"Oswald",sans-serif;font-variant-numeric:tabular-nums}
.jf-wrap{max-width:1280px;margin:0 auto;padding:0 20px}
.jf-narrow{max-width:1000px;margin:0 auto}
section{scroll-margin-top:128px}

/* ═══════ 顶部滚动比分条 ═══════ */
.jf-top{position:sticky;top:0;z-index:900}
.jf-ticker{height:38px;background:#0a0605;border-bottom:1px solid var(--jf-line);display:flex;align-items:center;overflow:hidden}
.jf-ticker-tag{flex:none;display:flex;align-items:center;gap:7px;height:100%;padding:0 16px;background:linear-gradient(135deg,#2b1206,#1f0c04);border-right:1px solid var(--jf-line);font-weight:900;font-size:12px;letter-spacing:2px;color:var(--jf-gold)}
.jf-ticker-tag i{width:8px;height:8px;border-radius:50%;background:var(--jf-red);animation:jfPulse 1.1s infinite}
@keyframes jfPulse{0%,100%{box-shadow:0 0 0 0 rgba(255,59,92,.6)}50%{box-shadow:0 0 0 6px rgba(255,59,92,0)}}
.jf-ticker-view{flex:1;overflow:hidden;position:relative;-webkit-mask-image:linear-gradient(90deg,transparent,#000 3%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 3%,#000 92%,transparent)}
.jf-ticker-track{display:flex;width:max-content;animation:jfScroll 46s linear infinite}
.jf-ticker-view:hover .jf-ticker-track{animation-play-state:paused}
@keyframes jfScroll{to{transform:translateX(-50%)}}
.jf-tk-item{display:flex;align-items:center;gap:9px;padding:0 20px;height:37px;border-right:1px dashed rgba(255,255,255,.06);font-size:12.5px;white-space:nowrap;transition:background .2s}
.jf-tk-item:hover{background:rgba(255,106,26,.06)}
.jf-tk-league{color:var(--jf-sub);font-size:11px;padding:1px 7px;border:1px solid var(--jf-line);border-radius:20px;flex:none}
.jf-tk-team{font-weight:700}
.jf-tk-score{color:var(--jf-gold);font-weight:700;letter-spacing:1px;padding:1px 8px;border-radius:6px;background:rgba(255,197,61,.08);transition:background .3s;flex:none}
.jf-tk-clock{color:var(--jf-fire);font-size:11.5px;font-family:"Oswald",sans-serif;flex:none}
.jf-tk-clock.jf-c-soon{color:var(--jf-blue)}
.jf-tk-clock.jf-c-ft{color:var(--jf-sub)}

/* ═══════ 主导航 ═══════ */
.jf-header{background:rgba(18,12,9,.9);backdrop-filter:blur(14px);border-bottom:1px solid var(--jf-line);transition:box-shadow .3s}
.jf-header.jf-stuck{box-shadow:0 8px 30px rgba(0,0,0,.55)}
.jf-header-in{max-width:1280px;margin:0 auto;padding:0 20px;height:66px;display:flex;align-items:center;gap:22px}
.jf-logo{display:flex;align-items:center;gap:10px;flex:none}
.jf-logo-mark{width:38px;height:38px;border-radius:11px;background:linear-gradient(135deg,#ff9a3d,var(--jf-fire) 55%,var(--jf-ember));display:flex;align-items:center;justify-content:center;box-shadow:0 4px 18px rgba(255,106,26,.4)}
.jf-logo-mark svg{width:20px;height:20px}
.jf-logo-txt b{display:block;font-size:18px;font-weight:900;letter-spacing:1px;line-height:1.15;white-space:nowrap}
.jf-logo-txt b em{font-style:normal;background:linear-gradient(90deg,var(--jf-fire),var(--jf-gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.jf-logo-txt span{display:block;font-size:9px;letter-spacing:3.5px;color:var(--jf-sub);font-family:"Oswald",sans-serif}
.jf-nav{display:flex;gap:2px;flex:1;overflow-x:auto;scrollbar-width:none}
.jf-nav::-webkit-scrollbar{display:none}
.jf-nav a{flex:none;padding:8px 12px;border-radius:10px;font-size:14px;font-weight:500;color:#d3c2b6;transition:.2s;position:relative;white-space:nowrap}
.jf-nav a:hover{color:#fff;background:rgba(255,255,255,.05)}
.jf-nav a.jf-on{color:var(--jf-fire);background:rgba(255,106,26,.1);font-weight:700}
.jf-nav a.jf-on::after{content:"";position:absolute;left:12px;right:12px;bottom:2px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--jf-fire),var(--jf-gold))}
.jf-search{flex:none;position:relative;width:200px}
.jf-search form{display:flex;align-items:center;background:#120c09;border:1px solid var(--jf-line);border-radius:22px;padding:0 6px 0 14px;height:38px;transition:.25s}
.jf-search form:focus-within{border-color:rgba(255,106,26,.55);box-shadow:0 0 0 3px rgba(255,106,26,.12)}
.jf-search input{flex:1;background:none;border:none;outline:none;color:var(--jf-txt);font-size:13px;width:100%}
.jf-search input::placeholder{color:#6e5d53}
.jf-search button{flex:none;width:28px;height:28px;border:none;border-radius:50%;background:linear-gradient(135deg,var(--jf-fire),var(--jf-ember));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.jf-sug{position:absolute;top:calc(100% + 6px);left:0;right:0;background:#1a1210;border:1px solid var(--jf-line);border-radius:12px;overflow:hidden;display:none;box-shadow:0 16px 40px rgba(0,0,0,.6);z-index:60;text-align:left}
.jf-sug.jf-show{display:block}
.jf-sug li{padding:9px 15px;font-size:13px;color:#d3c2b6;cursor:pointer;display:flex;justify-content:space-between;gap:10px}
.jf-sug li:hover{background:rgba(255,106,26,.1);color:#fff}
.jf-sug li span{color:var(--jf-sub);font-size:11px;flex:none}
.jf-burger{display:none;flex:none;width:40px;height:40px;border:1px solid var(--jf-line);border-radius:10px;background:none;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px}
.jf-burger i{width:18px;height:2px;background:var(--jf-txt);border-radius:2px;transition:.3s}

/* ═══════ 通用区块头 ═══════ */
.jf-sec{padding:44px 0 8px}
.jf-sec-head{display:flex;align-items:flex-end;gap:14px;margin-bottom:22px;flex-wrap:wrap}
.jf-sec-head h2{font-size:24px;font-weight:900;letter-spacing:1px;display:flex;align-items:center;gap:10px}
.jf-sec-head h2::before{content:"";width:5px;height:22px;border-radius:3px;background:linear-gradient(180deg,var(--jf-fire),var(--jf-gold))}
.jf-sec-head .jf-en{font-family:"Oswald",sans-serif;font-size:11px;letter-spacing:3px;color:#6e5a4d;text-transform:uppercase;padding-bottom:4px}
.jf-sec-head .jf-more{margin-left:auto;font-size:13px;color:var(--jf-sub);padding-bottom:4px;transition:.2s}
.jf-sec-head .jf-more:hover{color:var(--jf-fire)}
.jf-empty{padding:48px 20px;text-align:center;color:var(--jf-sub);font-size:14px;grid-column:1/-1}

/* ═══════ HERO：焦点战 + 侧栏 ═══════ */
.jf-hero{display:grid;grid-template-columns:1fr 330px;gap:20px;padding-top:26px}
.jf-spot{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--jf-line);min-height:390px;display:flex;flex-direction:column;
  background:
    radial-gradient(700px 300px at 20% -10%, rgba(255,106,26,.2), transparent 65%),
    radial-gradient(600px 320px at 85% 0%, rgba(230,57,46,.18), transparent 60%),
    radial-gradient(500px 260px at 50% 115%, rgba(255,197,61,.12), transparent 70%),
    linear-gradient(180deg,#1c1109,#100a06)}
.jf-spot::before{content:"";position:absolute;inset:0;opacity:.45;background:repeating-linear-gradient(90deg, rgba(255,255,255,.025) 0 64px, transparent 64px 128px);-webkit-mask-image:linear-gradient(180deg,transparent,#000 60%);mask-image:linear-gradient(180deg,transparent,#000 60%)}
.jf-spot::after{content:"";position:absolute;left:50%;top:52%;width:230px;height:230px;transform:translate(-50%,-50%);border:1.5px solid rgba(255,255,255,.07);border-radius:50%}
.jf-spot-in{position:relative;z-index:2;padding:22px 26px;display:flex;flex-direction:column;flex:1}
.jf-spot-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.jf-chip{font-size:11.5px;font-weight:700;padding:3px 12px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid var(--jf-line);color:#d8c8bc}
.jf-chip a{color:inherit}
.jf-chip a:hover{color:var(--jf-fire)}
.jf-chip-live{background:rgba(255,59,92,.15);border-color:rgba(255,59,92,.45);color:#ff8ba0;display:flex;align-items:center;gap:6px}
.jf-chip-live i{width:7px;height:7px;border-radius:50%;background:var(--jf-red);animation:jfPulse 1.1s infinite}
.jf-spot-round{margin-left:auto;font-size:12px;color:var(--jf-sub);font-weight:500}
.jf-spot-body{flex:1;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:26px 0}
.jf-spot-team{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.jf-spot-team b{font-size:20px;font-weight:900;letter-spacing:1px}
.jf-spot-team b a:hover{color:var(--jf-fire)}
.jf-spot-team>div>span{font-size:12px;color:var(--jf-sub)}
.jf-crest{width:64px;height:64px;border-radius:50%;background:linear-gradient(145deg,var(--c1),var(--c2));display:flex;align-items:center;justify-content:center;font-family:"Oswald",sans-serif;font-weight:700;font-size:20px;color:#fff;border:2px solid rgba(255,255,255,.22);box-shadow:0 8px 24px rgba(0,0,0,.5),inset 0 -6px 14px rgba(0,0,0,.3);letter-spacing:1px;flex:none}
.jf-crest.jf-img{padding:0;overflow:hidden;background:#0d0907}
.jf-crest.jf-img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.jf-team-img{width:86px;height:86px;border-radius:50%;object-fit:cover;border:2px solid rgba(255,255,255,.22);box-shadow:0 8px 24px rgba(0,0,0,.5);background:#0d0907;flex:none}
.jf-spot-mid{text-align:center;min-width:210px}
.jf-scorebox{display:inline-flex;align-items:center;gap:14px;padding:10px 22px;border-radius:16px;background:rgba(8,5,3,.62);border:1px solid var(--jf-line);backdrop-filter:blur(6px)}
.jf-scorebox b{font-family:"Oswald",sans-serif;font-weight:700;font-size:44px;line-height:1;color:#fff;text-shadow:0 2px 16px rgba(255,106,26,.45)}
.jf-scorebox i{font-style:normal;font-size:26px;color:#5c463a;font-family:"Oswald",sans-serif}
.jf-spot-clock{margin-top:12px;font-family:"Oswald",sans-serif;font-size:17px;font-weight:500;color:var(--jf-gold);letter-spacing:2px}
.jf-spot-clock small{font-size:11px;color:var(--jf-sub);letter-spacing:1px;margin-left:6px;font-family:"Noto Sans SC",sans-serif}
.jf-spot-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.jf-spot-venue{font-size:12px;color:var(--jf-sub);margin-right:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.jf-spot-venue svg{color:var(--jf-gold)}
.jf-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:11px 26px;border-radius:26px;font-size:14px;font-weight:700;cursor:pointer;transition:.25s;border:none;letter-spacing:1px}
.jf-btn-live{background:linear-gradient(135deg,#ff8a3d,var(--jf-fire) 50%,var(--jf-ember));color:#fff;box-shadow:0 6px 22px rgba(255,106,26,.4)}
.jf-btn-live:hover{transform:translateY(-2px);box-shadow:0 10px 30px rgba(255,106,26,.55)}
.jf-btn-gold{background:linear-gradient(135deg,var(--jf-gold),#e8940a);color:#241500;box-shadow:0 6px 22px rgba(255,197,61,.3)}
.jf-btn-gold:hover{transform:translateY(-2px)}
.jf-btn-ghost{background:rgba(255,255,255,.05);border:1px solid var(--jf-line);color:#d3c2b6}
.jf-btn-ghost:hover{border-color:rgba(255,106,26,.55);color:var(--jf-fire)}
.jf-btn-sm{padding:7px 16px;font-size:12.5px;border-radius:20px}

/* 侧栏 */
.jf-rail{display:flex;flex-direction:column;gap:18px;min-width:0}
.jf-card{background:linear-gradient(180deg,var(--jf-panel2),var(--jf-panel));border:1px solid var(--jf-line);border-radius:var(--jf-radius);overflow:hidden}
.jf-card-head{display:flex;align-items:center;gap:8px;padding:14px 16px 10px;font-size:15px;font-weight:900;letter-spacing:1px}
.jf-card-head em{font-style:normal;color:var(--jf-fire);display:inline-flex;align-items:center}
.jf-card-head .jf-en{margin-left:auto;font-family:"Oswald",sans-serif;font-size:10px;letter-spacing:2px;color:#6e5a4d;font-weight:500}
.jf-hot li{padding:0 16px}
.jf-hot li a{padding:9px 0;align-items:flex-start}
.jf-hot li:hover{background:rgba(255,255,255,.03)}
.jf-hot li:hover .jf-hot-t{color:var(--jf-fire)}
.jf-hot-rank{flex:none;width:20px;height:20px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-family:"Oswald",sans-serif;font-weight:700;font-size:12px;background:rgba(255,255,255,.06);color:var(--jf-sub);margin-top:1px}
.jf-hot li:nth-child(1) .jf-hot-rank{background:linear-gradient(135deg,#ff5f4d,#e62e2e);color:#fff}
.jf-hot li:nth-child(2) .jf-hot-rank{background:linear-gradient(135deg,#ff9a3d,#f0721a);color:#fff}
.jf-hot li:nth-child(3) .jf-hot-rank{background:linear-gradient(135deg,#ffc53d,#e8a800);color:#241a00}
.jf-hot-t{font-size:13px;line-height:1.45;color:#dccdc1;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:.2s;flex:1;min-width:0}
.jf-hot-heat{margin-left:auto;flex:none;font-family:"Oswald",sans-serif;font-size:11px;color:#6e5d53}
.jf-hot-pad{padding-bottom:10px}
.jf-leagues{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:4px 14px 16px}
.jf-league-a{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 4px;border-radius:12px;border:1px solid transparent;transition:.22s}
.jf-league-a:hover{background:rgba(255,106,26,.08);border-color:rgba(255,106,26,.3);transform:translateY(-2px)}
.jf-league-dot{width:34px;height:34px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:"Oswald",sans-serif;font-weight:700;font-size:12px;color:#fff;background:linear-gradient(145deg,var(--c1),var(--c2));box-shadow:inset 0 -4px 8px rgba(0,0,0,.3);flex:none}
.jf-league-a span{font-size:11.5px;color:#bda99b;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* 迷你比分列表（侧栏/详情页） */
.jf-mini-list{padding:4px 0 8px}
.jf-mini-list .jf-tk-item{height:46px;width:100%;border-right:none;border-bottom:1px dashed rgba(255,255,255,.05);padding:0 16px}
.jf-mini-list .jf-tk-item:last-child{border-bottom:none}
.jf-mini-list .jf-tk-team{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-mini-list .jf-tk-team:first-of-type{text-align:right}

/* 积分榜小组件（预留） */
.jf-table{width:100%;border-collapse:collapse;font-size:12.5px}
.jf-table th{color:#6e5d53;font-weight:500;padding:6px;text-align:center;border-bottom:1px solid var(--jf-line);font-size:11px}
.jf-table th:first-child,.jf-table td:first-child{padding-left:16px;text-align:left}
.jf-table td{padding:7px 6px;text-align:center;color:#d3c2b6;border-bottom:1px solid rgba(255,255,255,.03)}
.jf-table tr:last-child td{border-bottom:none}
.jf-table .jf-tt{display:flex;align-items:center;gap:8px;font-weight:700;color:var(--jf-txt)}
.jf-table .jf-pts{font-family:"Oswald",sans-serif;font-weight:700;color:var(--jf-gold);font-size:14px}
.jf-mini-crest{flex:none;width:18px;height:18px;border-radius:50%;background:linear-gradient(145deg,var(--c1),var(--c2));font-family:"Oswald",sans-serif;font-size:8px;font-weight:700;color:#fff;display:flex;align-items:center;justify-content:center}
.jf-idx{color:#6e5d53;font-family:"Oswald",sans-serif;width:26px}

/* ═══════ 直播赛程区 ═══════ */
.jf-chips{display:flex;gap:8px;flex-wrap:wrap}
.jf-chip-btn{padding:7px 18px;border-radius:22px;border:1px solid var(--jf-line);background:rgba(255,255,255,.03);color:#bda99b;font-size:13px;font-weight:700;cursor:pointer;transition:.22s}
.jf-chip-btn:hover{border-color:rgba(255,106,26,.45);color:#fff}
.jf-chip-btn.jf-on{background:linear-gradient(135deg,rgba(255,106,26,.22),rgba(255,106,26,.08));border-color:var(--jf-fire);color:var(--jf-fire)}
.jf-chip-btn small{font-family:"Oswald",sans-serif;margin-left:4px;opacity:.7}
.jf-match-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.jf-match{background:linear-gradient(180deg,var(--jf-panel2),var(--jf-panel));border:1px solid var(--jf-line);border-radius:var(--jf-radius);padding:16px 18px;display:flex;flex-direction:column;gap:12px;transition:.25s;position:relative;overflow:hidden}
.jf-match::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,106,26,.6),transparent);opacity:0;transition:.3s}
.jf-match:hover{transform:translateY(-4px);border-color:rgba(255,106,26,.35);box-shadow:0 14px 34px rgba(0,0,0,.5)}
.jf-match:hover::before{opacity:1}
.jf-match.jf-hide{display:none}
.jf-match-top{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--jf-sub)}
.jf-match-league{font-weight:700;color:#bda99b}
.jf-match-league a:hover{color:var(--jf-fire)}
.jf-badge{margin-left:auto;display:flex;align-items:center;gap:6px;font-size:11px;font-weight:900;padding:3px 10px;border-radius:16px;letter-spacing:1px;flex:none}
.jf-badge i{width:6px;height:6px;border-radius:50%;background:currentColor;animation:jfPulse2 1.1s infinite}
@keyframes jfPulse2{50%{opacity:.35}}
.jf-b-live{color:var(--jf-red);background:rgba(255,59,92,.13)}
.jf-b-soon{color:var(--jf-blue);background:rgba(90,156,255,.13)}
.jf-b-soon i,.jf-b-ft i{animation:none}
.jf-b-ft{color:var(--jf-sub);background:rgba(255,255,255,.06)}
.jf-teamrow{display:flex;align-items:center;gap:11px}
.jf-teamrow .jf-crest{width:38px;height:38px;font-size:13px}
.jf-teamrow b{font-size:14.5px;font-weight:700;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-tscore{font-family:"Oswald",sans-serif;font-weight:700;font-size:26px;color:#fff;min-width:26px;text-align:center}
.jf-match.jf-st-soon-card .jf-tscore{color:#5c463a}
.jf-tscore.jf-win{color:var(--jf-gold)}
.jf-match-bar{height:3px;border-radius:3px;background:rgba(255,255,255,.07);overflow:hidden}
.jf-match-bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--jf-fire),var(--jf-gold));transition:width 1s linear}
.jf-match-clock{font-family:"Oswald",sans-serif;font-size:12.5px;color:var(--jf-fire);letter-spacing:1px;text-align:center;margin-top:-4px}
.jf-match-clock.jf-c-soon{color:var(--jf-blue)}
.jf-match-clock.jf-c-ft{color:var(--jf-sub)}
.jf-match-foot{display:flex;gap:8px;margin-top:2px}
.jf-match-foot .jf-btn{flex:1}

/* 比分变化绿光（方案二约定） */
@keyframes jfGlow{
  0%{box-shadow:0 0 0 0 rgba(0,255,163,0);background:rgba(0,255,163,0)}
  15%{box-shadow:0 0 26px 4px rgba(0,255,163,.5);background:rgba(0,255,163,.13)}
  100%{box-shadow:0 0 0 0 rgba(0,255,163,0);background:transparent}
}
.jf-flash{animation:jfGlow 1.8s ease-out;border-radius:14px}
.jf-scorebox.jf-flash,.jf-tk-score.jf-flash{animation:jfGlow 1.8s ease-out}

/* ═══════ 视频区（集锦/录像/视频） ═══════ */
.jf-tabs{display:flex;gap:6px;background:rgba(255,255,255,.04);padding:5px;border-radius:26px;border:1px solid var(--jf-line)}
.jf-tab{padding:8px 24px;border-radius:20px;border:none;background:none;color:var(--jf-sub);font-size:14px;font-weight:700;cursor:pointer;transition:.22s}
.jf-tab.jf-on{background:linear-gradient(135deg,var(--jf-fire),var(--jf-ember));color:#fff;box-shadow:0 4px 16px rgba(255,106,26,.35)}
.jf-vid-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.jf-vid{border-radius:var(--jf-radius);overflow:hidden;background:var(--jf-panel);border:1px solid var(--jf-line);transition:.25s;cursor:pointer}
.jf-vid>a{display:block;height:100%}
.jf-vid:hover{transform:translateY(-4px);border-color:rgba(255,106,26,.35);box-shadow:0 14px 34px rgba(0,0,0,.5)}
.jf-thumb{position:relative;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.jf-thumb::before{content:"";position:absolute;inset:0;opacity:.5;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 26px,transparent 26px 52px)}
.jf-thumb::after{content:"";position:absolute;inset:0;background:radial-gradient(300px 140px at 50% 0%,rgba(255,255,255,.14),transparent 70%)}
.jf-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.jf-th-a{background:linear-gradient(140deg,#3d1c08,#241108 55%,#171031)}
.jf-th-b{background:linear-gradient(140deg,#4a1410,#2a0d0c 55%,#1d1030)}
.jf-th-c{background:linear-gradient(140deg,#402c0a,#241a08 55%,#0f1c36)}
.jf-th-d{background:linear-gradient(140deg,#33210f,#1d130a 55%,#101f2c)}
.jf-thumb svg{width:52px;height:52px;position:relative;z-index:1;opacity:.85;transition:.3s;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.jf-vid:hover .jf-thumb svg{transform:scale(1.14) rotate(8deg);opacity:1}
.jf-play{position:absolute;z-index:2;width:52px;height:52px;border-radius:50%;background:rgba(255,106,26,.92);display:flex;align-items:center;justify-content:center;opacity:0;transform:scale(.6);transition:.28s;box-shadow:0 6px 24px rgba(255,106,26,.5)}
.jf-play::before{content:"";border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #fff;margin-left:3px}
.jf-vid:hover .jf-play{opacity:1;transform:scale(1)}
.jf-vid-dur{position:absolute;right:10px;bottom:9px;z-index:2;font-family:"Oswald",sans-serif;font-size:12px;font-weight:500;background:rgba(0,0,0,.72);padding:2px 8px;border-radius:6px;color:#fff}
.jf-vid-league{position:absolute;left:10px;top:9px;z-index:2;font-size:10.5px;font-weight:700;background:rgba(255,106,26,.18);border:1px solid rgba(255,106,26,.5);color:#ffb066;padding:2px 9px;border-radius:12px;backdrop-filter:blur(4px);max-width:70%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-vid-info{padding:13px 15px 15px}
.jf-vid-info h3{font-size:14px;font-weight:700;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:42px;transition:.2s}
.jf-vid:hover .jf-vid-info h3{color:var(--jf-fire)}
.jf-vid-meta{display:flex;gap:12px;margin-top:9px;font-size:11.5px;color:var(--jf-sub);flex-wrap:wrap}
.jf-pane{display:none}
.jf-pane.jf-on{display:grid}

/* ═══════ 新闻 + 问答 ═══════ */
.jf-news-grid{display:grid;grid-template-columns:1fr 380px;gap:20px;align-items:start}
.jf-news-list{display:flex;flex-direction:column;gap:14px}
.jf-news-item{border-radius:var(--jf-radius);background:linear-gradient(180deg,var(--jf-panel2),var(--jf-panel));border:1px solid var(--jf-line);transition:.25s;cursor:pointer;padding:15px}
.jf-news-item>a{display:flex;gap:16px;min-width:0}
.jf-news-item:hover{transform:translateX(5px);border-color:rgba(255,106,26,.35)}
.jf-news-thumb{flex:none;width:148px;aspect-ratio:16/10;border-radius:11px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;background:linear-gradient(140deg,#3d1c08,#241108 55%,#171031)}
.jf-news-thumb::before{content:"";position:absolute;inset:0;opacity:.5;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 20px,transparent 20px 40px)}
.jf-news-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.jf-news-cat{position:absolute;left:8px;top:8px;z-index:2;font-size:10px;font-weight:900;padding:2px 8px;border-radius:10px;background:rgba(0,0,0,.6);color:var(--jf-gold);border:1px solid rgba(255,197,61,.4);max-width:88%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-news-body{flex:1;min-width:0;display:flex;flex-direction:column}
.jf-news-body h3{font-size:16px;font-weight:700;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:.2s}
.jf-news-item:hover h3{color:var(--jf-fire)}
.jf-news-body p{font-size:12.5px;color:var(--jf-sub);margin-top:5px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.jf-news-meta{margin-top:auto;padding-top:9px;display:flex;gap:10px;align-items:center;font-size:11.5px;color:#6e5d53;flex-wrap:wrap}
.jf-news-meta .jf-tag{color:var(--jf-blue);background:rgba(90,156,255,.12);padding:1px 9px;border-radius:10px;font-weight:700}
.jf-qa-item{display:flex;gap:12px;padding:13px 16px;border-bottom:1px solid rgba(255,255,255,.04);cursor:pointer;transition:.2s}
.jf-qa-item:last-of-type{border-bottom:none}
.jf-qa-item:hover{background:rgba(255,255,255,.03)}
.jf-qa-ico{flex:none;width:26px;height:26px;border-radius:8px;background:rgba(90,156,255,.15);color:var(--jf-blue);font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center}
.jf-qa-item b{display:block;font-size:13.5px;font-weight:700;line-height:1.5;transition:.2s}
.jf-qa-item:hover b{color:var(--jf-blue)}
.jf-qa-meta{font-size:11.5px;color:#6e5d53;margin-top:3px;display:flex;gap:10px;flex-wrap:wrap}
.jf-qa-meta em{font-style:normal;color:var(--jf-gold)}

/* ═══════ 球队 & 球员 ═══════ */
.jf-scroll-x{display:flex;gap:14px;overflow-x:auto;padding:4px 2px 14px;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#3a2a20 transparent}
.jf-scroll-x::-webkit-scrollbar{height:6px}
.jf-scroll-x::-webkit-scrollbar-thumb{background:#3a2a20;border-radius:4px}
.jf-team-card{flex:none;width:200px;scroll-snap-align:start;background:linear-gradient(180deg,var(--jf-panel2),var(--jf-panel));border:1px solid var(--jf-line);border-radius:var(--jf-radius);padding:20px 16px;text-align:center;transition:.25s;cursor:pointer}
.jf-team-card>a{display:block}
.jf-team-card:hover{transform:translateY(-5px);border-color:rgba(255,106,26,.4);box-shadow:0 14px 30px rgba(0,0,0,.5)}
.jf-team-card .jf-crest{margin:0 auto}
.jf-team-card b{font-size:16px;font-weight:900;display:block}
.jf-team-card .jf-lg{font-size:11px;color:var(--jf-fire);font-weight:700;margin-top:2px;display:block}
.jf-team-facts{margin-top:11px;font-size:11.5px;color:var(--jf-sub);display:flex;flex-direction:column;gap:4px;border-top:1px dashed var(--jf-line);padding-top:11px}
.jf-team-facts span{display:flex;justify-content:space-between;gap:8px}
.jf-team-facts em{font-style:normal;color:#bda99b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-star-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.jf-star{position:relative;border-radius:var(--jf-radius);overflow:hidden;border:1px solid var(--jf-line);background:linear-gradient(160deg,#2a1710,#150d09 60%);transition:.25s;cursor:pointer}
.jf-star>a{display:block}
.jf-star:hover{transform:translateY(-5px);border-color:rgba(255,106,26,.4);box-shadow:0 16px 36px rgba(0,0,0,.55)}
.jf-star-top{position:relative;height:118px;display:flex;align-items:center;justify-content:center;background:radial-gradient(240px 110px at 50% 110%, rgba(255,106,26,.22), transparent 70%),linear-gradient(180deg,#3a1d0e,#22120a)}
.jf-star-top::before{content:"";position:absolute;inset:0;opacity:.4;background:repeating-linear-gradient(115deg,rgba(255,255,255,.04) 0 18px,transparent 18px 36px)}
.jf-star-no{position:absolute;right:14px;top:4px;font-family:"Oswald",sans-serif;font-size:64px;font-weight:700;color:rgba(255,255,255,.08);line-height:1}
.jf-avatar{width:74px;height:74px;border-radius:50%;background:linear-gradient(145deg,var(--c1),var(--c2));display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:900;color:#fff;border:3px solid rgba(255,255,255,.25);box-shadow:0 8px 22px rgba(0,0,0,.5);position:relative;z-index:1}
.jf-star-pos{position:absolute;left:12px;top:12px;font-size:11px;font-weight:700;letter-spacing:1px;color:#241500;background:var(--jf-gold);padding:2px 9px;border-radius:10px;z-index:2}
.jf-star-body{padding:13px 16px 16px;text-align:center}
.jf-star-body b{font-size:17px;font-weight:900}
.jf-star-body .jf-club{font-size:12px;color:var(--jf-fire);font-weight:700;margin-top:2px}
.jf-star-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-top:12px}
.jf-star-stats div{background:rgba(255,255,255,.04);border:1px solid var(--jf-line);border-radius:9px;padding:6px 4px}
.jf-star-stats i{font-style:normal;display:block;font-size:10px;color:#6e5d53}
.jf-star-stats b{font-family:"Oswald",sans-serif;font-weight:500;font-size:13px;color:#ecdfd4}

/* ═══════ 搜索区 ═══════ */
.jf-searchzone{position:relative;border-radius:20px;overflow:hidden;border:1px solid var(--jf-line);padding:42px 30px 34px;text-align:center;
  background:
    radial-gradient(620px 280px at 50% -25%, rgba(255,106,26,.22), transparent 65%),
    radial-gradient(420px 220px at 88% 130%, rgba(255,197,61,.12), transparent 70%),
    radial-gradient(420px 220px at 8% 130%, rgba(230,57,46,.12), transparent 70%),
    linear-gradient(180deg,#1e120a,#110b07)}
.jf-searchzone::before{content:"";position:absolute;inset:0;opacity:.35;background:repeating-linear-gradient(90deg,rgba(255,255,255,.02) 0 60px,transparent 60px 120px);pointer-events:none}
.jf-sz-title{font-size:24px;font-weight:900;letter-spacing:1px;position:relative}
.jf-sz-title em{font-style:normal;background:linear-gradient(90deg,var(--jf-fire),var(--jf-gold));-webkit-background-clip:text;background-clip:text;color:transparent}
.jf-sz-sub{color:var(--jf-sub);font-size:13px;margin-top:5px;position:relative}
.jf-bigsearch{max-width:600px;margin:22px auto 0;display:flex;background:#0d0805;border:1px solid var(--jf-line);border-radius:32px;padding:6px;position:relative;transition:.25s;z-index:5}
.jf-bigsearch:focus-within{border-color:var(--jf-fire);box-shadow:0 0 0 4px rgba(255,106,26,.14)}
.jf-bigsearch input[type="text"]{flex:1;background:none;border:none;outline:none;color:var(--jf-txt);font-size:15px;padding:0 20px;min-width:0}
.jf-bigsearch input::placeholder{color:#6e5d53}
.jf-bigsearch button{flex:none;padding:12px 34px;border:none;border-radius:26px;background:linear-gradient(135deg,#ff8a3d,var(--jf-fire) 55%,var(--jf-ember));color:#fff;font-size:15px;font-weight:900;letter-spacing:2px;cursor:pointer;transition:.25s;display:flex;align-items:center;gap:7px}
.jf-bigsearch button:hover{box-shadow:0 6px 22px rgba(255,106,26,.5)}
.jf-hotkw{margin-top:24px;display:flex;flex-wrap:wrap;gap:9px;justify-content:center;align-items:center;position:relative}
.jf-hotkw-label{color:var(--jf-fire);font-weight:900;font-size:13px;display:flex;align-items:center;gap:5px;margin-right:3px}
.jf-kw{display:inline-flex;align-items:center;gap:6px;padding:6px 15px;border-radius:19px;background:rgba(255,255,255,.05);border:1px solid var(--jf-line);font-size:12.5px;color:#d3c2b6;cursor:pointer;transition:.22s}
.jf-kw:hover{border-color:var(--jf-fire);color:var(--jf-fire);transform:translateY(-2px);background:rgba(255,106,26,.08)}
.jf-kw i{font-style:normal;font-family:"Oswald",sans-serif;font-size:11px;font-weight:700;color:#6e5d53}
.jf-kw.jf-kw-hot{background:rgba(255,106,26,.1);border-color:rgba(255,106,26,.4);color:#ffb066}
.jf-kw.jf-kw-hot i{color:var(--jf-fire)}
.jf-sz-links{margin-top:22px;display:flex;gap:18px;justify-content:center;flex-wrap:wrap;position:relative;font-size:12.5px}
.jf-sz-links a{color:var(--jf-sub);transition:.2s}
.jf-sz-links a:hover{color:var(--jf-gold)}

/* ═══════ 热门问答网格 ═══════ */
.jf-qa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.jf-qcard{background:linear-gradient(180deg,var(--jf-panel2),var(--jf-panel));border:1px solid var(--jf-line);border-radius:var(--jf-radius);padding:17px 19px;display:flex;flex-direction:column;transition:.25s;cursor:pointer;position:relative;overflow:hidden}
.jf-qcard>a{display:flex;flex-direction:column;gap:11px;flex:1;min-width:0}
.jf-qcard::before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(90,156,255,.55),transparent);opacity:0;transition:.3s}
.jf-qcard:hover{transform:translateY(-4px);border-color:rgba(90,156,255,.35);box-shadow:0 14px 34px rgba(0,0,0,.5)}
.jf-qcard:hover::before{opacity:1}
.jf-qcard-top{display:flex;align-items:center;gap:8px}
.jf-qbadge{font-size:10.5px;font-weight:900;padding:2px 10px;border-radius:11px;letter-spacing:1px;flex:none}
.jf-q-solved{color:var(--jf-gold);background:rgba(255,197,61,.12);border:1px solid rgba(255,197,61,.4)}
.jf-q-open{color:var(--jf-blue);background:rgba(90,156,255,.12);border:1px solid rgba(90,156,255,.4)}


.jf-qtag{margin-left:auto;font-size:10.5px;font-weight:700;color:var(--jf-fire);background:rgba(255,106,26,.1);border:1px solid rgba(255,106,26,.3);padding:2px 10px;border-radius:11px;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-qcard h3{font-size:15px;font-weight:700;line-height:1.55;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:.2s}
.jf-qcard:hover h3{color:var(--jf-blue)}
.jf-qans{font-size:12.5px;color:var(--jf-sub);background:rgba(255,255,255,.035);border-left:2px solid rgba(90,156,255,.55);padding:9px 11px;border-radius:0 9px 9px 0;line-height:1.65;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jf-qans em{font-style:normal;color:var(--jf-blue);font-weight:900;margin-right:5px}
.jf-qmeta{margin-top:auto;display:flex;gap:14px;align-items:center;font-size:11.5px;color:#6e5d53;padding-top:11px;border-top:1px dashed var(--jf-line);flex-wrap:wrap}
.jf-qmeta b{font-family:"Oswald",sans-serif;color:var(--jf-gold);font-weight:500}
.jf-qmeta .jf-qgo{margin-left:auto;color:var(--jf-blue);font-weight:700;opacity:0;transform:translateX(-6px);transition:.25s}
.jf-qcard:hover .jf-qgo{opacity:1;transform:translateX(0)}

/* ═══════ 标签云 ═══════ */
.jf-tagcloud{display:flex;flex-wrap:wrap;gap:11px;padding:24px;background:linear-gradient(180deg,var(--jf-panel2),var(--jf-panel));border:1px solid var(--jf-line);border-radius:var(--jf-radius);align-items:center}
.jf-tagc{display:inline-flex;align-items:center;gap:5px;padding:6px 17px;border-radius:21px;border:1px solid var(--jf-line);background:rgba(255,255,255,.035);color:#cbb9ab;font-weight:500;transition:.22s;cursor:pointer;line-height:1.4}
.jf-tagc sup{font-family:"Oswald",sans-serif;font-size:9px;color:#6e5d53}
.jf-tagc:hover{transform:translateY(-3px);color:#fff;border-color:var(--jf-fire)}
.jf-t-xl{font-size:18px;font-weight:900;padding:8px 22px}
.jf-t-lg{font-size:15.5px;font-weight:700}
.jf-t-md{font-size:13.5px}
.jf-t-sm{font-size:12px}
.jf-tc-fire{color:#ffb066;border-color:rgba(255,106,26,.45);background:rgba(255,106,26,.1)}
.jf-tc-fire:hover{box-shadow:0 6px 18px rgba(255,106,26,.3)}
.jf-tc-gold{color:var(--jf-gold);border-color:rgba(255,197,61,.45);background:rgba(255,197,61,.08)}
.jf-tc-gold:hover{box-shadow:0 6px 18px rgba(255,197,61,.25)}
.jf-tc-blue{color:#8fbaff;border-color:rgba(90,156,255,.45);background:rgba(90,156,255,.09)}
.jf-tc-blue:hover{box-shadow:0 6px 18px rgba(90,156,255,.25)}
.jf-tc-red{color:#ff8ba0;border-color:rgba(255,59,92,.45);background:rgba(255,59,92,.09)}
.jf-tc-red:hover{box-shadow:0 6px 18px rgba(255,59,92,.25)}
.jf-tagmore{margin-left:auto;font-size:13px;color:var(--jf-sub);transition:.2s}
.jf-tagmore:hover{color:var(--jf-fire)}

/* ═══════ 子页面通用（列表/内容/直播间/详情页 · 后续步骤复用） ═══════ */
.jf-crumb{padding:18px 0 0;font-size:12.5px;color:var(--jf-sub)}
.jf-crumb a{color:var(--jf-sub);transition:.2s}
.jf-crumb a:hover{color:var(--jf-fire)}
.jf-list-block{margin-top:16px}
.jf-pagenav{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;padding:28px 0 8px;font-family:"Oswald","Noto Sans SC",sans-serif}
.jf-pagenav a,.jf-pagenav b,.jf-pagenav strong{padding:8px 15px;border-radius:9px;font-size:13.5px;font-weight:500;line-height:1.2}
.jf-pagenav a{border:1px solid var(--jf-line);color:#d3c2b6;background:rgba(255,255,255,.03);transition:.2s}
.jf-pagenav a:hover{border-color:var(--jf-fire);color:var(--jf-fire)}
.jf-pagenav b,.jf-pagenav strong{background:linear-gradient(135deg,var(--jf-fire),var(--jf-ember));color:#fff}
.jf-article-card{background:linear-gradient(180deg,var(--jf-panel2),var(--jf-panel));border:1px solid var(--jf-line);border-radius:var(--jf-radius);padding:32px 36px;margin-top:16px}
.jf-article-card h1{font-size:25px;font-weight:900;line-height:1.55}
.jf-art-meta{display:flex;gap:16px;flex-wrap:wrap;padding:14px 0;margin:14px 0 20px;border-top:1px dashed var(--jf-line);border-bottom:1px solid var(--jf-line);color:var(--jf-sub);font-size:12.5px}
.jf-art-meta a{color:var(--jf-fire);font-weight:700}
.jf-article{font-size:15.5px;line-height:2.05;color:#e5d8cd}
.jf-article p{margin:0 0 16px}
.jf-article img{border-radius:10px;margin:10px auto;max-width:100%}
.jf-article h2,.jf-article h3{color:#fff;margin:22px 0 12px}
.jf-article a{color:var(--jf-fire)}
.jf-info-tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:26px;padding-top:18px;border-top:1px dashed var(--jf-line);font-size:12.5px;color:var(--jf-sub)}
.jf-info-tags a{padding:4px 14px;border-radius:16px;border:1px solid rgba(255,106,26,.35);background:rgba(255,106,26,.08);color:#ffb066;transition:.2s}
.jf-info-tags a:hover{transform:translateY(-2px);box-shadow:0 5px 14px rgba(255,106,26,.25)}
.jf-pn{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}
.jf-pn a,.jf-pn span{display:block;padding:13px 16px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--jf-line);font-size:13px;color:#d3c2b6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:.2s}
.jf-pn a:hover{border-color:var(--jf-fire);color:var(--jf-fire)}
.jf-rel{margin-top:36px}
.jf-live-layout{display:grid;grid-template-columns:1fr 330px;gap:20px;margin-top:16px;align-items:start}
.jf-spot-page{min-height:300px}
.jf-player-card{background:linear-gradient(180deg,var(--jf-panel2),var(--jf-panel));border:1px solid var(--jf-line);border-radius:var(--jf-radius);padding:20px;margin-top:18px}
.jf-vid-title{font-size:20px;font-weight:900;line-height:1.55;margin-bottom:14px}
.jf-player{position:relative;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden;border:1px solid var(--jf-line)}
.jf-player iframe,.jf-player video{position:absolute;inset:0;width:100%;height:100%;border:none}
.jf-player-none{position:absolute;inset:0;display:flex;flex-direction:column;gap:8px;align-items:center;justify-content:center;color:var(--jf-sub);font-size:14px;background:radial-gradient(400px 200px at 50% 120%,rgba(255,106,26,.15),transparent 70%)}
.jf-src-tabs{display:flex;gap:9px;flex-wrap:wrap;margin-top:14px}
.jf-src{padding:9px 22px;border-radius:22px;border:1px solid var(--jf-line);background:rgba(255,255,255,.04);color:#d3c2b6;font-size:13px;font-weight:700;cursor:pointer;transition:.22s}
.jf-src:hover{border-color:var(--jf-fire);color:var(--jf-fire)}
.jf-src.jf-on{background:linear-gradient(135deg,var(--jf-fire),var(--jf-ember));border-color:transparent;color:#fff;box-shadow:0 4px 16px rgba(255,106,26,.35)}
.jf-player-tip{margin-top:12px;font-size:12px;color:var(--jf-sub);line-height:1.7}
.jf-vid-metabar{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px;padding-top:13px;border-top:1px dashed var(--jf-line);font-size:12.5px;color:var(--jf-sub)}
.jf-vid-metabar a{color:var(--jf-fire);font-weight:700}
.jf-profile{display:flex;gap:24px;align-items:center;padding:26px 28px 8px}
.jf-profile .jf-crest{width:84px;height:84px;font-size:28px}
.jf-profile .jf-team-img{width:84px;height:84px}
.jf-profile h1{font-size:26px;font-weight:900;letter-spacing:1px}
.jf-profile .jf-lg{display:inline-block;margin-top:6px;font-size:12px;font-weight:700;color:var(--jf-fire);background:rgba(255,106,26,.1);border:1px solid rgba(255,106,26,.3);padding:2px 12px;border-radius:14px}
.jf-profile p{margin-top:8px;font-size:13px;color:var(--jf-sub);line-height:1.8}
.jf-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:11px;padding:20px 28px 26px}
.jf-fact{background:rgba(255,255,255,.035);border:1px solid var(--jf-line);border-radius:12px;padding:12px 15px}
.jf-fact i{font-style:normal;display:block;font-size:11px;color:var(--jf-sub);margin-bottom:2px}
.jf-fact b{font-size:15px;color:#f0e4d9;font-weight:700;word-break:break-all}

/* ═══════ 页脚 & 浮动组件 ═══════ */
.jf-footer{margin-top:56px;border-top:1px solid var(--jf-line);background:#0a0605}
.jf-foot-in{max-width:1280px;margin:0 auto;padding:38px 20px 24px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:30px}
.jf-foot-col h4{font-size:14px;font-weight:900;margin-bottom:14px;letter-spacing:1px;color:#fff;display:flex;align-items:center}
.jf-foot-col h4 svg{color:var(--jf-fire)}
.jf-foot-col a{display:block;font-size:12.5px;color:var(--jf-sub);padding:4px 0;transition:.2s}
.jf-foot-col a:hover{color:var(--jf-fire);transform:translateX(3px)}
.jf-foot-about p{font-size:12.5px;color:var(--jf-sub);line-height:1.8;margin-top:10px}
.jf-foot-bottom{border-top:1px solid var(--jf-line);padding:16px 20px;text-align:center;font-size:12px;color:#6e5a4d}
.jf-foot-bottom a{color:var(--jf-sub);display:inline}
.jf-foot-bottom a:hover{color:var(--jf-fire);transform:none}
.jf-totop{position:fixed;right:22px;bottom:26px;width:44px;height:44px;border-radius:13px;border:1px solid var(--jf-line);background:rgba(26,18,14,.92);backdrop-filter:blur(8px);color:var(--jf-fire);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:.3s;z-index:800}
.jf-totop.jf-show{opacity:1;pointer-events:auto}
.jf-totop:hover{transform:translateY(-3px);border-color:var(--jf-fire)}
.jf-toast{position:fixed;left:50%;bottom:34px;transform:translateX(-50%) translateY(20px);background:#0d1a12;border:1px solid rgba(0,255,163,.45);color:var(--jf-green);padding:11px 22px;border-radius:26px;font-size:13px;font-weight:700;opacity:0;pointer-events:none;transition:.35s;z-index:999;box-shadow:0 10px 30px rgba(0,0,0,.5);max-width:86vw}
.jf-toast.jf-show{opacity:1;transform:translateX(-50%) translateY(0)}

/* ═══════ 响应式 ═══════ */
@media (max-width:1100px){
  .jf-hero{grid-template-columns:1fr}
  .jf-rail{flex-direction:row;flex-wrap:wrap}
  .jf-rail .jf-card{flex:1;min-width:300px}
  .jf-match-grid{grid-template-columns:repeat(2,1fr)}
  .jf-vid-grid{grid-template-columns:repeat(3,1fr)}
  .jf-star-grid{grid-template-columns:repeat(2,1fr)}
  .jf-news-grid{grid-template-columns:1fr}
  .jf-qa-grid{grid-template-columns:repeat(2,1fr)}
  .jf-foot-in{grid-template-columns:1fr 1fr}
  .jf-live-layout{grid-template-columns:1fr}
}
@media (max-width:820px){
  .jf-nav{position:fixed;top:104px;left:0;right:0;background:#150e0a;border-bottom:1px solid var(--jf-line);flex-direction:column;padding:12px 18px 18px;display:none;z-index:850}
  .jf-nav.jf-open{display:flex}
  .jf-nav a{padding:12px 14px;border-radius:10px}
  .jf-burger{display:flex}
  .jf-search{width:150px}
  .jf-vid-grid{grid-template-columns:repeat(2,1fr)}
  .jf-spot-body{grid-template-columns:1fr;gap:18px;padding:18px 0}
  .jf-spot-mid{order:-1}
  .jf-spot-team{flex-direction:row;justify-content:center;gap:14px}
  .jf-spot-team .jf-crest,.jf-spot-team .jf-team-img{width:56px;height:56px;font-size:18px}
}
@media (max-width:560px){
  .jf-match-grid{grid-template-columns:1fr}
  .jf-vid-grid{grid-template-columns:1fr}
  .jf-star-grid{grid-template-columns:1fr}
  .jf-qa-grid{grid-template-columns:1fr}
  .jf-news-thumb{width:104px}
  .jf-search{display:none}
  .jf-foot-in{grid-template-columns:1fr}
  .jf-sec-head h2{font-size:19px}
  .jf-leagues{grid-template-columns:repeat(4,1fr)}
  .jf-bigsearch{flex-direction:column;border-radius:20px;gap:8px;padding:10px}
  .jf-bigsearch input[type="text"]{padding:8px 12px}
  .jf-bigsearch button{width:100%;justify-content:center;border-radius:16px}
  .jf-article-card{padding:22px 18px}
  .jf-article-card h1{font-size:20px}
  .jf-pn{grid-template-columns:1fr}
  .jf-profile{flex-direction:column;text-align:center;padding:24px 18px 6px}
  .jf-facts{padding:16px 18px 22px}
  .jf-tagmore{margin-left:0;width:100%;text-align:center}
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（v1.4 新增的小补丁）
   ══════════════════════════════════════════════════════════════ */

/* 赛事卡片：开赛时间显示 */
.jf-match-kick{font-family:"Oswald",sans-serif;font-size:11.5px;color:#8a776b;letter-spacing:.5px;margin-left:2px}
.jf-match-kick time{font-style:normal}

/* 卡片内 联赛/球队 链接 */
.jf-match-league a{color:inherit;transition:.2s}
.jf-match-league a:hover{color:var(--jf-fire)}
.jf-teamrow b a{transition:.2s}
.jf-teamrow b a:hover{color:var(--jf-fire)}
.jf-spot-team b a{transition:.2s}
.jf-spot-team b a:hover{color:var(--jf-fire)}
.jf-spot-top .jf-chip a{color:inherit}
.jf-spot-top .jf-chip a:hover{color:var(--jf-fire)}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（STEP2 列表页样式补丁）
   ══════════════════════════════════════════════════════════════ */

/* 列表页主标题（H1，样式与区块H2一致） */
.jf-sec-head h1{font-size:24px;font-weight:900;letter-spacing:1px;display:flex;align-items:center;gap:10px}
.jf-sec-head h1::before{content:"";width:5px;height:22px;border-radius:3px;background:linear-gradient(180deg,var(--jf-fire),var(--jf-gold))}

/* 子栏目切换条（足球/篮球 等） */
.jf-subnav{margin:-4px 0 18px}
.jf-subnav .jf-chip-btn{display:inline-flex;align-items:center}
.jf-subnav .jf-chip-btn:hover{color:#fff}
.jf-subnav a.jf-chip-btn.jf-on{pointer-events:none}

/* 卡片网格（联赛/球队列表：4列自适应） */
.jf-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.jf-card-grid .jf-team-card{width:auto}
.jf-card-grid .jf-team-card .jf-crest{margin:0 auto}

/* 赛程列表：日期分组条 */
.jf-date-bar{display:flex;align-items:center;gap:12px;margin:28px 0 14px;padding:10px 16px;background:linear-gradient(90deg,rgba(255,106,26,.12),transparent 70%);border-left:3px solid var(--jf-fire);border-radius:10px}
.jf-date-bar:first-of-type{margin-top:6px}
.jf-date-bar b{font-size:16px;font-weight:900}
.jf-date-bar span{font-size:12px;color:var(--jf-sub)}
.jf-date-bar small{margin-left:auto;font-size:12px;color:var(--jf-sub);font-family:"Oswald",sans-serif}
.jf-date-bar.jf-today b{color:var(--jf-fire)}
.jf-date-bar.jf-today::after{content:"TODAY";font-family:"Oswald",sans-serif;font-size:10px;letter-spacing:2px;color:#241500;background:var(--jf-gold);padding:2px 8px;border-radius:10px}

/* 文章列表 + 侧栏 布局 */
.jf-list-side{display:grid;grid-template-columns:1fr 330px;gap:20px;align-items:start}
.jf-list-side .jf-pagenav{justify-content:flex-start}

@media (max-width:1000px){
  .jf-list-side{grid-template-columns:1fr}
  .jf-card-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:560px){
  .jf-card-grid{grid-template-columns:1fr}
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（STEP2 修复补丁）
   原因：帝国列表页的 [!--empirenews.listtemp--] 行模板在生成时
   做"标签替换"，不执行自定义 PHP 函数（jf_news_item 等调用被丢弃，
   所以只剩框架）。行模板全部改用官方标签 [!--title--] 等，
   图片/时间/首字徽章由 jf-main.js v1.1 渐进增强，本文件为配套样式。
   ══════════════════════════════════════════════════════════════ */

/* 图片改为背景图承载（空值时自动露出渐变底色） */
.jf-news-thumb,.jf-thumb,.jf-crest,.jf-avatar{background-size:cover;background-position:center;background-repeat:no-repeat}

/* 空字段自动隐藏（官方标签替换为空时不留空壳） */
.jf-news-cat:empty,.jf-vid-league:empty,.jf-star-pos:empty,
.jf-qtag:empty,.jf-lg:empty,.jf-club:empty,.jf-news-body p:empty,
.jf-qans:empty,.jf-news-meta .jf-tag:empty{display:none}
.jf-star-stats div:has(b:empty){display:none}
.jf-team-facts span:has(em:empty){display:none}

/* 联赛卡简介（两行截断） */
.jf-lg-desc{font-size:11.5px;color:var(--jf-sub);margin-top:8px;line-height:1.6;text-align:left;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.jf-lg-desc:empty{display:none}

/* 行模板 time 元素 */
.jf-news-meta time,.jf-vid-meta time,.jf-qmeta time{font-style:normal}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（STEP2 补丁③ · 默认封面）
   原理：帝国列表页 titlepic 为空时会输出系统占位图 notimg.gif，
   行模板 data-pic 因此永远非空。用属性选择器识别
   「空值 / notimg.gif」两种情况，由 CSS 按 足球/篮球 分别兜底，
   不再经过 JS（模板级默认图，蜘蛛与无JS环境同样可见）。
   容器上的 .jf-sport-zq / .jf-sport-lq 由列表模板外层 PHP 输出。
   站点若安装在子目录，请把下面两个路径前面加上子目录。
   ══════════════════════════════════════════════════════════════ */
.jf-sport-zq .jf-thumb[data-pic=""],
.jf-sport-zq .jf-thumb[data-pic*="notimg"],
.jf-sport-zq .jf-news-thumb[data-pic=""],
.jf-sport-zq .jf-news-thumb[data-pic*="notimg"]{
  background-image:url('http://diguoaii3.jianzhanzj.com/skin/jf/img/def-zq.svg');
}
.jf-sport-lq .jf-thumb[data-pic=""],
.jf-sport-lq .jf-thumb[data-pic*="notimg"],

.jf-sport-lq .jf-news-thumb[data-pic=""],
.jf-sport-lq .jf-news-thumb[data-pic*="notimg"]{
  background-image:url('http://diguoaii3.jianzhanzj.com/skin/jf/img/def-lq.svg');
}
/* 默认图上再压一层暗角，保证时长/联赛角标可读 */
.jf-thumb[data-pic*="notimg"]::after,
.jf-news-thumb[data-pic*="notimg"]::after{
  background:radial-gradient(300px 140px at 50% 0%,rgba(255,255,255,.08),transparent 70%),linear-gradient(180deg,transparent 55%,rgba(8,5,3,.45));
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（STEP4 补丁② · 分表聚合搜索页）
   ══════════════════════════════════════════════════════════════ */

/* 搜索结果分组区块 */
.jf-sr-sum{margin:16px 0 6px;font-size:14px;color:#dccdc1}
.jf-sr-sum b{color:var(--jf-fire);font-family:"Oswald",sans-serif;font-size:20px;margin:0 4px}
.jf-sr-sec{margin-top:36px}
.jf-sr-sec .jf-sec-head{margin-bottom:14px}
.jf-sr-count{font-size:12px;color:var(--jf-sub);padding-bottom:5px;margin-left:2px}
.jf-sr-more{margin-left:auto;font-size:13px;color:var(--jf-sub);padding-bottom:4px;transition:.2s}
.jf-sr-more:hover{color:var(--jf-fire)}

/* 关键词高亮（JS 注入） */
.jf-hl{color:var(--jf-fire);font-style:normal;font-weight:700;background:rgba(255,106,26,.12);border-radius:3px;padding:0 2px}

/* 无结果时的推荐区 */
.jf-sr-none{margin-top:20px}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（补丁④ · 布局错位修复）
   问题：联赛/球队内容页中，参赛球队(jf-scroll-x)与球星网格内容一多，
   grid 子项 min-width:auto 导致主列被无限撑宽（右溢出）。
   修复：所有多列 grid 轨道改 minmax(0,1fr)，栅格子项 min-width:0，
   横向滚动容器锁定 max-width，长文本允许断行。
   ══════════════════════════════════════════════════════════════ */

/* ── 栅格子项允许收缩（核心修复） ── */
.jf-live-layout{grid-template-columns:minmax(0,1fr) 330px}
.jf-live-layout>div,.jf-live-layout>aside{min-width:0}
.jf-list-side{grid-template-columns:minmax(0,1fr) 330px}
.jf-list-side>div,.jf-list-side>aside{min-width:0}
.jf-news-grid{grid-template-columns:minmax(0,1fr) 380px}
.jf-news-grid>div,.jf-news-grid>aside{min-width:0}
.jf-hero>div,.jf-hero>aside{min-width:0}
.jf-rail{min-width:0}
.jf-wrap,.jf-narrow{min-width:0}

/* ── 所有网格轨道改 minmax(0,1fr)，内容再宽也不撑破 ── */
.jf-match-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.jf-vid-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.jf-star-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.jf-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.jf-qa-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.jf-facts{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}

/* ── 横向滚动容器锁定宽度 ── */
.jf-scroll-x{max-width:100%;min-width:0}
.jf-scroll-x .jf-team-card{flex:0 0 200px;max-width:200px}

/* ── 卡片自身允许收缩 + 长文本断行 ── */
.jf-match,.jf-vid,.jf-qcard,.jf-team-card,.jf-star,.jf-news-item{min-width:0}
.jf-teamrow b,.jf-team-card b,.jf-star-body b,.jf-vid-info h3,
.jf-news-body h3,.jf-qcard h3,.jf-profile h1,.jf-fact b,.jf-lg{overflow-wrap:break-word;word-break:normal}
.jf-fact b,.jf-lg{overflow-wrap:anywhere}
.jf-profile{min-width:0}
.jf-profile>div{min-width:0;flex:1}
.jf-star-stats div{min-width:0}
.jf-star-stats b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ── 响应式轨道同步（覆盖旧声明） ── */
@media (max-width:1100px){
  .jf-match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jf-vid-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .jf-star-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jf-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .jf-qa-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:820px){
  .jf-vid-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .jf-match-grid,.jf-vid-grid,.jf-star-grid,.jf-card-grid,.jf-qa-grid{grid-template-columns:minmax(0,1fr)}
  .jf-live-layout,.jf-list-side,.jf-news-grid{grid-template-columns:minmax(0,1fr)}
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（补丁⑤ · 信号源名称按钮）
   源名称较长（如"[QQ国语]NBA季前赛 森林狼vs掘金 全场录像回放"），
   按钮限宽省略号显示，悬停 title 可看全名
   ══════════════════════════════════════════════════════════════ */
.jf-src-tabs{align-items:center}
.jf-src{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:middle}
@media (max-width:560px){
  .jf-src{max-width:100%;width:100%;text-align:center}
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（补丁⑥ · 焦点战紧凑化）
   问题：右侧栏(热榜+联赛+速览)很高，grid 默认 stretch 把焦点战
   拉到同样高度 → 又高又空。修复：顶部对齐 + 焦点战整体紧凑化，
   直播间内容页的 .jf-spot-page 同步受益。
   ══════════════════════════════════════════════════════════════ */
.jf-hero{align-items:start}
.jf-spot{min-height:0}
.jf-spot-in{padding:18px 22px}
.jf-spot::after{width:180px;height:180px;top:56%}
.jf-spot-top{gap:8px}
.jf-spot-body{padding:14px 0;gap:8px}
.jf-spot-team{gap:9px}
.jf-spot-team .jf-crest{width:62px;height:62px;font-size:20px}
.jf-spot-team .jf-team-img{width:62px;height:62px}
.jf-spot-team b{font-size:17px}
.jf-spot-team>div>span{font-size:11px}
.jf-spot-mid{min-width:170px}
.jf-scorebox{padding:7px 18px;gap:10px;border-radius:14px}
.jf-scorebox b{font-size:34px}
.jf-scorebox i{font-size:20px}
.jf-spot-clock{margin-top:8px;font-size:15px}
.jf-spot-foot{gap:10px;margin-top:4px}
.jf-spot-venue{font-size:11.5px}
.jf-spot .jf-btn{padding:9px 22px;font-size:13.5px}
.jf-spot-round{font-size:12px;max-width:46%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:820px){
  .jf-spot-round{max-width:100%}
  .jf-spot-team .jf-crest,.jf-spot-team .jf-team-img{width:54px;height:54px;font-size:17px}
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（补丁⑦ · 焦点图轮播）
   首页焦点区改为 5 条赛事轮播（淡入切换 + 圆点 + 左右箭头），
   高度固定紧凑，不再被侧栏拉长
   ══════════════════════════════════════════════════════════════ */
.jf-focus{position:relative}
.jf-focus-list{position:relative;min-height:284px}
.jf-focus-item{position:absolute;top:0;left:0;right:0;bottom:0;opacity:0;visibility:hidden;transition:opacity .55s ease;z-index:1}
.jf-focus-item.jf-on{opacity:1;visibility:visible;z-index:2}
.jf-focus-item .jf-spot{height:100%;min-height:0}
.jf-focus-dots{position:absolute;left:0;right:0;bottom:10px;display:flex;justify-content:center;gap:7px;z-index:6}
.jf-focus-dot{width:8px;height:8px;border-radius:6px;border:none;background:rgba(255,255,255,.28);cursor:pointer;padding:0;transition:.25s}
.jf-focus-dot.jf-on{width:22px;background:var(--jf-fire)}
.jf-focus-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:6;width:34px;height:34px;border-radius:50%;border:1px solid var(--jf-line);background:rgba(10,6,4,.55);color:#f6ece4;font-size:16px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(4px);transition:.2s;font-family:inherit}
.jf-focus-nav:hover{border-color:var(--jf-fire);color:var(--jf-fire)}
.jf-focus-prev{left:10px}
.jf-focus-next{right:10px}
@media (max-width:820px){
  .jf-focus-list{min-height:400px}
  .jf-focus-nav{display:none}
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（补丁⑧ · 直播间丰富版）
   ══════════════════════════════════════════════════════════════ */
/* 两列信息卡（两队资料 / 两队近况） */
.jf-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.jf-grid-2 .jf-team-card{width:auto;max-width:none}
.jf-grid-2 .jf-card{min-width:0}
/* 历史交锋/近期赛程 行内日期 */
.jf-tk-date{color:var(--jf-sub);font-family:"Oswald",sans-serif;font-size:11.5px;flex:none}
/* 队伍小标题 */
.jf-side-t{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:900;padding:12px 16px 8px;color:#f0e4d9}
.jf-side-t i{font-style:normal;width:8px;height:8px;border-radius:50%;background:var(--jf-fire);flex:none}
.jf-side-t.k i{background:var(--jf-blue)}
@media (max-width:820px){
  .jf-grid-2{grid-template-columns:minmax(0,1fr)}
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（补丁⑨ · 首屏左列填充）
   焦点轮播下方加"今日热门"赛程网格，填满首屏左列空白，
   与右侧栏高度基本对齐，首屏信息密度提升
   ══════════════════════════════════════════════════════════════ */
.jf-hero-main{display:flex;flex-direction:column;gap:18px;min-width:0}
.jf-hero-main .jf-sec{padding:0}
.jf-hero-main .jf-sec-head{margin-bottom:14px}
.jf-hero-main .jf-sec-head h2{font-size:20px}
.jf-hero-main .jf-match-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:1100px){
  .jf-hero-main .jf-match-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:560px){
  .jf-hero-main .jf-match-grid{grid-template-columns:minmax(0,1fr)}
}
.jf-grid-4{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.jf-grid-4 .jf-match{padding:12px;gap:8px;border-radius:12px}
.jf-grid-4 .jf-match-top{font-size:11px;gap:6px}
.jf-grid-4 .jf-badge{padding:2px 8px;font-size:10px}
.jf-grid-4 .jf-teamrow{gap:8px}
.jf-grid-4 .jf-teamrow .jf-crest{width:28px;height:28px;font-size:10px}
.jf-grid-4 .jf-teamrow b{font-size:12.5px}
.jf-grid-4 .jf-tscore{font-size:18px;min-width:20px}
.jf-grid-4 .jf-match-clock{font-size:11px;margin-top:-2px}
.jf-grid-4 .jf-match-foot{gap:6px}
.jf-grid-4 .jf-match-foot .jf-btn{padding:5px 8px;font-size:11px;letter-spacing:0}
@media (max-width:1100px){ .jf-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .jf-grid-4{grid-template-columns:minmax(0,1fr)} }

/* ── ② 横条赛事行 ── */
.jf-mrows{display:flex;flex-direction:column;gap:10px}
.jf-mrow{display:grid;grid-template-columns:96px minmax(0,1fr) 108px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 16px;border-radius:12px}
.jf-mrow::before{display:none}
.jf-mrow:hover{transform:translateX(4px)}
.jf-mrow-league{font-size:12px;font-weight:700;color:#bda99b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-mrow-league a{color:inherit;transition:.2s}
.jf-mrow-league a:hover{color:var(--jf-fire)}
.jf-mrow-team{display:flex;align-items:center;gap:8px;min-width:0}
.jf-mrow-team .jf-crest{width:26px;height:26px;font-size:10px}
.jf-mrow-team b{font-size:13.5px;font-weight:700;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-mrow-team b a{transition:.2s}
.jf-mrow-team b a:hover{color:var(--jf-fire)}
.jf-mrow-team.away{flex-direction:row-reverse;text-align:right}
.jf-mrow-mid{display:flex;flex-direction:column;align-items:center;gap:2px}
.jf-mrow-mid .jf-tk-score{font-family:"Oswald",sans-serif;font-size:19px;font-weight:700;color:#fff;background:none;padding:0;letter-spacing:1px;border-radius:0}
.jf-mrow-clock{font-family:"Oswald",sans-serif;font-size:11px;color:var(--jf-fire);letter-spacing:.5px}
.jf-mrow-clock.jf-c-soon{color:var(--jf-blue)}
.jf-mrow-clock.jf-c-ft{color:var(--jf-sub)}
.jf-mrow-act{display:flex;align-items:center;gap:8px}
.jf-mrow-act .jf-btn{padding:6px 14px;font-size:11.5px}
@media (max-width:900px){
  .jf-mrow{grid-template-columns:minmax(0,1fr) 96px minmax(0,1fr);row-gap:8px;padding:12px 14px}
  .jf-mrow-league{grid-column:1 / -1}
  .jf-mrow-act{grid-column:1 / -1;justify-content:flex-end}
}
.jf-hero-main .jf-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:1100px){ .jf-hero-main .jf-grid-4{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:560px){ .jf-hero-main .jf-grid-4{grid-template-columns:minmax(0,1fr)} }

/* 分组小标题（足球热门 / 篮球热门） */
.jf-sub-head{display:flex;align-items:center;gap:10px;margin:22px 0 12px}
.jf-sub-head:first-of-type{margin-top:4px}
.jf-sub-head h3{font-size:16px;font-weight:900;letter-spacing:1px;display:flex;align-items:center;gap:8px;color:#f0e4d9}
.jf-sub-head h3::before{content:"";width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,var(--jf-fire),var(--jf-gold))}
.jf-sub-head .jf-en{font-family:"Oswald",sans-serif;font-size:10px;letter-spacing:2px;color:#6e5a4d;text-transform:uppercase}
.jf-sub-head .jf-sr-count{margin-left:auto;font-size:12px;color:var(--jf-sub)}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（补丁⑫ · 横条行开赛时间）
   联赛列改两行：联赛名 + 开赛时间（m-d H:i）
   ══════════════════════════════════════════════════════════════ */
.jf-mrow-league{display:flex;flex-direction:column;gap:2px;align-items:flex-start;white-space:normal}
.jf-mrow-league a{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-mrow-time{font-style:normal;font-family:"Oswald",sans-serif;font-size:10.5px;color:#8a776b;letter-spacing:.5px;line-height:1}
.jf-mrow-time time{font-style:normal}
@media (max-width:900px){
  .jf-mrow-league{flex-direction:row;align-items:baseline;gap:8px}
}
.jf-foot-in{grid-template-columns:1.15fr 1fr 1fr;gap:34px;padding:32px 20px 20px}
.jf-foot-links{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.jf-foot-about p{margin-top:8px}
.jf-foot-mini{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px}
.jf-foot-mini a{display:inline;padding:0;font-size:12px}
@media (max-width:1100px){
  .jf-foot-in{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .jf-foot-in{grid-template-columns:1fr}
  .jf-foot-links{grid-template-columns:1fr 1fr}
}
/* ══════════════════════════════════════════════════════════════
   FILE: 追加到 /skin/jf/css/style.css 末尾（补丁⑭ · 播放地址列表）
   信号源改为用户要的样式：播放器下方一整块地址列表，
   每行 = 源标题 + 完整直播地址，点击行切换播放器；首行高亮"正在播放"
   （JS 无需改动：容器仍是 #jfSrcTabs，按钮仍是 .jf-src）
   ══════════════════════════════════════════════════════════════ */
.jf-src-list{margin-top:16px;border:1px solid var(--jf-line);border-radius:12px;overflow:hidden;background:rgba(255,255,255,.02)}
.jf-src-list-head{padding:10px 16px;font-size:12.5px;font-weight:700;color:#ffb066;background:rgba(255,106,26,.08);border-bottom:1px solid var(--jf-line)}
.jf-src-list .jf-src{display:flex;align-items:center;gap:12px;width:100%;max-width:none;border:none;border-radius:0;background:none;color:#d3c2b6;padding:11px 16px;text-align:left;white-space:normal;overflow:hidden;border-bottom:1px dashed rgba(255,255,255,.06);transition:.2s}
.jf-src-list .jf-src:last-child{border-bottom:none}
.jf-src-list .jf-src:hover{background:rgba(255,106,26,.06);color:var(--jf-fire)}
.jf-src-list .jf-src.jf-on{background:rgba(255,106,26,.12);color:var(--jf-fire);box-shadow:none}
.jf-src-list .jf-src b{flex:none;max-width:46%;font-weight:700;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jf-src-now{flex:none;font-style:normal;font-size:10px;font-weight:900;color:#241500;background:var(--jf-gold);padding:2px 8px;border-radius:10px;letter-spacing:1px}
.jf-src-url{flex:1;min-width:0;font-style:normal;font-size:11.5px;color:#6e5d53;font-family:"Oswald",sans-serif;letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}
.jf-src-list .jf-src.jf-on .jf-src-url{color:var(--jf-fire)}
@media (max-width:560px){
  .jf-src-list .jf-src{flex-wrap:wrap;gap:6px}
  .jf-src-list .jf-src b{max-width:70%}
  .jf-src-url{width:100%;text-align:left}
}
.jf-src-list .jf-src .jf-src-now{display:none}
.jf-src-list .jf-src.jf-on .jf-src-now{display:inline-block}

/* ── 数字/英文展示字体 Oswald（本地 woff2） ── */
@font-face{
  font-family:"Oswald";
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('v11-oswald-500.woff2') format("woff2"),
      local("Oswald"),
      local("Arial Narrow"),
      local("Helvetica Neue Condensed");
}
@font-face{
  font-family:"Oswald";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('v11-oswald-700.woff2') format("woff2"),
      local("Oswald Bold"),
      local("Arial Narrow Bold"),
      local("Helvetica Neue Condensed Bold");
}

/* ── 中文：把 "Noto Sans SC" 别名到系统自带字体（零下载） ── */
@font-face{
  font-family:"Noto Sans SC";
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:local("PingFang SC"),local("Hiragino Sans GB"),local("Microsoft YaHei"),local("Noto Sans CJK SC"),local("Source Han Sans SC"),local("WenQuanYi Micro Hei");
}
@font-face{
  font-family:"Noto Sans SC";
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:local("PingFang SC"),local("Hiragino Sans GB"),local("Microsoft YaHei Medium"),local("Microsoft YaHei"),local("Noto Sans CJK SC Medium"),local("Noto Sans CJK SC");
}
@font-face{
  font-family:"Noto Sans SC";
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:local("PingFang SC"),local("Hiragino Sans GB"),local("Microsoft YaHei Bold"),local("Microsoft YaHei"),local("Noto Sans CJK SC Bold"),local("Noto Sans CJK SC");
}
@font-face{
  font-family:"Noto Sans SC";
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:local("PingFang SC"),local("Hiragino Sans GB"),local("Microsoft YaHei Bold"),local("Microsoft YaHei"),local("Noto Sans CJK SC Bold"),local("Noto Sans CJK SC");
}
body{overflow-x:clip}

/* ── ①② 头部移动端：图标靠右 + 间距收紧 ── */
@media (max-width:820px){
  .jf-header-in{gap:12px;padding:0 14px}
  .jf-burger{margin-left:auto}                 /* ★ 汉堡图标固定最右 */
  .jf-search{width:132px}
  .jf-logo-txt b{font-size:16px}
  .jf-logo-mark{width:34px;height:34px}
}
@media (max-width:560px){
  .jf-burger{margin-left:auto}                 /* 搜索隐藏后依然靠右 */
  .jf-header-in{height:58px}
  .jf-nav{top:96px}                            /* 抽屉菜单跟随新头高(38+58) */
}

/* ── ③ 侧栏小屏改竖排，取消 300px 最小宽（溢出根因） ── */
@media (max-width:560px){
  .jf-rail{flex-direction:column;flex-wrap:nowrap;gap:14px}
  .jf-rail .jf-card{min-width:0;flex:none;width:100%}
}

/* ── ④ 日期条允许换行 ── */
.jf-date-bar{flex-wrap:wrap;row-gap:4px}
@media (max-width:560px){
  .jf-date-bar{padding:8px 12px}
  .jf-date-bar small{margin-left:0;width:100%;text-align:right}
}

/* ── ⑤ 手机端隐藏占位的"查看→" ── */
@media (max-width:820px){
  .jf-qmeta .jf-qgo{display:none}
}

/* ──  小屏内边距/高度统一收紧 ── */
@media (max-width:560px){
  .jf-wrap{padding:0 14px}
  .jf-hero{gap:14px;padding-top:16px}
  .jf-hero-main{gap:14px}
  .jf-spot-in{padding:16px 14px}
  .jf-focus-list{min-height:430px}
  .jf-focus-dots{bottom:8px}
  .jf-tk-item{padding:0 14px}
  .jf-mini-list .jf-tk-item{padding:0 14px}
  .jf-searchzone{padding:28px 16px 24px}
  .jf-hotkw{gap:7px}
  .jf-kw{padding:5px 12px;font-size:12px}
  .jf-sz-links{gap:12px}
  .jf-mrow{gap:8px;padding:10px 12px}
  .jf-mrow-mid{min-width:84px}
  .jf-mrow-act .jf-btn{padding:5px 10px;font-size:11px}
  .jf-foot-in{gap:22px;padding:26px 16px 16px}
  .jf-sec{padding:32px 0 6px}
  .jf-card-head{padding:12px 14px 8px}
  .jf-hot li{padding:0 14px}
  .jf-leagues{padding:4px 10px 14px;gap:6px}
  .jf-tagcloud{padding:16px 14px}
  .jf-news-item{padding:12px}
  .jf-news-item>a{gap:12px}
  .jf-player-card{padding:14px}
  .jf-src-list .jf-src{padding:10px 12px}
}

/* ── 补充：超窄屏(≤360) 再保险 ── */
@media (max-width:360px){
  .jf-logo-txt span{display:none}
  .jf-scorebox b{font-size:28px}
  .jf-spot-team b{font-size:15px}
  .jf-mrow{grid-template-columns:minmax(0,1fr) 78px minmax(0,1fr)}
  .jf-mrow-mid .jf-tk-score{font-size:16px}
  .jf-grid-4 .jf-match-foot{flex-direction:column}
  .jf-grid-4 .jf-match-foot .jf-btn{width:100%}
}
/* Go data bindings and the permitted homepage tools. */
.v11-site{--edition-accent:var(--jf-gold);--edition-panel:var(--jf-panel);--edition-text:var(--jf-txt)}
.v11-site .jf-hot li>a{display:flex;gap:11px;width:100%}.v11-side-matches{padding:0 16px 16px}.v11-side-matches>a{display:flex;flex-direction:column;gap:6px;padding:10px 0;border-bottom:1px solid var(--jf-line);font-size:12px}.v11-side-matches small{color:var(--jf-sub)}
.v11-site .jf-rail .jf-vid-grid{grid-template-columns:minmax(0,1fr)}.v11-site .jf-thumb>img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.v11-site .jf-team-card>a>b{display:block;margin-top:12px}.v11-site .jf-team-card .jf-team-img{width:62px;height:62px;object-fit:contain;margin:auto}
.v11-date{font-size:14px;color:var(--jf-sub);line-height:1.8;padding:14px 8px 10px}.v11-date span{padding-left:10px}.v11-schedule-heading{margin-top:34px}.v11-site .jf-mrow-team b{min-width:0;overflow-wrap:anywhere}.v11-site .jf-nav{min-width:0}
@media(max-width:980px){.v11-site .jf-nav{top:104px}.v11-site .jf-nav a{min-height:44px}.v11-site .jf-logo{min-width:0}.v11-site .jf-logo-txt b{font-size:19px;overflow-wrap:anywhere}.v11-site .jf-hero-main .jf-sec-head h1{font-size:19px}.v11-site .jf-spot-round{white-space:normal}.v11-site .jf-spot-team b{overflow-wrap:anywhere}}
