/* 首页下载入口与弹窗；不占用网站导航栏目。 */
.home-download { padding-block: 58px; background: #f6f5f1; border-top: 1px solid #ebe8df; }
.home-download-inner { display: flex; align-items: center; justify-content: space-between; gap: 35px; }
.home-download .eyebrow { color: var(--gold-dark); margin-bottom: 8px; }
.home-download h2 { font-size: clamp(27px, 3vw, 38px); font-weight: 500; }
.home-download-copy > p:last-child { margin-top: 10px; color: var(--muted); font-size: 15px; }
.home-download-actions { display: flex; gap: 16px; }
.home-download-link { display: flex; align-items: center; gap: 14px; padding: 18px 22px; border: 1px solid #d8d5cc; background: #fffefa; color: var(--navy); min-width: 190px; text-align: left; transition: border-color .2s,background .2s; }
.home-download-link:hover { background: #fff; border-color: #a78653; }
.home-download-link > svg { width: 26px; height: 26px; flex: 0 0 26px; }
.home-download-link strong { display: block; font-size: 16px; font-weight: 500; }
.home-download-link small { display: block; color: #69777d; font-size: 11px; letter-spacing: .04em; }
.home-download-link > span:last-child { margin-left: auto; color: var(--gold-dark); }
.download-fab { position: fixed; z-index: 24; right: 0; bottom: 86px; display: inline-flex; align-items: center; gap: 10px; width: 56px; min-height: 58px; padding: 10px; overflow: hidden; white-space: nowrap; color: #292522; background: #fff; border: 1px solid #d9b9ad; border-radius: 12px 0 0 12px; box-shadow: 0 5px 22px #281a1520, 0 1px 3px #281a1510; text-align: left; }
.download-fab.is-expanded { right: 17px; width: 168px; border-radius: 10px; }
.download-fab .download-fab-copy, .download-fab .download-fab-arrow { flex-shrink: 0; opacity: 0; }
.download-fab.is-expanded .download-fab-copy, .download-fab.is-expanded .download-fab-arrow { opacity: 1; }
.download-fab-brand { position: relative; flex: 0 0 34px; width: 34px; height: 34px; overflow: hidden; }
.download-fab-brand img { position: absolute; width: 154px; height: auto; max-width: none; left: -14px; top: -11px; }
.download-fab-copy { display: block; }
.download-fab-copy strong { font: 600 15px/1.25 var(--serif); letter-spacing: .06em; }
.download-fab-arrow { width: 16px; height: 16px; color: #b71419; margin-left: 1px; }
.download-fab:hover { background: #fffaf7; border-color: #b71419; }
.download-fab:focus-visible { outline: 2px solid #b71419; outline-offset: 4px; }
@media (min-width: 901px) {
  .download-fab { display: none; }
}
html.download-dialog-open { overflow: hidden; overscroll-behavior: none; }
.download-dialog { position: fixed; inset: 0; width: min(720px, calc(100% - 48px)); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); margin: auto; padding: 0; border: 1px solid #d9dfdf; border-radius: 18px; color: #12354b; background: #f7f6f2; box-shadow: 0 28px 90px #05192b40; overflow: auto; overscroll-behavior: contain; }
.download-dialog:not([open]) { display: none; }
.download-dialog::backdrop { background: #071d32a8; backdrop-filter: blur(5px); }
.download-dialog-heading { position: sticky; z-index: 1; top: 0; padding: 30px 30px 25px; background: radial-gradient(ellipse at 50% 0, #21465d, transparent 75%), #102d42; border-bottom: 2px solid #b39762; }
.download-dialog-brand { display: grid; grid-template-columns: 54px max-content; justify-content: center; align-items: center; gap: 14px; text-align: center; }
.download-dialog-brand .download-fab-brand { width: 54px; height: 54px; border: 6px solid #fff; border-radius: 10px; background: #fff; box-shadow: 0 3px 16px #03172430; }
.download-dialog-brand .download-fab-brand img { width: 190px; left: -18px; top: -14px; }
.download-dialog-heading h2 { color: #fffdf6; font-size: 30px; font-weight: 500; letter-spacing: .08em; }
#download-dialog-description { grid-column: 1 / -1; color: #c7d5dc; font-size: 13px; letter-spacing: .06em; }
.download-close { position: absolute; top: 15px; right: 15px; display: grid; place-items: center; width: 44px; height: 44px; margin: 0; padding: 13px; border: 1px solid #ffffff26; border-radius: 50%; background: #ffffff08; color: #fff; }
.download-close img { filter: invert(1); }
.download-close:hover { background: #ffffff18; }
.download-options { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; padding: 24px 30px 22px; }
.download-options-label { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 0; color: #6b7272; font-size: 12px; letter-spacing: .06em; }
.download-options-label span { color: #9a8b71; font: 9px/1.5 Georgia,serif; letter-spacing: .1em; }
.download-option { min-width: 0; padding: 23px 22px 20px; display: flex; flex-direction: column; align-items: center; text-align: center; border: 1px solid #e5e3db; background: #fff; border-radius: 12px; box-shadow: 0 3px 12px #183b4a04; }
.download-option.is-chosen { border-color: #a7b7c2; box-shadow: 0 0 0 1px #a7b7c230; }
.download-platform-icon { width: 46px; height: 46px; padding: 11px; margin-bottom: 11px; border-radius: 13px; background: #f0f3f4; color: #16374c; }
#download-android .download-platform-icon { background: #f3f0e8; color: #887142; }
.download-platform-icon svg { display: block; width: 100%; height: 100%; }
.download-option h3 { font-size: 23px; font-weight: 500; }
.download-format { margin-top: 3px; color: #69747b; font-size: 11px; line-height: 1.8; letter-spacing: .04em; }
.download-qr { width: 154px; height: 154px; padding: 6px; margin-top: 20px; background: #fff; border: 1px solid #e8e5dc; }
.download-scan { margin-top: 8px; color: #687981; font-size: 11px; }
.download-button { display: flex; gap: 10px; justify-content: space-between; align-items: center; width: 100%; min-height: 48px; padding: 11px 18px; margin-top: 18px; background: #16374c; border: 1px solid #16374c; border-radius: 5px; color: white; font-size: 14px; }
.download-button:hover { color: white; background: #24516a; }
.download-button svg { width: 18px; height: 18px; }
.download-button-compact { display: none; }
.download-dialog-footer { margin: 0 30px; padding: 18px 0 23px; border-top: 1px solid #e4e1d7; text-align: center; }
.download-signature { display: flex; justify-content: center; align-items: center; gap: 16px; color: #8f7548; font: 13px/1.7 var(--serif); letter-spacing: .14em; }
.download-signature span { width: 22px; height: 1px; background: #cbb98f; }
#android-help { margin-top: 10px; color: #7b8589; font-size: 11px; line-height: 1.7; }
.download-dialog :where(a,button):focus-visible { outline: 2px solid #315d78; outline-offset: 3px; }
.download-dialog .download-close:focus-visible { outline-color: #ceb985; }
.download-noscript { padding: 24px; text-align: center; }
.download-noscript a { display: inline-block; margin: 10px; padding: 12px; text-decoration: underline; }
@media (prefers-reduced-motion: no-preference) {
  .download-fab { transition: width .24s ease, right .24s ease, border-radius .24s ease; }
  .download-fab .download-fab-copy, .download-fab .download-fab-arrow { transition: opacity .16s ease; }
  .download-dialog[open] { animation: download-enter .2s ease-out; }
  @keyframes download-enter { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 1050px) {
  .home-download-inner { gap: 24px; }
  .home-download-actions { gap: 12px; }
  .home-download-link { min-width: 166px; padding: 15px; }
}
@media (max-width: 800px) {
  .home-download-inner { align-items: flex-start; flex-direction: column; }
  .home-download-actions { width: 100%; }
  .home-download-link { flex: 1; }
}
@media (min-width: 601px) and (max-height: 780px) {
  .download-dialog-heading { padding-block: 23px 19px; }
  .download-options { gap: 12px; padding-block: 18px; }
  .download-option { padding-block: 16px; }
  .download-qr { width: 136px; height: 136px; margin-top: 12px; }
  .download-button { margin-top: 14px; }
  .download-dialog-footer { padding-block: 12px; }
}
@media (max-width: 600px) {
  .download-fab { bottom: calc(max(20px, env(safe-area-inset-bottom)) + 58px); }
  .download-dialog { inset: auto 0 0; width: 100%; max-width: 100%; max-height: calc(100vh - 16px); max-height: calc(100dvh - 16px); margin: 0; border: 0; border-radius: 20px 20px 0 0; padding-bottom: env(safe-area-inset-bottom); }
  .download-dialog-heading { padding: 30px 24px 22px; }
  .download-dialog-heading h2 { font-size: 26px; }
  .download-dialog-brand { gap: 13px; }
  .download-close { top: 12px; right: 12px; }
  .download-options { grid-template-columns: 1fr; gap: 12px; padding: 22px 20px 20px; }
  .download-options-label { margin-bottom: 2px; }
  .download-option { display: grid; grid-template-columns: 44px minmax(0,1fr) 82px; gap: 0 12px; padding: 20px 17px; text-align: left; }
  .download-platform-icon { grid-column: 1; grid-row: 1 / 3; width: 44px; height: 44px; margin: 0; align-self: center; }
  .download-option h3 { grid-column: 2; font-size: 20px; white-space: nowrap; }
  .download-format { grid-column: 2; margin-top: 1px; font-size: 11px; }
  .download-qr, .download-scan { display: none; }
  .download-button { grid-column: 3; grid-row: 1 / 3; margin: 0; min-height: 44px; padding: 10px 12px; gap: 8px; border-radius: 7px; font-size: 13px; }
  .download-button-label { display: none; }
  .download-button-compact { display: inline; }
  .download-dialog-footer { margin-inline: 20px; padding: 16px 0 20px; }
}
@media (max-width: 360px) {
  .download-dialog-heading { padding-top: 47px; }
  .download-options { padding-inline: 14px; }
  .download-option { grid-template-columns: 40px minmax(0,1fr) 76px; gap: 0 10px; padding-inline: 13px; }
  .download-platform-icon { width: 40px; height: 40px; padding: 9px; }
  .download-option h3 { font-size: 18px; }
  .download-button { padding-inline: 9px; }
}
@media (max-width: 520px) {
  .home-download { padding-block: 40px; }
  .home-download-actions { flex-direction: column; }
  .home-download-link { width: 100%; padding: 16px 20px; }
}
