/* Download hub and platform guides, adapted from the supplied V10.5 artwork. */
.marketing-download-body { --blue: #149dff; }
.fx-download-page { box-sizing: border-box; width: min(1120px, 100%); min-height: calc(100svh - 82px); margin: auto; padding: 54px 24px 72px; position: relative; }
.fx-download-page *, .fx-download-page *::before, .fx-download-page *::after { box-sizing: border-box; }
.fx-download-page [hidden] { display: none !important; }
.fx-download-content { max-width: 860px; margin: auto; text-align: center; }
.fx-download-title { color: #f5f9ff; font-size: clamp(32px, 5.5vw, 54px); letter-spacing: -.035em; line-height: 1.23; margin: 0 0 24px; font-weight: 900; }
.download-page__lead { color: #a9bdd4; overflow-wrap: anywhere; }
.fx-download-button-group { max-width: 760px; margin: 24px auto 0; width: 100%; }
.fx-download-buttons { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; width: 100%; margin: auto; align-items: stretch; }
.fx-download-buttons:not(.is-expanded) { display: flex; flex-direction: column; align-items: center; }
.fx-download-buttons:not(.is-expanded) > .fx-download-button { width: min(100%, 390px); }
.fx-download-button { position: static; display: flex; align-items: center; justify-content: center; gap: 12px; min-width: 0; width: auto; min-height: 58px; height: auto; padding: 15px 22px; border-radius: 999px; border: 1px solid rgba(87,198,255,.2); color: #fff; background: linear-gradient(135deg, var(--blue), #087bd7); box-shadow: 0 13px 32px rgba(20,157,255,.17); text-align: center; text-decoration: none; font-size: 16px; font-weight: 800; line-height: 1.5; transition: transform .2s, filter .2s; }
.fx-download-button:hover { transform: translateY(-2px); filter: brightness(1.1); background: linear-gradient(135deg, var(--blue), #087bd7); }
.fx-download-button img { flex: 0 0 22px; }
.fx-download-button[aria-disabled="true"], .fx-harmony-copy:disabled, .fx-harmony-copy[aria-disabled="true"] { opacity: .45; pointer-events: none; }
.download-cta__label { font-size: inherit; font-weight: inherit; white-space: normal; }
.download-availability { display: block; font-size: 12px; font-weight: 500; margin-top: 4px; }
.fx-download-control { display: flex; justify-content: center; margin: 7px auto 0; }
.fx-download-control button { font: inherit; font-size: 14px; cursor: pointer; color: #75dfff; border: 0; background: none; min-height: 44px; padding: 5px 12px; text-decoration: underline; text-underline-offset: 4px; }
.fx-download-page button:focus-visible, .fx-download-page summary:focus-visible, .fx-download-page input:focus-visible { outline: 3px solid #75e4ff; outline-offset: 4px; }
.fx-download-footer { margin: 10px auto 0; color: #8697aa; font-size: 13px; }
.fx-download-footer-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 12px 34px; }
.fx-download-footer-utility { display: flex; justify-content: center; gap: 24px; margin-top: 12px; }
.fx-download-footer a, .fx-ios-breadcrumb a, .fx-ios-guide-bottom a { color: #aacfe9; text-decoration: none; }
.fx-download-footer a:hover, .fx-ios-breadcrumb a:hover, .fx-ios-guide-bottom a:hover { color: #75dfff; text-decoration: underline; }
.fx-download-harmony-note, .fx-harmony-tip-box { max-width: 760px; margin: 14px auto 0; padding: 14px 16px; border: 1px solid rgba(94,170,220,.22); border-radius: 16px; background: rgba(22,52,80,.4); color: #b5c9dc; text-align: left; font-size: 13px; line-height: 1.8; }
.fx-download-page .download-page__android-install-hint { width: min(100%, 600px); margin: 16px auto; color: #9db7cd; font-size: 12px; background: none; padding: 0; }
.fx-hero-signal { max-width: 620px; margin: 16px auto 30px; }
.fx-signal-art { display: block; width: 100%; height: auto; }
.fx-hero-features { display: flex; justify-content: center; align-items: center; gap: 22px; color: #a8c4dc; font-size: 14px; }
.fx-hero-features i { width: 3px; height: 3px; border-radius: 50%; background: #4faadb; }
.fx-hero-static-visual, .fx-ios-strengths { display: none; }
.fx-device-ios .fx-hero-signal { display: none; }
.fx-device-ios .fx-hero-static-visual { display: block; position: relative; isolation: isolate; width: min(100%, 720px); height: 312px; margin: 14px auto 0; pointer-events: none; }
.fx-hero-static-visual::before { content: ''; position: absolute; z-index: -2; left: 13%; right: 13%; top: 23%; bottom: 20%; border: 1px solid rgba(71,151,248,.085); border-radius: 50%; transform: rotate(-9deg); }
.fx-hero-light { position: absolute; z-index: -1; border-radius: 50%; filter: blur(45px); }
.fx-hero-light-blue { width: 48%; height: 58%; left: 26%; top: 22%; background: rgba(23,115,216,.14); }
.fx-hero-light-violet { width: 56%; height: 60%; left: 11%; top: 30%; background: rgba(102,59,196,.075); }
.fx-network-logo { position: absolute; display: block; height: auto; max-width: none; object-fit: contain; filter: drop-shadow(0 7px 14px rgba(0,0,0,.13)); }
.fx-network-logo--main { width: 125px; left: 50%; top: 48%; transform: translate(-50%,-50%); filter: drop-shadow(0 18px 24px rgba(0,0,0,.3)); }
.fx-network-logo--youtube { width: 68px; left: 5%; top: 4%; }
.fx-network-logo--tiktok { width: 46px; left: 22%; top: 36%; }
.fx-network-logo--bbc { width: 51px; left: 8%; top: 61%; }
.fx-network-logo--telegram { width: 45px; left: 24%; top: 78%; }
.fx-network-logo--facebook { width: 51px; right: 5%; top: 2%; }
.fx-network-logo--instagram { width: 58px; right: 7%; top: 61%; }
.fx-network-logo--x { width: 37px; right: 22%; top: 36%; }
.fx-network-logo--openai { width: 47px; right: 24%; top: 78%; }
.fx-device-ios .fx-ios-strengths { display: block; width: min(100%, 580px); margin: 24px auto 0; }
.fx-ios-strengths-label { position: relative; display: flex; align-items: center; justify-content: center; gap: 16px; padding: 0 8px 2px; margin-bottom: 20px; background: linear-gradient(180deg,#f7fbff 8%,#d5ebff 42%,#87c8ff 100%); background-clip: text; -webkit-background-clip: text; color: transparent; text-shadow: 0 0 20px rgba(95,180,255,.14),0 0 42px rgba(35,110,209,.12); font-family: Georgia,"Times New Roman",serif; font-size: 22px; line-height: 1.3; letter-spacing: .12em; font-weight: 700; }
.fx-ios-strengths-label::after { content: ''; position: absolute; left: 50%; bottom: -8px; transform: translateX(-50%); width: 132px; height: 1px; background: linear-gradient(90deg,transparent,rgba(116,197,255,.58),transparent); box-shadow: 0 0 12px rgba(116,197,255,.18); }
.fx-ios-strengths-label > span { flex: 0 1 46px; height: 1px; background: linear-gradient(90deg,transparent,rgba(120,196,245,.36)); }
.fx-ios-strengths-label > span:last-child { transform: rotate(180deg); }
.fx-ios-strengths-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 11px; }
.fx-ios-strength { min-width: 0; padding: 16px 8px 14px; border: 1px solid rgba(86,178,244,.2); border-radius: 17px; background: linear-gradient(160deg,rgba(29,84,131,.19),rgba(8,27,47,.35)); }
.fx-ios-strength-icon { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 auto 10px; color: #69d4ff; border-radius: 12px; background: rgba(57,158,231,.14); border: 1px solid rgba(101,187,240,.16); }
.fx-ios-strength-icon svg { width: 22px; height: 22px; }
.fx-ios-strength-title { font-size: 14px; font-weight: 800; color: #f2f9ff; }
.fx-ios-strength-sub { font-size: 11px; margin-top: 6px; color: #8faec8; }
.fx-ios-guide, .fx-harmony-guide { max-width: 860px; margin: auto; }
.fx-ios-breadcrumb { font-size: 13px; color: #819eb6; margin-bottom: 28px; }
.fx-ios-hero, .fx-harmony-hero { max-width: 760px; margin: 0 auto 28px; text-align: center; }
.fx-ios-hero-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .16em; color: #70d6ff; margin-bottom: 14px; }
.fx-ios-hero p, .fx-harmony-lead { font-size: 14px; line-height: 1.9; color: #b9cae0; }
.fx-ios-jump-links { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; margin-top: 18px; }
.fx-ios-jump-links a { padding: 10px 14px; border-radius: 999px; border: 1px solid rgba(84,190,255,.22); background: rgba(17,41,66,.55); color: #bcecff; text-decoration: none; font-size: 13px; }
.fx-ios-step-card { margin: 0 auto 18px; border: 1px solid rgba(77,158,212,.29); background: linear-gradient(145deg,rgba(16,43,68,.93),rgba(9,24,40,.92)); border-radius: 22px; padding: 28px 34px 24px; box-shadow: 0 22px 55px rgba(0,0,0,.14); scroll-margin-top: 100px; }
.fx-ios-step-top { display: flex; flex-direction: column; gap: 10px; margin-bottom: 10px; }
.fx-ios-step-badge { align-self: flex-start; padding: 6px 12px; border-radius: 999px; background: rgba(41,169,225,.12); border: 1px solid rgba(91,188,237,.18); color: #94e7ff; font-size: 12px; letter-spacing: .08em; font-weight: 700; }
.fx-ios-step-card h2 { font-size: 24px; color: #fff; line-height: 1.35; margin: 0; }
.fx-ios-step-card p { font-size: 14px; line-height: 1.9; color: #b6c9dd; margin: 0 0 18px; }
.fx-ios-stage-visual { display: flex; align-items: center; gap: 14px; padding: 18px; background: rgba(255,255,255,.04); border: 1px solid rgba(105,182,230,.16); border-radius: 15px; margin: 20px 0; }
.fx-ios-visual-symbol { font-size: 32px; color: #72d6ff; }
.fx-ios-stage-visual b, .fx-ios-stage-visual small { display: block; }
.fx-ios-stage-visual small { color: #88a9c1; font-size: 12px; }
.fx-ios-visual-tag { margin-left: auto; color: #7dcdf3; font-size: 11px; white-space: nowrap; }
.fx-ios-primary { margin: 16px 0; white-space: normal; }
.fx-ios-step-card .fx-ios-inline-tip { font-size: 12px; color: #8eb0c8; margin: 4px 0 0; }
.fx-ios-invite-help { margin: 20px 0; border: 1px solid rgba(247,182,82,.34); background: rgba(255,185,75,.075); border-radius: 15px; padding: 15px 18px; }
.fx-ios-invite-help h3 { font-size: 15px; color: #ffe0a1; margin: 0 0 8px; }
.fx-ios-invite-help p { color: #eed9bd; margin: 0; }
.fx-ios-diagram { display: flex; gap: 11px; align-items: center; justify-content: space-between; padding: 20px 15px; margin: 18px 0 16px; border: 1px solid rgba(65,151,213,.25); border-radius: 15px; background: rgba(14,108,170,.07); }
.fx-ios-diagram > div { flex: 1; text-align: center; min-width: 0; }
.fx-ios-diagram span { display: block; color: #6bdcff; font-size: 22px; margin-bottom: 7px; }
.fx-ios-diagram b { display: block; font-size: 13px; color: #e5f5ff; }
.fx-ios-diagram i { font-style: normal; color: #2fb9f4; }
.fx-ios-account-note { color: #d1dcf0; background: rgba(255,255,255,.05); border-left: 3px solid #47cdff; padding: 12px 14px; border-radius: 8px; font-size: 13px; line-height: 1.75; margin: 14px 0; }
.fx-ios-help-section { margin: 34px auto 24px; }
.fx-ios-help-section h2 { font-size: 20px; color: #f3fbff; }
.fx-ios-faq { border-bottom: 1px solid rgba(151,194,220,.14); padding: 14px 4px; }
.fx-ios-faq summary { cursor: pointer; color: #d8e8f6; font-size: 14px; font-weight: 650; list-style: none; display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.fx-ios-faq summary::-webkit-details-marker { display: none; }
.fx-ios-faq summary::after { content: '+'; font-size: 20px; color: #57cfff; }
.fx-ios-faq[open] summary::after { content: '−'; }
.fx-ios-faq p { font-size: 13px; color: #a9c0d3; line-height: 1.8; margin: 10px 0 2px; }
.fx-ios-guide-bottom { display: flex; justify-content: space-between; gap: 18px; margin: 26px auto 20px; font-size: 13px; }
.fx-ios-disclaimer { font-size: 12px; color: #87a0b7; text-align: center; line-height: 1.8; }
.fx-harmony-cta-group { display: flex; flex-direction: column; align-items: stretch; gap: 12px; margin-bottom: 16px; }
.fx-harmony-wide { width: 100%; margin-bottom: 0; }
.fx-harmony-copy { width: 100%; display: flex; justify-content: center; align-items: center; min-height: 48px; padding: 10px 18px; border-radius: 999px; border: 1px solid rgba(82,190,255,.28); background: rgba(15,37,59,.82); color: #d8f3ff; font: inherit; font-size: 14px; font-weight: 700; cursor: pointer; }
.fx-harmony-copy { text-decoration: none; text-align: center; }
.fx-harmony-copy:hover { border-color: #59ceff; }
.fx-copy-fallback { width: 100%; padding: 12px; color: #e5f5ff; background: #102b40; border: 1px solid #59ceff; border-radius: 8px; }
#fx-copy-status:empty { display: none; }
.download-page__wechat-overlay, .download-page__wechat-overlay * { pointer-events: none; }
@media (max-width: 760px) {
  .fx-download-page { padding: 30px 18px 56px; }
  .fx-download-buttons { grid-template-columns: 1fr; gap: 11px; max-width: 440px; }
  .fx-download-button { min-height: 54px; font-size: 14px; padding: 14px 18px; }
  .fx-download-footer-links { gap: 8px 24px; font-size: 12px; }
  .fx-device-ios .fx-hero-static-visual { max-width: 430px; height: 235px; margin-top: 10px; }
  .fx-network-logo--main { width: 94px; top: 47%; }
  .fx-network-logo--youtube { width: 49px; left: 3%; top: 4%; }
  .fx-network-logo--tiktok { width: 34px; left: 16%; top: 35%; }
  .fx-network-logo--bbc { width: 39px; left: 1%; top: 65%; }
  .fx-network-logo--telegram { width: 33px; left: 22%; top: 84%; }
  .fx-network-logo--facebook { width: 41px; right: 3%; top: 4%; }
  .fx-network-logo--instagram { width: 46px; right: 1%; top: 65%; }
  .fx-network-logo--x { width: 30px; right: 16%; top: 35%; }
  .fx-network-logo--openai { width: 35px; right: 22%; top: 84%; }
  .fx-device-ios .fx-ios-strengths { margin-top: 28px; }
  .fx-ios-strengths-grid { gap: 7px; }
  .fx-ios-strength { padding: 13px 3px 12px; border-radius: 14px; }
  .fx-ios-strength-icon { width: 34px; height: 34px; border-radius: 10px; margin-bottom: 8px; }
  .fx-ios-strength-icon svg { width: 19px; height: 19px; }
  .fx-ios-strength-title { font-size: 13px; }
  .fx-ios-strength-sub { font-size: 10px; }
  .fx-ios-step-card { padding: 21px 18px 18px; border-radius: 18px; }
  .fx-ios-step-card h2 { font-size: 20px; }
  .fx-ios-step-card p, .fx-harmony-lead { font-size: 13px; }
  .fx-ios-jump-links { gap: 8px; }
  .fx-ios-jump-links a { font-size: 12px; padding: 9px 12px; }
  .fx-ios-diagram { padding: 15px 8px; gap: 3px; }
  .fx-ios-diagram b { font-size: 11px; }
  .fx-ios-stage-visual { padding: 14px 10px; gap: 10px; }
  .fx-ios-stage-visual small { font-size: 10px; }
  .fx-ios-visual-tag { font-size: 10px; }
}
@media (prefers-reduced-motion: reduce) { .fx-download-page * { transition: none; scroll-behavior: auto; } }
