/* ============================================================
 * index_inline.css — F-24-3（20261009 阿安）从 index.html 内联 <style> 抽离
 * 来源：index.html 原 2 个内联 <style> 块（41623 字符）
 * 变更：① 颜色 hex 全部 token 化（93 唯一色，237 处 → var(--c_*)）；
 *       ② !important 28 处逐一评估后保留——均为跨文件覆盖
 *          （覆盖 data/css/common.css 的布局/尺寸/颜色，如 flags 图标尺寸、
 *           standings/scorers/fixtures 容器 padding、.cal-btn-mini.booked 渐变等），
 *          属必要覆盖，删除会导致视觉回归；如需调整请先比对 common.css 后处理。
 * 加载：index.html <link rel="stylesheet" href="css/index_inline.css">
 * 注意：token 命名用 --c_ 前缀（external_style.css 的 --hxxx 为灰阶专用，避免混淆）
 * ============================================================ */
/* F-24-3（20261009 阿安）：index.html 内联样式抽离——颜色全部 token 化（237 处 / 93 唯一色） */
:root {
  --c_000: #000;
  --c_000000: #000000;
  --c_004d98: #004d98;
  --c_0055a4: #0055a4;
  --c_00695c: #00695c;
  --c_00897b: #00897b;
  --c_009246: #009246;
  --c_009c6a: #009c6a;
  --c_00bfa5: #00bfa5;
  --c_0d2240: #0d2240;
  --c_0d47a1: #0d47a1;
  --c_103a8c: #103a8c;
  --c_111: #111;
  --c_1976d2: #1976d2;
  --c_1a1a1a: #1a1a1a;
  --c_1a1a2e: #1a1a2e;
  --c_1a3a5c: #1a3a5c;
  --c_1a73e8: #1a73e8;
  --c_1b5e20: #1b5e20;
  --c_1b8a3e: #1b8a3e;
  --c_1e293b: #1e293b;
  --c_1e88e5: #1e88e5;
  --c_222: #222;
  --c_2563eb: #2563eb;
  --c_2e7d32: #2e7d32;
  --c_2ecc71: #2ecc71;
  --c_333: #333;
  --c_334155: #334155;
  --c_37003c: #37003c;
  --c_37474f: #37474f;
  --c_3d8bc0: #3d8bc0;
  --c_43a047: #43a047;
  --c_444: #444;
  --c_4a90d9: #4a90d9;
  --c_4caf50: #4caf50;
  --c_546e7a: #546e7a;
  --c_555: #555;
  --c_5c005c: #5c005c;
  --c_5d4037: #5d4037;
  --c_666: #666;
  --c_757575: #757575;
  --c_75aadb: #75aadb;
  --c_78909c: #78909c;
  --c_888: #888;
  --c_8a6d5d: #8a6d5d;
  --c_90caf9: #90caf9;
  --c_999: #999;
  --c_aaa: #aaa;
  --c_b0b0b0: #b0b0b0;
  --c_b8860b: #b8860b;
  --c_bbdefb: #bbdefb;
  --c_c8e6c9: #c8e6c9;
  --c_ccc: #ccc;
  --c_cfd8dc: #cfd8dc;
  --c_d32f2f: #d32f2f;
  --c_d4a017: #d4a017;
  --c_dc2626: #dc2626;
  --c_ddd: #ddd;
  --c_e0e0e0: #e0e0e0;
  --c_e1bee7: #e1bee7;
  --c_e3f2fd: #e3f2fd;
  --c_e5e5e5: #e5e5e5;
  --c_e84545: #e84545;
  --c_e8f5e9: #e8f5e9;
  --c_eceff1: #eceff1;
  --c_eee: #eee;
  --c_f0f0f0: #f0f0f0;
  --c_f0f2f5: #f0f2f5;
  --c_f3e5f5: #f3e5f5;
  --c_f4f7e8: #f4f7e8;
  --c_f5a623: #f5a623;
  --c_f5f5f5: #f5f5f5;
  --c_f9a825: #f9a825;
  --c_faf0ff: #faf0ff;
  --c_fef3c7: #fef3c7;
  --c_ff3214: #ff3214;
  --c_ff3344: #ff3344;
  --c_ff6b00: #ff6b00;
  --c_ff6b6b: #ff6b6b;
  --c_ff8c00: #ff8c00;
  --c_ff9800: #ff9800;
  --c_ffb300: #ffb300;
  --c_ffc107: #ffc107;
  --c_ffcdd2: #ffcdd2;
  --c_ffdf00: #ffdf00;
  --c_ffe0b2: #ffe0b2;
  --c_ffeb3b: #ffeb3b;
  --c_ffebee: #ffebee;
  --c_fff: #fff;
  --c_fff3d6: #fff3d6;
  --c_fff3e0: #fff3e0;
  --c_fff59d: #fff59d;
  --c_fff9c4: #fff9c4;
}

:root{--fs-12:12px;--fs-13:13px;--fs-14:14px;--fs-11:11px;--fs-10:10px;--br-8:8px;--br-10:10px;--br-12:12px;--br-16:16px;--br-2:2px;--br-14:14px;--z-2:2;--z-10:10;--z-1000:1000;--z-9999:9999;--z-100:100;--z-5:5;}

:root{--bg:var(--c_f4f7e8);--text:var(--c_1a1a1a);--sub:var(--c_555);--gold:var(--c_d4a017);--live:var(--c_d32f2f);--pl:var(--c_f9a825);--pd:var(--c_2e7d32);--cl:var(--c_004d98);--intl:var(--c_00897b);}
*{box-sizing:border-box;margin:0;padding:0;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--text);padding-bottom:env(safe-area-inset-bottom, 0px);padding-top:calc(env(safe-area-inset-top, 0px) + 44px);animation:none;-webkit-tap-highlight-color:transparent;}
@keyframes pageIn{from{opacity:0;transform:scale(.985);}to{opacity:1;transform:scale(1);}}
body.page-leave{opacity:0;transition:opacity .18s ease;}
.tab-enter{animation:fadeSlideIn .22s ease;}
@keyframes fadeSlideIn{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
#matchView{background:transparent;}
.header{position:fixed;top:0;left:0;right:0;z-index:var(--z-1000);background:linear-gradient(135deg,var(--c_1e293b) 0%,var(--c_334155) 100%);padding:0;box-shadow:0 2px 12px rgba(0,0,0,.3);height:44px;box-sizing:border-box;display:flex;align-items:center;}
.title{font-size:clamp(18px,5vw,22px);font-weight:800;margin-bottom:12px;display:flex;align-items:center;justify-content:space-between;}
.title-left{display:flex;align-items:baseline;gap:6px;}
.ball{font-size:22px;}
.ver{font-size:var(--fs-12);font-weight:400;color:var(--sub);}
.clock{font-size:var(--fs-14);font-weight:600;color:rgba(255,255,255,.85);background:rgba(255,255,255,.15);padding:4px 10px;border-radius:var(--br-12);}
.home-header{display:flex;align-items:center;justify-content:center;width:100%;padding:0;box-sizing:border-box;color:var(--c_fff);}
.home-title{font-size:15px;font-weight:800;color:var(--text);letter-spacing:.5px;}
.team-filters{display:flex;gap:9px;align-items:center;max-width:100%;overflow:visible;}
.tf{width:20px;height:20px;border:1px solid rgba(255,255,255,.4);background:rgba(255,255,255,.06);border-radius:var(--br-8);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative;transition:all .15s ease;padding:0;}
.tf img{width:20px;height:20px;object-fit:contain;}
.tf.on{opacity:1;background:var(--c_f0f2f5);border:1px solid rgba(0,0,0,.35);border-radius:var(--br-8);}
/* F-09-1(20261008接任者整改): 视觉隐藏h1——屏幕阅读器可读，视觉不占空间 */
.skip-link{position:absolute;left:-9999px;top:0;background:var(--c_1a73e8);color:var(--c_fff);padding:8px 16px;z-index:9999;text-decoration:none;}.skip-link:focus{left:0;}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}
/* 2026-09-11 header 书签（俱乐部/国家队）1:1复制右侧联赛导航，仅垂直改水平 */
.nav-bookmarks{display:flex;flex-direction:row;gap:0;align-items:center;justify-content:center;width:100%;}
.bm{flex:1 1 0;min-width:0;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:6px;cursor:pointer;transition:all .2s ease;position:relative;border-radius:var(--br-12) 12px 0 0;height:44px;padding:0 16px;border:none;font-size:var(--fs-13);font-weight:700;letter-spacing:1.5px;}
.bm svg{width:18px;height:18px;flex-shrink:0;}
.bm.club{background:rgba(255,255,255,.15);color:rgba(255,255,255,.7);}
.bm.nation{background:rgba(255,255,255,.15);color:rgba(255,255,255,.7);}
.bm.on{background:rgba(255,255,255,.95);color:var(--c_1a1a2e);box-shadow:0 6px 18px rgba(0,0,0,.2);z-index:var(--z-10);}
.bm.on::after{display:none;}
.bm:active{transform:scale(.97);}
/* 国家队视图 */
#teamsView{display:none;padding-top:8px;}
#teamsView.active{display:block;}
/* 球队列表容器：右侧让出 fixed 书签(22px)，网格在 屏幕左缘→书签左缘 区间内对称居中（收窄版） */
/* 全站主内容容器统一规则：左 P 右 P+22(书签让位)，所有页面一致（球队列表/首页/积分榜/射手榜/赛程） */
#teamsList, #list, #standingsContent, #scorersContent, #fixturesContent{padding:16px 34px 0 6px;}
@media(max-width:480px){#teamsList, #list, #standingsContent, #scorersContent, #fixturesContent{padding:12px 30px 0 6px;}}
.nation-grid{display:grid;grid-template-columns:repeat(9,1fr);gap:6px;padding:12px 10px 2px;background:var(--card);margin:10px 12px;border-radius:var(--br-16);box-shadow:0 2px 12px rgba(0,0,0,.06);}
@media(max-width:640px){.nation-grid{grid-template-columns:repeat(5,1fr);}}
.nation-item{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;padding:9px 2px;border-radius:var(--br-10);transition:all .16s ease;}
.nation-item:hover{transform:translateY(-2px);background:rgba(0,0,0,.045);}
.nation-item:active{transform:scale(.9);background:rgba(0,0,0,.08);}
.nation-item img{width:36px;height:24px;object-fit:contain;border-radius:3px;box-shadow:0 1px 4px rgba(0,0,0,.28);}
.nation-item span{font-size:var(--fs-11);color:var(--sub);font-weight:600;line-height:1.2;text-align:center;pointer-events:none;}
.nation-sec-title{font-size:15px;font-weight:800;color:var(--text);margin:16px 18px 8px;display:flex;align-items:center;gap:6px;}
.nation-sec-title::before{content:"";width:4px;height:16px;background:linear-gradient(180deg,var(--c_1e88e5),var(--c_0d47a1));border-radius:var(--br-2);}

.container{padding:16px 10px 0 10px;display:flex;flex-direction:column;gap:14px;}
#list{padding-right:calc(10px + 22px);}
@media(max-width:480px){#list{padding-right:calc(12px + 22px);}}
::-webkit-scrollbar{width:4px;}
::-webkit-scrollbar-thumb{background:rgba(0,0,0,.2);border-radius:var(--br-2);}
::-webkit-scrollbar-track{background:transparent;}
#standingsContent{gap:0;padding-right:32px!important;}
#scorersContent{gap:0;padding-right:32px!important;}
/* CEO_CMD-20260926-P0 三视图统一：联赛赛程页与主页/积分榜/射手榜同宽——
   原先 fixturesContent 未加 padding-right:32px，卡片比其他视图宽 8px 且与右侧
   22px 宽的固定联赛导航(sub-tabs-right)重叠；统一为 32px!important 后四视图等宽 */
#fixturesContent{padding-right:32px!important;}
.card{position:relative;background:var(--c_fff);border-radius:var(--br-16);padding:16px;box-shadow:0 4px 16px rgba(0,0,0,.06);overflow:hidden;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;-webkit-tap-highlight-color:transparent;}
.card.live .bar{width:10px;box-shadow:0 0 8px var(--live);}
.section-sep{display:flex;align-items:center;gap:10px;margin:14px 4px 8px;}
.card:hover{transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.10);}
.card:active{transform:scale(.98);background:rgba(0,0,0,.06);}
.card.ended{opacity:.82;}
.card.ended .teams .name{color:var(--c_999);}
.card.ended:hover{transform:none;box-shadow:0 4px 16px rgba(0,0,0,.06);}
.section-sep .sep-text{font-size:var(--fs-13);color:rgba(255,255,255,.85);font-weight:800;letter-spacing:2px;}
.section-sep .sep-line{flex:1;height:1px;background:rgba(255,255,255,.4);}
.sep-line-full{width:100%;height:2px;position:relative;border-radius:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.15) 20%,rgba(0,0,0,.15) 80%,transparent 100%);}
.sep-block{width:16px;height:4px;border-radius:0;position:absolute;top:50%;transform:translateY(-50%);}
.sep-block:nth-child(1){background:var(--c_ff3214);left:calc(50% - 24px);}
.sep-block:nth-child(2){background:var(--c_004d98);left:calc(50% - 8px);}
.sep-block:nth-child(3){background:var(--c_37003c);left:calc(50% + 8px);}
.card .bar{position:absolute;left:0;top:0;bottom:0;width:7px;}
/* 球队主场颜色卡片 */
.card.team-card .bar{background:var(--team-color);}
.card.team-card{background:linear-gradient(135deg,var(--team-color) 0%,var(--team-color) 30%,var(--c_fff) 100%);opacity:0.92;}
.card.league-PL .bar{background:linear-gradient(180deg,var(--c_37003c),var(--c_5c005c));}
.card.league-PD .bar{background:linear-gradient(180deg,var(--c_ff3214),var(--c_ff3344));}
.card.league-FL .bar{background:linear-gradient(180deg,#0D2240,#2A3F63);}
.card.league-CL .bar{background:linear-gradient(180deg,var(--c_004d98),var(--c_1976d2));}
.card.league-UNL .bar{background:linear-gradient(180deg,var(--c_0d47a1),var(--c_004d98));}
.card.league-BRA .bar{background:linear-gradient(180deg,var(--c_ffdf00),var(--c_ffc107));}
.card.league-ARG .bar{background:linear-gradient(180deg,var(--c_75aadb),var(--c_4a90d9));}
.comp-INTL{color:var(--c_1b5e20);}
.card.league-BL .bar{background:linear-gradient(180deg,#DC052D,#E8484C);}
.card.league-SA .bar{background:linear-gradient(180deg,#003C7E,#2E6DB4);}
.card.league-OTHER .bar{background:var(--c_757575);}
.card.league-PL{background:linear-gradient(135deg,var(--c_f3e5f5) 0%,var(--c_e1bee7) 30%,var(--c_fff) 100%);}
.card.league-PD{background:linear-gradient(135deg,var(--c_ffebee) 0%,var(--c_ffcdd2) 30%,var(--c_fff) 100%);}
.card.league-FL{background:linear-gradient(135deg,var(--c_eceff1) 0%,var(--c_cfd8dc) 50%,var(--c_fff) 100%);}
.card.league-CL{background:linear-gradient(135deg,var(--c_e3f2fd) 0%,var(--c_bbdefb) 30%,var(--c_fff) 100%);}
.card.league-UNL{background:linear-gradient(135deg,var(--c_e3f2fd) 0%,var(--c_90caf9) 50%,var(--c_fff) 100%);}
.card.league-INTL .bar{background:var(--c_757575);}
.card.league-INTL{background:linear-gradient(135deg,var(--c_e0e0e0) 0%,var(--c_f5f5f5) 50%,var(--c_fff) 100%);}
.card.league-BRA{background:linear-gradient(135deg,var(--c_fff9c4) 0%,var(--c_fff59d) 50%,var(--c_fff) 100%);}
.card.league-ARG{background:linear-gradient(135deg,var(--c_e3f2fd) 0%,var(--c_bbdefb) 50%,var(--c_fff) 100%);}
.card.league-BL{background:linear-gradient(135deg,#FFEBEE 0%,#FFCDD2 40%,#F0F2F5 100%);}
.card.league-SA{background:linear-gradient(135deg,#E3F2FD 0%,#BBDEFB 40%,#F0F2F5 100%);}
.card.league-OTHER{background:linear-gradient(135deg,var(--c_e0e0e0) 0%,var(--c_f5f5f5) 50%,var(--c_fff) 100%);}
.card.ended .status-tag.ended{background:var(--c_eceff1);color:var(--c_78909c);font-weight:700;}
.card.ended .score-box{background:rgba(0,0,0,.04);}
.card-top{display:flex;justify-content:flex-start;align-items:center;gap:8px;margin-bottom:12px;padding-left:10px;}
.comp{font-size:var(--fs-13);font-weight:700;flex:1;}
.comp-PL{color:var(--c_37003c);}
.comp-PD{color:var(--c_ff3214);}
.comp-FL{color:var(--c_000000);}
.comp-CL{color:var(--c_103a8c);}
.comp-SA{color:var(--c_009246);}
.league-badge{width:36px;height:36px;object-fit:contain;}
.status-tag{padding:3px 10px;border-radius:var(--br-12);font-size:var(--fs-11);font-weight:700;}
.status-tag.ended{background:rgba(0,0,0,.08);color:var(--c_666);}
.status-tag.upcoming{background:var(--c_fff3d6);color:var(--c_b8860b);}
.status-tag.live{background:rgba(224,36,36,.12);color:var(--live);}
.status-tag.live::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--live);margin-right:5px;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.3;}}
.goal-toast{position:fixed;top:12%;left:50%;transform:translateX(-50%);background:rgba(18,18,18,.94);color:var(--c_fff);padding:13px 24px;border-radius:var(--br-12);font-size:15px;font-weight:700;z-index:var(--z-9999);box-shadow:0 4px 24px rgba(0,0,0,.35);border-left:4px solid var(--live);max-width:86%;text-align:center;pointer-events:none;animation:toastIn .35s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@keyframes toastIn{from{opacity:0;transform:translateX(-50%) translateY(-10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.goal-toast.toast-out{opacity:0;transition:opacity .55s;}
.teams{display:flex;align-items:center;gap:10px;margin-bottom:12px;padding-left:10px;}
.team{flex:1;display:flex;flex-direction:column;gap:2px;align-items:center;}
.team.home{text-align:right;}
.team.away{text-align:left;}
.team .logo{width:48px;height:48px;object-fit:contain;cursor:pointer;padding:2px;margin:-2px;position:relative;z-index:var(--z-10);transition:transform .15s;}
.team .logo:active{transform:scale(.9);}
.team .name{font-size:16px;font-weight:700;color:var(--text);}
.team .name.fav{color:var(--gold);font-weight:800;}
.team .name.other{color:var(--sub);font-size:15px;}
.team .rank{font-size:var(--fs-11);color:var(--sub);font-weight:500;}
.team .tier{font-size:var(--fs-10);color:var(--c_fff);background:linear-gradient(135deg,var(--c_0d47a1),var(--c_1e88e5));padding:1px 7px;border-radius:var(--br-8);font-weight:700;margin-top:1px;letter-spacing:.5px;}
.vs{font-size:var(--fs-12);font-weight:800;color:var(--c_999);flex:0 0 auto;padding:0 4px;}
.score-box{background:rgba(0,0,0,.06);padding:4px 14px;border-radius:var(--br-10);}
.score{font-size:clamp(24px,8vw,30px);font-weight:800;color:var(--text);letter-spacing:1px;font-variant-numeric:tabular-nums;}
.date-row{display:flex;align-items:center;justify-content:space-between;border-top:1px dashed var(--c_e5e5e5);padding:10px 10px 0 10px;}
.date{font-size:var(--fs-12);color:var(--sub);font-variant-numeric:tabular-nums;}
.empty{text-align:center;padding:60px 20px;color:rgba(255,255,255,.7);font-size:var(--fs-14);line-height:2;}
.empty button{margin-top:10px;padding:10px 24px;border-radius:24px;border:none;background:var(--c_fff);color:var(--c_333);font-weight:700;font-size:var(--fs-14);cursor:pointer;transition:transform .15s;}
.empty button:active{transform:scale(.95);}
.load-more{text-align:center;padding:14px;color:var(--c_666);font-size:var(--fs-13);font-weight:700;cursor:pointer;background:var(--c_f0f0f0);border-radius:var(--br-12);margin:12px 4px;transition:background .15s;}
.load-more:active{background:var(--c_e0e0e0);}
@keyframes cardIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.card{animation:cardIn .3s ease both;}
.section-sep{position:sticky;top:0;z-index:var(--z-5);background:var(--bg);padding:6px 0;}
#refreshIndicator{position:fixed;top:10px;right:12px;width:9px;height:9px;border-radius:50%;background:var(--c_4caf50);box-shadow:0 0 6px rgba(76,175,80,.85);z-index:var(--z-9999);pointer-events:none;transition:background .3s,box-shadow .3s,transform .2s;display:none;}
#refreshIndicator.show{background:var(--c_d4a017);box-shadow:0 0 10px rgba(212,160,23,1);transform:scale(1.3);}
#refreshIndicator.err{background:var(--c_d32f2f);box-shadow:0 0 6px rgba(211,47,47,.85);transform:scale(1);}
@keyframes spin{to{transform:translateX(50%) rotate(360deg);}}
@keyframes scoreFlash{0%{background:var(--c_ffeb3b);}100%{background:transparent;}}
.score.flash{animation:scoreFlash 1.2s ease;}
.desc{margin:0 0 0 8px;padding:0 12px 0 10px;border-left:2px solid rgba(0,0,0,.15);border-radius:0 8px 8px 0;font-size:12.5px;color:var(--c_444);line-height:1.7;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease,margin .35s ease;}
.card.open .desc{max-height:600px;padding:10px 12px 10px 10px;margin-top:10px;}
.desc b{color:var(--c_111);}
.goals-box{margin:0 0 0 8px;max-height:0;overflow:hidden;transition:max-height .35s ease,padding .35s ease,margin .35s ease;}
.card.open .goals-box{max-height:500px;margin-top:10px;}
.goals-list{background:rgba(0,0,0,.035);border-radius:var(--br-10);padding:8px 12px;display:flex;flex-direction:column;gap:5px;}
.goal{display:flex;align-items:center;gap:7px;font-size:12.5px;line-height:1.3;}
.goal.a{flex-direction:row-reverse;}
.g-arr{font-size:9px;color:var(--c_b0b0b0);}
.g-time{font-variant-numeric:tabular-nums;font-weight:800;color:var(--c_999);font-size:11.5px;min-width:36px;}
.goal.h .g-time{text-align:right;}
.g-name{font-weight:700;color:var(--c_222);}
.g-tag{font-size:var(--fs-10);color:var(--c_b0b0b0);font-weight:700;border:1px solid var(--c_ddd);border-radius:4px;padding:0 3px;}
.tip-view{text-align:center;font-size:var(--fs-12);color:var(--sub);margin-top:8px;transition:opacity .2s;}
.tip-hide{text-align:center;font-size:var(--fs-12);color:var(--sub);margin-top:8px;display:none;}
.cal-btn-mini{display:none;width:56px;height:28px;border-radius:var(--br-14);align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:transform .12s,box-shadow .12s;color:var(--c_fff);font-size:var(--fs-12);font-weight:700;letter-spacing:1px;}
.cal-btn-mini.cal-PL{background:linear-gradient(145deg,var(--c_ffb300),var(--c_f9a825));box-shadow:0 3px 10px rgba(249,168,37,.4),inset 0 1px 0 rgba(255,255,255,.3);color:var(--c_5d4037);}
.cal-btn-mini.cal-PD{background:linear-gradient(145deg,var(--c_43a047),var(--c_2e7d32));box-shadow:0 3px 10px rgba(46,125,50,.4),inset 0 1px 0 rgba(255,255,255,.3);}
.cal-btn-mini.cal-FL{background:linear-gradient(145deg,var(--c_1a3a5c),var(--c_0d2240));box-shadow:0 3px 10px rgba(13,34,64,.45),inset 0 1px 0 rgba(255,255,255,.2);color:var(--c_fff);}
.cal-btn-mini.cal-CL{background:linear-gradient(145deg,var(--c_1976d2),var(--c_004d98));box-shadow:0 3px 10px rgba(21,101,192,.45),inset 0 1px 0 rgba(255,255,255,.25);}
.cal-btn-mini.cal-INTL{background:linear-gradient(145deg,var(--c_00bfa5),var(--c_009c6a));box-shadow:0 3px 10px rgba(0,156,106,.4),inset 0 1px 0 rgba(255,255,255,.3);}
.cal-btn-mini.cal-OTHER{background:linear-gradient(145deg,var(--c_78909c),var(--c_546e7a));box-shadow:0 3px 10px rgba(84,110,122,.4),inset 0 1px 0 rgba(255,255,255,.25);}
.cal-btn-mini:active{transform:scale(.92);box-shadow:0 1px 4px rgba(0,0,0,.25),inset 0 1px 2px rgba(0,0,0,.2);}
.cal-btn-mini.booked{background:linear-gradient(145deg,var(--c_43a047),var(--c_2e7d32))!important;color:var(--c_fff)!important;box-shadow:0 3px 10px rgba(46,125,50,.4),inset 0 1px 0 rgba(255,255,255,.3)!important;}
.card:not(.ended).open .cal-btn-mini{display:flex;}
.cal-hint{text-align:center;font-size:var(--fs-10);color:var(--sub);margin-top:4px;display:none;}
.card:not(.ended).open .cal-hint{display:block;}
.card.open .tip-view{display:none;}
.card.open .tip-hide{display:block;}
.empty{text-align:center;color:var(--sub);padding:40px;}
/* 已赛场次堆叠效果 */
.stack-row{display:none;}
.card.ended:not(.open){height:62px;overflow:hidden;margin-bottom:-37px;padding:11px 12px 11px 16px;position:relative;border-radius:var(--br-16);box-shadow:0 4px 14px rgba(0,0,0,.14),0 1px 3px rgba(0,0,0,.08);}
.card.ended:not(.open).last-ended{margin-bottom:0;}
.card.ended.stand-card:not(.open){overflow:visible;padding-left:0;padding-right:12px;cursor:default;-webkit-tap-highlight-color:transparent;}
.card.ended:not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:linear-gradient(to top,rgba(0,0,0,.06),transparent);pointer-events:none;border-radius:0 0 16px 16px;}
.card.ended:not(.open) .card-top,
.card.ended:not(.open) .teams,
.card.ended:not(.open) .date-row,
.card.ended:not(.open) .desc,
.card.ended:not(.open) .tip-view,
.card.ended:not(.open) .tip-hide{display:none;}
.card.ended:not(.open) .stack-row{display:block;position:relative;width:100%;height:38px;}
.stack-badge{width:17px;height:17px;object-fit:contain;position:absolute;left:0;top:58%;transform:translateY(-50%);}
.stack-comp{position:absolute;left:20px;top:58%;transform:translateY(-50%);font-size:11px;font-weight:600;color:var(--sub,var(--c_666));white-space:nowrap;max-width:26%;overflow:hidden;text-overflow:ellipsis;z-index:var(--z-100);}
.stack-badge-sm{width:16px;height:16px;}
.stack-team{display:flex;align-items:center;gap:4px;position:absolute;top:58%;transform:translateY(-50%);max-width:38%;overflow:visible;z-index:var(--z-100);cursor:default;}
/* 热点角标修复(2026-10-05)：收起态卡片内绝对定位右上角，避免被队徽(z-index:var(--z-100))遮挡；展开态.card-top内为flex流内不受影响 */
.card:not(.open) .stack-row .hot-tag{position:absolute;right:8px;top:0;z-index:120;}
/* 已赛收起卡：队徽跟卡框作为一个整体层叠，被下一张卡整体压住（2026-09-09） */
.card.ended:not(.open) .stack-team{z-index:auto;}
.card.ended:not(.open) .stack-badge{z-index:auto;}
.stack-team.home{left:24px;justify-content:flex-start;}
.stack-team.away{right:0;justify-content:flex-end;}
.stack-team img{width:22px;height:22px;object-fit:contain;flex-shrink:0;padding:2px;margin:-2px;border-radius:6px;cursor:pointer;}
.stack-team span{font-size:var(--fs-13);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;color:var(--c_444);}
.stack-team span.fav{color:var(--gold);}
.stack-score{font-size:18px;font-weight:800;font-variant-numeric:tabular-nums;background:rgba(0,0,0,.08);padding:3px 9px;border-radius:var(--br-8);letter-spacing:.5px;white-space:nowrap;position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);}
.stack-live{color:var(--c_e84545);font-size:var(--fs-12);margin-left:3px;}
.stack-min{color:var(--c_e84545);font-size:var(--fs-11);font-weight:700;margin-left:4px;}
.stack-min.live-ht{color:var(--c_ff9800);}
.center-live{font-size:var(--fs-11);font-weight:700;color:var(--c_e84545);margin-top:2px;}
/* 积分榜卡片 - Score90风格 */
.card.ended:not(.open) .stand-row{display:flex;position:relative;width:100%;height:38px;align-items:center;padding:0 0 0 34px;box-sizing:border-box;overflow:visible;}
.stand-row .stand-rank-num{position:absolute;left:0;top:0;bottom:0;width:34px;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;color:var(--c_fff);flex-shrink:0;font-variant-numeric:tabular-nums;}
.stand-row .stand-crest-left{width:64px;height:64px;object-fit:contain;position:relative;top:-4px;margin:0 8px 0 0;flex-shrink:0;filter:drop-shadow(0 2px 4px rgba(0,0,0,0.3));}
.stand-row .stand-main{flex:1;display:flex;flex-direction:row;align-items:center;gap:10px;min-width:0;}
.stand-row .stand-name{font-size:var(--fs-13);font-weight:800;color:var(--c_1a1a1a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0;}
.stand-row .stand-name.fav{color:var(--c_b8860b);}
.stand-row .stand-data{font-size:var(--fs-12);font-weight:700;color:var(--c_333);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0;margin-left:auto;}
.stand-row .stand-points{font-size:18px;font-weight:900;color:var(--c_000);padding:0 4px 0 8px;flex-shrink:0;font-variant-numeric:tabular-nums;min-width:36px;text-align:right;}
.card.ended.open{position:relative;z-index:50;margin-bottom:14px;height:auto;overflow:visible;box-shadow:0 8px 24px rgba(0,0,0,.16),0 2px 6px rgba(0,0,0,.08);}
.card.ended.open .stack-row{display:none;}
.card.ended.open .card-top{display:flex;}
.card.ended.open .date-row{display:flex;}
/* 未赛收起（参照已赛，无比分显示开球时间，与已赛保持间隔不叠堆） */
.stack-time{font-size:var(--fs-13);font-weight:800;font-variant-numeric:tabular-nums;background:rgba(0,0,0,.07);padding:3px 9px;border-radius:var(--br-8);letter-spacing:.5px;white-space:nowrap;position:absolute;left:50%;top:58%;transform:translate(-50%,-50%);color:var(--c_5d4037);z-index:101;display:flex;flex-direction:column;align-items:center;gap:0;line-height:1.2;}
.stack-time .st-time{font-size:var(--fs-14);}
.stack-time .st-date{font-size:var(--fs-10);font-weight:700;color:var(--c_8a6d5d);letter-spacing:.3px;}
/* 未赛收起 = 62px紧凑行（2026-09-08 恢复 1d33eec 版：队名13px + 时间居中单行 + 主左客右） */
.card:not(.ended):not(.open){height:62px;overflow:hidden;margin-bottom:-11px;padding:11px 12px 11px 16px;position:relative;border-radius:var(--br-16);box-shadow:0 4px 14px rgba(0,0,0,.14),0 1px 3px rgba(0,0,0,.08);}
.card:not(.ended):not(.open)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:22px;background:linear-gradient(to top,rgba(0,0,0,.06),transparent);pointer-events:none;border-radius:0 0 16px 16px;}
.card:not(.ended):not(.open) .card-top,
.card:not(.ended):not(.open) .teams,
.card:not(.ended):not(.open) .date-row,
.card:not(.ended):not(.open) .desc,
.card:not(.ended):not(.open) .goals-box,
.card:not(.ended):not(.open) .tip-view,
.card:not(.ended):not(.open) .tip-hide{display:none;}
.card:not(.ended):not(.open) .stack-row{display:block;position:relative;width:100%;height:38px;}
.card:not(.ended).open{position:relative;z-index:3000;margin-bottom:14px;height:auto;overflow:visible;box-shadow:0 8px 24px rgba(0,0,0,.16),0 2px 6px rgba(0,0,0,.08);}
.card:not(.ended).open .stack-row{display:none;}
#backBtn{position:fixed;right:28px;bottom:90px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--c_00695c),var(--c_00897b));color:var(--c_fff);font-size:22px;font-weight:bold;border:none;cursor:pointer;box-shadow:0 4px 14px rgba(0,105,92,.4);z-index:99999;display:none;transition:transform .15s ease;}
#backBtn:active{transform:scale(.9);}

/* ===== 积分榜/射手榜 ===== */
.view{display:none;}
.view.active{display:block;}
.sub-header{position:fixed;top:0;left:0;right:0;z-index:var(--z-1000);background:var(--c_fff);box-shadow:0 2px 8px rgba(0,0,0,.06);height:44px;overflow:visible;}
/* CEO_CMD-20260926-P0 header 对齐修复：顶栏统一垂直居中（原先 flex-end + 各元素不一致的 margin-bottom
   导致返回键/版本号/联赛名/标签页纵向错位，实测 centerY 分布在 22~30.5px）。改为 align-items:center
   并移除各子元素的 margin-bottom 补偿，44px 高的 header 内所有元素 centerY 统一为 22px。 */
.table-header{position:static;background:var(--c_fff);height:44px;box-sizing:border-box;display:flex;align-items:center;padding:0 24px 0 6px;box-shadow:0 2px 8px rgba(0,0,0,.06);overflow:visible;}
.sub-top{display:flex;align-items:center;gap:8px;width:100%;height:100%;}
.sub-back{width:28px;height:28px;border-radius:50%;border:none;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--c_555);padding:0;margin-left:auto;}
.version-num{font-size:var(--fs-10);color:var(--c_aaa);font-weight:500;margin-right:2px;flex-shrink:0;}
.sub-back:active{background:var(--c_f0f2f5);}
.table-league-icon{width:36px;height:36px;object-fit:contain;flex-shrink:0;background:transparent!important;border:none!important;}
#tableLeagueName{font-size:15px;font-weight:800;color:var(--text);flex-shrink:0;}
.sub-tabs-normal{display:flex;gap:0;margin-left:6px;position:relative;z-index:60;flex-shrink:0;align-self:flex-end;}
.st-tab{font-size:var(--fs-12);font-weight:700;color:var(--c_999);cursor:pointer;padding:10px 14px;background:var(--c_f0f2f5);border-radius:var(--br-8) 8px 0 0;transition:all .15s;line-height:1;}
.st-tab.on{color:var(--c_fff);background:var(--pl);}
.st-tab:first-child{border-radius:var(--br-8) 0 0 0;}
.st-tab:last-child{border-radius:0 8px 0 0;}
.sub-ver{font-size:9px;color:var(--c_ccc);font-weight:600;flex-shrink:0;}
.sub-tabs-right{position:fixed;right:0;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:0;z-index:998;}
.sub-tab-r{font-size:var(--fs-12);font-weight:700;color:var(--c_999);cursor:pointer;padding:18px 8px;background:var(--c_f0f2f5);border-radius:var(--br-12) 0 0 12px;transition:all .15s;writing-mode:vertical-rl;letter-spacing:3px;box-shadow:-2px 0 10px rgba(0,0,0,.1);}
.sub-tab-r.on{color:var(--c_fff);background:var(--pl);}
.sub-tab-r:first-child{border-radius:var(--br-10) 0 0 0;}
.sub-tab-r:last-child{border-radius:0 0 0 10px;}
.sub-tabs{display:flex;gap:0;border-bottom:2px solid var(--c_eee);margin-top:2px;}
.sub-tab{flex:1;padding:2px 0;text-align:center;font-size:var(--fs-12);font-weight:700;color:var(--c_999);cursor:pointer;border-bottom:3px solid transparent;margin-bottom:-2px;transition:color .15s,border-color .15s;display:flex;align-items:center;justify-content:center;}
.sub-tab.on{color:var(--pl);border-bottom-color:var(--pl);}
.table-wrap{padding:12px;}
.table-card{background:transparent;overflow:hidden;}
.table-row{display:grid;grid-template-columns:24px 26px 1fr 30px 44px 44px 32px;align-items:center;padding:10px 4px;font-size:var(--fs-12);border-bottom:1px solid rgba(0,0,0,.06);gap:3px;}
.table-row.head{background:transparent;font-weight:700;color:var(--c_999);font-size:var(--fs-11);border-bottom:2px solid rgba(0,0,0,.08);}
.table-row:last-child{border-bottom:none;}
.table-row .pos{text-align:center;font-weight:700;color:var(--c_666);}
.table-row .pos.top4{color:var(--c_1b8a3e);}
.table-row .pos.top6{color:var(--c_2563eb);}
.table-row .pos.bottom3{color:var(--c_dc2626);}
.table-row .tlogo{width:24px;height:24px;object-fit:contain;justify-self:center;}
.table-row .tname{font-weight:600;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.table-row .tname.fav{color:var(--gold);}
.table-row .num{text-align:center;color:var(--c_555);font-variant-numeric:tabular-nums;}
.table-row .pts{text-align:center;font-weight:800;font-size:var(--fs-14);color:var(--text);}
.table-row.highlight{animation:flashRow 1.2s ease-in-out 2;background:linear-gradient(90deg,var(--c_fef3c7),var(--c_fff));}
@keyframes flashRow{0%,100%{background:transparent;}50%{background:var(--c_fef3c7);}}
.scorer-row{display:grid;grid-template-columns:22px 1fr 24px 24px 32px;align-items:center;padding:11px 4px;font-size:var(--fs-12);border-bottom:1px solid rgba(0,0,0,.06);gap:3px;}
.scorer-row.head{background:transparent;font-weight:700;color:var(--c_999);font-size:var(--fs-11);border-bottom:2px solid rgba(0,0,0,.08);}
.scorer-row:last-child{border-bottom:none;}
.scorer-row .sname{font-weight:600;font-size:var(--fs-13);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.scorer-row .sname.br{color:var(--gold);}
.scorer-row .steam{font-size:var(--fs-10);color:var(--c_888);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px;}
.scorer-row .steam-logo{width:12px;height:12px;object-fit:contain;flex-shrink:0;}
.scorer-row .sgoals{text-align:center;font-weight:800;font-size:16px;color:var(--pl);}
.scorer-row .snum{text-align:center;color:var(--c_555);font-variant-numeric:tabular-nums;}

/* 射手榜卡片样式（完全照搬积分榜参数，仅不堆叠） */
.scorer-card{position:relative;display:flex;align-items:center;width:100%;height:50px;border-radius:var(--br-14);margin-bottom:4px;padding:0 12px 0 0;box-sizing:border-box;overflow:visible;cursor:default;-webkit-tap-highlight-color:transparent;}
.scorer-card:last-child{margin-bottom:0;box-shadow:0 4px 16px rgba(0,0,0,.06);}
.scorer-card .scorer-row{display:flex;position:relative;width:100%;height:30px;align-items:center;padding:0 0 0 26px;box-sizing:border-box;overflow:visible;}
.scorer-card .scorer-rank-num{position:absolute;left:0;top:0;bottom:0;width:32px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;color:var(--c_333);z-index:var(--z-2);background:linear-gradient(135deg,var(--c_f0f0f0) 0%,var(--c_e0e0e0) 100%);box-shadow:inset -2px 0 4px rgba(0,0,0,0.1),2px 0 4px rgba(0,0,0,0.1);border-radius:var(--br-14) 0 0 14px;}


.scorer-card .scorer-crest-left{width:64px;height:64px;overflow:hidden;object-fit:contain;position:relative;top:-2px;margin:0 8px 0 0;flex-shrink:0;}
.scorer-card .scorer-crest-right{width:53px;height:53px;overflow:hidden;position:absolute;right:6px;bottom:0;flex-shrink:0;z-index:3;background:transparent;}
.scorer-card .scorer-crest-right img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 3px 6px rgba(0,0,0,0.4));}
.scorer-card .scorer-crest-left img{width:100%;height:100%;object-fit:contain;}
.scorer-card .scorer-flag{position:absolute;left:32px;top:0;width:75px;height:50px;overflow:hidden;z-index:1;opacity:1;background-size:100% 100%!important;background-position:center!important;background-repeat:no-repeat!important;background-color:rgba(255,255,255,0.35);}


.scorer-card .scorer-name-wrap{display:flex;flex-direction:column;justify-content:center;min-width:0;flex:1;margin-left:85px;position:relative;z-index:var(--z-2);}
.scorer-card .scorer-name{font-size:var(--fs-13);font-weight:800;color:var(--c_fff);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.2;position:relative;z-index:var(--z-2);text-shadow:0 1px 2px rgba(0,0,0,0.3);}
.scorer-card .scorer-name.br{color:var(--c_b8860b);}
.scorer-card .scorer-team{font-size:8px;color:rgba(255,255,255,0.8);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:var(--z-2);}
.scorer-card .scorer-nat{font-size:8px;color:rgba(255,255,255,0.65);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:var(--z-2);}
.scorer-card .scorer-team-logo{width:11px;height:11px;object-fit:contain;flex-shrink:0;}




.scorer-card .scorer-goals{font-size:21px;font-weight:900;color:var(--c_fff);min-width:40px;text-align:right;padding:0 65px 0 8px;flex-shrink:0;margin-left:auto;position:relative;z-index:var(--z-2);text-shadow:0 1px 3px rgba(0,0,0,0.3);}
.scorer-card .scorer-goals span{font-size:var(--fs-10);font-weight:400;margin-left:2px;color:rgba(255,255,255,0.8);}
.empty-tip{text-align:center;padding:40px;color:var(--c_999);font-size:var(--fs-13);}
.team .logo{cursor:pointer;}
.team .logo:active, .stack-team img:active, .stand-crest:active, .scorer-crest:active{transform:scale(0.88);filter:brightness(.92);box-shadow:0 0 0 2px rgba(212,160,23,.55),0 0 0 5px rgba(212,160,23,.18);transition:all 0.12s ease;-webkit-tap-highlight-color:transparent;}
/* CEO_CMD-20260926-045 国旗容器适配3:2旗面比例，完整显示不裁切 */
.stand-crest[src*="img_webp/flags"]{width:64px!important;height:43px!important;object-fit:contain!important;}
.scorer-crest[src*="img_webp/flags"]{width:53px!important;height:35px!important;object-fit:contain!important;}
.logo[src*="img_webp/flags"]{width:48px!important;height:32px!important;object-fit:contain!important;}
.team-card>img[src*="img_webp/flags"]{width:48px!important;height:32px!important;object-fit:contain!important;}

/* 积分榜页面整体布局 */
#tableView{min-height:auto;background:transparent !important;}
#tableView .table-main{background:linear-gradient(135deg,var(--c_f3e5f5) 0%,var(--c_faf0ff) 40%,var(--c_f0f2f5) 100%);}



.table-layout{display:block;}

.global-league-nav{position:fixed;right:0;top:44px;bottom:0;width:22px;display:flex;flex-direction:column;gap:0;z-index:999;padding:0;overflow:visible;transition:opacity .25s ease;}
.global-league-nav.nav-scrolled{opacity:.3;pointer-events:none;}
.global-league-nav .league-nav-item{flex:1;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer;transition:all .2s ease;position:relative;border-radius:0 12px 12px 0;border-bottom:1px solid rgba(255,255,255,.15);box-shadow:-3px 2px 10px rgba(0,0,0,.18);}
/* 2026-10-16 书签图标修复（用户点名：意甲/欧国联/法甲/德甲）：四个联赛图标去除强制白剪影改原色显示
   ——意甲蓝紫渐变菱形、欧国联彩色旗帜（被 brightness(0) invert(1) 变白后细节全丢），
   法甲/德甲细线条图标换官方彩色粗版（深蓝底黄六边形/红底白球员，小尺寸才清晰）；
   其余联赛保持原白剪影样式不动；不加白框 */
.league-nav-item .ln-icon-real{width:22px;height:22px;object-fit:contain;flex-shrink:0;filter:brightness(0) invert(1) drop-shadow(0 1px 2px rgba(0,0,0,.25));}
.league-nav-item.SA .ln-icon-real,.league-nav-item.UNL .ln-icon-real,.league-nav-item.BL .ln-icon-real,.league-nav-item.FL .ln-icon-real{filter:none;filter:drop-shadow(0 1px 2px rgba(0,0,0,.4));}
.league-nav-item .ln-name{font-size:8px;font-weight:700;color:var(--c_fff);writing-mode:vertical-rl;letter-spacing:2px;}
.league-nav-item{flex:1;}
.league-nav-item.PL{background:linear-gradient(160deg,var(--c_37003c),var(--c_5c005c));}
.league-nav-item.PD{background:linear-gradient(160deg,var(--c_ff3214),var(--c_ff3344));}
.league-nav-item.CL{background:linear-gradient(160deg,var(--c_004d98),var(--c_1976d2));}
.league-nav-item.SA{background:linear-gradient(160deg,#003C7E,#2E6DB4);}
.league-nav-item.BL{background:linear-gradient(160deg,#DC052D,#E8484C);}
.league-nav-item.UNL{background:linear-gradient(160deg,var(--c_0d47a1),var(--c_004d98));}
.league-nav-item.FL{background:linear-gradient(160deg,#0D2240,#2A3F63);}
.league-nav-item.ALL{background:linear-gradient(160deg,var(--c_37474f),var(--c_546e7a));}
.league-nav-item.active{box-shadow:-6px 3px 18px rgba(0,0,0,.35);z-index:var(--z-10);transform:scale(1.08);}
.league-nav-item.active::after{display:none;}

.table-main{padding:60px 34px 0 6px;}



/* 射手榜前三名小头像 */
.scorer-mini-avatar{width:32px;height:32px;border-radius:50%;object-fit:cover;margin:0 4px 0 0;position:relative;top:-2px;flex-shrink:0;border:2px solid rgba(255,255,255,.8);}





/* ===== 移动端适配 ===== */
@media (max-width:480px){
  .container{padding:12px 8px 0 8px;}
  .header{padding:0;}
  .tf{width:26px;height:26px;}
  .tf img{width:22px;height:22px;}
  .team-grid{gap:4px;}
  .team-card{padding:6px 2px;}
  .team-card-crest{width:24px;height:24px;}
  .team-card-crest.nation{width:24px;height:16px;}
  .team-card-name{font-size:8px;}
  .team-card-en{font-size:5.5px;}
  .team-fav-btn{font-size:8px;padding:2px 3px;}
  #list{padding-right:calc(8px + 22px);}
  .card{padding:12px;border-radius:var(--br-14);}
  .score{font-size:26px;}
  .team .name{font-size:15px;}
  .team .logo{width:42px;height:42px;}
  .team .logo[src*="img_webp/flags"]{width:42px!important;height:28px!important;object-fit:contain!important;}
  .comp{font-size:var(--fs-12);}
  .desc{font-size:var(--fs-12);line-height:1.65;}
  .goal{font-size:var(--fs-12);}
  .scorer-row{padding:10px 4px;font-size:var(--fs-11);}
  .scorer-row .sname{font-size:var(--fs-12);}
  .scorer-row .sgoals{font-size:var(--fs-14);}
}
@media (max-width:360px){
  .score{font-size:22px;}
  .team .name{font-size:var(--fs-14);}
  .team .logo{width:38px;height:38px;}
  .tf{width:24px;height:24px;}
  .tf img{width:20px;height:20px;}
}


/* ===== 球队列表页 ===== */
.my-fav-section{margin:8px 14px 8px;padding:12px;background:var(--c_fff);border-radius:var(--br-16);box-shadow:0 2px 12px rgba(0,0,0,.06);}
.my-fav-title{font-size:15px;font-weight:800;color:var(--c_1a1a1a);margin-bottom:10px;display:flex;align-items:center;gap:6px;}
.my-fav-title::before{content:"★";color:var(--c_f5a623);font-size:var(--fs-14);}
.my-fav-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px 6px;}
.fav-team-item{display:flex;align-items:center;gap:5px;transition:all .2s;justify-content:flex-start;min-width:0;padding:4px 0;}
.fav-team-item:active{transform:scale(.96);}
.fav-crest{width:24px;height:24px;object-fit:contain;border-radius:50%;flex-shrink:0;}
.fav-name{font-size:var(--fs-13);color:var(--c_1a1a1a);font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.fav-remove{width:14px;height:14px;border-radius:50%;border:none;background:var(--c_e0e0e0);color:var(--c_666);font-size:var(--fs-10);cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s;flex-shrink:0;}
.fav-remove:active{background:var(--c_ff6b6b);color:var(--c_fff);}
.league-dir{display:flex;gap:8px;padding:10px 14px;overflow-x:auto;white-space:nowrap;position:sticky;top:0;z-index:20;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06);}
.league-dir::-webkit-scrollbar{display:none;}
.league-dir-btn{flex-shrink:0;padding:8px 18px;border-radius:18px;border:1.5px solid transparent;background:var(--c_f0f0f0);color:var(--c_555);font-size:var(--fs-13);font-weight:700;cursor:pointer;transition:all .2s;}
.league-dir-btn:active{transform:scale(.95);}
.league-dir-btn.active{background:var(--c_1a1a1a);color:var(--c_fff);border-color:var(--c_1a1a1a);}
/* 分组只保留上下间距，左右交给容器 padding（与西甲 .table-main 同一基准） */
.league-group{margin:16px 0;}
.league-group-title{font-size:16px;font-weight:800;color:var(--c_1a1a1a);margin-bottom:12px;padding-left:10px;border-left:4px solid var(--c_1a1a1a);display:flex;align-items:center;gap:8px;}
/* 2026-10-15 团队列表每行 6→4 列（用户实测一行6个过挤，恢复一行4个；手机端 480px 断点沿用 gap 微调，无挤压） */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;}
.team-card{display:flex;flex-direction:column;align-items:center;gap:4px;border-radius:var(--br-8);padding:7px 3px;transition:all .2s;text-align:center;position:relative;overflow:hidden;}
.team-card:active{transform:scale(.94);}
/* 深色系12色循环，HSL色相每30°一个，饱和度65%亮度28%，色系广且统一深 */
.team-card.color-0{background:linear-gradient(135deg,hsl(0,65%,28%),hsl(0,65%,33%));}
.team-card.color-1{background:linear-gradient(135deg,hsl(30,65%,28%),hsl(30,65%,33%));}
.team-card.color-2{background:linear-gradient(135deg,hsl(60,65%,28%),hsl(60,65%,33%));}
.team-card.color-3{background:linear-gradient(135deg,hsl(90,65%,28%),hsl(90,65%,33%));}
.team-card.color-4{background:linear-gradient(135deg,hsl(120,65%,28%),hsl(120,65%,33%));}
.team-card.color-5{background:linear-gradient(135deg,hsl(150,65%,28%),hsl(150,65%,33%));}
.team-card.color-6{background:linear-gradient(135deg,hsl(180,65%,28%),hsl(180,65%,33%));}
.team-card.color-7{background:linear-gradient(135deg,hsl(210,65%,28%),hsl(210,65%,33%));}
.team-card.color-8{background:linear-gradient(135deg,hsl(240,65%,28%),hsl(240,65%,33%));}
.team-card.color-9{background:linear-gradient(135deg,hsl(270,65%,28%),hsl(270,65%,33%));}
.team-card.color-10{background:linear-gradient(135deg,hsl(300,65%,28%),hsl(300,65%,33%));}
.team-card.color-11{background:linear-gradient(135deg,hsl(330,65%,28%),hsl(330,65%,33%));}
.team-card-crest{width:30px;height:30px;object-fit:contain;flex-shrink:0;}
.team-card-crest.nation{width:38px;height:25px;object-fit:contain;border-radius:0;box-shadow:0 1px 4px rgba(0,0,0,.3);}
.team-card-info{min-width:0;cursor:pointer;width:100%;}
.team-card-name{font-size:9.5px;font-weight:700;color:var(--c_fff);line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3);}
.team-card-en{font-size:6.5px;color:rgba(255,255,255,.6);margin-top:1px;text-transform:uppercase;letter-spacing:.2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.team-fav-btn{flex-shrink:0;padding:2px 5px;border-radius:var(--br-10);border:1px solid rgba(255,255,255,.3);background:rgba(255,255,255,.15);color:var(--c_fff);font-size:9px;font-weight:700;cursor:pointer;transition:all .2s;width:100%;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);}
.team-fav-btn:active{transform:scale(.93);}
.team-fav-btn.faved{background:rgba(255,255,255,.9);color:var(--c_1a1a1a);border-color:rgba(255,255,255,.9);}
.empty-tip{text-align:center;color:var(--c_999);font-size:var(--fs-13);padding:30px 20px;}
/* ===== 欧国联 ===== */
.unl-group-tabs{display:flex;gap:6px;padding:10px 14px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(0,0,0,.06);}
.unl-group-tab{flex:1;padding:8px 4px;border-radius:var(--br-10);border:1.5px solid transparent;background:var(--c_f0f0f0);color:var(--c_555);font-size:var(--fs-12);font-weight:800;cursor:pointer;transition:all .2s;text-align:center;}
.unl-group-tab.active{background:var(--c_0d47a1);color:var(--c_fff);border-color:var(--c_0d47a1);}
.unl-group-section{margin-bottom:20px;}
.unl-group-title{font-size:var(--fs-14);font-weight:800;color:var(--c_1a1a1a);margin:14px 14px 8px;display:flex;align-items:center;gap:6px;}
.unl-group-title::before{content:"";width:4px;height:16px;background:var(--c_0d47a1);border-radius:var(--br-2);}
