/* =====================================================================
   screens-lbst-fc.css —— 排行榜（lb2-）/ 赛后结算（st3-）两屏 FC 风。
   排行榜：theme-fc.css 共享组件（fc-screen/fc-bg/fc-title/fc-tabs/fc-row/
   fc-badge/fc-bar/fc-btn/fc-card/fc-flag）+ 屏内细节与横版。
   结算：按 design_handoff_match_result/比赛结算.html 像素级复刻（st3-），
   仅复用 fc-bg 背景层组与 --fc-* 令牌；记分牌/统计条/球员表/操作栏
   全部按设计稿令牌另写。竖版（1080x1920，默认）= 设计稿 portrait 响应式
   ×2；横版（body.landscape，1920x1080）= 设计稿桌面布局 ×1.5。
   注：旧 screens-share.css 的 .lbx/.stx 规则因 DOM 换了类名自然失效；
   其中邀请海报遮罩（.share-mask，https://d1u4k7xc6u3yed.cloudfront.net/agent-soccer/js/share.js 动态创建）仍在使用，勿删。
   ===================================================================== */

/* ============================ 排行榜 lb2- ============================ */

.lb2-app {
  position: absolute; inset: 0; z-index: 1;
  display: flex; flex-direction: column;
  gap: 26px;
  padding: 56px 44px 40px;
}

/* ---- 顶栏 ---- */
.lb2-top { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; }
.lb2-title { font-size: 54px; }
.lb2-sp { flex: 1 1 auto; }
.lb2-act { padding: 13px 26px; font-size: 25px; }
/* 邀请好友：金色描边变体（fc-btn 之上） */
.lb2-gold, .st2-gold { color: var(--fc-gold); border-color: rgba(245, 196, 81, 0.45); }
.lb2-gold:hover, .st2-gold:hover { color: var(--fc-gold); box-shadow: 0 0 18px rgba(245, 196, 81, 0.35); }

/* ---- 页签（fc-tabs 之上等分拉伸） ---- */
.lb2-tabs { flex-wrap: nowrap; }
.lb2-tabs .fc-tab { flex: 1 1 0; padding: 16px 0; font-size: 28px; }

/* ---- 列说明行 ---- */
.lb2-colhead {
  min-height: 28px;
  padding: 0 22px;
  font-family: var(--fc-d); font-style: italic; font-weight: 600;
  font-size: 22px; letter-spacing: 2px;
  color: var(--fc-txt-faint);
}

/* ---- 榜单容器 ---- */
.lb2-list {
  display: flex; flex-direction: column;
  gap: 10px;
  overflow-y: auto;
  padding: 14px;
  background: rgba(8, 13, 26, 0.5);
  border: 1px solid var(--fc-stroke);
}

/* ---- 榜单行（leaderboard.js 以 .fc-row.lb2-row 生成） ---- */
.lb2-row { cursor: default; gap: 18px; padding: 16px 22px; flex: none; }
/* 行不可点：关掉 fc-row 的 hover 位移/变色 */
.lb2-row:hover {
  transform: none;
  border-left-color: var(--fc-stroke);
  background: var(--fc-panel2);
}

/* 名次（Saira Condensed 斜体大数字） */
.lb2-rank {
  flex: none; width: 84px; text-align: center;
  font-family: var(--fc-d); font-style: italic; font-weight: 800;
  font-size: 30px; color: var(--fc-txt-faint);
}

/* 主体：名字 + 「我」徽章 / 两行（射手榜） */
.lb2-main { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 14px; overflow: hidden; }
.lb2-name {
  font-size: 30px; font-weight: 600; color: var(--fc-txt);
  overflow: hidden; white-space: nowrap; text-overflow: ellipsis;
}
.lb2-col { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 4px; overflow: hidden; }
.lb2-sub {
  font-size: 21px; color: var(--fc-txt-dim);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* 战绩列 / 数值列（金色 Saira Condensed 大字） */
.lb2-rec { flex: none; font-family: var(--fc-d); font-weight: 600; font-size: 25px; letter-spacing: 1px; color: var(--fc-txt-dim); }
.lb2-val {
  flex: none; min-width: 120px; text-align: right;
  font-family: var(--fc-d); font-style: italic; font-weight: 800;
  font-size: 40px; line-height: 1;
  color: var(--fc-gold);
  text-shadow: 0 0 14px rgba(245, 196, 81, 0.35);
}

/* 头像（射手/助攻榜，六边形切角，与主页 HUD 同语言） */
.lb2-av {
  flex: none; width: 60px; height: 66px; object-fit: cover;
  background: #0c1322;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
  filter: drop-shadow(0 0 6px rgba(190, 205, 230, 0.3));
}

/* 国旗图占位（flagSrc 未知国家） */
.lb2-flag-empty {
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 18px; color: var(--fc-txt-faint);
}

/* ---- 前三名特殊行：金/银/铜渐变描边 + 大字名次（Saira Condensed） ---- */
.lb2-t1 { --lb2-c1: #ffe9a0; --lb2-c2: #f5b324; --lb2-glow: rgba(245, 179, 36, 0.45); }
.lb2-t2 { --lb2-c1: #f6fafe; --lb2-c2: #bccadf; --lb2-glow: rgba(188, 202, 223, 0.4); }
.lb2-t3 { --lb2-c1: #f0b07a; --lb2-c2: #c47a3e; --lb2-glow: rgba(196, 122, 62, 0.45); }
.lb2-top3, .lb2-top3:hover {
  padding: 24px 26px;
  border: 2px solid transparent;
  background:
    linear-gradient(160deg, rgba(18, 27, 47, 0.97), rgba(9, 14, 27, 0.94)) padding-box,
    linear-gradient(120deg, var(--lb2-c1), var(--lb2-c2) 42%, rgba(120, 150, 200, 0.18) 85%) border-box;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.45), 0 0 20px var(--lb2-glow);
}
.lb2-top3 .lb2-rank {
  font-size: 52px; line-height: 1;
  color: var(--lb2-c2);
  text-shadow: 0 0 18px var(--lb2-glow);
}
.lb2-t1 .lb2-rank { font-size: 60px; color: var(--lb2-c2); }
.lb2-top3 .lb2-name { font-size: 36px; font-weight: 700; }
.lb2-top3 .lb2-val { font-size: 50px; }
.lb2-top3 .lb2-av { width: 76px; height: 84px; }

/* ---- 我的行：电光绿高亮（与前三名叠加时保留渐变描边、只加绿光） ---- */
.lb2-me, .lb2-me:hover {
  border-left-color: var(--fc-energy);
  background: rgba(21, 227, 113, 0.10);
  box-shadow: inset 0 0 18px rgba(21, 227, 113, 0.08), 0 0 14px rgba(21, 227, 113, 0.2);
}
.lb2-top3.lb2-me, .lb2-top3.lb2-me:hover {
  background:
    linear-gradient(160deg, rgba(14, 33, 30, 0.97), rgba(8, 16, 24, 0.94)) padding-box,
    linear-gradient(120deg, var(--lb2-c1), var(--lb2-c2) 42%, rgba(21, 227, 113, 0.45) 85%) border-box;
  box-shadow: 0 8px 26px rgba(0, 0, 0, 0.45), 0 0 22px rgba(21, 227, 113, 0.3);
}

/* ---- 我的名次行 + 状态行 ---- */
.lb2-myrank {
  display: flex; align-items: center; gap: 14px;
  min-height: 40px;
  font-family: var(--fc-d); font-style: italic; font-weight: 700;
  font-size: 28px; letter-spacing: 1px;
  color: var(--fc-energy);
}
.lb2-status { min-height: 32px; font-size: 24px; color: var(--fc-txt-dim); }

/* ============================ 结算 st3- ============================
   design_handoff_match_result/比赛结算.html 像素级复刻。
   默认 = 竖版（1080x1920 舞台）：设计稿 portrait/窄屏响应式 ×2 —— 记分牌
   单列比分置顶、主体单列、操作栏吸底、结果胶囊隐藏。
   横版覆盖在文件尾 body.landscape 区（设计稿桌面布局 ×1.5）。 */

.st3-app { position: absolute; inset: 0; z-index: 1; }
/* 内容滚动层：操作栏为吸底覆盖层，底部 padding 给其留位（内部滚动兜底） */
.st3-wrap {
  position: absolute; inset: 0;
  overflow-y: auto;
  display: flex; flex-direction: column;
  gap: 36px;
  padding: 40px 28px 230px;
}

/* ---- 标题条：绿→青斜切色条 + 压缩斜体标题 + 结果胶囊 ---- */
.st3-head { display: flex; align-items: center; gap: 24px; flex: none; }
.st3-accent {
  width: 12px; height: 60px; flex: none;
  background: linear-gradient(180deg, var(--fc-energy), var(--fc-cyan));
  box-shadow: 0 0 28px rgba(21, 227, 113, 0.6);
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 8px), 0 100%);
}
.st3-h1 {
  font-family: var(--fc-d); font-style: italic; font-weight: 800;
  font-size: 56px; letter-spacing: 2px; color: var(--fc-txt);
}
/* 结果胶囊（金色斜切）：设计稿窄屏隐藏 → 竖版不显示，横版恢复 */
.st3-chip {
  display: none;
  margin-left: auto;
  font-weight: 900; font-size: 28px; letter-spacing: 4px;
  padding: 12px 32px;
  color: var(--fc-gold);
  border: 1px solid rgba(245, 196, 81, 0.45);
  background: rgba(245, 196, 81, 0.1);
  clip-path: polygon(16px 0, 100% 0, 100% calc(100% - 16px), calc(100% - 16px) 100%, 0 100%, 0 16px);
}

/* ---- 记分牌（斜切大卡，右下切角 = 设计稿 26px ×2） ---- */
.st3-board {
  position: relative; overflow: hidden; flex: none;
  background: linear-gradient(160deg, rgba(16, 24, 42, 0.9), rgba(8, 13, 24, 0.7));
  border: 1px solid var(--fc-stroke);
  padding: 44px 40px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 52px), calc(100% - 52px) 100%, 0 100%);
}
.st3-glow {
  position: absolute; top: -40%; left: 50%; transform: translateX(-50%);
  width: 60%; height: 120%;
  background: radial-gradient(closest-side, rgba(21, 227, 113, 0.10), transparent 70%);
}
/* 竖版：单列，比分置顶（order），两队上下排列居中 */
.st3-score-row { position: relative; display: grid; grid-template-columns: 1fr; gap: 32px; justify-items: center; }
.st3-team { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 20px; }
.st3-team.home { order: 2; }
.st3-team.away { order: 3; }
.st3-center { order: 1; display: flex; flex-direction: column; align-items: center; gap: 12px; }

/* 头像/队徽位 + 右下角圆形国旗 */
.st3-crest { position: relative; width: 128px; height: 140px; flex: none; filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.5)); }
.st3-av {
  display: block; width: 100%; height: 100%; object-fit: cover;
  background: #0c1322;
  clip-path: polygon(25% 0, 75% 0, 100% 50%, 75% 100%, 25% 100%, 0 50%);
}
.st3-crest-svg { display: block; width: 100%; height: 100%; }
.st3-crest-svg svg { width: 100%; height: 100%; display: block; }
.st3-flag-badge {
  position: absolute; right: -8px; bottom: -4px;
  width: 52px; height: 52px; border-radius: 50%; overflow: hidden;
  border: 4px solid #0b1120;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.55);
  background: #0a1020;
}
.st3-flag-badge img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* 队名 +「(我)」青色 + 段位行（徽章 + 段位名 · 国籍） */
.st3-meta { display: flex; flex-direction: column; align-items: center; gap: 12px; min-width: 0; }
.st3-name {
  font-family: var(--fc-d); font-style: italic; font-weight: 800;
  font-size: 44px; line-height: 1.05; color: var(--fc-txt);
}
.st3-name .tag { color: var(--fc-cyan); }
.st3-tier { display: flex; align-items: center; gap: 12px; }
.st3-tier .te { width: 44px; height: 48px; flex: none; display: inline-flex; }
.st3-tier .te svg { width: 100%; height: 100%; }
.st3-tier b { font-weight: 700; font-size: 24px; color: var(--fc-txt-dim); }

/* 中央大比分（压缩斜体；胜=绿 / 平=金 / 负=红）+ 结果行 */
.st3-scoreline {
  display: flex; align-items: center; gap: 32px;
  font-family: var(--fc-d); font-style: italic; font-weight: 800;
  font-size: 120px; line-height: 0.9;
}
.st3-scoreline .sc { color: #fff; text-shadow: 0 8px 44px rgba(0, 0, 0, 0.5); }
.st3-scoreline .dash { color: var(--fc-txt-faint); font-size: 0.7em; }
.st3-scoreline.win .sc { color: var(--fc-energy); text-shadow: 0 0 30px rgba(21, 227, 113, 0.55), 0 8px 44px rgba(0, 0, 0, 0.5); }
.st3-scoreline.draw .sc { color: var(--fc-gold); text-shadow: 0 0 26px rgba(245, 196, 81, 0.45), 0 8px 44px rgba(0, 0, 0, 0.5); }
.st3-scoreline.lose .sc { color: var(--fc-rose); text-shadow: 0 0 26px rgba(251, 77, 106, 0.45), 0 8px 44px rgba(0, 0, 0, 0.5); }
.st3-result-row { display: flex; align-items: center; gap: 24px; }
.st3-result { font-weight: 900; font-size: 36px; letter-spacing: 4px; line-height: 1; }
.st3-result.win { color: var(--fc-energy); }
.st3-result.draw { color: var(--fc-gold); }
.st3-result.lose { color: var(--fc-rose); }
.st3-ladder { font-weight: 700; font-size: 28px; color: var(--fc-txt-dim); }
.st3-ladder.pos { color: var(--fc-energy); }
.st3-ladder.neg { color: var(--fc-rose); }

/* ---- 主体网格（竖版单列；横版 0.62fr/1fr 见 landscape 区） ---- */
.st3-grid { display: grid; grid-template-columns: 1fr; gap: 36px; align-items: start; flex: none; }
.st3-col { display: flex; flex-direction: column; gap: 36px; min-width: 0; }

/* 玻璃卡（设计稿 .card：切左下 + 右上 18px ×2）+ 卡头（绿短杠） */
.st3-card {
  position: relative; overflow: hidden; min-width: 0;
  background: var(--fc-panel);
  border: 1px solid var(--fc-stroke);
  backdrop-filter: blur(12px);
  clip-path: polygon(0 0, calc(100% - 36px) 0, 100% 36px, 100% 100%, 36px 100%, 0 calc(100% - 36px));
}
.st3-card-h {
  display: flex; align-items: center; gap: 16px;
  padding: 30px 36px 0;
  font-weight: 900; font-size: 30px; letter-spacing: 2px; color: var(--fc-txt);
}
.st3-card-h::before {
  content: ''; width: 8px; height: 32px; flex: none;
  background: var(--fc-energy);
  box-shadow: 0 0 16px var(--fc-energy);
}
.st3-card-h .sub { font-weight: 500; font-size: 22px; color: var(--fc-txt-faint); letter-spacing: 0; }

/* ---- 进球简报（时间轴；0-0 空态 ⚽ + 本场无进球） ---- */
.st3-brief { padding: 36px; min-height: 320px; display: flex; flex-direction: column; }
.st3-brief.empty { align-items: center; justify-content: center; gap: 24px; color: var(--fc-txt-faint); }
.st3-brief .ball { font-size: 80px; opacity: 0.5; filter: grayscale(0.3); }
.st3-brief .empty-txt { font-size: 28px; letter-spacing: 2px; }
.st3-goal { display: flex; align-items: center; gap: 20px; padding: 20px 0; border-bottom: 1px solid var(--fc-stroke); }
.st3-gmin {
  flex: none; min-width: 84px;
  font-family: var(--fc-d); font-style: italic; font-weight: 800;
  font-size: 30px; color: var(--fc-energy);
}
.st3-gname {
  flex: 1 1 auto; min-width: 0;
  font-size: 28px; color: var(--fc-txt);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.st3-gside { flex: none; font-weight: 700; font-size: 22px; color: var(--fc-txt-faint); }
.st3-gside.mine { color: var(--fc-energy); }

/* ---- 球队统计：6 行双向对比条（左=我方 青→绿 / 右=对方 金） ---- */
.st3-tstats { padding: 32px 36px 24px; display: flex; flex-direction: column; gap: 22px; }
/* ===== 战术画像（球队统计顶部）：我方风格标签 VS 对方风格标签 ===== */
.st3-tactic {
  display: flex; align-items: stretch; gap: 14px; margin-bottom: 20px;
  padding: 16px 18px; border-radius: 16px;
  background: rgba(255, 255, 255, 0.03); border: 1px solid var(--fc-stroke);
}
.st3-tac-side { flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 9px; }
.st3-tac-who { font-family: var(--fc-d); font-style: italic; font-weight: 800; font-size: 22px; letter-spacing: 1px; color: var(--fc-txt-dim); }
.st3-tac-side.mine .st3-tac-who { color: var(--fc-energy); }
.st3-tac-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.st3-tac-chip {
  font-family: 'Noto Sans SC', sans-serif; font-weight: 700; font-size: 21px; white-space: nowrap;
  padding: 5px 14px; border-radius: 999px;
  background: rgba(245, 196, 81, 0.12); border: 1px solid rgba(245, 196, 81, 0.32); color: #f5d18a;
}
.st3-tac-side.mine .st3-tac-chip { background: rgba(21, 227, 113, 0.13); border-color: rgba(21, 227, 113, 0.4); color: #9ff0c2; }
.st3-tac-vs { flex: none; align-self: center; font-family: var(--fc-d); font-style: italic; font-weight: 800; font-size: 26px; color: var(--fc-txt-faint); }
/* 球员表：高亮「你的 AI」绑定的球员 + 小徽章 */
.st3-prow.myagent { background: rgba(21, 227, 113, 0.07); border-left: 3px solid var(--fc-energy); }
.st3-agent-chip {
  display: inline-block; font-style: normal; font-family: 'Noto Sans SC', sans-serif; font-weight: 700;
  font-size: 17px; padding: 1px 9px; margin-left: 6px; border-radius: 7px;
  background: rgba(21, 227, 113, 0.16); border: 1px solid rgba(21, 227, 113, 0.4); color: #9ff0c2; vertical-align: middle;
}

.st3-stat { display: grid; grid-template-columns: 92px 1fr auto 1fr 92px; align-items: center; gap: 18px; }
.st3-stat .v { font-family: var(--fc-d); font-style: italic; font-weight: 800; font-size: 34px; }
.st3-stat .v.me { text-align: left; color: #dff7ec; }
.st3-stat .v.op { text-align: right; color: #fdeecb; }
.st3-stat .lbl { font-size: 24px; color: var(--fc-txt-dim); white-space: nowrap; padding: 0 8px; letter-spacing: 1px; }
.st3-stat .bar { height: 14px; background: rgba(255, 255, 255, 0.06); overflow: hidden; border-radius: 8px; display: flex; }
.st3-stat .bar.l { justify-content: flex-end; }
.st3-stat .bar i { display: block; height: 100%; }
.st3-stat .bar.l i {
  background: linear-gradient(90deg, var(--fc-cyan), var(--fc-energy));
  box-shadow: 0 0 16px rgba(21, 227, 113, 0.45);
  border-radius: 8px 0 0 8px;
}
.st3-stat .bar.r i {
  background: linear-gradient(90deg, var(--fc-gold), #e89a1c);
  box-shadow: 0 0 16px rgba(245, 196, 81, 0.4);
  border-radius: 0 8px 8px 0;
}

/* ---- 球员数据表（剪影小头像 + 位置色环 --pc） ---- */
.st3-players { padding: 16px 16px 24px 36px; }
.st3-ph {
  display: grid; grid-template-columns: 1fr 176px 220px; gap: 16px;
  padding: 16px 20px 16px 0;
  font-size: 22px; color: var(--fc-txt-faint); letter-spacing: 2px;
  border-bottom: 1px solid var(--fc-stroke);
}
.st3-ph .c2, .st3-ph .c3 { text-align: center; }
.st3-plist { max-height: 600px; overflow-y: auto; padding-right: 16px; }
.st3-plist::-webkit-scrollbar { width: 8px; }
.st3-plist::-webkit-scrollbar-thumb { background: rgba(120, 150, 200, 0.28); border-radius: 4px; }
.st3-prow {
  display: grid; grid-template-columns: 1fr 176px 220px; gap: 16px;
  align-items: center;
  padding: 18px 20px 18px 0;
  border-bottom: 1px solid rgba(120, 150, 200, 0.08);
}
.st3-prow .who { display: flex; align-items: center; gap: 20px; min-width: 0; }
.st3-pav {
  width: 60px; height: 60px; border-radius: 50%; flex: none;
  display: grid; place-items: center; overflow: hidden;
  border: 3px solid var(--pc, #38bdf8);
  background: radial-gradient(circle at 50% 30%, rgba(255, 255, 255, 0.08), #0c1322 75%);
  box-shadow: 0 0 14px -2px var(--pc, #38bdf8);
}
.st3-pav svg { width: 52px; height: 52px; fill: rgba(255, 255, 255, 0.55); }
.st3-pmeta { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.st3-pname {
  font-weight: 700; font-size: 28px; color: var(--fc-txt);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.st3-pname .side { color: var(--fc-txt-faint); font-weight: 500; font-style: normal; }
.st3-ppos { font-family: var(--fc-d); font-style: italic; font-weight: 700; font-size: 22px; color: var(--pc, #38bdf8); }
.st3-pgas { font-family: var(--fc-d); font-style: italic; font-weight: 800; font-size: 32px; text-align: center; color: var(--fc-gold); }
.st3-ppass { font-weight: 600; font-size: 26px; text-align: center; color: var(--fc-txt-dim); }

/* ---- 操作栏（吸底覆盖层 + 渐隐底色；设计稿 .actions） ---- */
.st3-actions {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 20;
  display: flex; gap: 24px; align-items: stretch;
  padding: 28px 28px 32px;
  background: linear-gradient(0deg, rgba(5, 9, 16, 0.97), rgba(5, 9, 16, 0.6) 70%, transparent);
}
.st3-abtn {
  display: flex; align-items: center; justify-content: center; gap: 12px;
  padding: 0 28px; height: 100px;
  font-family: var(--fc-f); font-weight: 900; font-size: 28px; letter-spacing: 2px;
  color: var(--fc-txt);
  background: var(--fc-panel2);
  border: 1px solid var(--fc-stroke);
  transition: 0.15s;
  clip-path: polygon(24px 0, 100% 0, 100% calc(100% - 24px), calc(100% - 24px) 100%, 0 100%, 0 24px);
}
.st3-abtn:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(0, 0, 0, 0.4); }
.st3-abtn.gold {
  color: #3a2a08;
  background: linear-gradient(180deg, #ffd874, #e8a81c);
  border: none;
  box-shadow: 0 8px 22px rgba(245, 196, 81, 0.35);
}
.st3-abtn.primary {
  flex: 1 1 auto;
  font-family: var(--fc-d); font-style: italic; font-size: 38px;
  color: #04130a;
  background: linear-gradient(120deg, #1cf07e, #0fb85f);
  border: none; position: relative; overflow: hidden;
  box-shadow: 0 10px 28px rgba(21, 227, 113, 0.4);
}
/* 主按钮流光（prefers-reduced-motion 关闭） */
.st3-abtn.primary::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(115deg, transparent 40%, rgba(255, 255, 255, 0.5) 50%, transparent 60%);
  transform: translateX(-130%);
  animation: st3-sheen 3.2s ease-in-out infinite;
}
.st3-abtn.primary:hover { box-shadow: 0 14px 38px rgba(21, 227, 113, 0.55); }
.st3-abtn.ghost { background: transparent; }
@keyframes st3-sheen {
  0% { transform: translateX(-130%); }
  55%, 100% { transform: translateX(130%); }
}
@media (prefers-reduced-motion: reduce) {
  .st3-abtn { transition: none; }
  .st3-abtn.primary::after { display: none; animation: none; }
}

/* =====================================================================
   ★ PC 横屏（1920x1080）—— 仅 body.landscape 下生效（https://d1u4k7xc6u3yed.cloudfront.net/agent-soccer/js/app.js fitStage）。
   竖版规则不动，以下全部是追加覆盖。
   ===================================================================== */

/* ---- 横屏排行榜：整列居中、最大宽 1480，行距加大利用横向空间 ---- */
body.landscape #screen-leaderboard .lb2-app {
  gap: 18px;
  padding: 36px 0 26px;
}
body.landscape #screen-leaderboard .lb2-app > * {
  width: min(1480px, calc(100% - 96px));
  margin-left: auto;
  margin-right: auto;
}
body.landscape #screen-leaderboard .lb2-title { font-size: 46px; }
body.landscape #screen-leaderboard .lb2-tabs .fc-tab { padding: 12px 0; font-size: 25px; }
body.landscape #screen-leaderboard .lb2-row { gap: 26px; padding: 12px 30px; }
body.landscape #screen-leaderboard .lb2-top3 { padding: 18px 32px; }
body.landscape #screen-leaderboard .lb2-main { gap: 18px; }
body.landscape #screen-leaderboard .lb2-val { min-width: 170px; }
body.landscape #screen-leaderboard .lb2-colhead { padding: 0 30px; min-height: 24px; }
body.landscape #screen-leaderboard .lb2-myrank { min-height: 34px; font-size: 25px; }
body.landscape #screen-leaderboard .lb2-status { min-height: 26px; font-size: 20px; }

/* ---- 横屏结算（1920x1080）：设计稿桌面布局 ×1.5 ——
   记分牌三列 1fr auto 1fr（两队横排、客队镜像），主体 0.62fr/1fr 双栏，
   结果胶囊恢复显示，操作栏吸底；超高时 st3-wrap 内部滚动兜底 ---- */
body.landscape #screen-settlement .st3-wrap { gap: 27px; padding: 39px 33px 190px; }
body.landscape #screen-settlement .st3-head { gap: 18px; }
body.landscape #screen-settlement .st3-accent { width: 9px; height: 45px; box-shadow: 0 0 21px rgba(21, 227, 113, 0.6); }
body.landscape #screen-settlement .st3-h1 { font-size: 42px; letter-spacing: 1.5px; }
body.landscape #screen-settlement .st3-chip { display: inline-block; font-size: 21px; letter-spacing: 3px; padding: 9px 24px; }

/* 记分牌：三列横排 */
body.landscape #screen-settlement .st3-board {
  padding: 36px 39px;
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 39px), calc(100% - 39px) 100%, 0 100%);
}
body.landscape #screen-settlement .st3-score-row { grid-template-columns: 1fr auto 1fr; gap: 27px; justify-items: stretch; align-items: center; }
body.landscape #screen-settlement .st3-team { flex-direction: row; text-align: left; gap: 21px; }
body.landscape #screen-settlement .st3-team.home { order: 0; }
body.landscape #screen-settlement .st3-team.away { order: 0; flex-direction: row-reverse; text-align: right; }
body.landscape #screen-settlement .st3-center { order: 0; gap: 9px; }
body.landscape #screen-settlement .st3-meta { align-items: flex-start; gap: 9px; }
body.landscape #screen-settlement .st3-team.away .st3-meta { align-items: flex-end; }
body.landscape #screen-settlement .st3-team.away .st3-tier { flex-direction: row-reverse; }
body.landscape #screen-settlement .st3-crest { width: 96px; height: 105px; filter: drop-shadow(0 6px 18px rgba(0, 0, 0, 0.5)); }
body.landscape #screen-settlement .st3-flag-badge { width: 39px; height: 39px; border-width: 3px; right: -6px; bottom: -3px; }
body.landscape #screen-settlement .st3-team.away .st3-flag-badge { right: auto; left: -6px; }
body.landscape #screen-settlement .st3-name { font-size: 37px; white-space: nowrap; }
body.landscape #screen-settlement .st3-tier { gap: 9px; }
body.landscape #screen-settlement .st3-tier .te { width: 33px; height: 36px; }
body.landscape #screen-settlement .st3-tier b { font-size: 18px; }
body.landscape #screen-settlement .st3-scoreline { font-size: 96px; gap: 24px; }
body.landscape #screen-settlement .st3-result-row { gap: 18px; }
body.landscape #screen-settlement .st3-result { font-size: 27px; letter-spacing: 3px; }
body.landscape #screen-settlement .st3-ladder { font-size: 21px; }

/* 主体双栏：进球简报 0.62fr | 统计 + 球员 1fr */
body.landscape #screen-settlement .st3-grid { grid-template-columns: 0.62fr 1fr; gap: 27px; align-items: stretch; }
body.landscape #screen-settlement .st3-col { gap: 27px; }
body.landscape #screen-settlement .st3-card {
  clip-path: polygon(0 0, calc(100% - 27px) 0, 100% 27px, 100% 100%, 27px 100%, 0 calc(100% - 27px));
}
body.landscape #screen-settlement .st3-brief-card { display: flex; flex-direction: column; }
body.landscape #screen-settlement .st3-card-h { padding: 22px 27px 0; font-size: 22px; gap: 12px; }
body.landscape #screen-settlement .st3-card-h::before { width: 6px; height: 24px; }
body.landscape #screen-settlement .st3-card-h .sub { font-size: 16px; }
body.landscape #screen-settlement .st3-brief { padding: 27px; min-height: 360px; flex: 1 1 auto; overflow-y: auto; }
body.landscape #screen-settlement .st3-brief .ball { font-size: 60px; }
body.landscape #screen-settlement .st3-brief .empty-txt { font-size: 21px; }
body.landscape #screen-settlement .st3-goal { gap: 15px; padding: 15px 0; }
body.landscape #screen-settlement .st3-gmin { min-width: 63px; font-size: 24px; }
body.landscape #screen-settlement .st3-gname { font-size: 21px; }
body.landscape #screen-settlement .st3-gside { font-size: 17px; }
body.landscape #screen-settlement .st3-tstats { padding: 24px 27px 15px; gap: 16px; }
body.landscape #screen-settlement .st3-stat { grid-template-columns: 69px 1fr auto 1fr 69px; gap: 15px; }
body.landscape #screen-settlement .st3-stat .v { font-size: 25px; }
body.landscape #screen-settlement .st3-stat .lbl { font-size: 18px; padding: 0 6px; }
body.landscape #screen-settlement .st3-stat .bar { height: 10px; border-radius: 6px; }
body.landscape #screen-settlement .st3-players { padding: 12px 12px 18px 27px; }
body.landscape #screen-settlement .st3-ph { grid-template-columns: 1fr 132px 165px; gap: 12px; padding: 12px 15px 12px 0; font-size: 16px; }
body.landscape #screen-settlement .st3-plist { max-height: 345px; padding-right: 12px; }
body.landscape #screen-settlement .st3-prow { grid-template-columns: 1fr 132px 165px; gap: 12px; padding: 13px 15px 13px 0; }
body.landscape #screen-settlement .st3-prow .who { gap: 15px; }
body.landscape #screen-settlement .st3-pav { width: 45px; height: 45px; border-width: 2px; }
body.landscape #screen-settlement .st3-pav svg { width: 39px; height: 39px; }
body.landscape #screen-settlement .st3-pname { font-size: 21px; }
body.landscape #screen-settlement .st3-ppos { font-size: 16px; }
body.landscape #screen-settlement .st3-pgas { font-size: 24px; }
body.landscape #screen-settlement .st3-ppass { font-size: 19px; }

/* 操作栏 */
body.landscape #screen-settlement .st3-actions { gap: 18px; padding: 21px 33px 24px; }
body.landscape #screen-settlement .st3-abtn { height: 81px; padding: 0 33px; font-size: 24px; clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px); }
body.landscape #screen-settlement .st3-abtn.primary { font-size: 31px; }

/* =====================================================================
   ★ 复盘点评（战报点评）：人话诊断 + MVP + 复制复盘指令 + 世界杯入口
   仅新增 st3-review*/st3-mvp*/st3-diag*/st3-wc-nudge*，不动既有规则。
   ===================================================================== */

/* 世界杯预测细条入口：标题条与记分牌之间贯通的可点条（青→金渐变左竖杠） */
.st3-wc-nudge {
  display: block; width: 100%; text-align: left;
  padding: 18px 24px;
  font-family: var(--fc-f); font-weight: 700; font-size: 24px; letter-spacing: 1px;
  color: var(--fc-gold);
  background: linear-gradient(90deg, rgba(245, 196, 81, 0.14), rgba(21, 227, 113, 0.06) 70%, transparent);
  border: 1px solid rgba(245, 196, 81, 0.4);
  border-left: 6px solid var(--fc-gold);
  cursor: pointer; transition: 0.15s;
}
.st3-wc-nudge:hover { background: linear-gradient(90deg, rgba(245, 196, 81, 0.26), rgba(21, 227, 113, 0.1) 70%, transparent); transform: translateX(2px); }

/* 复盘点评卡内容区 */
.st3-review { padding: 28px 36px 32px; display: flex; flex-direction: column; gap: 22px; }

/* MVP 一行：金色胶囊 + 名字 */
.st3-mvp-line { display: flex; align-items: center; gap: 14px; }
.st3-mvp-chip {
  flex: none; display: inline-flex; align-items: center;
  padding: 6px 16px; border-radius: 999px;
  font-family: var(--fc-d); font-style: italic; font-weight: 800; font-size: 22px;
  color: #3a2a08; background: linear-gradient(180deg, #ffd874, #e8a81c);
  box-shadow: 0 4px 14px rgba(245, 196, 81, 0.4);
}
.st3-mvp-chip.sm { padding: 2px 10px; font-size: 18px; font-style: normal; margin-right: 8px; vertical-align: middle; }
.st3-mvp-name { font-weight: 800; font-size: 28px; color: var(--fc-txt); }
.st3-prow.mvp { background: linear-gradient(90deg, rgba(245, 196, 81, 0.1), transparent 60%); }

/* 诊断条目（▸ 绿点 + 人话） */
.st3-diag { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 16px; }
.st3-diag-i { display: flex; align-items: flex-start; gap: 14px; }
.st3-diag-i .dot { flex: none; color: var(--fc-energy); font-weight: 900; font-size: 26px; line-height: 1.3; }
.st3-diag-i .txt { font-size: 27px; line-height: 1.4; color: var(--fc-txt); }

/* 复制复盘指令按钮 + 状态 */
.st3-review-act { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.st3-review-btn {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 16px 30px;
  font-family: var(--fc-f); font-weight: 900; font-size: 26px; letter-spacing: 1px;
  color: #04130a; cursor: pointer;
  background: linear-gradient(120deg, #1cf07e, #0fb85f);
  border: none;
  clip-path: polygon(18px 0, 100% 0, 100% calc(100% - 18px), calc(100% - 18px) 100%, 0 100%, 0 18px);
  transition: 0.15s;
}
.st3-review-btn:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(21, 227, 113, 0.5); }
.st3-review-status { font-size: 24px; color: var(--fc-txt-dim); min-height: 1em; }
.st3-review-status.ok { color: var(--fc-energy); }

/* 横屏（×0.75 量级，与既有结算横屏规则一致比例） */
body.landscape #screen-settlement .st3-wc-nudge { padding: 14px 24px; font-size: 19px; border-left-width: 5px; }
body.landscape #screen-settlement .st3-review { padding: 21px 27px 24px; gap: 16px; }
body.landscape #screen-settlement .st3-mvp-chip { font-size: 17px; padding: 5px 13px; }
body.landscape #screen-settlement .st3-mvp-chip.sm { font-size: 14px; padding: 2px 8px; }
body.landscape #screen-settlement .st3-mvp-name { font-size: 21px; }
body.landscape #screen-settlement .st3-diag { gap: 12px; }
body.landscape #screen-settlement .st3-diag-i .dot { font-size: 20px; }
body.landscape #screen-settlement .st3-diag-i .txt { font-size: 20px; }
body.landscape #screen-settlement .st3-review-btn { padding: 12px 24px; font-size: 20px; }
body.landscape #screen-settlement .st3-review-status { font-size: 18px; }
