:root{--bg: #111827;--surface: #1f2937;--surface-2: #111827;--border: #374151;--border-dim: rgba(55, 65, 81, .6);--text: #d1d5db;--text-dim: #9ca3af;--text-muted: #6b7280;--text-bright: #f9fafb;--blue: #60a5fa;--positive: #4ade80;--negative: #f87171;--red-chip-bg: #7f1d1d;--red-chip-border: #991b1b;--red-chip-hover-border: #ef4444;--blue-chip-bg: #1e3a5f;--blue-chip-border: #1d4ed8;--star-gold: #fbbf24;--star-gold-hover: #f59e0b}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;overflow:hidden}body{background:var(--bg);color:var(--text);font:13px/1.5 Helvetica Neue,PingFang SC,Microsoft YaHei,sans-serif;-webkit-font-smoothing:antialiased}button{font:inherit;border:0;cursor:pointer;background:none;color:inherit}a{color:inherit;text-decoration:none}#root{height:100%;display:flex;flex-direction:column}.top-bar{flex-shrink:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:6px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:13px;min-height:40px}.top-bar-brand{font-size:15px;font-weight:700;color:var(--text-bright);margin-right:4px}.meta-sep{color:var(--text-muted)}.meta-label{color:var(--text-dim)}.meta-value{color:var(--text-bright);font-weight:600;font-variant-numeric:tabular-nums}.meta-value-accent{color:#f87171;font-weight:700}.top-bar-tags{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.active-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;background:#7f1d1d80;border:1px solid #991b1b;color:#fca5a5;font-size:11px}.active-tag button{font-size:13px;line-height:1;color:#fca5a5;opacity:.7}.active-tag button:hover{opacity:1}.top-bar-clear{font-size:12px;color:var(--text-dim);border:1px solid var(--border);border-radius:4px;padding:1px 8px}.top-bar-clear:hover{color:var(--text-bright);border-color:#6b7280}.top-bar-loading{font-size:12px;color:var(--blue);animation:pulse 1.2s ease-in-out infinite}.top-bar-error{font-size:12px;color:#f87171}@keyframes pulse{0%,to{opacity:1}50%{opacity:.2}}.workspace{flex:1;min-height:0;display:flex;overflow:hidden}.filter-sidebar{width:224px;flex-shrink:0;overflow-y:auto;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:0}.filter-panel{display:flex;flex-direction:column;flex-shrink:0}.filter-panel-header{padding:8px 12px;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);flex-shrink:0}.filter-group{border-bottom:1px solid var(--border)}.filter-group-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:8px 12px;font-size:13px;font-weight:500;color:var(--text-dim);text-align:left}.filter-group-toggle:hover{background:var(--bg);color:var(--text)}.group-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:999px;background:#991b1b;color:#fff;font-size:10px;font-weight:700}.group-arrow{font-size:10px;color:var(--text-muted)}.filter-chips{display:flex;flex-wrap:wrap;gap:6px;padding:4px 10px 10px}.filter-chip{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);background:var(--surface);color:var(--text-dim);transition:border-color .15s,color .15s;cursor:pointer;white-space:nowrap}.filter-chip:hover:not(:disabled){border-color:#ef4444;color:#fca5a5}.filter-chip:disabled{opacity:.4;cursor:not-allowed}.filter-chip.is-active{background:var(--red-chip-bg);border-color:var(--red-chip-border);color:#fff}.filter-chip.is-continuous:hover:not(:disabled){border-color:#3b82f6;color:#93c5fd}.filter-chip.is-continuous.is-active{background:var(--blue-chip-bg);border-color:var(--blue-chip-border);color:#93c5fd}.chip-count{margin-left:4px;opacity:.6}.table-panel{flex:1;min-width:0;display:flex;flex-direction:column;overflow:hidden;background:var(--bg)}.table-scroll{flex:1;min-height:0;overflow:auto}.stock-table{width:100%;min-width:800px;border-collapse:collapse;font-size:12px}.stock-table thead{position:sticky;top:0;z-index:2}.stock-table th{padding:8px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:12px;font-weight:500;color:var(--text-dim);white-space:nowrap;text-align:right;cursor:default}.stock-table th:first-child,.stock-table th:nth-child(2){text-align:left}.stock-table td{padding:6px 8px;border-bottom:1px solid var(--border-dim);color:var(--text);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.stock-table td.cell-symbol,.stock-table td.cell-name{text-align:left}.stock-table tbody tr:nth-child(2n){background:#1f293780}.stock-table tbody tr:hover{background:var(--surface)}.sort-button{display:inline-flex;align-items:center;justify-content:flex-end;gap:4px;width:100%;font-size:12px;font-weight:500;color:var(--text-dim);cursor:pointer}.sort-button:hover{color:var(--text-bright)}.sort-button.is-active{color:#f9fafb}.sort-indicator{font-size:10px}.plain-header{font-size:12px;font-weight:500;color:var(--text-dim)}.stock-table .cell-symbol a{color:var(--blue);font-weight:600;letter-spacing:.02em}.stock-table .cell-symbol a:hover{text-decoration:underline}.stock-table .cell-name{color:var(--text-bright)}.stock-table .cell-positive{color:var(--positive)}.stock-table .cell-negative{color:var(--negative)}.stock-table .cell-price{color:var(--text-bright)}.stock-table .cell-vol{color:var(--text-muted)}.stock-table .cell-warn{color:#fbbf24}.stock-table .cell-muted{color:var(--text-dim)}.col-financial-first{border-left:1px solid rgba(96,165,250,.15)}.table-footer{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:6px 12px;border-top:1px solid var(--border);background:var(--surface-2);font-size:12px;color:var(--text-dim);gap:8px}.page-info{font-variant-numeric:tabular-nums}.pagination-controls{display:flex;align-items:center;gap:6px}.page-btn{padding:3px 10px;border-radius:4px;border:1px solid var(--border);font-size:12px;color:var(--text-dim)}.page-btn:hover:not(:disabled){border-color:#6b7280;color:var(--text-bright)}.page-btn:disabled{opacity:.3;cursor:not-allowed}.table-state{padding:60px 20px;text-align:center!important;color:var(--text-muted);font-size:13px}.table-state-error{color:var(--negative)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff38}.research-page{display:flex;flex-direction:column;height:100vh;background:#111827;color:#d1d5db;overflow:hidden}.research-header{display:flex;align-items:center;gap:16px;padding:10px 16px;border-bottom:1px solid #374151;background:#1f2937;flex-shrink:0;flex-wrap:wrap}.research-back{background:none;border:1px solid #374151;color:#9ca3af;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:13px;white-space:nowrap}.research-back:hover{color:#d1d5db;border-color:#6b7280}.research-back:disabled{opacity:.4;cursor:not-allowed}.research-title{display:flex;align-items:baseline;gap:10px;flex:1;min-width:0}.research-symbol{font-size:18px;font-weight:700;color:#f9fafb}.research-name{font-size:13px;color:#9ca3af;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.research-price{font-size:16px;font-weight:600;white-space:nowrap}.research-nav{display:flex;gap:6px}.research-nav button{background:none;border:1px solid #374151;color:#9ca3af;padding:4px 10px;border-radius:4px;cursor:pointer;font-size:12px}.research-nav button:disabled{opacity:.35;cursor:default}.research-nav button:not(:disabled):hover{color:#d1d5db;border-color:#6b7280}.research-body{display:flex;flex:1;overflow:hidden}.research-chart-panel{flex:0 0 65%;padding:12px;overflow-y:auto;border-right:1px solid #374151}.research-sidebar{flex:0 0 35%;display:flex;flex-direction:column;overflow:hidden}.research-loading{color:#6b7280;padding:2rem;text-align:center;font-size:14px}.research-chart-wrap{display:flex;flex-direction:column;gap:4px}.chart-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:4px}.chart-range-btns,.chart-overlay-btns,.chart-sub-btns{display:flex;gap:4px}.chart-range-btns button,.chart-overlay-btns button,.chart-sub-btns button{background:#1f2937;border:1px solid #374151;color:#9ca3af;padding:3px 8px;border-radius:4px;font-size:11px;cursor:pointer}.chart-range-btns button.active,.chart-overlay-btns button.active,.chart-sub-btns button.active{background:#374151;color:#f9fafb;border-color:#6b7280}.chart-sub-btns{margin-top:4px}.research-tabs{display:flex;border-bottom:1px solid #374151;flex-shrink:0}.research-tab-btn{flex:1;background:none;border:none;border-bottom:2px solid transparent;color:#9ca3af;padding:10px 0;font-size:13px;cursor:pointer}.research-tab-btn.active{color:#f9fafb;border-bottom-color:#3b82f6}.research-tab-btn:hover:not(.active){color:#d1d5db}.research-tab-content{flex:1;overflow-y:auto;padding:12px}.financials-panel{display:flex;flex-direction:column;gap:16px}.financials-group-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:6px;padding-bottom:4px;border-bottom:1px solid #1f2937}.financials-row{display:flex;align-items:center;gap:8px;padding:4px 0}.financials-label{font-size:12px;color:#9ca3af;width:72px;flex-shrink:0}.financials-value{font-size:13px;color:#e5e7eb;width:70px;flex-shrink:0;text-align:right}.percentile-bar-wrap{flex:1;height:6px;background:#374151;border-radius:3px;overflow:hidden}.percentile-bar{height:100%;border-radius:3px;transition:width .3s}.technical-panel{display:flex;flex-direction:column;gap:16px}.technical-section-title{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin-bottom:6px}.technical-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:13px}.technical-label{color:#9ca3af;width:52px;flex-shrink:0}.technical-value{color:#e5e7eb}.pattern-chips{display:flex;flex-wrap:wrap;gap:6px}.pattern-chip{background:#1e3a5f;color:#93c5fd;font-size:11px;padding:3px 8px;border-radius:12px;border:1px solid #1d4ed8}.pattern-history-panel{display:flex;flex-direction:column;gap:8px}.pattern-history-empty{color:#6b7280;font-size:13px;text-align:center;padding:2rem 0}.pattern-history-summary{font-size:12px;color:#9ca3af;padding:8px;background:#1f2937;border-radius:6px;line-height:1.5}.pattern-history-scroll{overflow-x:auto}.pattern-history-table{width:100%;border-collapse:collapse;font-size:12px}.pattern-history-table th{text-align:left;padding:6px 8px;border-bottom:1px solid #374151;color:#6b7280;font-weight:500;white-space:nowrap}.pattern-history-table td{padding:5px 8px;border-bottom:1px solid #1f2937;color:#d1d5db;white-space:nowrap}.pattern-history-table tr:hover td{background:#1f2937}@media (max-width: 768px){.research-body{flex-direction:column;overflow:auto}.research-chart-panel{flex:none;border-right:none;border-bottom:1px solid #374151}.research-sidebar{flex:none}}.preset-strategy-bar{display:flex;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border, #374151);flex-wrap:wrap}.preset-btn{padding:4px 12px;border:1px solid var(--border, #374151);border-radius:4px;background:transparent;cursor:pointer;font-size:13px;color:var(--text-dim, #9ca3af);transition:background .15s,color .15s}.preset-btn:hover:not(:disabled){background:var(--surface, #1f2937);color:var(--text-bright, #f9fafb)}.preset-btn.active{background:var(--blue, #60a5fa);color:#fff;border-color:var(--blue, #60a5fa)}.preset-btn:disabled{opacity:.5;cursor:not-allowed}.numeric-filter-panel{flex-shrink:0;margin:12px 8px;border:1px solid var(--border, #374151);border-radius:6px;padding:10px}.numeric-filter-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.numeric-filter-header .panel-title{font-size:12px;font-weight:600;color:var(--text-muted, #6b7280);text-transform:uppercase;letter-spacing:.05em}.clear-all-btn{font-size:11px;color:var(--blue, #60a5fa);background:none;border:none;cursor:pointer;padding:0}.numeric-filter-rows{display:flex;flex-direction:column;gap:4px}.numeric-filter-row{display:flex;align-items:center;gap:4px}.numeric-filter-row .metric-label{font-size:12px;color:var(--text-dim, #9ca3af);width:80px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.op-select{width:36px;font-size:12px;padding:2px;border:1px solid var(--border);border-radius:3px;background:var(--bg);color:var(--text-bright);cursor:pointer}.val-input{width:60px;font-size:12px;padding:2px 4px;border:1px solid var(--border);border-radius:3px;background:var(--bg);color:var(--text)}.val-input::placeholder{color:var(--text-muted)}.val-input.active{border-color:var(--blue);color:var(--text-bright)}.clear-row-btn{font-size:12px;color:var(--text-muted, #6b7280);background:none;border:none;cursor:pointer;padding:0 2px;line-height:1}.clear-row-btn:hover{color:var(--text-bright, #f9fafb)}.pattern-stats-page{padding:1.5rem;max-width:900px;margin:0 auto}.pattern-stats-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:1.25rem}.pattern-stats-header h2{font-size:1rem;font-weight:600;color:var(--text-bright);margin:0}.back-btn{background:none;border:1px solid var(--border);color:var(--text-dim);padding:.3rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem}.back-btn:hover{border-color:var(--blue);color:var(--blue)}.pattern-stats-table{width:100%;border-collapse:collapse;font-size:.875rem}.pattern-stats-table th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:500;white-space:nowrap}.pattern-stats-table td{padding:.45rem .75rem;border-bottom:1px solid var(--border);color:var(--text-bright)}.pattern-stats-table .sortable-col{cursor:pointer;-webkit-user-select:none;user-select:none}.pattern-stats-table .sortable-col:hover{color:var(--blue)}.pattern-stats-table .cell-dim{color:var(--text-dim);font-size:.8rem}.pattern-stats-table .cell-up{color:var(--positive)}.pattern-stats-table .cell-down{color:var(--negative)}.top-nav{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1rem;border-bottom:1px solid var(--border);background:var(--surface)}.app-title{font-weight:600;font-size:.95rem;color:var(--text-bright)}.nav-link{font-size:.85rem;color:var(--blue);text-decoration:none}.nav-link:hover{text-decoration:underline}.col-star{width:28px;text-align:center;padding:0 2px;white-space:nowrap}.star-btn{background:none;border:none;cursor:pointer;font-size:14px;color:var(--text-muted);padding:2px 4px;line-height:1;border-radius:3px}.star-btn:hover{color:var(--blue)}.star-btn.is-starred{color:var(--star-gold)}.star-btn.is-starred:hover{color:var(--star-gold-hover)}.watchlist-bar{display:flex;align-items:center;gap:12px;padding:5px 16px;background:var(--surface);border-bottom:1px solid var(--border);font-size:12px;flex-shrink:0}.watchlist-bar-count{color:var(--text-dim)}.watchlist-bar-count strong{color:var(--star-gold)}.watchlist-only-btn{padding:2px 10px;border:1px solid var(--border);border-radius:4px;color:var(--text-dim);font-size:12px;cursor:pointer;background:none;transition:background .15s,color .15s,border-color .15s}.watchlist-only-btn:hover{color:var(--text-bright);border-color:var(--text-muted)}.watchlist-only-btn.active{background:var(--blue);color:#fff;border-color:var(--blue)}.watchlist-clear-btn{padding:2px 8px;border:1px solid transparent;border-radius:4px;color:var(--text-muted);font-size:12px;cursor:pointer;background:none;transition:color .15s,border-color .15s}.watchlist-clear-btn:hover{color:var(--negative);border-color:var(--negative)}.compare-bar{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--surface);border-top:1px solid var(--border);z-index:100;font-size:13px}.compare-bar-chips{display:flex;gap:6px;flex-wrap:wrap;flex:1}.compare-chip{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:var(--blue-chip-bg);border:1px solid var(--blue-chip-border);border-radius:4px;font-size:12px;color:var(--blue)}.compare-chip button{color:var(--blue);opacity:.7;font-size:13px;line-height:1}.compare-chip button:hover{opacity:1}.compare-go-btn{padding:4px 14px;background:var(--blue);color:#fff;border:none;border-radius:4px;font-size:13px;cursor:pointer;transition:opacity .15s}.compare-go-btn:hover{opacity:.85}.compare-clear-btn{font-size:12px;color:var(--text-muted);padding:4px 8px;border:1px solid transparent;border-radius:4px;cursor:pointer;background:none;transition:color .15s,border-color .15s}.compare-clear-btn:hover{color:var(--negative);border-color:var(--negative)}.compare-page{height:100vh;display:flex;flex-direction:column;background:var(--bg);color:var(--text);overflow:hidden}.compare-header{display:flex;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0}.compare-title{font-size:13px;color:var(--text-dim);flex:1}.reselect-btn{font-size:12px;color:var(--text-muted);padding:4px 10px;border:1px solid var(--border);border-radius:4px;cursor:pointer;background:none;transition:color .15s,border-color .15s}.reselect-btn:hover{color:var(--text-bright);border-color:#6b7280}.compare-table-wrap{flex:1;overflow:auto}.compare-table{width:100%;border-collapse:collapse;font-size:13px}.compare-table th{position:sticky;top:0;background:var(--surface);z-index:1;padding:10px 14px;border-bottom:2px solid var(--border);text-align:left;white-space:nowrap;min-width:140px}.compare-table th:first-child{width:130px;min-width:130px}.compare-table td{padding:6px 14px;border-bottom:1px solid var(--border-dim);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}.compare-metric-label{text-align:left!important;color:var(--text-dim);font-size:12px}.compare-group-header td{background:var(--surface-2);color:var(--text-muted);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;text-align:left!important}.compare-stock-symbol{font-weight:700;color:var(--text-bright);font-size:14px}.compare-stock-name{font-size:11px;color:var(--text-dim);margin-top:2px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.compare-best{color:var(--positive);font-weight:600}.compare-worst{color:var(--negative)}.col-compare{width:28px;text-align:center;padding:0 4px;white-space:nowrap}.compare-checkbox{cursor:pointer;accent-color:var(--blue);width:14px;height:14px}.compare-checkbox:disabled{cursor:not-allowed;opacity:.35}.top-nav-actions{display:flex;align-items:center;gap:12px}.nav-compare-btn{font-size:.85rem;color:var(--blue);background:none;border:1px solid var(--blue);border-radius:4px;padding:2px 10px;cursor:pointer;transition:background .15s,color .15s}.nav-compare-btn:hover{background:var(--blue);color:#fff}.lang-toggle-btn{font-size:.8rem;padding:3px 10px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s,border-color .15s}.lang-toggle-btn:hover{background:var(--surface);color:var(--text-bright);border-color:var(--text-muted)}.rt-status-bar{display:flex;align-items:center;justify-content:space-between;padding:4px 16px;background:var(--surface-2);border-bottom:1px solid var(--border);font-size:12px;flex-shrink:0}.rt-status-bar.rt-premium{background:#4ade8014;border-bottom-color:#4ade8040}.rt-status-bar.rt-free{background:#6b728014}.rt-status-left,.rt-status-right{display:flex;align-items:center;gap:10px}.rt-status-label{display:flex;align-items:center;gap:6px}.rt-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:3px;letter-spacing:.05em}.rt-badge-premium{background:var(--positive);color:#064e3b}.rt-badge-free{background:var(--text-muted);color:var(--bg)}.rt-provider{font-weight:500}.rt-indicator{font-size:10px}.rt-indicator-live{color:var(--positive);animation:pulse 2s infinite}.rt-indicator-delayed{color:var(--text-muted)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.rt-status-text{color:var(--text-dim)}.rt-stats{display:flex;gap:12px;color:var(--text-dim)}.rt-stat strong{color:var(--text)}.rt-refresh-btn{display:flex;align-items:center;gap:4px;padding:3px 10px;border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-dim);cursor:pointer;transition:all .15s}.rt-refresh-btn:hover{border-color:var(--blue);color:var(--blue)}.rt-refresh-icon.rt-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.rt-panel-container,.scanner-panel-container{flex-shrink:0;border-bottom:1px solid var(--border)}.rt-panel{background:var(--surface);border-bottom:1px solid var(--border)}.rt-panel-disabled{background:var(--surface-2);opacity:.7}.rt-panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-dim)}.rt-panel-header h3{font-size:13px;font-weight:600;color:var(--text-bright);margin:0}.rt-panel-controls{display:flex;align-items:center;gap:8px}.rt-select{font-size:12px;padding:3px 8px;border:1px solid var(--border);border-radius:4px;background:var(--bg);color:var(--text);cursor:pointer}.rt-auto-refresh{display:flex;align-items:center;gap:3px;padding:3px 8px;border:1px solid var(--border);border-radius:4px;font-size:11px;color:var(--text-dim);cursor:pointer;transition:all .15s}.rt-auto-refresh-on{background:#4ade8026;border-color:var(--positive);color:var(--positive)}.rt-refresh-small{padding:3px 6px;border:1px solid var(--border);border-radius:4px;font-size:12px;color:var(--text-dim);cursor:pointer}.rt-refresh-small:hover:not(:disabled){border-color:var(--blue);color:var(--blue)}.rt-refresh-small:disabled{opacity:.5;cursor:not-allowed}.rt-panel-content{padding:8px 16px;max-height:280px;overflow-y:auto}.rt-panel-message,.rt-panel-error{padding:20px;text-align:center;color:var(--text-dim);font-size:13px}.rt-panel-error{color:var(--negative);display:flex;flex-direction:column;align-items:center;gap:8px}.rt-panel-error button{padding:4px 12px;border:1px solid var(--negative);border-radius:4px;color:var(--negative);cursor:pointer}.rt-ranking-table{width:100%;border-collapse:collapse;font-size:12px;table-layout:fixed}.rt-ranking-table th,.rt-ranking-table td{padding:6px 8px;border-bottom:1px solid var(--border-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rt-ranking-table th{border-bottom:1px solid var(--border);color:var(--text-muted);font-weight:500}.rt-ranking-row{cursor:pointer;transition:background .1s}.rt-ranking-row:hover{background:var(--surface)}.rt-ranking-table th.rt-rank,.rt-ranking-table td.rt-rank{width:40px;text-align:center;color:var(--text-muted)}.rt-ranking-table th.rt-symbol,.rt-ranking-table td.rt-symbol{width:70px;text-align:left;font-weight:600;color:var(--text-bright)}.rt-ranking-table th.rt-name,.rt-ranking-table td.rt-name{width:110px;text-align:left;color:var(--text-dim)}.rt-ranking-table th.rt-price,.rt-ranking-table td.rt-price{width:75px;text-align:right;font-variant-numeric:tabular-nums}.rt-ranking-table th.rt-change,.rt-ranking-table td.rt-change{width:70px;text-align:right;font-variant-numeric:tabular-nums}.rt-ranking-table th.rt-high-low,.rt-ranking-table td.rt-high-low{width:95px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim);font-size:11px}.rt-ranking-table th.rt-volume,.rt-ranking-table td.rt-volume{width:75px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-dim)}.rt-ranking-table th.rt-value,.rt-ranking-table td.rt-value{width:90px;text-align:right;font-variant-numeric:tabular-nums;font-weight:500}.rt-positive{color:var(--positive)}.rt-negative{color:var(--negative)}.row-rt{background:#60a5fa0a}.cell-rt-value{font-weight:500}.cell-symbol .rt-indicator{font-size:8px;margin-left:4px;color:var(--positive);animation:pulse 2s infinite}.nav-rt-btn{font-size:.8rem;padding:3px 10px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-dim);cursor:pointer;transition:all .15s}.nav-rt-btn:hover{border-color:var(--positive);color:var(--positive)}.nav-rt-btn-active{background:#4ade8026;border-color:var(--positive);color:var(--positive)}.nav-scanner-btn{font-size:.8rem;padding:3px 10px;border:1px solid var(--border);border-radius:4px;background:none;color:var(--text-dim);cursor:pointer;transition:all .15s}.nav-scanner-btn:hover{border-color:#f59e0b;color:#f59e0b}.nav-scanner-btn-active{background:#f59e0b26;border-color:#f59e0b;color:#f59e0b}.kline-chart-container{width:100%;height:100%;min-height:400px}.drawer-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:100}.drawer{position:fixed;top:0;right:-70%;width:70%;height:100%;background:#1a1a2e;box-shadow:-2px 0 8px #0000004d;transition:right .3s ease;z-index:101;display:flex;flex-direction:column}.drawer.kline-drawer{right:0}.drawer-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #3a3a4e}.drawer-header h3{margin:0;font-size:18px;font-weight:600}.drawer-close{background:none;border:none;color:#9ca3af;font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center}.drawer-close:hover{color:#fff}.drawer-toolbar{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #3a3a4e}.period-btn{background:#2a2a3e;border:1px solid #3a3a4e;color:#d1d5db;padding:6px 12px;border-radius:4px;cursor:pointer;font-size:14px;transition:all .2s}.period-btn:hover{background:#3a3a4e}.period-btn-active{background:#3b82f6;border-color:#3b82f6;color:#fff}.drawer-content{flex:1;overflow-y:auto;padding:16px 20px}.drawer-message,.drawer-error{text-align:center;padding:40px 20px;color:#9ca3af}.drawer-error{color:#ef4444}.kline-summary{display:flex;gap:20px;padding:16px;background:#2a2a3e;border-radius:8px;margin-top:16px}.kline-price{font-size:24px;font-weight:700}.kline-change{font-size:16px;font-weight:600}.kline-change.positive{color:#10b981}.kline-change.negative{color:#ef4444}.kline-volume{font-size:14px;color:#9ca3af;margin-left:auto}
