
*[data-v-3c83e166] {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.ai-trade-wrap[data-v-3c83e166] {
  width: 100%;
  height: 100vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background-color: #DEE8FF;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  font-size: 14px;
  position: relative;
}

/* ===== 头部导航 ===== */
.header[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 12px 16px;
  padding-top: calc(12px + env(safe-area-inset-top));
  background: transparent;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
}
.header-left[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  z-index: 1;
}
.back-btn[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-right: 10px;
  cursor: pointer;
}
.back-btn svg path[data-v-3c83e166] {
  stroke: #1a1a1a;
}
.header-title-area h3[data-v-3c83e166] {
  color: #1a1a1a;
  font-size: 17px;
  font-weight: 700;
}
.header-sub[data-v-3c83e166] {
  font-size: 10px;
  color: #999;
  display: block;
  margin-top: 1px;
}

/* ===== 铃铛区域 ===== */
.bell-wrapper[data-v-3c83e166] {
  position: relative;
  cursor: pointer;
  z-index: 1;
}
.bell-icon-box[data-v-3c83e166] {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: transparent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}
.bell-wrapper:active .bell-icon-box[data-v-3c83e166] {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.bell-icon path[data-v-3c83e166] {
  fill: #666;
}
.badge[data-v-3c83e166] {
  position: absolute;
  top: -2px;
  right: -2px;
  background: #f53f3f;
  color: #fff;
  font-size: 10px;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  border: 1.5px solid #5B7CFA;
}
.badge-pop-enter-active[data-v-3c83e166] {
  -webkit-animation: badgePop-3c83e166 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
          animation: badgePop-3c83e166 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
@-webkit-keyframes badgePop-3c83e166 {
0% { -webkit-transform: scale(0); transform: scale(0);
}
100% { -webkit-transform: scale(1); transform: scale(1);
}
}
@keyframes badgePop-3c83e166 {
0% { -webkit-transform: scale(0); transform: scale(0);
}
100% { -webkit-transform: scale(1); transform: scale(1);
}
}
.bell-tip[data-v-3c83e166] {
  position: absolute;
  top: calc(56px + env(safe-area-inset-top));
  right: 12px;
  width: 260px;
  padding: 12px 14px;
  background: #fff;
  border-radius: 12px;
  font-size: 12px;
  z-index: 200;
  line-height: 1.5;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 10px;
  -webkit-box-shadow: 0 6px 24px rgba(0,0,0,0.15);
          box-shadow: 0 6px 24px rgba(0,0,0,0.15);
  border: 1px solid rgba(91,124,250,0.12);
}
.bell-tip-alert[data-v-3c83e166] {
  border-color: rgba(245,63,63,0.2);
}
.bell-tip[data-v-3c83e166]::before {
  content: '';
  position: absolute;
  top: -6px;
  right: 14px;
  width: 0;
  height: 0;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #fff;
}
.bell-tip-icon[data-v-3c83e166] {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-shadow: 0 2px 8px rgba(91,124,250,0.25);
          box-shadow: 0 2px 8px rgba(91,124,250,0.25);
}
.bell-tip-icon.alert[data-v-3c83e166] {
  background: linear-gradient(135deg, #f53f3f, #ff7a45);
  -webkit-box-shadow: 0 2px 8px rgba(245,63,63,0.3);
          box-shadow: 0 2px 8px rgba(245,63,63,0.3);
}
.bell-tip-text[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.bell-tip-title[data-v-3c83e166] {
  font-size: 13px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 2px;
}
.bell-tip-brief[data-v-3c83e166] {
  font-size: 11px;
  color: #888;
  line-height: 1.45;
}
.fadeUp-enter-active[data-v-3c83e166], .fadeUp-leave-active[data-v-3c83e166] {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.fadeUp-enter[data-v-3c83e166], .fadeUp-leave-to[data-v-3c83e166] {
  opacity: 0;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
}

/* ===== 底部通知弹层 ===== */
.maskFade-enter-active[data-v-3c83e166], .maskFade-leave-active[data-v-3c83e166] {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.maskFade-enter[data-v-3c83e166], .maskFade-leave-to[data-v-3c83e166] {
  opacity: 0;
}
.mask[data-v-3c83e166] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.45);
  z-index: 999;
}
.sheetUp-enter-active[data-v-3c83e166], .sheetUp-leave-active[data-v-3c83e166] {
  -webkit-transition: -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), -webkit-transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.sheetUp-enter[data-v-3c83e166], .sheetUp-leave-to[data-v-3c83e166] {
  -webkit-transform: translateY(100%);
          transform: translateY(100%);
}
.bottom-sheet[data-v-3c83e166] {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  max-height: 75vh;
  background: #fff;
  border-radius: 18px 18px 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  z-index: 1000;
  -webkit-box-shadow: 0 -4px 30px rgba(0,0,0,0.12);
          box-shadow: 0 -4px 30px rgba(0,0,0,0.12);
}
.sheet-handle[data-v-3c83e166] {
  width: 36px;
  height: 4px;
  background: #e0e0e0;
  border-radius: 2px;
  margin: 10px auto 6px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.sheet-head[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 8px 16px 14px;
  border-bottom: 1px solid #f0f0f0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.sheet-title-area[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
}
.sheet-title[data-v-3c83e166] {
  font-size: 17px;
  font-weight: 700;
  color: #1a1a1a;
}
.sheet-badge[data-v-3c83e166] {
  font-size: 11px;
  color: #5B7CFA;
  background: rgba(91,124,250,0.1);
  padding: 2px 8px;
  border-radius: 10px;
  font-weight: 600;
}
.sheet-close[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
  padding: 4px;
}
.sheet-body[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 12px;
}
.sheet-card[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding: 14px;
  margin-bottom: 10px;
  background: #f9fafb;
  border-radius: 12px;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  border: 1px solid transparent;
}
.sheet-card[data-v-3c83e166]:active {
  background: #f0f2f5;
  -webkit-transform: scale(0.98);
          transform: scale(0.98);
}
.sheet-card.read[data-v-3c83e166] {
  opacity: 0.6;
}
.sheet-card.is-alert[data-v-3c83e166] {
  background: linear-gradient(135deg, rgba(245,63,63,0.06), rgba(245,63,63,0.02));
  border-color: rgba(245,63,63,0.15);
}
.sc-icon[data-v-3c83e166] {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-shadow: 0 3px 10px rgba(91,124,250,0.25);
          box-shadow: 0 3px 10px rgba(91,124,250,0.25);
}
.sc-icon.alert[data-v-3c83e166] {
  background: linear-gradient(135deg, #f53f3f, #ff7a45);
  -webkit-box-shadow: 0 3px 10px rgba(245,63,63,0.3);
          box-shadow: 0 3px 10px rgba(245,63,63,0.3);
}
.sc-content[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.sc-top[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  margin-bottom: 3px;
}
.sc-title[data-v-3c83e166] {
  font-size: 14px;
  font-weight: 600;
  color: #1a1a1a;
}
.sc-dot[data-v-3c83e166] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #5B7CFA;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.sc-brief[data-v-3c83e166] {
  font-size: 12px;
  color: #888;
  line-height: 1.45;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
}
.sc-arrow[data-v-3c83e166] {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.empty-tip[data-v-3c83e166] {
  padding: 50px 16px;
  text-align: center;
  color: #ccc;
  font-size: 14px;
}
.empty-tip p[data-v-3c83e166] {
  margin-top: 10px;
}

/* ===== 聊天区域 ===== */
.chat-box[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  padding: 10px 12px 16px;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.chat-box[data-v-3c83e166]::-webkit-scrollbar {
  display: none;
}
.msg-row[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 8px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.msg-row.user[data-v-3c83e166] {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.msg-row.btn[data-v-3c83e166] {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

/* AI 头像 */
.msg-avatar[data-v-3c83e166] {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 8px;
  -webkit-box-shadow: 0 2px 8px rgba(91,124,250,0.2);
          box-shadow: 0 2px 8px rgba(91,124,250,0.2);
  overflow: hidden;
}
.msg-avatar img[data-v-3c83e166] {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50%;
}

/* 用户气泡入场动画（从下到上，从透明到实体） */
.bubble-up-enter-active[data-v-3c83e166] {
  -webkit-transition: all 0.35s cubic-bezier(0.34, 1.26, 0.64, 1);
  transition: all 0.35s cubic-bezier(0.34, 1.26, 0.64, 1);
}
.bubble-up-leave-active[data-v-3c83e166] {
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}
.bubble-up-enter[data-v-3c83e166] {
  opacity: 0;
  -webkit-transform: translateY(16px) scale(0.9);
          transform: translateY(16px) scale(0.9);
}
.bubble-up-leave-to[data-v-3c83e166] {
  opacity: 0;
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
}

/* AI 气泡 */
.ai-bubble[data-v-3c83e166] {
  max-width: 78%;
  padding: 8px 12px;
  background: #fff;
  border-radius: 14px 14px 14px 4px;
  font-size: 12px;
  line-height: 1.55;
  color: #333;
  white-space: pre-line;
  word-break: break-word;
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.05);
          box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  border: 1px solid rgba(0,0,0,0.03);
  -webkit-animation: aiSlideIn-3c83e166 0.4s ease;
          animation: aiSlideIn-3c83e166 0.4s ease;
}
@-webkit-keyframes aiSlideIn-3c83e166 {
from { opacity: 0; -webkit-transform: translateX(-24px); transform: translateX(-24px);
}
to { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0);
}
}
@keyframes aiSlideIn-3c83e166 {
from { opacity: 0; -webkit-transform: translateX(-24px); transform: translateX(-24px);
}
to { opacity: 1; -webkit-transform: translateX(0); transform: translateX(0);
}
}

/* 打字指示器 */
.typing-bubble[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 14px 18px;
}
/* 气泡内联打字动画 */
.inline-typing[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  padding: 6px 0 2px;
}
.inline-typing .typing-dot[data-v-3c83e166] {
  width: 6px;
  height: 6px;
}
.typing-dot[data-v-3c83e166] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  -webkit-animation: typingBounce-3c83e166 1.4s ease-in-out infinite;
          animation: typingBounce-3c83e166 1.4s ease-in-out infinite;
}
.typing-dot[data-v-3c83e166]:nth-child(2) {
  -webkit-animation-delay: 0.18s;
          animation-delay: 0.18s;
}
.typing-dot[data-v-3c83e166]:nth-child(3) {
  -webkit-animation-delay: 0.36s;
          animation-delay: 0.36s;
}
@-webkit-keyframes typingBounce-3c83e166 {
0%, 60%, 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 0.5;
}
30% { -webkit-transform: translateY(-6px); transform: translateY(-6px); opacity: 1;
}
}
@keyframes typingBounce-3c83e166 {
0%, 60%, 100% { -webkit-transform: translateY(0); transform: translateY(0); opacity: 0.5;
}
30% { -webkit-transform: translateY(-6px); transform: translateY(-6px); opacity: 1;
}
}

/* 用户气泡 */
.user-bubble[data-v-3c83e166] {
  max-width: 78%;
  padding: 8px 12px;
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  color: #fff;
  border-radius: 14px 14px 4px 14px;
  font-size: 12px;
  line-height: 1.55;
  white-space: pre-line;
  word-break: break-word;
  -webkit-box-shadow: 0 3px 10px rgba(91,124,250,0.25);
          box-shadow: 0 3px 10px rgba(91,124,250,0.25);
  text-shadow: 0 1px 2px rgba(0,0,0,0.08);
}

/* 盯盘策略通知（无背景聊天框） */
@-webkit-keyframes cardIn-3c83e166 {
from { opacity: 0; -webkit-transform: translateY(12px); transform: translateY(12px);
}
to { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0);
}
}
@keyframes cardIn-3c83e166 {
from { opacity: 0; -webkit-transform: translateY(12px); transform: translateY(12px);
}
to { opacity: 1; -webkit-transform: translateY(0); transform: translateY(0);
}
}
.watch-card-in[data-v-3c83e166] {
  max-width: 82%;
  padding: 12px 14px;
  background: #fff;
  border-radius: 12px 12px 12px 4px;
  -webkit-box-shadow: 0 2px 10px rgba(0,0,0,0.05);
          box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  border: 1px solid rgba(91,124,250,0.1);
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-animation: cardIn-3c83e166 0.4s ease;
          animation: cardIn-3c83e166 0.4s ease;
}
.watch-card-in[data-v-3c83e166]:active {
  -webkit-transform: scale(0.97);
          transform: scale(0.97);
}
.wc-badge[data-v-3c83e166] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  color: #fff;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}
.wc-status[data-v-3c83e166] {
  font-size: 9px;
  padding: 1px 6px;
  background: rgba(255,255,255,0.3);
  border-radius: 7px;
  margin-left: 2px;
}
.wc-brief[data-v-3c83e166] {
  font-size: 13px;
  color: #333;
  line-height: 1.5;
  margin-bottom: 8px;
}
.wc-factors[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.wc-tag[data-v-3c83e166] {
  font-size: 11px;
  padding: 3px 9px;
  background: rgba(91,124,250,0.08);
  color: #5B7CFA;
  border-radius: 10px;
  font-weight: 500;
}
.wc-foot[data-v-3c83e166] {
  font-size: 11px;
  color: #5B7CFA;
  font-weight: 500;
}

/* 触发提醒通知（无背景聊天框） */
.alert-card-in[data-v-3c83e166] {
  max-width: 82%;
  padding: 12px 14px;
  background: #fff;
  border-radius: 12px 12px 12px 4px;
  -webkit-box-shadow: 0 2px 10px rgba(245,63,63,0.08);
          box-shadow: 0 2px 10px rgba(245,63,63,0.08);
  border: 1px solid rgba(245,63,63,0.12);
  cursor: pointer;
  -webkit-transition: -webkit-transform 0.2s ease;
  transition: -webkit-transform 0.2s ease;
  transition: transform 0.2s ease;
  transition: transform 0.2s ease, -webkit-transform 0.2s ease;
  -webkit-animation: cardIn-3c83e166 0.4s ease;
          animation: cardIn-3c83e166 0.4s ease;
}
.alert-card-in[data-v-3c83e166]:active {
  -webkit-transform: scale(0.97);
          transform: scale(0.97);
}
.ac-badge[data-v-3c83e166] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 5px;
  padding: 4px 10px;
  background: linear-gradient(135deg, #f53f3f, #ff7a45);
  color: #fff;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 700;
  margin-bottom: 8px;
}
.ac-pulse[data-v-3c83e166] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #fff;
  position: relative;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.ac-pulse[data-v-3c83e166]::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: rgba(255,255,255,0.4);
  -webkit-animation: acPulse-3c83e166 1.5s ease-out infinite;
          animation: acPulse-3c83e166 1.5s ease-out infinite;
}
@-webkit-keyframes acPulse-3c83e166 {
0% { -webkit-transform: scale(0.8); transform: scale(0.8); opacity: 0.8;
}
100% { -webkit-transform: scale(2); transform: scale(2); opacity: 0;
}
}
@keyframes acPulse-3c83e166 {
0% { -webkit-transform: scale(0.8); transform: scale(0.8); opacity: 0.8;
}
100% { -webkit-transform: scale(2); transform: scale(2); opacity: 0;
}
}
.ac-brief[data-v-3c83e166] {
  font-size: 13px;
  color: #333;
  line-height: 1.5;
  margin-bottom: 8px;
}
.ac-foot[data-v-3c83e166] {
  font-size: 11px;
  color: #f53f3f;
  font-weight: 500;
}

/* 操作按钮 */
.operate-btns[data-v-3c83e166] {
  width: 100%;
  text-align: center;
}
.action-btn[data-v-3c83e166] {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 3px;
  padding: 6px 18px;
  background: #fff;
  color: #165dff;
  border: 1.5px solid #165dff;
  border-radius: 16px;
  cursor: pointer;
  font-size: 12px;
  font-weight: 500;
  -webkit-transition: background 0.15s ease, -webkit-transform 0.15s ease;
  transition: background 0.15s ease, -webkit-transform 0.15s ease;
  transition: transform 0.15s ease, background 0.15s ease;
  transition: transform 0.15s ease, background 0.15s ease, -webkit-transform 0.15s ease;
}
.action-btn[data-v-3c83e166]:active,
.action-btn.pressed[data-v-3c83e166] {
  -webkit-transform: scale(0.94);
          transform: scale(0.94);
  background: rgba(22,93,255,0.06);
}

/* ===== 底部输入 ===== */
.input-area[data-v-3c83e166] {
  padding: 10px 12px;
  padding-bottom: calc(10px + env(safe-area-inset-bottom));
  background: rgba(255,255,255,0.95);
  border-top: 1px solid #f0f0f0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.input-wrapper[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
}
textarea[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-height: 38px;
  max-height: 100px;
  padding: 9px 14px;
  border: 1.5px solid #e8e8e8;
  border-radius: 20px;
  resize: none;
  font-size: 14px;
  font-family: inherit;
  line-height: 1.4;
  color: #1a1a1a;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
  outline: none;
  background: #f7f8fa;
  /* 隐藏滚动条但保留滚动 */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
textarea[data-v-3c83e166]::-webkit-input-placeholder {
  color: #b8b8b8;
}
textarea[data-v-3c83e166]::-moz-placeholder {
  color: #b8b8b8;
}
textarea[data-v-3c83e166]:-ms-input-placeholder {
  color: #b8b8b8;
}
textarea[data-v-3c83e166]::-ms-input-placeholder {
  color: #b8b8b8;
}
textarea[data-v-3c83e166]::placeholder {
  color: #b8b8b8;
}
textarea[data-v-3c83e166]:disabled::-webkit-input-placeholder {
  color: #b8b8b8;
  -webkit-text-fill-color: #b8b8b8;
}
textarea[data-v-3c83e166]:disabled::-moz-placeholder {
  color: #b8b8b8;
  -webkit-text-fill-color: #b8b8b8;
}
textarea[data-v-3c83e166]:disabled:-ms-input-placeholder {
  color: #b8b8b8;
  -webkit-text-fill-color: #b8b8b8;
}
textarea[data-v-3c83e166]:disabled::-ms-input-placeholder {
  color: #b8b8b8;
  -webkit-text-fill-color: #b8b8b8;
}
textarea[data-v-3c83e166]:disabled::placeholder {
  color: #b8b8b8;
  -webkit-text-fill-color: #b8b8b8;
}
textarea[data-v-3c83e166]::-webkit-scrollbar {
  display: none;
}
textarea[data-v-3c83e166]:focus {
  border-color: #5B7CFA;
  background: #fff;
}
textarea[data-v-3c83e166]:disabled {
  background: #f5f5f5;
  color: #333;
  -webkit-text-fill-color: #333;
  opacity: 1;
}
.send-btn[data-v-3c83e166] {
  width: 38px;
  height: 38px;
  border: none;
  border-radius: 50%;
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  color: #fff;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: opacity 0.2s, -webkit-transform 0.15s ease;
  transition: opacity 0.2s, -webkit-transform 0.15s ease;
  transition: transform 0.15s ease, opacity 0.2s;
  transition: transform 0.15s ease, opacity 0.2s, -webkit-transform 0.15s ease;
  -webkit-box-shadow: 0 2px 8px rgba(91,124,250,0.25);
          box-shadow: 0 2px 8px rgba(91,124,250,0.25);
}
.send-btn[data-v-3c83e166]:active {
  -webkit-transform: scale(0.9);
          transform: scale(0.9);
}
.send-btn[data-v-3c83e166]:disabled {
  background: #ccc;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: not-allowed;
}
.tip-text[data-v-3c83e166] {
  font-size: 11px;
  color: #bbb;
  margin-top: 6px;
  text-align: center;
}

/* ===== 弹窗 ===== */
.modal-mask[data-v-3c83e166] {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  z-index: 1001;
}
.modal-enter-active[data-v-3c83e166], .modal-leave-active[data-v-3c83e166] {
  -webkit-transition: all 0.3s ease;
  transition: all 0.3s ease;
}
.modal-enter[data-v-3c83e166], .modal-leave-to[data-v-3c83e166] {
  opacity: 0;
  -webkit-transform: translate(-50%, -50%) scale(0.85);
          transform: translate(-50%, -50%) scale(0.85);
}
.modal-content[data-v-3c83e166] {
  position: fixed;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 92vw;
  max-width: 500px;
  max-height: 80vh;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: #fff;
  border-radius: 14px;
  z-index: 1002;
  overflow: hidden;
}
.modal-head[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 16px;
  border-bottom: 1px solid #f0f0f0;
}
.modal-head h4[data-v-3c83e166] {
  font-size: 16px;
  font-weight: 700;
  color: #333;
}
.modal-close[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}
.modal-body[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
/* 汇率走势图表 */
.chart-section[data-v-3c83e166] {
  padding: 14px 16px 6px;
}
.rate-summary[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  margin-bottom: 12px;
}
.rate-card[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 10px 12px;
  border-radius: 10px;
  background: #f7f8fa;
  border: 1px solid #f0f0f0;
}
.rate-card.profit[data-v-3c83e166] {
  background: linear-gradient(135deg, rgba(0,180,42,0.08), rgba(0,180,42,0.02));
  border-color: rgba(0,180,42,0.2);
}
.rate-card-label[data-v-3c83e166] {
  display: block;
  font-size: 11px;
  color: #999;
  margin-bottom: 4px;
}
.rate-card-value[data-v-3c83e166] {
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
}
.rate-card.profit .rate-card-value[data-v-3c83e166] {
  color: #00b42a;
}
.rate-card-trend[data-v-3c83e166] {
  display: block;
  font-size: 10px;
  color: #00b42a;
  margin-top: 3px;
  font-weight: 600;
}
.rate-svg[data-v-3c83e166] {
  width: 100%;
  height: auto;
  display: block;
}
.chart-legend[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  margin: 8px 0 12px;
}
.legend-item[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 11px;
  color: #888;
}
.legend-dot[data-v-3c83e166] {
  width: 10px;
  height: 3px;
  border-radius: 2px;
  display: inline-block;
}
.legend-dot.hist[data-v-3c83e166] {
  background: #5B7CFA;
}
.legend-dot.pred[data-v-3c83e166] {
  background: #00b42a;
  opacity: 0.6;
}
.legend-band[data-v-3c83e166] {
  width: 10px;
  height: 8px;
  border-radius: 2px;
  background: rgba(91,124,250,0.15);
  border: 1px dashed rgba(91,124,250,0.4);
  display: inline-block;
}
.profit-trend-banner[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  padding: 10px 12px;
  background: linear-gradient(135deg, rgba(0,180,42,0.08), rgba(0,180,42,0.03));
  border: 1px solid rgba(0,180,42,0.15);
  border-radius: 10px;
  font-size: 12px;
  color: #333;
  line-height: 1.4;
}
.profit-trend-banner b[data-v-3c83e166] {
  color: #00b42a;
  font-size: 14px;
}
.factor-list[data-v-3c83e166] {
  padding: 14px 16px;
}
.factor-item[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 8px;
  gap: 8px;
}
.factor-item input[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 8px 10px;
  border: 1.5px solid #e8e8e8;
  border-radius: 8px;
  font-size: 13px;
  outline: none;
  -webkit-transition: border-color 0.2s;
  transition: border-color 0.2s;
}
.factor-item input[data-v-3c83e166]:focus {
  border-color: #5B7CFA;
}
.del-factor[data-v-3c83e166] {
  color: #f53f3f;
  font-size: 12px;
  cursor: pointer;
  white-space: nowrap;
}
.add-factor-btn[data-v-3c83e166] {
  margin-top: 4px;
  padding: 8px 14px;
  background: rgba(91,124,250,0.06);
  color: #5B7CFA;
  border: 1.5px dashed rgba(91,124,250,0.3);
  border-radius: 8px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 500;
}
.strategy-text[data-v-3c83e166] {
  padding: 0 16px 16px;
  line-height: 1.6;
  white-space: pre-line;
  font-size: 13px;
  color: #555;
}
.strategy-text h5[data-v-3c83e166] {
  margin-bottom: 8px;
  font-size: 14px;
  color: #333;
}
.modal-footer[data-v-3c83e166] {
  padding: 12px 16px;
  border-top: 1px solid #f0f0f0;
  text-align: right;
}
.save-btn[data-v-3c83e166] {
  padding: 9px 28px;
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  color: #fff;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  font-weight: 600;
  -webkit-box-shadow: 0 2px 8px rgba(91,124,250,0.25);
          box-shadow: 0 2px 8px rgba(91,124,250,0.25);
}
.save-btn[data-v-3c83e166]:active {
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
}

/* ===== 方案卡片横向滚动 ===== */
.solution-cards-bubble[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: calc(100% - 44px);
  position: relative;
  -webkit-animation: cardIn-3c83e166 0.45s ease;
          animation: cardIn-3c83e166 0.45s ease;
  height: 1vh;
  min-height: 220px;
  max-height: 440px;
}
.solution-cards-scroll[data-v-3c83e166] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 10px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
  scrollbar-width: none;
  -ms-overflow-style: none;
  padding: 2px 4px 6px;
  height: 100%;
}
.solution-cards-scroll[data-v-3c83e166]::-webkit-scrollbar {
  display: none;
}
.solution-card[data-v-3c83e166] {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  scroll-snap-align: start;
  height: 100%;
  overflow-y: auto;
  background: #fff;
  border-radius: 12px;
  padding: 10px 12px;
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.05);
          box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  border: 1px solid rgba(91,124,250,0.1);
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.solution-card[data-v-3c83e166]::-webkit-scrollbar {
  display: none;
}
.scard-title[data-v-3c83e166] {
  font-size: 13px;
  font-weight: 700;
  color: #1a1a1a;
  margin-bottom: 8px;
  line-height: 1.35;
}
.scard-section[data-v-3c83e166] {
  margin-bottom: 8px;
}
.scard-section[data-v-3c83e166]:last-child {
  margin-bottom: 0;
}
.scard-label[data-v-3c83e166] {
  display: inline-block;
  font-size: 10px;
  font-weight: 600;
  color: #5B7CFA;
  background: rgba(91,124,250,0.08);
  padding: 2px 7px;
  border-radius: 7px;
  margin-bottom: 4px;
}
.scard-text[data-v-3c83e166] {
  font-size: 11px;
  color: #555;
  line-height: 1.55;
}
.card-arrow[data-v-3c83e166] {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 50%;
  background: #fff;
  color: #5B7CFA;
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.12);
          box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  z-index: 2;
  -webkit-transition: opacity 0.2s, -webkit-transform 0.15s ease;
  transition: opacity 0.2s, -webkit-transform 0.15s ease;
  transition: transform 0.15s ease, opacity 0.2s;
  transition: transform 0.15s ease, opacity 0.2s, -webkit-transform 0.15s ease;
}
.card-arrow[data-v-3c83e166]:active {
  -webkit-transform: translateY(-50%) scale(0.9);
          transform: translateY(-50%) scale(0.9);
}
.card-arrow-left[data-v-3c83e166] {
  left: -10px;
}
.card-arrow-right[data-v-3c83e166] {
  right: -10px;
}

/* ===== 方案对比表（非气泡，撑满剩余宽度） ===== */
.solution-table-bubble[data-v-3c83e166] {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  max-width: calc(100% - 44px);
  height: 25vh;
  min-height: 140px;
  max-height: 280px;
}
.solution-table-scroll[data-v-3c83e166] {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  border-radius: 10px;
  background: #fff;
  -webkit-box-shadow: 0 2px 8px rgba(0,0,0,0.05);
          box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  height: 100%;
}
.solution-table-scroll[data-v-3c83e166]::-webkit-scrollbar {
  display: none;
}
.solution-table[data-v-3c83e166] {
  width: 100%;
  height: 62%;
  min-width: 0;
  table-layout: fixed;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 10px;
  overflow: hidden;
  font-size: 11px;
}
.solution-table thead[data-v-3c83e166] {
  height: 36px;
}
.solution-table thead th[data-v-3c83e166] {
  background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
  color: #fff;
  font-weight: 600;
  padding: 0 5px;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
}
.solution-table tbody[data-v-3c83e166] {
  height: calc(100% - 36px);
}
.solution-table tbody tr[data-v-3c83e166] {
  height: 33.33%;
}
.solution-table tbody td[data-v-3c83e166] {
  padding: 4px 5px;
  border-bottom: 1px solid #f0f2f5;
  line-height: 1.45;
  vertical-align: middle;
}
.solution-table tbody tr:last-child td[data-v-3c83e166] {
  border-bottom: none;
}
.solution-table tbody tr[data-v-3c83e166]:nth-child(even) {
  background: #fafbff;
}
.col-scheme[data-v-3c83e166] {
  width: 83px;
  text-align: center;
}
.scheme-tag[data-v-3c83e166] {
  display: inline-block;
  font-size: 10px;
  font-weight: 700;
  color: #fff;
  padding: 2px 6px;
  border-radius: 8px;
  margin-bottom: 3px;
}
.scheme-1[data-v-3c83e166] { background: linear-gradient(135deg, #00b42a, #4ade80);
}
.scheme-2[data-v-3c83e166] { background: linear-gradient(135deg, #5B7CFA, #8BA8FF);
}
.scheme-3[data-v-3c83e166] { background: linear-gradient(135deg, #ff7d00, #ffb366);
}
.scheme-name[data-v-3c83e166] {
  font-size: 11px;
  font-weight: 600;
  color: #333;
  white-space: pre-line;
}
.col-operation[data-v-3c83e166] {
  width: auto;
  color: #444;
}
.col-pros[data-v-3c83e166] {
  width: 76px;
  color: #00b42a;
}
.pros-text[data-v-3c83e166] {
  white-space: pre-line;
}
.col-cons[data-v-3c83e166] {
  width: 76px;
  color: #f53f3f;
}
.cons-text[data-v-3c83e166] {
  white-space: pre-line;
}

/* 表格下方透明占位，将表格内容上顶 */
.table-spacer[data-v-3c83e166] {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  height: 15vh;
  min-height: 80px;
  pointer-events: none;
}

