:root {
  --page-max-width: 750px;
  --page-bg: #080706;
  --outside-bg: #171310;
  --gold: #ffe092;
  --footer-ratio: 750 / 137;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  -webkit-tap-highlight-color: transparent;
}

html,
body {
  width: 100%;
  min-height: 100%;
  background: var(--outside-bg);
}

body {
  overflow-x: hidden;
  font-family: Arial, "Microsoft YaHei", sans-serif;
}

button {
  border: 0;
  font: inherit;
}

a,
button,
.download-area {
  cursor: default;
}

img {
  display: block;
  width: 100%;
  height: auto;
  user-select: none;
  -webkit-user-drag: none;
}

.h5-page {
  position: relative;
  width: min(100%, var(--page-max-width));
  min-height: 100vh;
  margin: 0 auto;
  overflow: hidden;
  background: var(--page-bg);
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.55);
}

.image-section,
.route-item {
  display: block;
  width: 100%;
  line-height: 0;
}


.main-download-button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  background: transparent;
  line-height: 0;
  animation: downloadPulse 1.8s ease-in-out infinite;
}

.main-download-button img {
  display: block;
  width: 100%;
  height: auto;
}

.route-list {
  display: grid;
  gap: clamp(6px, 1.5vw, 12px);
  padding: 0 2.2% clamp(10px, 2.5vw, 20px);
}

.route-item {
  overflow: hidden;
  border-radius: clamp(9px, 2vw, 16px);
}


.customer-service {
  position: fixed;
  left: max(4px, calc(50% - 375px + 4px));
  top: 38%;
  z-index: 1100;
  display: block;
  width: clamp(74px, 17.06vw, 128px);
  line-height: 0;
  filter: drop-shadow(0 5px 8px rgba(0, 0, 0, 0.48));
  animation: customerFloat 2.2s ease-in-out infinite;
}

.floating-download-bar {
  position: fixed;
  left: 50%;
  bottom: 0;
  z-index: 1200;
  width: min(100%, var(--page-max-width));
  padding-bottom: env(safe-area-inset-bottom);
  transform: translateX(-50%);
  background: #080706;
  box-shadow: 0 -6px 18px rgba(0, 0, 0, 0.48);
  line-height: 0;
  animation: footerFloat 2s ease-in-out infinite;
}

.floating-download-bar img {
  width: 100%;
}

.footer-space {
  width: 100%;
  aspect-ratio: var(--footer-ratio);
  min-height: calc(env(safe-area-inset-bottom) + 1px);
}

@keyframes downloadPulse {
  0%, 100% {
    transform: scale(1);
    filter: brightness(1);
  }
  50% {
    transform: scale(1.018);
    filter: brightness(1.09);
  }
}

@keyframes customerFloat {
  0%, 100% { transform: translateY(-5px); }
  50% { transform: translateY(7px); }
}

@keyframes footerFloat {
  0%, 100% { transform: translateX(-50%) translateY(0); }
  50% { transform: translateX(-50%) translateY(-3px); }
}

@media (max-width: 750px) {
  .customer-service {
    left: 4px;
  }
}

@media (max-width: 380px) {
  .route-list {
    gap: 5px;
  }

  .customer-service {
    width: 70px;
  }
}

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