diff --git a/backend_api_python/app/routes/auth.py b/backend_api_python/app/routes/auth.py
index af40e66..5e8ec3b 100644
--- a/backend_api_python/app/routes/auth.py
+++ b/backend_api_python/app/routes/auth.py
@@ -207,6 +207,7 @@ def login():
'username': user.get('username', username),
'nickname': user.get('nickname', 'User'),
'avatar': user.get('avatar', '/avatar2.jpg'),
+ 'timezone': str(user.get('timezone') or '').strip(),
'role': {
'id': user.get('role', 'admin'),
'permissions': _get_permissions(user.get('role', 'admin'))
@@ -419,6 +420,7 @@ def login_with_code():
'nickname': user.get('nickname', user['username']),
'email': user.get('email'),
'avatar': user.get('avatar', '/avatar2.jpg'),
+ 'timezone': str(user.get('timezone') or '').strip(),
'role': {
'id': user.get('role', 'user'),
'permissions': _get_permissions(user.get('role', 'user'))
@@ -685,6 +687,7 @@ def register():
'nickname': username,
'email': email,
'avatar': '/avatar2.jpg',
+ 'timezone': '',
'role': {
'id': 'user',
'permissions': _get_permissions('user')
@@ -1049,6 +1052,7 @@ def get_user_info():
'nickname': user_data.get('nickname', 'User'),
'email': user_data.get('email'),
'avatar': user_data.get('avatar', '/avatar2.jpg'),
+ 'timezone': str(user_data.get('timezone') or '').strip(),
'role': {
'id': user_data.get('role', 'user'),
'permissions': _get_permissions(user_data.get('role', 'user'))
@@ -1065,6 +1069,7 @@ def get_user_info():
'username': username,
'nickname': 'Admin',
'avatar': '/avatar2.jpg',
+ 'timezone': '',
'role': {
'id': role,
'permissions': _get_permissions(role)
diff --git a/backend_api_python/app/routes/portfolio.py b/backend_api_python/app/routes/portfolio.py
index 70d0d71..6f7440a 100644
--- a/backend_api_python/app/routes/portfolio.py
+++ b/backend_api_python/app/routes/portfolio.py
@@ -3,6 +3,7 @@ Portfolio API routes (local-only).
Manages manual positions (user's existing holdings) and AI monitoring tasks.
"""
from flask import Blueprint, request, jsonify, g
+from datetime import date, datetime, timezone
import json
import traceback
import time
@@ -39,6 +40,27 @@ def _now_ts() -> int:
return int(time.time())
+def _serialize_monitor_ts(value):
+ """
+ JSON 序列化监控时间字段。PostgreSQL TIMESTAMP 无 tz 时按 UTC 解释(与 Docker 默认一致),
+ 输出带 Z 的 ISO,避免前端把无时区字符串当本地时间而偏差 8 小时。
+ """
+ if value is None:
+ return None
+ if isinstance(value, datetime):
+ if value.tzinfo is None:
+ dt = value.replace(tzinfo=timezone.utc)
+ else:
+ dt = value.astimezone(timezone.utc)
+ s = dt.isoformat()
+ if s.endswith("+00:00"):
+ return s[:-6] + "Z"
+ return s
+ if isinstance(value, date):
+ return value.isoformat()
+ return value
+
+
def _normalize_symbol(symbol: str) -> str:
return (symbol or '').strip().upper()
@@ -519,12 +541,12 @@ def get_monitors():
'config': _safe_json_loads(row.get('config'), {}),
'notification_config': _safe_json_loads(row.get('notification_config'), {}),
'is_active': bool(row.get('is_active')),
- 'last_run_at': row.get('last_run_at'),
- 'next_run_at': row.get('next_run_at'),
+ 'last_run_at': _serialize_monitor_ts(row.get('last_run_at')),
+ 'next_run_at': _serialize_monitor_ts(row.get('next_run_at')),
'last_result': _safe_json_loads(row.get('last_result'), {}),
'run_count': row.get('run_count') or 0,
- 'created_at': row.get('created_at'),
- 'updated_at': row.get('updated_at')
+ 'created_at': _serialize_monitor_ts(row.get('created_at')),
+ 'updated_at': _serialize_monitor_ts(row.get('updated_at'))
})
return jsonify({'code': 1, 'msg': 'success', 'data': monitors})
diff --git a/backend_api_python/app/routes/strategy.py b/backend_api_python/app/routes/strategy.py
index f332dcf..822fbde 100644
--- a/backend_api_python/app/routes/strategy.py
+++ b/backend_api_python/app/routes/strategy.py
@@ -872,12 +872,16 @@ def get_strategy_notifications():
cur.close()
# Convert created_at to UTC timestamp (seconds) for frontend
+ from datetime import timezone as _dt_tz
processed_rows = []
for row in rows:
item = dict(row)
created_at = item.get('created_at')
if created_at:
if hasattr(created_at, 'timestamp'):
+ # 无时区 datetime:连接已 SET TIME ZONE UTC,按 UTC 解释再转 Unix,避免服务端本地 TZ 误判
+ if getattr(created_at, 'tzinfo', None) is None:
+ created_at = created_at.replace(tzinfo=_dt_tz.utc)
item['created_at'] = int(created_at.timestamp())
elif isinstance(created_at, str):
try:
diff --git a/backend_api_python/app/routes/user.py b/backend_api_python/app/routes/user.py
index 2575b9a..58eb873 100644
--- a/backend_api_python/app/routes/user.py
+++ b/backend_api_python/app/routes/user.py
@@ -5,6 +5,7 @@ Provides endpoints for user CRUD operations, role management, etc.
Only accessible by admin users.
"""
import json
+import re
from flask import Blueprint, request, jsonify, g
from app.services.user_service import get_user_service
from app.utils.auth import login_required, admin_required
@@ -13,6 +14,8 @@ from app.utils.logger import get_logger
logger = get_logger(__name__)
+_PROFILE_TIMEZONE_RE = re.compile(r'^[A-Za-z0-9_/+\-.]+$')
+
user_bp = Blueprint('user_manage', __name__)
@@ -411,6 +414,7 @@ def update_profile():
Request body:
nickname: str (optional)
avatar: str (optional)
+ timezone: str (optional, IANA id; empty = follow client)
Note: Email cannot be changed after registration (for security).
Only admin can change user email via User Management.
@@ -429,6 +433,16 @@ def update_profile():
if field in data:
allowed[field] = data[field]
+ if 'timezone' in data:
+ tz = (data.get('timezone') or '').strip()
+ if tz and (len(tz) > 64 or not _PROFILE_TIMEZONE_RE.match(tz)):
+ return jsonify({
+ 'code': 0,
+ 'msg': 'Invalid timezone identifier',
+ 'data': None
+ }), 400
+ allowed['timezone'] = tz
+
if not allowed:
return jsonify({'code': 0, 'msg': 'No valid fields to update', 'data': None}), 400
diff --git a/backend_api_python/app/services/portfolio_monitor.py b/backend_api_python/app/services/portfolio_monitor.py
index 3ade22a..e09433b 100644
--- a/backend_api_python/app/services/portfolio_monitor.py
+++ b/backend_api_python/app/services/portfolio_monitor.py
@@ -65,6 +65,70 @@ def _now_ts() -> int:
return int(time.time())
+def _resolve_notification_delivery(user_id: int, notification_config: Optional[Dict[str, Any]]) -> Dict[str, Any]:
+ """
+ 合并个人中心保存的 notification_settings 到 targets,并规范化 channels。
+ 前端创建监控常只传 channels(email/telegram/webhook),不传 targets;若不合并则外发渠道全部跳过且无任何送达。
+ 若当前 channels 均无法送达(无邮箱/Chat ID 等),则追加 browser 保证站内通知。
+ """
+ cfg: Dict[str, Any] = dict(notification_config) if isinstance(notification_config, dict) else {}
+ raw_ch = cfg.get('channels')
+ if isinstance(raw_ch, str):
+ raw_ch = [raw_ch]
+ elif not isinstance(raw_ch, list):
+ raw_ch = []
+ channels = [str(c).strip().lower() for c in raw_ch if c is not None and str(c).strip()]
+ if not channels:
+ channels = ['browser']
+
+ targets: Dict[str, Any] = dict(cfg.get('targets') or {})
+
+ try:
+ with get_db_connection() as db:
+ cur = db.cursor()
+ cur.execute(
+ "SELECT email, notification_settings FROM qd_users WHERE id = ?",
+ (user_id,),
+ )
+ row = cur.fetchone()
+ cur.close()
+ if not row:
+ account_email = ""
+ settings = {}
+ else:
+ account_email = (row.get("email") or "").strip()
+ settings = _safe_json_loads(row.get("notification_settings"), {})
+ if not (targets.get("email") or "").strip():
+ te = (settings.get("email") or "").strip()
+ targets["email"] = te or account_email
+ if not (targets.get("telegram") or "").strip():
+ targets["telegram"] = (settings.get("telegram_chat_id") or "").strip()
+ if not (targets.get("telegram_bot_token") or "").strip():
+ targets["telegram_bot_token"] = (settings.get("telegram_bot_token") or "").strip()
+ if not (targets.get("webhook") or "").strip():
+ targets["webhook"] = (settings.get("webhook_url") or "").strip()
+ except Exception as e:
+ logger.warning(f"_resolve_notification_delivery: load user {user_id} settings failed: {e}")
+
+ def _can_deliver(ch: str) -> bool:
+ if ch == "browser":
+ return True
+ if ch == "email":
+ return bool((targets.get("email") or "").strip())
+ if ch == "telegram":
+ return bool((targets.get("telegram") or "").strip())
+ if ch == "webhook":
+ return bool((targets.get("webhook") or "").strip())
+ return False
+
+ if not any(_can_deliver(c) for c in channels):
+ channels = list(dict.fromkeys(list(channels) + ["browser"]))
+
+ cfg["channels"] = channels
+ cfg["targets"] = targets
+ return cfg
+
+
def _safe_json_loads(value, default=None):
"""Safely parse JSON string."""
if default is None:
@@ -159,7 +223,7 @@ def _get_positions_for_monitor(position_ids: List[int] = None, user_id: int = No
MAX_PARALLEL_ANALYSIS = 5
-def _analyze_single_position(pos: Dict[str, Any], language: str) -> Dict[str, Any]:
+def _analyze_single_position(pos: Dict[str, Any], language: str, user_id: int = None) -> Dict[str, Any]:
"""Analyze a single position (designed to run inside a thread pool)."""
market = pos.get('market')
symbol = pos.get('symbol')
@@ -170,10 +234,11 @@ def _analyze_single_position(pos: Dict[str, Any], language: str) -> Dict[str, An
return {'market': market, 'symbol': symbol, 'name': name, 'error': 'missing market/symbol'}
try:
- logger.info(f"Running fast AI analysis for {market}:{symbol}")
+ logger.info(f"Running fast AI analysis for {market}:{symbol} (user={user_id})")
service = get_fast_analysis_service()
analysis_result = service.analyze(
- market=market, symbol=symbol, language=language, timeframe='1D'
+ market=market, symbol=symbol, language=language, timeframe='1D',
+ user_id=user_id,
)
detailed = analysis_result.get('detailed_analysis', {})
@@ -213,40 +278,104 @@ def _analyze_single_position(pos: Dict[str, Any], language: str) -> Dict[str, An
return {'market': market, 'symbol': symbol, 'name': name, 'error': str(e)}
-def _run_ai_analysis(positions: List[Dict[str, Any]], config: Dict[str, Any]) -> Dict[str, Any]:
+def _run_ai_analysis(positions: List[Dict[str, Any]], config: Dict[str, Any], user_id: int = None) -> Dict[str, Any]:
"""
Run fast AI analysis on positions **in parallel** using a thread pool.
+ Same (market, symbol) is analyzed only once; the result is shared across
+ duplicate positions so we don't waste LLM calls or show redundant entries.
"""
try:
language = config.get('language', 'en-US')
custom_prompt = config.get('prompt', '')
- workers = min(len(positions), MAX_PARALLEL_ANALYSIS)
- position_analyses: List[Dict[str, Any]] = [None] * len(positions)
+ # ── Deduplicate by (market, symbol) ──
+ unique_map: Dict[str, int] = {} # "market|symbol" -> index in unique_positions
+ unique_positions: List[Dict[str, Any]] = []
+ pos_to_unique: List[int] = [] # positions[i] -> unique_positions index
+ for pos in positions:
+ key = f"{pos.get('market')}|{pos.get('symbol')}"
+ if key not in unique_map:
+ unique_map[key] = len(unique_positions)
+ unique_positions.append(pos)
+ pos_to_unique.append(unique_map[key])
+
+ workers = min(len(unique_positions), MAX_PARALLEL_ANALYSIS)
+ unique_analyses: List[Dict[str, Any]] = [None] * len(unique_positions)
with ThreadPoolExecutor(max_workers=workers) as executor:
future_to_idx = {
- executor.submit(_analyze_single_position, pos, language): idx
- for idx, pos in enumerate(positions)
+ executor.submit(_analyze_single_position, pos, language, user_id): idx
+ for idx, pos in enumerate(unique_positions)
}
for future in as_completed(future_to_idx):
idx = future_to_idx[future]
try:
- position_analyses[idx] = future.result()
+ unique_analyses[idx] = future.result()
except Exception as e:
- pos = positions[idx]
- position_analyses[idx] = {
+ pos = unique_positions[idx]
+ unique_analyses[idx] = {
'market': pos.get('market'), 'symbol': pos.get('symbol'),
'name': pos.get('name') or pos.get('symbol'), 'error': str(e)
}
- analysis_report = _build_comprehensive_report(positions, position_analyses, language, custom_prompt)
+ # ── Map back: each position gets its own copy with position-specific P&L ──
+ position_analyses: List[Dict[str, Any]] = []
+ seen_keys: set = set()
+ for i, pos in enumerate(positions):
+ key = f"{pos.get('market')}|{pos.get('symbol')}"
+ if key in seen_keys:
+ continue
+ seen_keys.add(key)
+ base = dict(unique_analyses[pos_to_unique[i]])
+ base['entry_price'] = pos.get('entry_price')
+ base['current_price'] = base.get('current_price') or pos.get('current_price')
+ combined_qty = sum(
+ float(p.get('quantity') or 0)
+ for j, p in enumerate(positions)
+ if f"{p.get('market')}|{p.get('symbol')}" == key
+ )
+ combined_cost = sum(
+ float(p.get('entry_price') or 0) * float(p.get('quantity') or 0)
+ for j, p in enumerate(positions)
+ if f"{p.get('market')}|{p.get('symbol')}" == key
+ )
+ cur_price = float(base.get('current_price') or 0)
+ combined_pnl = sum(
+ float(p.get('pnl') or 0)
+ for j, p in enumerate(positions)
+ if f"{p.get('market')}|{p.get('symbol')}" == key
+ )
+ avg_entry = round(combined_cost / combined_qty, 4) if combined_qty else 0
+ pnl_pct = round(combined_pnl / combined_cost * 100, 2) if combined_cost else 0
+ base['quantity'] = combined_qty
+ base['entry_price'] = avg_entry
+ base['pnl'] = round(combined_pnl, 2)
+ base['pnl_percent'] = pnl_pct
+ position_analyses.append(base)
+
+ # Also provide deduplicated positions list for report building
+ deduped_positions = []
+ seen_keys2: set = set()
+ for i, pos in enumerate(positions):
+ key = f"{pos.get('market')}|{pos.get('symbol')}"
+ if key in seen_keys2:
+ continue
+ seen_keys2.add(key)
+ merged = dict(pos)
+ merged['quantity'] = position_analyses[len(deduped_positions)].get('quantity', pos.get('quantity'))
+ merged['entry_price'] = position_analyses[len(deduped_positions)].get('entry_price', pos.get('entry_price'))
+ merged['pnl'] = position_analyses[len(deduped_positions)].get('pnl', pos.get('pnl'))
+ merged['pnl_percent'] = position_analyses[len(deduped_positions)].get('pnl_percent', pos.get('pnl_percent'))
+ deduped_positions.append(merged)
+
+ analysis_report = _build_comprehensive_report(deduped_positions, position_analyses, language, custom_prompt)
return {
'success': True,
'analysis': analysis_report,
'position_analyses': position_analyses,
- 'position_count': len(positions),
+ 'positions': deduped_positions,
+ 'position_count': len(deduped_positions),
'analyzed_count': len([p for p in position_analyses if not p.get('error')]),
'timestamp': _now_ts()
}
@@ -629,109 +758,344 @@ def _build_telegram_report(
language: str,
custom_prompt: str = ''
) -> str:
- """Build a concise report suitable for Telegram (HTML format)."""
-
- # Calculate summary
- total_cost = sum(float(p.get('entry_price', 0)) * float(p.get('quantity', 0)) for p in positions)
- total_pnl = sum(float(p.get('pnl', 0)) for p in positions)
- total_pnl_percent = round(total_pnl / total_cost * 100, 2) if total_cost > 0 else 0
-
+ """Build a concise report suitable for Telegram (HTML format).
+
+ Positions with quantity>0 and entry_price>0 are shown with P&L;
+ others are treated as watchlist items and only show current price.
+ """
+
+ def _has_holding(pa: Dict[str, Any]) -> bool:
+ return float(pa.get('quantity') or 0) > 0 and float(pa.get('entry_price') or 0) > 0
+
+ held = [p for p in position_analyses if _has_holding(p) and not p.get('error')]
+ watched = [p for p in position_analyses if not _has_holding(p) and not p.get('error')]
+ errored = [p for p in position_analyses if p.get('error')]
+
+ total_cost = sum(float(p.get('entry_price', 0)) * float(p.get('quantity', 0)) for p in held)
+ total_pnl = sum(float(p.get('pnl', 0)) for p in held)
+ total_pnl_pct = round(total_pnl / total_cost * 100, 2) if total_cost > 0 else 0
+ pnl_sign = '+' if total_pnl >= 0 else ''
+
buy_count = len([p for p in position_analyses if p.get('final_decision') == 'BUY'])
sell_count = len([p for p in position_analyses if p.get('final_decision') == 'SELL'])
hold_count = len([p for p in position_analyses if p.get('final_decision') == 'HOLD'])
-
+
is_zh = language.startswith('zh')
- pnl_sign = '+' if total_pnl >= 0 else ''
-
+
+ # ── Header / Overview ──
if is_zh:
- lines = [
- "📊 投资组合AI分析报告",
- "",
- "📈 组合概览",
- f"• 持仓: {len(positions)} 个",
- f"• 总成本: ${total_cost:,.2f}",
- f"• 总盈亏: {pnl_sign}${total_pnl:,.2f} ({pnl_sign}{total_pnl_percent:.1f}%)",
+ lines: List[str] = ["📊 AI资产分析报告", ""]
+ overview = ["📈 概览"]
+ if held:
+ overview.append(f"• 持仓: {len(held)} 个")
+ overview.append(f"• 总成本: ${total_cost:,.2f}")
+ overview.append(f"• 总盈亏: {pnl_sign}${total_pnl:,.2f} ({pnl_sign}{total_pnl_pct:.1f}%)")
+ if watched:
+ overview.append(f"• 观察: {len(watched)} 个")
+ lines.extend(overview)
+ lines.extend([
"",
"🤖 AI建议汇总",
f"🟢 买入: {buy_count} | 🔴 卖出: {sell_count} | 🟡 持有: {hold_count}",
- "",
- "📋 持仓分析"
- ]
-
- for pa in position_analyses:
- if pa.get('error'):
- lines.append(f"⚠️ {pa.get('name', pa.get('symbol'))}: 分析失败")
- continue
-
- decision = pa.get('final_decision', 'HOLD')
- emoji = {'BUY': '🟢', 'SELL': '🔴', 'HOLD': '🟡'}.get(decision, '⚪')
- text = {'BUY': '买入', 'SELL': '卖出', 'HOLD': '持有'}.get(decision, '持有')
- pnl = pa.get('pnl', 0)
- pnl_pct = pa.get('pnl_percent', 0)
- pnl_s = '+' if pnl >= 0 else ''
-
- lines.append(f"\n{emoji} {pa.get('name', pa.get('symbol'))} ({pa.get('market')}/{pa.get('symbol')})")
- lines.append(f" 💰 ${pa.get('current_price', 0):.2f} | 盈亏: {pnl_s}${pnl:.2f} ({pnl_s}{pnl_pct:.1f}%)")
- lines.append(f" 🎯 建议: {text} (置信度 {pa.get('confidence', 50)}%)")
-
- reasoning = pa.get('reasoning', '')
- if reasoning:
- lines.append(f" 📝 {reasoning[:150]}{'...' if len(reasoning) > 150 else ''}")
-
- if custom_prompt:
- lines.extend(["", f"👤 关注点: {custom_prompt}"])
-
- lines.extend([
- "",
- "─────────────────────",
- f"⏰ {time.strftime('%Y-%m-%d %H:%M')}",
- "由 QuantDinger 多智能体系统生成"
])
else:
- lines = [
- "📊 Portfolio AI Analysis Report",
- "",
- "📈 Overview",
- f"• Positions: {len(positions)}",
- f"• Total Cost: ${total_cost:,.2f}",
- f"• Total P&L: {pnl_sign}${total_pnl:,.2f} ({pnl_sign}{total_pnl_percent:.1f}%)",
+ lines = ["📊 AI Asset Analysis Report", ""]
+ overview = ["📈 Overview"]
+ if held:
+ overview.append(f"• Holdings: {len(held)}")
+ overview.append(f"• Total Cost: ${total_cost:,.2f}")
+ overview.append(f"• Total P&L: {pnl_sign}${total_pnl:,.2f} ({pnl_sign}{total_pnl_pct:.1f}%)")
+ if watched:
+ overview.append(f"• Watchlist: {len(watched)}")
+ lines.extend(overview)
+ lines.extend([
"",
"🤖 AI Recommendations",
f"🟢 Buy: {buy_count} | 🔴 Sell: {sell_count} | 🟡 Hold: {hold_count}",
- "",
- "📋 Position Analysis"
- ]
-
- for pa in position_analyses:
- if pa.get('error'):
- lines.append(f"⚠️ {pa.get('name', pa.get('symbol'))}: Analysis failed")
- continue
-
- decision = pa.get('final_decision', 'HOLD')
- emoji = {'BUY': '🟢', 'SELL': '🔴', 'HOLD': '🟡'}.get(decision, '⚪')
+ ])
+
+ # ── Helper: render one analysis entry ──
+ def _render_pa(pa: Dict[str, Any], show_pnl: bool) -> None:
+ decision = pa.get('final_decision', 'HOLD')
+ emoji = {'BUY': '🟢', 'SELL': '🔴', 'HOLD': '🟡'}.get(decision, '⚪')
+ d_text = decision
+ if is_zh:
+ d_text = {'BUY': '买入', 'SELL': '卖出', 'HOLD': '持有'}.get(decision, '持有')
+ lines.append(f"\n{emoji} {pa.get('name', pa.get('symbol'))} ({pa.get('market')}/{pa.get('symbol')})")
+ if show_pnl:
pnl = pa.get('pnl', 0)
pnl_pct = pa.get('pnl_percent', 0)
- pnl_s = '+' if pnl >= 0 else ''
-
- lines.append(f"\n{emoji} {pa.get('name', pa.get('symbol'))} ({pa.get('market')}/{pa.get('symbol')})")
- lines.append(f" 💰 ${pa.get('current_price', 0):.2f} | P&L: {pnl_s}${pnl:.2f} ({pnl_s}{pnl_pct:.1f}%)")
- lines.append(f" 🎯 Rec: {decision} (Conf: {pa.get('confidence', 50)}%)")
-
+ ps = '+' if pnl >= 0 else ''
+ lines.append(
+ f" 💰 ${pa.get('current_price', 0):,.2f} | "
+ f"{'盈亏' if is_zh else 'P&L'}: {ps}${pnl:,.2f} ({ps}{pnl_pct:.1f}%)"
+ )
+ else:
+ lines.append(f" 💰 {'现价' if is_zh else 'Price'}: ${pa.get('current_price', 0):,.2f}")
+ lines.append(
+ f" 🎯 {'建议' if is_zh else 'Rec'}: {d_text} "
+ f"({'置信度' if is_zh else 'Conf'}: {pa.get('confidence', 50)}%)"
+ )
+ reasoning = pa.get('reasoning', '')
+ if reasoning:
+ lines.append(f" 📝 {reasoning[:150]}{'...' if len(reasoning) > 150 else ''}")
+
+ # ── Holdings section ──
+ if held:
+ lines.extend(["", f"📋 {'持仓分析' if is_zh else 'Holdings'}"])
+ for pa in held:
+ _render_pa(pa, show_pnl=True)
+
+ # ── Watchlist section ──
+ if watched:
+ lines.extend(["", f"👁 {'观察列表' if is_zh else 'Watchlist'}"])
+ for pa in watched:
+ _render_pa(pa, show_pnl=False)
+
+ # ── Errors ──
+ for pa in errored:
+ label = pa.get('name') or pa.get('symbol') or '?'
+ lines.append(f"\n⚠️ {label}: {'分析失败' if is_zh else 'Analysis failed'}")
+
+ if custom_prompt:
+ lines.extend(["", f"👤 {'关注点' if is_zh else 'Focus'}: {custom_prompt}"])
+
+ lines.extend([
+ "",
+ "─────────────────────",
+ f"⏰ {time.strftime('%Y-%m-%d %H:%M')}",
+ f"{'由 QuantDinger 多智能体系统生成' if is_zh else 'Generated by QuantDinger Multi-Agent System'}",
+ ])
+
+ return '\n'.join(lines)
+
+
+def _build_batch_telegram_report(
+ monitor_results: List[Dict[str, Any]],
+ language: str,
+) -> str:
+ """Build a single Telegram report that combines multiple monitor results."""
+ is_zh = language.startswith('zh')
+
+ def _has_holding(pa: Dict[str, Any]) -> bool:
+ return float(pa.get('quantity') or 0) > 0 and float(pa.get('entry_price') or 0) > 0
+
+ all_analyses: List[Dict[str, Any]] = []
+ monitor_sections: List[str] = []
+
+ for res in monitor_results:
+ meta = res.get('_meta', {})
+ m_name = meta.get('monitor_name', '?')
+ m_analyses = meta.get('position_analyses', [])
+ all_analyses.extend(m_analyses)
+
+ section_lines: List[str] = [f"\n📋 {m_name}"]
+ for pa in m_analyses:
+ if pa.get('error'):
+ label = pa.get('name') or pa.get('symbol') or '?'
+ section_lines.append(f" ⚠️ {label}: {'分析失败' if is_zh else 'Failed'}")
+ continue
+ decision = pa.get('final_decision', 'HOLD')
+ emoji = {'BUY': '🟢', 'SELL': '🔴', 'HOLD': '🟡'}.get(decision, '⚪')
+ d_text = ({'BUY': '买入', 'SELL': '卖出', 'HOLD': '持有'}.get(decision, '持有')) if is_zh else decision
+ cur_price = pa.get('current_price', 0)
+ section_lines.append(
+ f"{emoji} {pa.get('name', pa.get('symbol'))} ({pa.get('market')}/{pa.get('symbol')})"
+ )
+ if _has_holding(pa):
+ pnl = pa.get('pnl', 0)
+ pnl_s = '+' if pnl >= 0 else ''
+ pnl_pct = pa.get('pnl_percent', 0)
+ section_lines.append(
+ f" 💰 ${cur_price:,.2f} | {'盈亏' if is_zh else 'P&L'}: {pnl_s}${pnl:,.2f} ({pnl_s}{pnl_pct:.1f}%)"
+ )
+ else:
+ section_lines.append(f" 💰 {'现价' if is_zh else 'Price'}: ${cur_price:,.2f}")
+ section_lines.append(
+ f" 🎯 {'建议' if is_zh else 'Rec'}: {d_text} "
+ f"({'置信度' if is_zh else 'Conf'}: {pa.get('confidence', 50)}%)"
+ )
reasoning = pa.get('reasoning', '')
if reasoning:
- lines.append(f" 📝 {reasoning[:150]}{'...' if len(reasoning) > 150 else ''}")
-
- if custom_prompt:
- lines.extend(["", f"👤 Focus: {custom_prompt}"])
-
- lines.extend([
+ section_lines.append(f" 📝 {reasoning[:120]}{'...' if len(reasoning) > 120 else ''}")
+ monitor_sections.append('\n'.join(section_lines))
+
+ held = [a for a in all_analyses if _has_holding(a) and not a.get('error')]
+ watched = [a for a in all_analyses if not _has_holding(a) and not a.get('error')]
+ total_cost = sum(float(a.get('entry_price', 0)) * float(a.get('quantity', 0)) for a in held)
+ total_pnl = sum(float(a.get('pnl', 0)) for a in held)
+ total_pnl_pct = round(total_pnl / total_cost * 100, 2) if total_cost else 0
+ pnl_sign = '+' if total_pnl >= 0 else ''
+ buy_c = len([a for a in all_analyses if a.get('final_decision') == 'BUY'])
+ sell_c = len([a for a in all_analyses if a.get('final_decision') == 'SELL'])
+ hold_c = len([a for a in all_analyses if a.get('final_decision') == 'HOLD'])
+
+ if is_zh:
+ header = [
+ "📊 定时资产监测报告",
"",
- "─────────────────────",
- f"⏰ {time.strftime('%Y-%m-%d %H:%M')}",
- "Generated by QuantDinger Multi-Agent System"
+ "📈 综合概览",
+ f"• 监控任务: {len(monitor_results)} 个",
+ f"• 标的数量: {len(all_analyses)} 个",
+ ]
+ if held:
+ header.append(f"• 持仓: {len(held)} 个 | 总成本: ${total_cost:,.2f} | 盈亏: {pnl_sign}${total_pnl:,.2f} ({pnl_sign}{total_pnl_pct:.1f}%)")
+ if watched:
+ header.append(f"• 观察: {len(watched)} 个")
+ header.extend([
+ "",
+ "🤖 AI建议汇总",
+ f"🟢 买入: {buy_c} | 🔴 卖出: {sell_c} | 🟡 持有: {hold_c}",
])
-
- return '\n'.join(lines)
+ else:
+ header = [
+ "📊 Scheduled Portfolio Report",
+ "",
+ "📈 Summary",
+ f"• Monitors: {len(monitor_results)}",
+ f"• Symbols: {len(all_analyses)}",
+ ]
+ if held:
+ header.append(f"• Holdings: {len(held)} | Cost: ${total_cost:,.2f} | P&L: {pnl_sign}${total_pnl:,.2f} ({pnl_sign}{total_pnl_pct:.1f}%)")
+ if watched:
+ header.append(f"• Watchlist: {len(watched)}")
+ header.extend([
+ "",
+ "🤖 AI Recommendations",
+ f"🟢 Buy: {buy_c} | 🔴 Sell: {sell_c} | 🟡 Hold: {hold_c}",
+ ])
+
+ footer = [
+ "",
+ "─────────────────────",
+ f"⏰ {time.strftime('%Y-%m-%d %H:%M')}",
+ f"{'由 QuantDinger 多智能体系统生成' if is_zh else 'Generated by QuantDinger Multi-Agent System'}",
+ ]
+
+ return '\n'.join(header + monitor_sections + footer)
+
+
+def _build_batch_html_report(
+ monitor_results: List[Dict[str, Any]],
+ language: str,
+) -> str:
+ """Build a combined HTML report for browser / email channel."""
+ parts: List[str] = []
+ for res in monitor_results:
+ report = res.get('analysis', '')
+ if report:
+ parts.append(report)
+ if not parts:
+ return ''
+ if len(parts) == 1:
+ return parts[0]
+ divider = '
'
+ return divider.join(parts)
+
+
+def _send_batch_notification(
+ user_id: int,
+ monitor_results: List[Dict[str, Any]],
+) -> None:
+ """Send a single combined notification for multiple monitor results belonging to one user."""
+ if not monitor_results:
+ return
+
+ successful = [r for r in monitor_results if r.get('success')]
+ if not successful:
+ for r in monitor_results:
+ meta = r.get('_meta', {})
+ _send_monitor_notification(
+ monitor_name=meta.get('monitor_name', '?'),
+ result=r,
+ notification_config=meta.get('notification_config', {}),
+ positions=meta.get('positions', []),
+ position_analyses=meta.get('position_analyses', []),
+ language=meta.get('language', 'en-US'),
+ custom_prompt=meta.get('custom_prompt', ''),
+ user_id=user_id,
+ )
+ return
+
+ first_meta = successful[0].get('_meta', {})
+ language = first_meta.get('language', 'en-US')
+
+ # Merge channels from all monitors (union)
+ all_channels: set = set()
+ for r in successful:
+ m = r.get('_meta', {})
+ nc = m.get('notification_config', {})
+ chs = nc.get('channels')
+ if isinstance(chs, str):
+ chs = [chs]
+ elif not isinstance(chs, list):
+ chs = []
+ for c in chs:
+ if c:
+ all_channels.add(str(c).strip().lower())
+ if not all_channels:
+ all_channels = {'browser'}
+
+ merged_nc = {'channels': list(all_channels), 'targets': {}}
+ resolved_nc = _resolve_notification_delivery(user_id, merged_nc)
+ channels = resolved_nc.get('channels') or ['browser']
+ targets = resolved_nc.get('targets', {})
+
+ is_zh = language.startswith('zh')
+ names = ', '.join(r.get('_meta', {}).get('monitor_name', '?') for r in successful)
+ title = f"📊 定时资产监测: {names}" if is_zh else f"📊 Scheduled Report: {names}"
+ if len(title) > 255:
+ title = title[:252] + '...'
+
+ html_report = _build_batch_html_report(successful, language)
+ telegram_report = _build_batch_telegram_report(successful, language)
+
+ try:
+ notifier = SignalNotifier()
+ for channel in channels:
+ try:
+ ch = str(channel).strip().lower()
+ if ch == 'browser':
+ with get_db_connection() as db:
+ cur = db.cursor()
+ cur.execute(
+ """
+ INSERT INTO qd_strategy_notifications
+ (user_id, strategy_id, symbol, signal_type, channels, title, message, payload_json, created_at)
+ VALUES (?, NULL, ?, ?, ?, ?, ?, ?, NOW())
+ """,
+ (user_id, 'PORTFOLIO', 'ai_monitor', 'browser', title, html_report,
+ json.dumps({'batch': True, 'count': len(successful)}, ensure_ascii=False, default=str)),
+ )
+ db.commit()
+ cur.close()
+ elif ch == 'telegram':
+ chat_id = targets.get('telegram', '')
+ token_override = targets.get('telegram_bot_token', '')
+ if chat_id:
+ notifier._notify_telegram(
+ chat_id=chat_id, text=telegram_report,
+ token_override=token_override, parse_mode="HTML",
+ )
+ elif ch == 'email':
+ to_email = targets.get('email', '')
+ if to_email:
+ notifier._notify_email(
+ to_email=to_email, subject=title,
+ body_text=html_report, body_html=html_report,
+ )
+ elif ch == 'webhook':
+ url = targets.get('webhook', '')
+ if url:
+ notifier._notify_webhook(url=url, payload={
+ 'type': 'portfolio_monitor_batch',
+ 'monitors': [r.get('_meta', {}).get('monitor_name') for r in successful],
+ 'html_report': html_report,
+ })
+ except Exception as e:
+ logger.warning(f"Batch notification channel {channel} failed: {e}")
+ except Exception as e:
+ logger.error(f"_send_batch_notification failed: {e}")
def _send_monitor_notification(
@@ -748,14 +1112,19 @@ def _send_monitor_notification(
try:
notifier = SignalNotifier()
effective_user_id = user_id if user_id is not None else DEFAULT_USER_ID
+ notification_config = _resolve_notification_delivery(effective_user_id, notification_config)
- channels = notification_config.get('channels', ['browser'])
+ channels = notification_config.get('channels') or ['browser']
targets = notification_config.get('targets', {})
title = f"📊 资产监测: {monitor_name}" if language.startswith('zh') else f"📊 Portfolio Monitor: {monitor_name}"
+ if len(title) > 255:
+ title = title[:252] + '...'
if not result.get('success'):
error_title = f"⚠️ 资产监测失败: {monitor_name}" if language.startswith('zh') else f"⚠️ Monitor Failed: {monitor_name}"
+ if len(error_title) > 255:
+ error_title = error_title[:252] + '...'
error_msg = f"分析失败: {result.get('error', 'Unknown error')}" if language.startswith('zh') else f"Analysis failed: {result.get('error', 'Unknown error')}"
for channel in channels:
@@ -771,7 +1140,7 @@ def _send_monitor_notification(
VALUES (?, NULL, ?, ?, ?, ?, ?, ?, NOW())
""",
(effective_user_id, 'PORTFOLIO', 'ai_monitor', 'browser', error_title, error_msg,
- json.dumps(result, ensure_ascii=False))
+ json.dumps(result, ensure_ascii=False, default=str))
)
db.commit()
cur.close()
@@ -818,7 +1187,7 @@ def _send_monitor_notification(
VALUES (?, NULL, ?, ?, ?, ?, ?, ?, NOW())
""",
(effective_user_id, 'PORTFOLIO', 'ai_monitor', 'browser', title, html_report,
- json.dumps(result, ensure_ascii=False))
+ json.dumps(result, ensure_ascii=False, default=str))
)
db.commit()
cur.close()
@@ -866,19 +1235,23 @@ def _send_monitor_notification(
logger.error(f"_send_monitor_notification failed: {e}")
-def run_single_monitor(monitor_id: int, override_language: str = None, user_id: int = None) -> Dict[str, Any]:
+def run_single_monitor(
+ monitor_id: int,
+ override_language: str = None,
+ user_id: int = None,
+ skip_notification: bool = False,
+) -> Dict[str, Any]:
"""Run a single monitor and return the result.
-
+
Args:
monitor_id: The monitor ID to run
override_language: Optional language override (e.g., 'zh-CN', 'en-US')
- If provided, will override the language in monitor config
user_id: Optional user ID for user isolation
+ skip_notification: If True, do NOT send a notification (caller will batch-send later)
"""
try:
- # Use provided user_id or default
effective_user_id = user_id if user_id is not None else DEFAULT_USER_ID
-
+
with get_db_connection() as db:
cur = db.cursor()
cur.execute(
@@ -894,46 +1267,78 @@ def run_single_monitor(monitor_id: int, override_language: str = None, user_id:
if not row:
return {'success': False, 'error': 'Monitor not found'}
-
+
monitor_user_id = int(row.get('user_id') or effective_user_id)
name = row.get('name') or f'Monitor #{monitor_id}'
position_ids = _safe_json_loads(row.get('position_ids'), [])
monitor_type = row.get('monitor_type') or 'ai'
config = _safe_json_loads(row.get('config'), {})
notification_config = _safe_json_loads(row.get('notification_config'), {})
-
- # Override language if provided (from frontend)
+
if override_language:
config['language'] = override_language
-
- # Resolve interval (frontend sends run_interval_minutes, legacy uses interval_minutes)
+
interval_minutes = int(
config.get('run_interval_minutes')
or config.get('interval_minutes')
or 60
)
- # Get positions (or build from config.symbol if no position_ids)
- positions = _get_positions_for_monitor(position_ids if position_ids else None, user_id=monitor_user_id)
+ if position_ids:
+ positions = _get_positions_for_monitor(position_ids, user_id=monitor_user_id)
+ elif config.get('symbol'):
+ target_sym = config['symbol'].strip().upper()
+ target_mkt = (config.get('market') or '').strip()
- # If monitor was created without positions but has symbol in config, build a virtual position
- if not positions and config.get('symbol'):
- positions = [{
- 'market': config.get('market', ''),
- 'symbol': config.get('symbol', ''),
- 'name': config.get('symbol', ''),
- 'side': 'long',
- 'quantity': 0,
- 'entry_price': 0,
- 'current_price': 0,
- 'pnl': 0,
- 'pnl_percent': 0,
- }]
+ # Rule 4: symbol deleted from watchlist → skip
+ still_in_watchlist = False
+ try:
+ with get_db_connection() as db:
+ cur = db.cursor()
+ wl_sql = "SELECT 1 FROM qd_watchlist WHERE user_id = ? AND UPPER(symbol) = ?"
+ wl_args: list = [monitor_user_id, target_sym]
+ if target_mkt:
+ wl_sql += " AND market = ?"
+ wl_args.append(target_mkt)
+ wl_sql += " LIMIT 1"
+ cur.execute(wl_sql, tuple(wl_args))
+ still_in_watchlist = cur.fetchone() is not None
+ cur.close()
+ except Exception as e:
+ logger.warning(f"Monitor #{monitor_id} watchlist check failed: {e}")
+
+ if not still_in_watchlist:
+ logger.info(f"Monitor #{monitor_id} skipped: {target_mkt}:{target_sym} removed from watchlist")
+ return {'success': False, 'error': 'Symbol removed from watchlist'}
+
+ # Rules 1&2: match real position if exists, otherwise virtual observation
+ matched = _get_positions_for_monitor(None, user_id=monitor_user_id)
+ positions = [
+ p for p in matched
+ if (p.get('symbol') or '').strip().upper() == target_sym
+ and (not target_mkt or (p.get('market') or '').strip() == target_mkt)
+ ]
+ if not positions:
+ positions = [{
+ 'market': target_mkt,
+ 'symbol': config['symbol'].strip(),
+ 'name': config.get('name', config['symbol']).strip(),
+ 'side': 'long',
+ 'quantity': 0,
+ 'entry_price': 0,
+ 'current_price': 0,
+ 'pnl': 0,
+ 'pnl_percent': 0,
+ }]
+ else:
+ # Rule 5: no position_ids, no config.symbol → nothing to analyze
+ positions = []
if not positions:
- return {'success': False, 'error': 'No positions to analyze'}
-
- # ── Billing: charge per symbol analyzed ──
+ logger.info(f"Monitor #{monitor_id} skipped: no matching positions found")
+ return {'success': False, 'error': 'No matching positions found'}
+
+ # ── Billing ──
billing = get_billing_service()
symbol_count = len(positions)
per_symbol_cost = billing.get_feature_cost('ai_analysis')
@@ -961,45 +1366,57 @@ def run_single_monitor(monitor_id: int, override_language: str = None, user_id:
logger.warning(f"Monitor #{monitor_id} billing failed at symbol #{i+1}: {msg}")
break
- # Run analysis based on type
if monitor_type == 'ai':
- result = _run_ai_analysis(positions, config)
+ result = _run_ai_analysis(positions, config, user_id=monitor_user_id)
else:
result = {'success': False, 'error': f'Unsupported monitor type: {monitor_type}'}
-
+
with get_db_connection() as db:
cur = db.cursor()
cur.execute(
"""
UPDATE qd_position_monitors
- SET last_run_at = NOW(),
- next_run_at = NOW() + INTERVAL '%s minutes',
- last_result = ?,
- run_count = run_count + 1,
+ SET last_run_at = NOW(),
+ next_run_at = NOW() + INTERVAL '%s minutes',
+ last_result = ?,
+ run_count = run_count + 1,
updated_at = NOW()
WHERE id = ?
""",
- (interval_minutes, json.dumps(result, ensure_ascii=False), monitor_id)
+ (interval_minutes, json.dumps(result, ensure_ascii=False, default=str), monitor_id)
)
db.commit()
cur.close()
-
- # Send notification
- if notification_config.get('channels'):
- language = config.get('language', 'en-US')
- custom_prompt = config.get('prompt', '')
- position_analyses = result.get('position_analyses', [])
+
+ language = config.get('language', 'en-US')
+ custom_prompt = config.get('prompt', '')
+ position_analyses = result.get('position_analyses', [])
+ deduped_positions = result.get('positions', positions)
+
+ # Attach metadata used by batch notification / history
+ result['_meta'] = {
+ 'monitor_id': monitor_id,
+ 'monitor_name': name,
+ 'user_id': monitor_user_id,
+ 'language': language,
+ 'custom_prompt': custom_prompt,
+ 'notification_config': notification_config,
+ 'positions': deduped_positions,
+ 'position_analyses': position_analyses,
+ }
+
+ if not skip_notification:
_send_monitor_notification(
monitor_name=name,
result=result,
notification_config=notification_config,
- positions=positions,
+ positions=deduped_positions,
position_analyses=position_analyses,
language=language,
custom_prompt=custom_prompt,
- user_id=monitor_user_id
+ user_id=monitor_user_id,
)
-
+
return result
except Exception as e:
logger.error(f"run_single_monitor failed: {e}")
@@ -1132,9 +1549,10 @@ def _check_position_alerts():
db.commit()
cur.close()
- # Send notification
- channels = notification_config.get('channels', ['browser'])
- targets = notification_config.get('targets', {})
+ # Send notification(合并个人中心通知配置,与资产监控任务一致)
+ resolved = _resolve_notification_delivery(alert_user_id, notification_config)
+ channels = resolved.get('channels') or ['browser']
+ targets = resolved.get('targets', {})
alert_title = _get_alert_title(alert_language)
for channel in channels:
@@ -1254,15 +1672,17 @@ def notify_strategy_signal_for_positions(market: str, symbol: str, signal_type:
def _monitor_loop():
- """Background loop that checks and runs due monitors."""
+ """Background loop that checks and runs due monitors.
+
+ All monitors due in the same cycle are executed first (with skip_notification),
+ then results are grouped by user_id and sent as one combined notification per user.
+ """
logger.info("Portfolio monitor background loop started")
-
+
while not _stop_event.is_set():
try:
- # 1. Check position alerts (price/pnl alerts) for all users
_check_position_alerts()
-
- # 2. Find AI monitors that are due for all users
+
with get_db_connection() as db:
cur = db.cursor()
cur.execute(
@@ -1270,29 +1690,57 @@ def _monitor_loop():
SELECT id, user_id FROM qd_position_monitors
WHERE is_active = 1 AND next_run_at <= NOW()
ORDER BY next_run_at ASC
- LIMIT 10
+ LIMIT 20
"""
)
rows = cur.fetchall() or []
cur.close()
-
+
+ # Collect results per user
+ user_results: Dict[int, List[Dict[str, Any]]] = {}
for row in rows:
if _stop_event.is_set():
break
monitor_id = row.get('id')
monitor_user_id = int(row.get('user_id') or 1)
- if monitor_id:
- logger.info(f"Running due monitor #{monitor_id} for user #{monitor_user_id}")
- try:
- run_single_monitor(monitor_id, user_id=monitor_user_id)
- except Exception as e:
- logger.error(f"Monitor #{monitor_id} execution failed: {e}")
+ if not monitor_id:
+ continue
+ logger.info(f"Running due monitor #{monitor_id} for user #{monitor_user_id}")
+ try:
+ result = run_single_monitor(
+ monitor_id,
+ user_id=monitor_user_id,
+ skip_notification=True,
+ )
+ user_results.setdefault(monitor_user_id, []).append(result)
+ except Exception as e:
+ logger.error(f"Monitor #{monitor_id} execution failed: {e}")
+
+ # Send one combined notification per user
+ for uid, results in user_results.items():
+ try:
+ if len(results) == 1:
+ meta = results[0].get('_meta', {})
+ _send_monitor_notification(
+ monitor_name=meta.get('monitor_name', '?'),
+ result=results[0],
+ notification_config=meta.get('notification_config', {}),
+ positions=meta.get('positions', []),
+ position_analyses=meta.get('position_analyses', []),
+ language=meta.get('language', 'en-US'),
+ custom_prompt=meta.get('custom_prompt', ''),
+ user_id=uid,
+ )
+ else:
+ _send_batch_notification(uid, results)
+ except Exception as e:
+ logger.error(f"Batch notification for user #{uid} failed: {e}")
+
except Exception as e:
logger.error(f"Monitor loop error: {e}")
-
- # Sleep for 30 seconds before next check
+
_stop_event.wait(30)
-
+
logger.info("Portfolio monitor background loop stopped")
diff --git a/backend_api_python/app/services/signal_notifier.py b/backend_api_python/app/services/signal_notifier.py
index 79dac8a..852c9ec 100644
--- a/backend_api_python/app/services/signal_notifier.py
+++ b/backend_api_python/app/services/signal_notifier.py
@@ -715,14 +715,15 @@ class SignalNotifier:
try:
# Heuristic: if port is 465 and SMTP_USE_SSL is not explicitly set, assume SSL.
use_ssl = bool(self.smtp_use_ssl) or int(self.smtp_port or 0) == 465
+ smtp_timeout = max(self.timeout_sec, 20)
if use_ssl:
- with smtplib.SMTP_SSL(self.smtp_host, self.smtp_port, timeout=self.timeout_sec) as server:
+ with smtplib.SMTP_SSL(self.smtp_host, self.smtp_port, timeout=smtp_timeout) as server:
server.ehlo()
if self.smtp_user and self.smtp_password:
server.login(self.smtp_user, self.smtp_password)
server.send_message(msg)
else:
- with smtplib.SMTP(self.smtp_host, self.smtp_port, timeout=self.timeout_sec) as server:
+ with smtplib.SMTP(self.smtp_host, self.smtp_port, timeout=smtp_timeout) as server:
server.ehlo()
if self.smtp_use_tls:
server.starttls()
diff --git a/backend_api_python/app/services/user_service.py b/backend_api_python/app/services/user_service.py
index 80bd53b..f818a59 100644
--- a/backend_api_python/app/services/user_service.py
+++ b/backend_api_python/app/services/user_service.py
@@ -4,6 +4,7 @@ User Service - Multi-user management
Handles user CRUD operations, password hashing, and role management.
"""
import hashlib
+import re
import time
import os
from typing import Optional, Dict, Any, List
@@ -12,6 +13,9 @@ from app.utils.logger import get_logger
logger = get_logger(__name__)
+# IANA timezone id subset check (e.g. Asia/Shanghai, America/New_York)
+_TIMEZONE_ID_RE = re.compile(r'^[A-Za-z0-9_/+\-.]+$')
+
# Try to import bcrypt for secure password hashing
try:
import bcrypt
@@ -74,8 +78,8 @@ class UserService:
cur = db.cursor()
cur.execute(
"""
- SELECT id, username, email, nickname, avatar, status, role,
- credits, vip_expires_at, last_login_at, created_at, updated_at
+ SELECT id, username, email, nickname, avatar, status, role,
+ credits, vip_expires_at, timezone, last_login_at, created_at, updated_at
FROM qd_users WHERE id = ?
""",
(user_id,)
@@ -94,8 +98,8 @@ class UserService:
cur = db.cursor()
cur.execute(
"""
- SELECT id, username, password_hash, email, nickname, avatar,
- status, role, last_login_at, created_at, updated_at
+ SELECT id, username, password_hash, email, nickname, avatar,
+ status, role, timezone, last_login_at, created_at, updated_at
FROM qd_users WHERE username = ?
""",
(username,)
@@ -116,8 +120,8 @@ class UserService:
cur = db.cursor()
cur.execute(
"""
- SELECT id, username, password_hash, email, nickname, avatar,
- status, role, last_login_at, created_at, updated_at
+ SELECT id, username, password_hash, email, nickname, avatar,
+ status, role, timezone, last_login_at, created_at, updated_at
FROM qd_users WHERE LOWER(email) = LOWER(?)
""",
(email,)
@@ -340,7 +344,7 @@ class UserService:
user_id: User ID
data: Fields to update (email, nickname, avatar, role, status)
"""
- allowed_fields = ['email', 'nickname', 'avatar', 'role', 'status']
+ allowed_fields = ['email', 'nickname', 'avatar', 'role', 'status', 'timezone']
updates = []
values = []
@@ -349,6 +353,13 @@ class UserService:
value = data[field]
if field == 'role' and value not in self.ROLES:
continue
+ if field == 'timezone':
+ s = '' if value is None else str(value).strip()
+ if s and (len(s) > 64 or not _TIMEZONE_ID_RE.match(s)):
+ continue
+ updates.append('timezone = ?')
+ values.append(s)
+ continue
updates.append(f"{field} = ?")
values.append(value)
@@ -461,7 +472,7 @@ class UserService:
# Get users
query_sql = f"""
SELECT id, username, email, nickname, avatar, status, role,
- credits, vip_expires_at, last_login_at, created_at, updated_at
+ credits, vip_expires_at, timezone, last_login_at, created_at, updated_at
FROM qd_users
{where_clause}
ORDER BY id DESC
diff --git a/backend_api_python/app/utils/db_postgres.py b/backend_api_python/app/utils/db_postgres.py
index d7e616c..6c575c2 100644
--- a/backend_api_python/app/utils/db_postgres.py
+++ b/backend_api_python/app/utils/db_postgres.py
@@ -222,6 +222,16 @@ class PostgresConnection:
logger.warning(f"Failed to return connection to pool: {e}")
+def _ensure_session_utc(conn) -> None:
+ """每条连接检出后固定为 UTC,与 API 序列化约定一致。"""
+ try:
+ cur = conn.cursor()
+ cur.execute("SET TIME ZONE 'UTC'")
+ cur.close()
+ except Exception as e:
+ logger.warning(f"Could not SET TIME ZONE UTC on connection: {e}")
+
+
@contextmanager
def get_pg_connection():
"""
@@ -231,6 +241,7 @@ def get_pg_connection():
conn = None
try:
conn = pool.getconn()
+ _ensure_session_utc(conn)
pg_conn = PostgresConnection(conn)
yield pg_conn
except Exception as e:
@@ -258,6 +269,7 @@ def get_pg_connection_sync() -> PostgresConnection:
"""
pool = _get_connection_pool()
conn = pool.getconn()
+ _ensure_session_utc(conn)
return PostgresConnection(conn)
diff --git a/backend_api_python/migrations/init.sql b/backend_api_python/migrations/init.sql
index ddfb2bb..209fad8 100644
--- a/backend_api_python/migrations/init.sql
+++ b/backend_api_python/migrations/init.sql
@@ -22,6 +22,7 @@ CREATE TABLE IF NOT EXISTS qd_users (
email_verified BOOLEAN DEFAULT FALSE, -- 邮箱是否已验证
referred_by INTEGER, -- 邀请人ID
notification_settings TEXT DEFAULT '', -- 用户通知配置 JSON (telegram_chat_id, default_channels等)
+ timezone VARCHAR(64) DEFAULT '', -- IANA 时区标识,空表示跟随客户端/浏览器
token_version INTEGER DEFAULT 1, -- Token版本号,用于单一客户端登录控制
last_login_at TIMESTAMP,
created_at TIMESTAMP DEFAULT NOW(),
@@ -656,6 +657,21 @@ BEGIN
END IF;
END $$;
+-- =============================================================================
+-- 20b. Migration: user profile timezone (IANA)
+-- =============================================================================
+
+DO $$
+BEGIN
+ IF NOT EXISTS (
+ SELECT 1 FROM information_schema.columns
+ WHERE table_name = 'qd_users' AND column_name = 'timezone'
+ ) THEN
+ ALTER TABLE qd_users ADD COLUMN timezone VARCHAR(64) DEFAULT '';
+ RAISE NOTICE 'Added timezone column to qd_users table';
+ END IF;
+END $$;
+
-- =============================================================================
-- 21. Indicator Community Tables
-- =============================================================================
diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md
index 6122d48..72be37c 100644
--- a/docs/CHANGELOG.md
+++ b/docs/CHANGELOG.md
@@ -4,6 +4,45 @@ This document records version updates, new features, bug fixes, and database mig
---
+## V2.2.3 (2026-03-24)
+
+### 🚀 New Features
+
+- **User profile IANA timezone (`qd_users.timezone`)**: 个人资料可保存时区(IANA 标识,如 `Asia/Shanghai`);为空表示跟随浏览器。登录态 `/api/auth/info`、资料接口与前端 AI 分析页等时间展示会按该时区调用 `toLocaleString(..., { timeZone })`(非法或空则回退本机时区)。
+
+### 📋 Database Migration
+
+**在已有 PostgreSQL 库上执行(新库若已通过更新后的 `migrations/init.sql` 初始化则无需再执行):**
+
+```sql
+-- ============================================================
+-- QuantDinger V2.2.3 — qd_users.timezone(用户资料时区)
+-- ============================================================
+
+DO $$
+BEGIN
+ IF NOT EXISTS (
+ SELECT 1 FROM information_schema.columns
+ WHERE table_schema = 'public'
+ AND table_name = 'qd_users'
+ AND column_name = 'timezone'
+ ) THEN
+ ALTER TABLE qd_users ADD COLUMN timezone VARCHAR(64) DEFAULT '';
+ RAISE NOTICE 'Added timezone column to qd_users table';
+ END IF;
+END $$;
+```
+
+**仅当列不存在时的一行式写法(自行确认无列后再执行):**
+
+```sql
+ALTER TABLE qd_users ADD COLUMN IF NOT EXISTS timezone VARCHAR(64) DEFAULT '';
+```
+
+> 说明:`ALTER TABLE ... ADD COLUMN IF NOT EXISTS` 需 **PostgreSQL 11+**(本仓库 Docker 默认 `postgres:16` 可用);与上面 `DO` 块二选一即可。
+
+---
+
## V2.2.2 (2026-02-28)
### 🚀 New Features
diff --git a/frontend/dist/css/170.2e8a4a95.css b/frontend/dist/css/170.2e8a4a95.css
deleted file mode 100644
index 89f9368..0000000
--- a/frontend/dist/css/170.2e8a4a95.css
+++ /dev/null
@@ -1 +0,0 @@
-.profile-page[data-v-4224bd2a]{padding:24px;min-height:calc(100vh - 120px);background:-webkit-gradient(linear,left top,left bottom,from(#f8fafc),to(#f1f5f9));background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.profile-page .page-header[data-v-4224bd2a]{margin-bottom:24px}.profile-page .page-header .page-title[data-v-4224bd2a]{font-size:24px;font-weight:700;margin:0 0 8px 0;color:#1e3a5f;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.profile-page .page-header .page-title .anticon[data-v-4224bd2a]{font-size:28px;color:#1890ff}.profile-page .page-header .page-desc[data-v-4224bd2a]{color:#64748b;font-size:14px;margin:0}.profile-page .profile-cards-row[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.profile-page .profile-cards-row .profile-card-col .ant-card[data-v-4224bd2a],.profile-page .profile-cards-row .profile-card-col[data-v-4224bd2a],.profile-page .profile-cards-row .right-cards-col .ant-card[data-v-4224bd2a],.profile-page .profile-cards-row .right-cards-col[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .profile-card-col .ant-card[data-v-4224bd2a],.profile-page .profile-cards-row .right-cards-col .ant-card[data-v-4224bd2a]{height:100%}.profile-page .profile-cards-row .profile-card-col[data-v-4224bd2a] .ant-card-body,.profile-page .profile-cards-row .right-cards-col[data-v-4224bd2a] .ant-card-body{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-row[data-v-4224bd2a]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.profile-page .profile-cards-row .right-cards-row .ant-col .ant-card[data-v-4224bd2a],.profile-page .profile-cards-row .right-cards-row .ant-col[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-row .ant-col .ant-card[data-v-4224bd2a]{height:100%}.profile-page .profile-cards-row .right-cards-row .ant-col[data-v-4224bd2a] .ant-card-body{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-card[data-v-4224bd2a]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center}.profile-page .profile-card .avatar-section[data-v-4224bd2a]{padding:20px 0}.profile-page .profile-card .avatar-section .ant-avatar[data-v-4224bd2a]{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15);box-shadow:0 4px 12px rgba(0,0,0,.15)}.profile-page .profile-card .avatar-section .username[data-v-4224bd2a]{margin:16px 0 8px;font-size:20px;font-weight:600;color:#1e3a5f}.profile-page .profile-card .avatar-section .user-role[data-v-4224bd2a]{margin:0}.profile-page .profile-card .profile-info[data-v-4224bd2a]{text-align:left;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around}.profile-page .profile-card .profile-info .info-item[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.profile-page .profile-card .profile-info .info-item[data-v-4224bd2a]:last-child{border-bottom:none}.profile-page .profile-card .profile-info .info-item .anticon[data-v-4224bd2a]{font-size:16px;color:#1890ff;margin-right:12px}.profile-page .profile-card .profile-info .info-item .label[data-v-4224bd2a]{color:#64748b;margin-right:8px}.profile-page .profile-card .profile-info .info-item .value[data-v-4224bd2a]{color:#1e3a5f;font-weight:500}.profile-page .edit-card[data-v-4224bd2a]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08)}.profile-page .edit-card .password-form[data-v-4224bd2a],.profile-page .edit-card .profile-form[data-v-4224bd2a]{max-width:500px}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-input,.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-input-password,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-input,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-input-password{border-radius:8px}.profile-page .edit-card .password-form .email-hint[data-v-4224bd2a],.profile-page .edit-card .profile-form .email-hint[data-v-4224bd2a]{margin-top:8px;font-size:12px;color:rgba(0,0,0,.45)}.profile-page .edit-card .password-form .email-hint.email-warning[data-v-4224bd2a],.profile-page .edit-card .profile-form .email-hint.email-warning[data-v-4224bd2a]{color:#faad14}.profile-page .edit-card .amount-positive[data-v-4224bd2a]{color:#52c41a;font-weight:600}.profile-page .edit-card .amount-negative[data-v-4224bd2a]{color:#ff4d4f;font-weight:600}.profile-page .edit-card .notification-settings-form .field-hint[data-v-4224bd2a]{margin-top:6px;font-size:12px;color:rgba(0,0,0,.45);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.profile-page .edit-card .notification-settings-form .field-hint .anticon[data-v-4224bd2a]{font-size:12px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group{width:100%}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-wrapper{margin-bottom:8px}.profile-page .credits-card[data-v-4224bd2a]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.profile-page .credits-card[data-v-4224bd2a] .ant-card-body{background:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .credits-card[data-v-4224bd2a] .ant-divider{border-color:hsla(0,0%,100%,.2)}.profile-page .credits-card .credits-header .credits-title[data-v-4224bd2a]{font-size:16px;font-weight:600;margin:0;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.profile-page .credits-card .credits-header .credits-title .anticon[data-v-4224bd2a]{font-size:18px}.profile-page .credits-card .credits-body[data-v-4224bd2a]{padding:20px 0;text-align:center;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-4224bd2a]{font-size:42px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-4224bd2a]{font-size:16px;color:hsla(0,0%,100%,.9);margin-left:8px}.profile-page .credits-card .credits-body .vip-status[data-v-4224bd2a]{margin-top:12px;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;gap:6px;font-size:13px}.profile-page .credits-card .credits-body .vip-status .vip-active[data-v-4224bd2a]{color:gold}.profile-page .credits-card .credits-body .vip-status .vip-expired[data-v-4224bd2a]{color:hsla(0,0%,100%,.6)}.profile-page .credits-card .credits-body .vip-status .no-vip[data-v-4224bd2a]{color:hsla(0,0%,100%,.7)}.profile-page .credits-card .credits-actions[data-v-4224bd2a]{text-align:center;margin-top:auto}.profile-page .credits-card .credits-actions .ant-btn[data-v-4224bd2a]{border-radius:20px;padding:0 24px;height:36px;font-weight:500;background:#fff;color:#667eea;border:none}.profile-page .credits-card .credits-actions .ant-btn[data-v-4224bd2a]:hover{background:hsla(0,0%,100%,.9);color:#764ba2}.profile-page .credits-card .credits-hint[data-v-4224bd2a]{margin-top:12px;text-align:center;font-size:12px;color:hsla(0,0%,100%,.7);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;gap:6px}.profile-page .referral-card[data-v-4224bd2a]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.profile-page .referral-card[data-v-4224bd2a] .ant-card-body{background:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .referral-card[data-v-4224bd2a] .ant-divider{border-color:hsla(0,0%,100%,.2)}.profile-page .referral-card .referral-header .referral-title[data-v-4224bd2a]{font-size:16px;font-weight:600;margin:0;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.profile-page .referral-card .referral-header .referral-title .anticon[data-v-4224bd2a]{font-size:18px}.profile-page .referral-card .referral-body[data-v-4224bd2a]{padding:12px 0;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.profile-page .referral-card .referral-body .referral-stats[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.profile-page .referral-card .referral-body .referral-stats .stat-item[data-v-4224bd2a]{text-align:center}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-4224bd2a]{font-size:28px;font-weight:700;color:#fff;display:block}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-label[data-v-4224bd2a]{font-size:12px;color:hsla(0,0%,100%,.8)}.profile-page .referral-card .referral-body .referral-link-section .link-label[data-v-4224bd2a]{font-size:12px;color:hsla(0,0%,100%,.9);margin-bottom:6px}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);color:#fff}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input::-webkit-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input::-moz-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input:-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input::-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input::placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .anticon-copy{color:#fff}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .anticon-copy:hover{color:gold}.profile-page .referral-card .referral-body .referral-hint[data-v-4224bd2a]{margin-top:auto;text-align:center;font-size:12px;color:hsla(0,0%,100%,.85);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;gap:6px}.profile-page .referral-card .referral-body .referral-hint .anticon-gift[data-v-4224bd2a]{color:gold}.profile-page .referral-user-cell[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.profile-page .referral-user-cell .user-info[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .referral-user-cell .user-info .nickname[data-v-4224bd2a]{font-weight:500;color:#333}.profile-page .referral-user-cell .user-info .username[data-v-4224bd2a]{font-size:12px;color:#999}.profile-page .exchange-config-section .credential-hint[data-v-4224bd2a]{font-family:SFMono-Regular,Consolas,monospace;font-size:13px;color:#666}.profile-page .test-result-msg[data-v-4224bd2a]{margin-top:8px;font-size:13px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.profile-page .test-result-msg.success[data-v-4224bd2a]{color:#52c41a}.profile-page .test-result-msg.error[data-v-4224bd2a]{color:#f5222d}.profile-page.theme-dark[data-v-4224bd2a]{background:-webkit-gradient(linear,left top,left bottom,from(#141414),to(#1c1c1c));background:linear-gradient(180deg,#141414,#1c1c1c)}.profile-page.theme-dark .page-header .page-title[data-v-4224bd2a]{color:#e0e6ed}.profile-page.theme-dark .page-header .page-desc[data-v-4224bd2a]{color:#8b949e}.profile-page.theme-dark .edit-card[data-v-4224bd2a],.profile-page.theme-dark .profile-card[data-v-4224bd2a]{background:#1c1c1c;-webkit-box-shadow:0 4px 24px rgba(0,0,0,.25);box-shadow:0 4px 24px rgba(0,0,0,.25)}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-card-body,.profile-page.theme-dark .profile-card[data-v-4224bd2a] .ant-card-body{background:#1c1c1c}.profile-page.theme-dark .profile-card .avatar-section .username[data-v-4224bd2a]{color:#e0e6ed}.profile-page.theme-dark .profile-card .profile-info .info-item[data-v-4224bd2a]{border-bottom-color:#2a2a2a}.profile-page.theme-dark .profile-card .profile-info .info-item .label[data-v-4224bd2a]{color:#8b949e}.profile-page.theme-dark .profile-card .profile-info .info-item .value[data-v-4224bd2a]{color:#e0e6ed}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-bar{border-bottom-color:#2a2a2a}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-tab{color:#8b949e}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-tab:hover{color:#e0e6ed}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-tab-active{color:#1890ff}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-form-item-label label{color:#c9d1d9}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input-password{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input-password:focus,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input-password:hover,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input:focus,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input:hover{border-color:#1890ff}.profile-page.theme-dark .credits-card[data-v-4224bd2a]{background:linear-gradient(135deg,#1c1c1c,#1a1a1a 50%,#141414);-webkit-box-shadow:0 4px 24px rgba(0,0,0,.25);box-shadow:0 4px 24px rgba(0,0,0,.25)}.profile-page.theme-dark .credits-card[data-v-4224bd2a] .ant-divider{border-color:hsla(0,0%,100%,.1)}.profile-page.theme-dark .credits-card .credits-actions .ant-btn[data-v-4224bd2a]{background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.2)}.profile-page.theme-dark .credits-card .credits-actions .ant-btn[data-v-4224bd2a]:hover{background:hsla(0,0%,100%,.25)}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table{background:#1c1c1c;color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-thead>tr>th{background:#2a2a2a;color:#c9d1d9;border-bottom-color:#2a2a2a}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td{background:#1c1c1c;color:#c9d1d9;border-bottom-color:#2a2a2a}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#2a2a2a}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-placeholder{background:#1c1c1c;color:#8b949e}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td,.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td :not(.ant-tag):not(.ant-btn),.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td div,.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td span{color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .amount-positive{color:#52c41a}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .amount-negative{color:#f5222d}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag{border-width:1px;font-weight:600}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-red{background:rgba(245,34,45,.25);border-color:#f5222d;color:#ff7875}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-green{background:rgba(82,196,26,.25);border-color:#52c41a;color:#73d13d}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-blue{background:rgba(24,144,255,.25);border-color:#1890ff;color:#69c0ff}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-gold,.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-orange{background:rgba(250,173,20,.25);border-color:#faad14;color:#ffc53d}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-cyan{background:rgba(19,194,194,.25);border-color:#13c2c2;color:#5cdbd3}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-purple{background:rgba(114,46,209,.25);border-color:#722ed1;color:#b37feb}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-volcano{background:rgba(250,84,28,.25);border-color:#fa541c;color:#ff9c6e}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-lime{background:hsla(89,56%,62%,.25);border-color:#a0d911;color:#bae637}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-default{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2);color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-form-item-label>label,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-form-item-label>label,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-form-item-label>label{color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-form-item-explain,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-form-item-extra,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-form-item-explain,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-form-item-extra,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-form-item-explain,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-form-item-extra{color:#8b949e}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector::-webkit-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector::-moz-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector:-ms-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector::-ms-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector::placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number::placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password::placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input::placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector::placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number::placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password::placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input::placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector::placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-checkbox-wrapper,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-checkbox-wrapper span,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-radio-wrapper,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-radio-wrapper span,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selection-item,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selection-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-checkbox-wrapper,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-checkbox-wrapper span,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-radio-wrapper,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-radio-wrapper span,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selection-item,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selection-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-checkbox-wrapper,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-checkbox-wrapper span,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-radio-wrapper,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-radio-wrapper span,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selection-item,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selection-placeholder{color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner{background-color:#1890ff;border-color:#1890ff}.profile-page.theme-dark .notification-settings-form .email-hint[data-v-4224bd2a],.profile-page.theme-dark .notification-settings-form .field-hint[data-v-4224bd2a],.profile-page.theme-dark .password-form .email-hint[data-v-4224bd2a],.profile-page.theme-dark .password-form .field-hint[data-v-4224bd2a],.profile-page.theme-dark .profile-form .email-hint[data-v-4224bd2a],.profile-page.theme-dark .profile-form .field-hint[data-v-4224bd2a]{color:#8b949e}.profile-page.theme-dark .notification-settings-form .email-warning[data-v-4224bd2a],.profile-page.theme-dark .password-form .email-warning[data-v-4224bd2a],.profile-page.theme-dark .profile-form .email-warning[data-v-4224bd2a]{color:#f5222d}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-alert{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-alert .ant-alert-message{color:#c9d1d9}.profile-page.theme-dark .exchange-config-section .credential-hint[data-v-4224bd2a],.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-alert .ant-alert-description{color:#8b949e}.profile-page.theme-dark .test-result-msg.success[data-v-4224bd2a]{color:#52c41a}.profile-page.theme-dark .test-result-msg.error[data-v-4224bd2a]{color:#f5222d}.profile-page.theme-dark .referral-user-cell .user-info .nickname[data-v-4224bd2a]{color:#c9d1d9}.profile-page.theme-dark .referral-user-cell .user-info .username[data-v-4224bd2a]{color:#8b949e}.profile-page.theme-dark[data-v-4224bd2a] .ant-tag{color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-tag.ant-tag-has-color{color:#fff!important;border-color:transparent!important}.profile-page.theme-dark[data-v-4224bd2a] .ant-input-prefix .anticon,.profile-page.theme-dark[data-v-4224bd2a] .ant-input-suffix .anticon,.profile-page.theme-dark[data-v-4224bd2a] .credits-hint .anticon,.profile-page.theme-dark[data-v-4224bd2a] .email-hint .anticon,.profile-page.theme-dark[data-v-4224bd2a] .field-hint .anticon,.profile-page.theme-dark[data-v-4224bd2a] .notification-settings-form .anticon{color:#c9d1d9!important}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item{background:#1c1c1c;border-color:#2a2a2a}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item a{color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item:hover{border-color:#1890ff}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item-active{background:#1890ff;border-color:#1890ff}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item-active a{color:#fff}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-next .ant-pagination-item-link,.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-prev .ant-pagination-item-link{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-options .ant-select-selector{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-btn.ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-btn.ant-btn-default:hover{border-color:#1890ff;color:#1890ff}@media screen and (max-width:768px){.profile-page[data-v-4224bd2a]{padding:12px}.profile-page .page-header[data-v-4224bd2a]{margin-bottom:16px}.profile-page .page-header .page-title[data-v-4224bd2a]{font-size:20px}.profile-page .page-header .page-title .anticon[data-v-4224bd2a]{font-size:22px}.profile-page .page-header .page-desc[data-v-4224bd2a]{font-size:13px}.profile-page .profile-cards-row[data-v-4224bd2a]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .profile-card-col[data-v-4224bd2a]{margin-bottom:12px}.profile-page .profile-cards-row .right-cards-col .right-cards-row[data-v-4224bd2a]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-col .right-cards-row .ant-col[data-v-4224bd2a]{margin-bottom:12px}.profile-page .profile-card[data-v-4224bd2a]{border-radius:10px}.profile-page .profile-card .avatar-section[data-v-4224bd2a]{padding:16px 0}.profile-page .profile-card .avatar-section[data-v-4224bd2a] .ant-avatar{width:80px!important;height:80px!important;line-height:80px!important}.profile-page .profile-card .avatar-section .username[data-v-4224bd2a]{font-size:18px;margin:12px 0 6px}.profile-page .profile-card .profile-info .info-item[data-v-4224bd2a]{padding:10px 0;-ms-flex-wrap:wrap;flex-wrap:wrap}.profile-page .profile-card .profile-info .info-item .anticon[data-v-4224bd2a]{font-size:14px;margin-right:8px}.profile-page .profile-card .profile-info .info-item .label[data-v-4224bd2a]{font-size:13px}.profile-page .profile-card .profile-info .info-item .value[data-v-4224bd2a]{font-size:13px;word-break:break-all}.profile-page .credits-card[data-v-4224bd2a]{border-radius:10px}.profile-page .credits-card .credits-header .credits-title[data-v-4224bd2a]{font-size:15px}.profile-page .credits-card .credits-header .credits-title .anticon[data-v-4224bd2a]{font-size:16px}.profile-page .credits-card .credits-body[data-v-4224bd2a]{padding:16px 0}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-4224bd2a]{font-size:32px}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-4224bd2a]{font-size:14px}.profile-page .credits-card .credits-body .vip-status[data-v-4224bd2a]{font-size:12px;margin-top:10px}.profile-page .credits-card .credits-actions .ant-btn[data-v-4224bd2a]{height:34px;padding:0 20px;font-size:14px}.profile-page .credits-card .credits-hint[data-v-4224bd2a]{font-size:11px;margin-top:10px}.profile-page .referral-card[data-v-4224bd2a]{border-radius:10px}.profile-page .referral-card .referral-header .referral-title[data-v-4224bd2a]{font-size:15px}.profile-page .referral-card .referral-header .referral-title .anticon[data-v-4224bd2a]{font-size:16px}.profile-page .referral-card .referral-body[data-v-4224bd2a]{padding:10px 0}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-4224bd2a]{font-size:24px}.profile-page .referral-card .referral-body .referral-link-section .link-label[data-v-4224bd2a],.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-label[data-v-4224bd2a]{font-size:11px}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input{font-size:12px}.profile-page .referral-card .referral-body .referral-hint[data-v-4224bd2a]{font-size:11px;padding-top:8px}.profile-page .edit-card[data-v-4224bd2a]{border-radius:10px;margin-top:12px!important}.profile-page .edit-card[data-v-4224bd2a] .ant-card-body{padding:12px}.profile-page .edit-card[data-v-4224bd2a] .ant-tabs-nav .ant-tabs-tab{padding:10px 12px;font-size:13px}.profile-page .edit-card[data-v-4224bd2a] .ant-tabs-nav-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-page .edit-card[data-v-4224bd2a] .ant-tabs-nav-scroll::-webkit-scrollbar{display:none}.profile-page .edit-card .password-form[data-v-4224bd2a],.profile-page .edit-card .profile-form[data-v-4224bd2a]{max-width:100%}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-form-item-label,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-form-item-label{padding-bottom:4px}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-form-item-label label,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-form-item-label label{font-size:13px}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-input,.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-input-password,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-input,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-input-password{font-size:14px}.profile-page .edit-card .password-form .email-hint[data-v-4224bd2a],.profile-page .edit-card .profile-form .email-hint[data-v-4224bd2a]{font-size:11px}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-alert{font-size:12px;padding:8px 12px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-alert{font-size:12px;padding:8px 12px;margin-bottom:16px!important}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-form{max-width:100%}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group .ant-row{margin-left:0!important;margin-right:0!important}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group .ant-row .ant-col{padding-left:0!important;padding-right:8px!important}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group .ant-checkbox-wrapper{font-size:13px;margin-bottom:6px}.profile-page .edit-card .notification-settings-form .field-hint[data-v-4224bd2a]{font-size:11px;-ms-flex-wrap:wrap;flex-wrap:wrap}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-form-item{margin-bottom:16px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-form-item:last-child .ant-btn{width:100%;margin-bottom:8px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-form-item:last-child .ant-btn+.ant-btn{margin-left:0!important}.profile-page .edit-card[data-v-4224bd2a] .ant-table-wrapper{overflow-x:auto}.profile-page .edit-card[data-v-4224bd2a] .ant-table-wrapper .ant-table{min-width:500px}.profile-page .referral-user-cell[data-v-4224bd2a]{gap:8px}.profile-page .referral-user-cell[data-v-4224bd2a] .ant-avatar{width:28px!important;height:28px!important;line-height:28px!important}.profile-page .referral-user-cell .user-info .nickname[data-v-4224bd2a]{font-size:13px}.profile-page .referral-user-cell .user-info .username[data-v-4224bd2a]{font-size:11px}}@media screen and (max-width:480px){.profile-page[data-v-4224bd2a]{padding:8px}.profile-page .page-header[data-v-4224bd2a]{margin-bottom:12px}.profile-page .page-header .page-title[data-v-4224bd2a]{font-size:18px;gap:8px}.profile-page .page-header .page-title .anticon[data-v-4224bd2a]{font-size:20px}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-4224bd2a]{font-size:28px}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-4224bd2a]{font-size:13px}.profile-page .credits-card .credits-actions .ant-btn[data-v-4224bd2a]{width:100%}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-4224bd2a]{font-size:20px}.profile-page .edit-card[data-v-4224bd2a] .ant-tabs-nav .ant-tabs-tab{padding:8px 10px;font-size:12px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group .ant-row .ant-col{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}.profile-exchange-modal .exchange-account-form .egress-ip-block{width:100%}.profile-exchange-modal .exchange-account-form .egress-ip-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px}.profile-exchange-modal .exchange-account-form .egress-ip-refresh-row{margin-top:4px}.profile-exchange-modal .exchange-account-form .egress-ip-line{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:10px}.profile-exchange-modal .exchange-account-form .egress-ip-kind{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-width:42px;font-size:12px;color:rgba(0,0,0,.55)}.profile-exchange-modal .exchange-account-form .egress-ip-value{-webkit-box-flex:1;-ms-flex:1 1 160px;flex:1 1 160px;min-width:0;font-family:Consolas,ui-monospace,monospace;font-size:12px;padding:6px 10px;border-radius:4px;border:1px solid #d9d9d9;background:#fafafa;color:#262626;word-break:break-all}.profile-exchange-modal .exchange-account-form .exchange-demo-checkbox-label{color:rgba(0,0,0,.85)}.profile-exchange-modal .exchange-account-form .exchange-demo-hint{margin-top:6px}.profile-exchange-modal--dark .ant-modal-content{background:#1c1c1c;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.45);box-shadow:0 8px 32px rgba(0,0,0,.45)}.profile-exchange-modal--dark .ant-modal-header{background:#1c1c1c;border-bottom:1px solid #2a2a2a}.profile-exchange-modal--dark .ant-modal-title{color:#e0e6ed}.profile-exchange-modal--dark .ant-modal-close{color:#8b949e}.profile-exchange-modal--dark .ant-modal-body,.profile-exchange-modal--dark .ant-modal-close:hover{color:#c9d1d9}.profile-exchange-modal--dark .ant-modal-footer{background:#1c1c1c;border-top:1px solid #2a2a2a}.profile-exchange-modal--dark .exchange-account-form .ant-form-item-label>label{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .ant-form-item-explain,.profile-exchange-modal--dark .exchange-account-form .ant-form-item-extra{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-input,.profile-exchange-modal--dark .exchange-account-form .ant-input-number,.profile-exchange-modal--dark .exchange-account-form .ant-input-number-input,.profile-exchange-modal--dark .exchange-account-form .ant-input-password .ant-input{background:#141414!important;border-color:#2a2a2a!important;color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-input-password-icon{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-wrap{background:#141414;border-left-color:#2a2a2a}.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-down-inner,.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-up-inner{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-select-selector{background:#141414!important;border-color:#2a2a2a!important;color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-item,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-placeholder{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection--single{background:#141414!important;border-color:#2a2a2a!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-placeholder,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-selected-value,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection__rendered{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-arrow{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-checkbox-wrapper,.profile-exchange-modal--dark .exchange-account-form .ant-checkbox-wrapper span{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .exchange-demo-checkbox-label{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .egress-ip-hint,.profile-exchange-modal--dark .exchange-account-form .exchange-demo-hint{color:#8b949e!important}.profile-exchange-modal--dark .exchange-account-form .egress-ip-value{border-color:#2a2a2a!important;background:#141414!important;color:#e0e6ed!important}.profile-exchange-modal--dark .exchange-account-form a.egress-ip-action{color:#58a6ff}.profile-exchange-modal--dark .exchange-account-form .egress-ip-kind{color:#8b949e!important}.profile-exchange-modal--dark .exchange-account-form .ant-alert{background:rgba(250,173,20,.12);border-color:rgba(250,173,20,.45)}.profile-exchange-modal--dark .exchange-account-form .ant-alert-message{color:#ffc53d}.profile-exchange-modal--dark .exchange-account-form .ant-alert-description{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-alert-icon{color:#faad14}.profile-exchange-modal--dark .exchange-account-form .field-hint{color:#8b949e;margin-top:6px;font-size:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:6px}.profile-exchange-modal--dark .exchange-account-form .field-hint .anticon{color:#8b949e;margin-top:2px}.profile-exchange-modal--dark .exchange-account-form .test-result-msg{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .test-result-msg.success{color:#73d13d}.profile-exchange-modal--dark .exchange-account-form .test-result-msg.error{color:#ff7875}.profile-exchange-select-dropdown-dark.ant-select-dropdown{background:#1c1c1c}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item{color:#c9d1d9}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item:hover{background:#2a2a2a}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-selected{background:#2a2a2a!important;color:#e0e6ed;font-weight:500}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-group-title{color:#8b949e!important;font-size:12px}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item,.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-selected{color:#c9d1d9!important}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-empty-description{color:#8b949e}
\ No newline at end of file
diff --git a/frontend/dist/css/420.2e8a4a95.css b/frontend/dist/css/420.2e8a4a95.css
deleted file mode 100644
index 89f9368..0000000
--- a/frontend/dist/css/420.2e8a4a95.css
+++ /dev/null
@@ -1 +0,0 @@
-.profile-page[data-v-4224bd2a]{padding:24px;min-height:calc(100vh - 120px);background:-webkit-gradient(linear,left top,left bottom,from(#f8fafc),to(#f1f5f9));background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.profile-page .page-header[data-v-4224bd2a]{margin-bottom:24px}.profile-page .page-header .page-title[data-v-4224bd2a]{font-size:24px;font-weight:700;margin:0 0 8px 0;color:#1e3a5f;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.profile-page .page-header .page-title .anticon[data-v-4224bd2a]{font-size:28px;color:#1890ff}.profile-page .page-header .page-desc[data-v-4224bd2a]{color:#64748b;font-size:14px;margin:0}.profile-page .profile-cards-row[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.profile-page .profile-cards-row .profile-card-col .ant-card[data-v-4224bd2a],.profile-page .profile-cards-row .profile-card-col[data-v-4224bd2a],.profile-page .profile-cards-row .right-cards-col .ant-card[data-v-4224bd2a],.profile-page .profile-cards-row .right-cards-col[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .profile-card-col .ant-card[data-v-4224bd2a],.profile-page .profile-cards-row .right-cards-col .ant-card[data-v-4224bd2a]{height:100%}.profile-page .profile-cards-row .profile-card-col[data-v-4224bd2a] .ant-card-body,.profile-page .profile-cards-row .right-cards-col[data-v-4224bd2a] .ant-card-body{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-row[data-v-4224bd2a]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.profile-page .profile-cards-row .right-cards-row .ant-col .ant-card[data-v-4224bd2a],.profile-page .profile-cards-row .right-cards-row .ant-col[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-row .ant-col .ant-card[data-v-4224bd2a]{height:100%}.profile-page .profile-cards-row .right-cards-row .ant-col[data-v-4224bd2a] .ant-card-body{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-card[data-v-4224bd2a]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center}.profile-page .profile-card .avatar-section[data-v-4224bd2a]{padding:20px 0}.profile-page .profile-card .avatar-section .ant-avatar[data-v-4224bd2a]{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15);box-shadow:0 4px 12px rgba(0,0,0,.15)}.profile-page .profile-card .avatar-section .username[data-v-4224bd2a]{margin:16px 0 8px;font-size:20px;font-weight:600;color:#1e3a5f}.profile-page .profile-card .avatar-section .user-role[data-v-4224bd2a]{margin:0}.profile-page .profile-card .profile-info[data-v-4224bd2a]{text-align:left;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around}.profile-page .profile-card .profile-info .info-item[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.profile-page .profile-card .profile-info .info-item[data-v-4224bd2a]:last-child{border-bottom:none}.profile-page .profile-card .profile-info .info-item .anticon[data-v-4224bd2a]{font-size:16px;color:#1890ff;margin-right:12px}.profile-page .profile-card .profile-info .info-item .label[data-v-4224bd2a]{color:#64748b;margin-right:8px}.profile-page .profile-card .profile-info .info-item .value[data-v-4224bd2a]{color:#1e3a5f;font-weight:500}.profile-page .edit-card[data-v-4224bd2a]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08)}.profile-page .edit-card .password-form[data-v-4224bd2a],.profile-page .edit-card .profile-form[data-v-4224bd2a]{max-width:500px}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-input,.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-input-password,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-input,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-input-password{border-radius:8px}.profile-page .edit-card .password-form .email-hint[data-v-4224bd2a],.profile-page .edit-card .profile-form .email-hint[data-v-4224bd2a]{margin-top:8px;font-size:12px;color:rgba(0,0,0,.45)}.profile-page .edit-card .password-form .email-hint.email-warning[data-v-4224bd2a],.profile-page .edit-card .profile-form .email-hint.email-warning[data-v-4224bd2a]{color:#faad14}.profile-page .edit-card .amount-positive[data-v-4224bd2a]{color:#52c41a;font-weight:600}.profile-page .edit-card .amount-negative[data-v-4224bd2a]{color:#ff4d4f;font-weight:600}.profile-page .edit-card .notification-settings-form .field-hint[data-v-4224bd2a]{margin-top:6px;font-size:12px;color:rgba(0,0,0,.45);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.profile-page .edit-card .notification-settings-form .field-hint .anticon[data-v-4224bd2a]{font-size:12px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group{width:100%}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-wrapper{margin-bottom:8px}.profile-page .credits-card[data-v-4224bd2a]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.profile-page .credits-card[data-v-4224bd2a] .ant-card-body{background:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .credits-card[data-v-4224bd2a] .ant-divider{border-color:hsla(0,0%,100%,.2)}.profile-page .credits-card .credits-header .credits-title[data-v-4224bd2a]{font-size:16px;font-weight:600;margin:0;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.profile-page .credits-card .credits-header .credits-title .anticon[data-v-4224bd2a]{font-size:18px}.profile-page .credits-card .credits-body[data-v-4224bd2a]{padding:20px 0;text-align:center;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-4224bd2a]{font-size:42px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-4224bd2a]{font-size:16px;color:hsla(0,0%,100%,.9);margin-left:8px}.profile-page .credits-card .credits-body .vip-status[data-v-4224bd2a]{margin-top:12px;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;gap:6px;font-size:13px}.profile-page .credits-card .credits-body .vip-status .vip-active[data-v-4224bd2a]{color:gold}.profile-page .credits-card .credits-body .vip-status .vip-expired[data-v-4224bd2a]{color:hsla(0,0%,100%,.6)}.profile-page .credits-card .credits-body .vip-status .no-vip[data-v-4224bd2a]{color:hsla(0,0%,100%,.7)}.profile-page .credits-card .credits-actions[data-v-4224bd2a]{text-align:center;margin-top:auto}.profile-page .credits-card .credits-actions .ant-btn[data-v-4224bd2a]{border-radius:20px;padding:0 24px;height:36px;font-weight:500;background:#fff;color:#667eea;border:none}.profile-page .credits-card .credits-actions .ant-btn[data-v-4224bd2a]:hover{background:hsla(0,0%,100%,.9);color:#764ba2}.profile-page .credits-card .credits-hint[data-v-4224bd2a]{margin-top:12px;text-align:center;font-size:12px;color:hsla(0,0%,100%,.7);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;gap:6px}.profile-page .referral-card[data-v-4224bd2a]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.profile-page .referral-card[data-v-4224bd2a] .ant-card-body{background:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .referral-card[data-v-4224bd2a] .ant-divider{border-color:hsla(0,0%,100%,.2)}.profile-page .referral-card .referral-header .referral-title[data-v-4224bd2a]{font-size:16px;font-weight:600;margin:0;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.profile-page .referral-card .referral-header .referral-title .anticon[data-v-4224bd2a]{font-size:18px}.profile-page .referral-card .referral-body[data-v-4224bd2a]{padding:12px 0;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.profile-page .referral-card .referral-body .referral-stats[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.profile-page .referral-card .referral-body .referral-stats .stat-item[data-v-4224bd2a]{text-align:center}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-4224bd2a]{font-size:28px;font-weight:700;color:#fff;display:block}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-label[data-v-4224bd2a]{font-size:12px;color:hsla(0,0%,100%,.8)}.profile-page .referral-card .referral-body .referral-link-section .link-label[data-v-4224bd2a]{font-size:12px;color:hsla(0,0%,100%,.9);margin-bottom:6px}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);color:#fff}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input::-webkit-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input::-moz-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input:-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input::-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input::placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .anticon-copy{color:#fff}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .anticon-copy:hover{color:gold}.profile-page .referral-card .referral-body .referral-hint[data-v-4224bd2a]{margin-top:auto;text-align:center;font-size:12px;color:hsla(0,0%,100%,.85);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;gap:6px}.profile-page .referral-card .referral-body .referral-hint .anticon-gift[data-v-4224bd2a]{color:gold}.profile-page .referral-user-cell[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.profile-page .referral-user-cell .user-info[data-v-4224bd2a]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .referral-user-cell .user-info .nickname[data-v-4224bd2a]{font-weight:500;color:#333}.profile-page .referral-user-cell .user-info .username[data-v-4224bd2a]{font-size:12px;color:#999}.profile-page .exchange-config-section .credential-hint[data-v-4224bd2a]{font-family:SFMono-Regular,Consolas,monospace;font-size:13px;color:#666}.profile-page .test-result-msg[data-v-4224bd2a]{margin-top:8px;font-size:13px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.profile-page .test-result-msg.success[data-v-4224bd2a]{color:#52c41a}.profile-page .test-result-msg.error[data-v-4224bd2a]{color:#f5222d}.profile-page.theme-dark[data-v-4224bd2a]{background:-webkit-gradient(linear,left top,left bottom,from(#141414),to(#1c1c1c));background:linear-gradient(180deg,#141414,#1c1c1c)}.profile-page.theme-dark .page-header .page-title[data-v-4224bd2a]{color:#e0e6ed}.profile-page.theme-dark .page-header .page-desc[data-v-4224bd2a]{color:#8b949e}.profile-page.theme-dark .edit-card[data-v-4224bd2a],.profile-page.theme-dark .profile-card[data-v-4224bd2a]{background:#1c1c1c;-webkit-box-shadow:0 4px 24px rgba(0,0,0,.25);box-shadow:0 4px 24px rgba(0,0,0,.25)}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-card-body,.profile-page.theme-dark .profile-card[data-v-4224bd2a] .ant-card-body{background:#1c1c1c}.profile-page.theme-dark .profile-card .avatar-section .username[data-v-4224bd2a]{color:#e0e6ed}.profile-page.theme-dark .profile-card .profile-info .info-item[data-v-4224bd2a]{border-bottom-color:#2a2a2a}.profile-page.theme-dark .profile-card .profile-info .info-item .label[data-v-4224bd2a]{color:#8b949e}.profile-page.theme-dark .profile-card .profile-info .info-item .value[data-v-4224bd2a]{color:#e0e6ed}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-bar{border-bottom-color:#2a2a2a}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-tab{color:#8b949e}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-tab:hover{color:#e0e6ed}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-tab-active{color:#1890ff}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-form-item-label label{color:#c9d1d9}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input-password{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input-password:focus,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input-password:hover,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input:focus,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input:hover{border-color:#1890ff}.profile-page.theme-dark .credits-card[data-v-4224bd2a]{background:linear-gradient(135deg,#1c1c1c,#1a1a1a 50%,#141414);-webkit-box-shadow:0 4px 24px rgba(0,0,0,.25);box-shadow:0 4px 24px rgba(0,0,0,.25)}.profile-page.theme-dark .credits-card[data-v-4224bd2a] .ant-divider{border-color:hsla(0,0%,100%,.1)}.profile-page.theme-dark .credits-card .credits-actions .ant-btn[data-v-4224bd2a]{background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.2)}.profile-page.theme-dark .credits-card .credits-actions .ant-btn[data-v-4224bd2a]:hover{background:hsla(0,0%,100%,.25)}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table{background:#1c1c1c;color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-thead>tr>th{background:#2a2a2a;color:#c9d1d9;border-bottom-color:#2a2a2a}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td{background:#1c1c1c;color:#c9d1d9;border-bottom-color:#2a2a2a}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#2a2a2a}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-placeholder{background:#1c1c1c;color:#8b949e}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td,.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td :not(.ant-tag):not(.ant-btn),.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td div,.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-table-tbody>tr>td span{color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .amount-positive{color:#52c41a}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .amount-negative{color:#f5222d}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag{border-width:1px;font-weight:600}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-red{background:rgba(245,34,45,.25);border-color:#f5222d;color:#ff7875}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-green{background:rgba(82,196,26,.25);border-color:#52c41a;color:#73d13d}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-blue{background:rgba(24,144,255,.25);border-color:#1890ff;color:#69c0ff}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-gold,.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-orange{background:rgba(250,173,20,.25);border-color:#faad14;color:#ffc53d}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-cyan{background:rgba(19,194,194,.25);border-color:#13c2c2;color:#5cdbd3}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-purple{background:rgba(114,46,209,.25);border-color:#722ed1;color:#b37feb}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-volcano{background:rgba(250,84,28,.25);border-color:#fa541c;color:#ff9c6e}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-lime{background:hsla(89,56%,62%,.25);border-color:#a0d911;color:#bae637}.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-default{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2);color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-form-item-label>label,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-form-item-label>label,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-form-item-label>label{color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-form-item-explain,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-form-item-extra,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-form-item-explain,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-form-item-extra,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-form-item-explain,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-form-item-extra{color:#8b949e}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector::-webkit-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector::-moz-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector:-ms-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector::-ms-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-number::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input-password::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-input::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selector::placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-number::placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input-password::placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-input::placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selector::placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-number::placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input-password::placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-input::placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selector::placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-checkbox-wrapper,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-checkbox-wrapper span,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-radio-wrapper,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-radio-wrapper span,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selection-item,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-select-selection-placeholder,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-checkbox-wrapper,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-checkbox-wrapper span,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-radio-wrapper,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-radio-wrapper span,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selection-item,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-select-selection-placeholder,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-checkbox-wrapper,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-checkbox-wrapper span,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-radio-wrapper,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-radio-wrapper span,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selection-item,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-select-selection-placeholder{color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner{background-color:#1890ff;border-color:#1890ff}.profile-page.theme-dark .notification-settings-form .email-hint[data-v-4224bd2a],.profile-page.theme-dark .notification-settings-form .field-hint[data-v-4224bd2a],.profile-page.theme-dark .password-form .email-hint[data-v-4224bd2a],.profile-page.theme-dark .password-form .field-hint[data-v-4224bd2a],.profile-page.theme-dark .profile-form .email-hint[data-v-4224bd2a],.profile-page.theme-dark .profile-form .field-hint[data-v-4224bd2a]{color:#8b949e}.profile-page.theme-dark .notification-settings-form .email-warning[data-v-4224bd2a],.profile-page.theme-dark .password-form .email-warning[data-v-4224bd2a],.profile-page.theme-dark .profile-form .email-warning[data-v-4224bd2a]{color:#f5222d}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-alert{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-alert .ant-alert-message{color:#c9d1d9}.profile-page.theme-dark .exchange-config-section .credential-hint[data-v-4224bd2a],.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-alert .ant-alert-description{color:#8b949e}.profile-page.theme-dark .test-result-msg.success[data-v-4224bd2a]{color:#52c41a}.profile-page.theme-dark .test-result-msg.error[data-v-4224bd2a]{color:#f5222d}.profile-page.theme-dark .referral-user-cell .user-info .nickname[data-v-4224bd2a]{color:#c9d1d9}.profile-page.theme-dark .referral-user-cell .user-info .username[data-v-4224bd2a]{color:#8b949e}.profile-page.theme-dark[data-v-4224bd2a] .ant-tag{color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-tag.ant-tag-has-color{color:#fff!important;border-color:transparent!important}.profile-page.theme-dark[data-v-4224bd2a] .ant-input-prefix .anticon,.profile-page.theme-dark[data-v-4224bd2a] .ant-input-suffix .anticon,.profile-page.theme-dark[data-v-4224bd2a] .credits-hint .anticon,.profile-page.theme-dark[data-v-4224bd2a] .email-hint .anticon,.profile-page.theme-dark[data-v-4224bd2a] .field-hint .anticon,.profile-page.theme-dark[data-v-4224bd2a] .notification-settings-form .anticon{color:#c9d1d9!important}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item{background:#1c1c1c;border-color:#2a2a2a}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item a{color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item:hover{border-color:#1890ff}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item-active{background:#1890ff;border-color:#1890ff}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item-active a{color:#fff}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-next .ant-pagination-item-link,.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-prev .ant-pagination-item-link{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-options .ant-select-selector{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-btn.ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-4224bd2a] .ant-btn.ant-btn-default:hover{border-color:#1890ff;color:#1890ff}@media screen and (max-width:768px){.profile-page[data-v-4224bd2a]{padding:12px}.profile-page .page-header[data-v-4224bd2a]{margin-bottom:16px}.profile-page .page-header .page-title[data-v-4224bd2a]{font-size:20px}.profile-page .page-header .page-title .anticon[data-v-4224bd2a]{font-size:22px}.profile-page .page-header .page-desc[data-v-4224bd2a]{font-size:13px}.profile-page .profile-cards-row[data-v-4224bd2a]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .profile-card-col[data-v-4224bd2a]{margin-bottom:12px}.profile-page .profile-cards-row .right-cards-col .right-cards-row[data-v-4224bd2a]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-col .right-cards-row .ant-col[data-v-4224bd2a]{margin-bottom:12px}.profile-page .profile-card[data-v-4224bd2a]{border-radius:10px}.profile-page .profile-card .avatar-section[data-v-4224bd2a]{padding:16px 0}.profile-page .profile-card .avatar-section[data-v-4224bd2a] .ant-avatar{width:80px!important;height:80px!important;line-height:80px!important}.profile-page .profile-card .avatar-section .username[data-v-4224bd2a]{font-size:18px;margin:12px 0 6px}.profile-page .profile-card .profile-info .info-item[data-v-4224bd2a]{padding:10px 0;-ms-flex-wrap:wrap;flex-wrap:wrap}.profile-page .profile-card .profile-info .info-item .anticon[data-v-4224bd2a]{font-size:14px;margin-right:8px}.profile-page .profile-card .profile-info .info-item .label[data-v-4224bd2a]{font-size:13px}.profile-page .profile-card .profile-info .info-item .value[data-v-4224bd2a]{font-size:13px;word-break:break-all}.profile-page .credits-card[data-v-4224bd2a]{border-radius:10px}.profile-page .credits-card .credits-header .credits-title[data-v-4224bd2a]{font-size:15px}.profile-page .credits-card .credits-header .credits-title .anticon[data-v-4224bd2a]{font-size:16px}.profile-page .credits-card .credits-body[data-v-4224bd2a]{padding:16px 0}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-4224bd2a]{font-size:32px}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-4224bd2a]{font-size:14px}.profile-page .credits-card .credits-body .vip-status[data-v-4224bd2a]{font-size:12px;margin-top:10px}.profile-page .credits-card .credits-actions .ant-btn[data-v-4224bd2a]{height:34px;padding:0 20px;font-size:14px}.profile-page .credits-card .credits-hint[data-v-4224bd2a]{font-size:11px;margin-top:10px}.profile-page .referral-card[data-v-4224bd2a]{border-radius:10px}.profile-page .referral-card .referral-header .referral-title[data-v-4224bd2a]{font-size:15px}.profile-page .referral-card .referral-header .referral-title .anticon[data-v-4224bd2a]{font-size:16px}.profile-page .referral-card .referral-body[data-v-4224bd2a]{padding:10px 0}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-4224bd2a]{font-size:24px}.profile-page .referral-card .referral-body .referral-link-section .link-label[data-v-4224bd2a],.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-label[data-v-4224bd2a]{font-size:11px}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-4224bd2a] .ant-input{font-size:12px}.profile-page .referral-card .referral-body .referral-hint[data-v-4224bd2a]{font-size:11px;padding-top:8px}.profile-page .edit-card[data-v-4224bd2a]{border-radius:10px;margin-top:12px!important}.profile-page .edit-card[data-v-4224bd2a] .ant-card-body{padding:12px}.profile-page .edit-card[data-v-4224bd2a] .ant-tabs-nav .ant-tabs-tab{padding:10px 12px;font-size:13px}.profile-page .edit-card[data-v-4224bd2a] .ant-tabs-nav-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-page .edit-card[data-v-4224bd2a] .ant-tabs-nav-scroll::-webkit-scrollbar{display:none}.profile-page .edit-card .password-form[data-v-4224bd2a],.profile-page .edit-card .profile-form[data-v-4224bd2a]{max-width:100%}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-form-item-label,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-form-item-label{padding-bottom:4px}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-form-item-label label,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-form-item-label label{font-size:13px}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-input,.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-input-password,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-input,.profile-page .edit-card .profile-form[data-v-4224bd2a] .ant-input-password{font-size:14px}.profile-page .edit-card .password-form .email-hint[data-v-4224bd2a],.profile-page .edit-card .profile-form .email-hint[data-v-4224bd2a]{font-size:11px}.profile-page .edit-card .password-form[data-v-4224bd2a] .ant-alert{font-size:12px;padding:8px 12px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-alert{font-size:12px;padding:8px 12px;margin-bottom:16px!important}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-form{max-width:100%}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group .ant-row{margin-left:0!important;margin-right:0!important}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group .ant-row .ant-col{padding-left:0!important;padding-right:8px!important}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group .ant-checkbox-wrapper{font-size:13px;margin-bottom:6px}.profile-page .edit-card .notification-settings-form .field-hint[data-v-4224bd2a]{font-size:11px;-ms-flex-wrap:wrap;flex-wrap:wrap}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-form-item{margin-bottom:16px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-form-item:last-child .ant-btn{width:100%;margin-bottom:8px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-form-item:last-child .ant-btn+.ant-btn{margin-left:0!important}.profile-page .edit-card[data-v-4224bd2a] .ant-table-wrapper{overflow-x:auto}.profile-page .edit-card[data-v-4224bd2a] .ant-table-wrapper .ant-table{min-width:500px}.profile-page .referral-user-cell[data-v-4224bd2a]{gap:8px}.profile-page .referral-user-cell[data-v-4224bd2a] .ant-avatar{width:28px!important;height:28px!important;line-height:28px!important}.profile-page .referral-user-cell .user-info .nickname[data-v-4224bd2a]{font-size:13px}.profile-page .referral-user-cell .user-info .username[data-v-4224bd2a]{font-size:11px}}@media screen and (max-width:480px){.profile-page[data-v-4224bd2a]{padding:8px}.profile-page .page-header[data-v-4224bd2a]{margin-bottom:12px}.profile-page .page-header .page-title[data-v-4224bd2a]{font-size:18px;gap:8px}.profile-page .page-header .page-title .anticon[data-v-4224bd2a]{font-size:20px}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-4224bd2a]{font-size:28px}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-4224bd2a]{font-size:13px}.profile-page .credits-card .credits-actions .ant-btn[data-v-4224bd2a]{width:100%}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-4224bd2a]{font-size:20px}.profile-page .edit-card[data-v-4224bd2a] .ant-tabs-nav .ant-tabs-tab{padding:8px 10px;font-size:12px}.profile-page .edit-card .notification-settings-form[data-v-4224bd2a] .ant-checkbox-group .ant-row .ant-col{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}.profile-exchange-modal .exchange-account-form .egress-ip-block{width:100%}.profile-exchange-modal .exchange-account-form .egress-ip-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px}.profile-exchange-modal .exchange-account-form .egress-ip-refresh-row{margin-top:4px}.profile-exchange-modal .exchange-account-form .egress-ip-line{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:10px}.profile-exchange-modal .exchange-account-form .egress-ip-kind{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-width:42px;font-size:12px;color:rgba(0,0,0,.55)}.profile-exchange-modal .exchange-account-form .egress-ip-value{-webkit-box-flex:1;-ms-flex:1 1 160px;flex:1 1 160px;min-width:0;font-family:Consolas,ui-monospace,monospace;font-size:12px;padding:6px 10px;border-radius:4px;border:1px solid #d9d9d9;background:#fafafa;color:#262626;word-break:break-all}.profile-exchange-modal .exchange-account-form .exchange-demo-checkbox-label{color:rgba(0,0,0,.85)}.profile-exchange-modal .exchange-account-form .exchange-demo-hint{margin-top:6px}.profile-exchange-modal--dark .ant-modal-content{background:#1c1c1c;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.45);box-shadow:0 8px 32px rgba(0,0,0,.45)}.profile-exchange-modal--dark .ant-modal-header{background:#1c1c1c;border-bottom:1px solid #2a2a2a}.profile-exchange-modal--dark .ant-modal-title{color:#e0e6ed}.profile-exchange-modal--dark .ant-modal-close{color:#8b949e}.profile-exchange-modal--dark .ant-modal-body,.profile-exchange-modal--dark .ant-modal-close:hover{color:#c9d1d9}.profile-exchange-modal--dark .ant-modal-footer{background:#1c1c1c;border-top:1px solid #2a2a2a}.profile-exchange-modal--dark .exchange-account-form .ant-form-item-label>label{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .ant-form-item-explain,.profile-exchange-modal--dark .exchange-account-form .ant-form-item-extra{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-input,.profile-exchange-modal--dark .exchange-account-form .ant-input-number,.profile-exchange-modal--dark .exchange-account-form .ant-input-number-input,.profile-exchange-modal--dark .exchange-account-form .ant-input-password .ant-input{background:#141414!important;border-color:#2a2a2a!important;color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-input-password-icon{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-wrap{background:#141414;border-left-color:#2a2a2a}.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-down-inner,.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-up-inner{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-select-selector{background:#141414!important;border-color:#2a2a2a!important;color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-item,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-placeholder{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection--single{background:#141414!important;border-color:#2a2a2a!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-placeholder,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-selected-value,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection__rendered{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-arrow{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-checkbox-wrapper,.profile-exchange-modal--dark .exchange-account-form .ant-checkbox-wrapper span{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .exchange-demo-checkbox-label{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .egress-ip-hint,.profile-exchange-modal--dark .exchange-account-form .exchange-demo-hint{color:#8b949e!important}.profile-exchange-modal--dark .exchange-account-form .egress-ip-value{border-color:#2a2a2a!important;background:#141414!important;color:#e0e6ed!important}.profile-exchange-modal--dark .exchange-account-form a.egress-ip-action{color:#58a6ff}.profile-exchange-modal--dark .exchange-account-form .egress-ip-kind{color:#8b949e!important}.profile-exchange-modal--dark .exchange-account-form .ant-alert{background:rgba(250,173,20,.12);border-color:rgba(250,173,20,.45)}.profile-exchange-modal--dark .exchange-account-form .ant-alert-message{color:#ffc53d}.profile-exchange-modal--dark .exchange-account-form .ant-alert-description{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-alert-icon{color:#faad14}.profile-exchange-modal--dark .exchange-account-form .field-hint{color:#8b949e;margin-top:6px;font-size:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:6px}.profile-exchange-modal--dark .exchange-account-form .field-hint .anticon{color:#8b949e;margin-top:2px}.profile-exchange-modal--dark .exchange-account-form .test-result-msg{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .test-result-msg.success{color:#73d13d}.profile-exchange-modal--dark .exchange-account-form .test-result-msg.error{color:#ff7875}.profile-exchange-select-dropdown-dark.ant-select-dropdown{background:#1c1c1c}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item{color:#c9d1d9}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item:hover{background:#2a2a2a}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-selected{background:#2a2a2a!important;color:#e0e6ed;font-weight:500}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-group-title{color:#8b949e!important;font-size:12px}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item,.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-selected{color:#c9d1d9!important}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-empty-description{color:#8b949e}
\ No newline at end of file
diff --git a/frontend/dist/css/47.1d274d06.css b/frontend/dist/css/47.1d274d06.css
new file mode 100644
index 0000000..4c8e527
--- /dev/null
+++ b/frontend/dist/css/47.1d274d06.css
@@ -0,0 +1 @@
+.profile-page[data-v-082fd138]{padding:24px;min-height:calc(100vh - 120px);background:-webkit-gradient(linear,left top,left bottom,from(#f8fafc),to(#f1f5f9));background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.profile-page .page-header[data-v-082fd138]{margin-bottom:24px}.profile-page .page-header .page-title[data-v-082fd138]{font-size:24px;font-weight:700;margin:0 0 8px 0;color:#1e3a5f;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.profile-page .page-header .page-title .anticon[data-v-082fd138]{font-size:28px;color:#1890ff}.profile-page .page-header .page-desc[data-v-082fd138]{color:#64748b;font-size:14px;margin:0}.profile-page .profile-cards-row[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.profile-page .profile-cards-row .profile-card-col .ant-card[data-v-082fd138],.profile-page .profile-cards-row .profile-card-col[data-v-082fd138],.profile-page .profile-cards-row .right-cards-col .ant-card[data-v-082fd138],.profile-page .profile-cards-row .right-cards-col[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .profile-card-col .ant-card[data-v-082fd138],.profile-page .profile-cards-row .right-cards-col .ant-card[data-v-082fd138]{height:100%}.profile-page .profile-cards-row .profile-card-col[data-v-082fd138] .ant-card-body,.profile-page .profile-cards-row .right-cards-col[data-v-082fd138] .ant-card-body{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-row[data-v-082fd138]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.profile-page .profile-cards-row .right-cards-row .ant-col .ant-card[data-v-082fd138],.profile-page .profile-cards-row .right-cards-row .ant-col[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-row .ant-col .ant-card[data-v-082fd138]{height:100%}.profile-page .profile-cards-row .right-cards-row .ant-col[data-v-082fd138] .ant-card-body{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-card[data-v-082fd138]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center}.profile-page .profile-card .avatar-section[data-v-082fd138]{padding:20px 0}.profile-page .profile-card .avatar-section .ant-avatar[data-v-082fd138]{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15);box-shadow:0 4px 12px rgba(0,0,0,.15)}.profile-page .profile-card .avatar-section .username[data-v-082fd138]{margin:16px 0 8px;font-size:20px;font-weight:600;color:#1e3a5f}.profile-page .profile-card .avatar-section .user-role[data-v-082fd138]{margin:0}.profile-page .profile-card .profile-info[data-v-082fd138]{text-align:left;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around}.profile-page .profile-card .profile-info .info-item[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.profile-page .profile-card .profile-info .info-item[data-v-082fd138]:last-child{border-bottom:none}.profile-page .profile-card .profile-info .info-item .anticon[data-v-082fd138]{font-size:16px;color:#1890ff;margin-right:12px}.profile-page .profile-card .profile-info .info-item .label[data-v-082fd138]{color:#64748b;margin-right:8px}.profile-page .profile-card .profile-info .info-item .value[data-v-082fd138]{color:#1e3a5f;font-weight:500}.profile-page .edit-card[data-v-082fd138]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08)}.profile-page .edit-card .password-form[data-v-082fd138],.profile-page .edit-card .profile-form[data-v-082fd138]{max-width:500px}.profile-page .edit-card .password-form[data-v-082fd138] .ant-input,.profile-page .edit-card .password-form[data-v-082fd138] .ant-input-password,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-input,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-input-password{border-radius:8px}.profile-page .edit-card .password-form .email-hint[data-v-082fd138],.profile-page .edit-card .profile-form .email-hint[data-v-082fd138]{margin-top:8px;font-size:12px;color:rgba(0,0,0,.45)}.profile-page .edit-card .password-form .email-hint.email-warning[data-v-082fd138],.profile-page .edit-card .profile-form .email-hint.email-warning[data-v-082fd138]{color:#faad14}.profile-page .edit-card .amount-positive[data-v-082fd138]{color:#52c41a;font-weight:600}.profile-page .edit-card .amount-negative[data-v-082fd138]{color:#ff4d4f;font-weight:600}.profile-page .edit-card .notification-settings-form .field-hint[data-v-082fd138]{margin-top:6px;font-size:12px;color:rgba(0,0,0,.45);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.profile-page .edit-card .notification-settings-form .field-hint .anticon[data-v-082fd138]{font-size:12px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group{width:100%}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-wrapper{margin-bottom:8px}.profile-page .credits-card[data-v-082fd138]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.profile-page .credits-card[data-v-082fd138] .ant-card-body{background:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .credits-card[data-v-082fd138] .ant-divider{border-color:hsla(0,0%,100%,.2)}.profile-page .credits-card .credits-header .credits-title[data-v-082fd138]{font-size:16px;font-weight:600;margin:0;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.profile-page .credits-card .credits-header .credits-title .anticon[data-v-082fd138]{font-size:18px}.profile-page .credits-card .credits-body[data-v-082fd138]{padding:20px 0;text-align:center;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-082fd138]{font-size:42px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-082fd138]{font-size:16px;color:hsla(0,0%,100%,.9);margin-left:8px}.profile-page .credits-card .credits-body .vip-status[data-v-082fd138]{margin-top:12px;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;gap:6px;font-size:13px}.profile-page .credits-card .credits-body .vip-status .vip-active[data-v-082fd138]{color:gold}.profile-page .credits-card .credits-body .vip-status .vip-expired[data-v-082fd138]{color:hsla(0,0%,100%,.6)}.profile-page .credits-card .credits-body .vip-status .no-vip[data-v-082fd138]{color:hsla(0,0%,100%,.7)}.profile-page .credits-card .credits-actions[data-v-082fd138]{text-align:center;margin-top:auto}.profile-page .credits-card .credits-actions .ant-btn[data-v-082fd138]{border-radius:20px;padding:0 24px;height:36px;font-weight:500;background:#fff;color:#667eea;border:none}.profile-page .credits-card .credits-actions .ant-btn[data-v-082fd138]:hover{background:hsla(0,0%,100%,.9);color:#764ba2}.profile-page .credits-card .credits-hint[data-v-082fd138]{margin-top:12px;text-align:center;font-size:12px;color:hsla(0,0%,100%,.7);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;gap:6px}.profile-page .referral-card[data-v-082fd138]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.profile-page .referral-card[data-v-082fd138] .ant-card-body{background:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .referral-card[data-v-082fd138] .ant-divider{border-color:hsla(0,0%,100%,.2)}.profile-page .referral-card .referral-header .referral-title[data-v-082fd138]{font-size:16px;font-weight:600;margin:0;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.profile-page .referral-card .referral-header .referral-title .anticon[data-v-082fd138]{font-size:18px}.profile-page .referral-card .referral-body[data-v-082fd138]{padding:12px 0;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.profile-page .referral-card .referral-body .referral-stats[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.profile-page .referral-card .referral-body .referral-stats .stat-item[data-v-082fd138]{text-align:center}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-082fd138]{font-size:28px;font-weight:700;color:#fff;display:block}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-label[data-v-082fd138]{font-size:12px;color:hsla(0,0%,100%,.8)}.profile-page .referral-card .referral-body .referral-link-section .link-label[data-v-082fd138]{font-size:12px;color:hsla(0,0%,100%,.9);margin-bottom:6px}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);color:#fff}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input::-webkit-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input::-moz-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input:-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input::-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input::placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .anticon-copy{color:#fff}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .anticon-copy:hover{color:gold}.profile-page .referral-card .referral-body .referral-hint[data-v-082fd138]{margin-top:auto;text-align:center;font-size:12px;color:hsla(0,0%,100%,.85);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;gap:6px}.profile-page .referral-card .referral-body .referral-hint .anticon-gift[data-v-082fd138]{color:gold}.profile-page .referral-user-cell[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.profile-page .referral-user-cell .user-info[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .referral-user-cell .user-info .nickname[data-v-082fd138]{font-weight:500;color:#333}.profile-page .referral-user-cell .user-info .username[data-v-082fd138]{font-size:12px;color:#999}.profile-page .exchange-config-section .credential-hint[data-v-082fd138]{font-family:SFMono-Regular,Consolas,monospace;font-size:13px;color:#666}.profile-page .test-result-msg[data-v-082fd138]{margin-top:8px;font-size:13px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.profile-page .test-result-msg.success[data-v-082fd138]{color:#52c41a}.profile-page .test-result-msg.error[data-v-082fd138]{color:#f5222d}.profile-page.theme-dark[data-v-082fd138]{background:-webkit-gradient(linear,left top,left bottom,from(#141414),to(#1c1c1c));background:linear-gradient(180deg,#141414,#1c1c1c)}.profile-page.theme-dark .page-header .page-title[data-v-082fd138]{color:#e0e6ed}.profile-page.theme-dark .page-header .page-desc[data-v-082fd138]{color:#8b949e}.profile-page.theme-dark .edit-card[data-v-082fd138],.profile-page.theme-dark .profile-card[data-v-082fd138]{background:#1c1c1c;-webkit-box-shadow:0 4px 24px rgba(0,0,0,.25);box-shadow:0 4px 24px rgba(0,0,0,.25)}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-card-body,.profile-page.theme-dark .profile-card[data-v-082fd138] .ant-card-body{background:#1c1c1c}.profile-page.theme-dark .profile-card .avatar-section .username[data-v-082fd138]{color:#e0e6ed}.profile-page.theme-dark .profile-card .profile-info .info-item[data-v-082fd138]{border-bottom-color:#2a2a2a}.profile-page.theme-dark .profile-card .profile-info .info-item .label[data-v-082fd138]{color:#8b949e}.profile-page.theme-dark .profile-card .profile-info .info-item .value[data-v-082fd138]{color:#e0e6ed}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-bar{border-bottom-color:#2a2a2a}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-tab{color:#8b949e}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-tab:hover{color:#e0e6ed}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-tab-active{color:#1890ff}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-form-item-label label{color:#c9d1d9}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input-password{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input-password:focus,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input-password:hover,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input:focus,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input:hover{border-color:#1890ff}.profile-page.theme-dark .credits-card[data-v-082fd138]{background:linear-gradient(135deg,#1c1c1c,#1a1a1a 50%,#141414);-webkit-box-shadow:0 4px 24px rgba(0,0,0,.25);box-shadow:0 4px 24px rgba(0,0,0,.25)}.profile-page.theme-dark .credits-card[data-v-082fd138] .ant-divider{border-color:hsla(0,0%,100%,.1)}.profile-page.theme-dark .credits-card .credits-actions .ant-btn[data-v-082fd138]{background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.2)}.profile-page.theme-dark .credits-card .credits-actions .ant-btn[data-v-082fd138]:hover{background:hsla(0,0%,100%,.25)}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table{background:#1c1c1c;color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-thead>tr>th{background:#2a2a2a;color:#c9d1d9;border-bottom-color:#2a2a2a}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td{background:#1c1c1c;color:#c9d1d9;border-bottom-color:#2a2a2a}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#2a2a2a}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-placeholder{background:#1c1c1c;color:#8b949e}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td,.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td :not(.ant-tag):not(.ant-btn),.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td div,.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td span{color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .amount-positive{color:#52c41a}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .amount-negative{color:#f5222d}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag{border-width:1px;font-weight:600}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-red{background:rgba(245,34,45,.25);border-color:#f5222d;color:#ff7875}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-green{background:rgba(82,196,26,.25);border-color:#52c41a;color:#73d13d}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-blue{background:rgba(24,144,255,.25);border-color:#1890ff;color:#69c0ff}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-gold,.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-orange{background:rgba(250,173,20,.25);border-color:#faad14;color:#ffc53d}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-cyan{background:rgba(19,194,194,.25);border-color:#13c2c2;color:#5cdbd3}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-purple{background:rgba(114,46,209,.25);border-color:#722ed1;color:#b37feb}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-volcano{background:rgba(250,84,28,.25);border-color:#fa541c;color:#ff9c6e}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-lime{background:hsla(89,56%,62%,.25);border-color:#a0d911;color:#bae637}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-default{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2);color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-form-item-label>label,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-form-item-label>label,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-form-item-label>label{color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-form-item-explain,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-form-item-extra,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-form-item-explain,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-form-item-extra,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-form-item-explain,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-form-item-extra{color:#8b949e}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector::-webkit-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector::-moz-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector:-ms-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector::-ms-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector::placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number::placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password::placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input::placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector::placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number::placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password::placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input::placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector::placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-checkbox-wrapper,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-checkbox-wrapper span,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-radio-wrapper,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-radio-wrapper span,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selection-item,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selection-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-checkbox-wrapper,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-checkbox-wrapper span,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-radio-wrapper,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-radio-wrapper span,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selection-item,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selection-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-checkbox-wrapper,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-checkbox-wrapper span,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-radio-wrapper,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-radio-wrapper span,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selection-item,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selection-placeholder{color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner{background-color:#1890ff;border-color:#1890ff}.profile-page.theme-dark .notification-settings-form .email-hint[data-v-082fd138],.profile-page.theme-dark .notification-settings-form .field-hint[data-v-082fd138],.profile-page.theme-dark .password-form .email-hint[data-v-082fd138],.profile-page.theme-dark .password-form .field-hint[data-v-082fd138],.profile-page.theme-dark .profile-form .email-hint[data-v-082fd138],.profile-page.theme-dark .profile-form .field-hint[data-v-082fd138]{color:#8b949e}.profile-page.theme-dark .notification-settings-form .email-warning[data-v-082fd138],.profile-page.theme-dark .password-form .email-warning[data-v-082fd138],.profile-page.theme-dark .profile-form .email-warning[data-v-082fd138]{color:#f5222d}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-alert{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-alert .ant-alert-message{color:#c9d1d9}.profile-page.theme-dark .exchange-config-section .credential-hint[data-v-082fd138],.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-alert .ant-alert-description{color:#8b949e}.profile-page.theme-dark .test-result-msg.success[data-v-082fd138]{color:#52c41a}.profile-page.theme-dark .test-result-msg.error[data-v-082fd138]{color:#f5222d}.profile-page.theme-dark .referral-user-cell .user-info .nickname[data-v-082fd138]{color:#c9d1d9}.profile-page.theme-dark .referral-user-cell .user-info .username[data-v-082fd138]{color:#8b949e}.profile-page.theme-dark[data-v-082fd138] .ant-tag{color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-tag.ant-tag-has-color{color:#fff!important;border-color:transparent!important}.profile-page.theme-dark[data-v-082fd138] .ant-input-prefix .anticon,.profile-page.theme-dark[data-v-082fd138] .ant-input-suffix .anticon,.profile-page.theme-dark[data-v-082fd138] .credits-hint .anticon,.profile-page.theme-dark[data-v-082fd138] .email-hint .anticon,.profile-page.theme-dark[data-v-082fd138] .field-hint .anticon,.profile-page.theme-dark[data-v-082fd138] .notification-settings-form .anticon{color:#c9d1d9!important}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item{background:#1c1c1c;border-color:#2a2a2a}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item a{color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item:hover{border-color:#1890ff}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item-active{background:#1890ff;border-color:#1890ff}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item-active a{color:#fff}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-next .ant-pagination-item-link,.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-prev .ant-pagination-item-link{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-options .ant-select-selector{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-btn.ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-btn.ant-btn-default:hover{border-color:#1890ff;color:#1890ff}@media screen and (max-width:768px){.profile-page[data-v-082fd138]{padding:12px}.profile-page .page-header[data-v-082fd138]{margin-bottom:16px}.profile-page .page-header .page-title[data-v-082fd138]{font-size:20px}.profile-page .page-header .page-title .anticon[data-v-082fd138]{font-size:22px}.profile-page .page-header .page-desc[data-v-082fd138]{font-size:13px}.profile-page .profile-cards-row[data-v-082fd138]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .profile-card-col[data-v-082fd138]{margin-bottom:12px}.profile-page .profile-cards-row .right-cards-col .right-cards-row[data-v-082fd138]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-col .right-cards-row .ant-col[data-v-082fd138]{margin-bottom:12px}.profile-page .profile-card[data-v-082fd138]{border-radius:10px}.profile-page .profile-card .avatar-section[data-v-082fd138]{padding:16px 0}.profile-page .profile-card .avatar-section[data-v-082fd138] .ant-avatar{width:80px!important;height:80px!important;line-height:80px!important}.profile-page .profile-card .avatar-section .username[data-v-082fd138]{font-size:18px;margin:12px 0 6px}.profile-page .profile-card .profile-info .info-item[data-v-082fd138]{padding:10px 0;-ms-flex-wrap:wrap;flex-wrap:wrap}.profile-page .profile-card .profile-info .info-item .anticon[data-v-082fd138]{font-size:14px;margin-right:8px}.profile-page .profile-card .profile-info .info-item .label[data-v-082fd138]{font-size:13px}.profile-page .profile-card .profile-info .info-item .value[data-v-082fd138]{font-size:13px;word-break:break-all}.profile-page .credits-card[data-v-082fd138]{border-radius:10px}.profile-page .credits-card .credits-header .credits-title[data-v-082fd138]{font-size:15px}.profile-page .credits-card .credits-header .credits-title .anticon[data-v-082fd138]{font-size:16px}.profile-page .credits-card .credits-body[data-v-082fd138]{padding:16px 0}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-082fd138]{font-size:32px}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-082fd138]{font-size:14px}.profile-page .credits-card .credits-body .vip-status[data-v-082fd138]{font-size:12px;margin-top:10px}.profile-page .credits-card .credits-actions .ant-btn[data-v-082fd138]{height:34px;padding:0 20px;font-size:14px}.profile-page .credits-card .credits-hint[data-v-082fd138]{font-size:11px;margin-top:10px}.profile-page .referral-card[data-v-082fd138]{border-radius:10px}.profile-page .referral-card .referral-header .referral-title[data-v-082fd138]{font-size:15px}.profile-page .referral-card .referral-header .referral-title .anticon[data-v-082fd138]{font-size:16px}.profile-page .referral-card .referral-body[data-v-082fd138]{padding:10px 0}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-082fd138]{font-size:24px}.profile-page .referral-card .referral-body .referral-link-section .link-label[data-v-082fd138],.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-label[data-v-082fd138]{font-size:11px}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input{font-size:12px}.profile-page .referral-card .referral-body .referral-hint[data-v-082fd138]{font-size:11px;padding-top:8px}.profile-page .edit-card[data-v-082fd138]{border-radius:10px;margin-top:12px!important}.profile-page .edit-card[data-v-082fd138] .ant-card-body{padding:12px}.profile-page .edit-card[data-v-082fd138] .ant-tabs-nav .ant-tabs-tab{padding:10px 12px;font-size:13px}.profile-page .edit-card[data-v-082fd138] .ant-tabs-nav-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-page .edit-card[data-v-082fd138] .ant-tabs-nav-scroll::-webkit-scrollbar{display:none}.profile-page .edit-card .password-form[data-v-082fd138],.profile-page .edit-card .profile-form[data-v-082fd138]{max-width:100%}.profile-page .edit-card .password-form[data-v-082fd138] .ant-form-item-label,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-form-item-label{padding-bottom:4px}.profile-page .edit-card .password-form[data-v-082fd138] .ant-form-item-label label,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-form-item-label label{font-size:13px}.profile-page .edit-card .password-form[data-v-082fd138] .ant-input,.profile-page .edit-card .password-form[data-v-082fd138] .ant-input-password,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-input,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-input-password{font-size:14px}.profile-page .edit-card .password-form .email-hint[data-v-082fd138],.profile-page .edit-card .profile-form .email-hint[data-v-082fd138]{font-size:11px}.profile-page .edit-card .password-form[data-v-082fd138] .ant-alert{font-size:12px;padding:8px 12px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-alert{font-size:12px;padding:8px 12px;margin-bottom:16px!important}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-form{max-width:100%}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group .ant-row{margin-left:0!important;margin-right:0!important}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group .ant-row .ant-col{padding-left:0!important;padding-right:8px!important}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group .ant-checkbox-wrapper{font-size:13px;margin-bottom:6px}.profile-page .edit-card .notification-settings-form .field-hint[data-v-082fd138]{font-size:11px;-ms-flex-wrap:wrap;flex-wrap:wrap}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-form-item{margin-bottom:16px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-form-item:last-child .ant-btn{width:100%;margin-bottom:8px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-form-item:last-child .ant-btn+.ant-btn{margin-left:0!important}.profile-page .edit-card[data-v-082fd138] .ant-table-wrapper{overflow-x:auto}.profile-page .edit-card[data-v-082fd138] .ant-table-wrapper .ant-table{min-width:500px}.profile-page .referral-user-cell[data-v-082fd138]{gap:8px}.profile-page .referral-user-cell[data-v-082fd138] .ant-avatar{width:28px!important;height:28px!important;line-height:28px!important}.profile-page .referral-user-cell .user-info .nickname[data-v-082fd138]{font-size:13px}.profile-page .referral-user-cell .user-info .username[data-v-082fd138]{font-size:11px}}@media screen and (max-width:480px){.profile-page[data-v-082fd138]{padding:8px}.profile-page .page-header[data-v-082fd138]{margin-bottom:12px}.profile-page .page-header .page-title[data-v-082fd138]{font-size:18px;gap:8px}.profile-page .page-header .page-title .anticon[data-v-082fd138]{font-size:20px}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-082fd138]{font-size:28px}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-082fd138]{font-size:13px}.profile-page .credits-card .credits-actions .ant-btn[data-v-082fd138]{width:100%}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-082fd138]{font-size:20px}.profile-page .edit-card[data-v-082fd138] .ant-tabs-nav .ant-tabs-tab{padding:8px 10px;font-size:12px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group .ant-row .ant-col{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}.profile-exchange-modal .exchange-account-form .egress-ip-block{width:100%}.profile-exchange-modal .exchange-account-form .egress-ip-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px}.profile-exchange-modal .exchange-account-form .egress-ip-refresh-row{margin-top:4px}.profile-exchange-modal .exchange-account-form .egress-ip-line{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:10px}.profile-exchange-modal .exchange-account-form .egress-ip-kind{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-width:42px;font-size:12px;color:rgba(0,0,0,.55)}.profile-exchange-modal .exchange-account-form .egress-ip-value{-webkit-box-flex:1;-ms-flex:1 1 160px;flex:1 1 160px;min-width:0;font-family:Consolas,ui-monospace,monospace;font-size:12px;padding:6px 10px;border-radius:4px;border:1px solid #d9d9d9;background:#fafafa;color:#262626;word-break:break-all}.profile-exchange-modal .exchange-account-form .exchange-demo-checkbox-label{color:rgba(0,0,0,.85)}.profile-exchange-modal .exchange-account-form .exchange-demo-hint{margin-top:6px}.profile-exchange-modal--dark .ant-modal-content{background:#1c1c1c;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.45);box-shadow:0 8px 32px rgba(0,0,0,.45)}.profile-exchange-modal--dark .ant-modal-header{background:#1c1c1c;border-bottom:1px solid #2a2a2a}.profile-exchange-modal--dark .ant-modal-title{color:#e0e6ed}.profile-exchange-modal--dark .ant-modal-close{color:#8b949e}.profile-exchange-modal--dark .ant-modal-body,.profile-exchange-modal--dark .ant-modal-close:hover{color:#c9d1d9}.profile-exchange-modal--dark .ant-modal-footer{background:#1c1c1c;border-top:1px solid #2a2a2a}.profile-exchange-modal--dark .exchange-account-form .ant-form-item-label>label{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .ant-form-item-explain,.profile-exchange-modal--dark .exchange-account-form .ant-form-item-extra{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-input,.profile-exchange-modal--dark .exchange-account-form .ant-input-number,.profile-exchange-modal--dark .exchange-account-form .ant-input-number-input,.profile-exchange-modal--dark .exchange-account-form .ant-input-password .ant-input{background:#141414!important;border-color:#2a2a2a!important;color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-input-password-icon{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-wrap{background:#141414;border-left-color:#2a2a2a}.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-down-inner,.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-up-inner{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-select-selector{background:#141414!important;border-color:#2a2a2a!important;color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-item,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-placeholder{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection--single{background:#141414!important;border-color:#2a2a2a!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-placeholder,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-selected-value,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection__rendered{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-arrow{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-checkbox-wrapper,.profile-exchange-modal--dark .exchange-account-form .ant-checkbox-wrapper span{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .exchange-demo-checkbox-label{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .egress-ip-hint,.profile-exchange-modal--dark .exchange-account-form .exchange-demo-hint{color:#8b949e!important}.profile-exchange-modal--dark .exchange-account-form .egress-ip-value{border-color:#2a2a2a!important;background:#141414!important;color:#e0e6ed!important}.profile-exchange-modal--dark .exchange-account-form a.egress-ip-action{color:#58a6ff}.profile-exchange-modal--dark .exchange-account-form .egress-ip-kind{color:#8b949e!important}.profile-exchange-modal--dark .exchange-account-form .ant-alert{background:rgba(250,173,20,.12);border-color:rgba(250,173,20,.45)}.profile-exchange-modal--dark .exchange-account-form .ant-alert-message{color:#ffc53d}.profile-exchange-modal--dark .exchange-account-form .ant-alert-description{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-alert-icon{color:#faad14}.profile-exchange-modal--dark .exchange-account-form .field-hint{color:#8b949e;margin-top:6px;font-size:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:6px}.profile-exchange-modal--dark .exchange-account-form .field-hint .anticon{color:#8b949e;margin-top:2px}.profile-exchange-modal--dark .exchange-account-form .test-result-msg{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .test-result-msg.success{color:#73d13d}.profile-exchange-modal--dark .exchange-account-form .test-result-msg.error{color:#ff7875}.profile-exchange-select-dropdown-dark.ant-select-dropdown{background:#1c1c1c}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item{color:#c9d1d9}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item:hover{background:#2a2a2a}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-selected{background:#2a2a2a!important;color:#e0e6ed;font-weight:500}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-group-title{color:#8b949e!important;font-size:12px}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item,.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-selected{color:#c9d1d9!important}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-empty-description{color:#8b949e}
\ No newline at end of file
diff --git a/frontend/dist/css/200.e5d22965.css b/frontend/dist/css/631.220338f3.css
similarity index 73%
rename from frontend/dist/css/200.e5d22965.css
rename to frontend/dist/css/631.220338f3.css
index 9fb1fb7..fd995ae 100644
--- a/frontend/dist/css/200.e5d22965.css
+++ b/frontend/dist/css/631.220338f3.css
@@ -1 +1 @@
-.fast-analysis-report[data-v-03feb1fa]{height:100%;overflow-y:auto;padding:24px;background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}.fast-analysis-report[data-v-03feb1fa]::-webkit-scrollbar{width:4px}.fast-analysis-report[data-v-03feb1fa]::-webkit-scrollbar-thumb{background:#d0d4da;border-radius:2px}.fast-analysis-report .loading-container[data-v-03feb1fa]{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;min-height:420px}.fast-analysis-report .loading-container .loading-content-pro[data-v-03feb1fa]{width:100%;max-width:400px;padding:40px}.fast-analysis-report .loading-container .loading-content-pro .loading-header[data-v-03feb1fa]{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;gap:12px;margin-bottom:32px}.fast-analysis-report .loading-container .loading-content-pro .loading-header .loading-icon-pro[data-v-03feb1fa]{font-size:26px;color:var(--primary-color,#1890ff)}.fast-analysis-report .loading-container .loading-content-pro .loading-header .loading-title[data-v-03feb1fa]{font-size:18px;font-weight:700;color:#1a1a2e}.fast-analysis-report .loading-container .loading-content-pro .progress-wrapper[data-v-03feb1fa]{margin-bottom:24px;position:relative}.fast-analysis-report .loading-container .loading-content-pro .progress-wrapper .progress-text[data-v-03feb1fa]{position:absolute;right:0;top:-22px;font-size:13px;font-weight:700;color:var(--primary-color,#1890ff)}.fast-analysis-report .loading-container .loading-content-pro .current-step[data-v-03feb1fa]{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;gap:8px;padding:10px 20px;background:color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent);border-radius:8px;margin-bottom:20px;color:var(--primary-color,#1890ff);font-size:13px;font-weight:600}.fast-analysis-report .loading-container .loading-content-pro .current-step .anticon[data-v-03feb1fa]{font-size:15px}.fast-analysis-report .loading-container .loading-content-pro .steps-list[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:9px 14px;background:rgba(0,0,0,.02);border-radius:8px;font-size:12px;color:#999;-webkit-transition:all .3s;transition:all .3s}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-dot[data-v-03feb1fa]{width:7px;height:7px;border-radius:50%;background:#ddd;-webkit-transition:all .3s;transition:all .3s}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-text[data-v-03feb1fa]{-webkit-box-flex:1;-ms-flex:1;flex:1}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-check[data-v-03feb1fa]{color:#10b981;font-size:13px}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.active[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent);color:var(--primary-color,#1890ff);font-weight:600}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.active .step-dot[data-v-03feb1fa]{background:var(--primary-color,#1890ff);-webkit-box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent)}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.done[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.done .step-dot[data-v-03feb1fa]{background:#10b981}.fast-analysis-report .loading-container .loading-content-pro .loading-footer[data-v-03feb1fa]{margin-top:20px;text-align:center}.fast-analysis-report .loading-container .loading-content-pro .loading-footer .elapsed-time[data-v-03feb1fa]{font-size:12px;color:#999;font-family:SF Mono,Monaco,monospace}.fast-analysis-report .empty-container[data-v-03feb1fa]{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;min-height:400px}.fast-analysis-report .empty-container .empty-content[data-v-03feb1fa]{text-align:center}.fast-analysis-report .empty-container .empty-content .empty-icon[data-v-03feb1fa]{font-size:56px;color:#ccc}.fast-analysis-report .empty-container .empty-content .empty-title[data-v-03feb1fa]{margin-top:14px;font-size:17px;font-weight:700;color:#1a1a2e}.fast-analysis-report .empty-container .empty-content .empty-hint[data-v-03feb1fa]{margin-top:6px;color:#999;font-size:13px}.fast-analysis-report .result-container .decision-card[data-v-03feb1fa]{padding:28px 24px;margin-bottom:2px;border-radius:16px 16px 0 0;background:#fff;position:relative;overflow:hidden}.fast-analysis-report .result-container .decision-card[data-v-03feb1fa]:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .decision-card.decision-buy[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#10b981),to(#34d399));background:linear-gradient(90deg,#10b981,#34d399)}.fast-analysis-report .result-container .decision-card.decision-sell[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#ef4444),to(#f87171));background:linear-gradient(90deg,#ef4444,#f87171)}.fast-analysis-report .result-container .decision-card.decision-hold[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#f59e0b),to(#fbbf24));background:linear-gradient(90deg,#f59e0b,#fbbf24)}.fast-analysis-report .result-container .decision-card .decision-main[data-v-03feb1fa]{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;margin-bottom:16px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge .anticon[data-v-03feb1fa]{font-size:28px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge .decision-text[data-v-03feb1fa]{font-size:32px;font-weight:800;letter-spacing:1px;color:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring[data-v-03feb1fa]{text-align:center}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring .confidence-value[data-v-03feb1fa]{font-size:17px;font-weight:800;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring .confidence-label[data-v-03feb1fa]{font-size:11px;color:#999;margin-top:2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .decision-card .decision-summary[data-v-03feb1fa]{font-size:14px;line-height:1.75;color:#555;padding-top:14px;border-top:1px solid #ebeef2}.fast-analysis-report .result-container .decision-card .consensus-strip[data-v-03feb1fa]{margin-top:12px;padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--primary-color,#1890ff) 4%,transparent);font-size:12px;color:#555}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-weight:700;margin-bottom:6px;color:var(--primary-color,#1890ff);font-size:12px}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-metrics[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px 18px}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-metrics .cm-item em[data-v-03feb1fa]{font-style:normal;color:#999;margin-right:4px}.fast-analysis-report .result-container .decision-card.decision-buy .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-buy .decision-badge .decision-text[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .decision-card.decision-sell .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-sell .decision-badge .decision-text[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .decision-card.decision-hold .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-hold .decision-badge .decision-text[data-v-03feb1fa]{color:#f59e0b}.fast-analysis-report .result-container .price-info-row[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .price-info-row.hold-mode[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .result-container .price-info-row .price-card[data-v-03feb1fa]{padding:16px 14px;text-align:center;position:relative;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .price-info-row .price-card[data-v-03feb1fa]:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:#ebeef2}.fast-analysis-report .result-container .price-info-row .price-card .price-label[data-v-03feb1fa]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:6px}.fast-analysis-report .result-container .price-info-row .price-card .price-value[data-v-03feb1fa]{font-size:18px;font-weight:700;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .price-info-row .price-card .price-value.positive[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .price-info-row .price-card .price-value.negative[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card .price-hint[data-v-03feb1fa]{font-size:9px;color:#bbb;margin-top:4px}.fast-analysis-report .result-container .price-info-row .price-card .price-hint .anticon[data-v-03feb1fa]{margin-right:2px}.fast-analysis-report .result-container .price-info-row .price-card .price-change[data-v-03feb1fa]{font-size:13px;margin-top:3px;font-weight:700;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .price-info-row .price-card .price-change.positive[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .price-info-row .price-card .price-change.negative[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card.current .price-label[data-v-03feb1fa]{color:#3b82f6}.fast-analysis-report .result-container .price-info-row .price-card.entry .price-label[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .price-info-row .price-card.stop .price-label[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card.target .price-label[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .trend-outlook-card[data-v-03feb1fa]{background:#fff;padding:18px 20px;margin-bottom:2px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1a1a2e;margin-bottom:10px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff);font-size:15px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-summary[data-v-03feb1fa]{font-size:12px;line-height:1.65;color:#555;margin-bottom:12px;padding:10px 12px;background:rgba(0,0,0,.02);border-radius:8px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-grid[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item[data-v-03feb1fa]{background:rgba(0,0,0,.02);border-radius:8px;padding:10px;text-align:center}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-label[data-v-03feb1fa]{font-size:10px;color:#999;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend[data-v-03feb1fa]{font-size:13px;font-weight:700;margin-bottom:4px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bull[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bear[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-neutral[data-v-03feb1fa]{color:#f59e0b}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-meta[data-v-03feb1fa]{font-size:10px;color:#999;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}@media (max-width:992px){.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-grid[data-v-03feb1fa]{grid-template-columns:repeat(2,1fr)}}.fast-analysis-report .result-container .scores-row[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .scores-row .score-item[data-v-03feb1fa]{padding:14px 16px;position:relative;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .scores-row .score-item[data-v-03feb1fa]:not(:last-child):after{content:"";position:absolute;right:0;top:16%;height:68%;width:1px;background:#ebeef2}.fast-analysis-report .result-container .scores-row .score-item .score-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#999;margin-bottom:8px}.fast-analysis-report .result-container .scores-row .score-item .score-header .anticon[data-v-03feb1fa]{font-size:14px;color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .scores-row .score-item .score-value[data-v-03feb1fa]{text-align:right;font-size:22px;font-weight:800;color:#1a1a2e;margin-top:6px;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .scores-row .score-item.overall[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 3%,transparent)}.fast-analysis-report .result-container .scores-row .score-item.overall .score-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0;background:#fff;margin-bottom:2px;padding:0}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]{padding:20px 24px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:transparent;border-bottom:1px solid #ebeef2;position:relative}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]:last-child{border-bottom:none}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:2px}.fast-analysis-report .result-container .detailed-analysis .analysis-card.technical[data-v-03feb1fa]:before{background:#3b82f6}.fast-analysis-report .result-container .detailed-analysis .analysis-card.fundamental[data-v-03feb1fa]:before{background:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis .analysis-card.sentiment[data-v-03feb1fa]:before{background:#ec4899}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;color:#1a1a2e;padding-left:12px}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header .anticon[data-v-03feb1fa]{font-size:16px}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.technical .anticon[data-v-03feb1fa]{color:#3b82f6}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.fundamental .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.sentiment .anticon[data-v-03feb1fa]{color:#ec4899}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-content[data-v-03feb1fa]{font-size:13px;line-height:1.85;color:#555;padding-left:12px}.fast-analysis-report .result-container .analysis-details[data-v-03feb1fa]{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .analysis-details .detail-section[data-v-03feb1fa]{padding:20px 24px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:transparent}.fast-analysis-report .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right:1px solid #ebeef2}.fast-analysis-report .result-container .analysis-details .detail-section .section-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:12px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list[data-v-03feb1fa]{list-style:none;padding:0;margin:0}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]{padding:8px 0;font-size:13px;line-height:1.65;color:#555;border-bottom:1px solid rgba(0,0,0,.04)}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]:last-child{border-bottom:none}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:10px;vertical-align:middle}.fast-analysis-report .result-container .analysis-details .detail-section.reasons .detail-list li[data-v-03feb1fa]:before{background:#10b981}.fast-analysis-report .result-container .analysis-details .detail-section.risks .detail-list li[data-v-03feb1fa]:before{background:#f59e0b}.fast-analysis-report .result-container .indicators-section[data-v-03feb1fa]{background:#fff;padding:20px 24px;margin-bottom:2px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .indicators-section .section-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:700;margin-bottom:8px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .indicators-section .section-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .indicators-section .section-title .indicators-pro-badge[data-v-03feb1fa]{margin:0;font-size:10px;line-height:16px;font-weight:600}.fast-analysis-report .result-container .indicators-section .indicators-methodology[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;color:#999;margin-bottom:14px;padding:8px 12px;background:rgba(0,0,0,.02);border-radius:6px;border:none}.fast-analysis-report .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff);margin-top:1px}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa]{margin-top:18px;padding-top:14px;border-top:1px solid #ebeef2}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#555;margin-bottom:10px}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-label{font-size:11px;color:#999;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content{font-size:11px;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bullish{color:#10b981;font-weight:700}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bearish{color:#ef4444;font-weight:700}.fast-analysis-report .result-container .indicators-section .indicators-grid[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]{background:rgba(0,0,0,.02);border-radius:8px;padding:12px 10px;text-align:center;border:none;-webkit-transition:background .15s;transition:background .15s}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]:hover{background:rgba(0,0,0,.04)}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-name[data-v-03feb1fa]{font-size:10px;color:#999;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value[data-v-03feb1fa]{font-size:15px;font-weight:700;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bullish[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.oversold[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bearish[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.high-volatility[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.overbought[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.low-volatility[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-signal[data-v-03feb1fa]{font-size:10px;color:#999;margin-top:3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .feedback-section[data-v-03feb1fa]{background:#fff;border-radius:0 0 16px 16px;padding:18px 24px;text-align:center;border:none;-webkit-box-shadow:none;box-shadow:none}.fast-analysis-report .result-container .feedback-section .feedback-question[data-v-03feb1fa]{font-size:13px;color:#999;margin-bottom:10px}.fast-analysis-report .result-container .feedback-section .feedback-buttons[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;margin-bottom:12px}.fast-analysis-report .result-container .feedback-section .feedback-buttons .ant-btn[data-v-03feb1fa]{min-width:90px;border-radius:8px}.fast-analysis-report .result-container .feedback-section .analysis-meta[data-v-03feb1fa]{font-size:11px;color:#bbb;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:14px}@media (max-width:992px){.fast-analysis-report .price-info-row[data-v-03feb1fa]:not(.hold-mode),.fast-analysis-report .scores-row[data-v-03feb1fa]{grid-template-columns:repeat(2,1fr)}.fast-analysis-report .analysis-details[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right:none;border-bottom:1px solid #ebeef2}}@media (max-width:576px){.fast-analysis-report[data-v-03feb1fa]{padding:8px 6px}.fast-analysis-report .price-info-row[data-v-03feb1fa]:not(.hold-mode),.fast-analysis-report .scores-row[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .decision-card[data-v-03feb1fa]{padding:20px 16px}.fast-analysis-report .decision-card .decision-main[data-v-03feb1fa]{gap:14px;text-align:center}.fast-analysis-report .decision-card .decision-main .decision-badge[data-v-03feb1fa],.fast-analysis-report .decision-card .decision-main[data-v-03feb1fa]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.fast-analysis-report .decision-card .decision-main .decision-badge .decision-text[data-v-03feb1fa]{font-size:26px}}.fast-analysis-report.theme-dark[data-v-03feb1fa]{background:#111113}.fast-analysis-report.theme-dark[data-v-03feb1fa]::-webkit-scrollbar-thumb{background:#333}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-icon-pro[data-v-03feb1fa],.fast-analysis-report.theme-dark .loading-container .loading-content-pro .progress-wrapper .progress-text[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .current-step[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item[data-v-03feb1fa]{background:#222224;color:#666}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.active[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.active .step-dot[data-v-03feb1fa]{background:var(--primary-color,#1890ff);-webkit-box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.done[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.done .step-dot[data-v-03feb1fa]{background:#34d399}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-footer .elapsed-time[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .empty-content .empty-icon[data-v-03feb1fa]{color:#444}.fast-analysis-report.theme-dark .empty-content .empty-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .empty-content .empty-hint[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .decision-card[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(16,185,129,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy .decision-text[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(239,68,68,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell .decision-text[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(245,158,11,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold .decision-text[data-v-03feb1fa]{color:#fbbf24}.fast-analysis-report.theme-dark .result-container .decision-card .decision-text[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .decision-card .confidence-label[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .decision-card .decision-summary[data-v-03feb1fa]{color:#a0a0a8;border-top-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .decision-card .confidence-value[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card[data-v-03feb1fa] .ant-progress-text{color:#e8e8ec!important}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 5%,transparent);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip .consensus-strip-title[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip .cm-item em[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .price-info-row[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card[data-v-03feb1fa]:not(:last-child):after{background:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-label[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value.positive[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value.negative[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-hint[data-v-03feb1fa]{color:#555}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-change.positive[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-change.negative[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.current .price-label[data-v-03feb1fa]{color:#60a5fa}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.entry .price-label[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.stop .price-label[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.target .price-label[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .trend-outlook-card[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-header[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-summary[data-v-03feb1fa]{background:#222224;color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item[data-v-03feb1fa]{background:#222224}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-label[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-meta[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bull[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bear[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-neutral[data-v-03feb1fa]{color:#fbbf24}.fast-analysis-report.theme-dark .result-container .scores-row[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .scores-row .score-item[data-v-03feb1fa]:not(:last-child):after{background:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-header[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .scores-row .score-item.overall[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 4%,transparent)}.fast-analysis-report.theme-dark .result-container .detailed-analysis[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]{border-bottom-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card .analysis-card-header[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card .analysis-card-content[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .analysis-details[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section .section-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]{color:#a0a0a8;border-bottom-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .indicators-section .section-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .indicators-section .section-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology[data-v-03feb1fa]{background:#222224;color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]{background:#222224}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]:hover{background:hsla(0,0%,100%,.05)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-name[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bullish[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.oversold[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bearish[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.high-volatility[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.overbought[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.low-volatility[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-signal[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa]{border-top-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-row,.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-view{border-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc th.ant-descriptions-item-label{background:#222224;border-color:hsla(0,0%,100%,.06);color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc td.ant-descriptions-item-content{background:#19191b;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-label{background:#222224;border-color:hsla(0,0%,100%,.06);color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content{background:#19191b;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content>span{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bullish{color:#34d399!important}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bearish{color:#f87171!important}.fast-analysis-report.theme-dark .result-container .feedback-section[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .feedback-section .feedback-question[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .feedback-section .analysis-meta[data-v-03feb1fa]{color:#555}.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]{background:#222224;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 30%,transparent);color:var(--primary-color,#1890ff)}@media (max-width:992px){.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right-color:transparent;border-bottom-color:hsla(0,0%,100%,.06)}}.ai-analysis-container[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;height:calc(100vh - 120px);background:#f0f2f5;overflow:hidden;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.ai-analysis-container.embedded[data-v-06c771c0]{height:auto;min-height:700px;background:transparent}@media (max-width:768px){.ai-analysis-container.embedded[data-v-06c771c0]{min-height:0}}.ai-analysis-container.embedded .main-content-full[data-v-06c771c0]{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.ai-analysis-container.embedded .top-index-bar[data-v-06c771c0]{margin-top:6px}.main-content-full[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;background:#fff;border-radius:12px;height:100%;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.top-index-bar[data-v-06c771c0]{gap:8px;padding:8px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-family:SF Mono,Monaco,Consolas,monospace}.top-index-bar .indicator-box[data-v-06c771c0],.top-index-bar[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.top-index-bar .indicator-box[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:4px 10px;background:#fff;border-radius:6px;border:1px solid #e2e8f0;min-width:50px}.top-index-bar .indicator-box .ind-label[data-v-06c771c0]{font-size:9px;color:#94a3b8;text-transform:uppercase}.top-index-bar .indicator-box .ind-value[data-v-06c771c0]{font-size:13px;font-weight:700;color:#1e293b}.top-index-bar .indicator-box.fear-greed.extreme-fear .ind-value[data-v-06c771c0]{color:#dc2626}.top-index-bar .indicator-box.fear-greed.fear .ind-value[data-v-06c771c0]{color:#ea580c}.top-index-bar .indicator-box.fear-greed.neutral .ind-value[data-v-06c771c0]{color:#ca8a04}.top-index-bar .indicator-box.fear-greed.greed .ind-value[data-v-06c771c0]{color:#65a30d}.top-index-bar .indicator-box.fear-greed.extreme-greed .ind-value[data-v-06c771c0],.top-index-bar .indicator-box.vix.low .ind-value[data-v-06c771c0]{color:#16a34a}.top-index-bar .indicator-box.vix.medium .ind-value[data-v-06c771c0]{color:#ca8a04}.top-index-bar .indicator-box.vix.high .ind-value[data-v-06c771c0]{color:#dc2626}.top-index-bar .indicator-box.dxy .ind-value[data-v-06c771c0]{color:#2563eb}.top-index-bar .indices-marquee[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;min-width:0}.top-index-bar .indices-marquee .marquee-track[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-webkit-animation:marquee-06c771c0 35s linear infinite;animation:marquee-06c771c0 35s linear infinite;width:-webkit-max-content;width:-moz-max-content;width:max-content}.top-index-bar .indices-marquee .marquee-track[data-v-06c771c0]:hover{-webkit-animation-play-state:paused;animation-play-state:paused}.top-index-bar .indices-marquee .index-item[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:4px 8px;background:#fff;border-radius:4px;border:1px solid #e2e8f0;font-size:11px;white-space:nowrap}.top-index-bar .indices-marquee .index-item .idx-flag[data-v-06c771c0]{font-size:11px}.top-index-bar .indices-marquee .index-item .idx-symbol[data-v-06c771c0]{color:#64748b;font-weight:500}.top-index-bar .indices-marquee .index-item .idx-price[data-v-06c771c0]{color:#1e293b;font-weight:600}.top-index-bar .indices-marquee .index-item .idx-change[data-v-06c771c0]{font-weight:600;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1px}.top-index-bar .indices-marquee .index-item .idx-change.up[data-v-06c771c0]{color:#16a34a}.top-index-bar .indices-marquee .index-item .idx-change.down[data-v-06c771c0]{color:#dc2626}@-webkit-keyframes marquee-06c771c0{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@keyframes marquee-06c771c0{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.top-index-bar .refresh-btn[data-v-06c771c0]{color:#94a3b8;-ms-flex-negative:0;flex-shrink:0}.top-index-bar .refresh-btn[data-v-06c771c0]:hover{color:#1e293b}.main-body[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;padding:12px;overflow:hidden;min-height:0}.left-panel[data-v-06c771c0]{width:280px;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;overflow-y:auto}.left-panel .heatmap-box[data-v-06c771c0]{background:#fff;border-radius:10px;padding:14px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04)}.left-panel .heatmap-box .box-header[data-v-06c771c0]{margin-bottom:10px}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;background:#f4f5f7;border-radius:8px;padding:2px}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper{font-size:10px;font-weight:600;padding:0 8px;height:24px;line-height:22px;border:none;border-radius:6px;background:transparent;color:#8c8c8c;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all .2s;transition:all .2s}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper:before{display:none}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper:hover{color:#555}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:#fff;border-color:transparent;color:#111;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.left-panel .heatmap-box .heatmap-grid[data-v-06c771c0]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.left-panel .heatmap-box .heatmap-grid .heat-cell[data-v-06c771c0]{padding:6px 4px;border-radius:6px;text-align:center;font-size:9px;-webkit-transition:-webkit-transform .15s;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.left-panel .heatmap-box .heatmap-grid .heat-cell[data-v-06c771c0]:hover{-webkit-transform:scale(1.03);transform:scale(1.03)}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-name[data-v-06c771c0]{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-price[data-v-06c771c0]{display:block;font-size:9px;opacity:.8;margin-bottom:1px}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-val[data-v-06c771c0]{font-weight:700;font-size:10px}.left-panel .calendar-box[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;background:#fff;border-radius:10px;padding:14px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:0;overflow:hidden}.left-panel .calendar-box .box-header[data-v-06c771c0]{margin-bottom:8px}.left-panel .calendar-box .box-header .box-title[data-v-06c771c0]{font-size:12px;color:#555;font-weight:700;letter-spacing:-.1px}.left-panel .calendar-box .box-header .box-title .anticon[data-v-06c771c0]{margin-right:6px;color:var(--primary-color,#1890ff)}.left-panel .calendar-box .calendar-list[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.left-panel .calendar-box .calendar-list[data-v-06c771c0]::-webkit-scrollbar{width:3px}.left-panel .calendar-box .calendar-list[data-v-06c771c0]::-webkit-scrollbar-thumb{background:#d4d8dd;border-radius:2px}.left-panel .calendar-box .calendar-list .cal-item[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:10px}.left-panel .calendar-box .calendar-list .cal-item[data-v-06c771c0]:last-child{border-bottom:none}.left-panel .calendar-box .calendar-list .cal-item.high[data-v-06c771c0]{border-left:3px solid #dc2626;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item.medium[data-v-06c771c0]{border-left:3px solid #ca8a04;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item.low[data-v-06c771c0]{border-left:3px solid #16a34a;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item .cal-date[data-v-06c771c0]{font-size:9px;color:#94a3b8;min-width:32px;font-weight:500}.left-panel .calendar-box .calendar-list .cal-item .cal-time[data-v-06c771c0]{color:#64748b;min-width:36px;font-weight:500}.left-panel .calendar-box .calendar-list .cal-item .cal-flag[data-v-06c771c0]{font-size:12px}.left-panel .calendar-box .calendar-list .cal-item .cal-name[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-panel .calendar-box .calendar-list .cal-item .cal-impact[data-v-06c771c0]{font-weight:600;font-size:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.bullish[data-v-06c771c0]{color:#16a34a}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.bearish[data-v-06c771c0]{color:#dc2626}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.neutral[data-v-06c771c0]{color:#94a3b8}.left-panel .calendar-box .calendar-list .cal-empty[data-v-06c771c0]{text-align:center;color:#94a3b8;padding:20px 0;font-size:12px}.right-panel[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border-radius:10px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04)}.right-panel .analysis-toolbar[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f2f5;background:#fafbfc;border-radius:10px 10px 0 0}.right-panel .analysis-toolbar .symbol-selector[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:320px}.right-panel .analysis-toolbar .analyze-button[data-v-06c771c0]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff);border-radius:8px;font-weight:600}.right-panel .analysis-toolbar .history-button[data-v-06c771c0]{border-color:#d9d9d9;border-radius:8px}.right-panel .analysis-main[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:16px;min-height:0}.right-panel .analysis-main .analysis-placeholder[data-v-06c771c0]{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;height:100%;min-height:300px}.watchlist-panel[data-v-06c771c0]{width:320px;-ms-flex-negative:0;flex-shrink:0;background:#fff;border-radius:10px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.watchlist-panel .panel-header[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f0f2f5;background:#fafbfc}.watchlist-panel .panel-header .panel-title[data-v-06c771c0]{font-size:13px;font-weight:700;color:#333;letter-spacing:-.1px}.watchlist-panel .panel-header .panel-title .anticon[data-v-06c771c0]{color:#facc15;margin-right:6px}.watchlist-panel .watchlist-list[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:6px 8px}.watchlist-panel .watchlist-list[data-v-06c771c0]::-webkit-scrollbar{width:3px}.watchlist-panel .watchlist-list[data-v-06c771c0]::-webkit-scrollbar-thumb{background:#d4d8dd;border-radius:2px}.watchlist-panel .watchlist-list .watchlist-empty[data-v-06c771c0]{text-align:center;padding:24px 12px;color:#94a3b8}.watchlist-panel .watchlist-list .watchlist-empty .anticon[data-v-06c771c0]{font-size:32px;margin-bottom:8px;display:block}.watchlist-panel .watchlist-list .watchlist-empty p[data-v-06c771c0]{font-size:12px;margin-bottom:12px}@-webkit-keyframes pulse-06c771c0{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-06c771c0{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:992px){.ai-analysis-container[data-v-06c771c0]{height:auto;min-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;width:100%;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.main-content-full[data-v-06c771c0]{height:auto;min-height:auto}.top-index-bar[data-v-06c771c0]{-ms-flex-wrap:wrap;flex-wrap:wrap;padding:6px 8px}.top-index-bar .indicator-box[data-v-06c771c0]{min-width:45px;padding:3px 6px}.top-index-bar .indices-marquee[data-v-06c771c0]{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;width:100%;margin-top:6px}.main-body[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:8px;gap:8px}.left-panel[data-v-06c771c0]{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:8px}.left-panel .calendar-box[data-v-06c771c0],.left-panel .heatmap-box[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.left-panel .calendar-box[data-v-06c771c0]{max-height:200px}.right-panel .analysis-toolbar[data-v-06c771c0]{-ms-flex-wrap:wrap;flex-wrap:wrap}.right-panel .analysis-toolbar .symbol-selector[data-v-06c771c0]{width:100%!important;max-width:none!important}.right-panel .analysis-toolbar .analyze-button[data-v-06c771c0],.right-panel .analysis-toolbar .history-button[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1}.watchlist-panel[data-v-06c771c0]{width:100%;max-height:250px;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.hero-stats[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hero-stats .hstat[data-v-06c771c0]{width:100%;max-width:300px;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media (max-width:576px){.main-body[data-v-06c771c0]{padding:4px 6px;gap:6px}.top-index-bar[data-v-06c771c0]{padding:5px 6px;gap:6px}.top-index-bar .indicator-box[data-v-06c771c0]{padding:2px 5px}.top-index-bar .indicator-box .ind-value[data-v-06c771c0]{font-size:11px}.top-index-bar .indices-marquee .index-item[data-v-06c771c0]{font-size:10px;padding:2px 5px}.left-panel[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.left-panel .calendar-box[data-v-06c771c0],.left-panel .heatmap-box[data-v-06c771c0]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%;min-width:0;padding:8px;border-radius:8px}.left-panel .calendar-box[data-v-06c771c0]{max-height:220px}.left-panel .heatmap-box .box-header[data-v-06c771c0]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:0 2px 6px}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;white-space:nowrap}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.right-panel[data-v-06c771c0]{border-radius:8px}.right-panel .analysis-toolbar[data-v-06c771c0]{padding:6px 8px;gap:6px}.right-panel .analysis-toolbar[data-v-06c771c0] .ant-btn-lg{height:36px;padding:0 10px;font-size:13px}.right-panel .analysis-toolbar[data-v-06c771c0] .symbol-selector .ant-select-selection--single{height:36px!important}.right-panel .analysis-toolbar[data-v-06c771c0] .symbol-selector .ant-select-selection__rendered{line-height:34px!important}.right-panel .analysis-main[data-v-06c771c0]{padding:6px 8px}.watchlist-panel[data-v-06c771c0]{max-height:min(42vh,320px);border-radius:8px}.watchlist-panel .panel-header[data-v-06c771c0]{padding:8px 10px}.watchlist-panel .watchlist-list[data-v-06c771c0]{padding:4px 6px}.batch-bar[data-v-06c771c0]{margin:6px 6px 4px;padding:8px 8px;gap:6px}.panel-summary[data-v-06c771c0]{-ms-flex-wrap:wrap;flex-wrap:wrap}.panel-summary .summary-chip[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1 1 22%;flex:1 1 22%;min-width:0;padding:5px 2px}.panel-summary .sc-num[data-v-06c771c0]{font-size:12px}.panel-summary .sc-label[data-v-06c771c0]{font-size:8px;letter-spacing:.2px}.placeholder-hero .hero-body[data-v-06c771c0]{padding:16px 10px;max-width:100%}.hero-title[data-v-06c771c0]{font-size:20px}.hero-subtitle[data-v-06c771c0]{font-size:13px;margin-bottom:14px}.hero-stats[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:8px;margin-bottom:14px}.hero-stats .hstat[data-v-06c771c0]{width:100%;max-width:none;-webkit-box-flex:0;-ms-flex:none;flex:none;padding:10px 10px}.hero-cta[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;gap:8px}.hero-cta .ant-btn[data-v-06c771c0]{width:100%;height:40px}.wl-card[data-v-06c771c0]{padding:8px 10px}}.ai-analysis-container.theme-dark[data-v-06c771c0]{background:#0a0a0a;color:#d4d4d4}.ai-analysis-container.theme-dark .main-content-full[data-v-06c771c0]{background:#141416;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.4);box-shadow:0 2px 8px rgba(0,0,0,.4)}.ai-analysis-container.theme-dark .top-index-bar[data-v-06c771c0]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .top-index-bar .indicator-box[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .top-index-bar .indicator-box .ind-label[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .top-index-bar .indicator-box .ind-value[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item .idx-symbol[data-v-06c771c0]{color:#777}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item .idx-price[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .top-index-bar .refresh-btn[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .top-index-bar .refresh-btn[data-v-06c771c0]:hover{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .watchlist-panel .panel-header[data-v-06c771c0]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-header .panel-title[data-v-06c771c0]{color:#ccc}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary[data-v-06c771c0]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .summary-chip[data-v-06c771c0]{border-right-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .sc-num[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .sc-label[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar[data-v-06c771c0]{background:#1c1c1c;border:1px solid #2a2a2a;border-radius:10px;margin:8px 10px;margin-bottom:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .batch-all-cb[data-v-06c771c0]{color:#a0a0a8}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary){background:#2a2a2c;border-color:#3a3a3c;color:#b0b0b8}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{background:#333336;border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list[data-v-06c771c0]::-webkit-scrollbar-thumb{background:#333}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card[data-v-06c771c0]:hover{background:#222224;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-symbol[data-v-06c771c0]{color:#e0e0e0}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-market[data-v-06c771c0]{color:#666;background:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-price[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-pnl-qty[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-task-badge.paused[data-v-06c771c0]{background:hsla(0,0%,100%,.05);color:#666}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-task-next[data-v-06c771c0]{color:#555}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions[data-v-06c771c0]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#222224));background:linear-gradient(90deg,transparent,#222224 30%)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-06c771c0]{background:#1a1a1c;color:#888;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn.danger[data-v-06c771c0]:hover{color:#f87171;background:hsla(0,91%,71%,.1)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active .wl-card-hover-actions[data-v-06c771c0]{background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent) 30%)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .watchlist-empty[data-v-06c771c0]{color:#555}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .we-icon[data-v-06c771c0]{color:#333}.ai-analysis-container.theme-dark .placeholder-hero .hero-bg-grid[data-v-06c771c0]{background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0)}.ai-analysis-container.theme-dark .placeholder-hero .hero-badge[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .placeholder-hero .hero-title[data-v-06c771c0]{color:#e0e0e0}.ai-analysis-container.theme-dark .placeholder-hero .hero-hint[data-v-06c771c0],.ai-analysis-container.theme-dark .placeholder-hero .hero-subtitle[data-v-06c771c0]{color:#777}.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:none;box-shadow:none}.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-06c771c0]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);-webkit-box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}.ai-analysis-container.theme-dark .placeholder-hero .hstat-icon[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .placeholder-hero .hstat-val[data-v-06c771c0]{color:#ddd}.ai-analysis-container.theme-dark .placeholder-hero .hstat-label[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .placeholder-hero .hero-cta .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent)}.ai-analysis-container.theme-dark .watchlist-bar-legacy[data-v-06c771c0]{background:#141414;border-bottom-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-06c771c0]{background:#1c1c1c;border-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip.active[data-v-06c771c0],.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip .chip-symbol[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip .chip-price[data-v-06c771c0]{color:#888}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0] .ant-radio-group{background:#111113}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper{background:transparent;border-color:transparent;color:#666}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper:hover{color:#aaa}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:#2a2a2c;color:#e8e8e8;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .calendar-box[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .calendar-box .box-title[data-v-06c771c0]{color:#888}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item[data-v-06c771c0]{border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-date[data-v-06c771c0]{color:#555}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-time[data-v-06c771c0]{color:#777}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-name[data-v-06c771c0]{color:#ccc}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-empty[data-v-06c771c0]{color:#555}.ai-analysis-container.theme-dark .left-panel .calendar-box .calendar-list[data-v-06c771c0]::-webkit-scrollbar-thumb{background:#333}.ai-analysis-container.theme-dark .right-panel[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar[data-v-06c771c0]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-06c771c0]{background:#222224;border-color:hsla(0,0%,100%,.08);color:#ccc}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-06c771c0]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 45%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-06c771c0]:not(.ant-btn-primary){background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{border-color:#1890ff;color:#1890ff}.ai-analysis-container.theme-dark .wl-change.up[data-v-06c771c0]{background:rgba(74,222,128,.1)}.ai-analysis-container.theme-dark .wl-change.down[data-v-06c771c0]{background:hsla(0,91%,71%,.1)}.ai-analysis-container.theme-dark .panel-header-icon[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .panel-header-icon[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}.ai-analysis-container.theme-dark .panel-summary[data-v-06c771c0]{background:#141416}.ai-analysis-container.theme-dark .batch-bar[data-v-06c771c0]{background:#1c1c1c!important;border:1px solid #2a2a2a!important;border-radius:10px;margin:8px 10px;margin-bottom:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.ai-analysis-container.theme-dark .batch-bar .batch-all-cb[data-v-06c771c0]{color:#a0a0a8}.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary){background:#2a2a2c!important;border-color:#3a3a3c!important;color:#b0b0b8!important}.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{background:#333336!important;border-color:var(--primary-color,#1890ff)!important;color:var(--primary-color,#1890ff)!important}.ai-analysis-container.theme-dark .watchlist-bar-compat[data-v-06c771c0]{background:#141414;border-top-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-compat .bar-label[data-v-06c771c0]{color:#888}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-06c771c0]{background:#1c1c1c;border-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip.active[data-v-06c771c0],.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-symbol[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-price[data-v-06c771c0]{color:#888}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-remove[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark[data-v-06c771c0] .symbol-selector .ant-select-selection{background-color:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-bar{border-bottom-color:#2a2a2a}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-tab{color:#888}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-tab:hover{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-tab-active{color:#1890ff!important}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-ink-bar{background-color:#1890ff}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input::-webkit-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input::-moz-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input:-ms-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input::-ms-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input::placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input-number{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input-number .ant-input-number-handler-wrap{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-select-selection{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-select-arrow{color:#666}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-checkbox-wrapper,.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-form-item-label>label,.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-radio-wrapper{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-alert{background:rgba(24,144,255,.06);border-color:#2a2a2a}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-alert-message{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tag{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-list-item{border-bottom-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-list-item-meta-title{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-list-item-meta-description{color:#888}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-empty-description{color:#666}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tooltip-inner{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-badge-count{-webkit-box-shadow:0 0 0 1px #141414;box-shadow:0 0 0 1px #141414}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-popover-inner{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-popover-message{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-popover-arrow{border-color:#1c1c1c}.placeholder-hero[data-v-06c771c0]{position:relative;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;width:100%;height:100%;overflow:hidden}.hero-bg[data-v-06c771c0]{position:absolute;inset:0;pointer-events:none}.hero-bg-circle[data-v-06c771c0]{position:absolute;border-radius:50%;opacity:.5}.hero-bg-circle.c1[data-v-06c771c0]{width:320px;height:320px;top:-80px;right:-60px;background:radial-gradient(circle,rgba(24,144,255,.1) 0,transparent 70%);-webkit-animation:hero-float-06c771c0 6s ease-in-out infinite;animation:hero-float-06c771c0 6s ease-in-out infinite}.hero-bg-circle.c2[data-v-06c771c0]{width:240px;height:240px;bottom:-40px;left:-40px;background:radial-gradient(circle,rgba(114,46,209,.08) 0,transparent 70%);animation:hero-float-06c771c0 8s ease-in-out infinite reverse}.hero-bg-grid[data-v-06c771c0]{position:absolute;inset:0;background-image:linear-gradient(rgba(24,144,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(24,144,255,.03) 1px,transparent 0);background-size:32px 32px}@-webkit-keyframes hero-float-06c771c0{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}@keyframes hero-float-06c771c0{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}.hero-body[data-v-06c771c0]{position:relative;text-align:center;padding:40px 32px;max-width:560px}.hero-badge[data-v-06c771c0]{display:inline-block;padding:3px 12px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08);border:1px solid rgba(24,144,255,.2);margin-bottom:16px}.hero-title[data-v-06c771c0]{font-size:26px;font-weight:800;color:#0f172a;margin-bottom:8px;letter-spacing:-.3px;line-height:1.3}.hero-subtitle[data-v-06c771c0]{font-size:14px;color:#64748b;margin-bottom:32px;line-height:1.5}.hero-stats[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:32px;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.hstat[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;text-align:left;-webkit-transition:all .25s;transition:all .25s}.hstat[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 4px 16px rgba(24,144,255,.1);box-shadow:0 4px 16px rgba(24,144,255,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.hstat-icon[data-v-06c771c0]{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;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,rgba(24,144,255,.1),rgba(114,46,209,.08));font-size:16px;color:var(--primary-color,#1890ff);-ms-flex-negative:0;flex-shrink:0}.hstat-body[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0}.hstat-val[data-v-06c771c0]{font-size:12px;font-weight:700;color:#0f172a}.hstat-label[data-v-06c771c0],.hstat-val[data-v-06c771c0]{line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hstat-label[data-v-06c771c0]{font-size:10px;color:#94a3b8;margin-top:1px}.hero-cta[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:16px}.hero-cta .ant-btn[data-v-06c771c0]{border-radius:10px;font-weight:600;height:42px;padding:0 24px;font-size:14px}.hero-cta .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 4px 14px rgba(24,144,255,.3);box-shadow:0 4px 14px rgba(24,144,255,.3)}.hero-hint[data-v-06c771c0]{font-size:12px;color:#94a3b8}.panel-header-actions[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.panel-header-icon[data-v-06c771c0]{font-size:15px;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;-webkit-transition:color .2s,background .2s;transition:color .2s,background .2s}.panel-header-icon[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.panel-summary[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;padding:0;border-bottom:1px solid #f1f5f9}.summary-chip[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 4px;border-right:1px solid #f1f5f9}.summary-chip[data-v-06c771c0]:last-child{border-right:none}.sc-num[data-v-06c771c0]{font-size:14px;font-weight:700;color:#0f172a;line-height:1.2;font-family:SF Mono,Monaco,monospace}.sc-num.up[data-v-06c771c0]{color:#16a34a}.sc-num.down[data-v-06c771c0]{color:#dc2626}.sc-label[data-v-06c771c0]{font-size:9px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.batch-bar[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:10px 12px;margin:8px 10px;margin-bottom:4px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);-ms-flex-wrap:wrap;flex-wrap:wrap}.batch-all-cb[data-v-06c771c0]{font-size:12px;font-weight:500;color:#475569;margin-right:4px}.batch-bar .ant-btn[data-v-06c771c0]{border-radius:6px;font-size:12px;font-weight:500;height:28px;padding:0 10px;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all .2s;transition:all .2s}.batch-bar .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent)}.batch-bar .ant-btn-primary[data-v-06c771c0]:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary){background:#f8fafc;border-color:#e2e8f0;color:#64748b}.batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.wl-card[data-v-06c771c0]{position:relative;padding:10px 12px;border-radius:8px;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:3px;border:1px solid transparent}.wl-card[data-v-06c771c0]:hover{background:#f5f7fa;border-color:#e8ecf1}.wl-card.active[data-v-06c771c0]{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color,#1890ff) 6%,#fff) 0,color-mix(in srgb,var(--primary-color,#1890ff) 4%,#fff) 100%);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent);-webkit-box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}.wl-card-cb[data-v-06c771c0]{position:absolute;top:12px;left:4px;z-index:1}.wl-card-body[data-v-06c771c0]{-webkit-transition:padding-left .2s;transition:padding-left .2s}.wl-card-body.with-cb[data-v-06c771c0]{padding-left:24px}.wl-row-main[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:5px}.wl-symbol[data-v-06c771c0]{font-size:13px;font-weight:700;color:#0f172a}.wl-market[data-v-06c771c0]{font-size:9px;color:#94a3b8;letter-spacing:.3px;padding:1px 4px;background:#f1f5f9;border-radius:3px}.wl-spacer[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1}.wl-price[data-v-06c771c0]{font-size:12px;font-weight:600;color:#0f172a;font-family:SF Mono,Monaco,monospace}.wl-change[data-v-06c771c0]{font-size:10px;font-weight:700;font-family:SF Mono,Monaco,monospace;padding:1px 5px;border-radius:4px;margin-left:4px}.wl-change.up[data-v-06c771c0]{color:#16a34a;background:rgba(22,163,74,.08)}.wl-change.down[data-v-06c771c0]{color:#dc2626;background:rgba(220,38,38,.06)}.wl-row-pnl[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-top:4px;font-family:SF Mono,Monaco,monospace}.wl-pnl-qty[data-v-06c771c0]{font-size:10px;color:#94a3b8}.wl-pnl-val[data-v-06c771c0]{font-size:10px;font-weight:600;margin-left:auto}.wl-pnl-val.up[data-v-06c771c0]{color:#16a34a}.wl-pnl-val.down[data-v-06c771c0]{color:#dc2626}.wl-row-task[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px;margin-top:4px}.wl-row-task[data-v-06c771c0],.wl-task-badge[data-v-06c771c0]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wl-task-badge[data-v-06c771c0]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:3px;font-size:10px;padding:1px 8px;border-radius:10px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.wl-task-badge.active[data-v-06c771c0]{color:#16a34a;background:rgba(22,163,74,.08)}.wl-task-badge.paused[data-v-06c771c0]{color:#94a3b8;background:#f1f5f9}.wl-task-badge[data-v-06c771c0]:hover{opacity:.75}.wl-task-next[data-v-06c771c0]{font-size:10px;color:#94a3b8;margin-left:auto}.wl-card-hover-actions[data-v-06c771c0]{position:absolute;top:0;right:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;padding-right:8px;opacity:0;-webkit-transition:opacity .15s;transition:opacity .15s;background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#f8fafc));background:linear-gradient(90deg,transparent,#f8fafc 30%);border-radius:0 8px 8px 0;pointer-events:none}.wl-card:hover .wl-card-hover-actions[data-v-06c771c0]{opacity:1;pointer-events:auto}.wl-card.active .wl-card-hover-actions[data-v-06c771c0]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#e6f7ff));background:linear-gradient(90deg,transparent,#e6f7ff 30%)}.wl-hover-btn[data-v-06c771c0]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:26px;height:26px;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06)}.wl-hover-btn[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:#e6f7ff}.wl-hover-btn.danger[data-v-06c771c0]:hover{color:#dc2626;background:#fef2f2}.watchlist-empty[data-v-06c771c0]{text-align:center;padding:32px 16px}.we-icon[data-v-06c771c0]{font-size:36px;color:#e2e8f0;margin-bottom:12px}.watchlist-empty p[data-v-06c771c0]{font-size:12px;color:#94a3b8;margin-bottom:12px}.batch-modal-summary[data-v-06c771c0]{margin-bottom:16px}.batch-modal-summary p[data-v-06c771c0]{font-size:13px;color:#475569;margin-bottom:8px}.batch-symbols-preview[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px;max-height:80px;overflow-y:auto}.task-drawer-empty[data-v-06c771c0]{text-align:center;padding:48px 16px;color:#94a3b8}.task-drawer-empty p[data-v-06c771c0]{margin-top:12px;font-size:13px}.task-drawer-list[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.task-item[data-v-06c771c0]{padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fafafa;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.task-item[data-v-06c771c0]:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06)}.task-item-header[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.task-item-name[data-v-06c771c0]{font-size:13px;font-weight:600;color:#0f172a}.task-item-meta[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;font-size:12px;color:#64748b;margin-bottom:10px}.task-item-meta .anticon[data-v-06c771c0]{margin-right:4px}.task-item-actions[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px;margin-top:4px}.task-item-actions .ant-btn[data-v-06c771c0]{border-radius:6px;font-size:12px;font-weight:500;height:28px;padding:0 10px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;-webkit-transition:all .2s;transition:all .2s;border-width:1px}.task-item-actions .ant-btn.ant-btn-primary[data-v-06c771c0]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.04);box-shadow:0 1px 2px rgba(0,0,0,.04)}.task-item-actions .ant-btn.ant-btn-primary[data-v-06c771c0]:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05);-webkit-box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent)}.task-item-actions .ant-btn.ant-btn-default[data-v-06c771c0]{background:#f8fafc;border-color:#e2e8f0;color:#475569}.task-item-actions .ant-btn.ant-btn-default[data-v-06c771c0]:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.task-item-actions .ant-btn.ant-btn-danger[data-v-06c771c0]{background:#fef2f2;border-color:#fecaca;color:#dc2626}.task-item-actions .ant-btn.ant-btn-danger[data-v-06c771c0]:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.add-stock-modal-content .market-tabs[data-v-06c771c0]{margin-bottom:16px}.add-stock-modal-content .hot-symbols-section[data-v-06c771c0],.add-stock-modal-content .search-results-section[data-v-06c771c0],.add-stock-modal-content .symbol-search-section[data-v-06c771c0]{margin-bottom:24px}.add-stock-modal-content .hot-symbols-section .section-title[data-v-06c771c0],.add-stock-modal-content .search-results-section .section-title[data-v-06c771c0]{font-size:14px;font-weight:600;color:#262626;margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.add-stock-modal-content .symbol-list[data-v-06c771c0]{max-height:200px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:4px}.add-stock-modal-content .symbol-list .symbol-list-item[data-v-06c771c0]{cursor:pointer;padding:8px 12px;-webkit-transition:background-color .3s;transition:background-color .3s}.add-stock-modal-content .symbol-list .symbol-list-item[data-v-06c771c0]:hover{background-color:#f5f5f5}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content .symbol-code[data-v-06c771c0]{font-weight:600;color:#262626;min-width:80px}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content .symbol-name[data-v-06c771c0]{color:#595959;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-stock-modal-content .selected-symbol-section[data-v-06c771c0]{margin-top:16px}.add-stock-modal-content .selected-symbol-section .selected-symbol-info[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.skeleton-box .skeleton-text[data-v-06c771c0]{display:block;height:12px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;border-radius:4px;margin:3px 0}.skeleton-box .skeleton-text.short[data-v-06c771c0]{width:40px;height:9px}.skeleton-cell[data-v-06c771c0]{background:#f8fafc!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:8px 4px}.skeleton-cell .skeleton-text[data-v-06c771c0]{width:80%;height:10px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;border-radius:3px;margin:2px 0}.skeleton-cell .skeleton-text.short[data-v-06c771c0]{width:50%;height:8px}.skeleton-item[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 0}.skeleton-item .skeleton-text[data-v-06c771c0]{height:12px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;border-radius:4px;-webkit-box-flex:1;-ms-flex:1;flex:1}.skeleton-item .skeleton-text.short[data-v-06c771c0]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:40px}.indices-empty[data-v-06c771c0],.indices-loading[data-v-06c771c0]{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;height:100%;font-size:11px;color:#94a3b8;padding:4px 16px}.indices-loading .anticon[data-v-06c771c0]{margin-right:6px}.heatmap-empty[data-v-06c771c0]{grid-column:-1;text-align:center;padding:20px;color:#94a3b8;font-size:12px}@-webkit-keyframes skeleton-pulse-06c771c0{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-pulse-06c771c0{0%{background-position:200% 0}to{background-position:-200% 0}}.theme-dark .skeleton-box .skeleton-text[data-v-06c771c0],.theme-dark .skeleton-cell .skeleton-text[data-v-06c771c0],.theme-dark .skeleton-item .skeleton-text[data-v-06c771c0]{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#2a2a2a),color-stop(50%,#333),color-stop(75%,#2a2a2a));background:linear-gradient(90deg,#2a2a2a 25%,#333 50%,#2a2a2a 75%);background-size:200% 100%}.theme-dark .skeleton-cell[data-v-06c771c0]{background:#1c1c1c!important}.theme-dark .heatmap-empty[data-v-06c771c0],.theme-dark .indices-empty[data-v-06c771c0],.theme-dark .indices-loading[data-v-06c771c0]{color:#666}.qd-dark-modal .ant-modal-content{background:#141414}.qd-dark-modal .ant-modal-header{background:#141414;border-bottom-color:#2a2a2a}.qd-dark-modal .ant-modal-header .ant-modal-title{color:#d4d4d4}.qd-dark-modal .ant-modal-close-x{color:#888}.qd-dark-modal .ant-modal-body{background:#141414;color:#d4d4d4}.qd-dark-modal .ant-modal-footer{background:#141414;border-top-color:#2a2a2a}.qd-dark-modal .ant-modal-footer .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-modal-footer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.qd-dark-modal .ant-form-item-label>label{color:#d4d4d4}.qd-dark-modal .ant-input{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-input::-webkit-input-placeholder{color:#555}.qd-dark-modal .ant-input::-moz-placeholder{color:#555}.qd-dark-modal .ant-input:-ms-input-placeholder{color:#555}.qd-dark-modal .ant-input::-ms-input-placeholder{color:#555}.qd-dark-modal .ant-input::placeholder{color:#555}.qd-dark-modal .ant-input-number,.qd-dark-modal .ant-select-selection{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-select-arrow{color:#666}.qd-dark-modal .ant-checkbox-wrapper,.qd-dark-modal .ant-radio-wrapper{color:#d4d4d4}.qd-dark-modal .ant-tabs-bar{border-bottom-color:#2a2a2a}.qd-dark-modal .ant-tabs-tab{color:#888}.qd-dark-modal .ant-tabs-tab:hover{color:#d4d4d4}.qd-dark-modal .ant-tabs-tab-active{color:#1890ff!important}.qd-dark-modal .ant-tag{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-tag-blue{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}.qd-dark-modal .ant-alert{background:rgba(24,144,255,.06);border-color:#2a2a2a}.qd-dark-modal .ant-alert-message{color:#d4d4d4}.qd-dark-modal .ant-alert-info .ant-alert-icon{color:#1890ff}.qd-dark-modal .ant-list-item{border-bottom-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-list-item-meta-title{color:#d4d4d4}.qd-dark-modal .ant-list-item-meta-description{color:#888}.qd-dark-modal .ant-empty-description{color:#666}.qd-dark-modal .add-stock-modal-content,.qd-dark-modal p{color:#d4d4d4}.qd-dark-modal .add-stock-modal-content .section-title{color:#d4d4d4!important}.qd-dark-modal .add-stock-modal-content .symbol-list{border-color:#2a2a2a;background:#1c1c1c}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item:hover{background:#252525!important}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item .symbol-code{color:#d4d4d4!important}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item .symbol-name{color:#888!important}.qd-dark-modal .add-stock-modal-content .selected-symbol-info strong{color:#d4d4d4}.qd-dark-modal .add-stock-modal-content .selected-symbol-info span{color:#888!important}.qd-dark-modal .batch-modal-summary p{color:#d4d4d4}.qd-dark-modal .batch-symbols-preview .ant-tag{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}.qd-dark-modal .task-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-modal .task-item:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.3)}.qd-dark-modal .task-item-name{color:#d4d4d4}.qd-dark-modal .task-item-meta{color:#888}.qd-dark-modal .task-drawer-empty{color:#666}.qd-dark-modal .history-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-modal .search-result-item{color:#d4d4d4}.qd-dark-modal .search-result-item:hover{background:#1c1c1c}.qd-dark-modal .search-result-name{color:#d4d4d4}.qd-dark-modal .search-result-market{color:#888}.qd-dark-drawer .ant-drawer-content{background:#141414}.qd-dark-drawer .ant-drawer-header{background:#141414;border-bottom-color:#2a2a2a}.qd-dark-drawer .ant-drawer-header .ant-drawer-title{color:#d4d4d4}.qd-dark-drawer .ant-drawer-header .ant-drawer-close{color:#888}.qd-dark-drawer .ant-drawer-body{background:#141414;color:#d4d4d4}.qd-dark-drawer .task-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-drawer .task-item:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.3)}.qd-dark-drawer .task-item-name{color:#d4d4d4}.qd-dark-drawer .task-item-meta{color:#888}.qd-dark-drawer .task-drawer-empty{color:#666}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-primary{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-primary:hover{-webkit-filter:brightness(1.1);filter:brightness(1.1)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-default{background:#2a2a2c;border-color:#3a3a3c;color:#b0b0b8}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-default:hover{background:#333336;border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25);color:#f87171}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-danger:hover{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.4);color:#fca5a5}.qd-dark-drawer .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-drawer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.qd-dark-drawer .ant-btn-danger{background:transparent}.qd-dark-drawer .ant-popover-inner{background:#1c1c1c}.qd-dark-drawer .ant-popover-message,.qd-dark-drawer .ant-popover-message-title{color:#d4d4d4}.qd-dark-drawer .ant-popover-buttons .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-select-dropdown,body.colorWeak .ant-select-dropdown{background:#1c1c1c}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item{color:#d4d4d4}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item-active,.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item:hover,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item-active,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item:hover{background:#252525}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item-selected,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item-selected{background:rgba(24,144,255,.1);color:#1890ff}
\ No newline at end of file
+.fast-analysis-report[data-v-03feb1fa]{height:100%;overflow-y:auto;padding:24px;background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}.fast-analysis-report[data-v-03feb1fa]::-webkit-scrollbar{width:4px}.fast-analysis-report[data-v-03feb1fa]::-webkit-scrollbar-thumb{background:#d0d4da;border-radius:2px}.fast-analysis-report .loading-container[data-v-03feb1fa]{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;min-height:420px}.fast-analysis-report .loading-container .loading-content-pro[data-v-03feb1fa]{width:100%;max-width:400px;padding:40px}.fast-analysis-report .loading-container .loading-content-pro .loading-header[data-v-03feb1fa]{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;gap:12px;margin-bottom:32px}.fast-analysis-report .loading-container .loading-content-pro .loading-header .loading-icon-pro[data-v-03feb1fa]{font-size:26px;color:var(--primary-color,#1890ff)}.fast-analysis-report .loading-container .loading-content-pro .loading-header .loading-title[data-v-03feb1fa]{font-size:18px;font-weight:700;color:#1a1a2e}.fast-analysis-report .loading-container .loading-content-pro .progress-wrapper[data-v-03feb1fa]{margin-bottom:24px;position:relative}.fast-analysis-report .loading-container .loading-content-pro .progress-wrapper .progress-text[data-v-03feb1fa]{position:absolute;right:0;top:-22px;font-size:13px;font-weight:700;color:var(--primary-color,#1890ff)}.fast-analysis-report .loading-container .loading-content-pro .current-step[data-v-03feb1fa]{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;gap:8px;padding:10px 20px;background:color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent);border-radius:8px;margin-bottom:20px;color:var(--primary-color,#1890ff);font-size:13px;font-weight:600}.fast-analysis-report .loading-container .loading-content-pro .current-step .anticon[data-v-03feb1fa]{font-size:15px}.fast-analysis-report .loading-container .loading-content-pro .steps-list[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:9px 14px;background:rgba(0,0,0,.02);border-radius:8px;font-size:12px;color:#999;-webkit-transition:all .3s;transition:all .3s}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-dot[data-v-03feb1fa]{width:7px;height:7px;border-radius:50%;background:#ddd;-webkit-transition:all .3s;transition:all .3s}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-text[data-v-03feb1fa]{-webkit-box-flex:1;-ms-flex:1;flex:1}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-check[data-v-03feb1fa]{color:#10b981;font-size:13px}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.active[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent);color:var(--primary-color,#1890ff);font-weight:600}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.active .step-dot[data-v-03feb1fa]{background:var(--primary-color,#1890ff);-webkit-box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent)}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.done[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.done .step-dot[data-v-03feb1fa]{background:#10b981}.fast-analysis-report .loading-container .loading-content-pro .loading-footer[data-v-03feb1fa]{margin-top:20px;text-align:center}.fast-analysis-report .loading-container .loading-content-pro .loading-footer .elapsed-time[data-v-03feb1fa]{font-size:12px;color:#999;font-family:SF Mono,Monaco,monospace}.fast-analysis-report .empty-container[data-v-03feb1fa]{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;min-height:400px}.fast-analysis-report .empty-container .empty-content[data-v-03feb1fa]{text-align:center}.fast-analysis-report .empty-container .empty-content .empty-icon[data-v-03feb1fa]{font-size:56px;color:#ccc}.fast-analysis-report .empty-container .empty-content .empty-title[data-v-03feb1fa]{margin-top:14px;font-size:17px;font-weight:700;color:#1a1a2e}.fast-analysis-report .empty-container .empty-content .empty-hint[data-v-03feb1fa]{margin-top:6px;color:#999;font-size:13px}.fast-analysis-report .result-container .decision-card[data-v-03feb1fa]{padding:28px 24px;margin-bottom:2px;border-radius:16px 16px 0 0;background:#fff;position:relative;overflow:hidden}.fast-analysis-report .result-container .decision-card[data-v-03feb1fa]:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .decision-card.decision-buy[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#10b981),to(#34d399));background:linear-gradient(90deg,#10b981,#34d399)}.fast-analysis-report .result-container .decision-card.decision-sell[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#ef4444),to(#f87171));background:linear-gradient(90deg,#ef4444,#f87171)}.fast-analysis-report .result-container .decision-card.decision-hold[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#f59e0b),to(#fbbf24));background:linear-gradient(90deg,#f59e0b,#fbbf24)}.fast-analysis-report .result-container .decision-card .decision-main[data-v-03feb1fa]{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;margin-bottom:16px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge .anticon[data-v-03feb1fa]{font-size:28px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge .decision-text[data-v-03feb1fa]{font-size:32px;font-weight:800;letter-spacing:1px;color:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring[data-v-03feb1fa]{text-align:center}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring .confidence-value[data-v-03feb1fa]{font-size:17px;font-weight:800;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring .confidence-label[data-v-03feb1fa]{font-size:11px;color:#999;margin-top:2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .decision-card .decision-summary[data-v-03feb1fa]{font-size:14px;line-height:1.75;color:#555;padding-top:14px;border-top:1px solid #ebeef2}.fast-analysis-report .result-container .decision-card .consensus-strip[data-v-03feb1fa]{margin-top:12px;padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--primary-color,#1890ff) 4%,transparent);font-size:12px;color:#555}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-weight:700;margin-bottom:6px;color:var(--primary-color,#1890ff);font-size:12px}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-metrics[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px 18px}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-metrics .cm-item em[data-v-03feb1fa]{font-style:normal;color:#999;margin-right:4px}.fast-analysis-report .result-container .decision-card.decision-buy .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-buy .decision-badge .decision-text[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .decision-card.decision-sell .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-sell .decision-badge .decision-text[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .decision-card.decision-hold .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-hold .decision-badge .decision-text[data-v-03feb1fa]{color:#f59e0b}.fast-analysis-report .result-container .price-info-row[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .price-info-row.hold-mode[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .result-container .price-info-row .price-card[data-v-03feb1fa]{padding:16px 14px;text-align:center;position:relative;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .price-info-row .price-card[data-v-03feb1fa]:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:#ebeef2}.fast-analysis-report .result-container .price-info-row .price-card .price-label[data-v-03feb1fa]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:6px}.fast-analysis-report .result-container .price-info-row .price-card .price-value[data-v-03feb1fa]{font-size:18px;font-weight:700;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .price-info-row .price-card .price-value.positive[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .price-info-row .price-card .price-value.negative[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card .price-hint[data-v-03feb1fa]{font-size:9px;color:#bbb;margin-top:4px}.fast-analysis-report .result-container .price-info-row .price-card .price-hint .anticon[data-v-03feb1fa]{margin-right:2px}.fast-analysis-report .result-container .price-info-row .price-card .price-change[data-v-03feb1fa]{font-size:13px;margin-top:3px;font-weight:700;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .price-info-row .price-card .price-change.positive[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .price-info-row .price-card .price-change.negative[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card.current .price-label[data-v-03feb1fa]{color:#3b82f6}.fast-analysis-report .result-container .price-info-row .price-card.entry .price-label[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .price-info-row .price-card.stop .price-label[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card.target .price-label[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .trend-outlook-card[data-v-03feb1fa]{background:#fff;padding:18px 20px;margin-bottom:2px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1a1a2e;margin-bottom:10px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff);font-size:15px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-summary[data-v-03feb1fa]{font-size:12px;line-height:1.65;color:#555;margin-bottom:12px;padding:10px 12px;background:rgba(0,0,0,.02);border-radius:8px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-grid[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item[data-v-03feb1fa]{background:rgba(0,0,0,.02);border-radius:8px;padding:10px;text-align:center}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-label[data-v-03feb1fa]{font-size:10px;color:#999;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend[data-v-03feb1fa]{font-size:13px;font-weight:700;margin-bottom:4px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bull[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bear[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-neutral[data-v-03feb1fa]{color:#f59e0b}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-meta[data-v-03feb1fa]{font-size:10px;color:#999;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}@media (max-width:992px){.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-grid[data-v-03feb1fa]{grid-template-columns:repeat(2,1fr)}}.fast-analysis-report .result-container .scores-row[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .scores-row .score-item[data-v-03feb1fa]{padding:14px 16px;position:relative;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .scores-row .score-item[data-v-03feb1fa]:not(:last-child):after{content:"";position:absolute;right:0;top:16%;height:68%;width:1px;background:#ebeef2}.fast-analysis-report .result-container .scores-row .score-item .score-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#999;margin-bottom:8px}.fast-analysis-report .result-container .scores-row .score-item .score-header .anticon[data-v-03feb1fa]{font-size:14px;color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .scores-row .score-item .score-value[data-v-03feb1fa]{text-align:right;font-size:22px;font-weight:800;color:#1a1a2e;margin-top:6px;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .scores-row .score-item.overall[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 3%,transparent)}.fast-analysis-report .result-container .scores-row .score-item.overall .score-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0;background:#fff;margin-bottom:2px;padding:0}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]{padding:20px 24px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:transparent;border-bottom:1px solid #ebeef2;position:relative}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]:last-child{border-bottom:none}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:2px}.fast-analysis-report .result-container .detailed-analysis .analysis-card.technical[data-v-03feb1fa]:before{background:#3b82f6}.fast-analysis-report .result-container .detailed-analysis .analysis-card.fundamental[data-v-03feb1fa]:before{background:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis .analysis-card.sentiment[data-v-03feb1fa]:before{background:#ec4899}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;color:#1a1a2e;padding-left:12px}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header .anticon[data-v-03feb1fa]{font-size:16px}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.technical .anticon[data-v-03feb1fa]{color:#3b82f6}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.fundamental .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.sentiment .anticon[data-v-03feb1fa]{color:#ec4899}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-content[data-v-03feb1fa]{font-size:13px;line-height:1.85;color:#555;padding-left:12px}.fast-analysis-report .result-container .analysis-details[data-v-03feb1fa]{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .analysis-details .detail-section[data-v-03feb1fa]{padding:20px 24px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:transparent}.fast-analysis-report .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right:1px solid #ebeef2}.fast-analysis-report .result-container .analysis-details .detail-section .section-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:12px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list[data-v-03feb1fa]{list-style:none;padding:0;margin:0}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]{padding:8px 0;font-size:13px;line-height:1.65;color:#555;border-bottom:1px solid rgba(0,0,0,.04)}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]:last-child{border-bottom:none}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:10px;vertical-align:middle}.fast-analysis-report .result-container .analysis-details .detail-section.reasons .detail-list li[data-v-03feb1fa]:before{background:#10b981}.fast-analysis-report .result-container .analysis-details .detail-section.risks .detail-list li[data-v-03feb1fa]:before{background:#f59e0b}.fast-analysis-report .result-container .indicators-section[data-v-03feb1fa]{background:#fff;padding:20px 24px;margin-bottom:2px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .indicators-section .section-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:700;margin-bottom:8px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .indicators-section .section-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .indicators-section .section-title .indicators-pro-badge[data-v-03feb1fa]{margin:0;font-size:10px;line-height:16px;font-weight:600}.fast-analysis-report .result-container .indicators-section .indicators-methodology[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;color:#999;margin-bottom:14px;padding:8px 12px;background:rgba(0,0,0,.02);border-radius:6px;border:none}.fast-analysis-report .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff);margin-top:1px}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa]{margin-top:18px;padding-top:14px;border-top:1px solid #ebeef2}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#555;margin-bottom:10px}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-label{font-size:11px;color:#999;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content{font-size:11px;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bullish{color:#10b981;font-weight:700}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bearish{color:#ef4444;font-weight:700}.fast-analysis-report .result-container .indicators-section .indicators-grid[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]{background:rgba(0,0,0,.02);border-radius:8px;padding:12px 10px;text-align:center;border:none;-webkit-transition:background .15s;transition:background .15s}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]:hover{background:rgba(0,0,0,.04)}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-name[data-v-03feb1fa]{font-size:10px;color:#999;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value[data-v-03feb1fa]{font-size:15px;font-weight:700;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bullish[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.oversold[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bearish[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.high-volatility[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.overbought[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.low-volatility[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-signal[data-v-03feb1fa]{font-size:10px;color:#999;margin-top:3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .feedback-section[data-v-03feb1fa]{background:#fff;border-radius:0 0 16px 16px;padding:18px 24px;text-align:center;border:none;-webkit-box-shadow:none;box-shadow:none}.fast-analysis-report .result-container .feedback-section .feedback-question[data-v-03feb1fa]{font-size:13px;color:#999;margin-bottom:10px}.fast-analysis-report .result-container .feedback-section .feedback-buttons[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;margin-bottom:12px}.fast-analysis-report .result-container .feedback-section .feedback-buttons .ant-btn[data-v-03feb1fa]{min-width:90px;border-radius:8px}.fast-analysis-report .result-container .feedback-section .analysis-meta[data-v-03feb1fa]{font-size:11px;color:#bbb;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:14px}@media (max-width:992px){.fast-analysis-report .price-info-row[data-v-03feb1fa]:not(.hold-mode),.fast-analysis-report .scores-row[data-v-03feb1fa]{grid-template-columns:repeat(2,1fr)}.fast-analysis-report .analysis-details[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right:none;border-bottom:1px solid #ebeef2}}@media (max-width:576px){.fast-analysis-report[data-v-03feb1fa]{padding:8px 6px}.fast-analysis-report .price-info-row[data-v-03feb1fa]:not(.hold-mode),.fast-analysis-report .scores-row[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .decision-card[data-v-03feb1fa]{padding:20px 16px}.fast-analysis-report .decision-card .decision-main[data-v-03feb1fa]{gap:14px;text-align:center}.fast-analysis-report .decision-card .decision-main .decision-badge[data-v-03feb1fa],.fast-analysis-report .decision-card .decision-main[data-v-03feb1fa]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.fast-analysis-report .decision-card .decision-main .decision-badge .decision-text[data-v-03feb1fa]{font-size:26px}}.fast-analysis-report.theme-dark[data-v-03feb1fa]{background:#111113}.fast-analysis-report.theme-dark[data-v-03feb1fa]::-webkit-scrollbar-thumb{background:#333}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-icon-pro[data-v-03feb1fa],.fast-analysis-report.theme-dark .loading-container .loading-content-pro .progress-wrapper .progress-text[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .current-step[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item[data-v-03feb1fa]{background:#222224;color:#666}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.active[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.active .step-dot[data-v-03feb1fa]{background:var(--primary-color,#1890ff);-webkit-box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.done[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.done .step-dot[data-v-03feb1fa]{background:#34d399}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-footer .elapsed-time[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .empty-content .empty-icon[data-v-03feb1fa]{color:#444}.fast-analysis-report.theme-dark .empty-content .empty-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .empty-content .empty-hint[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .decision-card[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(16,185,129,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy .decision-text[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(239,68,68,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell .decision-text[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(245,158,11,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold .decision-text[data-v-03feb1fa]{color:#fbbf24}.fast-analysis-report.theme-dark .result-container .decision-card .decision-text[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .decision-card .confidence-label[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .decision-card .decision-summary[data-v-03feb1fa]{color:#a0a0a8;border-top-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .decision-card .confidence-value[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card[data-v-03feb1fa] .ant-progress-text{color:#e8e8ec!important}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 5%,transparent);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip .consensus-strip-title[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip .cm-item em[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .price-info-row[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card[data-v-03feb1fa]:not(:last-child):after{background:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-label[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value.positive[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value.negative[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-hint[data-v-03feb1fa]{color:#555}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-change.positive[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-change.negative[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.current .price-label[data-v-03feb1fa]{color:#60a5fa}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.entry .price-label[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.stop .price-label[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.target .price-label[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .trend-outlook-card[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-header[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-summary[data-v-03feb1fa]{background:#222224;color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item[data-v-03feb1fa]{background:#222224}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-label[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-meta[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bull[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bear[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-neutral[data-v-03feb1fa]{color:#fbbf24}.fast-analysis-report.theme-dark .result-container .scores-row[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .scores-row .score-item[data-v-03feb1fa]:not(:last-child):after{background:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-header[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .scores-row .score-item.overall[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 4%,transparent)}.fast-analysis-report.theme-dark .result-container .detailed-analysis[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]{border-bottom-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card .analysis-card-header[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card .analysis-card-content[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .analysis-details[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section .section-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]{color:#a0a0a8;border-bottom-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .indicators-section .section-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .indicators-section .section-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology[data-v-03feb1fa]{background:#222224;color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]{background:#222224}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]:hover{background:hsla(0,0%,100%,.05)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-name[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bullish[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.oversold[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bearish[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.high-volatility[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.overbought[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.low-volatility[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-signal[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa]{border-top-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-row,.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-view{border-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc th.ant-descriptions-item-label{background:#222224;border-color:hsla(0,0%,100%,.06);color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc td.ant-descriptions-item-content{background:#19191b;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-label{background:#222224;border-color:hsla(0,0%,100%,.06);color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content{background:#19191b;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content>span{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bullish{color:#34d399!important}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bearish{color:#f87171!important}.fast-analysis-report.theme-dark .result-container .feedback-section[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .feedback-section .feedback-question[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .feedback-section .analysis-meta[data-v-03feb1fa]{color:#555}.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]{background:#222224;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 30%,transparent);color:var(--primary-color,#1890ff)}@media (max-width:992px){.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right-color:transparent;border-bottom-color:hsla(0,0%,100%,.06)}}.ai-analysis-container[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;height:calc(100vh - 120px);background:#f0f2f5;overflow:hidden;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.ai-analysis-container.embedded[data-v-22f26594]{height:auto;min-height:700px;background:transparent}@media (max-width:768px){.ai-analysis-container.embedded[data-v-22f26594]{min-height:0}}.ai-analysis-container.embedded .main-content-full[data-v-22f26594]{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.ai-analysis-container.embedded .top-index-bar[data-v-22f26594]{margin-top:6px}.main-content-full[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;background:#fff;border-radius:12px;height:100%;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.top-index-bar[data-v-22f26594]{gap:8px;padding:8px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-family:SF Mono,Monaco,Consolas,monospace}.top-index-bar .indicator-box[data-v-22f26594],.top-index-bar[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.top-index-bar .indicator-box[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:4px 10px;background:#fff;border-radius:6px;border:1px solid #e2e8f0;min-width:50px}.top-index-bar .indicator-box .ind-label[data-v-22f26594]{font-size:9px;color:#94a3b8;text-transform:uppercase}.top-index-bar .indicator-box .ind-value[data-v-22f26594]{font-size:13px;font-weight:700;color:#1e293b}.top-index-bar .indicator-box.fear-greed.extreme-fear .ind-value[data-v-22f26594]{color:#dc2626}.top-index-bar .indicator-box.fear-greed.fear .ind-value[data-v-22f26594]{color:#ea580c}.top-index-bar .indicator-box.fear-greed.neutral .ind-value[data-v-22f26594]{color:#ca8a04}.top-index-bar .indicator-box.fear-greed.greed .ind-value[data-v-22f26594]{color:#65a30d}.top-index-bar .indicator-box.fear-greed.extreme-greed .ind-value[data-v-22f26594],.top-index-bar .indicator-box.vix.low .ind-value[data-v-22f26594]{color:#16a34a}.top-index-bar .indicator-box.vix.medium .ind-value[data-v-22f26594]{color:#ca8a04}.top-index-bar .indicator-box.vix.high .ind-value[data-v-22f26594]{color:#dc2626}.top-index-bar .indicator-box.dxy .ind-value[data-v-22f26594]{color:#2563eb}.top-index-bar .indices-marquee[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;min-width:0}.top-index-bar .indices-marquee .marquee-track[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-webkit-animation:marquee-22f26594 35s linear infinite;animation:marquee-22f26594 35s linear infinite;width:-webkit-max-content;width:-moz-max-content;width:max-content}.top-index-bar .indices-marquee .marquee-track[data-v-22f26594]:hover{-webkit-animation-play-state:paused;animation-play-state:paused}.top-index-bar .indices-marquee .index-item[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:4px 8px;background:#fff;border-radius:4px;border:1px solid #e2e8f0;font-size:11px;white-space:nowrap}.top-index-bar .indices-marquee .index-item .idx-flag[data-v-22f26594]{font-size:11px}.top-index-bar .indices-marquee .index-item .idx-symbol[data-v-22f26594]{color:#64748b;font-weight:500}.top-index-bar .indices-marquee .index-item .idx-price[data-v-22f26594]{color:#1e293b;font-weight:600}.top-index-bar .indices-marquee .index-item .idx-change[data-v-22f26594]{font-weight:600;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1px}.top-index-bar .indices-marquee .index-item .idx-change.up[data-v-22f26594]{color:#16a34a}.top-index-bar .indices-marquee .index-item .idx-change.down[data-v-22f26594]{color:#dc2626}@-webkit-keyframes marquee-22f26594{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@keyframes marquee-22f26594{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.top-index-bar .refresh-btn[data-v-22f26594]{color:#94a3b8;-ms-flex-negative:0;flex-shrink:0}.top-index-bar .refresh-btn[data-v-22f26594]:hover{color:#1e293b}.main-body[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;padding:12px;overflow:hidden;min-height:0}.left-panel[data-v-22f26594]{width:280px;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;overflow-y:auto}.left-panel .heatmap-box[data-v-22f26594]{background:#fff;border-radius:10px;padding:14px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04)}.left-panel .heatmap-box .box-header[data-v-22f26594]{margin-bottom:10px}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;background:#f4f5f7;border-radius:8px;padding:2px}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper{font-size:10px;font-weight:600;padding:0 8px;height:24px;line-height:22px;border:none;border-radius:6px;background:transparent;color:#8c8c8c;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all .2s;transition:all .2s}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper:before{display:none}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper:hover{color:#555}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:#fff;border-color:transparent;color:#111;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.left-panel .heatmap-box .heatmap-grid[data-v-22f26594]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.left-panel .heatmap-box .heatmap-grid .heat-cell[data-v-22f26594]{padding:6px 4px;border-radius:6px;text-align:center;font-size:9px;-webkit-transition:-webkit-transform .15s;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.left-panel .heatmap-box .heatmap-grid .heat-cell[data-v-22f26594]:hover{-webkit-transform:scale(1.03);transform:scale(1.03)}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-name[data-v-22f26594]{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-price[data-v-22f26594]{display:block;font-size:9px;opacity:.8;margin-bottom:1px}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-val[data-v-22f26594]{font-weight:700;font-size:10px}.left-panel .calendar-box[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;background:#fff;border-radius:10px;padding:14px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:0;overflow:hidden}.left-panel .calendar-box .box-header[data-v-22f26594]{margin-bottom:8px}.left-panel .calendar-box .box-header .box-title[data-v-22f26594]{font-size:12px;color:#555;font-weight:700;letter-spacing:-.1px}.left-panel .calendar-box .box-header .box-title .anticon[data-v-22f26594]{margin-right:6px;color:var(--primary-color,#1890ff)}.left-panel .calendar-box .calendar-list[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.left-panel .calendar-box .calendar-list[data-v-22f26594]::-webkit-scrollbar{width:3px}.left-panel .calendar-box .calendar-list[data-v-22f26594]::-webkit-scrollbar-thumb{background:#d4d8dd;border-radius:2px}.left-panel .calendar-box .calendar-list .cal-item[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:10px}.left-panel .calendar-box .calendar-list .cal-item[data-v-22f26594]:last-child{border-bottom:none}.left-panel .calendar-box .calendar-list .cal-item.high[data-v-22f26594]{border-left:3px solid #dc2626;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item.medium[data-v-22f26594]{border-left:3px solid #ca8a04;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item.low[data-v-22f26594]{border-left:3px solid #16a34a;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item .cal-date[data-v-22f26594]{font-size:9px;color:#94a3b8;min-width:32px;font-weight:500}.left-panel .calendar-box .calendar-list .cal-item .cal-time[data-v-22f26594]{color:#64748b;min-width:36px;font-weight:500}.left-panel .calendar-box .calendar-list .cal-item .cal-flag[data-v-22f26594]{font-size:12px}.left-panel .calendar-box .calendar-list .cal-item .cal-name[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-panel .calendar-box .calendar-list .cal-item .cal-impact[data-v-22f26594]{font-weight:600;font-size:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.bullish[data-v-22f26594]{color:#16a34a}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.bearish[data-v-22f26594]{color:#dc2626}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.neutral[data-v-22f26594]{color:#94a3b8}.left-panel .calendar-box .calendar-list .cal-empty[data-v-22f26594]{text-align:center;color:#94a3b8;padding:20px 0;font-size:12px}.right-panel[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border-radius:10px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04)}.right-panel .analysis-toolbar[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f2f5;background:#fafbfc;border-radius:10px 10px 0 0}.right-panel .analysis-toolbar .symbol-selector[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:320px}.right-panel .analysis-toolbar .analyze-button[data-v-22f26594]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff);border-radius:8px;font-weight:600}.right-panel .analysis-toolbar .history-button[data-v-22f26594]{border-color:#d9d9d9;border-radius:8px}.right-panel .analysis-main[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:16px;min-height:0}.right-panel .analysis-main .analysis-placeholder[data-v-22f26594]{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;height:100%;min-height:300px}.watchlist-panel[data-v-22f26594]{width:320px;-ms-flex-negative:0;flex-shrink:0;background:#fff;border-radius:10px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.watchlist-panel .panel-header[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f0f2f5;background:#fafbfc}.watchlist-panel .panel-header .panel-title[data-v-22f26594]{font-size:13px;font-weight:700;color:#333;letter-spacing:-.1px}.watchlist-panel .panel-header .panel-title .anticon[data-v-22f26594]{color:#facc15;margin-right:6px}.watchlist-panel .watchlist-list[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:6px 8px}.watchlist-panel .watchlist-list[data-v-22f26594]::-webkit-scrollbar{width:3px}.watchlist-panel .watchlist-list[data-v-22f26594]::-webkit-scrollbar-thumb{background:#d4d8dd;border-radius:2px}.watchlist-panel .watchlist-list .watchlist-empty[data-v-22f26594]{text-align:center;padding:24px 12px;color:#94a3b8}.watchlist-panel .watchlist-list .watchlist-empty .anticon[data-v-22f26594]{font-size:32px;margin-bottom:8px;display:block}.watchlist-panel .watchlist-list .watchlist-empty p[data-v-22f26594]{font-size:12px;margin-bottom:12px}@-webkit-keyframes pulse-22f26594{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-22f26594{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:992px){.ai-analysis-container[data-v-22f26594]{height:auto;min-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;width:100%;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.main-content-full[data-v-22f26594]{height:auto;min-height:auto}.top-index-bar[data-v-22f26594]{-ms-flex-wrap:wrap;flex-wrap:wrap;padding:6px 8px}.top-index-bar .indicator-box[data-v-22f26594]{min-width:45px;padding:3px 6px}.top-index-bar .indices-marquee[data-v-22f26594]{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;width:100%;margin-top:6px}.main-body[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:8px;gap:8px}.left-panel[data-v-22f26594]{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:8px}.left-panel .calendar-box[data-v-22f26594],.left-panel .heatmap-box[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.left-panel .calendar-box[data-v-22f26594]{max-height:200px}.right-panel .analysis-toolbar[data-v-22f26594]{-ms-flex-wrap:wrap;flex-wrap:wrap}.right-panel .analysis-toolbar .symbol-selector[data-v-22f26594]{width:100%!important;max-width:none!important}.right-panel .analysis-toolbar .analyze-button[data-v-22f26594],.right-panel .analysis-toolbar .history-button[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1}.watchlist-panel[data-v-22f26594]{width:100%;max-height:250px;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.hero-stats[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hero-stats .hstat[data-v-22f26594]{width:100%;max-width:300px;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media (max-width:576px){.main-body[data-v-22f26594]{padding:4px 6px;gap:6px}.top-index-bar[data-v-22f26594]{padding:5px 6px;gap:6px}.top-index-bar .indicator-box[data-v-22f26594]{padding:2px 5px}.top-index-bar .indicator-box .ind-value[data-v-22f26594]{font-size:11px}.top-index-bar .indices-marquee .index-item[data-v-22f26594]{font-size:10px;padding:2px 5px}.left-panel[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.left-panel .calendar-box[data-v-22f26594],.left-panel .heatmap-box[data-v-22f26594]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%;min-width:0;padding:8px;border-radius:8px}.left-panel .calendar-box[data-v-22f26594]{max-height:220px}.left-panel .heatmap-box .box-header[data-v-22f26594]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:0 2px 6px}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;white-space:nowrap}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.right-panel[data-v-22f26594]{border-radius:8px}.right-panel .analysis-toolbar[data-v-22f26594]{padding:6px 8px;gap:6px}.right-panel .analysis-toolbar[data-v-22f26594] .ant-btn-lg{height:36px;padding:0 10px;font-size:13px}.right-panel .analysis-toolbar[data-v-22f26594] .symbol-selector .ant-select-selection--single{height:36px!important}.right-panel .analysis-toolbar[data-v-22f26594] .symbol-selector .ant-select-selection__rendered{line-height:34px!important}.right-panel .analysis-main[data-v-22f26594]{padding:6px 8px}.watchlist-panel[data-v-22f26594]{max-height:min(42vh,320px);border-radius:8px}.watchlist-panel .panel-header[data-v-22f26594]{padding:8px 10px}.watchlist-panel .watchlist-list[data-v-22f26594]{padding:4px 6px}.batch-bar[data-v-22f26594]{margin:6px 6px 4px;padding:8px 8px;gap:6px}.panel-summary[data-v-22f26594]{-ms-flex-wrap:wrap;flex-wrap:wrap}.panel-summary .summary-chip[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1 1 22%;flex:1 1 22%;min-width:0;padding:5px 2px}.panel-summary .sc-num[data-v-22f26594]{font-size:12px}.panel-summary .sc-label[data-v-22f26594]{font-size:8px;letter-spacing:.2px}.placeholder-hero .hero-body[data-v-22f26594]{padding:16px 10px;max-width:100%}.hero-title[data-v-22f26594]{font-size:20px}.hero-subtitle[data-v-22f26594]{font-size:13px;margin-bottom:14px}.hero-stats[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:8px;margin-bottom:14px}.hero-stats .hstat[data-v-22f26594]{width:100%;max-width:none;-webkit-box-flex:0;-ms-flex:none;flex:none;padding:10px 10px}.hero-cta[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;gap:8px}.hero-cta .ant-btn[data-v-22f26594]{width:100%;height:40px}.wl-card[data-v-22f26594]{padding:8px 10px}}.ai-analysis-container.theme-dark[data-v-22f26594]{background:#0a0a0a;color:#d4d4d4}.ai-analysis-container.theme-dark .main-content-full[data-v-22f26594]{background:#141416;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.4);box-shadow:0 2px 8px rgba(0,0,0,.4)}.ai-analysis-container.theme-dark .top-index-bar[data-v-22f26594]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .top-index-bar .indicator-box[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .top-index-bar .indicator-box .ind-label[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .top-index-bar .indicator-box .ind-value[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item .idx-symbol[data-v-22f26594]{color:#777}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item .idx-price[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .top-index-bar .refresh-btn[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .top-index-bar .refresh-btn[data-v-22f26594]:hover{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .watchlist-panel .panel-header[data-v-22f26594]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-header .panel-title[data-v-22f26594]{color:#ccc}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary[data-v-22f26594]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .summary-chip[data-v-22f26594]{border-right-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .sc-num[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .sc-label[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar[data-v-22f26594]{background:#1c1c1c;border:1px solid #2a2a2a;border-radius:10px;margin:8px 10px;margin-bottom:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .batch-all-cb[data-v-22f26594]{color:#a0a0a8}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary){background:#2a2a2c;border-color:#3a3a3c;color:#b0b0b8}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{background:#333336;border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list[data-v-22f26594]::-webkit-scrollbar-thumb{background:#333}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card[data-v-22f26594]:hover{background:#222224;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-symbol[data-v-22f26594]{color:#e0e0e0}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-market[data-v-22f26594]{color:#666;background:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-price[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-pnl-qty[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-task-badge.paused[data-v-22f26594]{background:hsla(0,0%,100%,.05);color:#666}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-task-next[data-v-22f26594]{color:#555}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions[data-v-22f26594]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#222224));background:linear-gradient(90deg,transparent,#222224 30%)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-22f26594]{background:#1a1a1c;color:#888;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn.danger[data-v-22f26594]:hover{color:#f87171;background:hsla(0,91%,71%,.1)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active .wl-card-hover-actions[data-v-22f26594]{background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent) 30%)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .watchlist-empty[data-v-22f26594]{color:#555}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .we-icon[data-v-22f26594]{color:#333}.ai-analysis-container.theme-dark .placeholder-hero .hero-bg-grid[data-v-22f26594]{background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0)}.ai-analysis-container.theme-dark .placeholder-hero .hero-badge[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .placeholder-hero .hero-title[data-v-22f26594]{color:#e0e0e0}.ai-analysis-container.theme-dark .placeholder-hero .hero-hint[data-v-22f26594],.ai-analysis-container.theme-dark .placeholder-hero .hero-subtitle[data-v-22f26594]{color:#777}.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:none;box-shadow:none}.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-22f26594]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);-webkit-box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}.ai-analysis-container.theme-dark .placeholder-hero .hstat-icon[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .placeholder-hero .hstat-val[data-v-22f26594]{color:#ddd}.ai-analysis-container.theme-dark .placeholder-hero .hstat-label[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .placeholder-hero .hero-cta .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent)}.ai-analysis-container.theme-dark .watchlist-bar-legacy[data-v-22f26594]{background:#141414;border-bottom-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-22f26594]{background:#1c1c1c;border-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip.active[data-v-22f26594],.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip .chip-symbol[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip .chip-price[data-v-22f26594]{color:#888}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594] .ant-radio-group{background:#111113}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper{background:transparent;border-color:transparent;color:#666}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper:hover{color:#aaa}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:#2a2a2c;color:#e8e8e8;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .calendar-box[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .calendar-box .box-title[data-v-22f26594]{color:#888}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item[data-v-22f26594]{border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-date[data-v-22f26594]{color:#555}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-time[data-v-22f26594]{color:#777}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-name[data-v-22f26594]{color:#ccc}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-empty[data-v-22f26594]{color:#555}.ai-analysis-container.theme-dark .left-panel .calendar-box .calendar-list[data-v-22f26594]::-webkit-scrollbar-thumb{background:#333}.ai-analysis-container.theme-dark .right-panel[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar[data-v-22f26594]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-22f26594]{background:#222224;border-color:hsla(0,0%,100%,.08);color:#ccc}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-22f26594]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 45%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-22f26594]:not(.ant-btn-primary){background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{border-color:#1890ff;color:#1890ff}.ai-analysis-container.theme-dark .wl-change.up[data-v-22f26594]{background:rgba(74,222,128,.1)}.ai-analysis-container.theme-dark .wl-change.down[data-v-22f26594]{background:hsla(0,91%,71%,.1)}.ai-analysis-container.theme-dark .panel-header-icon[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .panel-header-icon[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}.ai-analysis-container.theme-dark .panel-summary[data-v-22f26594]{background:#141416}.ai-analysis-container.theme-dark .batch-bar[data-v-22f26594]{background:#1c1c1c!important;border:1px solid #2a2a2a!important;border-radius:10px;margin:8px 10px;margin-bottom:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.ai-analysis-container.theme-dark .batch-bar .batch-all-cb[data-v-22f26594]{color:#a0a0a8}.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary){background:#2a2a2c!important;border-color:#3a3a3c!important;color:#b0b0b8!important}.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{background:#333336!important;border-color:var(--primary-color,#1890ff)!important;color:var(--primary-color,#1890ff)!important}.ai-analysis-container.theme-dark .watchlist-bar-compat[data-v-22f26594]{background:#141414;border-top-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-compat .bar-label[data-v-22f26594]{color:#888}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-22f26594]{background:#1c1c1c;border-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip.active[data-v-22f26594],.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-symbol[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-price[data-v-22f26594]{color:#888}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-remove[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark[data-v-22f26594] .symbol-selector .ant-select-selection{background-color:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-bar{border-bottom-color:#2a2a2a}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-tab{color:#888}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-tab:hover{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-tab-active{color:#1890ff!important}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-ink-bar{background-color:#1890ff}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input::-webkit-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input::-moz-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input:-ms-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input::-ms-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input::placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input-number{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input-number .ant-input-number-handler-wrap{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-select-selection{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-select-arrow{color:#666}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-checkbox-wrapper,.ai-analysis-container.theme-dark[data-v-22f26594] .ant-form-item-label>label,.ai-analysis-container.theme-dark[data-v-22f26594] .ant-radio-wrapper{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-alert{background:rgba(24,144,255,.06);border-color:#2a2a2a}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-alert-message{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tag{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-list-item{border-bottom-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-list-item-meta-title{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-list-item-meta-description{color:#888}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-empty-description{color:#666}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tooltip-inner{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-badge-count{-webkit-box-shadow:0 0 0 1px #141414;box-shadow:0 0 0 1px #141414}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-popover-inner{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-popover-message{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-popover-arrow{border-color:#1c1c1c}.placeholder-hero[data-v-22f26594]{position:relative;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;width:100%;height:100%;overflow:hidden}.hero-bg[data-v-22f26594]{position:absolute;inset:0;pointer-events:none}.hero-bg-circle[data-v-22f26594]{position:absolute;border-radius:50%;opacity:.5}.hero-bg-circle.c1[data-v-22f26594]{width:320px;height:320px;top:-80px;right:-60px;background:radial-gradient(circle,rgba(24,144,255,.1) 0,transparent 70%);-webkit-animation:hero-float-22f26594 6s ease-in-out infinite;animation:hero-float-22f26594 6s ease-in-out infinite}.hero-bg-circle.c2[data-v-22f26594]{width:240px;height:240px;bottom:-40px;left:-40px;background:radial-gradient(circle,rgba(114,46,209,.08) 0,transparent 70%);animation:hero-float-22f26594 8s ease-in-out infinite reverse}.hero-bg-grid[data-v-22f26594]{position:absolute;inset:0;background-image:linear-gradient(rgba(24,144,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(24,144,255,.03) 1px,transparent 0);background-size:32px 32px}@-webkit-keyframes hero-float-22f26594{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}@keyframes hero-float-22f26594{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}.hero-body[data-v-22f26594]{position:relative;text-align:center;padding:40px 32px;max-width:560px}.hero-badge[data-v-22f26594]{display:inline-block;padding:3px 12px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08);border:1px solid rgba(24,144,255,.2);margin-bottom:16px}.hero-title[data-v-22f26594]{font-size:26px;font-weight:800;color:#0f172a;margin-bottom:8px;letter-spacing:-.3px;line-height:1.3}.hero-subtitle[data-v-22f26594]{font-size:14px;color:#64748b;margin-bottom:32px;line-height:1.5}.hero-stats[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:32px;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.hstat[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;text-align:left;-webkit-transition:all .25s;transition:all .25s}.hstat[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 4px 16px rgba(24,144,255,.1);box-shadow:0 4px 16px rgba(24,144,255,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.hstat-icon[data-v-22f26594]{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;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,rgba(24,144,255,.1),rgba(114,46,209,.08));font-size:16px;color:var(--primary-color,#1890ff);-ms-flex-negative:0;flex-shrink:0}.hstat-body[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0}.hstat-val[data-v-22f26594]{font-size:12px;font-weight:700;color:#0f172a}.hstat-label[data-v-22f26594],.hstat-val[data-v-22f26594]{line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hstat-label[data-v-22f26594]{font-size:10px;color:#94a3b8;margin-top:1px}.hero-cta[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:16px}.hero-cta .ant-btn[data-v-22f26594]{border-radius:10px;font-weight:600;height:42px;padding:0 24px;font-size:14px}.hero-cta .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 4px 14px rgba(24,144,255,.3);box-shadow:0 4px 14px rgba(24,144,255,.3)}.hero-hint[data-v-22f26594]{font-size:12px;color:#94a3b8}.panel-header-actions[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.panel-header-icon[data-v-22f26594]{font-size:15px;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;-webkit-transition:color .2s,background .2s;transition:color .2s,background .2s}.panel-header-icon[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.panel-summary[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;padding:0;border-bottom:1px solid #f1f5f9}.summary-chip[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 4px;border-right:1px solid #f1f5f9}.summary-chip[data-v-22f26594]:last-child{border-right:none}.sc-num[data-v-22f26594]{font-size:14px;font-weight:700;color:#0f172a;line-height:1.2;font-family:SF Mono,Monaco,monospace}.sc-num.up[data-v-22f26594]{color:#16a34a}.sc-num.down[data-v-22f26594]{color:#dc2626}.sc-label[data-v-22f26594]{font-size:9px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.batch-bar[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:10px 12px;margin:8px 10px;margin-bottom:4px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);-ms-flex-wrap:wrap;flex-wrap:wrap}.batch-all-cb[data-v-22f26594]{font-size:12px;font-weight:500;color:#475569;margin-right:4px}.batch-bar .ant-btn[data-v-22f26594]{border-radius:6px;font-size:12px;font-weight:500;height:28px;padding:0 10px;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all .2s;transition:all .2s}.batch-bar .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent)}.batch-bar .ant-btn-primary[data-v-22f26594]:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary){background:#f8fafc;border-color:#e2e8f0;color:#64748b}.batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.wl-card[data-v-22f26594]{position:relative;padding:10px 12px;border-radius:8px;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:3px;border:1px solid transparent}.wl-card[data-v-22f26594]:hover{background:#f5f7fa;border-color:#e8ecf1}.wl-card.active[data-v-22f26594]{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color,#1890ff) 6%,#fff) 0,color-mix(in srgb,var(--primary-color,#1890ff) 4%,#fff) 100%);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent);-webkit-box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}.wl-card-cb[data-v-22f26594]{position:absolute;top:12px;left:4px;z-index:1}.wl-card-body[data-v-22f26594]{-webkit-transition:padding-left .2s;transition:padding-left .2s}.wl-card-body.with-cb[data-v-22f26594]{padding-left:24px}.wl-row-main[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:5px}.wl-symbol[data-v-22f26594]{font-size:13px;font-weight:700;color:#0f172a}.wl-market[data-v-22f26594]{font-size:9px;color:#94a3b8;letter-spacing:.3px;padding:1px 4px;background:#f1f5f9;border-radius:3px}.wl-spacer[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1}.wl-price[data-v-22f26594]{font-size:12px;font-weight:600;color:#0f172a;font-family:SF Mono,Monaco,monospace}.wl-change[data-v-22f26594]{font-size:10px;font-weight:700;font-family:SF Mono,Monaco,monospace;padding:1px 5px;border-radius:4px;margin-left:4px}.wl-change.up[data-v-22f26594]{color:#16a34a;background:rgba(22,163,74,.08)}.wl-change.down[data-v-22f26594]{color:#dc2626;background:rgba(220,38,38,.06)}.wl-row-pnl[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-top:4px;font-family:SF Mono,Monaco,monospace}.wl-pnl-qty[data-v-22f26594]{font-size:10px;color:#94a3b8}.wl-pnl-val[data-v-22f26594]{font-size:10px;font-weight:600;margin-left:auto}.wl-pnl-val.up[data-v-22f26594]{color:#16a34a}.wl-pnl-val.down[data-v-22f26594]{color:#dc2626}.wl-row-task[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px;margin-top:4px}.wl-row-task[data-v-22f26594],.wl-task-badge[data-v-22f26594]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wl-task-badge[data-v-22f26594]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:3px;font-size:10px;padding:1px 8px;border-radius:10px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.wl-task-badge.active[data-v-22f26594]{color:#16a34a;background:rgba(22,163,74,.08)}.wl-task-badge.paused[data-v-22f26594]{color:#94a3b8;background:#f1f5f9}.wl-task-badge[data-v-22f26594]:hover{opacity:.75}.wl-task-next[data-v-22f26594]{font-size:10px;color:#94a3b8;margin-left:auto}.wl-card-hover-actions[data-v-22f26594]{position:absolute;top:0;right:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;padding-right:8px;opacity:0;-webkit-transition:opacity .15s;transition:opacity .15s;background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#f8fafc));background:linear-gradient(90deg,transparent,#f8fafc 30%);border-radius:0 8px 8px 0;pointer-events:none}.wl-card:hover .wl-card-hover-actions[data-v-22f26594]{opacity:1;pointer-events:auto}.wl-card.active .wl-card-hover-actions[data-v-22f26594]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#e6f7ff));background:linear-gradient(90deg,transparent,#e6f7ff 30%)}.wl-hover-btn[data-v-22f26594]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:26px;height:26px;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06)}.wl-hover-btn[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:#e6f7ff}.wl-hover-btn.danger[data-v-22f26594]:hover{color:#dc2626;background:#fef2f2}.watchlist-empty[data-v-22f26594]{text-align:center;padding:32px 16px}.we-icon[data-v-22f26594]{font-size:36px;color:#e2e8f0;margin-bottom:12px}.watchlist-empty p[data-v-22f26594]{font-size:12px;color:#94a3b8;margin-bottom:12px}.batch-modal-summary[data-v-22f26594]{margin-bottom:16px}.batch-modal-summary p[data-v-22f26594]{font-size:13px;color:#475569;margin-bottom:8px}.batch-symbols-preview[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px;max-height:80px;overflow-y:auto}.task-drawer-empty[data-v-22f26594]{text-align:center;padding:48px 16px;color:#94a3b8}.task-drawer-empty p[data-v-22f26594]{margin-top:12px;font-size:13px}.task-drawer-list[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.task-item[data-v-22f26594]{padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fafafa;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.task-item[data-v-22f26594]:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06)}.task-item-header[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.task-item-name[data-v-22f26594]{font-size:13px;font-weight:600;color:#0f172a}.task-item-meta[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;font-size:12px;color:#64748b;margin-bottom:10px}.task-item-meta .anticon[data-v-22f26594]{margin-right:4px}.task-item-actions[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px;margin-top:4px}.task-item-actions .ant-btn[data-v-22f26594]{border-radius:6px;font-size:12px;font-weight:500;height:28px;padding:0 10px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;-webkit-transition:all .2s;transition:all .2s;border-width:1px}.task-item-actions .ant-btn.ant-btn-primary[data-v-22f26594]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.04);box-shadow:0 1px 2px rgba(0,0,0,.04)}.task-item-actions .ant-btn.ant-btn-primary[data-v-22f26594]:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05);-webkit-box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent)}.task-item-actions .ant-btn.ant-btn-default[data-v-22f26594]{background:#f8fafc;border-color:#e2e8f0;color:#475569}.task-item-actions .ant-btn.ant-btn-default[data-v-22f26594]:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.task-item-actions .ant-btn.ant-btn-danger[data-v-22f26594]{background:#fef2f2;border-color:#fecaca;color:#dc2626}.task-item-actions .ant-btn.ant-btn-danger[data-v-22f26594]:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.add-stock-modal-content .market-tabs[data-v-22f26594]{margin-bottom:16px}.add-stock-modal-content .hot-symbols-section[data-v-22f26594],.add-stock-modal-content .search-results-section[data-v-22f26594],.add-stock-modal-content .symbol-search-section[data-v-22f26594]{margin-bottom:24px}.add-stock-modal-content .hot-symbols-section .section-title[data-v-22f26594],.add-stock-modal-content .search-results-section .section-title[data-v-22f26594]{font-size:14px;font-weight:600;color:#262626;margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.add-stock-modal-content .symbol-list[data-v-22f26594]{max-height:200px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:4px}.add-stock-modal-content .symbol-list .symbol-list-item[data-v-22f26594]{cursor:pointer;padding:8px 12px;-webkit-transition:background-color .3s;transition:background-color .3s}.add-stock-modal-content .symbol-list .symbol-list-item[data-v-22f26594]:hover{background-color:#f5f5f5}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content .symbol-code[data-v-22f26594]{font-weight:600;color:#262626;min-width:80px}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content .symbol-name[data-v-22f26594]{color:#595959;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-stock-modal-content .selected-symbol-section[data-v-22f26594]{margin-top:16px}.add-stock-modal-content .selected-symbol-section .selected-symbol-info[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.skeleton-box .skeleton-text[data-v-22f26594]{display:block;height:12px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;border-radius:4px;margin:3px 0}.skeleton-box .skeleton-text.short[data-v-22f26594]{width:40px;height:9px}.skeleton-cell[data-v-22f26594]{background:#f8fafc!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:8px 4px}.skeleton-cell .skeleton-text[data-v-22f26594]{width:80%;height:10px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;border-radius:3px;margin:2px 0}.skeleton-cell .skeleton-text.short[data-v-22f26594]{width:50%;height:8px}.skeleton-item[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 0}.skeleton-item .skeleton-text[data-v-22f26594]{height:12px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;border-radius:4px;-webkit-box-flex:1;-ms-flex:1;flex:1}.skeleton-item .skeleton-text.short[data-v-22f26594]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:40px}.indices-empty[data-v-22f26594],.indices-loading[data-v-22f26594]{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;height:100%;font-size:11px;color:#94a3b8;padding:4px 16px}.indices-loading .anticon[data-v-22f26594]{margin-right:6px}.heatmap-empty[data-v-22f26594]{grid-column:-1;text-align:center;padding:20px;color:#94a3b8;font-size:12px}@-webkit-keyframes skeleton-pulse-22f26594{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-pulse-22f26594{0%{background-position:200% 0}to{background-position:-200% 0}}.theme-dark .skeleton-box .skeleton-text[data-v-22f26594],.theme-dark .skeleton-cell .skeleton-text[data-v-22f26594],.theme-dark .skeleton-item .skeleton-text[data-v-22f26594]{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#2a2a2a),color-stop(50%,#333),color-stop(75%,#2a2a2a));background:linear-gradient(90deg,#2a2a2a 25%,#333 50%,#2a2a2a 75%);background-size:200% 100%}.theme-dark .skeleton-cell[data-v-22f26594]{background:#1c1c1c!important}.theme-dark .heatmap-empty[data-v-22f26594],.theme-dark .indices-empty[data-v-22f26594],.theme-dark .indices-loading[data-v-22f26594]{color:#666}.qd-dark-modal .ant-modal-content{background:#141414}.qd-dark-modal .ant-modal-header{background:#141414;border-bottom-color:#2a2a2a}.qd-dark-modal .ant-modal-header .ant-modal-title{color:#d4d4d4}.qd-dark-modal .ant-modal-close-x{color:#888}.qd-dark-modal .ant-modal-body{background:#141414;color:#d4d4d4}.qd-dark-modal .ant-modal-footer{background:#141414;border-top-color:#2a2a2a}.qd-dark-modal .ant-modal-footer .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-modal-footer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.qd-dark-modal .ant-form-item-label>label{color:#d4d4d4}.qd-dark-modal .ant-input{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-input::-webkit-input-placeholder{color:#555}.qd-dark-modal .ant-input::-moz-placeholder{color:#555}.qd-dark-modal .ant-input:-ms-input-placeholder{color:#555}.qd-dark-modal .ant-input::-ms-input-placeholder{color:#555}.qd-dark-modal .ant-input::placeholder{color:#555}.qd-dark-modal .ant-input-number,.qd-dark-modal .ant-select-selection{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-select-arrow{color:#666}.qd-dark-modal .ant-checkbox-wrapper,.qd-dark-modal .ant-radio-wrapper{color:#d4d4d4}.qd-dark-modal .ant-tabs-bar{border-bottom-color:#2a2a2a}.qd-dark-modal .ant-tabs-tab{color:#888}.qd-dark-modal .ant-tabs-tab:hover{color:#d4d4d4}.qd-dark-modal .ant-tabs-tab-active{color:#1890ff!important}.qd-dark-modal .ant-tag{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-tag-blue{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}.qd-dark-modal .ant-alert{background:rgba(24,144,255,.06);border-color:#2a2a2a}.qd-dark-modal .ant-alert-message{color:#d4d4d4}.qd-dark-modal .ant-alert-info .ant-alert-icon{color:#1890ff}.qd-dark-modal .ant-list-item{border-bottom-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-list-item-meta-title{color:#d4d4d4}.qd-dark-modal .ant-list-item-meta-description{color:#888}.qd-dark-modal .ant-empty-description{color:#666}.qd-dark-modal .add-stock-modal-content,.qd-dark-modal p{color:#d4d4d4}.qd-dark-modal .add-stock-modal-content .section-title{color:#d4d4d4!important}.qd-dark-modal .add-stock-modal-content .symbol-list{border-color:#2a2a2a;background:#1c1c1c}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item:hover{background:#252525!important}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item .symbol-code{color:#d4d4d4!important}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item .symbol-name{color:#888!important}.qd-dark-modal .add-stock-modal-content .selected-symbol-info strong{color:#d4d4d4}.qd-dark-modal .add-stock-modal-content .selected-symbol-info span{color:#888!important}.qd-dark-modal .batch-modal-summary p{color:#d4d4d4}.qd-dark-modal .batch-symbols-preview .ant-tag{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}.qd-dark-modal .task-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-modal .task-item:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.3)}.qd-dark-modal .task-item-name{color:#d4d4d4}.qd-dark-modal .task-item-meta{color:#888}.qd-dark-modal .task-drawer-empty{color:#666}.qd-dark-modal .history-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-modal .search-result-item{color:#d4d4d4}.qd-dark-modal .search-result-item:hover{background:#1c1c1c}.qd-dark-modal .search-result-name{color:#d4d4d4}.qd-dark-modal .search-result-market{color:#888}.qd-dark-drawer .ant-drawer-content{background:#141414}.qd-dark-drawer .ant-drawer-header{background:#141414;border-bottom-color:#2a2a2a}.qd-dark-drawer .ant-drawer-header .ant-drawer-title{color:#d4d4d4}.qd-dark-drawer .ant-drawer-header .ant-drawer-close{color:#888}.qd-dark-drawer .ant-drawer-body{background:#141414;color:#d4d4d4}.qd-dark-drawer .task-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-drawer .task-item:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.3)}.qd-dark-drawer .task-item-name{color:#d4d4d4}.qd-dark-drawer .task-item-meta{color:#888}.qd-dark-drawer .task-drawer-empty{color:#666}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-primary{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-primary:hover{-webkit-filter:brightness(1.1);filter:brightness(1.1)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-default{background:#2a2a2c;border-color:#3a3a3c;color:#b0b0b8}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-default:hover{background:#333336;border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25);color:#f87171}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-danger:hover{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.4);color:#fca5a5}.qd-dark-drawer .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-drawer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.qd-dark-drawer .ant-btn-danger{background:transparent}.qd-dark-drawer .ant-popover-inner{background:#1c1c1c}.qd-dark-drawer .ant-popover-message,.qd-dark-drawer .ant-popover-message-title{color:#d4d4d4}.qd-dark-drawer .ant-popover-buttons .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-select-dropdown,body.colorWeak .ant-select-dropdown{background:#1c1c1c}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item{color:#d4d4d4}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item-active,.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item:hover,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item-active,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item:hover{background:#252525}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item-selected,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item-selected{background:rgba(24,144,255,.1);color:#1890ff}
\ No newline at end of file
diff --git a/frontend/dist/css/855.e5d22965.css b/frontend/dist/css/681.220338f3.css
similarity index 73%
rename from frontend/dist/css/855.e5d22965.css
rename to frontend/dist/css/681.220338f3.css
index 9fb1fb7..fd995ae 100644
--- a/frontend/dist/css/855.e5d22965.css
+++ b/frontend/dist/css/681.220338f3.css
@@ -1 +1 @@
-.fast-analysis-report[data-v-03feb1fa]{height:100%;overflow-y:auto;padding:24px;background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}.fast-analysis-report[data-v-03feb1fa]::-webkit-scrollbar{width:4px}.fast-analysis-report[data-v-03feb1fa]::-webkit-scrollbar-thumb{background:#d0d4da;border-radius:2px}.fast-analysis-report .loading-container[data-v-03feb1fa]{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;min-height:420px}.fast-analysis-report .loading-container .loading-content-pro[data-v-03feb1fa]{width:100%;max-width:400px;padding:40px}.fast-analysis-report .loading-container .loading-content-pro .loading-header[data-v-03feb1fa]{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;gap:12px;margin-bottom:32px}.fast-analysis-report .loading-container .loading-content-pro .loading-header .loading-icon-pro[data-v-03feb1fa]{font-size:26px;color:var(--primary-color,#1890ff)}.fast-analysis-report .loading-container .loading-content-pro .loading-header .loading-title[data-v-03feb1fa]{font-size:18px;font-weight:700;color:#1a1a2e}.fast-analysis-report .loading-container .loading-content-pro .progress-wrapper[data-v-03feb1fa]{margin-bottom:24px;position:relative}.fast-analysis-report .loading-container .loading-content-pro .progress-wrapper .progress-text[data-v-03feb1fa]{position:absolute;right:0;top:-22px;font-size:13px;font-weight:700;color:var(--primary-color,#1890ff)}.fast-analysis-report .loading-container .loading-content-pro .current-step[data-v-03feb1fa]{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;gap:8px;padding:10px 20px;background:color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent);border-radius:8px;margin-bottom:20px;color:var(--primary-color,#1890ff);font-size:13px;font-weight:600}.fast-analysis-report .loading-container .loading-content-pro .current-step .anticon[data-v-03feb1fa]{font-size:15px}.fast-analysis-report .loading-container .loading-content-pro .steps-list[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:9px 14px;background:rgba(0,0,0,.02);border-radius:8px;font-size:12px;color:#999;-webkit-transition:all .3s;transition:all .3s}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-dot[data-v-03feb1fa]{width:7px;height:7px;border-radius:50%;background:#ddd;-webkit-transition:all .3s;transition:all .3s}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-text[data-v-03feb1fa]{-webkit-box-flex:1;-ms-flex:1;flex:1}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-check[data-v-03feb1fa]{color:#10b981;font-size:13px}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.active[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent);color:var(--primary-color,#1890ff);font-weight:600}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.active .step-dot[data-v-03feb1fa]{background:var(--primary-color,#1890ff);-webkit-box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent)}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.done[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.done .step-dot[data-v-03feb1fa]{background:#10b981}.fast-analysis-report .loading-container .loading-content-pro .loading-footer[data-v-03feb1fa]{margin-top:20px;text-align:center}.fast-analysis-report .loading-container .loading-content-pro .loading-footer .elapsed-time[data-v-03feb1fa]{font-size:12px;color:#999;font-family:SF Mono,Monaco,monospace}.fast-analysis-report .empty-container[data-v-03feb1fa]{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;min-height:400px}.fast-analysis-report .empty-container .empty-content[data-v-03feb1fa]{text-align:center}.fast-analysis-report .empty-container .empty-content .empty-icon[data-v-03feb1fa]{font-size:56px;color:#ccc}.fast-analysis-report .empty-container .empty-content .empty-title[data-v-03feb1fa]{margin-top:14px;font-size:17px;font-weight:700;color:#1a1a2e}.fast-analysis-report .empty-container .empty-content .empty-hint[data-v-03feb1fa]{margin-top:6px;color:#999;font-size:13px}.fast-analysis-report .result-container .decision-card[data-v-03feb1fa]{padding:28px 24px;margin-bottom:2px;border-radius:16px 16px 0 0;background:#fff;position:relative;overflow:hidden}.fast-analysis-report .result-container .decision-card[data-v-03feb1fa]:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .decision-card.decision-buy[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#10b981),to(#34d399));background:linear-gradient(90deg,#10b981,#34d399)}.fast-analysis-report .result-container .decision-card.decision-sell[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#ef4444),to(#f87171));background:linear-gradient(90deg,#ef4444,#f87171)}.fast-analysis-report .result-container .decision-card.decision-hold[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#f59e0b),to(#fbbf24));background:linear-gradient(90deg,#f59e0b,#fbbf24)}.fast-analysis-report .result-container .decision-card .decision-main[data-v-03feb1fa]{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;margin-bottom:16px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge .anticon[data-v-03feb1fa]{font-size:28px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge .decision-text[data-v-03feb1fa]{font-size:32px;font-weight:800;letter-spacing:1px;color:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring[data-v-03feb1fa]{text-align:center}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring .confidence-value[data-v-03feb1fa]{font-size:17px;font-weight:800;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring .confidence-label[data-v-03feb1fa]{font-size:11px;color:#999;margin-top:2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .decision-card .decision-summary[data-v-03feb1fa]{font-size:14px;line-height:1.75;color:#555;padding-top:14px;border-top:1px solid #ebeef2}.fast-analysis-report .result-container .decision-card .consensus-strip[data-v-03feb1fa]{margin-top:12px;padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--primary-color,#1890ff) 4%,transparent);font-size:12px;color:#555}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-weight:700;margin-bottom:6px;color:var(--primary-color,#1890ff);font-size:12px}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-metrics[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px 18px}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-metrics .cm-item em[data-v-03feb1fa]{font-style:normal;color:#999;margin-right:4px}.fast-analysis-report .result-container .decision-card.decision-buy .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-buy .decision-badge .decision-text[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .decision-card.decision-sell .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-sell .decision-badge .decision-text[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .decision-card.decision-hold .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-hold .decision-badge .decision-text[data-v-03feb1fa]{color:#f59e0b}.fast-analysis-report .result-container .price-info-row[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .price-info-row.hold-mode[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .result-container .price-info-row .price-card[data-v-03feb1fa]{padding:16px 14px;text-align:center;position:relative;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .price-info-row .price-card[data-v-03feb1fa]:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:#ebeef2}.fast-analysis-report .result-container .price-info-row .price-card .price-label[data-v-03feb1fa]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:6px}.fast-analysis-report .result-container .price-info-row .price-card .price-value[data-v-03feb1fa]{font-size:18px;font-weight:700;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .price-info-row .price-card .price-value.positive[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .price-info-row .price-card .price-value.negative[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card .price-hint[data-v-03feb1fa]{font-size:9px;color:#bbb;margin-top:4px}.fast-analysis-report .result-container .price-info-row .price-card .price-hint .anticon[data-v-03feb1fa]{margin-right:2px}.fast-analysis-report .result-container .price-info-row .price-card .price-change[data-v-03feb1fa]{font-size:13px;margin-top:3px;font-weight:700;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .price-info-row .price-card .price-change.positive[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .price-info-row .price-card .price-change.negative[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card.current .price-label[data-v-03feb1fa]{color:#3b82f6}.fast-analysis-report .result-container .price-info-row .price-card.entry .price-label[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .price-info-row .price-card.stop .price-label[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card.target .price-label[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .trend-outlook-card[data-v-03feb1fa]{background:#fff;padding:18px 20px;margin-bottom:2px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1a1a2e;margin-bottom:10px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff);font-size:15px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-summary[data-v-03feb1fa]{font-size:12px;line-height:1.65;color:#555;margin-bottom:12px;padding:10px 12px;background:rgba(0,0,0,.02);border-radius:8px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-grid[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item[data-v-03feb1fa]{background:rgba(0,0,0,.02);border-radius:8px;padding:10px;text-align:center}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-label[data-v-03feb1fa]{font-size:10px;color:#999;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend[data-v-03feb1fa]{font-size:13px;font-weight:700;margin-bottom:4px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bull[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bear[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-neutral[data-v-03feb1fa]{color:#f59e0b}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-meta[data-v-03feb1fa]{font-size:10px;color:#999;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}@media (max-width:992px){.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-grid[data-v-03feb1fa]{grid-template-columns:repeat(2,1fr)}}.fast-analysis-report .result-container .scores-row[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .scores-row .score-item[data-v-03feb1fa]{padding:14px 16px;position:relative;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .scores-row .score-item[data-v-03feb1fa]:not(:last-child):after{content:"";position:absolute;right:0;top:16%;height:68%;width:1px;background:#ebeef2}.fast-analysis-report .result-container .scores-row .score-item .score-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#999;margin-bottom:8px}.fast-analysis-report .result-container .scores-row .score-item .score-header .anticon[data-v-03feb1fa]{font-size:14px;color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .scores-row .score-item .score-value[data-v-03feb1fa]{text-align:right;font-size:22px;font-weight:800;color:#1a1a2e;margin-top:6px;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .scores-row .score-item.overall[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 3%,transparent)}.fast-analysis-report .result-container .scores-row .score-item.overall .score-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0;background:#fff;margin-bottom:2px;padding:0}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]{padding:20px 24px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:transparent;border-bottom:1px solid #ebeef2;position:relative}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]:last-child{border-bottom:none}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:2px}.fast-analysis-report .result-container .detailed-analysis .analysis-card.technical[data-v-03feb1fa]:before{background:#3b82f6}.fast-analysis-report .result-container .detailed-analysis .analysis-card.fundamental[data-v-03feb1fa]:before{background:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis .analysis-card.sentiment[data-v-03feb1fa]:before{background:#ec4899}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;color:#1a1a2e;padding-left:12px}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header .anticon[data-v-03feb1fa]{font-size:16px}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.technical .anticon[data-v-03feb1fa]{color:#3b82f6}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.fundamental .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.sentiment .anticon[data-v-03feb1fa]{color:#ec4899}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-content[data-v-03feb1fa]{font-size:13px;line-height:1.85;color:#555;padding-left:12px}.fast-analysis-report .result-container .analysis-details[data-v-03feb1fa]{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .analysis-details .detail-section[data-v-03feb1fa]{padding:20px 24px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:transparent}.fast-analysis-report .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right:1px solid #ebeef2}.fast-analysis-report .result-container .analysis-details .detail-section .section-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:12px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list[data-v-03feb1fa]{list-style:none;padding:0;margin:0}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]{padding:8px 0;font-size:13px;line-height:1.65;color:#555;border-bottom:1px solid rgba(0,0,0,.04)}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]:last-child{border-bottom:none}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:10px;vertical-align:middle}.fast-analysis-report .result-container .analysis-details .detail-section.reasons .detail-list li[data-v-03feb1fa]:before{background:#10b981}.fast-analysis-report .result-container .analysis-details .detail-section.risks .detail-list li[data-v-03feb1fa]:before{background:#f59e0b}.fast-analysis-report .result-container .indicators-section[data-v-03feb1fa]{background:#fff;padding:20px 24px;margin-bottom:2px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .indicators-section .section-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:700;margin-bottom:8px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .indicators-section .section-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .indicators-section .section-title .indicators-pro-badge[data-v-03feb1fa]{margin:0;font-size:10px;line-height:16px;font-weight:600}.fast-analysis-report .result-container .indicators-section .indicators-methodology[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;color:#999;margin-bottom:14px;padding:8px 12px;background:rgba(0,0,0,.02);border-radius:6px;border:none}.fast-analysis-report .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff);margin-top:1px}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa]{margin-top:18px;padding-top:14px;border-top:1px solid #ebeef2}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#555;margin-bottom:10px}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-label{font-size:11px;color:#999;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content{font-size:11px;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bullish{color:#10b981;font-weight:700}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bearish{color:#ef4444;font-weight:700}.fast-analysis-report .result-container .indicators-section .indicators-grid[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]{background:rgba(0,0,0,.02);border-radius:8px;padding:12px 10px;text-align:center;border:none;-webkit-transition:background .15s;transition:background .15s}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]:hover{background:rgba(0,0,0,.04)}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-name[data-v-03feb1fa]{font-size:10px;color:#999;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value[data-v-03feb1fa]{font-size:15px;font-weight:700;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bullish[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.oversold[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bearish[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.high-volatility[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.overbought[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.low-volatility[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-signal[data-v-03feb1fa]{font-size:10px;color:#999;margin-top:3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .feedback-section[data-v-03feb1fa]{background:#fff;border-radius:0 0 16px 16px;padding:18px 24px;text-align:center;border:none;-webkit-box-shadow:none;box-shadow:none}.fast-analysis-report .result-container .feedback-section .feedback-question[data-v-03feb1fa]{font-size:13px;color:#999;margin-bottom:10px}.fast-analysis-report .result-container .feedback-section .feedback-buttons[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;margin-bottom:12px}.fast-analysis-report .result-container .feedback-section .feedback-buttons .ant-btn[data-v-03feb1fa]{min-width:90px;border-radius:8px}.fast-analysis-report .result-container .feedback-section .analysis-meta[data-v-03feb1fa]{font-size:11px;color:#bbb;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:14px}@media (max-width:992px){.fast-analysis-report .price-info-row[data-v-03feb1fa]:not(.hold-mode),.fast-analysis-report .scores-row[data-v-03feb1fa]{grid-template-columns:repeat(2,1fr)}.fast-analysis-report .analysis-details[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right:none;border-bottom:1px solid #ebeef2}}@media (max-width:576px){.fast-analysis-report[data-v-03feb1fa]{padding:8px 6px}.fast-analysis-report .price-info-row[data-v-03feb1fa]:not(.hold-mode),.fast-analysis-report .scores-row[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .decision-card[data-v-03feb1fa]{padding:20px 16px}.fast-analysis-report .decision-card .decision-main[data-v-03feb1fa]{gap:14px;text-align:center}.fast-analysis-report .decision-card .decision-main .decision-badge[data-v-03feb1fa],.fast-analysis-report .decision-card .decision-main[data-v-03feb1fa]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.fast-analysis-report .decision-card .decision-main .decision-badge .decision-text[data-v-03feb1fa]{font-size:26px}}.fast-analysis-report.theme-dark[data-v-03feb1fa]{background:#111113}.fast-analysis-report.theme-dark[data-v-03feb1fa]::-webkit-scrollbar-thumb{background:#333}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-icon-pro[data-v-03feb1fa],.fast-analysis-report.theme-dark .loading-container .loading-content-pro .progress-wrapper .progress-text[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .current-step[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item[data-v-03feb1fa]{background:#222224;color:#666}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.active[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.active .step-dot[data-v-03feb1fa]{background:var(--primary-color,#1890ff);-webkit-box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.done[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.done .step-dot[data-v-03feb1fa]{background:#34d399}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-footer .elapsed-time[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .empty-content .empty-icon[data-v-03feb1fa]{color:#444}.fast-analysis-report.theme-dark .empty-content .empty-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .empty-content .empty-hint[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .decision-card[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(16,185,129,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy .decision-text[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(239,68,68,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell .decision-text[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(245,158,11,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold .decision-text[data-v-03feb1fa]{color:#fbbf24}.fast-analysis-report.theme-dark .result-container .decision-card .decision-text[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .decision-card .confidence-label[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .decision-card .decision-summary[data-v-03feb1fa]{color:#a0a0a8;border-top-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .decision-card .confidence-value[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card[data-v-03feb1fa] .ant-progress-text{color:#e8e8ec!important}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 5%,transparent);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip .consensus-strip-title[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip .cm-item em[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .price-info-row[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card[data-v-03feb1fa]:not(:last-child):after{background:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-label[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value.positive[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value.negative[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-hint[data-v-03feb1fa]{color:#555}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-change.positive[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-change.negative[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.current .price-label[data-v-03feb1fa]{color:#60a5fa}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.entry .price-label[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.stop .price-label[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.target .price-label[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .trend-outlook-card[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-header[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-summary[data-v-03feb1fa]{background:#222224;color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item[data-v-03feb1fa]{background:#222224}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-label[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-meta[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bull[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bear[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-neutral[data-v-03feb1fa]{color:#fbbf24}.fast-analysis-report.theme-dark .result-container .scores-row[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .scores-row .score-item[data-v-03feb1fa]:not(:last-child):after{background:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-header[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .scores-row .score-item.overall[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 4%,transparent)}.fast-analysis-report.theme-dark .result-container .detailed-analysis[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]{border-bottom-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card .analysis-card-header[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card .analysis-card-content[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .analysis-details[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section .section-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]{color:#a0a0a8;border-bottom-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .indicators-section .section-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .indicators-section .section-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology[data-v-03feb1fa]{background:#222224;color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]{background:#222224}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]:hover{background:hsla(0,0%,100%,.05)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-name[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bullish[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.oversold[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bearish[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.high-volatility[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.overbought[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.low-volatility[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-signal[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa]{border-top-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-row,.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-view{border-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc th.ant-descriptions-item-label{background:#222224;border-color:hsla(0,0%,100%,.06);color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc td.ant-descriptions-item-content{background:#19191b;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-label{background:#222224;border-color:hsla(0,0%,100%,.06);color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content{background:#19191b;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content>span{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bullish{color:#34d399!important}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bearish{color:#f87171!important}.fast-analysis-report.theme-dark .result-container .feedback-section[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .feedback-section .feedback-question[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .feedback-section .analysis-meta[data-v-03feb1fa]{color:#555}.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]{background:#222224;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 30%,transparent);color:var(--primary-color,#1890ff)}@media (max-width:992px){.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right-color:transparent;border-bottom-color:hsla(0,0%,100%,.06)}}.ai-analysis-container[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;height:calc(100vh - 120px);background:#f0f2f5;overflow:hidden;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.ai-analysis-container.embedded[data-v-06c771c0]{height:auto;min-height:700px;background:transparent}@media (max-width:768px){.ai-analysis-container.embedded[data-v-06c771c0]{min-height:0}}.ai-analysis-container.embedded .main-content-full[data-v-06c771c0]{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.ai-analysis-container.embedded .top-index-bar[data-v-06c771c0]{margin-top:6px}.main-content-full[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;background:#fff;border-radius:12px;height:100%;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.top-index-bar[data-v-06c771c0]{gap:8px;padding:8px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-family:SF Mono,Monaco,Consolas,monospace}.top-index-bar .indicator-box[data-v-06c771c0],.top-index-bar[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.top-index-bar .indicator-box[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:4px 10px;background:#fff;border-radius:6px;border:1px solid #e2e8f0;min-width:50px}.top-index-bar .indicator-box .ind-label[data-v-06c771c0]{font-size:9px;color:#94a3b8;text-transform:uppercase}.top-index-bar .indicator-box .ind-value[data-v-06c771c0]{font-size:13px;font-weight:700;color:#1e293b}.top-index-bar .indicator-box.fear-greed.extreme-fear .ind-value[data-v-06c771c0]{color:#dc2626}.top-index-bar .indicator-box.fear-greed.fear .ind-value[data-v-06c771c0]{color:#ea580c}.top-index-bar .indicator-box.fear-greed.neutral .ind-value[data-v-06c771c0]{color:#ca8a04}.top-index-bar .indicator-box.fear-greed.greed .ind-value[data-v-06c771c0]{color:#65a30d}.top-index-bar .indicator-box.fear-greed.extreme-greed .ind-value[data-v-06c771c0],.top-index-bar .indicator-box.vix.low .ind-value[data-v-06c771c0]{color:#16a34a}.top-index-bar .indicator-box.vix.medium .ind-value[data-v-06c771c0]{color:#ca8a04}.top-index-bar .indicator-box.vix.high .ind-value[data-v-06c771c0]{color:#dc2626}.top-index-bar .indicator-box.dxy .ind-value[data-v-06c771c0]{color:#2563eb}.top-index-bar .indices-marquee[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;min-width:0}.top-index-bar .indices-marquee .marquee-track[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-webkit-animation:marquee-06c771c0 35s linear infinite;animation:marquee-06c771c0 35s linear infinite;width:-webkit-max-content;width:-moz-max-content;width:max-content}.top-index-bar .indices-marquee .marquee-track[data-v-06c771c0]:hover{-webkit-animation-play-state:paused;animation-play-state:paused}.top-index-bar .indices-marquee .index-item[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:4px 8px;background:#fff;border-radius:4px;border:1px solid #e2e8f0;font-size:11px;white-space:nowrap}.top-index-bar .indices-marquee .index-item .idx-flag[data-v-06c771c0]{font-size:11px}.top-index-bar .indices-marquee .index-item .idx-symbol[data-v-06c771c0]{color:#64748b;font-weight:500}.top-index-bar .indices-marquee .index-item .idx-price[data-v-06c771c0]{color:#1e293b;font-weight:600}.top-index-bar .indices-marquee .index-item .idx-change[data-v-06c771c0]{font-weight:600;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1px}.top-index-bar .indices-marquee .index-item .idx-change.up[data-v-06c771c0]{color:#16a34a}.top-index-bar .indices-marquee .index-item .idx-change.down[data-v-06c771c0]{color:#dc2626}@-webkit-keyframes marquee-06c771c0{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@keyframes marquee-06c771c0{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.top-index-bar .refresh-btn[data-v-06c771c0]{color:#94a3b8;-ms-flex-negative:0;flex-shrink:0}.top-index-bar .refresh-btn[data-v-06c771c0]:hover{color:#1e293b}.main-body[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;padding:12px;overflow:hidden;min-height:0}.left-panel[data-v-06c771c0]{width:280px;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;overflow-y:auto}.left-panel .heatmap-box[data-v-06c771c0]{background:#fff;border-radius:10px;padding:14px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04)}.left-panel .heatmap-box .box-header[data-v-06c771c0]{margin-bottom:10px}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;background:#f4f5f7;border-radius:8px;padding:2px}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper{font-size:10px;font-weight:600;padding:0 8px;height:24px;line-height:22px;border:none;border-radius:6px;background:transparent;color:#8c8c8c;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all .2s;transition:all .2s}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper:before{display:none}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper:hover{color:#555}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:#fff;border-color:transparent;color:#111;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.left-panel .heatmap-box .heatmap-grid[data-v-06c771c0]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.left-panel .heatmap-box .heatmap-grid .heat-cell[data-v-06c771c0]{padding:6px 4px;border-radius:6px;text-align:center;font-size:9px;-webkit-transition:-webkit-transform .15s;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.left-panel .heatmap-box .heatmap-grid .heat-cell[data-v-06c771c0]:hover{-webkit-transform:scale(1.03);transform:scale(1.03)}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-name[data-v-06c771c0]{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-price[data-v-06c771c0]{display:block;font-size:9px;opacity:.8;margin-bottom:1px}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-val[data-v-06c771c0]{font-weight:700;font-size:10px}.left-panel .calendar-box[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;background:#fff;border-radius:10px;padding:14px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:0;overflow:hidden}.left-panel .calendar-box .box-header[data-v-06c771c0]{margin-bottom:8px}.left-panel .calendar-box .box-header .box-title[data-v-06c771c0]{font-size:12px;color:#555;font-weight:700;letter-spacing:-.1px}.left-panel .calendar-box .box-header .box-title .anticon[data-v-06c771c0]{margin-right:6px;color:var(--primary-color,#1890ff)}.left-panel .calendar-box .calendar-list[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.left-panel .calendar-box .calendar-list[data-v-06c771c0]::-webkit-scrollbar{width:3px}.left-panel .calendar-box .calendar-list[data-v-06c771c0]::-webkit-scrollbar-thumb{background:#d4d8dd;border-radius:2px}.left-panel .calendar-box .calendar-list .cal-item[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:10px}.left-panel .calendar-box .calendar-list .cal-item[data-v-06c771c0]:last-child{border-bottom:none}.left-panel .calendar-box .calendar-list .cal-item.high[data-v-06c771c0]{border-left:3px solid #dc2626;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item.medium[data-v-06c771c0]{border-left:3px solid #ca8a04;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item.low[data-v-06c771c0]{border-left:3px solid #16a34a;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item .cal-date[data-v-06c771c0]{font-size:9px;color:#94a3b8;min-width:32px;font-weight:500}.left-panel .calendar-box .calendar-list .cal-item .cal-time[data-v-06c771c0]{color:#64748b;min-width:36px;font-weight:500}.left-panel .calendar-box .calendar-list .cal-item .cal-flag[data-v-06c771c0]{font-size:12px}.left-panel .calendar-box .calendar-list .cal-item .cal-name[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-panel .calendar-box .calendar-list .cal-item .cal-impact[data-v-06c771c0]{font-weight:600;font-size:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.bullish[data-v-06c771c0]{color:#16a34a}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.bearish[data-v-06c771c0]{color:#dc2626}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.neutral[data-v-06c771c0]{color:#94a3b8}.left-panel .calendar-box .calendar-list .cal-empty[data-v-06c771c0]{text-align:center;color:#94a3b8;padding:20px 0;font-size:12px}.right-panel[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border-radius:10px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04)}.right-panel .analysis-toolbar[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f2f5;background:#fafbfc;border-radius:10px 10px 0 0}.right-panel .analysis-toolbar .symbol-selector[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:320px}.right-panel .analysis-toolbar .analyze-button[data-v-06c771c0]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff);border-radius:8px;font-weight:600}.right-panel .analysis-toolbar .history-button[data-v-06c771c0]{border-color:#d9d9d9;border-radius:8px}.right-panel .analysis-main[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:16px;min-height:0}.right-panel .analysis-main .analysis-placeholder[data-v-06c771c0]{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;height:100%;min-height:300px}.watchlist-panel[data-v-06c771c0]{width:320px;-ms-flex-negative:0;flex-shrink:0;background:#fff;border-radius:10px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.watchlist-panel .panel-header[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f0f2f5;background:#fafbfc}.watchlist-panel .panel-header .panel-title[data-v-06c771c0]{font-size:13px;font-weight:700;color:#333;letter-spacing:-.1px}.watchlist-panel .panel-header .panel-title .anticon[data-v-06c771c0]{color:#facc15;margin-right:6px}.watchlist-panel .watchlist-list[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:6px 8px}.watchlist-panel .watchlist-list[data-v-06c771c0]::-webkit-scrollbar{width:3px}.watchlist-panel .watchlist-list[data-v-06c771c0]::-webkit-scrollbar-thumb{background:#d4d8dd;border-radius:2px}.watchlist-panel .watchlist-list .watchlist-empty[data-v-06c771c0]{text-align:center;padding:24px 12px;color:#94a3b8}.watchlist-panel .watchlist-list .watchlist-empty .anticon[data-v-06c771c0]{font-size:32px;margin-bottom:8px;display:block}.watchlist-panel .watchlist-list .watchlist-empty p[data-v-06c771c0]{font-size:12px;margin-bottom:12px}@-webkit-keyframes pulse-06c771c0{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-06c771c0{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:992px){.ai-analysis-container[data-v-06c771c0]{height:auto;min-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;width:100%;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.main-content-full[data-v-06c771c0]{height:auto;min-height:auto}.top-index-bar[data-v-06c771c0]{-ms-flex-wrap:wrap;flex-wrap:wrap;padding:6px 8px}.top-index-bar .indicator-box[data-v-06c771c0]{min-width:45px;padding:3px 6px}.top-index-bar .indices-marquee[data-v-06c771c0]{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;width:100%;margin-top:6px}.main-body[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:8px;gap:8px}.left-panel[data-v-06c771c0]{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:8px}.left-panel .calendar-box[data-v-06c771c0],.left-panel .heatmap-box[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.left-panel .calendar-box[data-v-06c771c0]{max-height:200px}.right-panel .analysis-toolbar[data-v-06c771c0]{-ms-flex-wrap:wrap;flex-wrap:wrap}.right-panel .analysis-toolbar .symbol-selector[data-v-06c771c0]{width:100%!important;max-width:none!important}.right-panel .analysis-toolbar .analyze-button[data-v-06c771c0],.right-panel .analysis-toolbar .history-button[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1}.watchlist-panel[data-v-06c771c0]{width:100%;max-height:250px;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.hero-stats[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hero-stats .hstat[data-v-06c771c0]{width:100%;max-width:300px;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media (max-width:576px){.main-body[data-v-06c771c0]{padding:4px 6px;gap:6px}.top-index-bar[data-v-06c771c0]{padding:5px 6px;gap:6px}.top-index-bar .indicator-box[data-v-06c771c0]{padding:2px 5px}.top-index-bar .indicator-box .ind-value[data-v-06c771c0]{font-size:11px}.top-index-bar .indices-marquee .index-item[data-v-06c771c0]{font-size:10px;padding:2px 5px}.left-panel[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.left-panel .calendar-box[data-v-06c771c0],.left-panel .heatmap-box[data-v-06c771c0]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%;min-width:0;padding:8px;border-radius:8px}.left-panel .calendar-box[data-v-06c771c0]{max-height:220px}.left-panel .heatmap-box .box-header[data-v-06c771c0]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:0 2px 6px}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;white-space:nowrap}.left-panel .heatmap-box .box-header[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.right-panel[data-v-06c771c0]{border-radius:8px}.right-panel .analysis-toolbar[data-v-06c771c0]{padding:6px 8px;gap:6px}.right-panel .analysis-toolbar[data-v-06c771c0] .ant-btn-lg{height:36px;padding:0 10px;font-size:13px}.right-panel .analysis-toolbar[data-v-06c771c0] .symbol-selector .ant-select-selection--single{height:36px!important}.right-panel .analysis-toolbar[data-v-06c771c0] .symbol-selector .ant-select-selection__rendered{line-height:34px!important}.right-panel .analysis-main[data-v-06c771c0]{padding:6px 8px}.watchlist-panel[data-v-06c771c0]{max-height:min(42vh,320px);border-radius:8px}.watchlist-panel .panel-header[data-v-06c771c0]{padding:8px 10px}.watchlist-panel .watchlist-list[data-v-06c771c0]{padding:4px 6px}.batch-bar[data-v-06c771c0]{margin:6px 6px 4px;padding:8px 8px;gap:6px}.panel-summary[data-v-06c771c0]{-ms-flex-wrap:wrap;flex-wrap:wrap}.panel-summary .summary-chip[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1 1 22%;flex:1 1 22%;min-width:0;padding:5px 2px}.panel-summary .sc-num[data-v-06c771c0]{font-size:12px}.panel-summary .sc-label[data-v-06c771c0]{font-size:8px;letter-spacing:.2px}.placeholder-hero .hero-body[data-v-06c771c0]{padding:16px 10px;max-width:100%}.hero-title[data-v-06c771c0]{font-size:20px}.hero-subtitle[data-v-06c771c0]{font-size:13px;margin-bottom:14px}.hero-stats[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:8px;margin-bottom:14px}.hero-stats .hstat[data-v-06c771c0]{width:100%;max-width:none;-webkit-box-flex:0;-ms-flex:none;flex:none;padding:10px 10px}.hero-cta[data-v-06c771c0]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;gap:8px}.hero-cta .ant-btn[data-v-06c771c0]{width:100%;height:40px}.wl-card[data-v-06c771c0]{padding:8px 10px}}.ai-analysis-container.theme-dark[data-v-06c771c0]{background:#0a0a0a;color:#d4d4d4}.ai-analysis-container.theme-dark .main-content-full[data-v-06c771c0]{background:#141416;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.4);box-shadow:0 2px 8px rgba(0,0,0,.4)}.ai-analysis-container.theme-dark .top-index-bar[data-v-06c771c0]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .top-index-bar .indicator-box[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .top-index-bar .indicator-box .ind-label[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .top-index-bar .indicator-box .ind-value[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item .idx-symbol[data-v-06c771c0]{color:#777}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item .idx-price[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .top-index-bar .refresh-btn[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .top-index-bar .refresh-btn[data-v-06c771c0]:hover{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .watchlist-panel .panel-header[data-v-06c771c0]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-header .panel-title[data-v-06c771c0]{color:#ccc}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary[data-v-06c771c0]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .summary-chip[data-v-06c771c0]{border-right-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .sc-num[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .sc-label[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar[data-v-06c771c0]{background:#1c1c1c;border:1px solid #2a2a2a;border-radius:10px;margin:8px 10px;margin-bottom:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .batch-all-cb[data-v-06c771c0]{color:#a0a0a8}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary){background:#2a2a2c;border-color:#3a3a3c;color:#b0b0b8}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{background:#333336;border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list[data-v-06c771c0]::-webkit-scrollbar-thumb{background:#333}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card[data-v-06c771c0]:hover{background:#222224;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-symbol[data-v-06c771c0]{color:#e0e0e0}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-market[data-v-06c771c0]{color:#666;background:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-price[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-pnl-qty[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-task-badge.paused[data-v-06c771c0]{background:hsla(0,0%,100%,.05);color:#666}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-task-next[data-v-06c771c0]{color:#555}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions[data-v-06c771c0]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#222224));background:linear-gradient(90deg,transparent,#222224 30%)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-06c771c0]{background:#1a1a1c;color:#888;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn.danger[data-v-06c771c0]:hover{color:#f87171;background:hsla(0,91%,71%,.1)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active .wl-card-hover-actions[data-v-06c771c0]{background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent) 30%)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .watchlist-empty[data-v-06c771c0]{color:#555}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .we-icon[data-v-06c771c0]{color:#333}.ai-analysis-container.theme-dark .placeholder-hero .hero-bg-grid[data-v-06c771c0]{background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0)}.ai-analysis-container.theme-dark .placeholder-hero .hero-badge[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .placeholder-hero .hero-title[data-v-06c771c0]{color:#e0e0e0}.ai-analysis-container.theme-dark .placeholder-hero .hero-hint[data-v-06c771c0],.ai-analysis-container.theme-dark .placeholder-hero .hero-subtitle[data-v-06c771c0]{color:#777}.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:none;box-shadow:none}.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-06c771c0]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);-webkit-box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}.ai-analysis-container.theme-dark .placeholder-hero .hstat-icon[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .placeholder-hero .hstat-val[data-v-06c771c0]{color:#ddd}.ai-analysis-container.theme-dark .placeholder-hero .hstat-label[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .placeholder-hero .hero-cta .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent)}.ai-analysis-container.theme-dark .watchlist-bar-legacy[data-v-06c771c0]{background:#141414;border-bottom-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-06c771c0]{background:#1c1c1c;border-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip.active[data-v-06c771c0],.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip .chip-symbol[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip .chip-price[data-v-06c771c0]{color:#888}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0] .ant-radio-group{background:#111113}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper{background:transparent;border-color:transparent;color:#666}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper:hover{color:#aaa}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-06c771c0] .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:#2a2a2c;color:#e8e8e8;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .calendar-box[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .calendar-box .box-title[data-v-06c771c0]{color:#888}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item[data-v-06c771c0]{border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-date[data-v-06c771c0]{color:#555}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-time[data-v-06c771c0]{color:#777}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-name[data-v-06c771c0]{color:#ccc}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-empty[data-v-06c771c0]{color:#555}.ai-analysis-container.theme-dark .left-panel .calendar-box .calendar-list[data-v-06c771c0]::-webkit-scrollbar-thumb{background:#333}.ai-analysis-container.theme-dark .right-panel[data-v-06c771c0]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar[data-v-06c771c0]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-06c771c0]{background:#222224;border-color:hsla(0,0%,100%,.08);color:#ccc}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-06c771c0]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 45%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-06c771c0]:not(.ant-btn-primary){background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{border-color:#1890ff;color:#1890ff}.ai-analysis-container.theme-dark .wl-change.up[data-v-06c771c0]{background:rgba(74,222,128,.1)}.ai-analysis-container.theme-dark .wl-change.down[data-v-06c771c0]{background:hsla(0,91%,71%,.1)}.ai-analysis-container.theme-dark .panel-header-icon[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark .panel-header-icon[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}.ai-analysis-container.theme-dark .panel-summary[data-v-06c771c0]{background:#141416}.ai-analysis-container.theme-dark .batch-bar[data-v-06c771c0]{background:#1c1c1c!important;border:1px solid #2a2a2a!important;border-radius:10px;margin:8px 10px;margin-bottom:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.ai-analysis-container.theme-dark .batch-bar .batch-all-cb[data-v-06c771c0]{color:#a0a0a8}.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary){background:#2a2a2c!important;border-color:#3a3a3c!important;color:#b0b0b8!important}.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{background:#333336!important;border-color:var(--primary-color,#1890ff)!important;color:var(--primary-color,#1890ff)!important}.ai-analysis-container.theme-dark .watchlist-bar-compat[data-v-06c771c0]{background:#141414;border-top-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-compat .bar-label[data-v-06c771c0]{color:#888}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-06c771c0]{background:#1c1c1c;border-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip.active[data-v-06c771c0],.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-symbol[data-v-06c771c0]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-price[data-v-06c771c0]{color:#888}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-remove[data-v-06c771c0]{color:#666}.ai-analysis-container.theme-dark[data-v-06c771c0] .symbol-selector .ant-select-selection{background-color:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-bar{border-bottom-color:#2a2a2a}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-tab{color:#888}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-tab:hover{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-tab-active{color:#1890ff!important}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-ink-bar{background-color:#1890ff}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input::-webkit-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input::-moz-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input:-ms-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input::-ms-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input::placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input-number{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-input-number .ant-input-number-handler-wrap{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-select-selection{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-select-arrow{color:#666}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-checkbox-wrapper,.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-form-item-label>label,.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-radio-wrapper{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-alert{background:rgba(24,144,255,.06);border-color:#2a2a2a}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-alert-message{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tag{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-list-item{border-bottom-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-list-item-meta-title{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-list-item-meta-description{color:#888}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-empty-description{color:#666}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tooltip-inner{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-badge-count{-webkit-box-shadow:0 0 0 1px #141414;box-shadow:0 0 0 1px #141414}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-popover-inner{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-popover-message{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-popover-arrow{border-color:#1c1c1c}.placeholder-hero[data-v-06c771c0]{position:relative;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;width:100%;height:100%;overflow:hidden}.hero-bg[data-v-06c771c0]{position:absolute;inset:0;pointer-events:none}.hero-bg-circle[data-v-06c771c0]{position:absolute;border-radius:50%;opacity:.5}.hero-bg-circle.c1[data-v-06c771c0]{width:320px;height:320px;top:-80px;right:-60px;background:radial-gradient(circle,rgba(24,144,255,.1) 0,transparent 70%);-webkit-animation:hero-float-06c771c0 6s ease-in-out infinite;animation:hero-float-06c771c0 6s ease-in-out infinite}.hero-bg-circle.c2[data-v-06c771c0]{width:240px;height:240px;bottom:-40px;left:-40px;background:radial-gradient(circle,rgba(114,46,209,.08) 0,transparent 70%);animation:hero-float-06c771c0 8s ease-in-out infinite reverse}.hero-bg-grid[data-v-06c771c0]{position:absolute;inset:0;background-image:linear-gradient(rgba(24,144,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(24,144,255,.03) 1px,transparent 0);background-size:32px 32px}@-webkit-keyframes hero-float-06c771c0{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}@keyframes hero-float-06c771c0{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}.hero-body[data-v-06c771c0]{position:relative;text-align:center;padding:40px 32px;max-width:560px}.hero-badge[data-v-06c771c0]{display:inline-block;padding:3px 12px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08);border:1px solid rgba(24,144,255,.2);margin-bottom:16px}.hero-title[data-v-06c771c0]{font-size:26px;font-weight:800;color:#0f172a;margin-bottom:8px;letter-spacing:-.3px;line-height:1.3}.hero-subtitle[data-v-06c771c0]{font-size:14px;color:#64748b;margin-bottom:32px;line-height:1.5}.hero-stats[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:32px;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.hstat[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;text-align:left;-webkit-transition:all .25s;transition:all .25s}.hstat[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 4px 16px rgba(24,144,255,.1);box-shadow:0 4px 16px rgba(24,144,255,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.hstat-icon[data-v-06c771c0]{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;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,rgba(24,144,255,.1),rgba(114,46,209,.08));font-size:16px;color:var(--primary-color,#1890ff);-ms-flex-negative:0;flex-shrink:0}.hstat-body[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0}.hstat-val[data-v-06c771c0]{font-size:12px;font-weight:700;color:#0f172a}.hstat-label[data-v-06c771c0],.hstat-val[data-v-06c771c0]{line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hstat-label[data-v-06c771c0]{font-size:10px;color:#94a3b8;margin-top:1px}.hero-cta[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:16px}.hero-cta .ant-btn[data-v-06c771c0]{border-radius:10px;font-weight:600;height:42px;padding:0 24px;font-size:14px}.hero-cta .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 4px 14px rgba(24,144,255,.3);box-shadow:0 4px 14px rgba(24,144,255,.3)}.hero-hint[data-v-06c771c0]{font-size:12px;color:#94a3b8}.panel-header-actions[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.panel-header-icon[data-v-06c771c0]{font-size:15px;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;-webkit-transition:color .2s,background .2s;transition:color .2s,background .2s}.panel-header-icon[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.panel-summary[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;padding:0;border-bottom:1px solid #f1f5f9}.summary-chip[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 4px;border-right:1px solid #f1f5f9}.summary-chip[data-v-06c771c0]:last-child{border-right:none}.sc-num[data-v-06c771c0]{font-size:14px;font-weight:700;color:#0f172a;line-height:1.2;font-family:SF Mono,Monaco,monospace}.sc-num.up[data-v-06c771c0]{color:#16a34a}.sc-num.down[data-v-06c771c0]{color:#dc2626}.sc-label[data-v-06c771c0]{font-size:9px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.batch-bar[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:10px 12px;margin:8px 10px;margin-bottom:4px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);-ms-flex-wrap:wrap;flex-wrap:wrap}.batch-all-cb[data-v-06c771c0]{font-size:12px;font-weight:500;color:#475569;margin-right:4px}.batch-bar .ant-btn[data-v-06c771c0]{border-radius:6px;font-size:12px;font-weight:500;height:28px;padding:0 10px;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all .2s;transition:all .2s}.batch-bar .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent)}.batch-bar .ant-btn-primary[data-v-06c771c0]:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary){background:#f8fafc;border-color:#e2e8f0;color:#64748b}.batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.wl-card[data-v-06c771c0]{position:relative;padding:10px 12px;border-radius:8px;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:3px;border:1px solid transparent}.wl-card[data-v-06c771c0]:hover{background:#f5f7fa;border-color:#e8ecf1}.wl-card.active[data-v-06c771c0]{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color,#1890ff) 6%,#fff) 0,color-mix(in srgb,var(--primary-color,#1890ff) 4%,#fff) 100%);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent);-webkit-box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}.wl-card-cb[data-v-06c771c0]{position:absolute;top:12px;left:4px;z-index:1}.wl-card-body[data-v-06c771c0]{-webkit-transition:padding-left .2s;transition:padding-left .2s}.wl-card-body.with-cb[data-v-06c771c0]{padding-left:24px}.wl-row-main[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:5px}.wl-symbol[data-v-06c771c0]{font-size:13px;font-weight:700;color:#0f172a}.wl-market[data-v-06c771c0]{font-size:9px;color:#94a3b8;letter-spacing:.3px;padding:1px 4px;background:#f1f5f9;border-radius:3px}.wl-spacer[data-v-06c771c0]{-webkit-box-flex:1;-ms-flex:1;flex:1}.wl-price[data-v-06c771c0]{font-size:12px;font-weight:600;color:#0f172a;font-family:SF Mono,Monaco,monospace}.wl-change[data-v-06c771c0]{font-size:10px;font-weight:700;font-family:SF Mono,Monaco,monospace;padding:1px 5px;border-radius:4px;margin-left:4px}.wl-change.up[data-v-06c771c0]{color:#16a34a;background:rgba(22,163,74,.08)}.wl-change.down[data-v-06c771c0]{color:#dc2626;background:rgba(220,38,38,.06)}.wl-row-pnl[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-top:4px;font-family:SF Mono,Monaco,monospace}.wl-pnl-qty[data-v-06c771c0]{font-size:10px;color:#94a3b8}.wl-pnl-val[data-v-06c771c0]{font-size:10px;font-weight:600;margin-left:auto}.wl-pnl-val.up[data-v-06c771c0]{color:#16a34a}.wl-pnl-val.down[data-v-06c771c0]{color:#dc2626}.wl-row-task[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px;margin-top:4px}.wl-row-task[data-v-06c771c0],.wl-task-badge[data-v-06c771c0]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wl-task-badge[data-v-06c771c0]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:3px;font-size:10px;padding:1px 8px;border-radius:10px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.wl-task-badge.active[data-v-06c771c0]{color:#16a34a;background:rgba(22,163,74,.08)}.wl-task-badge.paused[data-v-06c771c0]{color:#94a3b8;background:#f1f5f9}.wl-task-badge[data-v-06c771c0]:hover{opacity:.75}.wl-task-next[data-v-06c771c0]{font-size:10px;color:#94a3b8;margin-left:auto}.wl-card-hover-actions[data-v-06c771c0]{position:absolute;top:0;right:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;padding-right:8px;opacity:0;-webkit-transition:opacity .15s;transition:opacity .15s;background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#f8fafc));background:linear-gradient(90deg,transparent,#f8fafc 30%);border-radius:0 8px 8px 0;pointer-events:none}.wl-card:hover .wl-card-hover-actions[data-v-06c771c0]{opacity:1;pointer-events:auto}.wl-card.active .wl-card-hover-actions[data-v-06c771c0]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#e6f7ff));background:linear-gradient(90deg,transparent,#e6f7ff 30%)}.wl-hover-btn[data-v-06c771c0]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:26px;height:26px;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06)}.wl-hover-btn[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:#e6f7ff}.wl-hover-btn.danger[data-v-06c771c0]:hover{color:#dc2626;background:#fef2f2}.watchlist-empty[data-v-06c771c0]{text-align:center;padding:32px 16px}.we-icon[data-v-06c771c0]{font-size:36px;color:#e2e8f0;margin-bottom:12px}.watchlist-empty p[data-v-06c771c0]{font-size:12px;color:#94a3b8;margin-bottom:12px}.batch-modal-summary[data-v-06c771c0]{margin-bottom:16px}.batch-modal-summary p[data-v-06c771c0]{font-size:13px;color:#475569;margin-bottom:8px}.batch-symbols-preview[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px;max-height:80px;overflow-y:auto}.task-drawer-empty[data-v-06c771c0]{text-align:center;padding:48px 16px;color:#94a3b8}.task-drawer-empty p[data-v-06c771c0]{margin-top:12px;font-size:13px}.task-drawer-list[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.task-item[data-v-06c771c0]{padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fafafa;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.task-item[data-v-06c771c0]:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06)}.task-item-header[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.task-item-name[data-v-06c771c0]{font-size:13px;font-weight:600;color:#0f172a}.task-item-meta[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;font-size:12px;color:#64748b;margin-bottom:10px}.task-item-meta .anticon[data-v-06c771c0]{margin-right:4px}.task-item-actions[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px;margin-top:4px}.task-item-actions .ant-btn[data-v-06c771c0]{border-radius:6px;font-size:12px;font-weight:500;height:28px;padding:0 10px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;-webkit-transition:all .2s;transition:all .2s;border-width:1px}.task-item-actions .ant-btn.ant-btn-primary[data-v-06c771c0]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.04);box-shadow:0 1px 2px rgba(0,0,0,.04)}.task-item-actions .ant-btn.ant-btn-primary[data-v-06c771c0]:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05);-webkit-box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent)}.task-item-actions .ant-btn.ant-btn-default[data-v-06c771c0]{background:#f8fafc;border-color:#e2e8f0;color:#475569}.task-item-actions .ant-btn.ant-btn-default[data-v-06c771c0]:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.task-item-actions .ant-btn.ant-btn-danger[data-v-06c771c0]{background:#fef2f2;border-color:#fecaca;color:#dc2626}.task-item-actions .ant-btn.ant-btn-danger[data-v-06c771c0]:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.add-stock-modal-content .market-tabs[data-v-06c771c0]{margin-bottom:16px}.add-stock-modal-content .hot-symbols-section[data-v-06c771c0],.add-stock-modal-content .search-results-section[data-v-06c771c0],.add-stock-modal-content .symbol-search-section[data-v-06c771c0]{margin-bottom:24px}.add-stock-modal-content .hot-symbols-section .section-title[data-v-06c771c0],.add-stock-modal-content .search-results-section .section-title[data-v-06c771c0]{font-size:14px;font-weight:600;color:#262626;margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.add-stock-modal-content .symbol-list[data-v-06c771c0]{max-height:200px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:4px}.add-stock-modal-content .symbol-list .symbol-list-item[data-v-06c771c0]{cursor:pointer;padding:8px 12px;-webkit-transition:background-color .3s;transition:background-color .3s}.add-stock-modal-content .symbol-list .symbol-list-item[data-v-06c771c0]:hover{background-color:#f5f5f5}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content .symbol-code[data-v-06c771c0]{font-weight:600;color:#262626;min-width:80px}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content .symbol-name[data-v-06c771c0]{color:#595959;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-stock-modal-content .selected-symbol-section[data-v-06c771c0]{margin-top:16px}.add-stock-modal-content .selected-symbol-section .selected-symbol-info[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.skeleton-box .skeleton-text[data-v-06c771c0]{display:block;height:12px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;border-radius:4px;margin:3px 0}.skeleton-box .skeleton-text.short[data-v-06c771c0]{width:40px;height:9px}.skeleton-cell[data-v-06c771c0]{background:#f8fafc!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:8px 4px}.skeleton-cell .skeleton-text[data-v-06c771c0]{width:80%;height:10px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;border-radius:3px;margin:2px 0}.skeleton-cell .skeleton-text.short[data-v-06c771c0]{width:50%;height:8px}.skeleton-item[data-v-06c771c0]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 0}.skeleton-item .skeleton-text[data-v-06c771c0]{height:12px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;animation:skeleton-pulse-06c771c0 1.5s ease-in-out infinite;border-radius:4px;-webkit-box-flex:1;-ms-flex:1;flex:1}.skeleton-item .skeleton-text.short[data-v-06c771c0]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:40px}.indices-empty[data-v-06c771c0],.indices-loading[data-v-06c771c0]{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;height:100%;font-size:11px;color:#94a3b8;padding:4px 16px}.indices-loading .anticon[data-v-06c771c0]{margin-right:6px}.heatmap-empty[data-v-06c771c0]{grid-column:-1;text-align:center;padding:20px;color:#94a3b8;font-size:12px}@-webkit-keyframes skeleton-pulse-06c771c0{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-pulse-06c771c0{0%{background-position:200% 0}to{background-position:-200% 0}}.theme-dark .skeleton-box .skeleton-text[data-v-06c771c0],.theme-dark .skeleton-cell .skeleton-text[data-v-06c771c0],.theme-dark .skeleton-item .skeleton-text[data-v-06c771c0]{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#2a2a2a),color-stop(50%,#333),color-stop(75%,#2a2a2a));background:linear-gradient(90deg,#2a2a2a 25%,#333 50%,#2a2a2a 75%);background-size:200% 100%}.theme-dark .skeleton-cell[data-v-06c771c0]{background:#1c1c1c!important}.theme-dark .heatmap-empty[data-v-06c771c0],.theme-dark .indices-empty[data-v-06c771c0],.theme-dark .indices-loading[data-v-06c771c0]{color:#666}.qd-dark-modal .ant-modal-content{background:#141414}.qd-dark-modal .ant-modal-header{background:#141414;border-bottom-color:#2a2a2a}.qd-dark-modal .ant-modal-header .ant-modal-title{color:#d4d4d4}.qd-dark-modal .ant-modal-close-x{color:#888}.qd-dark-modal .ant-modal-body{background:#141414;color:#d4d4d4}.qd-dark-modal .ant-modal-footer{background:#141414;border-top-color:#2a2a2a}.qd-dark-modal .ant-modal-footer .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-modal-footer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.qd-dark-modal .ant-form-item-label>label{color:#d4d4d4}.qd-dark-modal .ant-input{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-input::-webkit-input-placeholder{color:#555}.qd-dark-modal .ant-input::-moz-placeholder{color:#555}.qd-dark-modal .ant-input:-ms-input-placeholder{color:#555}.qd-dark-modal .ant-input::-ms-input-placeholder{color:#555}.qd-dark-modal .ant-input::placeholder{color:#555}.qd-dark-modal .ant-input-number,.qd-dark-modal .ant-select-selection{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-select-arrow{color:#666}.qd-dark-modal .ant-checkbox-wrapper,.qd-dark-modal .ant-radio-wrapper{color:#d4d4d4}.qd-dark-modal .ant-tabs-bar{border-bottom-color:#2a2a2a}.qd-dark-modal .ant-tabs-tab{color:#888}.qd-dark-modal .ant-tabs-tab:hover{color:#d4d4d4}.qd-dark-modal .ant-tabs-tab-active{color:#1890ff!important}.qd-dark-modal .ant-tag{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-tag-blue{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}.qd-dark-modal .ant-alert{background:rgba(24,144,255,.06);border-color:#2a2a2a}.qd-dark-modal .ant-alert-message{color:#d4d4d4}.qd-dark-modal .ant-alert-info .ant-alert-icon{color:#1890ff}.qd-dark-modal .ant-list-item{border-bottom-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-list-item-meta-title{color:#d4d4d4}.qd-dark-modal .ant-list-item-meta-description{color:#888}.qd-dark-modal .ant-empty-description{color:#666}.qd-dark-modal .add-stock-modal-content,.qd-dark-modal p{color:#d4d4d4}.qd-dark-modal .add-stock-modal-content .section-title{color:#d4d4d4!important}.qd-dark-modal .add-stock-modal-content .symbol-list{border-color:#2a2a2a;background:#1c1c1c}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item:hover{background:#252525!important}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item .symbol-code{color:#d4d4d4!important}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item .symbol-name{color:#888!important}.qd-dark-modal .add-stock-modal-content .selected-symbol-info strong{color:#d4d4d4}.qd-dark-modal .add-stock-modal-content .selected-symbol-info span{color:#888!important}.qd-dark-modal .batch-modal-summary p{color:#d4d4d4}.qd-dark-modal .batch-symbols-preview .ant-tag{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}.qd-dark-modal .task-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-modal .task-item:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.3)}.qd-dark-modal .task-item-name{color:#d4d4d4}.qd-dark-modal .task-item-meta{color:#888}.qd-dark-modal .task-drawer-empty{color:#666}.qd-dark-modal .history-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-modal .search-result-item{color:#d4d4d4}.qd-dark-modal .search-result-item:hover{background:#1c1c1c}.qd-dark-modal .search-result-name{color:#d4d4d4}.qd-dark-modal .search-result-market{color:#888}.qd-dark-drawer .ant-drawer-content{background:#141414}.qd-dark-drawer .ant-drawer-header{background:#141414;border-bottom-color:#2a2a2a}.qd-dark-drawer .ant-drawer-header .ant-drawer-title{color:#d4d4d4}.qd-dark-drawer .ant-drawer-header .ant-drawer-close{color:#888}.qd-dark-drawer .ant-drawer-body{background:#141414;color:#d4d4d4}.qd-dark-drawer .task-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-drawer .task-item:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.3)}.qd-dark-drawer .task-item-name{color:#d4d4d4}.qd-dark-drawer .task-item-meta{color:#888}.qd-dark-drawer .task-drawer-empty{color:#666}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-primary{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-primary:hover{-webkit-filter:brightness(1.1);filter:brightness(1.1)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-default{background:#2a2a2c;border-color:#3a3a3c;color:#b0b0b8}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-default:hover{background:#333336;border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25);color:#f87171}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-danger:hover{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.4);color:#fca5a5}.qd-dark-drawer .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-drawer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.qd-dark-drawer .ant-btn-danger{background:transparent}.qd-dark-drawer .ant-popover-inner{background:#1c1c1c}.qd-dark-drawer .ant-popover-message,.qd-dark-drawer .ant-popover-message-title{color:#d4d4d4}.qd-dark-drawer .ant-popover-buttons .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-select-dropdown,body.colorWeak .ant-select-dropdown{background:#1c1c1c}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item{color:#d4d4d4}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item-active,.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item:hover,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item-active,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item:hover{background:#252525}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item-selected,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item-selected{background:rgba(24,144,255,.1);color:#1890ff}
\ No newline at end of file
+.fast-analysis-report[data-v-03feb1fa]{height:100%;overflow-y:auto;padding:24px;background:#f7f8fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased}.fast-analysis-report[data-v-03feb1fa]::-webkit-scrollbar{width:4px}.fast-analysis-report[data-v-03feb1fa]::-webkit-scrollbar-thumb{background:#d0d4da;border-radius:2px}.fast-analysis-report .loading-container[data-v-03feb1fa]{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;min-height:420px}.fast-analysis-report .loading-container .loading-content-pro[data-v-03feb1fa]{width:100%;max-width:400px;padding:40px}.fast-analysis-report .loading-container .loading-content-pro .loading-header[data-v-03feb1fa]{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;gap:12px;margin-bottom:32px}.fast-analysis-report .loading-container .loading-content-pro .loading-header .loading-icon-pro[data-v-03feb1fa]{font-size:26px;color:var(--primary-color,#1890ff)}.fast-analysis-report .loading-container .loading-content-pro .loading-header .loading-title[data-v-03feb1fa]{font-size:18px;font-weight:700;color:#1a1a2e}.fast-analysis-report .loading-container .loading-content-pro .progress-wrapper[data-v-03feb1fa]{margin-bottom:24px;position:relative}.fast-analysis-report .loading-container .loading-content-pro .progress-wrapper .progress-text[data-v-03feb1fa]{position:absolute;right:0;top:-22px;font-size:13px;font-weight:700;color:var(--primary-color,#1890ff)}.fast-analysis-report .loading-container .loading-content-pro .current-step[data-v-03feb1fa]{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;gap:8px;padding:10px 20px;background:color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent);border-radius:8px;margin-bottom:20px;color:var(--primary-color,#1890ff);font-size:13px;font-weight:600}.fast-analysis-report .loading-container .loading-content-pro .current-step .anticon[data-v-03feb1fa]{font-size:15px}.fast-analysis-report .loading-container .loading-content-pro .steps-list[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:8px}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:9px 14px;background:rgba(0,0,0,.02);border-radius:8px;font-size:12px;color:#999;-webkit-transition:all .3s;transition:all .3s}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-dot[data-v-03feb1fa]{width:7px;height:7px;border-radius:50%;background:#ddd;-webkit-transition:all .3s;transition:all .3s}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-text[data-v-03feb1fa]{-webkit-box-flex:1;-ms-flex:1;flex:1}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item .step-check[data-v-03feb1fa]{color:#10b981;font-size:13px}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.active[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent);color:var(--primary-color,#1890ff);font-weight:600}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.active .step-dot[data-v-03feb1fa]{background:var(--primary-color,#1890ff);-webkit-box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent)}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.done[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .loading-container .loading-content-pro .steps-list .step-item.done .step-dot[data-v-03feb1fa]{background:#10b981}.fast-analysis-report .loading-container .loading-content-pro .loading-footer[data-v-03feb1fa]{margin-top:20px;text-align:center}.fast-analysis-report .loading-container .loading-content-pro .loading-footer .elapsed-time[data-v-03feb1fa]{font-size:12px;color:#999;font-family:SF Mono,Monaco,monospace}.fast-analysis-report .empty-container[data-v-03feb1fa]{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;min-height:400px}.fast-analysis-report .empty-container .empty-content[data-v-03feb1fa]{text-align:center}.fast-analysis-report .empty-container .empty-content .empty-icon[data-v-03feb1fa]{font-size:56px;color:#ccc}.fast-analysis-report .empty-container .empty-content .empty-title[data-v-03feb1fa]{margin-top:14px;font-size:17px;font-weight:700;color:#1a1a2e}.fast-analysis-report .empty-container .empty-content .empty-hint[data-v-03feb1fa]{margin-top:6px;color:#999;font-size:13px}.fast-analysis-report .result-container .decision-card[data-v-03feb1fa]{padding:28px 24px;margin-bottom:2px;border-radius:16px 16px 0 0;background:#fff;position:relative;overflow:hidden}.fast-analysis-report .result-container .decision-card[data-v-03feb1fa]:after{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .decision-card.decision-buy[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#10b981),to(#34d399));background:linear-gradient(90deg,#10b981,#34d399)}.fast-analysis-report .result-container .decision-card.decision-sell[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#ef4444),to(#f87171));background:linear-gradient(90deg,#ef4444,#f87171)}.fast-analysis-report .result-container .decision-card.decision-hold[data-v-03feb1fa]:after{background:-webkit-gradient(linear,left top,right top,from(#f59e0b),to(#fbbf24));background:linear-gradient(90deg,#f59e0b,#fbbf24)}.fast-analysis-report .result-container .decision-card .decision-main[data-v-03feb1fa]{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;margin-bottom:16px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge .anticon[data-v-03feb1fa]{font-size:28px}.fast-analysis-report .result-container .decision-card .decision-main .decision-badge .decision-text[data-v-03feb1fa]{font-size:32px;font-weight:800;letter-spacing:1px;color:#1a1a2e;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring[data-v-03feb1fa]{text-align:center}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring .confidence-value[data-v-03feb1fa]{font-size:17px;font-weight:800;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .decision-card .decision-main .confidence-ring .confidence-label[data-v-03feb1fa]{font-size:11px;color:#999;margin-top:2px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .decision-card .decision-summary[data-v-03feb1fa]{font-size:14px;line-height:1.75;color:#555;padding-top:14px;border-top:1px solid #ebeef2}.fast-analysis-report .result-container .decision-card .consensus-strip[data-v-03feb1fa]{margin-top:12px;padding:10px 14px;border-radius:8px;background:color-mix(in srgb,var(--primary-color,#1890ff) 4%,transparent);font-size:12px;color:#555}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-weight:700;margin-bottom:6px;color:var(--primary-color,#1890ff);font-size:12px}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-metrics[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px 18px}.fast-analysis-report .result-container .decision-card .consensus-strip .consensus-strip-metrics .cm-item em[data-v-03feb1fa]{font-style:normal;color:#999;margin-right:4px}.fast-analysis-report .result-container .decision-card.decision-buy .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-buy .decision-badge .decision-text[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .decision-card.decision-sell .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-sell .decision-badge .decision-text[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .decision-card.decision-hold .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report .result-container .decision-card.decision-hold .decision-badge .decision-text[data-v-03feb1fa]{color:#f59e0b}.fast-analysis-report .result-container .price-info-row[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .price-info-row.hold-mode[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .result-container .price-info-row .price-card[data-v-03feb1fa]{padding:16px 14px;text-align:center;position:relative;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .price-info-row .price-card[data-v-03feb1fa]:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background:#ebeef2}.fast-analysis-report .result-container .price-info-row .price-card .price-label[data-v-03feb1fa]{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#999;margin-bottom:6px}.fast-analysis-report .result-container .price-info-row .price-card .price-value[data-v-03feb1fa]{font-size:18px;font-weight:700;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .price-info-row .price-card .price-value.positive[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .price-info-row .price-card .price-value.negative[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card .price-hint[data-v-03feb1fa]{font-size:9px;color:#bbb;margin-top:4px}.fast-analysis-report .result-container .price-info-row .price-card .price-hint .anticon[data-v-03feb1fa]{margin-right:2px}.fast-analysis-report .result-container .price-info-row .price-card .price-change[data-v-03feb1fa]{font-size:13px;margin-top:3px;font-weight:700;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .price-info-row .price-card .price-change.positive[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .price-info-row .price-card .price-change.negative[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card.current .price-label[data-v-03feb1fa]{color:#3b82f6}.fast-analysis-report .result-container .price-info-row .price-card.entry .price-label[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .price-info-row .price-card.stop .price-label[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .price-info-row .price-card.target .price-label[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .trend-outlook-card[data-v-03feb1fa]{background:#fff;padding:18px 20px;margin-bottom:2px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;font-weight:700;color:#1a1a2e;margin-bottom:10px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff);font-size:15px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-summary[data-v-03feb1fa]{font-size:12px;line-height:1.65;color:#555;margin-bottom:12px;padding:10px 12px;background:rgba(0,0,0,.02);border-radius:8px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-grid[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item[data-v-03feb1fa]{background:rgba(0,0,0,.02);border-radius:8px;padding:10px;text-align:center}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-label[data-v-03feb1fa]{font-size:10px;color:#999;margin-bottom:4px;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend[data-v-03feb1fa]{font-size:13px;font-weight:700;margin-bottom:4px}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bull[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bear[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-neutral[data-v-03feb1fa]{color:#f59e0b}.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-item .to-meta[data-v-03feb1fa]{font-size:10px;color:#999;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:6px}@media (max-width:992px){.fast-analysis-report .result-container .trend-outlook-card .trend-outlook-grid[data-v-03feb1fa]{grid-template-columns:repeat(2,1fr)}}.fast-analysis-report .result-container .scores-row[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .scores-row .score-item[data-v-03feb1fa]{padding:14px 16px;position:relative;background:transparent;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .scores-row .score-item[data-v-03feb1fa]:not(:last-child):after{content:"";position:absolute;right:0;top:16%;height:68%;width:1px;background:#ebeef2}.fast-analysis-report .result-container .scores-row .score-item .score-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;font-weight:600;color:#999;margin-bottom:8px}.fast-analysis-report .result-container .scores-row .score-item .score-header .anticon[data-v-03feb1fa]{font-size:14px;color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .scores-row .score-item .score-value[data-v-03feb1fa]{text-align:right;font-size:22px;font-weight:800;color:#1a1a2e;margin-top:6px;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .scores-row .score-item.overall[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 3%,transparent)}.fast-analysis-report .result-container .scores-row .score-item.overall .score-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:0;background:#fff;margin-bottom:2px;padding:0}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]{padding:20px 24px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:transparent;border-bottom:1px solid #ebeef2;position:relative}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]:last-child{border-bottom:none}.fast-analysis-report .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]:before{content:"";position:absolute;left:0;top:20px;bottom:20px;width:3px;border-radius:2px}.fast-analysis-report .result-container .detailed-analysis .analysis-card.technical[data-v-03feb1fa]:before{background:#3b82f6}.fast-analysis-report .result-container .detailed-analysis .analysis-card.fundamental[data-v-03feb1fa]:before{background:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis .analysis-card.sentiment[data-v-03feb1fa]:before{background:#ec4899}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-bottom:10px;font-size:14px;font-weight:700;color:#1a1a2e;padding-left:12px}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header .anticon[data-v-03feb1fa]{font-size:16px}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.technical .anticon[data-v-03feb1fa]{color:#3b82f6}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.fundamental .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-header.sentiment .anticon[data-v-03feb1fa]{color:#ec4899}.fast-analysis-report .result-container .detailed-analysis .analysis-card .analysis-card-content[data-v-03feb1fa]{font-size:13px;line-height:1.85;color:#555;padding-left:12px}.fast-analysis-report .result-container .analysis-details[data-v-03feb1fa]{display:grid;grid-template-columns:1fr 1fr;gap:0;background:#fff;margin-bottom:2px}.fast-analysis-report .result-container .analysis-details .detail-section[data-v-03feb1fa]{padding:20px 24px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0;background:transparent}.fast-analysis-report .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right:1px solid #ebeef2}.fast-analysis-report .result-container .analysis-details .detail-section .section-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;font-size:13px;font-weight:700;margin-bottom:12px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list[data-v-03feb1fa]{list-style:none;padding:0;margin:0}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]{padding:8px 0;font-size:13px;line-height:1.65;color:#555;border-bottom:1px solid rgba(0,0,0,.04)}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]:last-child{border-bottom:none}.fast-analysis-report .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]:before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;margin-right:10px;vertical-align:middle}.fast-analysis-report .result-container .analysis-details .detail-section.reasons .detail-list li[data-v-03feb1fa]:before{background:#10b981}.fast-analysis-report .result-container .analysis-details .detail-section.risks .detail-list li[data-v-03feb1fa]:before{background:#f59e0b}.fast-analysis-report .result-container .indicators-section[data-v-03feb1fa]{background:#fff;padding:20px 24px;margin-bottom:2px;border:none;-webkit-box-shadow:none;box-shadow:none;border-radius:0}.fast-analysis-report .result-container .indicators-section .section-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;font-size:13px;font-weight:700;margin-bottom:8px;color:#1a1a2e;text-transform:uppercase;letter-spacing:.3px}.fast-analysis-report .result-container .indicators-section .section-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .indicators-section .section-title .indicators-pro-badge[data-v-03feb1fa]{margin:0;font-size:10px;line-height:16px;font-weight:600}.fast-analysis-report .result-container .indicators-section .indicators-methodology[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:8px;font-size:11px;line-height:1.5;color:#999;margin-bottom:14px;padding:8px 12px;background:rgba(0,0,0,.02);border-radius:6px;border:none}.fast-analysis-report .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff);margin-top:1px}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa]{margin-top:18px;padding-top:14px;border-top:1px solid #ebeef2}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;font-size:12px;font-weight:700;color:#555;margin-bottom:10px}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-label{font-size:11px;color:#999;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content{font-size:11px;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bullish{color:#10b981;font-weight:700}.fast-analysis-report .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bearish{color:#ef4444;font-weight:700}.fast-analysis-report .result-container .indicators-section .indicators-grid[data-v-03feb1fa]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]{background:rgba(0,0,0,.02);border-radius:8px;padding:12px 10px;text-align:center;border:none;-webkit-transition:background .15s;transition:background .15s}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]:hover{background:rgba(0,0,0,.04)}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-name[data-v-03feb1fa]{font-size:10px;color:#999;margin-bottom:6px;font-weight:600;text-transform:uppercase;letter-spacing:.3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value[data-v-03feb1fa]{font-size:15px;font-weight:700;color:#1a1a2e;font-family:SF Mono,Cascadia Code,Consolas,Monaco,monospace}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bullish[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.oversold[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bearish[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.high-volatility[data-v-03feb1fa],.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.overbought[data-v-03feb1fa]{color:#ef4444}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.low-volatility[data-v-03feb1fa]{color:#10b981}.fast-analysis-report .result-container .indicators-section .indicators-grid .indicator-item .indicator-signal[data-v-03feb1fa]{font-size:10px;color:#999;margin-top:3px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,sans-serif}.fast-analysis-report .result-container .feedback-section[data-v-03feb1fa]{background:#fff;border-radius:0 0 16px 16px;padding:18px 24px;text-align:center;border:none;-webkit-box-shadow:none;box-shadow:none}.fast-analysis-report .result-container .feedback-section .feedback-question[data-v-03feb1fa]{font-size:13px;color:#999;margin-bottom:10px}.fast-analysis-report .result-container .feedback-section .feedback-buttons[data-v-03feb1fa]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:12px;margin-bottom:12px}.fast-analysis-report .result-container .feedback-section .feedback-buttons .ant-btn[data-v-03feb1fa]{min-width:90px;border-radius:8px}.fast-analysis-report .result-container .feedback-section .analysis-meta[data-v-03feb1fa]{font-size:11px;color:#bbb;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;gap:14px}@media (max-width:992px){.fast-analysis-report .price-info-row[data-v-03feb1fa]:not(.hold-mode),.fast-analysis-report .scores-row[data-v-03feb1fa]{grid-template-columns:repeat(2,1fr)}.fast-analysis-report .analysis-details[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right:none;border-bottom:1px solid #ebeef2}}@media (max-width:576px){.fast-analysis-report[data-v-03feb1fa]{padding:8px 6px}.fast-analysis-report .price-info-row[data-v-03feb1fa]:not(.hold-mode),.fast-analysis-report .scores-row[data-v-03feb1fa]{grid-template-columns:1fr}.fast-analysis-report .decision-card[data-v-03feb1fa]{padding:20px 16px}.fast-analysis-report .decision-card .decision-main[data-v-03feb1fa]{gap:14px;text-align:center}.fast-analysis-report .decision-card .decision-main .decision-badge[data-v-03feb1fa],.fast-analysis-report .decision-card .decision-main[data-v-03feb1fa]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.fast-analysis-report .decision-card .decision-main .decision-badge .decision-text[data-v-03feb1fa]{font-size:26px}}.fast-analysis-report.theme-dark[data-v-03feb1fa]{background:#111113}.fast-analysis-report.theme-dark[data-v-03feb1fa]::-webkit-scrollbar-thumb{background:#333}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-icon-pro[data-v-03feb1fa],.fast-analysis-report.theme-dark .loading-container .loading-content-pro .progress-wrapper .progress-text[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .current-step[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item[data-v-03feb1fa]{background:#222224;color:#666}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.active[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.active .step-dot[data-v-03feb1fa]{background:var(--primary-color,#1890ff);-webkit-box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary-color,#1890ff) 15%,transparent)}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.done[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .steps-list .step-item.done .step-dot[data-v-03feb1fa]{background:#34d399}.fast-analysis-report.theme-dark .loading-container .loading-content-pro .loading-footer .elapsed-time[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .empty-content .empty-icon[data-v-03feb1fa]{color:#444}.fast-analysis-report.theme-dark .empty-content .empty-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .empty-content .empty-hint[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .decision-card[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(16,185,129,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-buy .decision-text[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(239,68,68,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-sell .decision-text[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold[data-v-03feb1fa]{background:linear-gradient(135deg,rgba(245,158,11,.06),#19191b)}.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold .decision-badge .anticon[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card.decision-hold .decision-text[data-v-03feb1fa]{color:#fbbf24}.fast-analysis-report.theme-dark .result-container .decision-card .decision-text[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .decision-card .confidence-label[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .decision-card .decision-summary[data-v-03feb1fa]{color:#a0a0a8;border-top-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .decision-card .confidence-value[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .decision-card[data-v-03feb1fa] .ant-progress-text{color:#e8e8ec!important}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 5%,transparent);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip .consensus-strip-title[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .decision-card .consensus-strip .cm-item em[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .price-info-row[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card[data-v-03feb1fa]:not(:last-child):after{background:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-label[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value.positive[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-value.negative[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-hint[data-v-03feb1fa]{color:#555}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-change.positive[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card .price-change.negative[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.current .price-label[data-v-03feb1fa]{color:#60a5fa}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.entry .price-label[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.stop .price-label[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .price-info-row .price-card.target .price-label[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .trend-outlook-card[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-header[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-summary[data-v-03feb1fa]{background:#222224;color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item[data-v-03feb1fa]{background:#222224}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-label[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-meta[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bull[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-bear[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .trend-outlook-card .trend-outlook-item .to-trend.trend-neutral[data-v-03feb1fa]{color:#fbbf24}.fast-analysis-report.theme-dark .result-container .scores-row[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .scores-row .score-item[data-v-03feb1fa]:not(:last-child):after{background:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-header[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-header .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .scores-row .score-item .score-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .scores-row .score-item.overall[data-v-03feb1fa]{background:color-mix(in srgb,var(--primary-color,#1890ff) 4%,transparent)}.fast-analysis-report.theme-dark .result-container .detailed-analysis[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card[data-v-03feb1fa]{border-bottom-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card .analysis-card-header[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .detailed-analysis .analysis-card .analysis-card-content[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .analysis-details[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section .section-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section .detail-list li[data-v-03feb1fa]{color:#a0a0a8;border-bottom-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .indicators-section .section-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .indicators-section .section-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology[data-v-03feb1fa]{background:#222224;color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]{background:#222224}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item[data-v-03feb1fa]:hover{background:hsla(0,0%,100%,.05)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-name[data-v-03feb1fa]{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value[data-v-03feb1fa]{color:#f0f0f2}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bullish[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.oversold[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.bearish[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.high-volatility[data-v-03feb1fa],.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.overbought[data-v-03feb1fa]{color:#f87171}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-value.low-volatility[data-v-03feb1fa]{color:#34d399}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-grid .indicator-item .indicator-signal[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa]{border-top-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title[data-v-03feb1fa]{color:#e8e8ec}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-row,.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-view{border-color:hsla(0,0%,100%,.06)}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc th.ant-descriptions-item-label{background:#222224;border-color:hsla(0,0%,100%,.06);color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc td.ant-descriptions-item-content{background:#19191b;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-label{background:#222224;border-color:hsla(0,0%,100%,.06);color:#666}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content{background:#19191b;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .ant-descriptions-item-content>span{color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bullish{color:#34d399!important}.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap[data-v-03feb1fa] .indicators-pro-desc .bearish{color:#f87171!important}.fast-analysis-report.theme-dark .result-container .feedback-section[data-v-03feb1fa]{background:#19191b}.fast-analysis-report.theme-dark .result-container .feedback-section .feedback-question[data-v-03feb1fa]{color:#666}.fast-analysis-report.theme-dark .result-container .feedback-section .analysis-meta[data-v-03feb1fa]{color:#555}.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]{background:#222224;border-color:hsla(0,0%,100%,.06);color:#a0a0a8}.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 30%,transparent);color:var(--primary-color,#1890ff)}@media (max-width:992px){.fast-analysis-report.theme-dark .result-container .analysis-details .detail-section.reasons[data-v-03feb1fa]{border-right-color:transparent;border-bottom-color:hsla(0,0%,100%,.06)}}.ai-analysis-container[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;height:calc(100vh - 120px);background:#f0f2f5;overflow:hidden;width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.ai-analysis-container.embedded[data-v-22f26594]{height:auto;min-height:700px;background:transparent}@media (max-width:768px){.ai-analysis-container.embedded[data-v-22f26594]{min-height:0}}.ai-analysis-container.embedded .main-content-full[data-v-22f26594]{-webkit-box-shadow:none;box-shadow:none;border-radius:0}.ai-analysis-container.embedded .top-index-bar[data-v-22f26594]{margin-top:6px}.main-content-full[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden;background:#fff;border-radius:12px;height:100%;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.08);box-shadow:0 2px 8px rgba(0,0,0,.08);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.top-index-bar[data-v-22f26594]{gap:8px;padding:8px 16px;background:#f8fafc;border-bottom:1px solid #e2e8f0;font-family:SF Mono,Monaco,Consolas,monospace}.top-index-bar .indicator-box[data-v-22f26594],.top-index-bar[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.top-index-bar .indicator-box[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:4px 10px;background:#fff;border-radius:6px;border:1px solid #e2e8f0;min-width:50px}.top-index-bar .indicator-box .ind-label[data-v-22f26594]{font-size:9px;color:#94a3b8;text-transform:uppercase}.top-index-bar .indicator-box .ind-value[data-v-22f26594]{font-size:13px;font-weight:700;color:#1e293b}.top-index-bar .indicator-box.fear-greed.extreme-fear .ind-value[data-v-22f26594]{color:#dc2626}.top-index-bar .indicator-box.fear-greed.fear .ind-value[data-v-22f26594]{color:#ea580c}.top-index-bar .indicator-box.fear-greed.neutral .ind-value[data-v-22f26594]{color:#ca8a04}.top-index-bar .indicator-box.fear-greed.greed .ind-value[data-v-22f26594]{color:#65a30d}.top-index-bar .indicator-box.fear-greed.extreme-greed .ind-value[data-v-22f26594],.top-index-bar .indicator-box.vix.low .ind-value[data-v-22f26594]{color:#16a34a}.top-index-bar .indicator-box.vix.medium .ind-value[data-v-22f26594]{color:#ca8a04}.top-index-bar .indicator-box.vix.high .ind-value[data-v-22f26594]{color:#dc2626}.top-index-bar .indicator-box.dxy .ind-value[data-v-22f26594]{color:#2563eb}.top-index-bar .indices-marquee[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;min-width:0}.top-index-bar .indices-marquee .marquee-track[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:8px;-webkit-animation:marquee-22f26594 35s linear infinite;animation:marquee-22f26594 35s linear infinite;width:-webkit-max-content;width:-moz-max-content;width:max-content}.top-index-bar .indices-marquee .marquee-track[data-v-22f26594]:hover{-webkit-animation-play-state:paused;animation-play-state:paused}.top-index-bar .indices-marquee .index-item[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;padding:4px 8px;background:#fff;border-radius:4px;border:1px solid #e2e8f0;font-size:11px;white-space:nowrap}.top-index-bar .indices-marquee .index-item .idx-flag[data-v-22f26594]{font-size:11px}.top-index-bar .indices-marquee .index-item .idx-symbol[data-v-22f26594]{color:#64748b;font-weight:500}.top-index-bar .indices-marquee .index-item .idx-price[data-v-22f26594]{color:#1e293b;font-weight:600}.top-index-bar .indices-marquee .index-item .idx-change[data-v-22f26594]{font-weight:600;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:1px}.top-index-bar .indices-marquee .index-item .idx-change.up[data-v-22f26594]{color:#16a34a}.top-index-bar .indices-marquee .index-item .idx-change.down[data-v-22f26594]{color:#dc2626}@-webkit-keyframes marquee-22f26594{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}@keyframes marquee-22f26594{0%{-webkit-transform:translateX(0);transform:translateX(0)}to{-webkit-transform:translateX(-50%);transform:translateX(-50%)}}.top-index-bar .refresh-btn[data-v-22f26594]{color:#94a3b8;-ms-flex-negative:0;flex-shrink:0}.top-index-bar .refresh-btn[data-v-22f26594]:hover{color:#1e293b}.main-body[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;padding:12px;overflow:hidden;min-height:0}.left-panel[data-v-22f26594]{width:280px;-ms-flex-negative:0;flex-shrink:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:10px;overflow-y:auto}.left-panel .heatmap-box[data-v-22f26594]{background:#fff;border-radius:10px;padding:14px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04)}.left-panel .heatmap-box .box-header[data-v-22f26594]{margin-bottom:10px}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;background:#f4f5f7;border-radius:8px;padding:2px}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper{font-size:10px;font-weight:600;padding:0 8px;height:24px;line-height:22px;border:none;border-radius:6px;background:transparent;color:#8c8c8c;-webkit-box-shadow:none;box-shadow:none;-webkit-transition:all .2s;transition:all .2s}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper:before{display:none}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper:hover{color:#555}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:#fff;border-color:transparent;color:#111;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.1);box-shadow:0 1px 3px rgba(0,0,0,.1)}.left-panel .heatmap-box .heatmap-grid[data-v-22f26594]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.left-panel .heatmap-box .heatmap-grid .heat-cell[data-v-22f26594]{padding:6px 4px;border-radius:6px;text-align:center;font-size:9px;-webkit-transition:-webkit-transform .15s;transition:-webkit-transform .15s;transition:transform .15s;transition:transform .15s,-webkit-transform .15s}.left-panel .heatmap-box .heatmap-grid .heat-cell[data-v-22f26594]:hover{-webkit-transform:scale(1.03);transform:scale(1.03)}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-name[data-v-22f26594]{display:block;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:1px}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-price[data-v-22f26594]{display:block;font-size:9px;opacity:.8;margin-bottom:1px}.left-panel .heatmap-box .heatmap-grid .heat-cell .heat-val[data-v-22f26594]{font-weight:700;font-size:10px}.left-panel .calendar-box[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;background:#fff;border-radius:10px;padding:14px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-height:0;overflow:hidden}.left-panel .calendar-box .box-header[data-v-22f26594]{margin-bottom:8px}.left-panel .calendar-box .box-header .box-title[data-v-22f26594]{font-size:12px;color:#555;font-weight:700;letter-spacing:-.1px}.left-panel .calendar-box .box-header .box-title .anticon[data-v-22f26594]{margin-right:6px;color:var(--primary-color,#1890ff)}.left-panel .calendar-box .calendar-list[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto}.left-panel .calendar-box .calendar-list[data-v-22f26594]::-webkit-scrollbar{width:3px}.left-panel .calendar-box .calendar-list[data-v-22f26594]::-webkit-scrollbar-thumb{background:#d4d8dd;border-radius:2px}.left-panel .calendar-box .calendar-list .cal-item[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px;padding:6px 0;border-bottom:1px solid #f1f5f9;font-size:10px}.left-panel .calendar-box .calendar-list .cal-item[data-v-22f26594]:last-child{border-bottom:none}.left-panel .calendar-box .calendar-list .cal-item.high[data-v-22f26594]{border-left:3px solid #dc2626;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item.medium[data-v-22f26594]{border-left:3px solid #ca8a04;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item.low[data-v-22f26594]{border-left:3px solid #16a34a;padding-left:8px;margin-left:-4px}.left-panel .calendar-box .calendar-list .cal-item .cal-date[data-v-22f26594]{font-size:9px;color:#94a3b8;min-width:32px;font-weight:500}.left-panel .calendar-box .calendar-list .cal-item .cal-time[data-v-22f26594]{color:#64748b;min-width:36px;font-weight:500}.left-panel .calendar-box .calendar-list .cal-item .cal-flag[data-v-22f26594]{font-size:12px}.left-panel .calendar-box .calendar-list .cal-item .cal-name[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;color:#334155;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.left-panel .calendar-box .calendar-list .cal-item .cal-impact[data-v-22f26594]{font-weight:600;font-size:10px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.bullish[data-v-22f26594]{color:#16a34a}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.bearish[data-v-22f26594]{color:#dc2626}.left-panel .calendar-box .calendar-list .cal-item .cal-impact.neutral[data-v-22f26594]{color:#94a3b8}.left-panel .calendar-box .calendar-list .cal-empty[data-v-22f26594]{text-align:center;color:#94a3b8;padding:20px 0;font-size:12px}.right-panel[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0;overflow:hidden;background:#fff;border-radius:10px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04)}.right-panel .analysis-toolbar[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid #f0f2f5;background:#fafbfc;border-radius:10px 10px 0 0}.right-panel .analysis-toolbar .symbol-selector[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;max-width:320px}.right-panel .analysis-toolbar .analyze-button[data-v-22f26594]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff);border-radius:8px;font-weight:600}.right-panel .analysis-toolbar .history-button[data-v-22f26594]{border-color:#d9d9d9;border-radius:8px}.right-panel .analysis-main[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:auto;padding:16px;min-height:0}.right-panel .analysis-main .analysis-placeholder[data-v-22f26594]{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;height:100%;min-height:300px}.watchlist-panel[data-v-22f26594]{width:320px;-ms-flex-negative:0;flex-shrink:0;background:#fff;border-radius:10px;border:1px solid #eaeef3;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;overflow:hidden}.watchlist-panel .panel-header[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;padding:12px 14px;border-bottom:1px solid #f0f2f5;background:#fafbfc}.watchlist-panel .panel-header .panel-title[data-v-22f26594]{font-size:13px;font-weight:700;color:#333;letter-spacing:-.1px}.watchlist-panel .panel-header .panel-title .anticon[data-v-22f26594]{color:#facc15;margin-right:6px}.watchlist-panel .watchlist-list[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;overflow-y:auto;padding:6px 8px}.watchlist-panel .watchlist-list[data-v-22f26594]::-webkit-scrollbar{width:3px}.watchlist-panel .watchlist-list[data-v-22f26594]::-webkit-scrollbar-thumb{background:#d4d8dd;border-radius:2px}.watchlist-panel .watchlist-list .watchlist-empty[data-v-22f26594]{text-align:center;padding:24px 12px;color:#94a3b8}.watchlist-panel .watchlist-list .watchlist-empty .anticon[data-v-22f26594]{font-size:32px;margin-bottom:8px;display:block}.watchlist-panel .watchlist-list .watchlist-empty p[data-v-22f26594]{font-size:12px;margin-bottom:12px}@-webkit-keyframes pulse-22f26594{0%,to{opacity:1}50%{opacity:.5}}@keyframes pulse-22f26594{0%,to{opacity:1}50%{opacity:.5}}@media (max-width:992px){.ai-analysis-container[data-v-22f26594]{height:auto;min-height:calc(100vh - 64px);overflow-y:auto;overflow-x:hidden;width:100%;max-width:100%;-webkit-box-sizing:border-box;box-sizing:border-box}.main-content-full[data-v-22f26594]{height:auto;min-height:auto}.top-index-bar[data-v-22f26594]{-ms-flex-wrap:wrap;flex-wrap:wrap;padding:6px 8px}.top-index-bar .indicator-box[data-v-22f26594]{min-width:45px;padding:3px 6px}.top-index-bar .indices-marquee[data-v-22f26594]{-webkit-box-ordinal-group:11;-ms-flex-order:10;order:10;width:100%;margin-top:6px}.main-body[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;padding:8px;gap:8px}.left-panel[data-v-22f26594]{width:100%;-webkit-box-orient:horizontal;-webkit-box-direction:normal;-ms-flex-direction:row;flex-direction:row;gap:8px}.left-panel .calendar-box[data-v-22f26594],.left-panel .heatmap-box[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0}.left-panel .calendar-box[data-v-22f26594]{max-height:200px}.right-panel .analysis-toolbar[data-v-22f26594]{-ms-flex-wrap:wrap;flex-wrap:wrap}.right-panel .analysis-toolbar .symbol-selector[data-v-22f26594]{width:100%!important;max-width:none!important}.right-panel .analysis-toolbar .analyze-button[data-v-22f26594],.right-panel .analysis-toolbar .history-button[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1}.watchlist-panel[data-v-22f26594]{width:100%;max-height:250px;-webkit-box-ordinal-group:0;-ms-flex-order:-1;order:-1}.hero-stats[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:wrap;flex-wrap:wrap;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.hero-stats .hstat[data-v-22f26594]{width:100%;max-width:300px;-webkit-box-flex:0;-ms-flex:none;flex:none}}@media (max-width:576px){.main-body[data-v-22f26594]{padding:4px 6px;gap:6px}.top-index-bar[data-v-22f26594]{padding:5px 6px;gap:6px}.top-index-bar .indicator-box[data-v-22f26594]{padding:2px 5px}.top-index-bar .indicator-box .ind-value[data-v-22f26594]{font-size:11px}.top-index-bar .indices-marquee .index-item[data-v-22f26594]{font-size:10px;padding:2px 5px}.left-panel[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:6px}.left-panel .calendar-box[data-v-22f26594],.left-panel .heatmap-box[data-v-22f26594]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:100%;min-width:0;padding:8px;border-radius:8px}.left-panel .calendar-box[data-v-22f26594]{max-height:220px}.left-panel .heatmap-box .box-header[data-v-22f26594]{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:0 -2px;padding:0 2px 6px}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-wrap:nowrap;flex-wrap:nowrap;white-space:nowrap}.left-panel .heatmap-box .box-header[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto}.right-panel[data-v-22f26594]{border-radius:8px}.right-panel .analysis-toolbar[data-v-22f26594]{padding:6px 8px;gap:6px}.right-panel .analysis-toolbar[data-v-22f26594] .ant-btn-lg{height:36px;padding:0 10px;font-size:13px}.right-panel .analysis-toolbar[data-v-22f26594] .symbol-selector .ant-select-selection--single{height:36px!important}.right-panel .analysis-toolbar[data-v-22f26594] .symbol-selector .ant-select-selection__rendered{line-height:34px!important}.right-panel .analysis-main[data-v-22f26594]{padding:6px 8px}.watchlist-panel[data-v-22f26594]{max-height:min(42vh,320px);border-radius:8px}.watchlist-panel .panel-header[data-v-22f26594]{padding:8px 10px}.watchlist-panel .watchlist-list[data-v-22f26594]{padding:4px 6px}.batch-bar[data-v-22f26594]{margin:6px 6px 4px;padding:8px 8px;gap:6px}.panel-summary[data-v-22f26594]{-ms-flex-wrap:wrap;flex-wrap:wrap}.panel-summary .summary-chip[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1 1 22%;flex:1 1 22%;min-width:0;padding:5px 2px}.panel-summary .sc-num[data-v-22f26594]{font-size:12px}.panel-summary .sc-label[data-v-22f26594]{font-size:8px;letter-spacing:.2px}.placeholder-hero .hero-body[data-v-22f26594]{padding:16px 10px;max-width:100%}.hero-title[data-v-22f26594]{font-size:20px}.hero-subtitle[data-v-22f26594]{font-size:13px;margin-bottom:14px}.hero-stats[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-wrap:nowrap;flex-wrap:nowrap;gap:8px;margin-bottom:14px}.hero-stats .hstat[data-v-22f26594]{width:100%;max-width:none;-webkit-box-flex:0;-ms-flex:none;flex:none;padding:10px 10px}.hero-cta[data-v-22f26594]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;width:100%;gap:8px}.hero-cta .ant-btn[data-v-22f26594]{width:100%;height:40px}.wl-card[data-v-22f26594]{padding:8px 10px}}.ai-analysis-container.theme-dark[data-v-22f26594]{background:#0a0a0a;color:#d4d4d4}.ai-analysis-container.theme-dark .main-content-full[data-v-22f26594]{background:#141416;-webkit-box-shadow:0 2px 8px rgba(0,0,0,.4);box-shadow:0 2px 8px rgba(0,0,0,.4)}.ai-analysis-container.theme-dark .top-index-bar[data-v-22f26594]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .top-index-bar .indicator-box[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .top-index-bar .indicator-box .ind-label[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .top-index-bar .indicator-box .ind-value[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item .idx-symbol[data-v-22f26594]{color:#777}.ai-analysis-container.theme-dark .top-index-bar .indices-marquee .index-item .idx-price[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .top-index-bar .refresh-btn[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .top-index-bar .refresh-btn[data-v-22f26594]:hover{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .watchlist-panel .panel-header[data-v-22f26594]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-header .panel-title[data-v-22f26594]{color:#ccc}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary[data-v-22f26594]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .summary-chip[data-v-22f26594]{border-right-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .sc-num[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel .panel-summary .sc-label[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar[data-v-22f26594]{background:#1c1c1c;border:1px solid #2a2a2a;border-radius:10px;margin:8px 10px;margin-bottom:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .batch-all-cb[data-v-22f26594]{color:#a0a0a8}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary){background:#2a2a2c;border-color:#3a3a3c;color:#b0b0b8}.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{background:#333336;border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list[data-v-22f26594]::-webkit-scrollbar-thumb{background:#333}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card[data-v-22f26594]:hover{background:#222224;border-color:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-symbol[data-v-22f26594]{color:#e0e0e0}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-market[data-v-22f26594]{color:#666;background:hsla(0,0%,100%,.06)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-price[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-pnl-qty[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-task-badge.paused[data-v-22f26594]{background:hsla(0,0%,100%,.05);color:#666}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card .wl-task-next[data-v-22f26594]{color:#555}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions[data-v-22f26594]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#222224));background:linear-gradient(90deg,transparent,#222224 30%)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-22f26594]{background:#1a1a1c;color:#888;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.4);box-shadow:0 1px 3px rgba(0,0,0,.4)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn.danger[data-v-22f26594]:hover{color:#f87171;background:hsla(0,91%,71%,.1)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active .wl-card-hover-actions[data-v-22f26594]{background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent) 30%)}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .watchlist-empty[data-v-22f26594]{color:#555}.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .we-icon[data-v-22f26594]{color:#333}.ai-analysis-container.theme-dark .placeholder-hero .hero-bg-grid[data-v-22f26594]{background-image:linear-gradient(hsla(0,0%,100%,.02) 1px,transparent 0),linear-gradient(90deg,hsla(0,0%,100%,.02) 1px,transparent 0)}.ai-analysis-container.theme-dark .placeholder-hero .hero-badge[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .placeholder-hero .hero-title[data-v-22f26594]{color:#e0e0e0}.ai-analysis-container.theme-dark .placeholder-hero .hero-hint[data-v-22f26594],.ai-analysis-container.theme-dark .placeholder-hero .hero-subtitle[data-v-22f26594]{color:#777}.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:none;box-shadow:none}.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-22f26594]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);-webkit-box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}.ai-analysis-container.theme-dark .placeholder-hero .hstat-icon[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .placeholder-hero .hstat-val[data-v-22f26594]{color:#ddd}.ai-analysis-container.theme-dark .placeholder-hero .hstat-label[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .placeholder-hero .hero-cta .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent)}.ai-analysis-container.theme-dark .watchlist-bar-legacy[data-v-22f26594]{background:#141414;border-bottom-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-22f26594]{background:#1c1c1c;border-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip.active[data-v-22f26594],.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip .chip-symbol[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip .chip-price[data-v-22f26594]{color:#888}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594] .ant-radio-group{background:#111113}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper{background:transparent;border-color:transparent;color:#666}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper:hover{color:#aaa}.ai-analysis-container.theme-dark .left-panel .heatmap-box[data-v-22f26594] .ant-radio-group .ant-radio-button-wrapper.ant-radio-button-wrapper-checked{background:#2a2a2c;color:#e8e8e8;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .calendar-box[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .left-panel .calendar-box .box-title[data-v-22f26594]{color:#888}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item[data-v-22f26594]{border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-date[data-v-22f26594]{color:#555}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-time[data-v-22f26594]{color:#777}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-item .cal-name[data-v-22f26594]{color:#ccc}.ai-analysis-container.theme-dark .left-panel .calendar-box .cal-empty[data-v-22f26594]{color:#555}.ai-analysis-container.theme-dark .left-panel .calendar-box .calendar-list[data-v-22f26594]::-webkit-scrollbar-thumb{background:#333}.ai-analysis-container.theme-dark .right-panel[data-v-22f26594]{background:#1a1a1c;border-color:hsla(0,0%,100%,.06);-webkit-box-shadow:0 1px 3px rgba(0,0,0,.3);box-shadow:0 1px 3px rgba(0,0,0,.3)}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar[data-v-22f26594]{background:#141416;border-bottom-color:hsla(0,0%,100%,.05)}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-22f26594]{background:#222224;border-color:hsla(0,0%,100%,.08);color:#ccc}.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-22f26594]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 45%,transparent);color:var(--primary-color,#1890ff)}.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-22f26594]:not(.ant-btn-primary){background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{border-color:#1890ff;color:#1890ff}.ai-analysis-container.theme-dark .wl-change.up[data-v-22f26594]{background:rgba(74,222,128,.1)}.ai-analysis-container.theme-dark .wl-change.down[data-v-22f26594]{background:hsla(0,91%,71%,.1)}.ai-analysis-container.theme-dark .panel-header-icon[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark .panel-header-icon[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}.ai-analysis-container.theme-dark .panel-summary[data-v-22f26594]{background:#141416}.ai-analysis-container.theme-dark .batch-bar[data-v-22f26594]{background:#1c1c1c!important;border:1px solid #2a2a2a!important;border-radius:10px;margin:8px 10px;margin-bottom:4px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.2);box-shadow:0 1px 3px rgba(0,0,0,.2)}.ai-analysis-container.theme-dark .batch-bar .batch-all-cb[data-v-22f26594]{color:#a0a0a8}.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary){background:#2a2a2c!important;border-color:#3a3a3c!important;color:#b0b0b8!important}.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{background:#333336!important;border-color:var(--primary-color,#1890ff)!important;color:var(--primary-color,#1890ff)!important}.ai-analysis-container.theme-dark .watchlist-bar-compat[data-v-22f26594]{background:#141414;border-top-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-compat .bar-label[data-v-22f26594]{color:#888}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-22f26594]{background:#1c1c1c;border-color:#2a2a2a}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip.active[data-v-22f26594],.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-symbol[data-v-22f26594]{color:#d4d4d4}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-price[data-v-22f26594]{color:#888}.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip .chip-remove[data-v-22f26594]{color:#666}.ai-analysis-container.theme-dark[data-v-22f26594] .symbol-selector .ant-select-selection{background-color:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-bar{border-bottom-color:#2a2a2a}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-tab{color:#888}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-tab:hover{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-tab-active{color:#1890ff!important}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-ink-bar{background-color:#1890ff}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input::-webkit-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input::-moz-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input:-ms-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input::-ms-input-placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input::placeholder{color:#555}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input-number{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-input-number .ant-input-number-handler-wrap{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-select-selection{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-select-arrow{color:#666}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-checkbox-wrapper,.ai-analysis-container.theme-dark[data-v-22f26594] .ant-form-item-label>label,.ai-analysis-container.theme-dark[data-v-22f26594] .ant-radio-wrapper{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-alert{background:rgba(24,144,255,.06);border-color:#2a2a2a}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-alert-message{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tag{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-list-item{border-bottom-color:#2a2a2a;color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-list-item-meta-title{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-list-item-meta-description{color:#888}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-empty-description{color:#666}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tooltip-inner{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-badge-count{-webkit-box-shadow:0 0 0 1px #141414;box-shadow:0 0 0 1px #141414}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-popover-inner{background:#1c1c1c}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-popover-message{color:#d4d4d4}.ai-analysis-container.theme-dark[data-v-22f26594] .ant-popover-arrow{border-color:#1c1c1c}.placeholder-hero[data-v-22f26594]{position:relative;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;width:100%;height:100%;overflow:hidden}.hero-bg[data-v-22f26594]{position:absolute;inset:0;pointer-events:none}.hero-bg-circle[data-v-22f26594]{position:absolute;border-radius:50%;opacity:.5}.hero-bg-circle.c1[data-v-22f26594]{width:320px;height:320px;top:-80px;right:-60px;background:radial-gradient(circle,rgba(24,144,255,.1) 0,transparent 70%);-webkit-animation:hero-float-22f26594 6s ease-in-out infinite;animation:hero-float-22f26594 6s ease-in-out infinite}.hero-bg-circle.c2[data-v-22f26594]{width:240px;height:240px;bottom:-40px;left:-40px;background:radial-gradient(circle,rgba(114,46,209,.08) 0,transparent 70%);animation:hero-float-22f26594 8s ease-in-out infinite reverse}.hero-bg-grid[data-v-22f26594]{position:absolute;inset:0;background-image:linear-gradient(rgba(24,144,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(24,144,255,.03) 1px,transparent 0);background-size:32px 32px}@-webkit-keyframes hero-float-22f26594{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}@keyframes hero-float-22f26594{0%,to{-webkit-transform:translateY(0);transform:translateY(0)}50%{-webkit-transform:translateY(-12px);transform:translateY(-12px)}}.hero-body[data-v-22f26594]{position:relative;text-align:center;padding:40px 32px;max-width:560px}.hero-badge[data-v-22f26594]{display:inline-block;padding:3px 12px;border-radius:20px;font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08);border:1px solid rgba(24,144,255,.2);margin-bottom:16px}.hero-title[data-v-22f26594]{font-size:26px;font-weight:800;color:#0f172a;margin-bottom:8px;letter-spacing:-.3px;line-height:1.3}.hero-subtitle[data-v-22f26594]{font-size:14px;color:#64748b;margin-bottom:32px;line-height:1.5}.hero-stats[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:32px;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.hstat[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);-webkit-box-flex:1;-ms-flex:1;flex:1;min-width:0;text-align:left;-webkit-transition:all .25s;transition:all .25s}.hstat[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 4px 16px rgba(24,144,255,.1);box-shadow:0 4px 16px rgba(24,144,255,.1);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.hstat-icon[data-v-22f26594]{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;width:36px;height:36px;border-radius:8px;background:linear-gradient(135deg,rgba(24,144,255,.1),rgba(114,46,209,.08));font-size:16px;color:var(--primary-color,#1890ff);-ms-flex-negative:0;flex-shrink:0}.hstat-body[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;min-width:0}.hstat-val[data-v-22f26594]{font-size:12px;font-weight:700;color:#0f172a}.hstat-label[data-v-22f26594],.hstat-val[data-v-22f26594]{line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hstat-label[data-v-22f26594]{font-size:10px;color:#94a3b8;margin-top:1px}.hero-cta[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:12px;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;margin-bottom:16px}.hero-cta .ant-btn[data-v-22f26594]{border-radius:10px;font-weight:600;height:42px;padding:0 24px;font-size:14px}.hero-cta .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 4px 14px rgba(24,144,255,.3);box-shadow:0 4px 14px rgba(24,144,255,.3)}.hero-hint[data-v-22f26594]{font-size:12px;color:#94a3b8}.panel-header-actions[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.panel-header-icon[data-v-22f26594]{font-size:15px;color:#94a3b8;cursor:pointer;padding:4px;border-radius:6px;-webkit-transition:color .2s,background .2s;transition:color .2s,background .2s}.panel-header-icon[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}.panel-summary[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:0;padding:0;border-bottom:1px solid #f1f5f9}.summary-chip[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:8px 4px;border-right:1px solid #f1f5f9}.summary-chip[data-v-22f26594]:last-child{border-right:none}.sc-num[data-v-22f26594]{font-size:14px;font-weight:700;color:#0f172a;line-height:1.2;font-family:SF Mono,Monaco,monospace}.sc-num.up[data-v-22f26594]{color:#16a34a}.sc-num.down[data-v-22f26594]{color:#dc2626}.sc-label[data-v-22f26594]{font-size:9px;color:#94a3b8;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.batch-bar[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:10px 12px;margin:8px 10px;margin-bottom:4px;background:#fff;border:1px solid #e2e8f0;border-radius:10px;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.04);box-shadow:0 1px 3px rgba(0,0,0,.04);-ms-flex-wrap:wrap;flex-wrap:wrap}.batch-all-cb[data-v-22f26594]{font-size:12px;font-weight:500;color:#475569;margin-right:4px}.batch-bar .ant-btn[data-v-22f26594]{border-radius:6px;font-size:12px;font-weight:500;height:28px;padding:0 10px;-ms-flex-negative:0;flex-shrink:0;-webkit-transition:all .2s;transition:all .2s}.batch-bar .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent)}.batch-bar .ant-btn-primary[data-v-22f26594]:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05)}.batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary){background:#f8fafc;border-color:#e2e8f0;color:#64748b}.batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.wl-card[data-v-22f26594]{position:relative;padding:10px 12px;border-radius:8px;cursor:pointer;-webkit-transition:all .2s cubic-bezier(.4,0,.2,1);transition:all .2s cubic-bezier(.4,0,.2,1);margin-bottom:3px;border:1px solid transparent}.wl-card[data-v-22f26594]:hover{background:#f5f7fa;border-color:#e8ecf1}.wl-card.active[data-v-22f26594]{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color,#1890ff) 6%,#fff) 0,color-mix(in srgb,var(--primary-color,#1890ff) 4%,#fff) 100%);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent);-webkit-box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}.wl-card-cb[data-v-22f26594]{position:absolute;top:12px;left:4px;z-index:1}.wl-card-body[data-v-22f26594]{-webkit-transition:padding-left .2s;transition:padding-left .2s}.wl-card-body.with-cb[data-v-22f26594]{padding-left:24px}.wl-row-main[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:baseline;-ms-flex-align:baseline;align-items:baseline;gap:5px}.wl-symbol[data-v-22f26594]{font-size:13px;font-weight:700;color:#0f172a}.wl-market[data-v-22f26594]{font-size:9px;color:#94a3b8;letter-spacing:.3px;padding:1px 4px;background:#f1f5f9;border-radius:3px}.wl-spacer[data-v-22f26594]{-webkit-box-flex:1;-ms-flex:1;flex:1}.wl-price[data-v-22f26594]{font-size:12px;font-weight:600;color:#0f172a;font-family:SF Mono,Monaco,monospace}.wl-change[data-v-22f26594]{font-size:10px;font-weight:700;font-family:SF Mono,Monaco,monospace;padding:1px 5px;border-radius:4px;margin-left:4px}.wl-change.up[data-v-22f26594]{color:#16a34a;background:rgba(22,163,74,.08)}.wl-change.down[data-v-22f26594]{color:#dc2626;background:rgba(220,38,38,.06)}.wl-row-pnl[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;margin-top:4px;font-family:SF Mono,Monaco,monospace}.wl-pnl-qty[data-v-22f26594]{font-size:10px;color:#94a3b8}.wl-pnl-val[data-v-22f26594]{font-size:10px;font-weight:600;margin-left:auto}.wl-pnl-val.up[data-v-22f26594]{color:#16a34a}.wl-pnl-val.down[data-v-22f26594]{color:#dc2626}.wl-row-task[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:6px;margin-top:4px}.wl-row-task[data-v-22f26594],.wl-task-badge[data-v-22f26594]{-webkit-box-align:center;-ms-flex-align:center;align-items:center}.wl-task-badge[data-v-22f26594]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;gap:3px;font-size:10px;padding:1px 8px;border-radius:10px;cursor:pointer;-webkit-transition:all .2s;transition:all .2s}.wl-task-badge.active[data-v-22f26594]{color:#16a34a;background:rgba(22,163,74,.08)}.wl-task-badge.paused[data-v-22f26594]{color:#94a3b8;background:#f1f5f9}.wl-task-badge[data-v-22f26594]:hover{opacity:.75}.wl-task-next[data-v-22f26594]{font-size:10px;color:#94a3b8;margin-left:auto}.wl-card-hover-actions[data-v-22f26594]{position:absolute;top:0;right:0;bottom:0;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:2px;padding-right:8px;opacity:0;-webkit-transition:opacity .15s;transition:opacity .15s;background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#f8fafc));background:linear-gradient(90deg,transparent,#f8fafc 30%);border-radius:0 8px 8px 0;pointer-events:none}.wl-card:hover .wl-card-hover-actions[data-v-22f26594]{opacity:1;pointer-events:auto}.wl-card.active .wl-card-hover-actions[data-v-22f26594]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#e6f7ff));background:linear-gradient(90deg,transparent,#e6f7ff 30%)}.wl-hover-btn[data-v-22f26594]{display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;width:26px;height:26px;border-radius:6px;font-size:13px;color:#64748b;cursor:pointer;-webkit-transition:all .15s;transition:all .15s;background:#fff;-webkit-box-shadow:0 1px 3px rgba(0,0,0,.06);box-shadow:0 1px 3px rgba(0,0,0,.06)}.wl-hover-btn[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:#e6f7ff}.wl-hover-btn.danger[data-v-22f26594]:hover{color:#dc2626;background:#fef2f2}.watchlist-empty[data-v-22f26594]{text-align:center;padding:32px 16px}.we-icon[data-v-22f26594]{font-size:36px;color:#e2e8f0;margin-bottom:12px}.watchlist-empty p[data-v-22f26594]{font-size:12px;color:#94a3b8;margin-bottom:12px}.batch-modal-summary[data-v-22f26594]{margin-bottom:16px}.batch-modal-summary p[data-v-22f26594]{font-size:13px;color:#475569;margin-bottom:8px}.batch-symbols-preview[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:4px;max-height:80px;overflow-y:auto}.task-drawer-empty[data-v-22f26594]{text-align:center;padding:48px 16px;color:#94a3b8}.task-drawer-empty p[data-v-22f26594]{margin-top:12px;font-size:13px}.task-drawer-list[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;gap:12px}.task-item[data-v-22f26594]{padding:14px 16px;border:1px solid #e2e8f0;border-radius:10px;background:#fafafa;-webkit-transition:-webkit-box-shadow .2s;transition:-webkit-box-shadow .2s;transition:box-shadow .2s;transition:box-shadow .2s,-webkit-box-shadow .2s}.task-item[data-v-22f26594]:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.06);box-shadow:0 2px 8px rgba(0,0,0,.06)}.task-item-header[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between;margin-bottom:8px}.task-item-name[data-v-22f26594]{font-size:13px;font-weight:600;color:#0f172a}.task-item-meta[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;gap:16px;font-size:12px;color:#64748b;margin-bottom:10px}.task-item-meta .anticon[data-v-22f26594]{margin-right:4px}.task-item-actions[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px;margin-top:4px}.task-item-actions .ant-btn[data-v-22f26594]{border-radius:6px;font-size:12px;font-weight:500;height:28px;padding:0 10px;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px;-webkit-transition:all .2s;transition:all .2s;border-width:1px}.task-item-actions .ant-btn.ant-btn-primary[data-v-22f26594]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 1px 2px rgba(0,0,0,.04);box-shadow:0 1px 2px rgba(0,0,0,.04)}.task-item-actions .ant-btn.ant-btn-primary[data-v-22f26594]:hover{-webkit-filter:brightness(1.05);filter:brightness(1.05);-webkit-box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent)}.task-item-actions .ant-btn.ant-btn-default[data-v-22f26594]{background:#f8fafc;border-color:#e2e8f0;color:#475569}.task-item-actions .ant-btn.ant-btn-default[data-v-22f26594]:hover{background:#f1f5f9;border-color:#cbd5e1;color:#334155}.task-item-actions .ant-btn.ant-btn-danger[data-v-22f26594]{background:#fef2f2;border-color:#fecaca;color:#dc2626}.task-item-actions .ant-btn.ant-btn-danger[data-v-22f26594]:hover{background:#fee2e2;border-color:#fca5a5;color:#b91c1c}.add-stock-modal-content .market-tabs[data-v-22f26594]{margin-bottom:16px}.add-stock-modal-content .hot-symbols-section[data-v-22f26594],.add-stock-modal-content .search-results-section[data-v-22f26594],.add-stock-modal-content .symbol-search-section[data-v-22f26594]{margin-bottom:24px}.add-stock-modal-content .hot-symbols-section .section-title[data-v-22f26594],.add-stock-modal-content .search-results-section .section-title[data-v-22f26594]{font-size:14px;font-weight:600;color:#262626;margin-bottom:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.add-stock-modal-content .symbol-list[data-v-22f26594]{max-height:200px;overflow-y:auto;border:1px solid #e8e8e8;border-radius:4px}.add-stock-modal-content .symbol-list .symbol-list-item[data-v-22f26594]{cursor:pointer;padding:8px 12px;-webkit-transition:background-color .3s;transition:background-color .3s}.add-stock-modal-content .symbol-list .symbol-list-item[data-v-22f26594]:hover{background-color:#f5f5f5}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content .symbol-code[data-v-22f26594]{font-weight:600;color:#262626;min-width:80px}.add-stock-modal-content .symbol-list .symbol-list-item .symbol-item-content .symbol-name[data-v-22f26594]{color:#595959;-webkit-box-flex:1;-ms-flex:1;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.add-stock-modal-content .selected-symbol-section[data-v-22f26594]{margin-top:16px}.add-stock-modal-content .selected-symbol-section .selected-symbol-info[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center}.skeleton-box .skeleton-text[data-v-22f26594]{display:block;height:12px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;border-radius:4px;margin:3px 0}.skeleton-box .skeleton-text.short[data-v-22f26594]{width:40px;height:9px}.skeleton-cell[data-v-22f26594]{background:#f8fafc!important;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;padding:8px 4px}.skeleton-cell .skeleton-text[data-v-22f26594]{width:80%;height:10px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;border-radius:3px;margin:2px 0}.skeleton-cell .skeleton-text.short[data-v-22f26594]{width:50%;height:8px}.skeleton-item[data-v-22f26594]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px;padding:6px 0}.skeleton-item .skeleton-text[data-v-22f26594]{height:12px;background:-webkit-gradient(linear,left top,right top,color-stop(25%,#e2e8f0),color-stop(50%,#f1f5f9),color-stop(75%,#e2e8f0));background:linear-gradient(90deg,#e2e8f0 25%,#f1f5f9 50%,#e2e8f0 75%);background-size:200% 100%;-webkit-animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;animation:skeleton-pulse-22f26594 1.5s ease-in-out infinite;border-radius:4px;-webkit-box-flex:1;-ms-flex:1;flex:1}.skeleton-item .skeleton-text.short[data-v-22f26594]{-webkit-box-flex:0;-ms-flex:none;flex:none;width:40px}.indices-empty[data-v-22f26594],.indices-loading[data-v-22f26594]{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;height:100%;font-size:11px;color:#94a3b8;padding:4px 16px}.indices-loading .anticon[data-v-22f26594]{margin-right:6px}.heatmap-empty[data-v-22f26594]{grid-column:-1;text-align:center;padding:20px;color:#94a3b8;font-size:12px}@-webkit-keyframes skeleton-pulse-22f26594{0%{background-position:200% 0}to{background-position:-200% 0}}@keyframes skeleton-pulse-22f26594{0%{background-position:200% 0}to{background-position:-200% 0}}.theme-dark .skeleton-box .skeleton-text[data-v-22f26594],.theme-dark .skeleton-cell .skeleton-text[data-v-22f26594],.theme-dark .skeleton-item .skeleton-text[data-v-22f26594]{background:-webkit-gradient(linear,left top,right top,color-stop(25%,#2a2a2a),color-stop(50%,#333),color-stop(75%,#2a2a2a));background:linear-gradient(90deg,#2a2a2a 25%,#333 50%,#2a2a2a 75%);background-size:200% 100%}.theme-dark .skeleton-cell[data-v-22f26594]{background:#1c1c1c!important}.theme-dark .heatmap-empty[data-v-22f26594],.theme-dark .indices-empty[data-v-22f26594],.theme-dark .indices-loading[data-v-22f26594]{color:#666}.qd-dark-modal .ant-modal-content{background:#141414}.qd-dark-modal .ant-modal-header{background:#141414;border-bottom-color:#2a2a2a}.qd-dark-modal .ant-modal-header .ant-modal-title{color:#d4d4d4}.qd-dark-modal .ant-modal-close-x{color:#888}.qd-dark-modal .ant-modal-body{background:#141414;color:#d4d4d4}.qd-dark-modal .ant-modal-footer{background:#141414;border-top-color:#2a2a2a}.qd-dark-modal .ant-modal-footer .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-modal-footer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.qd-dark-modal .ant-form-item-label>label{color:#d4d4d4}.qd-dark-modal .ant-input{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-input::-webkit-input-placeholder{color:#555}.qd-dark-modal .ant-input::-moz-placeholder{color:#555}.qd-dark-modal .ant-input:-ms-input-placeholder{color:#555}.qd-dark-modal .ant-input::-ms-input-placeholder{color:#555}.qd-dark-modal .ant-input::placeholder{color:#555}.qd-dark-modal .ant-input-number,.qd-dark-modal .ant-select-selection{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-select-arrow{color:#666}.qd-dark-modal .ant-checkbox-wrapper,.qd-dark-modal .ant-radio-wrapper{color:#d4d4d4}.qd-dark-modal .ant-tabs-bar{border-bottom-color:#2a2a2a}.qd-dark-modal .ant-tabs-tab{color:#888}.qd-dark-modal .ant-tabs-tab:hover{color:#d4d4d4}.qd-dark-modal .ant-tabs-tab-active{color:#1890ff!important}.qd-dark-modal .ant-tag{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-tag-blue{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}.qd-dark-modal .ant-alert{background:rgba(24,144,255,.06);border-color:#2a2a2a}.qd-dark-modal .ant-alert-message{color:#d4d4d4}.qd-dark-modal .ant-alert-info .ant-alert-icon{color:#1890ff}.qd-dark-modal .ant-list-item{border-bottom-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-list-item-meta-title{color:#d4d4d4}.qd-dark-modal .ant-list-item-meta-description{color:#888}.qd-dark-modal .ant-empty-description{color:#666}.qd-dark-modal .add-stock-modal-content,.qd-dark-modal p{color:#d4d4d4}.qd-dark-modal .add-stock-modal-content .section-title{color:#d4d4d4!important}.qd-dark-modal .add-stock-modal-content .symbol-list{border-color:#2a2a2a;background:#1c1c1c}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item:hover{background:#252525!important}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item .symbol-code{color:#d4d4d4!important}.qd-dark-modal .add-stock-modal-content .symbol-list .symbol-list-item .symbol-name{color:#888!important}.qd-dark-modal .add-stock-modal-content .selected-symbol-info strong{color:#d4d4d4}.qd-dark-modal .add-stock-modal-content .selected-symbol-info span{color:#888!important}.qd-dark-modal .batch-modal-summary p{color:#d4d4d4}.qd-dark-modal .batch-symbols-preview .ant-tag{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}.qd-dark-modal .task-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-modal .task-item:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.3)}.qd-dark-modal .task-item-name{color:#d4d4d4}.qd-dark-modal .task-item-meta{color:#888}.qd-dark-modal .task-drawer-empty{color:#666}.qd-dark-modal .history-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-modal .search-result-item{color:#d4d4d4}.qd-dark-modal .search-result-item:hover{background:#1c1c1c}.qd-dark-modal .search-result-name{color:#d4d4d4}.qd-dark-modal .search-result-market{color:#888}.qd-dark-drawer .ant-drawer-content{background:#141414}.qd-dark-drawer .ant-drawer-header{background:#141414;border-bottom-color:#2a2a2a}.qd-dark-drawer .ant-drawer-header .ant-drawer-title{color:#d4d4d4}.qd-dark-drawer .ant-drawer-header .ant-drawer-close{color:#888}.qd-dark-drawer .ant-drawer-body{background:#141414;color:#d4d4d4}.qd-dark-drawer .task-item{background:#1c1c1c;border-color:#2a2a2a}.qd-dark-drawer .task-item:hover{-webkit-box-shadow:0 2px 8px rgba(0,0,0,.3);box-shadow:0 2px 8px rgba(0,0,0,.3)}.qd-dark-drawer .task-item-name{color:#d4d4d4}.qd-dark-drawer .task-item-meta{color:#888}.qd-dark-drawer .task-drawer-empty{color:#666}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-primary{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-primary:hover{-webkit-filter:brightness(1.1);filter:brightness(1.1)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-default{background:#2a2a2c;border-color:#3a3a3c;color:#b0b0b8}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-default:hover{background:#333336;border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-danger{background:rgba(239,68,68,.1);border-color:rgba(239,68,68,.25);color:#f87171}.qd-dark-drawer .task-item-actions .ant-btn.ant-btn-danger:hover{background:rgba(239,68,68,.18);border-color:rgba(239,68,68,.4);color:#fca5a5}.qd-dark-drawer .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-drawer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}.qd-dark-drawer .ant-btn-danger{background:transparent}.qd-dark-drawer .ant-popover-inner{background:#1c1c1c}.qd-dark-drawer .ant-popover-message,.qd-dark-drawer .ant-popover-message-title{color:#d4d4d4}.qd-dark-drawer .ant-popover-buttons .ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#d4d4d4}.qd-dark-modal .ant-select-dropdown,body.colorWeak .ant-select-dropdown{background:#1c1c1c}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item{color:#d4d4d4}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item-active,.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item:hover,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item-active,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item:hover{background:#252525}.qd-dark-modal .ant-select-dropdown .ant-select-dropdown-menu-item-selected,body.colorWeak .ant-select-dropdown .ant-select-dropdown-menu-item-selected{background:rgba(24,144,255,.1);color:#1890ff}
\ No newline at end of file
diff --git a/frontend/dist/css/748.1d274d06.css b/frontend/dist/css/748.1d274d06.css
new file mode 100644
index 0000000..4c8e527
--- /dev/null
+++ b/frontend/dist/css/748.1d274d06.css
@@ -0,0 +1 @@
+.profile-page[data-v-082fd138]{padding:24px;min-height:calc(100vh - 120px);background:-webkit-gradient(linear,left top,left bottom,from(#f8fafc),to(#f1f5f9));background:linear-gradient(180deg,#f8fafc,#f1f5f9)}.profile-page .page-header[data-v-082fd138]{margin-bottom:24px}.profile-page .page-header .page-title[data-v-082fd138]{font-size:24px;font-weight:700;margin:0 0 8px 0;color:#1e3a5f;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:12px}.profile-page .page-header .page-title .anticon[data-v-082fd138]{font-size:28px;color:#1890ff}.profile-page .page-header .page-desc[data-v-082fd138]{color:#64748b;font-size:14px;margin:0}.profile-page .profile-cards-row[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:stretch;-ms-flex-align:stretch;align-items:stretch}.profile-page .profile-cards-row .profile-card-col .ant-card[data-v-082fd138],.profile-page .profile-cards-row .profile-card-col[data-v-082fd138],.profile-page .profile-cards-row .right-cards-col .ant-card[data-v-082fd138],.profile-page .profile-cards-row .right-cards-col[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .profile-card-col .ant-card[data-v-082fd138],.profile-page .profile-cards-row .right-cards-col .ant-card[data-v-082fd138]{height:100%}.profile-page .profile-cards-row .profile-card-col[data-v-082fd138] .ant-card-body,.profile-page .profile-cards-row .right-cards-col[data-v-082fd138] .ant-card-body{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-row[data-v-082fd138]{height:100%;display:-webkit-box;display:-ms-flexbox;display:flex}.profile-page .profile-cards-row .right-cards-row .ant-col .ant-card[data-v-082fd138],.profile-page .profile-cards-row .right-cards-row .ant-col[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-row .ant-col .ant-card[data-v-082fd138]{height:100%}.profile-page .profile-cards-row .right-cards-row .ant-col[data-v-082fd138] .ant-card-body{-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-card[data-v-082fd138]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);text-align:center}.profile-page .profile-card .avatar-section[data-v-082fd138]{padding:20px 0}.profile-page .profile-card .avatar-section .ant-avatar[data-v-082fd138]{-webkit-box-shadow:0 4px 12px rgba(0,0,0,.15);box-shadow:0 4px 12px rgba(0,0,0,.15)}.profile-page .profile-card .avatar-section .username[data-v-082fd138]{margin:16px 0 8px;font-size:20px;font-weight:600;color:#1e3a5f}.profile-page .profile-card .avatar-section .user-role[data-v-082fd138]{margin:0}.profile-page .profile-card .profile-info[data-v-082fd138]{text-align:left;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:distribute;justify-content:space-around}.profile-page .profile-card .profile-info .info-item[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.profile-page .profile-card .profile-info .info-item[data-v-082fd138]:last-child{border-bottom:none}.profile-page .profile-card .profile-info .info-item .anticon[data-v-082fd138]{font-size:16px;color:#1890ff;margin-right:12px}.profile-page .profile-card .profile-info .info-item .label[data-v-082fd138]{color:#64748b;margin-right:8px}.profile-page .profile-card .profile-info .info-item .value[data-v-082fd138]{color:#1e3a5f;font-weight:500}.profile-page .edit-card[data-v-082fd138]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08)}.profile-page .edit-card .password-form[data-v-082fd138],.profile-page .edit-card .profile-form[data-v-082fd138]{max-width:500px}.profile-page .edit-card .password-form[data-v-082fd138] .ant-input,.profile-page .edit-card .password-form[data-v-082fd138] .ant-input-password,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-input,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-input-password{border-radius:8px}.profile-page .edit-card .password-form .email-hint[data-v-082fd138],.profile-page .edit-card .profile-form .email-hint[data-v-082fd138]{margin-top:8px;font-size:12px;color:rgba(0,0,0,.45)}.profile-page .edit-card .password-form .email-hint.email-warning[data-v-082fd138],.profile-page .edit-card .profile-form .email-hint.email-warning[data-v-082fd138]{color:#faad14}.profile-page .edit-card .amount-positive[data-v-082fd138]{color:#52c41a;font-weight:600}.profile-page .edit-card .amount-negative[data-v-082fd138]{color:#ff4d4f;font-weight:600}.profile-page .edit-card .notification-settings-form .field-hint[data-v-082fd138]{margin-top:6px;font-size:12px;color:rgba(0,0,0,.45);display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:4px}.profile-page .edit-card .notification-settings-form .field-hint .anticon[data-v-082fd138]{font-size:12px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group{width:100%}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-wrapper{margin-bottom:8px}.profile-page .credits-card[data-v-082fd138]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.profile-page .credits-card[data-v-082fd138] .ant-card-body{background:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .credits-card[data-v-082fd138] .ant-divider{border-color:hsla(0,0%,100%,.2)}.profile-page .credits-card .credits-header .credits-title[data-v-082fd138]{font-size:16px;font-weight:600;margin:0;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.profile-page .credits-card .credits-header .credits-title .anticon[data-v-082fd138]{font-size:18px}.profile-page .credits-card .credits-body[data-v-082fd138]{padding:20px 0;text-align:center;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-082fd138]{font-size:42px;font-weight:700;color:#fff;text-shadow:0 2px 4px rgba(0,0,0,.2)}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-082fd138]{font-size:16px;color:hsla(0,0%,100%,.9);margin-left:8px}.profile-page .credits-card .credits-body .vip-status[data-v-082fd138]{margin-top:12px;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;gap:6px;font-size:13px}.profile-page .credits-card .credits-body .vip-status .vip-active[data-v-082fd138]{color:gold}.profile-page .credits-card .credits-body .vip-status .vip-expired[data-v-082fd138]{color:hsla(0,0%,100%,.6)}.profile-page .credits-card .credits-body .vip-status .no-vip[data-v-082fd138]{color:hsla(0,0%,100%,.7)}.profile-page .credits-card .credits-actions[data-v-082fd138]{text-align:center;margin-top:auto}.profile-page .credits-card .credits-actions .ant-btn[data-v-082fd138]{border-radius:20px;padding:0 24px;height:36px;font-weight:500;background:#fff;color:#667eea;border:none}.profile-page .credits-card .credits-actions .ant-btn[data-v-082fd138]:hover{background:hsla(0,0%,100%,.9);color:#764ba2}.profile-page .credits-card .credits-hint[data-v-082fd138]{margin-top:12px;text-align:center;font-size:12px;color:hsla(0,0%,100%,.7);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;gap:6px}.profile-page .referral-card[data-v-082fd138]{border-radius:12px;-webkit-box-shadow:0 4px 20px rgba(0,0,0,.08);box-shadow:0 4px 20px rgba(0,0,0,.08);background:linear-gradient(135deg,#11998e,#38ef7d);color:#fff}.profile-page .referral-card[data-v-082fd138] .ant-card-body{background:transparent;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .referral-card[data-v-082fd138] .ant-divider{border-color:hsla(0,0%,100%,.2)}.profile-page .referral-card .referral-header .referral-title[data-v-082fd138]{font-size:16px;font-weight:600;margin:0;color:#fff;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:8px}.profile-page .referral-card .referral-header .referral-title .anticon[data-v-082fd138]{font-size:18px}.profile-page .referral-card .referral-body[data-v-082fd138]{padding:12px 0;-webkit-box-flex:1;-ms-flex:1;flex:1;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column;-webkit-box-pack:justify;-ms-flex-pack:justify;justify-content:space-between}.profile-page .referral-card .referral-body .referral-stats[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-pack:distribute;justify-content:space-around}.profile-page .referral-card .referral-body .referral-stats .stat-item[data-v-082fd138]{text-align:center}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-082fd138]{font-size:28px;font-weight:700;color:#fff;display:block}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-label[data-v-082fd138]{font-size:12px;color:hsla(0,0%,100%,.8)}.profile-page .referral-card .referral-body .referral-link-section .link-label[data-v-082fd138]{font-size:12px;color:hsla(0,0%,100%,.9);margin-bottom:6px}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input{background:hsla(0,0%,100%,.2);border:1px solid hsla(0,0%,100%,.3);color:#fff}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input::-webkit-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input::-moz-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input:-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input::-ms-input-placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input::placeholder{color:hsla(0,0%,100%,.6)}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .anticon-copy{color:#fff}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .anticon-copy:hover{color:gold}.profile-page .referral-card .referral-body .referral-hint[data-v-082fd138]{margin-top:auto;text-align:center;font-size:12px;color:hsla(0,0%,100%,.85);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;gap:6px}.profile-page .referral-card .referral-body .referral-hint .anticon-gift[data-v-082fd138]{color:gold}.profile-page .referral-user-cell[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:10px}.profile-page .referral-user-cell .user-info[data-v-082fd138]{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .referral-user-cell .user-info .nickname[data-v-082fd138]{font-weight:500;color:#333}.profile-page .referral-user-cell .user-info .username[data-v-082fd138]{font-size:12px;color:#999}.profile-page .exchange-config-section .credential-hint[data-v-082fd138]{font-family:SFMono-Regular,Consolas,monospace;font-size:13px;color:#666}.profile-page .test-result-msg[data-v-082fd138]{margin-top:8px;font-size:13px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;gap:6px}.profile-page .test-result-msg.success[data-v-082fd138]{color:#52c41a}.profile-page .test-result-msg.error[data-v-082fd138]{color:#f5222d}.profile-page.theme-dark[data-v-082fd138]{background:-webkit-gradient(linear,left top,left bottom,from(#141414),to(#1c1c1c));background:linear-gradient(180deg,#141414,#1c1c1c)}.profile-page.theme-dark .page-header .page-title[data-v-082fd138]{color:#e0e6ed}.profile-page.theme-dark .page-header .page-desc[data-v-082fd138]{color:#8b949e}.profile-page.theme-dark .edit-card[data-v-082fd138],.profile-page.theme-dark .profile-card[data-v-082fd138]{background:#1c1c1c;-webkit-box-shadow:0 4px 24px rgba(0,0,0,.25);box-shadow:0 4px 24px rgba(0,0,0,.25)}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-card-body,.profile-page.theme-dark .profile-card[data-v-082fd138] .ant-card-body{background:#1c1c1c}.profile-page.theme-dark .profile-card .avatar-section .username[data-v-082fd138]{color:#e0e6ed}.profile-page.theme-dark .profile-card .profile-info .info-item[data-v-082fd138]{border-bottom-color:#2a2a2a}.profile-page.theme-dark .profile-card .profile-info .info-item .label[data-v-082fd138]{color:#8b949e}.profile-page.theme-dark .profile-card .profile-info .info-item .value[data-v-082fd138]{color:#e0e6ed}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-bar{border-bottom-color:#2a2a2a}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-tab{color:#8b949e}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-tab:hover{color:#e0e6ed}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-tab-active{color:#1890ff}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-form-item-label label{color:#c9d1d9}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input-password{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input-password:focus,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input-password:hover,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input:focus,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input:hover{border-color:#1890ff}.profile-page.theme-dark .credits-card[data-v-082fd138]{background:linear-gradient(135deg,#1c1c1c,#1a1a1a 50%,#141414);-webkit-box-shadow:0 4px 24px rgba(0,0,0,.25);box-shadow:0 4px 24px rgba(0,0,0,.25)}.profile-page.theme-dark .credits-card[data-v-082fd138] .ant-divider{border-color:hsla(0,0%,100%,.1)}.profile-page.theme-dark .credits-card .credits-actions .ant-btn[data-v-082fd138]{background:hsla(0,0%,100%,.15);color:#fff;border:1px solid hsla(0,0%,100%,.2)}.profile-page.theme-dark .credits-card .credits-actions .ant-btn[data-v-082fd138]:hover{background:hsla(0,0%,100%,.25)}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table{background:#1c1c1c;color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-thead>tr>th{background:#2a2a2a;color:#c9d1d9;border-bottom-color:#2a2a2a}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td{background:#1c1c1c;color:#c9d1d9;border-bottom-color:#2a2a2a}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr:hover>td{background:#2a2a2a}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-placeholder{background:#1c1c1c;color:#8b949e}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td,.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td :not(.ant-tag):not(.ant-btn),.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td div,.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-table-tbody>tr>td span{color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .amount-positive{color:#52c41a}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .amount-negative{color:#f5222d}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag{border-width:1px;font-weight:600}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-red{background:rgba(245,34,45,.25);border-color:#f5222d;color:#ff7875}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-green{background:rgba(82,196,26,.25);border-color:#52c41a;color:#73d13d}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-blue{background:rgba(24,144,255,.25);border-color:#1890ff;color:#69c0ff}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-gold,.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-orange{background:rgba(250,173,20,.25);border-color:#faad14;color:#ffc53d}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-cyan{background:rgba(19,194,194,.25);border-color:#13c2c2;color:#5cdbd3}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-purple{background:rgba(114,46,209,.25);border-color:#722ed1;color:#b37feb}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-volcano{background:rgba(250,84,28,.25);border-color:#fa541c;color:#ff9c6e}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-lime{background:hsla(89,56%,62%,.25);border-color:#a0d911;color:#bae637}.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-default{background:hsla(0,0%,100%,.08);border-color:hsla(0,0%,100%,.2);color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-form-item-label>label,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-form-item-label>label,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-form-item-label>label{color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-form-item-explain,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-form-item-extra,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-form-item-explain,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-form-item-extra,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-form-item-explain,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-form-item-extra{color:#8b949e}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input::-webkit-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector::-webkit-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input::-moz-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input::-moz-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input::-moz-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector::-moz-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input:-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector:-ms-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input::-ms-input-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector::-ms-input-placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-number::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input-password::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-input::placeholder,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selector::placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-number::placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input-password::placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-input::placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selector::placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-number::placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input-password::placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-input::placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selector::placeholder{color:#6e7681}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-checkbox-wrapper,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-checkbox-wrapper span,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-radio-wrapper,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-radio-wrapper span,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selection-item,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-select-selection-placeholder,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-checkbox-wrapper,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-checkbox-wrapper span,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-radio-wrapper,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-radio-wrapper span,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selection-item,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-select-selection-placeholder,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-checkbox-wrapper,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-checkbox-wrapper span,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-radio-wrapper,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-radio-wrapper span,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selection-item,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-select-selection-placeholder{color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner{background-color:#1890ff;border-color:#1890ff}.profile-page.theme-dark .notification-settings-form .email-hint[data-v-082fd138],.profile-page.theme-dark .notification-settings-form .field-hint[data-v-082fd138],.profile-page.theme-dark .password-form .email-hint[data-v-082fd138],.profile-page.theme-dark .password-form .field-hint[data-v-082fd138],.profile-page.theme-dark .profile-form .email-hint[data-v-082fd138],.profile-page.theme-dark .profile-form .field-hint[data-v-082fd138]{color:#8b949e}.profile-page.theme-dark .notification-settings-form .email-warning[data-v-082fd138],.profile-page.theme-dark .password-form .email-warning[data-v-082fd138],.profile-page.theme-dark .profile-form .email-warning[data-v-082fd138]{color:#f5222d}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-alert{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-alert .ant-alert-message{color:#c9d1d9}.profile-page.theme-dark .exchange-config-section .credential-hint[data-v-082fd138],.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-alert .ant-alert-description{color:#8b949e}.profile-page.theme-dark .test-result-msg.success[data-v-082fd138]{color:#52c41a}.profile-page.theme-dark .test-result-msg.error[data-v-082fd138]{color:#f5222d}.profile-page.theme-dark .referral-user-cell .user-info .nickname[data-v-082fd138]{color:#c9d1d9}.profile-page.theme-dark .referral-user-cell .user-info .username[data-v-082fd138]{color:#8b949e}.profile-page.theme-dark[data-v-082fd138] .ant-tag{color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-tag.ant-tag-has-color{color:#fff!important;border-color:transparent!important}.profile-page.theme-dark[data-v-082fd138] .ant-input-prefix .anticon,.profile-page.theme-dark[data-v-082fd138] .ant-input-suffix .anticon,.profile-page.theme-dark[data-v-082fd138] .credits-hint .anticon,.profile-page.theme-dark[data-v-082fd138] .email-hint .anticon,.profile-page.theme-dark[data-v-082fd138] .field-hint .anticon,.profile-page.theme-dark[data-v-082fd138] .notification-settings-form .anticon{color:#c9d1d9!important}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item{background:#1c1c1c;border-color:#2a2a2a}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item a{color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item:hover{border-color:#1890ff}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item-active{background:#1890ff;border-color:#1890ff}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item-active a{color:#fff}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-next .ant-pagination-item-link,.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-prev .ant-pagination-item-link{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-options .ant-select-selector{background:#141414;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-btn.ant-btn-default{background:#1c1c1c;border-color:#2a2a2a;color:#c9d1d9}.profile-page.theme-dark[data-v-082fd138] .ant-btn.ant-btn-default:hover{border-color:#1890ff;color:#1890ff}@media screen and (max-width:768px){.profile-page[data-v-082fd138]{padding:12px}.profile-page .page-header[data-v-082fd138]{margin-bottom:16px}.profile-page .page-header .page-title[data-v-082fd138]{font-size:20px}.profile-page .page-header .page-title .anticon[data-v-082fd138]{font-size:22px}.profile-page .page-header .page-desc[data-v-082fd138]{font-size:13px}.profile-page .profile-cards-row[data-v-082fd138]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .profile-card-col[data-v-082fd138]{margin-bottom:12px}.profile-page .profile-cards-row .right-cards-col .right-cards-row[data-v-082fd138]{-webkit-box-orient:vertical;-webkit-box-direction:normal;-ms-flex-direction:column;flex-direction:column}.profile-page .profile-cards-row .right-cards-col .right-cards-row .ant-col[data-v-082fd138]{margin-bottom:12px}.profile-page .profile-card[data-v-082fd138]{border-radius:10px}.profile-page .profile-card .avatar-section[data-v-082fd138]{padding:16px 0}.profile-page .profile-card .avatar-section[data-v-082fd138] .ant-avatar{width:80px!important;height:80px!important;line-height:80px!important}.profile-page .profile-card .avatar-section .username[data-v-082fd138]{font-size:18px;margin:12px 0 6px}.profile-page .profile-card .profile-info .info-item[data-v-082fd138]{padding:10px 0;-ms-flex-wrap:wrap;flex-wrap:wrap}.profile-page .profile-card .profile-info .info-item .anticon[data-v-082fd138]{font-size:14px;margin-right:8px}.profile-page .profile-card .profile-info .info-item .label[data-v-082fd138]{font-size:13px}.profile-page .profile-card .profile-info .info-item .value[data-v-082fd138]{font-size:13px;word-break:break-all}.profile-page .credits-card[data-v-082fd138]{border-radius:10px}.profile-page .credits-card .credits-header .credits-title[data-v-082fd138]{font-size:15px}.profile-page .credits-card .credits-header .credits-title .anticon[data-v-082fd138]{font-size:16px}.profile-page .credits-card .credits-body[data-v-082fd138]{padding:16px 0}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-082fd138]{font-size:32px}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-082fd138]{font-size:14px}.profile-page .credits-card .credits-body .vip-status[data-v-082fd138]{font-size:12px;margin-top:10px}.profile-page .credits-card .credits-actions .ant-btn[data-v-082fd138]{height:34px;padding:0 20px;font-size:14px}.profile-page .credits-card .credits-hint[data-v-082fd138]{font-size:11px;margin-top:10px}.profile-page .referral-card[data-v-082fd138]{border-radius:10px}.profile-page .referral-card .referral-header .referral-title[data-v-082fd138]{font-size:15px}.profile-page .referral-card .referral-header .referral-title .anticon[data-v-082fd138]{font-size:16px}.profile-page .referral-card .referral-body[data-v-082fd138]{padding:10px 0}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-082fd138]{font-size:24px}.profile-page .referral-card .referral-body .referral-link-section .link-label[data-v-082fd138],.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-label[data-v-082fd138]{font-size:11px}.profile-page .referral-card .referral-body .referral-link-section .link-box[data-v-082fd138] .ant-input{font-size:12px}.profile-page .referral-card .referral-body .referral-hint[data-v-082fd138]{font-size:11px;padding-top:8px}.profile-page .edit-card[data-v-082fd138]{border-radius:10px;margin-top:12px!important}.profile-page .edit-card[data-v-082fd138] .ant-card-body{padding:12px}.profile-page .edit-card[data-v-082fd138] .ant-tabs-nav .ant-tabs-tab{padding:10px 12px;font-size:13px}.profile-page .edit-card[data-v-082fd138] .ant-tabs-nav-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.profile-page .edit-card[data-v-082fd138] .ant-tabs-nav-scroll::-webkit-scrollbar{display:none}.profile-page .edit-card .password-form[data-v-082fd138],.profile-page .edit-card .profile-form[data-v-082fd138]{max-width:100%}.profile-page .edit-card .password-form[data-v-082fd138] .ant-form-item-label,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-form-item-label{padding-bottom:4px}.profile-page .edit-card .password-form[data-v-082fd138] .ant-form-item-label label,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-form-item-label label{font-size:13px}.profile-page .edit-card .password-form[data-v-082fd138] .ant-input,.profile-page .edit-card .password-form[data-v-082fd138] .ant-input-password,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-input,.profile-page .edit-card .profile-form[data-v-082fd138] .ant-input-password{font-size:14px}.profile-page .edit-card .password-form .email-hint[data-v-082fd138],.profile-page .edit-card .profile-form .email-hint[data-v-082fd138]{font-size:11px}.profile-page .edit-card .password-form[data-v-082fd138] .ant-alert{font-size:12px;padding:8px 12px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-alert{font-size:12px;padding:8px 12px;margin-bottom:16px!important}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-form{max-width:100%}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group .ant-row{margin-left:0!important;margin-right:0!important}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group .ant-row .ant-col{padding-left:0!important;padding-right:8px!important}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group .ant-checkbox-wrapper{font-size:13px;margin-bottom:6px}.profile-page .edit-card .notification-settings-form .field-hint[data-v-082fd138]{font-size:11px;-ms-flex-wrap:wrap;flex-wrap:wrap}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-form-item{margin-bottom:16px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-form-item:last-child .ant-btn{width:100%;margin-bottom:8px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-form-item:last-child .ant-btn+.ant-btn{margin-left:0!important}.profile-page .edit-card[data-v-082fd138] .ant-table-wrapper{overflow-x:auto}.profile-page .edit-card[data-v-082fd138] .ant-table-wrapper .ant-table{min-width:500px}.profile-page .referral-user-cell[data-v-082fd138]{gap:8px}.profile-page .referral-user-cell[data-v-082fd138] .ant-avatar{width:28px!important;height:28px!important;line-height:28px!important}.profile-page .referral-user-cell .user-info .nickname[data-v-082fd138]{font-size:13px}.profile-page .referral-user-cell .user-info .username[data-v-082fd138]{font-size:11px}}@media screen and (max-width:480px){.profile-page[data-v-082fd138]{padding:8px}.profile-page .page-header[data-v-082fd138]{margin-bottom:12px}.profile-page .page-header .page-title[data-v-082fd138]{font-size:18px;gap:8px}.profile-page .page-header .page-title .anticon[data-v-082fd138]{font-size:20px}.profile-page .credits-card .credits-body .credits-amount .amount-value[data-v-082fd138]{font-size:28px}.profile-page .credits-card .credits-body .credits-amount .amount-label[data-v-082fd138]{font-size:13px}.profile-page .credits-card .credits-actions .ant-btn[data-v-082fd138]{width:100%}.profile-page .referral-card .referral-body .referral-stats .stat-item .stat-value[data-v-082fd138]{font-size:20px}.profile-page .edit-card[data-v-082fd138] .ant-tabs-nav .ant-tabs-tab{padding:8px 10px;font-size:12px}.profile-page .edit-card .notification-settings-form[data-v-082fd138] .ant-checkbox-group .ant-row .ant-col{-webkit-box-flex:0;-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}}.profile-exchange-modal .exchange-account-form .egress-ip-block{width:100%}.profile-exchange-modal .exchange-account-form .egress-ip-row{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:6px}.profile-exchange-modal .exchange-account-form .egress-ip-refresh-row{margin-top:4px}.profile-exchange-modal .exchange-account-form .egress-ip-line{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-ms-flex-wrap:wrap;flex-wrap:wrap;gap:8px;margin-bottom:10px}.profile-exchange-modal .exchange-account-form .egress-ip-kind{-webkit-box-flex:0;-ms-flex:0 0 auto;flex:0 0 auto;min-width:42px;font-size:12px;color:rgba(0,0,0,.55)}.profile-exchange-modal .exchange-account-form .egress-ip-value{-webkit-box-flex:1;-ms-flex:1 1 160px;flex:1 1 160px;min-width:0;font-family:Consolas,ui-monospace,monospace;font-size:12px;padding:6px 10px;border-radius:4px;border:1px solid #d9d9d9;background:#fafafa;color:#262626;word-break:break-all}.profile-exchange-modal .exchange-account-form .exchange-demo-checkbox-label{color:rgba(0,0,0,.85)}.profile-exchange-modal .exchange-account-form .exchange-demo-hint{margin-top:6px}.profile-exchange-modal--dark .ant-modal-content{background:#1c1c1c;-webkit-box-shadow:0 8px 32px rgba(0,0,0,.45);box-shadow:0 8px 32px rgba(0,0,0,.45)}.profile-exchange-modal--dark .ant-modal-header{background:#1c1c1c;border-bottom:1px solid #2a2a2a}.profile-exchange-modal--dark .ant-modal-title{color:#e0e6ed}.profile-exchange-modal--dark .ant-modal-close{color:#8b949e}.profile-exchange-modal--dark .ant-modal-body,.profile-exchange-modal--dark .ant-modal-close:hover{color:#c9d1d9}.profile-exchange-modal--dark .ant-modal-footer{background:#1c1c1c;border-top:1px solid #2a2a2a}.profile-exchange-modal--dark .exchange-account-form .ant-form-item-label>label{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .ant-form-item-explain,.profile-exchange-modal--dark .exchange-account-form .ant-form-item-extra{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-input,.profile-exchange-modal--dark .exchange-account-form .ant-input-number,.profile-exchange-modal--dark .exchange-account-form .ant-input-number-input,.profile-exchange-modal--dark .exchange-account-form .ant-input-password .ant-input{background:#141414!important;border-color:#2a2a2a!important;color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-input-password-icon{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-wrap{background:#141414;border-left-color:#2a2a2a}.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-down-inner,.profile-exchange-modal--dark .exchange-account-form .ant-input-number-handler-up-inner{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-select-selector{background:#141414!important;border-color:#2a2a2a!important;color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-item,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-placeholder{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection--single{background:#141414!important;border-color:#2a2a2a!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-placeholder,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection-selected-value,.profile-exchange-modal--dark .exchange-account-form .ant-select-selection__rendered{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .ant-select-arrow{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-checkbox-wrapper,.profile-exchange-modal--dark .exchange-account-form .ant-checkbox-wrapper span{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .exchange-demo-checkbox-label{color:#c9d1d9!important}.profile-exchange-modal--dark .exchange-account-form .egress-ip-hint,.profile-exchange-modal--dark .exchange-account-form .exchange-demo-hint{color:#8b949e!important}.profile-exchange-modal--dark .exchange-account-form .egress-ip-value{border-color:#2a2a2a!important;background:#141414!important;color:#e0e6ed!important}.profile-exchange-modal--dark .exchange-account-form a.egress-ip-action{color:#58a6ff}.profile-exchange-modal--dark .exchange-account-form .egress-ip-kind{color:#8b949e!important}.profile-exchange-modal--dark .exchange-account-form .ant-alert{background:rgba(250,173,20,.12);border-color:rgba(250,173,20,.45)}.profile-exchange-modal--dark .exchange-account-form .ant-alert-message{color:#ffc53d}.profile-exchange-modal--dark .exchange-account-form .ant-alert-description{color:#8b949e}.profile-exchange-modal--dark .exchange-account-form .ant-alert-icon{color:#faad14}.profile-exchange-modal--dark .exchange-account-form .field-hint{color:#8b949e;margin-top:6px;font-size:12px;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-align:start;-ms-flex-align:start;align-items:flex-start;gap:6px}.profile-exchange-modal--dark .exchange-account-form .field-hint .anticon{color:#8b949e;margin-top:2px}.profile-exchange-modal--dark .exchange-account-form .test-result-msg{color:#c9d1d9}.profile-exchange-modal--dark .exchange-account-form .test-result-msg.success{color:#73d13d}.profile-exchange-modal--dark .exchange-account-form .test-result-msg.error{color:#ff7875}.profile-exchange-select-dropdown-dark.ant-select-dropdown{background:#1c1c1c}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item{color:#c9d1d9}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item:hover{background:#2a2a2a}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-selected{background:#2a2a2a!important;color:#e0e6ed;font-weight:500}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-group-title{color:#8b949e!important;font-size:12px}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item,.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-select-dropdown-menu-item-selected{color:#c9d1d9!important}.profile-exchange-select-dropdown-dark.ant-select-dropdown .ant-empty-description{color:#8b949e}
\ No newline at end of file
diff --git a/frontend/dist/css/theme-colors-6550dbc0.css b/frontend/dist/css/theme-colors-0368ea44.css
similarity index 94%
rename from frontend/dist/css/theme-colors-6550dbc0.css
rename to frontend/dist/css/theme-colors-0368ea44.css
index 62153fb..b6c89a3 100644
--- a/frontend/dist/css/theme-colors-6550dbc0.css
+++ b/frontend/dist/css/theme-colors-0368ea44.css
@@ -71,39 +71,39 @@ body.dark .ant-select-dropdown .ant-select-dropdown-menu-item-selected,body.real
.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-methodology .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}
.fast-analysis-report.theme-dark .result-container .indicators-section .indicators-pro-wrap .indicators-pro-title .anticon[data-v-03feb1fa]{color:var(--primary-color,#1890ff)}
.fast-analysis-report.theme-dark .result-container .feedback-section .ant-btn[data-v-03feb1fa]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 30%,transparent);color:var(--primary-color,#1890ff)}
-.left-panel .calendar-box .box-header .box-title .anticon[data-v-06c771c0]{color:var(--primary-color,#1890ff)}
-.right-panel .analysis-toolbar .analyze-button[data-v-06c771c0]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff)}
-.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}
-.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent)}
-.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}
-.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active .wl-card-hover-actions[data-v-06c771c0]{background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent) 30%)}
-.ai-analysis-container.theme-dark .placeholder-hero .hero-badge[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);color:var(--primary-color,#1890ff)}
-.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-06c771c0]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);-webkit-box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}
-.ai-analysis-container.theme-dark .placeholder-hero .hstat-icon[data-v-06c771c0]{background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);color:var(--primary-color,#1890ff)}
-.ai-analysis-container.theme-dark .placeholder-hero .hero-cta .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent)}
-.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip.active[data-v-06c771c0],.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}
-.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-06c771c0]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 45%,transparent);color:var(--primary-color,#1890ff)}
-.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{border-color:#1890ff;color:#1890ff}
-.ai-analysis-container.theme-dark .panel-header-icon[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}
-.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-06c771c0]:not(.ant-btn-primary):hover{border-color:var(--primary-color,#1890ff)!important;color:var(--primary-color,#1890ff)!important}
-.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip.active[data-v-06c771c0],.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}
-.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-tab-active{color:#1890ff!important}
-.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-tabs-ink-bar{background-color:#1890ff}
-.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}
-.ai-analysis-container.theme-dark[data-v-06c771c0] .ant-alert{background:rgba(24,144,255,.06)}
-.hero-bg-circle.c1[data-v-06c771c0]{background:radial-gradient(circle,rgba(24,144,255,.1) 0,transparent 70%)}
-.hero-bg-grid[data-v-06c771c0]{background-image:linear-gradient(rgba(24,144,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(24,144,255,.03) 1px,transparent 0)}
-.hero-badge[data-v-06c771c0]{color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08);border:1px solid rgba(24,144,255,.2)}
-.hstat[data-v-06c771c0]:hover{border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 4px 16px rgba(24,144,255,.1);box-shadow:0 4px 16px rgba(24,144,255,.1)}
-.hstat-icon[data-v-06c771c0]{background:linear-gradient(135deg,rgba(24,144,255,.1),rgba(114,46,209,.08));color:var(--primary-color,#1890ff)}
-.hero-cta .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 4px 14px rgba(24,144,255,.3);box-shadow:0 4px 14px rgba(24,144,255,.3)}
-.panel-header-icon[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}
-.batch-bar .ant-btn-primary[data-v-06c771c0]{-webkit-box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent)}
-.wl-card.active[data-v-06c771c0]{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color,#1890ff) 6%,#fff) 0,color-mix(in srgb,var(--primary-color,#1890ff) 4%,#fff) 100%);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent);-webkit-box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}
-.wl-card.active .wl-card-hover-actions[data-v-06c771c0]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#e6f7ff));background:linear-gradient(90deg,transparent,#e6f7ff 30%)}
-.wl-hover-btn[data-v-06c771c0]:hover{color:var(--primary-color,#1890ff);background:#e6f7ff}
-.task-item-actions .ant-btn.ant-btn-primary[data-v-06c771c0]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff)}
-.task-item-actions .ant-btn.ant-btn-primary[data-v-06c771c0]:hover{-webkit-box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent)}
+.left-panel .calendar-box .box-header .box-title .anticon[data-v-22f26594]{color:var(--primary-color,#1890ff)}
+.right-panel .analysis-toolbar .analyze-button[data-v-22f26594]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff)}
+.ai-analysis-container.theme-dark .watchlist-panel .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{border-color:var(--primary-color,#1890ff);color:var(--primary-color,#1890ff)}
+.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 8%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent)}
+.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card-hover-actions .wl-hover-btn[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}
+.ai-analysis-container.theme-dark .watchlist-panel .watchlist-list .wl-card.active .wl-card-hover-actions[data-v-22f26594]{background:linear-gradient(90deg,transparent 0,color-mix(in srgb,var(--primary-color,#1890ff) 6%,transparent) 30%)}
+.ai-analysis-container.theme-dark .placeholder-hero .hero-badge[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);color:var(--primary-color,#1890ff)}
+.ai-analysis-container.theme-dark .placeholder-hero .hstat[data-v-22f26594]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);-webkit-box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);box-shadow:0 4px 16px color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent)}
+.ai-analysis-container.theme-dark .placeholder-hero .hstat-icon[data-v-22f26594]{background:color-mix(in srgb,var(--primary-color,#1890ff) 12%,transparent);color:var(--primary-color,#1890ff)}
+.ai-analysis-container.theme-dark .placeholder-hero .hero-cta .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent);box-shadow:0 4px 14px color-mix(in srgb,var(--primary-color,#1890ff) 35%,transparent)}
+.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip.active[data-v-22f26594],.ai-analysis-container.theme-dark .watchlist-bar-legacy .stock-chip[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}
+.ai-analysis-container.theme-dark .right-panel .analysis-toolbar .history-button[data-v-22f26594]:hover{border-color:color-mix(in srgb,var(--primary-color,#1890ff) 45%,transparent);color:var(--primary-color,#1890ff)}
+.ai-analysis-container.theme-dark .hero-cta .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{border-color:#1890ff;color:#1890ff}
+.ai-analysis-container.theme-dark .panel-header-icon[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}
+.ai-analysis-container.theme-dark .batch-bar .ant-btn[data-v-22f26594]:not(.ant-btn-primary):hover{border-color:var(--primary-color,#1890ff)!important;color:var(--primary-color,#1890ff)!important}
+.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip.active[data-v-22f26594],.ai-analysis-container.theme-dark .watchlist-bar-compat .stock-chip[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}
+.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-tab-active{color:#1890ff!important}
+.ai-analysis-container.theme-dark[data-v-22f26594] .ant-tabs-ink-bar{background-color:#1890ff}
+.ai-analysis-container.theme-dark[data-v-22f26594] .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}
+.ai-analysis-container.theme-dark[data-v-22f26594] .ant-alert{background:rgba(24,144,255,.06)}
+.hero-bg-circle.c1[data-v-22f26594]{background:radial-gradient(circle,rgba(24,144,255,.1) 0,transparent 70%)}
+.hero-bg-grid[data-v-22f26594]{background-image:linear-gradient(rgba(24,144,255,.03) 1px,transparent 0),linear-gradient(90deg,rgba(24,144,255,.03) 1px,transparent 0)}
+.hero-badge[data-v-22f26594]{color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08);border:1px solid rgba(24,144,255,.2)}
+.hstat[data-v-22f26594]:hover{border-color:var(--primary-color,#1890ff);-webkit-box-shadow:0 4px 16px rgba(24,144,255,.1);box-shadow:0 4px 16px rgba(24,144,255,.1)}
+.hstat-icon[data-v-22f26594]{background:linear-gradient(135deg,rgba(24,144,255,.1),rgba(114,46,209,.08));color:var(--primary-color,#1890ff)}
+.hero-cta .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 4px 14px rgba(24,144,255,.3);box-shadow:0 4px 14px rgba(24,144,255,.3)}
+.panel-header-icon[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:rgba(24,144,255,.08)}
+.batch-bar .ant-btn-primary[data-v-22f26594]{-webkit-box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent);box-shadow:0 1px 2px color-mix(in srgb,var(--primary-color,#1890ff) 20%,transparent)}
+.wl-card.active[data-v-22f26594]{background:linear-gradient(135deg,color-mix(in srgb,var(--primary-color,#1890ff) 6%,#fff) 0,color-mix(in srgb,var(--primary-color,#1890ff) 4%,#fff) 100%);border-color:color-mix(in srgb,var(--primary-color,#1890ff) 28%,transparent);-webkit-box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent);box-shadow:0 1px 4px color-mix(in srgb,var(--primary-color,#1890ff) 10%,transparent)}
+.wl-card.active .wl-card-hover-actions[data-v-22f26594]{background:-webkit-gradient(linear,left top,right top,from(transparent),color-stop(30%,#e6f7ff));background:linear-gradient(90deg,transparent,#e6f7ff 30%)}
+.wl-hover-btn[data-v-22f26594]:hover{color:var(--primary-color,#1890ff);background:#e6f7ff}
+.task-item-actions .ant-btn.ant-btn-primary[data-v-22f26594]{background:var(--primary-color,#1890ff);border-color:var(--primary-color,#1890ff)}
+.task-item-actions .ant-btn.ant-btn-primary[data-v-22f26594]:hover{-webkit-box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent);box-shadow:0 2px 6px color-mix(in srgb,var(--primary-color,#1890ff) 25%,transparent)}
.qd-dark-modal .ant-modal-footer .ant-btn-default:hover{border-color:#1890ff;color:#1890ff}
.qd-dark-modal .ant-tabs-tab-active{color:#1890ff!important}
.qd-dark-modal .ant-tag-blue{background:rgba(24,144,255,.1);border-color:rgba(24,144,255,.3);color:#1890ff}
@@ -237,15 +237,15 @@ body.dark .trading-records ::v-deep .ant-pagination .ant-pagination-next:hover .
.user-manage-page .address-text[data-v-0b8bb4d8],.user-manage-page .hash-text[data-v-0b8bb4d8]{color:#1890ff}
.user-manage-page.theme-dark .manage-tabs[data-v-0b8bb4d8] .ant-tabs-tab-active{color:#1890ff}
.user-manage-page .current-credits-info .value[data-v-0b8bb4d8],.user-manage-page .current-vip-info .value[data-v-0b8bb4d8]{color:#1890ff}
-.profile-page .page-header .page-title .anticon[data-v-4224bd2a]{color:#1890ff}
-.profile-page .profile-card .profile-info .info-item .anticon[data-v-4224bd2a]{color:#1890ff}
-.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-tabs-tab-active{color:#1890ff}
-.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input-password:focus,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input-password:hover,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input:focus,.profile-page.theme-dark .edit-card[data-v-4224bd2a] .ant-input:hover{border-color:#1890ff}
-.profile-page.theme-dark[data-v-4224bd2a] .ant-table-wrapper .ant-tag-blue{background:rgba(24,144,255,.25);border-color:#1890ff;color:#69c0ff}
-.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .notification-settings-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .password-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .profile-form[data-v-4224bd2a] .ant-radio-checked .ant-radio-inner{background-color:#1890ff;border-color:#1890ff}
-.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item:hover{border-color:#1890ff}
-.profile-page.theme-dark[data-v-4224bd2a] .ant-pagination .ant-pagination-item-active{background:#1890ff;border-color:#1890ff}
-.profile-page.theme-dark[data-v-4224bd2a] .ant-btn.ant-btn-default:hover{border-color:#1890ff;color:#1890ff}
+.profile-page .page-header .page-title .anticon[data-v-082fd138]{color:#1890ff}
+.profile-page .profile-card .profile-info .info-item .anticon[data-v-082fd138]{color:#1890ff}
+.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-tabs-tab-active{color:#1890ff}
+.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input-password:focus,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input-password:hover,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input:focus,.profile-page.theme-dark .edit-card[data-v-082fd138] .ant-input:hover{border-color:#1890ff}
+.profile-page.theme-dark[data-v-082fd138] .ant-table-wrapper .ant-tag-blue{background:rgba(24,144,255,.25);border-color:#1890ff;color:#69c0ff}
+.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .notification-settings-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .password-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-checkbox-checked .ant-checkbox-inner,.profile-page.theme-dark .profile-form[data-v-082fd138] .ant-radio-checked .ant-radio-inner{background-color:#1890ff;border-color:#1890ff}
+.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item:hover{border-color:#1890ff}
+.profile-page.theme-dark[data-v-082fd138] .ant-pagination .ant-pagination-item-active{background:#1890ff;border-color:#1890ff}
+.profile-page.theme-dark[data-v-082fd138] .ant-btn.ant-btn-default:hover{border-color:#1890ff;color:#1890ff}
.billing-page .plan-card.highlight[data-v-714c882a]{border:1px solid rgba(24,144,255,.35)}
.usdt-checkout .checkout-body .info-section .addr-box .copy-btn:hover,.usdt-checkout .checkout-body .info-section .amt-box .copy-btn:hover{background:rgba(24,144,255,.08);color:#1890ff}
body.dark .usdt-checkout .checkout-body .info-section .addr-box .copy-btn:hover,body.dark .usdt-checkout .checkout-body .info-section .amt-box .copy-btn:hover,body.realdark .usdt-checkout .checkout-body .info-section .addr-box .copy-btn:hover,body.realdark .usdt-checkout .checkout-body .info-section .amt-box .copy-btn:hover{background:rgba(24,144,255,.15);color:#40a9ff}
diff --git a/frontend/dist/index.html b/frontend/dist/index.html
index d818958..937bb39 100644
--- a/frontend/dist/index.html
+++ b/frontend/dist/index.html
@@ -421,4 +421,4 @@
.brand-text {
font-size: 20px;
}
- }