/* ============================================
   在线训练频道专用样式 —— 青蓝 / 琥珀品牌体系
   与全站首页色彩协调统一，专业、有深度
   ============================================ */

/* ===== 频道头部（青蓝一体化，左侧标题 + 右侧数据） ===== */
.ch-header-training { background: linear-gradient(135deg, #0B4A54 0%, #1C7C8C 55%, #2FA0A8 100%); }
.ch-header-training .ch-icon-big { background: #fff; color: var(--primary); }
.ch-header-training h2 { color: #fff !important; }
.ch-header-training p { color: rgba(255,255,255,0.85) !important; }

.tr-hero-inner { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: 40px; align-items: center; }
.tr-hero-left { display: flex; flex-direction: column; gap: 18px; }
.tr-hero-right { background: rgba(255,255,255,0.10); border: 1px solid rgba(255,255,255,0.22); border-radius: 16px; padding: 22px 26px; backdrop-filter: blur(4px); }
.tr-hero-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; font-weight: 700; background: rgba(255,255,255,0.16); color: #fff; padding: 5px 14px; border-radius: 20px; margin-bottom: 14px; letter-spacing: .5px; }
.tr-hero-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.tr-hero-stats .tr-st { display: flex; flex-direction: column; }
.tr-hero-stats .tr-st b { font-size: 28px; font-weight: 800; color: #fff; line-height: 1.1; }
.tr-hero-stats .tr-st span { font-size: 12.5px; color: rgba(255,255,255,0.82); margin-top: 2px; }
.tr-hero-desc { margin: 14px 0 0; font-size: 14px; color: rgba(255,255,255,0.85); line-height: 1.6; }

/* ===== 专业训练体系 Hero（已合并到频道头部，样式保留备用） ===== */
.tr-sci-hero {
  margin: 26px 0 30px;
  background: linear-gradient(135deg, #0E5560 0%, #1C7C8C 55%, #2FA0A8 100%);
  border-radius: var(--radius-lg);
  padding: 34px 38px;
  color: #fff;
  position: relative;
  overflow: hidden;
  box-shadow: 0 14px 36px rgba(28,124,140,0.22);
}
.tr-sci-hero::after{
  content:'';position:absolute;right:-40px;top:-40px;width:220px;height:220px;border-radius:50%;
  background:radial-gradient(circle,rgba(255,255,255,0.12) 0%,transparent 70%);
}
.tr-sci-hero .tr-sci-tag{
  display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;
  background:rgba(255,255,255,0.16);color:#fff;padding:5px 14px;border-radius:20px;margin-bottom:14px;
  letter-spacing:.5px;
}
.tr-sci-hero h3{font-size:26px;font-weight:800;margin-bottom:10px;line-height:1.3}
.tr-sci-hero p{opacity:.92;font-size:14.5px;max-width:720px;line-height:1.8}
.tr-sci-hero-stats{display:flex;gap:28px;margin-top:22px;flex-wrap:wrap}
.tr-sci-hero-stats .st{display:flex;flex-direction:column}
.tr-sci-hero-stats b{font-size:28px;font-weight:800;line-height:1.1}
.tr-sci-hero-stats span{font-size:12.5px;opacity:.85;margin-top:2px}

/* ===== 区块标题 ===== */
.tr-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:34px 0 18px}
.tr-section-head h2{font-size:21px;color:var(--text-1);font-weight:700;display:flex;align-items:center;gap:10px}
.tr-section-head h2 .bar{width:5px;height:20px;border-radius:4px;background:linear-gradient(var(--primary),var(--primary-light));display:inline-block}
.tr-section-head .sub{font-size:13px;color:var(--text-2);margin-top:4px}
.tr-section-head a.more{font-size:13px;font-weight:700;color:var(--primary);text-decoration:none;white-space:nowrap;padding:6px 14px;border-radius:20px;background:var(--primary-bg)}
.tr-section-head a.more:hover{background:var(--primary);color:#fff}

/* ===== 五大能力维度模型 ===== */
.tr-model{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
.tr-model-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px 18px;
  text-decoration:none;display:flex;flex-direction:column;gap:10px;transition:var(--transition);position:relative;overflow:hidden;
}
.tr-model-card::before{content:'';position:absolute;left:0;top:0;width:100%;height:4px;background:var(--mc,#1C7C8C)}
.tr-model-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-hover);border-color:var(--mc,#1C7C8C)}
.tr-model-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--mc-bg,#E7F2F3);color:var(--mc,#1C7C8C)}
.tr-model-card h4{font-size:17px;color:var(--text-1);font-weight:700}
.tr-model-card p{font-size:12.5px;color:var(--text-2);line-height:1.7;flex:1}
.tr-model-card .mc-foot{display:flex;align-items:center;justify-content:space-between;font-size:12px;color:var(--text-3)}
.tr-model-card .mc-foot b{color:var(--mc,#1C7C8C);font-size:13px}

/* ===== 年龄段训练路径 ===== */
.tr-path{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.tr-path-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;transition:var(--transition)}
.tr-path-card:hover{box-shadow:var(--shadow);border-color:var(--primary-light)}
.tr-path-card .pc-age{font-size:15px;font-weight:700;color:var(--primary-dark);margin-bottom:6px}
.tr-path-card .pc-desc{font-size:12.5px;color:var(--text-2);line-height:1.7;margin-bottom:12px}
.tr-path-card .pc-dims{display:flex;flex-wrap:wrap;gap:6px}
.tr-path-card .pc-dim{font-size:11.5px;padding:3px 10px;border-radius:14px;background:var(--primary-bg);color:var(--primary-dark);font-weight:600}

/* ===== 按维度分组的游戏区块 ===== */
.tr-catsec{margin:10px 0 8px;scroll-margin-top:80px}
.tr-catsec-head{display:flex;align-items:center;gap:14px;padding:16px 0 14px;border-bottom:2px solid var(--c,#1C7C8C);margin-bottom:18px}
.tr-catsec-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px;flex-shrink:0;background:color-mix(in srgb,var(--c,#1C7C8C) 14%,#fff);color:var(--c,#1C7C8C)}
.tr-catsec-title h3{font-size:19px;color:var(--text-1);display:flex;align-items:center;gap:10px;font-weight:700}
.tr-catsec-count{font-size:12px;font-weight:600;color:var(--c,#1C7C8C);background:color-mix(in srgb,var(--c,#1C7C8C) 15%,#fff);border-radius:12px;padding:2px 10px}
.tr-catsec-title p{font-size:13px;color:var(--text-2);margin-top:4px}
.tr-catsec-more{margin-left:auto;align-self:center;font-size:13px;font-weight:700;color:var(--c,#1C7C8C);text-decoration:none;white-space:nowrap;padding:6px 14px;border-radius:20px;background:color-mix(in srgb,var(--c,#1C7C8C) 12%,#fff)}
.tr-catsec-more:hover{background:var(--c,#1C7C8C);color:#fff}

/* ===== 游戏卡片网格（首页分组 + 分类详情页共用） ===== */
.tr-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(232px,1fr));gap:18px;margin:4px 0 24px}
.tr-game-card{
  background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;
  display:flex;flex-direction:column;gap:11px;transition:var(--transition);position:relative;overflow:hidden;
}
.tr-game-card:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(28,124,140,0.13);border-color:var(--primary-light)}
.tr-game-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:27px}
.tr-game-card h4{font-size:16.5px;font-weight:700;color:var(--text-1)}
.tr-game-tag{display:inline-block;font-size:12px;padding:2px 10px;border-radius:20px;background:var(--bg-soft);color:var(--text-2);align-self:flex-start}
.tr-game-card p{font-size:12.5px;color:var(--text-2);line-height:1.65;flex:1}
.tr-game-play{margin-top:4px;text-align:center;padding:10px;border-radius:var(--radius-sm);background:var(--bg-soft);color:var(--text-1);font-size:14px;font-weight:600;text-decoration:none;transition:var(--transition)}
.tr-game-play:hover{background:var(--primary);color:#fff}
.tr-game-progress{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-3)}
.tr-game-progress .txt{white-space:nowrap}
.tr-game-progress .bar{flex:1;height:6px;border-radius:4px;background:var(--bg-soft);overflow:hidden}
.tr-game-progress .bar > i{display:block;height:100%;border-radius:4px;background:var(--primary)}

/* ===== 我的概览条 ===== */
.tr-mystats{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 22px;margin:20px 0}
.tr-mystats .ms-item{display:flex;align-items:baseline;gap:6px}
.tr-mystats .ms-item b{font-size:22px;color:var(--primary)}
.tr-mystats .ms-item span{font-size:13px;color:var(--text-2)}
.tr-mystats .ms-cta{margin-left:auto}

/* ===== 年龄段筛选 ===== */
.tr-agefilter{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:18px 0 4px}
.tr-agefilter-label{font-size:13px;color:var(--text-3)}
.tr-age-item{padding:6px 14px;border-radius:20px;background:#fff;border:1px solid var(--border);color:var(--text-1);font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}
.tr-age-item:hover{border-color:var(--primary);color:var(--primary)}
.tr-age-item.active{background:var(--primary);border-color:var(--primary);color:#fff}

/* ===== 空状态 ===== */
.tr-empty{text-align:center;padding:60px 20px;background:#fff;border:1px dashed var(--border);border-radius:var(--radius-lg)}
.tr-empty .emoji{font-size:52px}
.tr-empty h3{margin:14px 0 6px;color:var(--text-1)}
.tr-empty p{color:var(--text-2);margin-bottom:18px}

/* ============================================================
   训练游戏页 —— 专业「训练舱」双栏布局
   ============================================================ */
.tr-pod{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow);overflow:hidden;margin:24px 0}
.tr-pod-head{display:flex;align-items:center;gap:18px;padding:22px 26px;background:linear-gradient(135deg,#E7F2F3,#F4FAFB);border-bottom:1px solid var(--border)}
.tr-pod-badge{width:62px;height:62px;border-radius:16px;display:flex;align-items:center;justify-content:center;font-size:32px;background:#fff;color:var(--pc,var(--primary));box-shadow:0 4px 12px rgba(28,124,140,0.18);flex-shrink:0}
.tr-pod-title{flex:1}
.tr-pod-title h2{font-size:22px;color:var(--text-1);font-weight:800;margin-bottom:4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.tr-pod-dim{font-size:12px;font-weight:700;color:#fff;background:var(--pc,var(--primary));padding:3px 12px;border-radius:14px}
.tr-pod-title p{font-size:13.5px;color:var(--text-2);line-height:1.6;max-width:760px}
.tr-pod-back{font-size:13px;font-weight:700;color:var(--primary);text-decoration:none;padding:8px 16px;border-radius:20px;border:1.5px solid var(--primary-light);background:#fff;white-space:nowrap}
.tr-pod-back:hover{background:var(--primary);color:#fff}

.tr-pod-body{display:grid;grid-template-columns:320px 1fr;gap:0}
.tr-pod-aside{border-right:1px solid var(--border);padding:22px 22px;background:#FBFDFE}
.tr-pod-stage{padding:22px 26px;min-width:0}

/* 侧栏面板（训练原理 / 玩法 / 要点） */
.tr-panel{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px;margin-bottom:16px}
.tr-panel-h{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:var(--primary-dark);margin-bottom:8px}
.tr-panel-h .ph-ico{width:26px;height:26px;border-radius:8px;background:var(--primary-bg);display:flex;align-items:center;justify-content:center;font-size:15px}
.tr-panel p{font-size:13px;color:var(--text-2);line-height:1.8;margin:0}
.tr-science-tag{display:inline-block;font-size:12px;font-weight:700;color:#fff;background:var(--primary);padding:3px 12px;border-radius:14px;margin-bottom:8px}

/* 玩法说明 */
.tr-rule{border:1px solid var(--border);border-left:3px solid var(--primary);border-radius:var(--radius);padding:14px 18px;margin:0;background:#fff}
.tr-rule-head{display:flex;align-items:center;justify-content:space-between;font-size:14px;font-weight:700;color:var(--primary-dark);margin-bottom:6px}
.tr-rule-toggle{border:none;background:var(--primary-bg);color:var(--primary);font-size:12px;padding:3px 12px;border-radius:14px;cursor:pointer}
.tr-rule-toggle:hover{background:var(--primary-light);color:#fff}
.tr-rule-list{margin:4px 0 0;padding-left:20px}
.tr-rule-list li{font-size:13px;color:var(--text-2);line-height:1.9}
.tr-rule-list.hidden{display:none}

/* 训练要点 */
.tr-tips{list-style:none;display:flex;flex-direction:column;gap:9px}
.tr-tips li{display:flex;gap:9px;font-size:12.5px;color:var(--text-2);line-height:1.6}
.tr-tips li .tk{flex:none;width:20px;height:20px;border-radius:50%;background:var(--primary-bg);color:var(--primary);font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}

/* 训练台（= .tr-game-wrap，全屏目标） */
.tr-game-wrap{margin:0;max-width:none}
.tr-game-head{text-align:center;margin-bottom:16px}
.tr-game-head .tg-icon{font-size:42px}
.tr-game-head h2{font-size:20px;margin:6px 0;color:var(--text-1)}
.tr-game-head p{color:var(--text-2);font-size:13.5px;max-width:560px;margin:0 auto}

/* 状态栏 */
.tr-status{display:flex;gap:18px;align-items:center;margin-bottom:14px;font-size:14px;color:var(--text-2);flex-wrap:wrap}
.tr-status b{color:var(--text-1)}
.tr-fs-btn{margin-left:auto;padding:5px 14px;border:1.5px solid var(--border);background:#fff;color:var(--primary);border-radius:18px;font-size:13px;font-weight:700;cursor:pointer;transition:var(--transition)}
.tr-fs-btn:hover{border-color:var(--primary);background:var(--primary);color:#fff}

/* 阶段课程（= diffBar 渲染的 5 阶段，表现为课程路径） */
.tr-diffbar{display:flex;gap:8px;justify-content:center;margin:6px 0 18px;flex-wrap:wrap}
.tr-diff{padding:8px 16px;border-radius:20px;border:1.5px solid var(--border);background:#fff;cursor:pointer;font-size:13px;color:var(--text-2);transition:var(--transition);position:relative}
.tr-diff:hover{border-color:var(--primary);color:var(--primary)}
.tr-diff.active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}
.tr-diff.locked{opacity:.5;cursor:not-allowed;background:#f6f8f8}

/* 开始卡片 */
.tr-start-card{text-align:center;padding:30px 24px;max-width:420px;margin:10px auto;animation:fadeIn .4s ease}
.tr-start-icon{font-size:54px;margin-bottom:10px}
.tr-start-title{font-size:22px;margin:0 0 6px;color:var(--text-1)}
.tr-start-stage{font-size:14px;color:var(--primary);font-weight:700;margin:0 0 8px}
.tr-start-tip{font-size:13px;color:var(--text-2);margin:0 0 20px}

.tr-btn{position:relative;padding:12px 28px;border:none;border-radius:24px;cursor:pointer;background:var(--primary);color:#fff;font-size:15px;font-weight:600;transition:var(--transition)}
.tr-btn:hover{opacity:0.92;transform:translateY(-1px)}
.tr-btn--ghost{background:#fff;color:var(--text-1);border:1.5px solid var(--border)}
.tr-btn--running{background:var(--primary-light)!important;cursor:not-allowed;opacity:.95}
.tr-btn:disabled{cursor:not-allowed}
.tr-btn--next{background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);box-shadow:0 6px 18px rgba(28,124,140,0.32);font-size:16px;padding:13px 30px;animation:nextPulse 1.4s ease-in-out infinite}
.tr-btn--next:hover{transform:translateY(-2px);opacity:1}
@keyframes nextPulse{0%,100%{box-shadow:0 6px 18px rgba(28,124,140,.32)}50%{box-shadow:0 6px 26px rgba(28,124,140,.55)}}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}

.tr-spin{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;vertical-align:middle;margin-right:6px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}

/* 训练台主区 */
.tr-board{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:28px;min-height:320px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.tr-grid{display:grid;gap:14px}
.tr-cell{aspect-ratio:1/1;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:30px;font-weight:700;background:var(--bg-soft);color:var(--text-1);display:flex;align-items:center;justify-content:center;transition:var(--transition);user-select:none}
.tr-cell:hover:not(:disabled){background:#d6ebed}
.tr-cell.done{background:var(--primary);color:#fff}
.tr-cell.wrong{animation:shake 0.3s;background:#ffd9d2}
.tr-cell.flipped{background:#fff;border:2px solid var(--primary)}
.tr-cell.matched{background:#CDEFD9;color:#2f8f5b;cursor:default}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px)}75%{transform:translateX(5px)}}
.tr-cell.found{background:#2ECC71!important;color:#fff!important;cursor:default}
.tr-cell.tr-blank{background:#f1f2f6!important;cursor:default}
.tr-cell.tr-sel{outline:3px solid var(--primary);outline-offset:-3px;background:#d6ebed}
.tr-cell--static{cursor:default;background:#fff;border:1px dashed #bfe0e4}
.tr-cell--static:hover{background:#fff}
.tr-cell.seq{min-height:74px;background:#e6f3f4}
.tr-cell.seq.lit{background:var(--primary);box-shadow:0 0 0 3px rgba(28,124,140,.35);transform:scale(1.04)}

.tr-opt{display:block;width:100%;text-align:left;padding:14px 18px;margin:8px 0;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:#fff;cursor:pointer;font-size:16px;color:var(--text-1);transition:var(--transition)}
.tr-opt:hover{border-color:var(--primary)}
.tr-opt.correct{background:#CDEFD9;border-color:#3FB27F}
.tr-opt.wrong{background:#ffd9d2;border-color:#F5576C}

/* 引擎：选项区 / 序列 / 竞技场 */
.tr-opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:14px;max-width:560px;margin:0 auto}
.tr-qtip{text-align:center;font-size:12px;color:var(--text-3);margin:-6px 0 12px}
.tr-emojis{font-size:34px;letter-spacing:6px;text-align:center;margin:14px 0;line-height:1.6;word-break:break-all}
.tr-arena{position:relative;width:100%;max-width:560px;height:380px;margin:0 auto;background:#f4fafb;border:1px solid var(--border);border-radius:16px;overflow:hidden}
.tr-target{position:absolute;width:68px;height:68px;font-size:38px;border:none;background:#fff;border-radius:50%;box-shadow:0 3px 10px rgba(0,0,0,.12);cursor:pointer;display:flex;align-items:center;justify-content:center;animation:pop .18s ease}
.tr-target.decoy{background:#fff4f4}
.tr-target.got{background:#CDEFD9}
.tr-target.bad{background:#ffd9d2}
@keyframes pop{from{transform:scale(.4);opacity:.2}to{transform:scale(1);opacity:1}}

/* 题面 / 提示 */
.tr-q{font-size:17px;font-weight:600;color:var(--text-1);text-align:center;margin-bottom:14px;line-height:1.6}
.tr-q .hl{color:var(--primary)}
.tr-hint{font-size:14px;color:var(--text-2);margin-bottom:16px;text-align:center}
.tr-hint b{color:var(--primary)}

/* 答题后的深度解析面板 */
.tr-explain{margin-top:16px;padding:13px 16px;border-radius:var(--radius-sm);background:linear-gradient(135deg,#EAF6F8 0%,#F3FBFC 100%);border:1px solid #BFE3E8;border-left:4px solid var(--primary);font-size:14px;line-height:1.65;color:var(--text-1);text-align:left;animation:fadeInUp .35s ease both}
.tr-explain-h{display:inline-block;font-weight:700;color:var(--primary);margin-right:6px}

/* 训练报告（结果卡片） */
.tr-result{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:18px 18px 22px;text-align:center;margin-top:6px;display:none;scroll-margin-top:8px}
.tr-result.show{display:block;animation:fadeInUp .4s ease both}
.tr-result .score-circle{position:relative;width:92px;height:92px;margin:0 auto 10px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:conic-gradient(var(--primary) calc(var(--p)*1%),#eef4f5 0)}
.tr-result .score-circle::before{content:'';position:absolute;inset:8px;border-radius:50%;background:#fff}
.tr-result .score-circle b{position:relative;font-size:26px;color:var(--text-1);line-height:1}
.tr-result .score-circle span{position:relative;font-size:11px;color:var(--text-3);margin-top:2px}
.tr-result h3{margin:4px 0 2px;color:var(--text-1);font-size:18px}
.tr-result-detail{margin:0;color:var(--text-2);font-size:13px}
.tr-result-badge{display:inline-block;padding:4px 14px;border-radius:20px;font-size:12px;font-weight:700;margin-bottom:6px}
.tr-result-badge.pass{background:#CDEFD9;color:#2f8f5b}
.tr-result-badge.fail{background:#ffd9d2;color:#d6453f}
.tr-result .r-actions{display:flex;gap:10px;justify-content:center;margin-top:14px;flex-wrap:wrap}
@keyframes fadeInUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}

/* 全屏练习 */
.tr-game-wrap:fullscreen,.tr-game-wrap.tr-fs{background:#fff;padding:28px 32px;overflow:auto;max-width:none;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}
.tr-game-wrap:fullscreen .tr-game-head h2,.tr-game-wrap.tr-fs .tr-game-head h2{font-size:30px}
.tr-game-wrap:fullscreen .tr-board,.tr-game-wrap.tr-fs .tr-board{min-height:56vh;width:100%;max-width:820px}
.tr-game-wrap:fullscreen .tr-opt,.tr-game-wrap.tr-fs .tr-opt{font-size:22px;padding:18px 20px}
.tr-game-wrap:fullscreen .tr-q,.tr-game-wrap.tr-fs .tr-q{font-size:27px}
.tr-game-wrap:fullscreen .tr-hint,.tr-game-wrap.tr-fs .tr-hint{font-size:17px}
.tr-game-wrap:fullscreen .tr-arena,.tr-game-wrap.tr-fs .tr-arena{height:58vh;max-width:860px}
.tr-game-wrap:fullscreen .tr-cell,.tr-game-wrap.tr-fs .tr-cell{font-size:44px}
.tr-game-wrap:fullscreen .tr-target,.tr-game-wrap.tr-fs .tr-target{width:100px;height:100px;font-size:54px}
.tr-game-wrap:fullscreen .tr-emojis,.tr-game-wrap.tr-fs .tr-emojis{font-size:48px}
.tr-game-wrap:fullscreen .score-circle,.tr-game-wrap.tr-fs .score-circle{width:120px;height:120px}
.tr-game-wrap:fullscreen .score-circle b,.tr-game-wrap.tr-fs .score-circle b{font-size:34px}
.tr-game-wrap:fullscreen .tr-start-title,.tr-game-wrap.tr-fs .tr-start-title{font-size:28px}

/* ===== 分类详情页头部 ===== */
.tr-cat-detail-head{display:flex;align-items:center;gap:16px;margin:22px 0 4px}
.tr-cat-detail-head h2{font-size:22px;color:var(--text-1);display:flex;align-items:center;gap:10px}
.tr-cat-icon{width:48px;height:48px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:26px}

/* ===== 分类导航（兼容旧结构，备用） ===== */
.tr-catnav{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 18px}
.tr-catnav-label{font-size:13px;color:var(--text-3);margin-right:2px}
.tr-catnav-item{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;background:#fff;border:1px solid var(--border);color:var(--text-1);font-size:13px;font-weight:600;text-decoration:none;transition:all .15s}
.tr-catnav-item:hover{border-color:var(--c);color:var(--c);box-shadow:0 2px 8px rgba(0,0,0,.06)}
.tr-catnav-item em{font-style:normal;font-size:11px;background:var(--c);color:#fff;border-radius:10px;padding:0 6px;line-height:16px}
.tr-cat{margin:10px 0 30px;scroll-margin-top:80px}
.tr-cat-head{display:flex;align-items:center;gap:14px;padding:16px 0 12px;border-bottom:2px solid var(--c);margin-bottom:8px;scroll-margin-top:80px}
.tr-cat-head .tr-cat-more{margin-left:auto;align-self:center;font-size:13px;font-weight:700;color:var(--c);text-decoration:none;white-space:nowrap;padding:6px 14px;border-radius:20px;background:color-mix(in srgb,var(--c) 12%,#fff)}
.tr-cat-head .tr-cat-more:hover{background:var(--c);color:#fff}
.tr-games-row{display:flex;gap:16px;overflow-x:auto;padding:8px 2px 16px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch}
.tr-games-row::-webkit-scrollbar{height:8px}
.tr-games-row::-webkit-scrollbar-thumb{background:#cfe3e6;border-radius:8px}
.tr-games-row .tr-game-card{flex:0 0 232px;scroll-snap-align:start}

/* ============================================================
   训练总结页
   ============================================================ */
.tr-summary-grid{display:grid;grid-template-columns:360px 1fr;gap:24px;margin:24px 0;align-items:start}
.tr-radar-card,.tr-dim-card,.tr-trend-card{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:22px}
.tr-radar-card{text-align:center;position:sticky;top:20px}
.tr-radar-card h4,.tr-trend-card h4{font-size:16px;color:var(--text-1);margin-bottom:14px}
.tr-overall{margin-top:10px;font-size:40px;font-weight:800;color:var(--primary);line-height:1}
.tr-overall-label{font-size:13px;color:var(--text-2);margin-bottom:4px}
.tr-overall-badge{display:inline-block;padding:3px 14px;border-radius:20px;font-size:13px;color:#fff;margin-top:8px}
.tr-dims{display:flex;flex-direction:column;gap:14px}
.tr-dim-card{padding:18px 20px}
.tr-dim-top{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.tr-dim-icon{width:40px;height:40px;border-radius:12px;background:var(--bg-soft);display:flex;align-items:center;justify-content:center;font-size:22px}
.tr-dim-top h4{font-size:16px;color:var(--text-1)}
.tr-dim-meta{margin-left:auto;text-align:right;font-size:12px;color:var(--text-3)}
.tr-dim-meta b{font-size:20px;color:var(--text-1)}
.tr-dim-bar{height:8px;border-radius:6px;background:var(--bg-soft);overflow:hidden;margin:8px 0}
.tr-dim-bar > i{display:block;height:100%;border-radius:6px;background:var(--primary)}
.tr-dim-guidance{font-size:13px;color:var(--text-2);line-height:1.7}
.tr-dim-link{display:inline-block;margin-top:8px;font-size:13px;color:var(--primary);text-decoration:none;font-weight:600}
.tr-dim-link:hover{text-decoration:underline}
.tr-trend-card{margin-top:0}
.tr-trend-svg{width:100%;height:auto}
.tr-recent{background:#fff;border:1px solid var(--border);border-radius:var(--radius-lg);padding:20px;margin-top:24px}
.tr-recent h4{font-size:16px;color:var(--text-1);margin-bottom:14px}
.tr-recent-item{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--border-light);font-size:13px}
.tr-recent-item:last-child{border-bottom:none}
.tr-recent-item .ri-name{font-weight:600;color:var(--text-1)}
.tr-recent-item .ri-dim{color:var(--text-3)}
.tr-recent-item .ri-score{margin-left:auto;font-weight:700;color:var(--primary)}
.tr-recent-item .ri-date{color:var(--text-3);font-size:12px;min-width:86px;text-align:right}

/* ===== 响应式 ===== */
@media (max-width:1080px){
  .tr-hero-inner{grid-template-columns:1fr;gap:28px}
  .tr-hero-right{max-width:480px}
  .tr-model{grid-template-columns:repeat(3,1fr)}
  .tr-path{grid-template-columns:repeat(2,1fr)}
  .tr-pod-body{grid-template-columns:1fr}
  .tr-pod-aside{border-right:none;border-bottom:1px solid var(--border)}
  .tr-summary-grid{grid-template-columns:1fr}
  .tr-radar-card{position:static}
}
@media (max-width:860px){
  .tr-model{grid-template-columns:repeat(2,1fr)}
  .tr-age-item,.tr-agefilter-label{font-size:12.5px}
}
@media (max-width:560px){
  .tr-model,.tr-path{grid-template-columns:1fr}
  .tr-sci-hero{padding:26px 22px}
  .tr-sci-hero h3{font-size:22px}
  .tr-pod-head{flex-wrap:wrap;gap:12px}
  .tr-fs-btn{font-size:12px;padding:4px 10px}
}
