@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&family=JetBrains+Mono:wght@400;500;600;700&display=swap";*{box-sizing:border-box}:root{--bg:#f6f8fb;--bg-secondary:#eef1f6;--surface:#fff;--surface-elevated:#fff;--surface-hover:#f0f3f8;--surface-active:#e6ebf3;--border:#e1e6ef;--border-light:#dbe0e9;--border-glow:#3b82f638;--text:#5c667a;--text-medium:#3d4656;--text-h:#0f1729;--up:#059669;--up-dim:#0596691a;--up-glow:#05966940;--down:#dc2626;--down-dim:#dc26261a;--down-glow:#dc262640;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-glow:#2563eb40;--accent-dim:#2563eb1a;--warning:#d97706;--warning-bg:#d977061a;--info:#0284c7;--info-dim:#0284c71a;--purple:#7c3aed;--purple-dim:#7c3aed1a;--radius-sm:8px;--radius:12px;--radius-lg:16px;--radius-xl:20px;--shadow:0 1px 3px #0f17290f, 0 4px 16px #0f172914;--shadow-lg:0 8px 32px #0f17291f;--shadow-glow:0 0 24px #2563eb2e;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}body.theme-dark{--bg:#020408;--bg-secondary:#080c14;--surface:#0d121d;--surface-elevated:#141b29;--surface-hover:#1c2435;--surface-active:#242d42;--border:#1e2638;--border-light:#2d3850;--border-glow:#3b82f62e;--text:#5d6a85;--text-medium:#8b96ae;--text-h:#f0f3f9;--up:#00e59b;--up-dim:#00e59b1a;--up-glow:#00e59b66;--down:#ff4d5e;--down-dim:#ff4d5e1a;--down-glow:#ff4d5e66;--accent:#3b82f6;--accent-hover:#2563eb;--accent-glow:#3b82f659;--accent-dim:#3b82f61a;--warning:#ff9f0a;--warning-bg:#ff9f0a1a;--info:#00c2ff;--info-dim:#00c2ff1a;--purple:#8b5cf6;--purple-dim:#8b5cf61a;--shadow:0 4px 24px #00000073;--shadow-lg:0 12px 48px #0009;--shadow-glow:0 0 28px #3b82f624;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);background-image:radial-gradient(circle at 8% 12%,#2563eb0f 0%,#0000 45%),radial-gradient(circle at 92% 88%,#0596690a 0%,#0000 45%),radial-gradient(circle,#7c3aed08 0%,#0000 65%),linear-gradient(#fff9 0%,#0000 40%);font-size:13px;line-height:1.5}body:not(.theme-dark){background:radial-gradient(at 12% 14%, #2563eb24 0px, transparent 45%), radial-gradient(at 88% 12%, #0596691f 0px, transparent 45%), radial-gradient(at 74% 86%, #7c3aed24 0px, transparent 45%), radial-gradient(at 18% 78%, #0284c71f 0px, transparent 45%), radial-gradient(at 50% 50%, #3b82f614 0px, transparent 55%), linear-gradient(180deg, var(--bg) 0%, var(--bg-secondary) 100%);background-size:200% 200%;animation:20s ease-in-out infinite meshMove}@keyframes meshMove{0%{background-position:0 0}25%{background-position:100% 0}50%{background-position:100% 100%}75%{background-position:0 100%}to{background-position:0 0}}body.theme-dark{background:radial-gradient(at 10% 16%, #3b82f62e 0px, transparent 42%), radial-gradient(at 90% 14%, #00e59b1f 0px, transparent 42%), radial-gradient(at 78% 84%, #8b5cf629 0px, transparent 42%), radial-gradient(at 20% 80%, #00c2ff1f 0px, transparent 42%), radial-gradient(at 52% 48%, #3b82f61a 0px, transparent 55%), radial-gradient(at 35% 35%, #ff4d5e0f 0px, transparent 50%), linear-gradient(180deg, var(--bg) 0%, var(--bg-secondary) 100%);background-size:220% 220%;animation:18s ease-in-out infinite meshMove}body.theme-dark:before{content:"";pointer-events:none;z-index:0;background-image:linear-gradient(#3b82f608 1px,#0000 1px),linear-gradient(90deg,#3b82f608 1px,#0000 1px);background-size:48px 48px;animation:24s linear infinite gridDrift;position:fixed;inset:0;-webkit-mask-image:radial-gradient(circle,#000 0%,#0000 70%);mask-image:radial-gradient(circle,#000 0%,#0000 70%)}@keyframes gridDrift{0%{opacity:.6;transform:translateY(0)scale(1)}50%{opacity:1;transform:translateY(-12px)scale(1.02)}to{opacity:.6;transform:translateY(0)scale(1)}}#root{flex-direction:column;display:flex}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.risk-banner{color:#ffd6d9;text-align:center;background:linear-gradient(90deg,#ff4d5e2e,#ff9f0a24,#ff4d5e2e) 0 0/220% 100%;border-bottom:1px solid #ff4d5e40;flex-shrink:0;justify-content:center;align-items:center;gap:8px;padding:8px 20px;font-size:12px;font-weight:600;animation:5s linear infinite riskShine;display:flex}.risk-banner strong{color:#ff9aa0}@keyframes riskShine{0%{background-position:220% 0}to{background-position:-220% 0}}.app-header{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:#0d121df2;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:10px 18px;display:flex;position:relative}.brand{align-items:center;gap:12px;min-width:240px;display:flex}.brand-text{flex-direction:column;gap:1px;display:flex}.logo{letter-spacing:-.5px;background:linear-gradient(90deg, #fff 0%, #a8b0c4 50%, var(--accent) 100%);-webkit-text-fill-color:transparent;text-shadow:0 0 24px #3b82f638;-webkit-background-clip:text;font-size:18px;font-weight:900;line-height:1.2}.logo-icon{background:linear-gradient(135deg, var(--accent), var(--purple));color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;font-size:13px;font-weight:900;display:flex;position:relative;overflow:hidden;box-shadow:0 0 18px #3b82f666}.logo-icon:after{content:"";background:linear-gradient(135deg,#0000 40%,#ffffff2e 50%,#0000 60%);animation:3s infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.tag{color:var(--text-medium);opacity:.9;text-transform:uppercase;letter-spacing:.6px;font-size:10px;font-weight:700}.header-center{flex:1;justify-content:center;align-items:center;gap:16px;display:flex}.source-toggle{background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;gap:2px;padding:3px;display:flex}.source-toggle button{color:var(--text);cursor:pointer;font-size:11px;font-weight:800;font-family:var(--font-sans);background:0 0;border:none;border-radius:16px;padding:6px 14px;transition:all .15s}.source-toggle button:hover{color:var(--text-h)}.source-toggle button.active{background:var(--accent);color:#fff;box-shadow:0 0 12px var(--accent-glow)}.header-actions{justify-content:flex-end;align-items:center;gap:12px;min-width:240px;display:flex}.balance-panel{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);flex-direction:column;align-items:flex-end;gap:2px;padding:6px 12px;display:flex}.balance-label{color:var(--text);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:800}.balance-value{color:var(--text-h);font-size:13px;font-weight:800;font-family:var(--font-mono)}.status{color:var(--text-medium);background:var(--bg-secondary);border:1px solid var(--border);border-radius:20px;align-items:center;gap:8px;padding:6px 12px;font-size:11px;font-weight:600;display:flex}.dot{background:#6b7280;border-radius:50%;width:7px;height:7px;position:relative}.dot:after{content:"";opacity:.45;border-radius:50%;animation:2s infinite pulse;position:absolute;inset:-3px}.dot.online,.dot.online:after{background:var(--up)}.dot.offline,.dot.offline:after{background:var(--down)}.dot.mock,.dot.mock:after{background:var(--warning)}.icon-btn{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-medium);border-radius:var(--radius-sm);cursor:pointer;font-size:12px;font-weight:700;font-family:var(--font-sans);align-items:center;gap:6px;padding:8px 14px;transition:all .15s;display:inline-flex}.icon-btn:hover{background:var(--surface-hover);border-color:var(--border-light);color:var(--text-h);box-shadow:0 0 12px #3b82f61f}.icon-btn.active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 12px var(--accent-glow)}.api-key-btn{color:var(--text-h);background:linear-gradient(135deg,#3b82f626,#8b5cf626);border-color:#3b82f659}.api-key-btn:hover{background:linear-gradient(135deg,#3b82f640,#8b5cf640);border-color:#3b82f680}.settings-btn{color:var(--text-h);background:linear-gradient(135deg,#6b728026,#8b92a826);border-color:#6b728059}.settings-btn:hover{background:linear-gradient(135deg,#6b728040,#8b92a840);border-color:#6b728080}.key-icon{font-size:13px}.right-panel-toggle{color:var(--text-h);background:linear-gradient(135deg,#00e59b1f,#3b82f61f);border-color:#00e59b4d}.right-panel-toggle:hover,.right-panel-toggle.active{background:linear-gradient(135deg,#00e59b38,#3b82f638);border-color:#00e59b80;box-shadow:0 0 14px #00e59b2e}.welcome-banner{background:linear-gradient(90deg,#3b82f61a,#8b5cf614,#3b82f61a) 0 0/200% 100%;border-bottom:1px solid #3b82f62e;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:7px 18px;animation:6s linear infinite welcomeShine;display:flex}@keyframes welcomeShine{0%{background-position:200% 0}to{background-position:-200% 0}}.welcome-content{color:var(--text-medium);flex-wrap:wrap;align-items:center;gap:10px;font-size:11px;display:flex}.welcome-content strong{color:var(--text-h);font-weight:800}.settings-list{flex-direction:column;gap:10px;display:flex}.setting-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:14px;transition:all .15s;display:flex}.setting-row:hover{border-color:var(--border-light)}.setting-row>div{flex-direction:column;gap:4px;display:flex}.setting-title{color:var(--text-h);font-size:13px;font-weight:700}.setting-desc{color:var(--text);font-size:11px}.setting-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.theme-toggle{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;padding:3px;display:inline-flex}.theme-toggle button{color:var(--text);cursor:pointer;font-size:12px;font-weight:700;font-family:var(--font-sans);background:0 0;border:none;border-radius:6px;flex:1;padding:7px 14px;transition:all .15s}.theme-toggle button:hover{color:var(--text-h);background:var(--surface-hover)}.theme-toggle button.active{background:var(--accent);color:#fff;box-shadow:0 0 10px var(--accent-glow)}.heatmap-panel{flex-direction:column;height:100%;display:flex}.heatmap-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:6px;display:grid;overflow-y:auto}.heatmap-cell{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-secondary);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:10px 6px;transition:transform .1s,border-color .15s;display:flex}.heatmap-cell:hover{border-color:var(--border-light);transform:translateY(-2px)}.heatmap-symbol{color:var(--text-h);font-size:12px;font-weight:800;font-family:var(--font-mono)}.heatmap-change{font-size:11px;font-weight:800;font-family:var(--font-mono)}body.high-contrast{--text:#8a96b3;--text-medium:#b0bcd9;--text-h:#fff;--border:#3a4660}body.compact-mode .panel{padding:12px}body.compact-mode .metric{padding:7px}body.compact-mode .right-scroll{gap:10px;padding:10px}.layout{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;width:300px;min-width:300px;display:flex;overflow:hidden auto}body.theme-dark .sidebar{background:#080c14e6}.sidebar-right{background:var(--bg-secondary);border-left:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-direction:column;width:420px;min-width:420px;display:flex;overflow:hidden auto}body.theme-dark .sidebar-right{background:#080c14e6}.sidebar-scanner{border-top:1px solid var(--border);background:var(--bg-secondary);flex:none;max-height:260px;overflow-y:auto}.sidebar-scanner .panel{box-shadow:none;border:none;border-radius:0;padding:12px}.sidebar-scanner .scanner-grid{grid-template-columns:repeat(2,1fr);gap:8px}.sidebar-scanner .scanner-column{padding:8px}.main-content{flex-direction:column;flex:1;min-width:0;display:flex;overflow:hidden auto}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:16px;transition:box-shadow .2s,border-color .2s}.panel:hover{box-shadow:var(--shadow), 0 0 0 1px var(--border-glow);border-color:var(--border-light)}.panel-header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:14px;display:flex}.panel h3{color:var(--text-medium);text-transform:uppercase;letter-spacing:.8px;align-items:center;gap:8px;margin:0;font-size:11px;font-weight:800;display:flex}.panel h3 .accent{color:var(--accent)}.badge{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text);border-radius:12px;padding:3px 8px;font-size:10px;font-weight:700}.badge.okx{color:var(--accent);background:#3b82f624;border-color:#3b82f64d}.badge.mock{color:var(--warning);background:#ff9f0a24;border-color:#ff9f0a4d}.ticker-panel{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;padding:0;display:flex}.ticker-tabs{border-bottom:1px solid var(--border);background:var(--bg-secondary);gap:2px;padding:8px 10px 0;display:flex;overflow-x:auto}.ticker-tab{color:var(--text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:4px 4px 0 0;padding:6px 10px;font-size:11px;font-weight:700;transition:all .15s}.ticker-tab:hover,.ticker-tab.active{background:var(--surface-hover);color:var(--text-h)}.ticker-search{border-bottom:1px solid var(--border);padding:12px 14px}.ticker-search input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text-h);border-radius:var(--radius-sm);outline:none;padding:9px 12px;font-size:12px;transition:all .15s}.ticker-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.ticker-list{flex:1;overflow-y:auto}.ticker-row{border:none;border-bottom:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;font-size:12px;font-family:var(--font-mono);background:0 0;grid-template-columns:24px 1fr 1fr 1fr;align-items:center;gap:6px;padding:10px 12px;transition:all .12s;display:grid}.ticker-row:hover{background:var(--surface-hover)}.ticker-row.active{border-left:3px solid var(--accent);background:#3b82f61f;padding-left:9px}.ticker-row .ticker-star{color:var(--text);cursor:pointer;text-align:center;font-size:13px;transition:color .15s}.ticker-row .ticker-star:hover,.ticker-row.active .ticker-star{color:var(--warning)}.ticker-row .symbol{color:var(--text-h);font-weight:800;font-family:var(--font-sans)}.ticker-row .price{text-align:right;color:var(--text-medium);font-weight:600}.ticker-row .change{text-align:right;font-weight:800;font-family:var(--font-mono)}.instrument-bar{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d121dd9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:12px 18px;display:flex}.instrument-info{flex-direction:column;gap:6px;display:flex}.instrument-title{align-items:center;gap:10px;display:flex}.instrument-info h1{color:var(--text-h);letter-spacing:-.4px;margin:0;font-size:22px;font-weight:900}.favorite-star{color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-size:18px;line-height:1;transition:color .15s}.favorite-star:hover,.favorite-star.active{color:var(--warning)}.price-block{align-items:center;gap:10px;display:flex}.current-price{color:var(--text-h);font-size:32px;font-weight:900;font-family:var(--font-mono);letter-spacing:-1px;text-shadow:0 0 24px #f0f3f91f;background:linear-gradient(#fff 0%,#c8d0e0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.change-pill{font-size:13px;font-weight:800;font-family:var(--font-mono);border:1px solid #0000;border-radius:6px;padding:5px 10px}.change-pill.up{background:var(--up-dim);color:var(--up);box-shadow:0 0 12px var(--up-glow);border-color:#00e59b33}.change-pill.down{background:var(--down-dim);color:var(--down);box-shadow:0 0 12px var(--down-glow);border-color:#ff4d5e33}.bar-selector{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);gap:3px;padding:3px;display:flex}.bar-selector button{color:var(--text);cursor:pointer;font-size:11px;font-weight:700;font-family:var(--font-mono);background:0 0;border:none;border-radius:4px;padding:6px 11px;transition:all .15s}.bar-selector button:hover,.bar-selector button.active{background:var(--accent);color:#fff;box-shadow:0 0 10px var(--accent-glow)}.instrument-stats{border-left:1px solid var(--border);border-right:1px solid var(--border);align-items:center;gap:18px;height:calc(100% + 24px);margin:-12px 0;padding:0 16px;display:flex}.instrument-stat{flex-direction:column;gap:3px;min-width:70px;display:flex}.instrument-stat .label{color:var(--text);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.instrument-stat .value{color:var(--text-h);font-size:13px;font-weight:800;font-family:var(--font-mono)}.loading-bar{background:var(--border);border-radius:1px;height:2px;margin:0 18px;overflow:hidden}.loading-pulse{background:linear-gradient(90deg, transparent, var(--accent), transparent);width:40%;height:100%;animation:1.2s infinite loadingPulse}@keyframes loadingPulse{0%{transform:translate(-100%)}to{transform:translate(250%)}}.chart-section{flex-direction:column;flex:1.6 1 0;gap:0;min-height:0;padding:14px;display:flex;overflow:hidden}.chart-toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;color:var(--text-medium);border-bottom:none;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;font-weight:700;display:flex}.toolbar-label{font-family:var(--font-mono);color:var(--text-h)}.live-indicator{text-transform:uppercase;letter-spacing:.5px;align-items:center;gap:6px;font-size:10px;display:flex}.live-indicator .dot{width:6px;height:6px}.live-indicator.online{color:var(--up)}.live-indicator.offline{color:var(--down)}.chart-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius-lg) var(--radius-lg);min-height:260px;box-shadow:var(--shadow);flex:1;position:relative;overflow:hidden}.chart-wrapper:before{content:"";z-index:2;pointer-events:none;background:linear-gradient(90deg,#0000,#3b82f64d,#0000);height:1px;position:absolute;top:0;left:0;right:0}.chart-wrapper-inner{width:100%;height:100%;position:relative}.chart-legend{z-index:5;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);pointer-events:none;box-shadow:var(--shadow);flex-wrap:wrap;gap:12px;padding:6px 10px;display:flex;position:absolute;top:10px;left:12px}body.theme-dark .chart-legend{background:#080c14d9}.legend-item{font-size:11px;font-weight:700;font-family:var(--font-mono);color:var(--text-medium)}.legend-item.ma7{color:#f59e0b}.legend-item.ma25{color:#3b82f6}.legend-item.ma99{color:#a855f7}.legend-item.rsi{color:#00c2ff}.legend-item.macd{color:var(--text-medium)}.legend-item.hover{color:var(--text-h)}.chart-container{flex-direction:column;width:100%;height:100%;display:flex}.chart-pane{width:100%}.chart-pane.main-pane{height:58%}.chart-pane.sub-pane{border-top:1px solid var(--border);height:21%}.bottom-tabs{flex-direction:column;flex:.75 1 0;min-height:320px;padding:0 14px 14px;display:flex;overflow:hidden}.bottom-tabs .tabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;border-bottom:none;flex-shrink:0;margin-bottom:0;padding:8px 12px 0}.bottom-tabs .tab{border-radius:6px 6px 0 0;padding:8px 16px}.bottom-tabs .tab.active{background:var(--surface-hover);color:var(--text-h);box-shadow:inset 0 2px 0 var(--accent)}.bottom-panel{background:var(--surface);border:1px solid var(--border);border-radius:0 0 var(--radius) var(--radius);border-top:none;flex-direction:column;flex:1;min-height:0;padding:12px;display:flex;overflow:hidden}.bottom-panel>.panel{height:100%;box-shadow:none;background:0 0;border:none;flex-direction:column;margin:0;padding:0;display:flex;overflow:hidden}.bottom-panel .order-book,.bottom-panel .tape{flex:1;min-height:0;overflow-y:auto}.bottom-panel .order-book .spread{z-index:1;margin:4px 0;position:sticky;top:0}.right-tabs{border-bottom:1px solid var(--border);background:var(--bg-secondary);gap:2px;padding:12px 14px 0;display:flex}.right-tabs button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px 4px 0 0;flex:1;padding:8px 14px;font-size:11px;font-weight:700;transition:all .15s}.right-tabs button:hover,.right-tabs button.active{background:var(--surface-hover);color:var(--text-h)}.right-scroll{flex-direction:column;flex:1;gap:14px;padding:14px;display:flex;overflow-y:auto}.metric-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.metric-grid.two-col{grid-template-columns:repeat(2,1fr)}.metric-grid.four-col{grid-template-columns:repeat(4,1fr)}.metric{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;gap:4px;padding:10px;transition:all .12s;display:flex}.metric:hover{border-color:var(--border-light);background:var(--surface-hover)}.metric .label{color:var(--text);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:700}.metric .value{color:var(--text-h);font-size:14px;font-weight:800;font-family:var(--font-mono)}.value.up,.change.up,.change-pill.up,.buy{color:var(--up);background:var(--up-dim)}.value.down,.change.down,.change-pill.down,.sell{color:var(--down);background:var(--down-dim)}.value.ma7{color:#f59e0b}.value.ma25{color:#3b82f6}.value.ma99{color:#a855f7}.value.rsi.overbought{color:var(--down)}.value.rsi.oversold{color:var(--up)}.regime-badge{border-radius:var(--radius-sm);color:var(--text-h);border:1px solid #0000;align-items:center;gap:10px;margin-bottom:12px;padding:9px 14px;font-size:15px;font-weight:900;display:inline-flex}.regime-badge.up{background:var(--up-dim);color:var(--up);box-shadow:0 0 14px var(--up-glow);border-color:#00e59b40}.regime-badge.down{background:var(--down-dim);color:var(--down);box-shadow:0 0 14px var(--down-glow);border-color:#ff4d5e40}.regime-badge.neutral{color:var(--text-medium);border-color:var(--border);background:#8b92a81a}.regime-badge.volatile{background:var(--warning-bg);color:var(--warning);border-color:#ff9f0a40;box-shadow:0 0 14px #ff9f0a2e}.confidence{opacity:.85;border-left:1px solid;padding-left:10px;font-size:11px;font-weight:700}.summary{color:var(--text-medium);margin-bottom:12px;font-size:12px;line-height:1.7}.factors{color:var(--text);margin:0;padding-left:16px;font-size:12px;line-height:1.8}.suggestion{border-radius:20px;align-items:center;gap:6px;margin-bottom:12px;padding:5px 12px;font-size:12px;font-weight:800;display:inline-flex}.suggestion.bullish{background:var(--up-dim);color:var(--up);box-shadow:0 0 8px var(--up-glow)}.suggestion.bearish{background:var(--down-dim);color:var(--down);box-shadow:0 0 8px var(--down-glow)}.suggestion.neutral{color:var(--text-medium);background:#8b92a81a}.suggestion.uncertain{background:var(--warning-bg);color:var(--warning)}.key-levels{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.paper-controls{gap:8px;margin-bottom:12px;display:flex}.paper-controls input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-h);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-mono);outline:none;flex:1;padding:9px 12px;transition:all .15s}.paper-controls input:focus{border-color:var(--accent)}.btn{border-radius:var(--radius-sm);cursor:pointer;color:#fff;font-size:12px;font-weight:800;font-family:var(--font-sans);border:none;padding:9px 18px;transition:all .15s}.btn:hover{opacity:.92;transform:translateY(-1px)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn.buy{background:var(--up);box-shadow:0 4px 14px #00e59b40}.btn.sell{background:var(--down);box-shadow:0 4px 14px #ff4d5e40}.pnl{background:var(--bg-secondary);border-radius:var(--radius-sm);font-size:13px;font-weight:800;font-family:var(--font-mono);margin-bottom:12px;padding:9px 12px}.trade-list{flex-direction:column;gap:6px;max-height:150px;display:flex;overflow-y:auto}.trade-row{background:var(--bg-secondary);font-size:11px;font-family:var(--font-mono);border:1px solid var(--border);border-radius:4px;justify-content:space-between;padding:7px 9px;display:flex}.muted{color:var(--text);opacity:.75}.loading,.error,.info{border-radius:var(--radius-sm);padding:10px 14px;font-size:12px}.error{background:var(--down-dim);color:#ffb8b8;border:1px solid #ff4d5e33}.loading{background:var(--surface);color:var(--text);border:1px solid var(--border)}.info{background:var(--info-dim);color:var(--info);border:1px solid #00c2ff33}.order-book{font-family:var(--font-mono);flex-direction:column;gap:3px;font-size:12px;display:flex;overflow-y:auto}.order-row{border-radius:4px;grid-template-columns:1.1fr 1fr 1fr;align-items:center;height:auto;min-height:32px;padding:9px 10px;line-height:1;display:grid;position:relative;overflow:hidden}.order-row .bar{opacity:.18;z-index:0;position:absolute;top:0;bottom:0}.order-row.bid .bar{background:var(--up);right:0}.order-row.ask .bar{background:var(--down);left:0}.order-row span{z-index:1;text-overflow:ellipsis;white-space:nowrap;display:block;position:relative;overflow:hidden}.order-row.bid{color:var(--up)}.order-row.ask{color:var(--down)}.order-header{color:var(--text);text-transform:uppercase;border-bottom:1px solid var(--border);letter-spacing:.4px;grid-template-columns:1.1fr 1fr 1fr;margin-bottom:6px;padding:8px 10px;font-size:10px;font-weight:800;display:grid}.spread{text-align:center;color:var(--text-medium);border-top:1px solid var(--border);border-bottom:1px solid var(--border);font-size:11px;font-family:var(--font-mono);background:var(--bg-secondary);margin:4px 0;padding:7px;font-weight:700}.tape{font-family:var(--font-mono);flex-direction:column;gap:3px;font-size:12px;display:flex;overflow-y:auto}.tape-row{border-radius:4px;grid-template-columns:1.1fr 1fr 1fr;align-items:center;min-height:28px;padding:8px 10px;line-height:1.2;transition:background .3s;display:grid}.tape-row.buy{color:var(--up)}.tape-row.sell{color:var(--down)}.modal-overlay{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:600px;max-width:94vw;max-height:92vh;box-shadow:var(--shadow-lg);padding:26px;overflow-y:auto}.modal h2{color:var(--text-h);margin:0 0 16px;font-size:18px;font-weight:900}.modal .warning{background:var(--warning-bg);color:#ffe3b3;border-radius:var(--radius-sm);border:1px solid #ff9f0a40;margin-bottom:16px;padding:12px 14px;font-size:12px;line-height:1.6}.api-status{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-medium);margin-bottom:16px;padding:14px;font-size:12px}.api-status .okx{color:var(--accent);font-weight:800}.api-status .mock{color:var(--warning);font-weight:800}.api-status .balance{font-family:var(--font-mono);margin-top:8px}.api-status .balance .value{color:var(--text-h);font-weight:800}.api-message{color:var(--text-medium);margin-bottom:12px;font-size:12px;line-height:1.6}.form-group{margin-bottom:14px}.form-group label{color:var(--text-medium);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:11px;font-weight:800;display:block}.form-group input,.form-group select{background:var(--bg-secondary);border:1px solid var(--border);width:100%;color:var(--text-h);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-mono);outline:none;padding:11px 12px;transition:all .15s}.form-group input:focus,.form-group select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.modal-actions{justify-content:flex-end;gap:10px;margin-top:22px;display:flex}.btn-secondary{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-h)}.btn-primary{background:var(--accent);box-shadow:0 4px 14px var(--accent-glow)}.btn-danger{background:var(--down)}.alert-list{flex-direction:column;gap:8px;display:flex}.alert-form{gap:8px;margin-bottom:12px;display:flex}.alert-form input,.alert-form select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-h);border-radius:var(--radius-sm);font-size:12px;font-family:var(--font-mono);outline:none;padding:8px 10px}.alert-form input{flex:1}.alert-item{background:var(--bg-secondary);border-radius:var(--radius-sm);border-left:3px solid var(--accent);justify-content:space-between;align-items:center;padding:9px 11px;font-size:12px;display:flex}.alert-item.triggered{border-left-color:var(--warning);opacity:.7}.alert-item .delete{color:var(--text);cursor:pointer;background:0 0;border:none;font-size:18px;line-height:1;transition:color .15s}.alert-item .delete:hover{color:var(--down)}.backtest-controls{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.backtest-controls select,.backtest-controls input{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-h);border-radius:var(--radius-sm);outline:none;padding:8px 10px;font-size:12px;transition:all .15s}.backtest-controls select:focus,.backtest-controls input:focus{border-color:var(--accent)}.backtest-result{grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px;display:grid}.equity-curve{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);height:150px;position:relative;overflow:hidden}.equity-curve .area-path{opacity:.25}.depth-chart{flex:1;min-height:0;position:relative}.depth-svg{width:100%;height:100%;display:block}.overview-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.overview-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px}.overview-card .title{color:var(--text);text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px;font-size:10px;font-weight:800}.overview-card .row{font-size:11px;font-family:var(--font-mono);justify-content:space-between;padding:4px 0;display:flex}.overview-card .symbol{color:var(--text-h);font-weight:800}.portfolio-summary{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.position-list{flex-direction:column;gap:6px;max-height:160px;display:flex;overflow-y:auto}.position-row{background:var(--bg-secondary);font-size:11px;font-family:var(--font-mono);border:1px solid var(--border);border-radius:4px;justify-content:space-between;padding:7px 9px;display:flex}.tabs{border-bottom:1px solid var(--border);gap:4px;margin-bottom:12px;padding-bottom:8px;display:flex}.tab{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:6px 12px;font-size:12px;font-weight:700;transition:all .15s}.tab:hover,.tab.active{background:var(--surface-hover);color:var(--text-h)}.source-indicator{border-radius:12px;align-items:center;gap:6px;padding:4px 8px;font-size:11px;font-weight:700;display:inline-flex}.source-indicator.okx{color:var(--accent);background:#3b82f61f}.source-indicator.mock{color:var(--warning);background:#ff9f0a1f}.coin-info-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:10px;display:grid}.coin-info-item{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);flex-direction:column;gap:2px;padding:8px;display:flex}.coin-info-item .label{color:var(--text);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.coin-info-item .value{color:var(--text-h);font-size:13px;font-weight:800;font-family:var(--font-mono)}.sentiment-bar{background:linear-gradient(90deg, var(--down) 0%, var(--warning) 50%, var(--up) 100%);border-radius:4px;height:8px;margin:10px 0;position:relative}.sentiment-marker{border:2px solid var(--accent);background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:-4px;transform:translate(-50%);box-shadow:0 0 8px #3b82f680}.sentiment-labels{color:var(--text);justify-content:space-between;font-size:10px;font-weight:700;display:flex}.quick-trade-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:10px;display:grid}.quick-trade-input{background:var(--bg-secondary);border:1px solid var(--border);width:100%;color:var(--text-h);border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-mono);outline:none;padding:9px 11px}.quick-trade-input:focus{border-color:var(--accent)}.signals-panel{padding:14px}.signal-overall{text-transform:uppercase;letter-spacing:.5px;border-radius:12px;padding:4px 10px;font-size:11px;font-weight:800}.signal-overall.buy{background:var(--up-dim);color:var(--up)}.signal-overall.sell{background:var(--down-dim);color:var(--down)}.signal-overall.neutral{color:var(--text-medium);background:#8b92a81a}.signals-list{flex-direction:column;gap:10px;display:flex}.signal-row{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);border-left:3px solid var(--text);justify-content:space-between;align-items:center;gap:10px;padding:10px;display:flex}.signal-row.buy{border-left-color:var(--up)}.signal-row.sell{border-left-color:var(--down)}.signal-row.neutral{border-left-color:var(--text)}.signal-info{flex-direction:column;gap:2px;display:flex}.signal-label{color:var(--text);text-transform:uppercase;letter-spacing:.4px;font-size:10px;font-weight:700}.signal-value{color:var(--text-h);font-size:13px;font-weight:800;font-family:var(--font-mono)}.signal-strength{align-items:center;gap:8px;min-width:80px;display:flex}.signal-bar-bg{background:var(--border);border-radius:2px;flex:1;height:4px;overflow:hidden}.signal-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .3s}.signal-row.buy .signal-bar-fill{background:var(--up)}.signal-row.sell .signal-bar-fill{background:var(--down)}.signal-dir{color:var(--text);text-align:center;min-width:16px;font-size:10px;font-weight:800}.section-divider{background:linear-gradient(90deg, transparent, var(--border-light), transparent);height:1px;margin:10px 0}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.pulse{animation:2s infinite pulse}@keyframes flash-green{0%{background:#00e59b40}to{background:0 0}}@keyframes flash-red{0%{background:#ff4d5e40}to{background:0 0}}.flash-up{animation:.5s ease-out flash-green}.flash-down{animation:.5s ease-out flash-red}@keyframes slideIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.animate-in{animation:.3s ease-out slideIn}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-light)}.right-panel-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;background:#0204088c;animation:.2s fadeIn;position:fixed;inset:0}.right-panel-close{z-index:102;background:var(--surface-hover);border:1px solid var(--border);color:var(--text-medium);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:18px;line-height:1;transition:all .15s;display:flex;position:absolute;top:10px;right:14px}.right-panel-close:hover{background:var(--surface-active);color:var(--text-h);border-color:var(--border-light)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@media (width<=1500px){.sidebar-right{width:340px;min-width:340px}}@media (width<=1300px){.sidebar-right{z-index:100;border-left:1px solid var(--border);width:380px;min-width:380px;max-width:90vw;box-shadow:var(--shadow-lg);transition:transform .25s cubic-bezier(.16,1,.3,1);position:fixed;top:0;bottom:0;right:0;transform:translate(100%)}.sidebar-right.open{animation:.25s cubic-bezier(.16,1,.3,1) slideInRight;transform:translate(0)}.sidebar-right.closed{transform:translate(100%)}}@media (width<=900px){.sidebar{display:none}.app-header{flex-wrap:wrap;gap:10px}.header-center{order:3;justify-content:space-between;width:100%}.instrument-bar{flex-direction:column;align-items:flex-start}.instrument-stats{border-left:none;border-right:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;width:100%;height:auto;margin:0;padding:12px 0}.chart-wrapper{min-height:260px}}.sparkline{width:60px;height:24px}.scanner-grid{grid-template-columns:repeat(4,1fr);gap:10px;display:grid}.scanner-column{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:10px}.scanner-title{color:var(--text-medium);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:10px;font-weight:800}.scanner-row{font-size:12px;font-family:var(--font-mono);justify-content:space-between;padding:5px 0;display:flex}.scanner-row .symbol{color:var(--text-h);font-weight:700}.portfolio-total{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;display:flex}.portfolio-equity{color:var(--text-h);font-size:28px;font-weight:900;font-family:var(--font-mono);letter-spacing:-.8px}.portfolio-return{font-size:14px;font-weight:800;font-family:var(--font-mono)}.portfolio-panel .position-row .long{color:var(--up)}.portfolio-panel .position-row .short{color:var(--down)}.ai-gauge{margin-bottom:14px}.ai-gauge-track{background:linear-gradient(90deg, var(--down) 0%, var(--warning) 50%, var(--up) 100%);border-radius:5px;height:10px;position:relative;overflow:visible}.ai-gauge-fill{background:#ffffff40;border-radius:5px;height:100%;transition:width .5s}.ai-gauge-marker{border:3px solid var(--accent);background:#fff;border-radius:50%;width:18px;height:18px;transition:left .5s;position:absolute;top:-4px;transform:translate(-50%);box-shadow:0 0 10px #3b82f699}.ai-gauge-labels{height:18px;margin-top:6px;position:relative}.ai-gauge-labels span{color:var(--text);white-space:nowrap;font-size:9px;font-weight:700;position:absolute;transform:translate(-50%)}.ai-summary{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.ai-direction{border-radius:20px;padding:6px 12px;font-size:14px;font-weight:900}.ai-direction.bullish{background:var(--up-dim);color:var(--up);box-shadow:0 0 8px var(--up-glow)}.ai-direction.bearish{background:var(--down-dim);color:var(--down);box-shadow:0 0 8px var(--down-glow)}.ai-direction.neutral,.ai-direction.uncertain{color:var(--text-medium);background:#8b92a81a}.ai-confidence{color:var(--text-medium);font-size:12px;font-weight:700}.ai-levels{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;display:grid}.ai-factors{color:var(--text);margin:0;padding-left:16px;font-size:11px;line-height:1.7}.calc-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.calc-results{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.calc-panel .form-group{margin-bottom:0}.calc-panel .form-group label{font-size:9px}.calc-panel .form-group input{padding:8px 10px;font-size:12px}.volatile{color:var(--warning);font-weight:800}@media (width<=1600px){.sidebar{width:280px;min-width:280px}.sidebar-right{width:340px;min-width:340px}}@media (width<=1400px){.scanner-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=1100px){.sidebar{width:240px;min-width:240px}.sidebar-scanner{display:none}}@media (width<=900px){.sidebar{display:none}.app-header{flex-wrap:wrap;gap:10px}.header-center{order:3;justify-content:space-between;width:100%}.global-stats{display:none}.instrument-bar{flex-direction:column;align-items:flex-start}.instrument-stats{border-left:none;border-right:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;width:100%;height:auto;margin:0;padding:12px 0}.chart-wrapper{min-height:260px}.scanner-grid{grid-template-columns:repeat(2,1fr)}}.app-footer{border-top:1px solid var(--border);color:var(--text-medium);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#080c14f2;flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 18px;font-size:11px;display:flex}.footer-left,.footer-right{align-items:center;gap:10px;display:flex}.footer-sep{background:var(--border);width:1px;height:12px}.source-badge{border:1px solid #0000;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:800}.source-badge.okx{color:var(--accent);background:#3b82f61f;border-color:#3b82f640}.source-badge.mock{color:var(--warning);background:#ff9f0a1f;border-color:#ff9f0a40}.top-movers{border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d121dd9;flex-shrink:0;align-items:center;height:34px;display:flex;overflow:hidden}.movers-track{white-space:nowrap;align-items:center;gap:24px;padding:0 18px;animation:28s linear infinite marquee;display:inline-flex}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.mover-item{color:var(--text);cursor:pointer;font-size:12px;font-family:var(--font-mono);border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:4px 8px;transition:background .15s;display:inline-flex}.mover-item:hover{background:var(--surface-hover);color:var(--text-h)}.mover-item .symbol{color:var(--text-h);font-weight:800}.global-stats{border-right:1px solid var(--border);align-items:center;gap:18px;margin-right:10px;padding:0 14px;display:flex}.global-stat{flex-direction:column;gap:1px;min-width:70px;display:flex}.global-stat .label{color:var(--text);text-transform:uppercase;letter-spacing:.5px;font-size:9px;font-weight:800}.global-stat .value{color:var(--text-h);font-size:12px;font-weight:800;font-family:var(--font-mono)}.fallback-banner{background:var(--warning-bg);color:#ffe3b3;border-bottom:1px solid #ff9f0a33;flex-shrink:0;justify-content:center;align-items:center;gap:12px;padding:8px 18px;font-size:12px;font-weight:700;display:flex}.paper-tabs,.order-type-toggle,.side-toggle{background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);gap:4px;margin-bottom:12px;padding:4px;display:flex}.paper-tabs button,.order-type-toggle button,.side-toggle button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:7px 10px;font-size:12px;font-weight:800;transition:all .15s}.paper-tabs button.active,.order-type-toggle button.active,.side-toggle button.active{background:var(--surface-hover);color:var(--text-h);box-shadow:0 2px 8px #00000040}.side-toggle button.buy.active{background:var(--up);color:#002a1c}.side-toggle button.sell.active{background:var(--down);color:#2a0507}.paper-summary{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:12px;display:grid}.pct-buttons{gap:6px;margin-top:10px;display:flex}.btn-small{border-radius:4px;padding:5px 10px;font-size:10px}.order-row-paper{background:var(--bg-secondary);font-size:11px;font-family:var(--font-mono);border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;padding:7px 9px;display:flex}.order-list{max-height:180px;overflow-y:auto}.alert-options{color:var(--text-medium);margin-bottom:12px;font-size:12px}.alert-options input{margin-right:6px}.scanner-row{width:100%;color:inherit;cursor:pointer;text-align:left;font-family:var(--font-mono);background:0 0;border:none;border-radius:3px}.scanner-row:hover{background:var(--surface-hover)}.sidebar-scanner .scanner-row{padding:3px 4px;font-size:10px}.app{height:100vh;overflow:hidden}.layout{flex:1;min-height:0}.app-header,.risk-banner,.top-movers,.fallback-banner{flex-shrink:0}.modal-header{align-items:center;gap:14px;margin-bottom:18px;display:flex}.modal-icon{background:linear-gradient(135deg,#3b82f633,#8b5cf633);border:1px solid #3b82f659;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:46px;height:46px;font-size:22px;display:flex;box-shadow:0 0 18px #3b82f62e}.modal-subtitle{color:var(--text-medium);margin:4px 0 0;font-size:12px;font-weight:500}.api-env-toggle{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);gap:4px;margin-bottom:16px;padding:4px;display:flex}.api-env-toggle button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:800;transition:all .15s;display:flex}.api-env-toggle button.active{background:var(--surface-hover);color:var(--text-h);box-shadow:0 2px 8px #00000040}.env-dot{border-radius:50%;width:8px;height:8px}.env-dot.demo{background:var(--warning);box-shadow:0 0 8px var(--warning)}.env-dot.live{background:var(--up);box-shadow:0 0 8px var(--up)}.api-status-card{border-radius:var(--radius);background:linear-gradient(135deg,#3b82f614,#8b5cf60f);border:1px solid #3b82f638;margin-bottom:16px;padding:14px}.api-status-row{justify-content:space-between;align-items:center;margin-bottom:10px;font-size:12px;display:flex}.api-status-row:last-child{margin-bottom:0}.api-status-label{color:var(--text-medium);font-weight:700}.api-status-value{font-weight:800;font-family:var(--font-mono)}.api-status-value.okx{color:var(--accent)}.api-status-value.demo{color:var(--warning)}.api-status-value.equity{color:var(--text-h);font-size:14px}.api-status-actions{gap:10px;margin-top:12px;display:flex}.api-status-actions .btn{flex:1;justify-content:center}.api-form{flex-direction:column;gap:4px;margin-bottom:16px;display:flex}.api-instructions{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);margin-bottom:16px;padding:14px}.api-instructions h4{color:var(--text-h);margin:0 0 10px;font-size:12px}.api-instructions ol{color:var(--text-medium);margin:0;padding-left:18px;font-size:12px;line-height:1.8}.api-instructions li b{color:var(--text-h)}.api-security-note{color:var(--text);background:#ff4d5e0f;border-left:3px solid #ff4d5e66;border-radius:0 4px 4px 0;margin:12px 0 0;padding:10px;font-size:11px;line-height:1.6}.api-message{border-radius:var(--radius-sm);margin-bottom:16px;padding:12px 14px;font-size:12px;line-height:1.6}.api-message.success{background:var(--up-dim);color:var(--up);border:1px solid #00e59b33}.api-message.error{background:var(--down-dim);color:#ffb8b8;border:1px solid #ff4d5e33}.shortcuts-modal{width:520px}.shortcuts-grid{grid-template-columns:1fr;gap:8px;margin-bottom:18px;display:grid}.shortcut-row{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-medium);align-items:center;gap:14px;padding:10px 12px;font-size:12px;transition:all .12s;display:flex}.shortcut-row:hover{border-color:var(--border-light);background:var(--surface-hover)}.shortcut-row kbd{text-align:center;background:var(--surface);border:1px solid var(--border-light);min-width:60px;color:var(--text-h);font-family:var(--font-mono);border-radius:6px;padding:5px 10px;font-size:12px;font-weight:800;box-shadow:0 2px #0000004d}.dominance-panel{overflow:hidden}.dominance-bars{flex-direction:column;gap:12px;display:flex}.dominance-stack{background:var(--bg-secondary);border:1px solid var(--border);border-radius:9px;height:18px;display:flex;overflow:hidden;box-shadow:inset 0 1px 3px #00000059}.dominance-segment{height:100%;transition:width .6s cubic-bezier(.16,1,.3,1)}.dominance-segment.btc{background:linear-gradient(90deg,#f59e0b,#fbbf24);box-shadow:0 0 12px #f59e0b40}.dominance-segment.eth{background:linear-gradient(90deg,#6366f1,#818cf8);box-shadow:0 0 12px #6366f140}.dominance-segment.alt{background:linear-gradient(90deg,#06b6d4,#22d3ee);box-shadow:0 0 12px #06b6d433}.dominance-legend{color:var(--text-medium);flex-wrap:wrap;gap:14px;font-size:11px;display:flex}.dominance-legend .legend-item{align-items:center;gap:6px;font-weight:700;display:inline-flex}.dominance-legend .dot{border-radius:50%;width:8px;height:8px}.dominance-legend .dot.btc{background:#f59e0b}.dominance-legend .dot.eth{background:#6366f1}.dominance-legend .dot.alt{background:#06b6d4}.journal-panel{flex-direction:column;display:flex}.journal-textarea{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:90px;color:var(--text-h);font-family:var(--font-sans);resize:vertical;outline:none;padding:10px 12px;font-size:12px;line-height:1.6;transition:all .15s}.journal-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.panel{position:relative;overflow:hidden}.panel:before{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffffff14,#0000);height:1px;position:absolute;top:0;left:0;right:0}.metric .value{text-shadow:0 0 16px #f0f3f90f}.metric:hover .value{text-shadow:0 0 20px #f0f3f91a}.btn-primary{position:relative;overflow:hidden}.btn-primary:after{content:"";background:linear-gradient(135deg,#0000 40%,#ffffff26 50%,#0000 60%);transition:transform;position:absolute;inset:0;transform:translate(-100%)}.btn-primary:hover:after{transition:transform .5s;transform:translate(100%)}.ticker-row{position:relative;overflow:hidden}.ticker-row:after{content:"";background:var(--accent);width:3px;transition:transform .15s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.ticker-row:hover:after,.ticker-row.active:after{transform:scaleY(1)}.order-row{transition:background .15s}.order-row:hover{background:#ffffff0a}.right-scroll::-webkit-scrollbar{width:4px}.ticker-list::-webkit-scrollbar{width:4px}.position-list::-webkit-scrollbar{width:4px}.trade-list::-webkit-scrollbar{width:4px}.order-list::-webkit-scrollbar{width:4px}.right-scroll::-webkit-scrollbar-thumb{background:#8b92a840;border-radius:2px}.ticker-list::-webkit-scrollbar-thumb{background:#8b92a840;border-radius:2px}.position-list::-webkit-scrollbar-thumb{background:#8b92a840;border-radius:2px}.trade-list::-webkit-scrollbar-thumb{background:#8b92a840;border-radius:2px}.order-list::-webkit-scrollbar-thumb{background:#8b92a840;border-radius:2px}.status{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0d121dcc}.heatmap-cell{position:relative;overflow:hidden}.heatmap-cell:before{content:"";opacity:0;background:linear-gradient(135deg,#ffffff1a,#0000);transition:opacity .15s;position:absolute;inset:0}.heatmap-cell:hover:before{opacity:1}.equity-curve svg{filter:drop-shadow(0 0 4px #00e59b33)}.alert-item{transition:all .12s}.alert-item:hover{background:var(--surface-hover)}.signal-row{transition:all .12s}.signal-row:hover{background:var(--surface-hover);transform:translate(2px)}@keyframes skeleton{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton{background:linear-gradient(90deg, var(--bg-secondary) 25%, var(--surface-hover) 50%, var(--bg-secondary) 75%);border-radius:var(--radius-sm);background-size:200% 100%;animation:1.5s infinite skeleton}input:focus,select:focus,textarea:focus{box-shadow:0 0 0 2px var(--accent-glow)}@media (width<=1300px){.sidebar-right{background:#080c14fa}}@media (width<=700px){.app-header{padding:8px 12px}.brand{min-width:auto}.logo{font-size:15px}.tag{display:none}.header-actions{min-width:auto}.icon-btn span:last-child{display:none}.icon-btn{padding:8px}.current-price{font-size:24px}}.main-content{background-image:linear-gradient(#3b82f605 1px,#0000 1px),linear-gradient(90deg,#3b82f605 1px,#0000 1px);background-size:40px 40px}.right-panel-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#020408b3}.right-tabs button.active,.ticker-tab.active,.tab.active{position:relative}.right-tabs button.active:after,.ticker-tab.active:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 8px var(--accent-glow);border-radius:1px;position:absolute;bottom:0;left:20%;right:20%}.bottom-tabs .tab.active:after{content:"";background:var(--accent);height:2px;box-shadow:0 0 8px var(--accent-glow);position:absolute;bottom:0;left:0;right:0}.bottom-tabs .tab{position:relative}.value,.current-price,.portfolio-equity,.balance-value{transition:color .2s}.helper-text{color:var(--text);background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border);padding:8px 10px;font-size:11px;line-height:1.5}.chart-wrapper{box-shadow:var(--shadow), inset 0 0 40px #3b82f608}.app-footer{background:#080c14fa}.risk-banner:before{content:"⚠";font-size:14px}@keyframes price-flash-up{0%{color:var(--up);text-shadow:0 0 12px var(--up-glow)}to{color:inherit;text-shadow:none}}@keyframes price-flash-down{0%{color:var(--down);text-shadow:0 0 12px var(--down-glow)}to{color:inherit;text-shadow:none}}.price-flash-up{animation:.4s ease-out price-flash-up}.price-flash-down{animation:.4s ease-out price-flash-down}.ticker-tabs{border-bottom:1px solid var(--border);background:var(--bg-secondary);gap:2px;padding:8px 12px 0;display:flex}.ticker-tabs button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px 4px 0 0;flex:1;padding:7px 8px;font-size:11px;font-weight:800;transition:all .15s}.ticker-tabs button:hover,.ticker-tabs button.active{background:var(--surface-hover);color:var(--text-h)}.ticker-tabs button.active{box-shadow:inset 0 2px 0 var(--accent)}.sidebar-scanner{border-top:1px solid var(--border);background:var(--bg-secondary);flex:none;max-height:220px;padding:10px 12px;overflow-y:auto}.sidebar-scanner .top-movers{background:0 0;border:none;height:auto;overflow:visible}.sidebar-scanner .movers-track{white-space:normal;flex-direction:column;gap:6px;padding:0;animation:none}.sidebar-scanner .mover-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;width:100%;padding:6px 8px}.sidebar-scanner .mover-item:hover{background:var(--surface-hover);border-color:var(--border-light)}.top-movers.compact{background:0 0;border:none;height:auto;overflow:visible}.top-movers.compact .movers-title{color:var(--text-medium);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:10px;font-weight:800}.top-movers.compact .movers-track{white-space:normal;flex-direction:column;gap:6px;padding:0;animation:none}.top-movers.compact .mover-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;width:100%;padding:6px 8px}.top-movers.compact .mover-item:hover{background:var(--surface-hover);border-color:var(--border-light)}.app-header{background:#080c14eb;padding:8px 16px}.brand{gap:10px;min-width:auto}.logo-icon{border-radius:9px;width:34px;height:34px;font-size:12px}.logo{font-size:16px}.tag{font-size:9px}.icon-btn .btn-text{display:inline}.help-btn{color:var(--text-h);background:linear-gradient(135deg,#00c2ff1f,#3b82f61f);border-color:#00c2ff4d}.help-btn:hover{background:linear-gradient(135deg,#00c2ff38,#3b82f638);border-color:#00c2ff80}.instrument-bar{border-bottom:1px solid var(--border);background:linear-gradient(#0d121df2,#0d121dd9);gap:12px;padding:10px 16px}.instrument-info h1{font-size:20px}.current-price{font-size:30px}.instrument-stats{gap:14px;padding:0 14px}.instrument-stat{min-width:64px}.chart-section{flex:2 1 0;padding:12px 14px 0}.bottom-tabs{flex:.65 1 0;min-height:320px;padding:0 14px 12px}.bottom-tabs .tab{padding:7px 14px;font-size:11px}.right-scroll{gap:12px;padding:12px}.panel{padding:14px}.panel h3{font-size:10px}.update-time{text-align:center;padding:10px}.welcome-banner,.fallback-banner{padding:6px 16px;font-size:11px}.fallback-banner{gap:10px}.app-footer{padding:5px 16px;font-size:10px}.source-badge{padding:2px 7px;font-size:9px}@media (width<=1500px){.icon-btn .btn-text{display:none}.icon-btn{padding:8px}}@media (width<=1300px){.sidebar-right{background:#080c14fa;width:380px;min-width:380px}}@media (width<=1100px){.header-center .global-stats{display:none}}@media (width<=900px){.app-header{padding:8px 12px}.brand{min-width:auto}.logo{font-size:15px}.tag{display:none}.header-actions{gap:8px;min-width:auto}.balance-panel{display:none}.instrument-bar{flex-direction:column;align-items:flex-start;gap:10px}.instrument-stats{border-left:none;border-right:none;border-top:1px solid var(--border);border-bottom:1px solid var(--border);justify-content:space-between;width:100%;height:auto;margin:0;padding:10px 0}.chart-wrapper{min-height:260px}}@media (width<=700px){.current-price{font-size:24px}.instrument-stat .value{font-size:12px}}body.theme-dark{background:radial-gradient(circle at 0 0,#3b82f61f 0%,#0000 35%),radial-gradient(circle at 100% 0,#00e59b14 0%,#0000 30%),radial-gradient(circle at 50% 100%,#8b5cf61a 0%,#0000 45%),linear-gradient(#020408 0%,#050914 50%,#020408 100%)}.panel{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:linear-gradient(145deg,#0d121df2,#080c14eb);border:1px solid #3b82f61f;box-shadow:0 8px 32px #00000073,inset 0 1px #ffffff0d}.panel:before{background:linear-gradient(90deg,#0000,#3b82f626,#0000)}.panel:hover{border-color:#3b82f640;box-shadow:0 8px 32px #00000073,0 0 24px #3b82f614,inset 0 1px #ffffff0f}.sidebar,.sidebar-right{background:linear-gradient(#080c14f5,#050910fa);border-color:#3b82f61a}.chart-toolbar-right{z-index:6;flex-wrap:wrap;justify-content:flex-end;gap:8px;max-width:calc(100% - 160px);display:flex;position:absolute;top:10px;right:12px}.chart-tool-group{border:1px solid var(--border);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#080c14e6;gap:2px;padding:3px;display:flex}.chart-tool-btn{color:var(--text-medium);cursor:pointer;font-size:10px;font-weight:800;font-family:var(--font-sans);white-space:nowrap;background:0 0;border:none;border-radius:4px;padding:5px 9px;transition:all .12s}.chart-tool-btn:hover{background:var(--surface-hover);color:var(--text-h)}.chart-tool-btn.active{background:var(--accent);color:#fff;box-shadow:0 0 10px var(--accent-glow)}.drawing-group .chart-tool-btn.active{color:#1a1200;background:linear-gradient(135deg,#f59e0b,#fbbf24)}.drawing-hint{z-index:6;color:#fbbf24;border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#f59e0b26;border:1px solid #f59e0b59;padding:5px 10px;font-size:10px;font-weight:800;animation:.2s fadeIn;position:absolute;top:46px;right:12px}.chart-container.drawing-mode{cursor:crosshair}.chart-wrapper-inner.fullscreen{z-index:200;background:var(--bg);padding:12px;position:fixed;inset:0}.ai-deep-panel{position:relative}.ai-panel-title{align-items:center;gap:10px;display:flex}.ai-icon{background:linear-gradient(135deg,#3b82f633,#8b5cf633);border:1px solid #3b82f659;border-radius:10px;justify-content:center;align-items:center;width:36px;height:36px;font-size:18px;display:flex;box-shadow:0 0 16px #3b82f62e}.ai-subtitle{color:var(--text);margin-top:2px;font-size:10px;font-weight:600;display:block}.ai-key-hint{border-radius:var(--radius-sm);color:var(--text-medium);background:linear-gradient(90deg,#3b82f61a,#8b5cf614);border:1px dashed #3b82f64d;align-items:center;gap:10px;margin-bottom:14px;padding:12px;font-size:11px;font-weight:600;display:flex}.ai-key-hint-icon{font-size:16px}.ai-config{margin-bottom:14px}.ai-config-tabs{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);gap:2px;margin-bottom:14px;padding:3px;display:flex}.ai-config-tabs button{color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:4px;flex:1;padding:7px 12px;font-size:11px;font-weight:800;transition:all .12s}.ai-config-tabs button:hover,.ai-config-tabs button.active{background:var(--surface-hover);color:var(--text-h)}.ai-config-tabs button.active{box-shadow:0 2px 8px #00000040}.provider-grid{grid-template-columns:repeat(2,1fr);gap:8px;display:grid}.provider-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;padding:10px 8px;transition:all .15s;display:flex}.provider-card:hover{border-color:var(--border-light);background:var(--surface-hover)}.provider-card.active{background:linear-gradient(135deg,#3b82f633,#8b5cf626);border-color:#3b82f680;box-shadow:0 0 14px #3b82f633}.provider-name{color:var(--text-h);font-size:11px;font-weight:800}.field-hint{color:var(--text);margin-top:6px;font-size:10px;line-height:1.5;display:block}.model-input{margin-top:8px}.form-row.two-col{grid-template-columns:1fr 1fr;gap:12px;display:grid}.range-value{text-align:center;color:var(--text-h);font-size:12px;font-weight:800;font-family:var(--font-mono);margin-top:6px;display:block}.toggle-label{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-medium);cursor:pointer;align-items:center;gap:8px;padding:10px 12px;font-size:12px;font-weight:700;transition:all .12s;display:flex}.toggle-label:hover{border-color:var(--border-light)}.toggle-label input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.ai-run-btn{justify-content:center;align-items:center;gap:8px;width:100%;padding:11px;font-size:13px;display:flex}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.ai-report{border:1px solid var(--border);border-radius:var(--radius-sm);background:#080c14cc;max-height:420px;margin-top:14px;padding:14px;font-size:12px;line-height:1.7;overflow-y:auto}.ai-report.fallback{background:#ff9f0a0d;border-color:#ff9f0a4d}.ai-report-meta{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.ai-report-h3{color:var(--text-h);border-bottom:1px solid var(--border);margin:16px 0 8px;padding-bottom:6px;font-size:14px;font-weight:900}.ai-report-h4{color:var(--accent);text-transform:uppercase;letter-spacing:.5px;margin:12px 0 6px;font-size:12px;font-weight:800}.ai-report-h5{color:var(--text-medium);margin:10px 0 4px;font-size:11px;font-weight:800}.ai-report-p{color:var(--text-medium);margin:6px 0}.ai-report-li{color:var(--text-medium);margin:4px 0 4px 16px;list-style-type:disc}.ai-report-br{height:6px}.metric{background:linear-gradient(145deg, var(--bg-secondary), #0d121dcc);border:1px solid #3b82f614}.metric:hover{background:linear-gradient(145deg, var(--surface-hover), #0d121de6);border-color:#3b82f633;transform:translateY(-1px)}.btn{position:relative;overflow:hidden}.btn:after{content:"";background:linear-gradient(135deg,#0000 40%,#ffffff1f 50%,#0000 60%);transition:transform;position:absolute;inset:0;transform:translate(-100%)}.btn:hover:after{transition:transform .5s;transform:translate(100%)}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb)}.btn-secondary{background:linear-gradient(145deg,#1e2638cc,#141b29cc)}.order-row{border-radius:4px}.order-row.bid{background:linear-gradient(90deg,#00e59b0f,#0000)}.order-row.ask{background:linear-gradient(90deg,#0000,#ff4d5e0f)}.tape-row{border-radius:4px}.tape-row.buy{background:linear-gradient(90deg,#00e59b14,#0000)}.tape-row.sell{background:linear-gradient(90deg,#0000,#ff4d5e14)}.ticker-row{transition:all .12s}.ticker-row:hover{background:#3b82f614;transform:translate(2px)}.ticker-row.active{border-left-color:var(--accent);background:linear-gradient(90deg,#3b82f626,#3b82f60d)}.bottom-tabs .tabs{background:linear-gradient(#0d121df2,#080c14f2)}.bottom-tabs .tab{letter-spacing:.3px;font-weight:800;position:relative}.bottom-tabs .tab.active{color:var(--text-h);background:linear-gradient(#3b82f626,#3b82f60d)}.right-tabs{background:linear-gradient(#0d121df2,#080c14f2)}.right-tabs button{letter-spacing:.3px;font-weight:800}.right-tabs button.active{color:var(--text-h);background:linear-gradient(#3b82f626,#3b82f60d)}.source-toggle{background:#080c14cc;border-color:#3b82f633}.source-toggle button.active{background:linear-gradient(135deg,#3b82f6,#2563eb)}.instrument-bar{background:linear-gradient(#0d121dfa,#080c14eb);border-bottom-color:#3b82f626}.current-price{text-shadow:0 0 30px #f0f3f926}.bar-selector{background:#080c14cc}.bar-selector button.active{background:linear-gradient(135deg,#3b82f6,#2563eb)}.loading-pulse{background:linear-gradient(90deg,#0000,#3b82f6,#8b5cf6,#0000)}.welcome-banner{background:linear-gradient(90deg,#3b82f61f,#8b5cf614,#3b82f61f);border-bottom-color:#3b82f640}.fallback-banner{background:linear-gradient(90deg,#ff9f0a1f,#ff9f0a0f,#ff9f0a1f)}.fallback-dot{background:var(--warning);width:8px;height:8px;box-shadow:0 0 10px var(--warning);border-radius:50%;animation:1.5s infinite pulse}.risk-banner{background:linear-gradient(90deg,#ff4d5e33,#ff9f0a26,#ff4d5e33)}.app-footer{background:linear-gradient(#080c14fa,#050910fa);border-top-color:#3b82f61f}.status{background:#080c14e6}.equity-curve{box-shadow:inset 0 0 20px #00000040}.alert-item{background:linear-gradient(90deg, #3b82f614, var(--bg-secondary))}.alert-item.triggered{background:linear-gradient(90deg, #ff9f0a1a, var(--bg-secondary))}.calc-panel .form-group input{background:linear-gradient(145deg, var(--bg-secondary), #0d121dcc)}.position-row{background:linear-gradient(90deg, #0d121dcc, var(--bg-secondary))}.scanner-column,.heatmap-cell{background:linear-gradient(145deg, var(--bg-secondary), #0d121dcc)}.modal{background:linear-gradient(145deg,#0d121dfa,#080c14f5);border:1px solid #3b82f633;box-shadow:0 24px 80px #000000b3,0 0 40px #3b82f61a}.global-stats{border-right-color:#3b82f626}.top-movers{background:linear-gradient(90deg,#0d121df2,#080c14f2)}.mover-item{border:1px solid var(--border);background:#0d121d99}.mover-item:hover{background:var(--surface-hover);border-color:var(--border-light)}body.theme-dark::-webkit-scrollbar{width:6px;height:6px}body.theme-dark::-webkit-scrollbar-thumb{background:#3b82f640;border-radius:3px}body.theme-dark::-webkit-scrollbar-thumb:hover{background:#3b82f666}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@keyframes glow{0%,to{box-shadow:0 0 20px #3b82f626}50%{box-shadow:0 0 30px #3b82f640}}input[type=range]{-webkit-appearance:none;background:var(--border);border-radius:2px;outline:none;width:100%;height:4px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent);cursor:pointer;width:16px;height:16px;box-shadow:0 0 10px var(--accent-glow);border-radius:50%}input[type=range]::-moz-range-thumb{background:var(--accent);cursor:pointer;width:16px;height:16px;box-shadow:0 0 10px var(--accent-glow);border:none;border-radius:50%}select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%235d6a85' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;padding-right:32px}@media (width<=1300px){.chart-toolbar-right{justify-content:flex-start;max-width:none;margin:8px 12px 0;position:relative;top:auto;right:auto}}@media (width<=900px){.chart-toolbar-right,.chart-tool-group{flex-wrap:wrap}}body:not(.theme-dark) .app-header,body:not(.theme-dark) .instrument-bar,body:not(.theme-dark) .top-movers,body:not(.theme-dark) .app-footer,body:not(.theme-dark) .status,body:not(.theme-dark) .chart-legend,body:not(.theme-dark) .chart-tool-group,body:not(.theme-dark) .bottom-tabs .tabs,body:not(.theme-dark) .mover-item{background:var(--surface)}body:not(.theme-dark) .sidebar,body:not(.theme-dark) .sidebar-right,body:not(.theme-dark) .right-tabs,body:not(.theme-dark) .source-toggle,body:not(.theme-dark) .bar-selector{background:var(--bg-secondary)}body:not(.theme-dark) .panel{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow)}body:not(.theme-dark) .panel:before{background:linear-gradient(90deg,#0000,#3b82f61f,#0000)}body:not(.theme-dark) .panel:hover{border-color:var(--border-light);box-shadow:var(--shadow), 0 0 0 1px var(--border-glow)}body:not(.theme-dark) .modal{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-lg)}body:not(.theme-dark) .modal-overlay{background:#0f172973}body:not(.theme-dark) .right-panel-overlay{background:#0f172959}body:not(.theme-dark) .metric,body:not(.theme-dark) .calc-panel .form-group input,body:not(.theme-dark) .position-row,body:not(.theme-dark) .scanner-column,body:not(.theme-dark) .heatmap-cell,body:not(.theme-dark) .ai-report,body:not(.theme-dark) .alert-item{background:var(--bg-secondary)}body:not(.theme-dark) .metric:hover,body:not(.theme-dark) .calc-panel .form-group input:focus{background:var(--surface-hover)}body:not(.theme-dark) .btn-secondary{background:var(--bg-secondary);color:var(--text-h)}body:not(.theme-dark) .btn-primary{background:var(--accent)}body:not(.theme-dark) .current-price{background:linear-gradient(180deg, var(--text-h) 0%, var(--text-medium) 100%);-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text}body:not(.theme-dark) .logo{background:linear-gradient(90deg, var(--text-h) 0%, var(--text-medium) 50%, var(--accent) 100%);-webkit-text-fill-color:transparent;text-shadow:none;-webkit-background-clip:text}body:not(.theme-dark) .ticker-row{border-bottom-color:var(--border)}body:not(.theme-dark) .ticker-row:hover,body:not(.theme-dark) .order-row:hover{background:var(--surface-hover)}body:not(.theme-dark) .ticker-row.active{background:var(--accent-dim)}body:not(.theme-dark) .chart-pane.sub-pane{border-top-color:var(--border)}body:not(.theme-dark) .shortcut-row kbd{box-shadow:0 2px #0f17291a}body:not(.theme-dark) .dominance-stack{box-shadow:inset 0 1px 3px #0f17291f}body:not(.theme-dark) .metric .value,body:not(.theme-dark) .current-price{text-shadow:none}body:not(.theme-dark) .welcome-banner{background:linear-gradient(90deg, var(--accent-dim), #7c3aed14, var(--accent-dim));border-bottom-color:var(--border-glow)}body:not(.theme-dark) .risk-banner{background:linear-gradient(90deg, var(--down-dim), #d977061a, var(--down-dim));color:var(--down);border-bottom-color:#dc262633}body:not(.theme-dark) .risk-banner strong{color:var(--down)}body:not(.theme-dark) .fallback-banner{background:var(--warning-bg);color:var(--warning);border-bottom-color:#d9770633}body:not(.theme-dark) .api-status-card{background:linear-gradient(135deg, var(--accent-dim), #7c3aed14);border-color:var(--border-glow)}body:not(.theme-dark) .modal .warning{color:var(--warning)}body:not(.theme-dark) .error,body:not(.theme-dark) .api-message.error{color:var(--down)}body:not(.theme-dark) .api-message.success{color:var(--up)}body:not(.theme-dark) .api-env-toggle button.active,body:not(.theme-dark) .paper-tabs button.active,body:not(.theme-dark) .order-type-toggle button.active,body:not(.theme-dark) .side-toggle button.active,body:not(.theme-dark) .ai-config-tabs button.active{background:var(--surface-active);box-shadow:0 2px 8px #0f172914}body:not(.theme-dark) .source-toggle button.active,body:not(.theme-dark) .bar-selector button.active{background:var(--accent)}body:not(.theme-dark) .bottom-tabs .tab.active,body:not(.theme-dark) .right-tabs button.active,body:not(.theme-dark) .ticker-tab.active{background:var(--surface-hover)}body:not(.theme-dark)::-webkit-scrollbar{width:6px;height:6px}body:not(.theme-dark)::-webkit-scrollbar-thumb{background:#0f172938;border-radius:3px}body:not(.theme-dark)::-webkit-scrollbar-thumb:hover{background:#0f172959}body:not(.theme-dark) .right-scroll::-webkit-scrollbar-thumb{background:#0f172938}body:not(.theme-dark) .ticker-list::-webkit-scrollbar-thumb{background:#0f172938}body:not(.theme-dark) .position-list::-webkit-scrollbar-thumb{background:#0f172938}body:not(.theme-dark) .trade-list::-webkit-scrollbar-thumb{background:#0f172938}body:not(.theme-dark) .order-list::-webkit-scrollbar-thumb{background:#0f172938}body:not(.theme-dark) .right-scroll::-webkit-scrollbar-thumb:hover{background:#0f172959}body:not(.theme-dark) .ticker-list::-webkit-scrollbar-thumb:hover{background:#0f172959}body:not(.theme-dark) .position-list::-webkit-scrollbar-thumb:hover{background:#0f172959}body:not(.theme-dark) .trade-list::-webkit-scrollbar-thumb:hover{background:#0f172959}body:not(.theme-dark) .order-list::-webkit-scrollbar-thumb:hover{background:#0f172959}
