/** 首页量化查询界面样式 **/ .page-container { height: 100vh; display: flex; flex-direction: column; background: #f5f6fb; } .scroll-view { flex: 1; height: 0; } .content-wrapper { padding: 32rpx 32rpx 48rpx; } .card { background: #ffffff; border-radius: 24rpx; padding: 32rpx 32rpx 36rpx; box-shadow: 0 16rpx 40rpx rgba(37, 52, 94, 0.08); margin-bottom: 32rpx; position: relative; } .search-card { margin-top: 16rpx; z-index: 10; } .card-title { display: block; font-size: 32rpx; font-weight: 600; color: #222222; margin-bottom: 32rpx; } .search-row { display: flex; align-items: center; background: #f7f8fc; border-radius: 999rpx; padding: 0 8rpx 0 32rpx; height: 96rpx; box-sizing: border-box; } .search-input { flex: 1; font-size: 28rpx; color: #222222; } .search-placeholder { color: #b4b8c6; } .search-button { width: 96rpx; height: 80rpx; margin-left: 12rpx; border-radius: 999rpx; background: #f5f6fb; display: flex; align-items: center; justify-content: center; } .search-icon { width: 48rpx; height: 48rpx; } .search-tip { display: block; margin-top: 20rpx; font-size: 24rpx; color: #9ca2b5; } /* 日期选择器内嵌样式 */ .date-selector-inline { margin-top: 24rpx; } /* 下拉列表样式 */ .search-dropdown { position: absolute; top: 100%; left: 0; right: 0; margin-top: 12rpx; background: #ffffff; border-radius: 16rpx; box-shadow: 0 12rpx 40rpx rgba(0, 0, 0, 0.15); max-height: 480rpx; overflow-y: auto; z-index: 101; } .dropdown-item { padding: 28rpx 24rpx; border-bottom: 1rpx solid #f5f6fb; display: flex; justify-content: space-between; align-items: center; } .dropdown-item:last-child { border-bottom: none; } .dropdown-item:active { background: #f9f9fb; } /* 遮罩 */ .mask { position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.3); z-index: 99; } .item-name { font-size: 28rpx; color: #333; } .item-code { font-size: 24rpx; color: #999; } .result-card { margin-top: 8rpx; } .result-loading { font-size: 26rpx; color: #666a7f; } .result-error { font-size: 26rpx; color: #ff5b5b; } .detail-header { display: flex; justify-content: space-between; align-items: flex-start; margin-bottom: 24rpx; padding-bottom: 24rpx; border-bottom: 1rpx solid #f1f2f6; } .stock-info-left { flex: 1; } .detail-name { font-size: 34rpx; font-weight: 700; color: #1f1f2e; } .detail-code { margin-top: 8rpx; font-size: 26rpx; color: #9da3b5; } .detail-sub { margin-top: 8rpx; font-size: 24rpx; color: #9da3b5; } .stock-price-right { text-align: right; } .current-price { font-size: 44rpx; font-weight: 700; color: #333; } .price-change { margin-top: 6rpx; font-size: 26rpx; } .price-up { color: #e74c3c; } .price-down { color: #27ae60; } /* 实时行情网格 */ .quote-section { margin-bottom: 24rpx; } .quote-grid { display: flex; flex-wrap: wrap; background: #f8f9fc; border-radius: 16rpx; padding: 20rpx 16rpx; } .quote-item { width: 33.33%; display: flex; flex-direction: column; align-items: center; padding: 12rpx 0; } .quote-label { font-size: 24rpx; color: #9da3b5; margin-bottom: 8rpx; } .quote-value { font-size: 28rpx; font-weight: 600; color: #333; } .score-display { display: flex; justify-content: center; margin-top: 16rpx; } .score-badge { min-width: 140rpx; padding: 12rpx 22rpx; border-radius: 20rpx; background: #f16565; color: #ffffff; font-size: 40rpx; font-weight: 700; text-align: right; box-shadow: 0 10rpx 24rpx rgba(241, 101, 101, 0.35); } .section { margin-top: 20rpx; } .section-title { font-size: 28rpx; font-weight: 700; color: #1f1f2e; margin-bottom: 16rpx; } .history-row { display: flex; align-items: center; justify-content: space-between; padding: 18rpx 0; border-bottom: 1rpx solid #f1f2f6; } .history-row:last-child { border-bottom: none; } .history-date { font-size: 26rpx; color: #3c4050; } .history-score { min-width: 96rpx; text-align: center; padding: 6rpx 18rpx; border-radius: 30rpx; font-size: 28rpx; font-weight: 700; color: #ffffff; } .tag-danger { background: #f16565; } .tag-success { background: #3abf81; } .tag-info { background: #4c86ff; } .history-note { display: block; margin-top: 12rpx; font-size: 22rpx; color: #9da3b5; } .factor-row { display: flex; align-items: center; justify-content: space-between; padding: 14rpx 0; } .factor-name { font-size: 26rpx; color: #3c4050; } .factor-score { font-size: 28rpx; font-weight: 600; color: #4c86ff; } .card-header { display: flex; align-items: center; margin-bottom: 24rpx; } .card-header-title { font-size: 30rpx; font-weight: 600; color: #222222; } .icon-circle { width: 40rpx; height: 40rpx; border-radius: 50%; background: #e7f7ef; display: flex; align-items: center; justify-content: center; margin-right: 16rpx; } .icon-check { font-size: 24rpx; color: #28a745; } .advantage-item { margin-bottom: 12rpx; font-size: 26rpx; line-height: 1.6; color: #4a4f63; } .advantage-label { font-weight: 600; } .advantage-desc { font-weight: 400; } .risk-card { margin-bottom: 24rpx; } .icon-warning { width: 40rpx; height: 40rpx; border-radius: 50%; background: #ffecef; display: flex; align-items: center; justify-content: center; margin-right: 16rpx; } .icon-warning-text { font-size: 26rpx; color: #ff5b5b; } .risk-text { display: block; font-size: 24rpx; line-height: 1.8; color: #666a7f; } .bottom-safe-area { height: 80rpx; } /* 历史数据强度评分样式 */ .section-date { font-size: 24rpx; font-weight: 400; color: #9da3b5; margin-left: 12rpx; } /* 强度评分胶囊标签样式 */ .history-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20rpx; } .history-title { font-size: 30rpx; font-weight: 600; color: #1f1f2e; } .history-date-tag { font-size: 22rpx; color: #666; background: #f5f6fb; padding: 6rpx 16rpx; border-radius: 20rpx; } .strength-row { display: flex; align-items: center; justify-content: space-between; background: #fafbfc; border-radius: 12rpx; padding: 16rpx 20rpx; margin-bottom: 16rpx; } .strength-label { font-size: 26rpx; color: #666; font-weight: 500; } .strength-capsule { display: inline-flex; align-items: center; justify-content: center; padding: 10rpx 24rpx; border-radius: 999rpx; white-space: nowrap; } .capsule-up { background-color: #F54545; } .capsule-down { background-color: #00C853; } .capsule-value { font-family: 'DIN', 'Roboto', -apple-system, BlinkMacSystemFont, sans-serif; font-size: 30rpx; font-weight: 700; color: #ffffff; letter-spacing: -1rpx; white-space: nowrap; } .history-detail-grid { display: flex; flex-wrap: wrap; background: #f8f9fc; border-radius: 16rpx; padding: 16rpx; margin-top: 16rpx; } .history-detail-item { width: 50%; display: flex; justify-content: space-between; align-items: center; padding: 12rpx 16rpx; box-sizing: border-box; } .detail-label { font-size: 24rpx; color: #9da3b5; } .detail-value { font-size: 26rpx; font-weight: 600; color: #333; } .next-day-section { margin-top: 20rpx; padding-top: 16rpx; border-top: 1rpx solid #f1f2f6; } .next-day-title { font-size: 26rpx; font-weight: 600; color: #1f1f2e; margin-bottom: 12rpx; } .next-day-grid { display: flex; flex-wrap: wrap; background: #fef9f0; border-radius: 12rpx; padding: 12rpx; } .next-day-item { width: 50%; display: flex; justify-content: space-between; align-items: center; padding: 8rpx 12rpx; box-sizing: border-box; } .next-day-label { font-size: 22rpx; color: #9da3b5; } .next-day-value { font-size: 24rpx; font-weight: 600; color: #333; } /* 无历史数据提示样式 */ .no-history-tip { display: flex; justify-content: center; align-items: center; padding: 40rpx 20rpx; background: #f8f9fc; border-radius: 12rpx; margin-top: 16rpx; } .tip-text { font-size: 26rpx; color: #9da3b5; }