
html, body { max-width: 100%; overflow-x: hidden !important; }
/* v20260909r 内嵌裸模式（?embed=1）：被伴侣壳 iframe 内嵌时隐藏平台导航；
   高度改 100%——iframe 内 100dvh 跨浏览器不一致（iOS 可能取顶层视口高度） */
.xj-embed{height:100%}
.xj-embed body{height:100%!important;min-height:0!important;padding-bottom:0!important}
.xj-embed header,.xj-embed .top-nav,.xj-embed .bottom-nav{display:none!important}
img, video, iframe { max-width: 100%; height: auto; }
@media (orientation: landscape) and (max-height: 560px) {
  .top-nav { display: none !important; }
  .bottom-nav { display: flex !important; }
  .view-section { padding-bottom: 80px !important; }
}
@media (orientation: landscape) and (max-height: 480px) {
  .platform-hero { padding: 12px 16px 8px; }
  .hero-cta { flex-direction: row; }
  .platform-hero h2 { font-size: 18px; }
}
/* ===== Xingjian hub pages (nav 9→5): Rehab / Discover =====
   Yudao-style large cards: big icon + generous whitespace + soft rounded edges. 2026-09-01 */
.hub-wrap{padding:22px 20px calc(40px + env(safe-area-inset-bottom,0px));max-width:680px;margin:0 auto}
.hub-head{margin-bottom:22px}
.hub-t{font-family:var(--xj-font-serif,'Source Han Serif SC','Noto Serif SC',serif);font-size:27px;font-weight:700;color:#2b3a34;letter-spacing:2px;margin:0 0 7px}
.hub-s{font-size:14px;color:#5f6f69;line-height:1.75;margin:0}
.hub-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
@media(max-width:860px){.hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.hub-grid{grid-template-columns:1fr}}
.fit-group{margin-bottom:24px}
.fit-group-h{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:700;color:#1f2d3d;margin:0 0 10px}
.fit-group-h .fg-ic{width:36px;height:36px;border-radius:12px;background:#e7f4ec;border:1px solid #dcefe6;display:flex;align-items:center;justify-content:center;flex:0 0 36px}
.fit-group-h .fg-ic svg{width:20px;height:20px;fill:#0e9f6e}
.fit-group-h small{font-size:14px;font-weight:400;color:#6b7280;margin-left:auto}
.fit-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media(max-width:640px){.fit-cards{grid-template-columns:1fr}}
/* ===== Fitness · My Exercise Profile (v20260905g, ported from zh) ===== */
.fit-pf{background:#fff;border:1px solid #e8ece9;border-radius:14px;padding:15px;margin-bottom:14px;min-width:0}
.fit-pf-t{font-size:16px;font-weight:700;color:#1f2d3d;line-height:1.5}
.fit-pf-m{font-size:14px;color:#6b7280;margin-top:6px;line-height:1.7}
.fit-tip{margin-top:10px;background:#fdf6f3;border-left:4px solid #b4623f;border-radius:0 10px 10px 0;padding:10px 12px;font-size:14px;line-height:1.7;color:#7a4a30}
.fit-btn{display:block;width:100%;min-height:46px;margin-top:12px;border:none;border-radius:12px;background:#0e9f6e;color:#fff;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer}
.fit-btn.ghost{background:#fff;border:1px solid #d3e8dc;color:#0b7a54}
.fit-form{margin-top:12px;border-top:1px dashed #e2e8e4;padding-top:12px}
.fit-rows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:640px){.fit-rows{grid-template-columns:1fr}}
.fit-f{min-width:0}
.fit-f label{display:block;font-size:13px;color:#6b7280;margin-bottom:5px}
.fit-f input,.fit-f select{width:100%;box-sizing:border-box;min-height:44px;border:1px solid #e2e8e4;border-radius:10px;background:#f7faf8;padding:10px;font-size:16px;font-family:inherit;color:#1f2d3d;outline:none}
.fit-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.fit-chip{display:inline-flex;align-items:center;min-height:38px;padding:7px 14px;border:1px solid #d9e2dd;border-radius:999px;background:#fff;font-size:15px;color:#475569;cursor:pointer;user-select:none}
.fit-chip.on{background:#e8f5ef;border-color:#0e9f6e;color:#0b7a54;font-weight:700}
.fit-card2{background:#fff;border:1px solid #e8ece9;border-radius:14px;padding:15px;cursor:pointer;transition:border-color .18s,box-shadow .18s}
.fit-card2:hover{border-color:#0e9f6e;box-shadow:0 2px 10px rgba(14,159,110,.08)}
.fit-c2-t{font-size:17px;font-weight:700;color:#1f2d3d;margin-bottom:5px;line-height:1.45}
.fit-c2-m{font-size:14px;color:#6b7280;line-height:1.6}
.fit-c2-d{font-size:15px;color:#475569;line-height:1.7;margin-top:7px}
.fit-detail{margin-top:11px;padding-top:11px;border-top:1px dashed #dcefe6;font-size:15px;color:#475569;line-height:1.75;display:none}
.fit-card2.open .fit-detail{display:block}
.fit-detail dt{font-weight:700;color:#0e9f6e;font-size:14px;margin-top:9px}
.fit-detail dd{margin:2px 0 0}
.fit-teach{margin-top:12px;background:var(--panel2);border:1px solid var(--border);border-radius:10px;padding:11px}
.fit-teach .ft-t{font-size:15px;font-weight:700;color:var(--accent);margin-bottom:5px;display:flex;align-items:center;gap:5px}
.fit-teach .ft-i{font-size:15px;margin-bottom:4px;padding-left:12px}
.fit-teach a{color:var(--primary);text-decoration:none}
.fit-teach a:hover{text-decoration:underline}
.fit-teach .ft-v{font-size:14px;color:var(--text3);margin-left:6px}
.hub-card{position:relative;background:#fff;border:1px solid #e8ece9;border-radius:20px;padding:22px 20px;text-align:left;cursor:pointer;transition:transform .18s,border-color .18s,box-shadow .18s;display:flex;flex-direction:column;gap:7px;font-family:inherit;box-shadow:0 1px 2px rgba(14,159,110,.04),0 6px 18px rgba(14,159,110,.05)}
.hub-card:active{transform:scale(.985);border-color:#0e9f6e}
.hub-ic{width:54px;height:54px;border-radius:17px;background:linear-gradient(140deg,#fafdfb 0%,#e7f4ec 100%);display:flex;align-items:center;justify-content:center;margin-bottom:5px;border:1px solid #dcefe6}
.hub-ic svg{width:32px;height:32px;display:block}
.hub-ct{font-size:17px;font-weight:700;color:#2b3a34;letter-spacing:.5px}
.hub-cd{font-size:13px;color:#6b7a74;line-height:1.7}
.hub-go{position:absolute;right:20px;top:26px;color:#9fb3ab;font-size:19px;transition:transform .18s}
.hub-card:active .hub-go{transform:translateX(3px)}
.hub-card.hub-alt .hub-ic{background:linear-gradient(140deg,#fbfaf8 0%,#f2ece4 100%);border-color:#eae4da}
.hub-card.hub-sky .hub-ic{background:linear-gradient(140deg,#fafcfc 0%,#e4f0ee 100%);border-color:#d8e8e5}
