
.toast-wrapper[data-v-e808654f] {
  position: fixed;
  left: calc(50% - min(50%, 240px)); right: calc(50% - min(50%, 240px));
  bottom: min(32vw, 153.6px);
  z-index: 99999;
  display: flex;
  justify-content: center;
  pointer-events: none;
}
.toast-box[data-v-e808654f] {
  background: rgba(0, 0, 0, 0.65);
  color: var(--color-white);
  font-size: var(--font-size-body);
  line-height: 1.5;
  padding: min(3.2vw, 15.36px) min(6.4vw, 30.72px);
  border-radius: var(--radius-md);
  max-width: min(74.666667vw, 358.4px);
  text-align: center;
  word-break: break-word;
}
.toast-fade-enter-active[data-v-e808654f] {
  transition: opacity 0.25s ease, transform 0.25s ease;
}
.toast-fade-leave-active[data-v-e808654f] {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.toast-fade-enter-from[data-v-e808654f] {
  opacity: 0;
  transform: translateY(min(2.666667vw, 12.8px));
}
.toast-fade-leave-to[data-v-e808654f] {
  opacity: 0;
  transform: translateY(max(-1.333333vw, -6.4px));
}

/* ========== 固定底部按钮 ========== */
.bottom-btn-area[data-v-1f6b8b95] {
  width: 100%;
  padding: min(2.666667vw, 12.8px) min(4.266667vw, 20.48px) min(3.2vw, 15.36px);
  background: var(--color-white);
  z-index: 99;
  box-shadow: 0 max(-0.266667vw, -1.28px) min(1.066667vw, 5.12px) rgba(0, 0, 0, 0.05);
}
.open-account-btn[data-v-1f6b8b95] {
  width: 100%;
  height: min(13.333333vw, 64px);
  border-radius: min(2.666667vw, 12.8px);
  background: linear-gradient(90deg, var(--color-primary) 0%, #1e88e5 100%);
  color: var(--color-white);
  font-size: min(4.533333vw, 21.76px);
  font-weight: var(--font-weight-bold);
  border: none;
  cursor: pointer;
  letter-spacing: min(0.266667vw, 1.28px);
}
.open-account-btn[data-v-1f6b8b95]:active {
  opacity: 0.85;
}


/* ========== 底部搜索栏 ========== */
.fixed-search[data-v-80d60319] {
  flex-shrink: 0;
  width: 100%;
  padding: min(2.133333vw, 10.24px) min(4.266667vw, 20.48px) min(2.133333vw, 10.24px);
  background: var(--color-white);
  display: flex;
  align-items: center;
  gap: min(2.666667vw, 12.8px);
  z-index: 99;
  border-top: min(0.133333vw, 0.64px) solid var(--color-divider);
}
.search-input[data-v-80d60319] {
  flex: 1;
  background: var(--color-bg-page);
  border-radius: min(5.866667vw, 28.16px);
  padding: min(2.666667vw, 12.8px) min(4.266667vw, 20.48px);
  display: flex;
  align-items: center;
  gap: min(2.133333vw, 10.24px);
  border: none;
}
.search-placeholder[data-v-80d60319] {
  font-size: var(--font-size-body);
  color: var(--color-text-disabled);
}
.search-ph[data-v-80d60319] {
  font-size: var(--font-size-md);
  color: var(--color-text-hint);
  font-family: var(--font-family);
}
.search-ai[data-v-80d60319] {
  flex-shrink: 0;
}
.tab-bar-bottom[data-v-80d60319] {
  position: fixed;
  bottom: 0;
  width: min(100vw, 480px);
  z-index: 9999;
}
.tabbar[data-v-80d60319] {
  min-height: min(14.933333vw, 71.68px);
  background: var(--color-white);
  display: flex;
  align-items: center;
  justify-content: space-around;
  border-top: min(0.133333vw, 0.64px) solid var(--color-border);
  padding-bottom: env(safe-area-inset-bottom);
  z-index: 999;
}
.tabbar-item[data-v-80d60319] {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  cursor: pointer;
  padding: min(1.066667vw, 5.12px) 0;
  -webkit-tap-highlight-color: transparent;
}
.tabbar-item.center[data-v-80d60319] {
  position: relative;
}
.tabbar-icon[data-v-80d60319] {
  width: min(6.4vw, 30.72px);
  height: min(6.4vw, 30.72px);
  margin-bottom: min(0.533333vw, 2.56px);
  display: flex;
  align-items: center;
  justify-content: center;
}
.tabbar-icon-img[data-v-80d60319] {
  height: min(6.4vw, 30.72px);
  width: auto;
  max-width: min(20vw, 96px);
  object-fit: contain;
}
.tabbar-label[data-v-80d60319] {
  font-size: var(--font-size-s);
  line-height: 1.2;
}
.tabbar-item.active .tabbar-label[data-v-80d60319] {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
}

/* ========== 中间大圆形按钮 ========== */
.center-btn[data-v-80d60319] {
  display: flex;
  align-items: center;
  justify-content: center;
}
.center-btn-inner[data-v-80d60319] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.center-btn-icon[data-v-80d60319] {
  width: min(12.8vw, 61.44px);
  height: min(12.8vw, 61.44px);
  object-fit: contain;
}

.invest-banner-section[data-v-741c3dd3] {
  padding: 0 0 min(4.266667vw, 20.48px);
}
.invest-title[data-v-741c3dd3] {
  font-size: var(--font-size-xxl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-dark);
  margin: 0 0 min(3.2vw, 15.36px);
  font-family: var(--font-family);
}
.invest-row[data-v-741c3dd3] {
  display: flex;
  gap: min(2.666667vw, 12.8px);
}
.invest-big-card[data-v-741c3dd3] {
  flex: 1;
  background: var(--gradient-invest, linear-gradient(135deg, var(--color-primary-bg-light) 0%, #e8eeff 100%));
  border-radius: var(--radius-md);
  padding: min(4.8vw, 23.04px) min(3.733333vw, 17.92px) min(4.266667vw, 20.48px);
}
.invest-big-icon[data-v-741c3dd3] {
  width: min(21.333333vw, 102.4px);
  height: auto;
  margin-bottom: min(3.2vw, 15.36px);
}
.invest-big-title[data-v-741c3dd3] {
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-primary);
  margin-bottom: min(1.6vw, 7.68px);
  font-family: var(--font-family);
}
.invest-big-desc[data-v-741c3dd3] {
  font-size: var(--font-size-md);
  color: var(--color-text-tertiary);
  line-height: 1.6;
  white-space: pre-line;
  font-family: var(--font-family);
}
.invest-right-col[data-v-741c3dd3] {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: min(2.666667vw, 12.8px);
}
.invest-sm-card[data-v-741c3dd3] {
  background: var(--color-white);
  border-radius: var(--radius-md);
  padding: min(3.733333vw, 17.92px) min(3.2vw, 15.36px);
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  border: min(0.133333vw, 0.64px) solid var(--color-border);
}
.invest-sm-top[data-v-741c3dd3] {
  display: flex;
  align-items: center;
  gap: min(1.6vw, 7.68px);
  margin-bottom: min(1.066667vw, 5.12px);
}
.invest-sm-icon[data-v-741c3dd3] {
  width: min(6.4vw, 30.72px);
  height: min(6.4vw, 30.72px);
  object-fit: contain;
}
.invest-sm-title[data-v-741c3dd3] {
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  font-family: var(--font-family);
}
.invest-sm-sub[data-v-741c3dd3] {
  font-size: var(--font-size-base);
  color: var(--color-text-placeholder);
  font-family: var(--font-family);
}

.search-page[data-v-0b822d0c] {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  background: var(--color-white);
  position: relative;
  z-index: 10000;
}

/* ========== 顶部 ========== */
.search-header[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  padding: min(3.2vw, 15.36px) min(4.266667vw, 20.48px);
  flex-shrink: 0;
}
.close-btn[data-v-0b822d0c] {
  width: min(8.533333vw, 40.96px);
  height: min(8.533333vw, 40.96px);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
}

/* ========== 搜索结果tab ========== */
.search-result-tabs[data-v-0b822d0c] {
  display: flex;
  gap: min(6.4vw, 30.72px);
  padding: 0 min(4.266667vw, 20.48px);
  border-bottom: min(0.266667vw, 1.28px) solid var(--color-divider);
  flex-shrink: 0;
}
.result-tab[data-v-0b822d0c] {
  padding: min(2.666667vw, 12.8px) 0;
  font-size: var(--font-size-lg);
  color: var(--color-text-placeholder);
  position: relative;
}
.result-tab.active[data-v-0b822d0c] {
  color: var(--color-text-secondary);
  font-weight: var(--font-weight-semibold);
}
.result-tab.active[data-v-0b822d0c]::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(5.333333vw, 25.6px);
  height: min(0.8vw, 3.84px);
  background: var(--color-primary);
  border-radius: min(0.533333vw, 2.56px);
}

/* ========== 搜索结果列表 ========== */
.search-results[data-v-0b822d0c] {
  height: 100vh;
  overflow-y: auto;
  padding-bottom: min(26.666667vw, 128px);
}
.search-result-item[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: min(3.733333vw, 17.92px) min(4.266667vw, 20.48px);
  border-bottom: min(0.266667vw, 1.28px) solid var(--color-divider-light);
}
.result-left[data-v-0b822d0c] {
  flex: 1;
  min-width: 0;
}
.result-company[data-v-0b822d0c] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  margin-bottom: min(1.066667vw, 5.12px);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.result-meta[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  gap: min(1.6vw, 7.68px);
  font-size: var(--font-size-base);
  color: var(--color-text-placeholder);
}
.result-symbol[data-v-0b822d0c] {
  color: var(--color-text-placeholder);
}
.result-exchange[data-v-0b822d0c] {
  color: var(--color-text-placeholder);
}
.result-market-tag[data-v-0b822d0c] {
  display: inline-block;
  padding: min(0.266667vw, 1.28px) min(1.6vw, 7.68px);
  background: var(--color-divider);
  border-radius: var(--radius-xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}
.result-fav[data-v-0b822d0c] {
  flex-shrink: 0;
  padding: min(1.066667vw, 5.12px);
  cursor: pointer;
}
[data-v-0b822d0c] .highlight {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
}

/* ========== 默认内容区 ========== */
.search-content[data-v-0b822d0c] {
  height: 100vh;
  overflow-y: auto;
  padding-bottom: min(40vw, 192px);
}

/* ========== 热度排行榜 ========== */
.hot-ranking-section[data-v-0b822d0c] {
  padding: 0 min(4.266667vw, 20.48px);
}
.section-header[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: min(5.333333vw, 25.6px) 0 min(3.2vw, 15.36px);
}
.section-title[data-v-0b822d0c] {
  font-size: var(--font-size-xxl);
  font-weight: var(--font-weight-bold);
  color: var(--color-text-dark);
}
.hot-tabs[data-v-0b822d0c] {
  display: flex;
  gap: min(2.666667vw, 12.8px);
  margin-bottom: min(3.2vw, 15.36px);
}
.hot-tab[data-v-0b822d0c] {
  padding: min(1.6vw, 7.68px) min(3.733333vw, 17.92px);
  border-radius: var(--radius-pill);
  font-size: var(--font-size-md);
  color: var(--color-text-tertiary);
  background: var(--color-divider-light);
  cursor: pointer;
  white-space: nowrap;
}
.hot-tab.active[data-v-0b822d0c] {
  color: var(--color-primary);
  background: #e8eeff;
  font-weight: var(--font-weight-semibold);
}
.hot-table-header[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  padding: min(2.133333vw, 10.24px) 0;
  font-size: var(--font-size-base);
  color: var(--color-text-placeholder);
  border-bottom: min(0.266667vw, 1.28px) solid var(--color-divider);
}
.col-name[data-v-0b822d0c] {
  flex: 1;
}
.col-hot[data-v-0b822d0c] {
  width: min(26.666667vw, 128px);
  text-align: center;
}
.col-price[data-v-0b822d0c] {
  width: min(24vw, 115.2px);
  text-align: right;
}
.hot-stock-item[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  padding: min(3.2vw, 15.36px) 0;
  border-bottom: min(0.266667vw, 1.28px) solid var(--color-divider-light);
  cursor: pointer;
}
.hot-stock-left[data-v-0b822d0c] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: min(2.666667vw, 12.8px);
  min-width: 0;
}
.hot-stock-logo[data-v-0b822d0c] {
  width: min(10.666667vw, 51.2px);
  height: min(10.666667vw, 51.2px);
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--color-divider-light);
  display: flex;
  align-items: center;
  justify-content: center;
}
.hot-stock-logo .logo-svg[data-v-0b822d0c] {
  width: 100%;
  height: 100%;
}
.hot-stock-logo .logo-svg[data-v-0b822d0c] svg {
  width: 100%;
  height: 100%;
  display: block;
}
.hot-stock-logo img[data-v-0b822d0c] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.logo-placeholder[data-v-0b822d0c] {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-border-light);
  color: var(--color-white);
  font-size: var(--font-size-xl);
  font-weight: var(--font-weight-semibold);
  border-radius: 50%;
}
.hot-stock-info[data-v-0b822d0c] {
  min-width: 0;
}
.hot-stock-name[data-v-0b822d0c] {
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: min(32vw, 153.6px);
}
.hot-stock-code[data-v-0b822d0c] {
  font-size: var(--font-size-base);
  color: var(--color-text-placeholder);
  margin-top: min(0.533333vw, 2.56px);
}
.hot-stock-heat[data-v-0b822d0c] {
  width: min(26.666667vw, 128px);
  text-align: center;
  font-size: var(--font-size-body);
  color: var(--color-text-secondary);
}
.hot-stock-price[data-v-0b822d0c] {
  width: min(24vw, 115.2px);
  text-align: right;
  font-size: var(--font-size-body);
  color: var(--color-text-secondary);
}

/* ========== 历史记录 ========== */
.history-section[data-v-0b822d0c] {
  padding: 0 min(4.266667vw, 20.48px);
}
.delete-btn[data-v-0b822d0c] {
  cursor: pointer;
  padding: min(1.066667vw, 5.12px);
}
.history-item[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: min(3.2vw, 15.36px) 0;
  border-bottom: min(0.266667vw, 1.28px) solid var(--color-divider-light);
  cursor: pointer;
}
.history-left[data-v-0b822d0c] {
  flex: 1;
  display: flex;
  align-items: center;
  gap: min(2.666667vw, 12.8px);
  min-width: 0;
}
.history-logo[data-v-0b822d0c] {
  width: min(10.666667vw, 51.2px);
  height: min(10.666667vw, 51.2px);
  border-radius: 50%;
  overflow: hidden;
  flex-shrink: 0;
  background: var(--color-divider-light);
  display: flex;
  align-items: center;
  justify-content: center;
}
.history-logo .logo-svg[data-v-0b822d0c] {
  width: 100%;
  height: 100%;
}
.history-logo .logo-svg[data-v-0b822d0c] svg {
  width: 100%;
  height: 100%;
  display: block;
}
.history-logo img[data-v-0b822d0c] {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.history-info[data-v-0b822d0c] {
  min-width: 0;
}
.history-name[data-v-0b822d0c] {
  font-size: var(--font-size-lg);
  font-weight: var(--font-weight-medium);
  color: var(--color-text-secondary);
}
.history-meta[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  gap: min(1.6vw, 7.68px);
  margin-top: min(0.8vw, 3.84px);
  font-size: var(--font-size-base);
  color: var(--color-text-placeholder);
}
.history-symbol[data-v-0b822d0c] {
  color: var(--color-text-placeholder);
}
.history-exchange[data-v-0b822d0c] {
  color: var(--color-text-placeholder);
}
.history-market-tag[data-v-0b822d0c] {
  display: inline-block;
  padding: min(0.266667vw, 1.28px) min(1.6vw, 7.68px);
  background: var(--color-divider);
  border-radius: var(--radius-xs);
  font-size: var(--font-size-sm);
  color: var(--color-text-tertiary);
}
.history-fav[data-v-0b822d0c] {
  flex-shrink: 0;
  padding: min(1.066667vw, 5.12px);
  cursor: pointer;
}

/* ========== 清除弹窗 ========== */
.dialog-overlay[data-v-0b822d0c] {
  position: fixed;
  top: 0;
  left: calc(50% - min(50%, 240px));
  right: calc(50% - min(50%, 240px));
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 10000;
}
.dialog-box[data-v-0b822d0c] {
  background: var(--color-white);
  border-radius: var(--radius-lg);
  width: min(74.666667vw, 358.4px);
  overflow: hidden;
}
.dialog-title[data-v-0b822d0c] {
  text-align: center;
  font-size: min(4.533333vw, 21.76px);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-secondary);
  padding: min(5.333333vw, 25.6px) min(5.333333vw, 25.6px) min(2.133333vw, 10.24px);
}
.dialog-message[data-v-0b822d0c] {
  text-align: center;
  font-size: var(--font-size-body);
  color: var(--color-text-tertiary);
  padding: 0 min(5.333333vw, 25.6px) min(5.333333vw, 25.6px);
}
.dialog-actions[data-v-0b822d0c] {
  display: flex;
  border-top: min(0.266667vw, 1.28px) solid var(--color-divider);
}
.dialog-btn[data-v-0b822d0c] {
  flex: 1;
  text-align: center;
  padding: min(3.733333vw, 17.92px) 0;
  font-size: var(--font-size-xl);
  cursor: pointer;
}
.dialog-btn.cancel[data-v-0b822d0c] {
  color: var(--color-primary);
  border-right: min(0.266667vw, 1.28px) solid var(--color-divider);
}
.dialog-btn.confirm[data-v-0b822d0c] {
  color: var(--color-primary);
  font-weight: var(--font-weight-semibold);
}

/* ========== 底部搜索框 ========== */
.bottom-search-bar[data-v-0b822d0c] {
  position: fixed;
  bottom: 0;
  left: calc(50% - min(50%, 240px));
  right: calc(50% - min(50%, 240px));
  padding: min(2.133333vw, 10.24px) min(4.266667vw, 20.48px);
  padding-bottom: calc(min(2.133333vw, 10.24px) + env(safe-area-inset-bottom, 0px));
  background: var(--color-white);
  border-top: min(0.266667vw, 1.28px) solid var(--color-divider);
  z-index: 100;
}
.search-input-wrap[data-v-0b822d0c] {
  display: flex;
  align-items: center;
  gap: min(2.133333vw, 10.24px);
  background: var(--color-divider-light);
  border-radius: min(5.866667vw, 28.16px);
  padding: min(2.666667vw, 12.8px) min(3.733333vw, 17.92px);
  transition: all 0.2s;
}
.search-input-wrap.focused[data-v-0b822d0c] {
  background: var(--color-white);
  box-shadow: 0 0 0 min(0.4vw, 1.92px) var(--color-primary);
}
.search-input-wrap input[data-v-0b822d0c] {
  flex: 1;
  border: none;
  background: none;
  outline: none;
  font-size: var(--font-size-body);
  color: var(--color-text-secondary);
}
.search-input-wrap input[data-v-0b822d0c]::placeholder {
  color: var(--color-text-disabled);
}
.clear-input[data-v-0b822d0c] {
  flex-shrink: 0;
  cursor: pointer;
  display: flex;
  align-items: center;
}

/* ========== 加载/空状态 ========== */
.loading-wrap[data-v-0b822d0c] {
  display: flex;
  justify-content: center;
  padding: min(8vw, 38.4px) 0;
}
.spinner-ring[data-v-0b822d0c] {
  width: min(7.466667vw, 35.84px);
  height: min(7.466667vw, 35.84px);
  border: min(0.8vw, 3.84px) solid var(--color-divider);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: spin-0b822d0c 0.8s linear infinite;
}
@keyframes spin-0b822d0c {
to {
    transform: rotate(360deg);
}
}
.no-result[data-v-0b822d0c] {
  text-align: center;
  padding: min(16vw, 76.8px) 0;
  color: var(--color-text-placeholder);
  font-size: var(--font-size-body);
}

.search-overlay[data-v-daf1e87a] {
}

/* 过渡动画 */
.search-overlay-enter-active[data-v-daf1e87a] {
  transition: opacity 0.25s ease;
}
.search-overlay-leave-active[data-v-daf1e87a] {
  transition: opacity 0.2s ease;
}
.search-overlay-enter-from[data-v-daf1e87a],
.search-overlay-leave-to[data-v-daf1e87a] {
  opacity: 0;
}
.search-overlay-enter-active[data-v-daf1e87a] .search-page {
  animation: slideUp-daf1e87a 0.25s ease;
}
.search-overlay-leave-active[data-v-daf1e87a] .search-page {
  animation: slideDown-daf1e87a 0.2s ease;
}
@keyframes slideUp-daf1e87a {
from {
    transform: translateY(min(8vw, 38.4px));
    opacity: 0;
}
to {
    transform: translateY(0);
    opacity: 1;
}
}
@keyframes slideDown-daf1e87a {
from {
    transform: translateY(0);
    opacity: 1;
}
to {
    transform: translateY(min(8vw, 38.4px));
    opacity: 0;
}
}

.order-notification {
  position: fixed;
  top: 0;
  left: calc(50% - max(0%, 0px));
  transform: translateX(-50%);
  width: calc(min(100%, 480px) - min(4.266667vw, 20.48px));
  max-width: min(122.666667vw, 588.8px);
  background: var(--color-white);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  box-shadow: 0 min(1.066667vw, 5.12px) min(5.333333vw, 25.6px) rgba(0, 0, 0, 0.4);
  padding: min(3.2vw, 15.36px) min(4.266667vw, 20.48px);
  z-index: 99999;
  cursor: pointer;
}
.notify-title {
  font-size: var(--font-size-body);
  font-weight: var(--font-weight-semibold);
  color: var(--color-text-primary);
  margin-bottom: min(1.066667vw, 5.12px);
}
.notify-body {
  font-size: var(--font-size-md);
  color: var(--color-text-tertiary);
  line-height: 1.5;
}
.notify-slide-enter-active {
  transition: transform 0.35s ease-out, opacity 0.35s ease-out;
}
.notify-slide-leave-active {
  transition: transform 0.3s ease-in, opacity 0.3s ease-in;
}
.notify-slide-enter-from {
  transform: translateX(-50%) translateY(-100%);
  opacity: 0;
}
.notify-slide-enter-to {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}
.notify-slide-leave-from {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
}
.notify-slide-leave-to {
  transform: translateX(-50%) translateY(-100%);
  opacity: 0;
}


/* ========== 加载中 ========== */
.loading-wrap[data-v-65a44934] {
  display: flex;
  justify-content: center;
}
.loading-pad[data-v-65a44934] {
  padding: min(16vw, 76.8px) 0;
}
.spinner-ring[data-v-65a44934] {
  width: min(7.466667vw, 35.84px);
  height: min(7.466667vw, 35.84px);
  border: min(0.8vw, 3.84px) solid var(--color-border-light);
  border-top-color: var(--color-primary, var(--color-primary));
  border-radius: 50%;
  animation: spin-65a44934 0.8s linear infinite;
}
.spinner-ring.small[data-v-65a44934] {
  width: min(5.333333vw, 25.6px);
  height: min(5.333333vw, 25.6px);
  border-width: min(0.533333vw, 2.56px);
}
@keyframes spin-65a44934 {
to {
    transform: rotate(360deg);
}
}


.sheet-overlay[data-v-526a153a] {
  position: fixed;
  top: 0;
  left: calc(50% - min(50%, 240px));
  right: calc(50% - min(50%, 240px));
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: flex-end;
  justify-content: center;
  z-index: 10000;
}
.sheet-panel[data-v-526a153a] {
  width: 100%;
  max-width: var(--max-width, min(110.4vw, 529.92px));
  background: var(--color-white);
  border-radius: var(--radius-xl) var(--radius-xl) 0 0;
  padding-bottom: env(safe-area-inset-bottom, min(5.333333vw, 25.6px));
  max-height: 80vh;
  overflow-y: auto;
}
.sheet-handle[data-v-526a153a] {
  width: min(9.6vw, 46.08px);
  height: min(1.066667vw, 5.12px);
  background: var(--color-border-ddd);
  border-radius: min(0.533333vw, 2.56px);
  margin: min(3.2vw, 15.36px) auto 0;
}
.sheet-content[data-v-526a153a] {
  padding: min(5.333333vw, 25.6px) min(5.333333vw, 25.6px) min(4.266667vw, 20.48px);
}

/* 动画 */
.sheet-fade-enter-active[data-v-526a153a],
.sheet-fade-leave-active[data-v-526a153a] {
  transition: opacity 0.3s ease;
}
.sheet-fade-enter-from[data-v-526a153a],
.sheet-fade-leave-to[data-v-526a153a] {
  opacity: 0;
}
.sheet-slide-enter-active[data-v-526a153a],
.sheet-slide-leave-active[data-v-526a153a] {
  transition: transform 0.3s ease;
}
.sheet-slide-enter-from[data-v-526a153a],
.sheet-slide-leave-to[data-v-526a153a] {
  transform: translateY(100%);
}


/* ====== 确认弹窗内容 ====== */
.confirm-sheet[data-v-80ebd108] {
  padding: 0;
}



/* 提示文案 */
.confirm-disclaimer[data-v-80ebd108] {
  padding: min(3.2vw, 15.36px) 0;
  font-size: var(--font-size-md);
  color: var(--color-text-primary);
  line-height: 1.5;
  text-align: center;
}
.confirm-disclaimer-desc[data-v-80ebd108] {
  padding: min(3.2vw, 15.36px) 0;
  font-size: var(--font-size-base);
  color: var(--color-text-placeholder);
  line-height: 1.5;
  text-align: center;
}

/* 确认按钮 */
.confirm-submit-btn[data-v-80ebd108] {
  width: 100%;
  height: min(12.8vw, 61.44px);
  border-radius: var(--radius-sm);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: min(4.533333vw, 21.76px);
  font-weight: var(--font-weight-semibold);
  color: var(--color-white);
  cursor: pointer;
  margin-top: min(2.133333vw, 10.24px);
  user-select: none;
  -webkit-tap-highlight-color: transparent;
}
.confirm-submit-btn[data-v-80ebd108]:active {
  opacity: 0.85;
}
.confirm-submit-btn.btn-green[data-v-80ebd108] {
  background: var(--color-green);
}
.confirm-submit-btn.btn-red[data-v-80ebd108] {
  background: var(--color-error);
}
.confirm-submit-btn.btn-pm[data-v-80ebd108] {
  background: #FF6600;
}

/* ====== Transitions ====== */
.sheet-fade-enter-active[data-v-80ebd108],
.sheet-fade-leave-active[data-v-80ebd108] {
  transition: opacity 0.25s ease;
}
.sheet-fade-enter-from[data-v-80ebd108],
.sheet-fade-leave-to[data-v-80ebd108] {
  opacity: 0;
}
.sheet-slide-enter-active[data-v-80ebd108] {
  transition: transform 0.3s ease;
}
.sheet-slide-leave-active[data-v-80ebd108] {
  transition: transform 0.2s ease;
}
.sheet-slide-enter-from[data-v-80ebd108] {
  transform: translateY(100%);
}
.sheet-slide-leave-to[data-v-80ebd108] {
  transform: translateY(100%);
}


/* ========== 遮罩层 ========== */
.popup-overlay[data-v-60f95d48] {
  position: fixed;
  inset: 0;
  z-index: 10001;
  display: flex;
  align-items: center;
  justify-content: center;
}
.popup-mask[data-v-60f95d48] {
  background: rgba(0, 0, 0, 0.5);
}

/* ========== 定位 ========== */
.popup-content[data-v-60f95d48] {
  position: absolute;
  background: transparent;
}
.w-320[data-v-60f95d48] {
  width: min(85.333333vw, 409.6px);
}
.popup-body[data-v-60f95d48] {
  position: relative;
  min-height: min(13.333333vw, 64px);
  overflow: hidden;
  background: #ffffff;
  border-radius: min(2.666667vw, 12.8px);
}
.close-pos[data-v-60f95d48] {
  position: absolute;
  top: min(1.333333vw, 6.4px);
  right: min(1.333333vw, 6.4px);
  z-index: 1000;
}
.close-size[data-v-60f95d48] {
  width: min(6.4vw, 30.72px);
  height: min(6.4vw, 30.72px);
}
.popup-position-center[data-v-60f95d48] {
  position: relative;
}
.popup-position-top[data-v-60f95d48] {
  top: 0;
  left: 0;
  right: 0;
}
.popup-position-bottom[data-v-60f95d48] {
  bottom: 0;
  left: 0;
  right: 0;
}
.popup-position-left[data-v-60f95d48] {
  top: 0;
  bottom: 0;
  left: 0;
}
.popup-position-right[data-v-60f95d48] {
  top: 0;
  bottom: 0;
  right: 0;
}

/* ========== center 淡入淡出 ========== */
.popup-fade-enter-active[data-v-60f95d48],
.popup-fade-leave-active[data-v-60f95d48] {
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.popup-fade-enter-from[data-v-60f95d48],
.popup-fade-leave-to[data-v-60f95d48] {
  opacity: 0;
  transform: scale(0.85);
}

/* ========== top 从上滑入 ========== */
.popup-slide-top-enter-active[data-v-60f95d48],
.popup-slide-top-leave-active[data-v-60f95d48] {
  transition: transform 0.3s ease;
}
.popup-slide-top-enter-from[data-v-60f95d48],
.popup-slide-top-leave-to[data-v-60f95d48] {
  transform: translateY(-100%);
}

/* ========== bottom 从下滑入 ========== */
.popup-slide-bottom-enter-active[data-v-60f95d48],
.popup-slide-bottom-leave-active[data-v-60f95d48] {
  transition: transform 0.3s ease;
}
.popup-slide-bottom-enter-from[data-v-60f95d48],
.popup-slide-bottom-leave-to[data-v-60f95d48] {
  transform: translateY(100%);
}

/* ========== left 从左滑入 ========== */
.popup-slide-left-enter-active[data-v-60f95d48],
.popup-slide-left-leave-active[data-v-60f95d48] {
  transition: transform 0.3s ease;
}
.popup-slide-left-enter-from[data-v-60f95d48],
.popup-slide-left-leave-to[data-v-60f95d48] {
  transform: translateX(-100%);
}

/* ========== right 从右滑入 ========== */
.popup-slide-right-enter-active[data-v-60f95d48],
.popup-slide-right-leave-active[data-v-60f95d48] {
  transition: transform 0.3s ease;
}
.popup-slide-right-enter-from[data-v-60f95d48],
.popup-slide-right-leave-to[data-v-60f95d48] {
  transform: translateX(100%);
}

.global-content[data-v-788b5c72] {
  min-height: min(40vw, 192px);
  padding: min(5.333333vw, 25.6px);
  text-align: left;
  white-space: pre-wrap;
  max-height: 80vh;
  overflow-y: auto;
  color: #000000;
}

.app-wrapper[data-v-70db52a9] {
  width: 100%;
  height: 100vh;
  height: 100dvh;
  display: flex;
  justify-content: center;
  background: var(--color-bg-outer);
}
.app-container[data-v-70db52a9] {
  width: 100%;
  max-width: var(--max-width);
  height: 100%;
  display: flex;
  flex-direction: column;
  position: relative;
  background: var(--color-bg-page);
  box-shadow: var(--shadow-app);
  overflow: hidden;
}
.main-content[data-v-70db52a9] {
  flex: 1;
  min-height: 0;
  overflow: hidden;
  position: relative;
}
/* ========== InterWB 字体定义 ========== */
@font-face {
    font-family: 'InterWB';
    src: url('/fonts/InterWB-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'InterWB';
    src: url('/fonts/InterWB-SemiBold.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'InterWB';
    src: url('/fonts/InterWB-Bold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'InterWB';
    src: url('/fonts/InterWB-ExtraBold.woff2') format('woff2');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* ========== CSS 变量定义 ========== */
:root {
    /* ---------- 字体 ---------- */
    --font-family: 'InterWB', -apple-system, BlinkMacSystemFont, 'PingFang SC', 'Helvetica Neue', 'Microsoft YaHei', Arial, sans-serif;

    /* ---------- 字体大小 ---------- */
    --font-size-xxs: min(2.133333vw, 10.24px);
    --font-size-xs: min(2.4vw, 11.52px);
    --font-size-s: min(2.666667vw, 12.8px);
    --font-size-sm: min(2.933333vw, 14.08px);
    --font-size-base: min(3.2vw, 15.36px);
    --font-size-md: min(3.466667vw, 16.64px);
    --font-size-body: min(3.733333vw, 17.92px);
    --font-size-lg: min(4vw, 19.2px);
    --font-size-xl: min(4.266667vw, 20.48px);
    --font-size-xxl: min(5.333333vw, 25.6px);
    --font-size-xxxl: min(7.466667vw, 35.84px);
    --font-size-banner-num: min(9.066667vw, 43.52px);
    --font-size-banner-zero: min(17.066667vw, 81.92px);

    /* ---------- 字重 ---------- */
    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-weight-extrabold: 900;

    /* ---------- 行高 ---------- */
    --line-height-tight: 1.2;
    --line-height-snug: 1.3;
    --line-height-normal: 1.4;
    --line-height-relaxed: 1.5;
    --line-height-loose: 1.6;

    /* ---------- 颜色 ---------- */
    --color-primary: #2962FF;
    --color-primary-light: rgba(41, 98, 255, 0.1);
    --color-primary-bg: rgba(41, 98, 255, 0.15);
    --color-text-primary: #1a1a1a;
    --color-text-secondary: #333;
    --color-text-tertiary: #666;
    --color-text-placeholder: #999;
    --color-text-disabled: #bbb;
    --color-text-hint: #ccc;
    --color-red: #FF1744;
    --color-green: #00C853;
    --color-grey: #999;
    --color-purple: #7c3aed;
    --color-purple-bg: #f0e6ff;
    --color-badge-red: #FF1744;
    --color-rank-1: #2962FF;
    --color-rank-2: #42a5f5;
    --color-rank-3: #90caf9;
    --color-white: #fff;
    --color-bg-page: #f5f6fa;
    --color-bg-card: #fff;
    --color-bg-outer: #e8e8e8;
    --color-border: #eee;
    --color-border-light: #e5e5e5;
    --color-tab-bg: rgba(237, 237, 240, 0.3);

    /* ---------- 间距 ---------- */
    --spacing-xxs: min(0.533333vw, 2.56px);
    --spacing-xs: min(1.066667vw, 5.12px);
    --spacing-s: min(1.6vw, 7.68px);
    --spacing-sm: min(2.133333vw, 10.24px);
    --spacing-md: min(2.666667vw, 12.8px);
    --spacing-base: min(3.2vw, 15.36px);
    --spacing-lg: min(3.733333vw, 17.92px);
    --spacing-xl: min(4.266667vw, 20.48px);
    --spacing-xxl: min(4.8vw, 23.04px);
    --spacing-section: min(5.333333vw, 25.6px);
    --spacing-page-h: min(4.266667vw, 20.48px);

    /* ---------- 圆角 ---------- */
    --radius-xs: min(0.8vw, 3.84px);
    --radius-s: min(1.066667vw, 5.12px);
    --radius-sm: min(2.133333vw, 10.24px);
    --radius-md: min(3.2vw, 15.36px);
    --radius-lg: min(3.733333vw, 17.92px);
    --radius-xl: min(4.266667vw, 20.48px);
    --radius-pill: min(5.333333vw, 25.6px);
    --radius-tab: min(4.533333vw, 21.76px);
    --radius-tab-outer: min(5.333333vw, 25.6px);

    /* ---------- 尺寸 ---------- */
    --icon-feature-size: min(12.8vw, 61.44px);
    --icon-feature-radius: min(3.733333vw, 17.92px);
    --tabbar-height: min(14.933333vw, 71.68px);
    --tabbar-icon-size: min(6.933333vw, 33.28px);
    --max-width: min(128vw, 614.4px);
    --news-rank-size: min(5.333333vw, 25.6px);
    --learn-thumb-w: min(24vw, 115.2px);
    --learn-thumb-h: min(18.666667vw, 89.6px);

    /* ---------- 阴影 ---------- */
    --shadow-card: 0 min(0.266667vw, 1.28px) min(1.066667vw, 5.12px) rgba(0, 0, 0, 0.06);
    --shadow-icon: 0 min(0.533333vw, 2.56px) min(2.133333vw, 10.24px) rgba(41, 98, 255, 0.2);
    --shadow-app: 0 0 min(5.333333vw, 25.6px) rgba(0, 0, 0, 0.1);

    /* ---------- 股票/资产语义色 ---------- */
    --color-gain: #00C853; /* 涨 / 买入 / 正数 */
    --color-loss: #FF1744; /* 跌 / 卖出 / 负数 */
    --color-zero: #000000; /* 平 / 卖出 / 负数 */
    --color-gain-bg: rgba(14, 203, 129, 0.08);
    --color-loss-bg: rgba(246, 70, 93, 0.08);
    --color-overlay: rgba(0, 0, 0, 0.5);

    /* ---------- 股票名称/代码字体 ---------- */
    --stock-name-size: min(3.733333vw, 17.92px);
    --stock-name-weight: 500;
    --stock-name-color: var(--color-text-primary);
    --stock-code-size: min(3.2vw, 15.36px);
    --stock-code-color: var(--color-text-placeholder);

    /* ---------- 价格/数值字体 ---------- */
    --price-size: min(3.733333vw, 17.92px);
    --price-weight: 500;
    --price-color: var(--color-text-primary);
    --price-sub-size: min(3.2vw, 15.36px);
    --price-sub-color: var(--color-text-placeholder);
    --price-small-size: min(2.666667vw, 12.8px);

    /* ---------- 表头 ---------- */
    --table-header-size: min(2.933333vw, 14.08px);
    --table-header-color: var(--color-text-placeholder);

    /* ---------- 卡片/分割线 ---------- */
    --color-divider: #f0f0f0;
    --color-divider-light: #f5f5f5;
    --color-bg-tag: #f5f6fa;

    /* ---------- 渐变 ---------- */
    --gradient-invest: linear-gradient(160deg, #edf0ff, #dde3ff);
    --gradient-sim: linear-gradient(160deg, #e6f7e9, #d4f0d8);
    --gradient-banner: linear-gradient(135deg, #0a1628 0%, #0d1f5c 40%, #1a237e 70%, #283593 100%);
    --gradient-learn-thumb: linear-gradient(135deg, #fce4ec, #e8eaf6);
    --gradient-ipo-header: linear-gradient(135deg, #5b2c8e 0%, #7b42b8 50%, #9b59d0 100%);

    /* === Trade / Order specific === */
    --color-buy: #00C853; /* 买入按钮 */
    --color-sell: #FF1744; /* 卖出按钮 */
    --color-warn: #E6A23C; /* 警告/待处理 */
    --color-error: #FF1744; /* 错误/危险 */
    --color-success: #00C853; /* 成功 */
    --color-info-blue: #0091FF; /* 信息蓝 */
    --color-highlight-bg: #EBF0FF; /* 高亮背景 */
    --color-highlight-bg-alt: #EBF1FF; /* 高亮背景备选 */
    --color-text-black: #000; /* 纯黑文字 */
    --color-text-dark: #222; /* 深色文字 */
    --color-text-title: #111; /* 标题深色 */
    --color-bg-input: #f5f6f8; /* 输入框背景 */
    --color-bg-section: #f8f9fa; /* 区块背景 */
    --color-bg-light: #f9f9f9; /* 浅色背景 */
    --color-bg-subtle: #f0f1f5; /* 微妙背景 */
    --color-border-medium: #c0c4cc; /* 中等边框 */
    --color-border-ddd: #ddd; /* 浅灰边框 */
    --color-gold: #f5a623; /* 金色 */
    --color-orange: #e67e22; /* 橙色 */
    --color-danger: #FF1744; /* 危险红 */
    --color-error-light: #F56C6C; /* 错误浅红 */
    --color-bg-input-alt: #f5f7f9; /* 输入框背景备选 */
    --color-bg-form: #eef0f3; /* 表单背景 */
    --color-bg-card-alt: #f8f9fc; /* 卡片背景备选 */
    --color-primary-bg-light: #f0f4ff; /* 主色浅背景 */
    --color-primary-bg-blue: #EBF3FF; /* 主色蓝背景 */
}

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

html, body {
    width: 100%;
    height: 100%;
    font-family: var(--font-family);
    font-size: var(--font-size-body);
    color: var(--color-text-primary);
    background-color: var(--color-bg-outer);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: var(--line-height-relaxed);
}

#app {
    width: 100%;
    height: 100%;
}

a {
    text-decoration: none;
    color: inherit;
}

ul, ol {
    list-style: none;
}

img {
    display: block;
    max-width: 100%;
}

button {
    border: none;
    outline: none;
    cursor: pointer;
    background: none;
    font-family: inherit;
}

input, textarea, select {
    font-family: inherit;
}

::-webkit-scrollbar {
    display: none;
}

/* 全局移动端滚动优化：确保所有可滚动容器在 iOS 上有流畅的惯性滚动 */
* {
    -webkit-overflow-scrolling: touch;
}

/* 全局文字溢出防护：防止多语言（EN/IN）文字过长导致布局变形 */
body {
    max-width: 480px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: hidden;
    word-break: break-word;
}


.fcc {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fcb {
    display: flex;
    align-items: center;
    justify-content: space-between;
}


.fc {
    display: flex;
    align-items: center;
}

.fcl {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.capitalize {
    text-transform: capitalize
}

.text-right {
    text-align: right;
}

.text-center {
    text-align: center;
}

.italic {
    font-style: italic;
}

.s0 {
    flex-shrink: 0;
}

.h-50vh {
    height: 50vh;
}

.h-60vh {
    height: 60vh;
}

.h-70vh {
    height: 70vh;
}

.h-80vh {
    height: 80vh;
}

.h-90vh {
    height: 90vh;
}

.h-100 {
    height: min(26.666667vw, 128px);
}

.h-80 {
    height: min(21.333333vw, 102.4px);
}

.truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap
}


.ovh{
    overflow: hidden;
}


.text-10 {
    font-size: var(--price-small-size) !important;
}

.text-12 {
    font-size: var(--price-sub-size) !important;
}

.text-13 {
    font-size: var(--font-size-md) !important;
}

.text-14 {
    font-size: var(--price-size) !important;
}

.text-15 {
    font-size: min(4vw, 19.2px) !important;
}

.text-16 {
    font-size: min(4.266667vw, 20.48px) !important;
}

.text-18 {
    font-size: var(--spacing-xxl) !important;
}

.font-500 {
    font-weight: 500 !important;
}

.font-600 {
    font-weight: 600 !important;
}

.font-bold {
    font-weight: bold;
}

.px-10 {
    padding: 0 min(2.666667vw, 12.8px);
}

.py-10 {
    padding: min(2.666667vw, 12.8px) 0;
}

.pa-10 {
    padding: min(2.666667vw, 12.8px);
}

.px-16{
    padding: 0 min(4.266667vw, 20.48px);
}

.mt-5 {
    margin-top: min(1.333333vw, 6.4px);
}

.mt-10 {
    margin-top: min(2.666667vw, 12.8px);
}


.ml-10 {
    margin-left: min(2.666667vw, 12.8px);
}

.text-E02020 {
    color: #E02020;
}

.text-F7F9FA {
    color: #a4abaf !important;
}

.text-79A1EB{
    color: #79A1EB;
}

.border-b-fina {
    border-bottom: min(0.266667vw, 1.28px) solid #F7F9FA;
}


.rounded-t-22 {
    border-radius: min(5.866667vw, 28.16px) min(5.866667vw, 28.16px) 0 0 !important;
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: min(2.666667vw, 12.8px);
    margin-bottom: min(1.333333vw, 6.4px);
}
