.mobile-tab-bar{z-index:1000;background:#fff;border-top:1px solid #e8e8e8;justify-content:space-around;align-items:center;height:56px;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 8px #0000000f}.tab-item{cursor:pointer;color:#999;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;padding:8px 0;transition:all .2s;display:flex}.tab-item.active{color:#1677ff}.tab-icon{font-size:22px;line-height:1}.tab-label{white-space:nowrap;font-size:10px;font-weight:500;line-height:1}.tab-item:active{opacity:.7;transform:scale(.95)}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f0f2f5;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}#root,.app-layout{min-height:100vh}.app-header{background:#001529;justify-content:space-between;align-items:center;height:64px;padding:0 24px;display:flex}.app-header .logo{color:#fff;white-space:nowrap;font-size:20px;font-weight:700}.app-header .header-right{color:#fff;align-items:center;gap:16px;display:flex}.version-info{color:#ffffffa6;font-size:12px}.app-content{background:#f0f2f5;height:calc(100vh - 150px);padding:16px;overflow-y:auto}.risk-warning{text-align:center;color:#ad6800;z-index:10;pointer-events:none;-webkit-user-select:none;user-select:none;background:#fffbe6;border-top:1px solid #ffe58f;padding:16px 24px;font-size:13px;position:sticky;bottom:0}.stat-card{text-align:center}.stat-card .stat-value{color:#1677ff;font-size:24px;font-weight:700}.stat-card .stat-label{color:#8c8c8c;margin-top:4px;font-size:13px}.profit-positive{color:#cf1322}.profit-negative{color:#3f8600}.clickable-row{cursor:pointer}.clickable-row:hover{background-color:#e6f4ff}@media (width<=768px){.app-header{padding:0 12px}.app-header-mobile{height:50px!important}.app-content{padding:12px;height:calc(100vh - 146px)!important}.app-content-mobile{padding-bottom:100px}.risk-warning-mobile{z-index:998;pointer-events:none;padding:8px 12px;font-size:11px;position:fixed;bottom:56px;left:0;right:0}}.money-display{font-variant-numeric:tabular-nums;font-family:SF Mono,Consolas,Monaco,monospace}.scrollable-list{max-height:400px;overflow-y:auto}.ant-table-thead>tr>.ant-table-cell{white-space:nowrap;padding:8px;font-size:18px;line-height:24px}.capital-tabs .ant-tabs-nav{margin-bottom:16px}.report-content{white-space:pre-wrap;background:#fafafa;border:1px solid #f0f0f0;border-radius:8px;max-height:500px;padding:20px;font-family:SF Mono,Consolas,Monaco,monospace;font-size:14px;line-height:1.8;overflow:auto}.ant-table-row-striped{background-color:#00000005}.ant-table-row-striped:hover>td{background-color:#e6f4ff!important}@keyframes pulse-glow{0%,to{box-shadow:0 0 8px #cf13224d}50%{box-shadow:0 0 20px #cf132299}}@keyframes pulse-green{0%,to{box-shadow:0 0 8px #3f86004d}50%{box-shadow:0 0 20px #3f860099}}@keyframes float-up{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes scale-in{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes count-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes border-glow-buy{0%,to{border-left-color:#f5576c4d}50%{border-left-color:#f5576cb3}}@keyframes border-glow-sell{0%,to{border-left-color:#52c41a4d}50%{border-left-color:#52c41ab3}}.profit-pulse{animation:2s infinite pulse-glow}.profit-pulse-green{animation:2s infinite pulse-green}.shimmer-text{background:linear-gradient(90deg,#ff6b6b,#ffd93d,#6bcb77,#4d96ff) 0 0/200%;-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;animation:3s linear infinite shimmer}.result-enter{animation:.5s ease-out both float-up}.result-enter:first-child{animation-delay:50ms}.result-enter:nth-child(2){animation-delay:.15s}.result-enter:nth-child(3){animation-delay:.25s}.quote-tag{border-radius:6px;padding:2px 8px;font-size:11px;font-weight:600;transition:transform .15s,box-shadow .15s}.quote-tag:hover{transform:scale(1.1);box-shadow:0 2px 8px #0000001a}.quote-tag-open{color:#cf1322;background:linear-gradient(135deg,#fff1f0,#ffccc7)}.quote-tag-close{color:#0958d9;background:linear-gradient(135deg,#e6f4ff,#bae0ff)}.quote-tag-high{color:#d4380d;background:linear-gradient(135deg,#fff2e8,#ffd8bf)}.quote-tag-low{color:#389e0d;background:linear-gradient(135deg,#f6ffed,#d9f7be)}.quote-tag-avg{color:#531dab;background:linear-gradient(135deg,#f9f0ff,#efdbff)}.trade-card-buy{animation:.3s both scale-in;border-left:3px solid #ff4d4f!important;transition:all .25s!important}.trade-card-buy:hover{border-left-color:#ff7875!important;box-shadow:0 2px 12px #ff4d4f26!important}.trade-card-sell{animation:.3s both scale-in;border-left:3px solid #52c41a!important;transition:all .25s!important}.trade-card-sell:hover{border-left-color:#73d13d!important;box-shadow:0 2px 12px #52c41a26!important}.btn-primary-gradient{background:linear-gradient(135deg,#1677ff,#4096ff)!important;border:none!important;transition:all .25s!important;box-shadow:0 2px 8px #1677ff4d!important}.btn-primary-gradient:hover{transform:translateY(-1px);box-shadow:0 4px 16px #1677ff73!important}.btn-sell-accent{color:#ad6800!important;background:linear-gradient(135deg,#fff7e6,#fffbe6)!important;border:1px solid #ffd591!important;transition:all .25s!important}.btn-sell-accent:hover{color:#873800!important;background:linear-gradient(135deg,#fff1b8,#fff7e6)!important;border-color:#ffa940!important}.param-card{border:none!important;border-radius:12px!important;transition:box-shadow .25s!important;box-shadow:0 1px 8px #0000000a!important}.param-card:hover{box-shadow:0 2px 16px #00000014!important}.stat-enter{animation:.6s ease-out both count-up}.profit-badge{position:relative;overflow:hidden}:root{--color-primary:#1e88e5;--color-up:#009e5f;--color-down:#e53935;--color-neutral:#fbc02d;--color-neutral-bg:#fff3cd;--color-up-light:#009e5f14;--color-down-light:#e539350f}.profit-badge:after{content:"";background:radial-gradient(circle,#ffffff14 0%,#0000 60%);width:200%;height:200%;animation:4s linear infinite shimmer;position:absolute;top:-50%;left:-50%}.analysis-card-title{color:#333;letter-spacing:.2px;font-size:14px;font-weight:500}.analysis-value{font-variant-numeric:tabular-nums;font-size:18px;font-weight:700}.analysis-sub{color:#888;font-size:12px}.conclusion-action-step{color:#444;font-size:16px;line-height:1.85}.conclusion-action-step-mark{font-size:17px;font-weight:700}.stock-select-line{white-space:nowrap;align-items:center;gap:6px;max-width:100%;display:inline-flex;overflow:hidden}.stock-select-line-name{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.ant-select-selection-item .stock-select-line{width:100%}.hint-icon{cursor:help;opacity:.45;margin-left:4px;transition:opacity .2s;font-size:12px!important}.hint-icon:hover{opacity:1}.chart-legend-overlay{pointer-events:auto}.donut-container{width:140px;height:140px;margin:0 auto;position:relative}.status-cautious{background:linear-gradient(135deg,#fff3cd,#ffe69c)!important}.status-neutral{background:linear-gradient(135deg,#f5f5f5,#e8e8e8)!important}.status-positive{background:linear-gradient(135deg,#f0fff0,#d4edda)!important}.risk-bar-stoploss .ant-progress-inner{background:#fff1f0}.risk-bar-takeprofit .ant-progress-inner{background:#f6ffed}.risk-bar-position .ant-progress-inner{background:#e6f7ff}.factor-tag-bullish{color:#389e0d!important;background:#f6ffed!important;border-color:#b7eb8f!important}.factor-tag-bearish{color:#cf1322!important;background:#fff2f0!important;border-color:#ffa39e!important}.factor-tag-neutral{color:#666!important;background:#fafafa!important;border-color:#d9d9d9!important}.level-table-trigger{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.interactive-hover{transition:transform .15s,box-shadow .15s}.interactive-hover:hover{transform:translateY(-1px);box-shadow:0 2px 10px #00000014}.ma-interp{border-radius:4px;margin-top:4px;padding:3px 8px;font-size:11px;display:inline-block}.ma-interp-bullish{background:var(--color-up-light);color:var(--color-up)}.ma-interp-bearish{background:var(--color-down-light);color:var(--color-down)}.cross-tag-golden{color:#389e0d;background:#f6ffed;border:1px solid #b7eb8f;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}@keyframes badge-blink-anim{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.15)}}.badge-blink .ant-badge-count,.badge-blink .ant-scroll-number{animation:.8s ease-in-out infinite badge-blink-anim!important}.unread-dot{color:#fff;background:#ff4d4f;border-radius:10px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:12px;font-weight:600;display:inline-flex}.cross-tag-dead{color:#cf1322;background:#fff2f0;border:1px solid #ffa39e;border-radius:4px;padding:1px 6px;font-size:10px;font-weight:600}@media (width<=768px){.conclusion-flex-wrap{flex-direction:column!important;align-items:center!important;gap:12px!important}.conclusion-gauge,.conclusion-donut{width:100%!important;max-width:260px!important}.conclusion-gauge>div,.conclusion-donut>div{max-height:180px!important}.conclusion-text{text-align:center!important;width:100%!important}.conclusion-action-step{text-align:left;font-size:15px}.conclusion-action-step-mark{font-size:16px}.kline-chart-mobile{height:300px!important}.strategy-table-wrap{font-size:12px}.strategy-table-wrap tbody td{padding:4px}.strategy-table-wrap td[style*="text-align: right"],.strategy-table-wrap td:nth-child(2){white-space:nowrap!important}.key-number{font-size:18px}.key-number-sm{font-size:14px}.trade-page-bg{padding:0 2px 16px}}@media (width<=480px){.conclusion-gauge,.conclusion-donut{max-width:220px!important}.kline-chart-mobile{height:250px!important}}.trade-analysis-card{border:none!important;border-radius:12px!important;margin-bottom:12px!important;transition:box-shadow .25s!important;box-shadow:0 1px 6px #0000000a!important}.trade-analysis-card:hover{box-shadow:0 2px 14px #00000012!important}.trade-page-bg{background:#f5f6fa;height:100%;padding:0 4px 24px;overflow:auto}.holding-card{background:linear-gradient(135deg,#fafbfc 0%,#f0f2f5 100%)!important;border:1px solid #eee!important;border-radius:10px!important;padding:14px 18px!important;transition:all .25s!important}.holding-card:hover{border-color:#d9d9d9!important;box-shadow:0 2px 12px #0000000f!important}.analysis-section-title{align-items:center;gap:6px;margin-bottom:10px;display:flex}.analysis-section-title .anticon{font-size:16px}.key-number{font-variant-numeric:tabular-nums;font-family:SF Mono,Consolas,monospace;font-size:22px;font-weight:700}.key-number-sm{font-variant-numeric:tabular-nums;font-size:15px;font-weight:700}.number-label{font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.strategy-table-wrap{border-collapse:collapse;table-layout:fixed;width:100%;font-size:14px}.strategy-table-wrap thead tr{color:#888;background:#fafafa;border-bottom:2px solid #e8e8e8;font-size:13px}.strategy-table-wrap thead th{text-align:center;padding:6px 8px}.strategy-table-wrap tbody td{vertical-align:middle;padding:7px 8px}.strategy-table-wrap tbody tr{transition:background .15s}.strategy-table-wrap tbody tr:hover{background:#f0f5ff!important}.level-badge{border-radius:6px;justify-content:center;align-items:center;width:38px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.level-badge-buy-1{color:#e53935;background:#e5393514}.level-badge-buy-2{color:#e53935;background:#e539351f}.level-badge-buy-3{color:#e53935;background:#e539352e}.level-badge-buy-4{color:#c62828;background:#e5393540}.level-badge-buy-5{color:#b71c1c;background:#e5393559}.level-badge-sell-1{color:#009e5f;background:#009e5f14}.level-badge-sell-2{color:#009e5f;background:#009e5f1f}.level-badge-sell-3{color:#009e5f;background:#009e5f2e}.level-badge-sell-4{color:#007a4d;background:#009e5f40}.level-badge-sell-5{color:#005b39;background:#009e5f59}.depth-tag-inline{border-radius:4px;margin-right:4px;padding:0 3px;font-size:11px;line-height:1.4}.dist-tag{border-radius:4px;flex-shrink:0;padding:0 4px;font-size:10px;line-height:1.4}.info-row-inline{align-items:center;gap:4px;display:inline-flex}.guidance-card{cursor:default;border:none!important;border-radius:8px!important;transition:all .25s!important}.guidance-card:hover{box-shadow:0 2px 8px #0000000f!important}.rating-card{cursor:pointer;border:none!important;border-radius:10px!important;padding:12px 16px!important;transition:all .25s!important}.rating-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a!important}.factor-row{border-radius:6px;justify-content:space-between;align-items:center;padding:6px 10px;transition:background .15s;display:flex}.factor-row:hover{background:#00000008}.zone-tag{border-radius:4px;padding:2px 8px;font-size:11px;font-weight:500;display:inline-block}.zone-tag-buy{color:#e53935;background:#e539351a}.zone-tag-sell{color:#009e5f;background:#009e5f1a}.tier-subtitle{font-size:15px;font-weight:600}.tier-subtitle-desc{color:#999;font-size:12.5px}.order-row{transition:all .2s}.order-row:hover{background:#fafafa!important}.action-btn-group{flex-wrap:wrap;gap:6px;display:flex}.score-display{font-variant-numeric:tabular-nums;text-align:center;font-size:32px;font-weight:800}@media (width<=768px){.overview-item{padding:12px 4px!important}.overview-item .oi-icon{width:36px!important;height:36px!important;margin-bottom:6px!important;font-size:16px!important}.overview-item .oi-label{font-size:11px!important}.overview-item .oi-value{font-size:18px!important}.overview-item .oi-sub{font-size:10px!important}.risk-opportunity-card .ant-card-body{padding:12px!important}.pending-stock-table{font-size:12px}.pending-stock-table .ant-table-cell{padding:8px 4px!important}.stat-grid-mobile{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.mobile-card-spacing{margin-bottom:12px!important}.ant-btn{min-height:36px;padding:4px 12px}.ant-input,.ant-input-number{font-size:16px}.ant-table{font-size:12px}.ant-table-thead>tr>th{font-size:12px;padding:8px 4px!important}.ant-table-tbody>tr>td{padding:8px 4px!important}.kline-chart-container,.kline-chart-mobile,.depth-chart-container,.all-stocks-card,.kline-trend-card,.legend-toggle-panel,.time-range-select,.type-filter-select{display:none!important}.strategy-table-wrap{display:block!important}.strategy-table-wrap thead{display:none!important}.strategy-table-wrap tbody{flex-direction:column;gap:10px;display:flex}.strategy-table-wrap tbody tr{background:#fff;border:1px solid #e8e8e8;border-radius:8px;flex-direction:column;padding:12px;display:flex;box-shadow:0 1px 4px #0000000a}.strategy-table-wrap tbody td{justify-content:space-between;align-items:center;display:flex;text-align:left!important;border:none!important;padding:6px 0!important}.strategy-table-wrap tbody td:before{content:attr(data-label);color:#666;margin-right:8px;font-size:12px;font-weight:500}.strategy-table-wrap tbody td:first-child:before{content:"方向："}.strategy-table-wrap tbody td:nth-child(2):before{content:"档位："}.strategy-table-wrap tbody td:nth-child(3):before{content:"价格："}.strategy-table-wrap tbody td:nth-child(4):before{content:"仓位："}.strategy-table-wrap tbody td:nth-child(5):before{content:"触发条件："}.strategy-table-wrap tbody td:nth-child(6):before{content:"操作："}.strategy-level-card{margin-bottom:8px!important}.factor-collapse .ant-collapse-header{font-size:13px;padding:10px 12px!important}.conclusion-section{padding:12px!important}.rating-badge-mobile{transform:scale(1.1)}.trading-record-card{margin-bottom:8px!important;padding:12px!important}.ant-picker{width:100%}.ant-modal{margin:0 auto;max-width:95vw!important}.ant-modal-body{max-height:70vh;overflow-y:auto;padding:16px!important}.ant-select-dropdown{max-width:90vw}}.quant-action-bar{background:linear-gradient(135deg,#f0f7ff 0%,#e6f4ff 100%);border:1px solid #91caff;margin-bottom:16px;box-shadow:0 2px 8px #1677ff14}.quant-guide-manual{font-size:14px;line-height:1.7}.quant-guide-step{border-bottom:1px dashed #e8e8e8;margin-bottom:24px;padding-bottom:8px}.quant-guide-step:last-of-type{border-bottom:none}.quant-guide-step-head{align-items:center;gap:10px;margin-bottom:10px;display:flex}.quant-guide-step-num{color:#fff;background:linear-gradient(135deg,#722ed1,#9254de);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;font-weight:700;display:inline-flex}.quant-guide-step-body{padding-left:38px}.quant-guide-list{margin:8px 0;padding-left:20px;line-height:2}.quant-guide-list li{margin-bottom:4px}.quant-ui-mock{background:#fafafa;border:1px solid #d9d9d9;border-radius:8px;margin:12px 0;overflow:hidden;box-shadow:0 2px 8px #0000000f}.quant-ui-mock-bar{background:linear-gradient(#f0f0f0,#e8e8e8);border-bottom:1px solid #d9d9d9;align-items:center;gap:6px;padding:8px 12px;display:flex}.quant-ui-mock-dot{background:#ff5f57;border-radius:50%;width:10px;height:10px}.quant-ui-mock-dot:nth-child(2){background:#febc2e}.quant-ui-mock-dot:nth-child(3){background:#28c840}.quant-ui-mock-title{color:#555;margin-left:8px;font-size:12px;font-weight:600}.quant-ui-mock-path{color:#1677ff;background:#e6f4ff;border-bottom:1px solid #d9e4ff;padding:6px 14px;font-size:12px}.quant-ui-mock-body{color:#333;background:#fff;padding:12px 14px;font-family:Consolas,Courier New,monospace;font-size:12.5px;line-height:1.85}.quant-ui-mock-line-hl{background:#fff7e6;border-left:3px solid #fa8c16;border-radius:0 4px 4px 0;margin:4px -8px;padding:4px 8px}.quant-ui-mock-note{color:#666;background:#f6ffed;border-top:1px solid #b7eb8f;padding:8px 14px;font-size:12px}
