:root {
  --navy: #101a33;
  --muted: #68748c;
  --blue: #2f70ee;
  --blue-dark: #1e56ce;
  --line: rgba(210, 220, 237, .86);
  --green: #19b477;
}

* { box-sizing: border-box; }
html { min-width: 320px; background: #eef4ff; }
body {
  margin: 0;
  color: var(--navy);
  background: #eef4ff;
  font-family: Inter, "SF Pro Display", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button { font: inherit; }

.download-page {
  min-height: 100svh;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-rows: auto auto 1fr auto;
  gap: clamp(14px, 2vh, 23px);
  padding: clamp(15px, 2.2vh, 25px) max(24px, calc((100vw - 1220px) / 2));
  background:
    radial-gradient(circle at 88% 7%, rgba(74, 137, 255, .23), transparent 25%),
    radial-gradient(circle at 8% 94%, rgba(94, 112, 255, .13), transparent 24%),
    linear-gradient(145deg, #f8fbff 0%, #edf4ff 58%, #e8f0ff 100%);
}
.ambient { position: absolute; z-index: -1; border-radius: 50%; pointer-events: none; filter: blur(2px); }
.ambient-one { width: 330px; height: 330px; right: -130px; top: -150px; border: 1px solid rgba(53, 116, 238, .16); box-shadow: inset 0 0 100px rgba(75, 138, 255, .09); }
.ambient-two { width: 160px; height: 160px; left: 8%; bottom: -95px; background: rgba(77, 114, 240, .08); }

.topbar { min-height: 44px; display: flex; align-items: center; justify-content: space-between; }
.brand { display: flex; align-items: center; gap: 10px; font-size: 19px; font-weight: 760; letter-spacing: .03em; }
.brand-mark { width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; color: white; background: linear-gradient(145deg, #62a8ff, #2568e9); box-shadow: inset 0 1px rgba(255,255,255,.45), 0 10px 24px rgba(38, 99, 224, .25); }
.official-pill { display: flex; align-items: center; gap: 9px; padding: 8px 13px; border: 1px solid rgba(69, 106, 177, .14); border-radius: 999px; color: #53617a; background: rgba(255,255,255,.67); backdrop-filter: blur(14px); font-size: 13px; }
.official-pill i, .eyebrow span { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 4px rgba(25,180,119,.11); }

.intro { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(280px, .75fr); align-items: end; gap: 42px; }
.eyebrow { display: flex; align-items: center; gap: 11px; margin: 0 0 8px; color: #5271a6; font-size: 12px; font-weight: 680; letter-spacing: .08em; }
.intro h1 { margin: 0; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.05; letter-spacing: -.055em; font-weight: 780; }
.intro h1 em { display: block; color: var(--blue); font-style: normal; }
.intro-copy { max-width: 420px; margin: 0 0 4px; color: var(--muted); font-size: 14px; line-height: 1.7; }

.product-area { align-self: center; width: 100%; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.product-grid.single { grid-template-columns: 1fr; }
.product-card { min-width: 0; padding: clamp(17px, 1.8vw, 23px); border: 1px solid var(--line); border-radius: 23px; background: rgba(255,255,255,.88); box-shadow: 0 18px 45px rgba(37, 70, 130, .09); backdrop-filter: blur(18px); transition: transform .2s ease, box-shadow .2s ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: 0 23px 52px rgba(37, 70, 130, .13); }
.product-main { display: flex; align-items: center; gap: 14px; min-width: 0; }
.app-icon { flex: 0 0 auto; width: 54px; height: 54px; border-radius: 18px; display: grid; place-items: center; color: white; font-size: 24px; font-weight: 760; box-shadow: inset 0 1px rgba(255,255,255,.46), 0 12px 22px rgba(45,98,209,.23); }
.app-icon.mobile { background: linear-gradient(145deg, #63abff, #2165e8); }
.app-icon.wenqu { background: linear-gradient(145deg, #668dff, #5540d8); }
.app-icon.desktop { background: linear-gradient(145deg, #39c6a0, #0d8a74); }
.product-copy { min-width: 0; }
.product-copy p { margin: 0 0 3px; color: #8994aa; font-size: 9px; font-weight: 780; letter-spacing: .14em; }
.product-copy h2 { margin: 0; font-size: 21px; letter-spacing: -.035em; }
.product-copy span { display: block; overflow: hidden; margin-top: 3px; color: var(--muted); font-size: 12px; text-overflow: ellipsis; white-space: nowrap; }
.release-row { display: flex; align-items: center; gap: 7px; margin: 16px 0 13px; color: #78849a; font-size: 10px; }
.release-row > * { padding-right: 7px; border-right: 1px solid #dfe5ef; }
.release-row > *:last-child { padding-right: 0; border-right: 0; }
.release-row strong { color: #285fc8; font-size: 12px; }
.download-button { min-height: 44px; display: flex; align-items: center; justify-content: space-between; padding: 0 15px 0 17px; border-radius: 14px; color: white; background: linear-gradient(135deg, var(--blue), var(--blue-dark)); box-shadow: 0 11px 22px rgba(47,112,238,.2); font-size: 13px; font-weight: 760; }
.download-button span:last-child { width: 25px; height: 25px; border-radius: 50%; display: grid; place-items: center; background: rgba(255,255,255,.16); font-size: 16px; }

.loading-card { min-height: 190px; display: grid; gap: 12px; }
.loading-card div { border-radius: 12px; background: linear-gradient(90deg, #eaf0f8, #f7faff, #eaf0f8); background-size: 200% 100%; animation: shimmer 1.3s infinite; }
.loading-card div:nth-child(1) { height: 56px; }
.loading-card div:nth-child(2) { height: 22px; }
.loading-card div:nth-child(3) { height: 44px; }
@keyframes shimmer { to { background-position: -200% 0; } }

.error-card { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; border: 1px solid #ffd6d6; border-radius: 22px; background: rgba(255,248,248,.92); }
.error-card div { display: grid; gap: 5px; }
.error-card span { color: var(--muted); font-size: 13px; }
.error-card button { padding: 10px 16px; border: 0; border-radius: 12px; color: white; background: var(--blue); cursor: pointer; }

.compact-footer { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding-top: clamp(10px, 1.5vh, 16px); border-top: 1px solid rgba(153, 171, 203, .3); }
.quick-steps { list-style: none; display: flex; align-items: center; gap: clamp(15px, 3vw, 36px); margin: 0; padding: 0; }
.quick-steps li { display: flex; align-items: center; gap: 7px; color: #5f6c83; font-size: 11px; white-space: nowrap; }
.quick-steps b { width: 22px; height: 22px; border-radius: 7px; display: grid; place-items: center; color: var(--blue); background: rgba(47,112,238,.1); font-size: 10px; }
.compact-footer p { margin: 0; color: #8b96aa; font-size: 10px; white-space: nowrap; }

@media (max-width: 900px) {
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 650px) {
  .download-page { min-height: 100svh; gap: 10px; padding: 10px 12px 9px; overflow: auto; }
  .topbar { min-height: 38px; }
  .brand { gap: 8px; font-size: 17px; }
  .brand-mark { width: 32px; height: 32px; border-radius: 10px; font-size: 14px; }
  .official-pill { gap: 7px; padding: 6px 9px; font-size: 11px; }
  .intro { display: block; }
  .eyebrow { margin-bottom: 5px; font-size: 10px; }
  .intro h1 { font-size: clamp(29px, 8vw, 37px); line-height: 1.02; }
  .intro-copy { margin-top: 6px; font-size: 11px; line-height: 1.4; }
  .product-area { align-self: auto; }
  .product-grid { grid-template-columns: 1fr; gap: 7px; }
  .product-card { padding: 11px 13px; border-radius: 17px; }
  .product-main { gap: 11px; }
  .app-icon { width: 42px; height: 42px; border-radius: 14px; font-size: 19px; }
  .product-copy h2 { font-size: 17px; }
  .product-copy span { margin-top: 1px; font-size: 11px; }
  .release-row { margin: 7px 0 7px; font-size: 10px; }
  .download-button { min-height: 36px; border-radius: 12px; }
  .loading-card { min-height: 130px; }
  .compact-footer { display: grid; gap: 6px; padding-top: 7px; }
  .quick-steps { justify-content: space-between; gap: 6px; }
  .quick-steps li { gap: 4px; font-size: 9px; }
  .quick-steps b { width: 18px; height: 18px; border-radius: 6px; font-size: 9px; }
  .compact-footer p { text-align: center; white-space: normal; font-size: 9px; }
  .error-card { align-items: stretch; flex-direction: column; }
}

@media (max-height: 700px) and (min-width: 901px) {
  .download-page { gap: 11px; padding-top: 13px; padding-bottom: 11px; }
  .intro h1 { font-size: clamp(32px, 3.7vw, 48px); }
  .product-card { padding-top: 16px; padding-bottom: 16px; }
  .compact-footer { padding-top: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
