:root{--bg-primary:#131722;--bg-secondary:#1e222d;--bg-tertiary:#2a2e39;--bg-hover:#363a45;--text-primary:#d1d4dc;--text-secondary:#787b86;--text-muted:#5d606b;--accent:#2962ff;--accent-hover:#1e53e5;--green:#26a69a;--red:#ef5350;--border:#2a2e39;--font-mono:"SF Mono", "Fira Code", "Consolas", monospace;--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;font-size:13px}button{cursor:pointer;color:inherit;font-family:inherit;font-size:inherit;background:0 0;border:none}input,textarea{font-family:inherit;font-size:inherit;color:inherit;background:0 0;border:none;outline:none}.terminal{flex-direction:column;height:100vh;display:flex}.attribution-bar a{color:var(--text-secondary);text-decoration:none}.attribution-bar a:hover{color:var(--accent);text-decoration:underline}.attribution-bar-sep{color:var(--border)}.attribution-bar .legal-inline-link{color:var(--text-secondary);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:none}.attribution-bar .legal-inline-link:hover{color:var(--accent);text-decoration:underline}.pine-legal-note{color:var(--text-muted);background:var(--bg-tertiary);border:1px solid var(--border);border-radius:4px;margin:0 12px 10px;padding:8px 10px;font-size:11px;line-height:1.45}.pine-legal-note .legal-inline-link,.risk-disclaimer .legal-inline-link,.auth-legal-accept .legal-inline-link{color:var(--accent);font-size:inherit;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.risk-disclaimer{color:var(--text-secondary);background:#ef535014;border:1px solid #ef535040;border-radius:4px;margin:8px 12px;padding:8px 10px;font-size:11px;line-height:1.45}.risk-disclaimer p{margin:0 0 4px}.risk-disclaimer p:last-child{margin-bottom:0}.risk-disclaimer-en{color:var(--text-muted)}.risk-disclaimer-links{margin-top:4px!important}.signal-dash-risk{margin:6px 0 0;padding:6px 8px;font-size:10px}.pine-risk-banner{margin:0 12px 8px}.backtest-risk-banner{margin:0 16px 10px}.backtest-risk-inline{margin:0 0 10px;padding:6px 8px}.legal-modal{flex-direction:column;width:min(720px,94vw);max-height:min(86vh,900px);display:flex}.legal-toolbar{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 16px;display:flex}.legal-doc-tabs,.legal-lang-toggle{flex-wrap:wrap;gap:4px;display:flex}.legal-doc-tabs button,.legal-lang-toggle button{color:var(--text-secondary);background:var(--bg-tertiary);border-radius:4px;padding:4px 10px;font-size:12px}.legal-doc-tabs button.active,.legal-lang-toggle button.active{color:var(--text-primary);background:var(--accent)}.legal-body{flex:1;padding:12px 16px 20px;overflow-y:auto}.legal-updated{color:var(--text-muted);margin-bottom:12px;font-size:11px}.legal-section{margin-bottom:14px}.legal-section h3{color:var(--text-primary);margin-bottom:6px;font-size:13px;font-weight:600}.legal-section p{color:var(--text-secondary);margin-bottom:6px;font-size:12px;line-height:1.55}.legal-footer-note{border-top:1px solid var(--border);color:var(--text-muted);margin-top:16px;padding-top:12px;font-size:11px;line-height:1.45}.top-bar{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;height:42px;padding:0 12px;display:flex}.lang-switcher{border:1px solid var(--border);border-radius:4px;flex-shrink:0;align-items:center;display:inline-flex;overflow:hidden}.lang-switcher-btn{color:var(--text-muted);background:0 0;padding:3px 8px;font-size:11px;line-height:1.2}.lang-switcher-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.lang-switcher-btn.active{color:var(--text-primary);background:var(--bg-tertiary)}.top-bar-left{align-items:center;gap:16px;display:flex}.logo{align-items:center;gap:8px;display:flex}.logo-icon{background:var(--accent);color:#fff;border-radius:4px;padding:4px 6px;font-size:12px;font-weight:700}.logo-text{font-size:14px;font-weight:600}.quote-display{align-items:center;gap:12px;display:flex}.quote-symbol{font-size:15px;font-weight:700}.quote-name{color:var(--text-secondary);font-size:12px}.quote-price{font-variant-numeric:tabular-nums;font-size:18px;font-weight:600}.quote-change{font-variant-numeric:tabular-nums;font-size:13px}.quote-details{color:var(--text-secondary);font-variant-numeric:tabular-nums;gap:10px;font-size:12px;display:flex}.up{color:var(--green)}.down{color:var(--red)}.exchange-badge{background:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;padding:3px 8px;font-size:11px}.symbol-search{position:relative}.symbol-search-input-wrap{background:var(--bg-tertiary);border-radius:4px;align-items:center;gap:6px;min-width:160px;padding:4px 8px;display:flex}.search-icon{color:var(--text-secondary)}.symbol-search-input{width:120px}.clear-btn{color:var(--text-secondary);display:flex}.search-dropdown{background:var(--bg-secondary);border:1px solid var(--border);z-index:100;border-radius:4px;max-height:300px;margin-top:4px;position:absolute;top:100%;left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #0006}.search-result-item{text-align:left;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex}.search-result-item:hover{background:var(--bg-hover)}.result-symbol{min-width:60px;font-weight:600}.result-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.result-exchange{color:var(--text-muted);font-size:11px}.result-exchange.crypto-tag{color:#f0b90b}.toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);z-index:50;flex-shrink:0;align-items:center;gap:8px;height:36px;padding:0 12px;display:flex;position:relative;overflow:visible}.toolbar-interval-scroll{flex-shrink:1;align-items:center;gap:4px;max-width:min(60vw,720px);display:flex;overflow-x:auto}.toolbar-section{color:var(--text-secondary);align-items:center;gap:4px;display:flex}.toolbar-label{margin-right:4px;font-size:12px}.toolbar-divider{background:var(--border);flex-shrink:0;width:1px;height:20px}.interval-buttons{gap:2px;display:flex}.interval-btn{color:var(--text-secondary);border-radius:4px;padding:3px 8px;font-size:12px;transition:all .15s}.interval-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.interval-btn.active{background:var(--accent);color:#fff}.custom-interval-picker{display:inline-flex;position:relative}.custom-interval-btn{align-items:center;gap:2px;display:inline-flex}.custom-interval-popover{z-index:200;background:var(--bg-secondary);border:1px solid var(--border);box-sizing:border-box;border-radius:6px;width:280px;min-width:260px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #00000059}.custom-interval-popover--portal{z-index:10050;position:fixed;top:0;left:0}.custom-interval-title{color:var(--text-muted);margin-bottom:8px;font-size:11px}.custom-interval-text-input{box-sizing:border-box;width:100%;font-size:13px;font-family:var(--font-mono);background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);appearance:none;border-radius:4px;padding:6px 10px}.custom-interval-text-input:focus{border-color:var(--accent);outline:none}.custom-interval-hint{color:var(--text-muted);margin-top:6px;font-size:10px;line-height:1.4}.custom-interval-quick-label{color:var(--text-muted);margin-top:10px;margin-bottom:6px;font-size:10px}.custom-interval-quick{flex-wrap:wrap;gap:4px;display:flex}.custom-interval-chip{font-size:11px;font-family:var(--font-mono);color:var(--text-secondary);background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;padding:2px 8px;transition:all .12s}.custom-interval-chip:hover{border-color:var(--accent);color:var(--text-primary)}.custom-interval-chip.active{background:var(--accent);border-color:var(--accent);color:#fff}.custom-interval-row{gap:6px;display:flex}.custom-interval-input,.custom-interval-select{background:var(--bg-primary);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;flex:1;padding:4px 8px;font-size:12px}.custom-interval-input{max-width:72px}.custom-interval-preview{color:var(--text-secondary);margin-top:8px;font-size:11px}.custom-interval-canonical{color:var(--text-muted);font-family:var(--font-mono)}.custom-interval-error{color:#ff6b6b;margin-top:6px;font-size:11px}.custom-interval-apply{background:var(--accent);color:#fff;border-radius:4px;width:100%;margin-top:8px;padding:5px 10px;font-size:12px}.custom-interval-apply:hover{opacity:.9}.indicator-btn{color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:3px 8px;font-size:11px;transition:all .15s}.indicator-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.indicator-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.indicator-menu-wrap{position:relative}.indicator-menu-trigger{color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;transition:all .15s;display:inline-flex}.indicator-menu-trigger:hover,.indicator-menu-trigger.open{background:var(--bg-hover);color:var(--text-primary);border-color:var(--text-muted)}.indicator-menu-trigger.has-active{border-color:var(--accent);color:var(--text-primary)}.indicator-menu-badge{background:var(--accent);color:#fff;text-align:center;border-radius:8px;min-width:16px;height:16px;padding:0 4px;font-size:10px;line-height:16px}.indicator-menu-chevron{opacity:.7;transition:transform .15s}.indicator-menu-chevron.rotated{transform:rotate(180deg)}.indicator-menu-popover{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;min-width:280px;max-width:360px;max-height:min(70vh,420px);padding:8px 0;overflow-y:auto;box-shadow:0 8px 24px #00000059}.indicator-menu-popover-fixed{z-index:1000;position:fixed}.indicator-menu-section-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);padding:4px 12px 6px;font-size:10px;font-weight:600}.indicator-menu-subsection-title{letter-spacing:.03em;color:var(--text-secondary);padding:8px 12px 4px;font-size:10px;font-weight:600}.indicator-menu-list{margin:0;padding:0;list-style:none}.indicator-menu-sublist{padding-bottom:4px}.indicator-menu-item{width:100%;color:var(--text-secondary);text-align:left;justify-content:space-between;align-items:center;padding:7px 12px;font-size:12px;transition:background .12s;display:flex}.indicator-menu-item:hover{background:var(--bg-hover);color:var(--text-primary)}.indicator-menu-item.active{color:var(--text-primary);background:#2962ff1f}.indicator-menu-item.saved .indicator-menu-item-name{font-style:italic}.indicator-menu-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.indicator-menu-item-check{color:var(--accent);margin-left:8px;font-size:11px}.indicator-menu-item-loading{color:var(--accent);margin-left:8px;font-size:12px;animation:.9s ease-in-out infinite indicator-loading-pulse}.indicator-menu-item.saved.loading{opacity:.75;cursor:wait}@keyframes indicator-loading-pulse{0%,to{opacity:.35}50%{opacity:1}}.indicator-menu-item-actions{align-items:center;gap:6px;margin-left:8px;display:inline-flex}.indicator-menu-remove{width:18px;height:18px;color:var(--text-muted);opacity:0;border-radius:3px;justify-content:center;align-items:center;font-size:14px;line-height:1;transition:opacity .12s,background .12s;display:inline-flex}.indicator-menu-rename{width:18px;height:18px;color:var(--text-muted);opacity:0;border-radius:3px;justify-content:center;align-items:center;transition:opacity .12s,background .12s;display:inline-flex}.indicator-menu-item:hover .indicator-menu-remove,.indicator-menu-item:hover .indicator-menu-rename{opacity:1}.indicator-menu-rename:hover{color:var(--accent);background:#2962ff2e}.indicator-menu-remove:hover{color:#ef5350;background:#ef535033}.indicator-menu-item.renaming{cursor:default;padding:4px 8px}.indicator-menu-rename-input{width:100%;min-width:0;color:var(--text-primary);background:var(--bg-primary);border:1px solid var(--accent);border-radius:3px;outline:none;padding:4px 6px;font-size:12px;font-style:normal}.indicator-menu-divider{background:var(--border);height:1px;margin:6px 0}.indicator-menu-group-toggle{width:100%;color:var(--text-secondary);text-align:left;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:500;transition:background .12s;display:flex}.indicator-menu-group-toggle:hover,.indicator-menu-group-toggle.open{background:var(--bg-hover);color:var(--text-primary)}.indicator-menu-count{background:var(--bg-tertiary);color:var(--text-muted);border-radius:8px;margin-left:auto;padding:0 6px;font-size:10px}.indicator-menu-empty{color:var(--text-muted);flex-direction:column;align-items:flex-start;gap:6px;padding:8px 12px 4px 28px;font-size:11px;line-height:1.45;display:flex}.indicator-menu-restore{border:1px solid var(--border);background:var(--bg-secondary);color:var(--text);cursor:pointer;border-radius:4px;padding:4px 8px;font-size:11px}.indicator-menu-restore:hover{background:var(--bg-hover)}.indicator-menu-actions{border-top:1px solid var(--border);gap:6px;margin-top:4px;padding:6px 12px 8px 28px;display:flex}.indicator-menu-action{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;padding:3px 8px;font-size:10px}.indicator-menu-action:hover{color:var(--text);background:var(--bg-hover)}.indicator-menu-file-input{display:none}.saved-label{border-left:1px solid var(--border);color:var(--text-muted);align-items:center;gap:3px;margin-left:6px;padding-left:8px;display:inline-flex}.saved-indicator-btn{border-color:#7c4dff40;font-style:italic}.saved-indicator-btn.active{background:linear-gradient(135deg, var(--accent), #7c4dff);border-color:#0000}.pine-save-checkbox{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;margin-right:4px;font-size:12px;display:inline-flex}.pine-save-checkbox input{accent-color:var(--accent)}.pine-btn{color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;transition:all .15s;display:flex}.pine-btn:hover,.pine-btn.active{border-color:var(--accent);color:var(--text-primary);background:linear-gradient(135deg,#2962ff20,#9c27b020)}.active-indicators{flex-wrap:wrap}.active-ind-tag{background:var(--bg-tertiary);color:var(--accent);border-radius:12px;align-items:center;gap:4px;padding:2px 8px;font-size:11px;display:inline-flex}.active-ind-tag button{color:var(--text-secondary);font-size:14px;line-height:1}.active-ind-tag button:hover{color:var(--red)}.loading-indicator{color:var(--accent);margin-left:auto;font-size:12px;animation:1.5s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.terminal-body{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:260px;transition:width .2s;display:flex;overflow:hidden}.sidebar--collapsed{width:44px}.sidebar-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:stretch;display:flex}.sidebar--collapsed .sidebar-header{border-bottom:none;justify-content:center}.sidebar-collapse-btn{width:32px;color:var(--text-secondary);border-left:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;display:flex}.sidebar--collapsed .sidebar-collapse-btn{border-left:none;width:44px}.sidebar-collapse-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-body{flex:1;min-height:0;overflow-y:auto}.sidebar-rail{flex-direction:column;align-items:center;gap:4px;padding:8px 0;display:flex}.sidebar-rail-tab{width:36px;height:36px;color:var(--text-secondary);border-radius:6px;justify-content:center;align-items:center;display:flex;position:relative}.sidebar-rail-tab:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-rail-tab.active{background:var(--bg-tertiary);color:var(--accent)}.sidebar-rail-badge{background:var(--accent);color:#fff;text-align:center;border-radius:7px;min-width:14px;height:14px;padding:0 3px;font-size:9px;font-weight:600;line-height:14px;position:absolute;top:4px;right:4px}.main-content{flex-direction:column;flex:1;display:flex;overflow:hidden}.watchlist-header{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 12px;font-size:12px;font-weight:600;display:flex}.icon-btn{color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.icon-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.watchlist-item{cursor:pointer;grid-template-columns:1fr auto auto 20px;align-items:center;gap:6px;padding:8px 12px;transition:background .1s;display:grid;position:relative}.watchlist-item:hover{background:var(--bg-hover)}.watchlist-item.active{background:var(--bg-tertiary)}.wl-symbol{font-size:13px;font-weight:600}.wl-price{font-variant-numeric:tabular-nums;font-size:12px}.wl-change{font-variant-numeric:tabular-nums;font-size:11px}.wl-remove{opacity:0;color:var(--text-muted);display:flex}.watchlist-item:hover .wl-remove{opacity:1}.sidebar-tabs{flex:1;gap:0;min-width:0;display:flex}.sidebar-tab{text-transform:uppercase;letter-spacing:.15px;min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;border-bottom:2px solid #0000;flex:1 1 0;justify-content:center;align-items:center;gap:3px;padding:10px 4px;font-size:10px;font-weight:600;display:flex;overflow:hidden}.sidebar-tab:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.sidebar-tab-badge{background:var(--accent);color:#fff;text-align:center;border-radius:8px;min-width:16px;padding:1px 5px;font-size:10px}.watchlist-toolbar{border-bottom:1px solid var(--border);justify-content:flex-end;padding:6px 8px;display:flex}.panel-header{color:var(--text-secondary);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:8px 12px;font-size:12px;font-weight:600;display:flex}.panel-header-actions{align-items:center;gap:2px;display:flex}.icon-btn.muted{color:var(--text-muted)}.alerts-panel{flex-direction:column;height:100%;min-height:0;display:flex}.alerts-view-tabs{border-bottom:1px solid var(--border);flex-shrink:0;gap:0;display:flex}.alerts-view-tab{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:inline-flex}.alerts-view-tab:hover{color:var(--text-secondary);background:var(--bg-hover)}.alerts-view-tab.active{color:var(--text-primary);border-bottom-color:var(--accent)}.alerts-view-count{font-variant-numeric:tabular-nums;background:var(--bg-tertiary);min-width:18px;color:var(--text-secondary);border-radius:8px;padding:0 5px;font-size:10px}.alerts-view-tab.active .alerts-view-count{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.alerts-scroll{flex:1;min-height:0;overflow:auto}.screener-panel{flex-direction:column;height:100%;min-height:0;display:flex}.screener-hint{color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;line-height:1.4}.screener-form{border-bottom:1px solid var(--border);background:var(--bg-tertiary);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.screener-form-row{flex-direction:column;gap:4px;display:flex}.screener-form-row label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.screener-run-btn{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:4px;display:inline-flex}.screener-error{color:var(--color-bear,#ef5350);padding:8px 12px;font-size:12px}.screener-results{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.screener-results-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.screener-meta{color:var(--text-muted);text-transform:none;letter-spacing:0;font-weight:400}.screener-empty{color:var(--text-muted);flex-direction:column;align-items:center;gap:8px;padding:24px 12px;font-size:12px;display:flex}.screener-list{flex:1;overflow-y:auto}.screener-item{border-bottom:1px solid var(--border);text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.screener-item:hover{background:var(--bg-hover)}.screener-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.screener-symbol{font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.screener-signal-label{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.screener-signal-time{color:var(--accent,#2962ff);font-variant-numeric:tabular-nums;font-size:10px}.screener-item-side{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.screener-price{font-variant-numeric:tabular-nums;font-size:12px}.screener-chg{font-variant-numeric:tabular-nums;font-size:10px}.screener-chg.up{color:var(--color-bull,#26a69a)}.screener-chg.down{color:var(--color-bear,#ef5350)}.community-panel{flex-direction:column;height:100%;min-height:0;display:flex}.community-hint{color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 12px;font-size:11px;line-height:1.4}.community-scope-tabs{border-bottom:1px solid var(--border);background:var(--bg-tertiary);gap:6px;padding:8px 12px;display:flex}.community-auth-gate,.community-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:10px;padding:28px 16px;font-size:12px;display:flex}.community-error{color:var(--color-bear,#ef5350);padding:8px 12px;font-size:12px}.community-list{flex:1;overflow-y:auto}.community-item{border-bottom:1px solid var(--border);align-items:stretch;display:flex}.community-item-main{text-align:left;min-width:0;color:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;gap:3px;padding:10px 8px 10px 12px;display:flex}.community-item-main:hover,.community-item-main.active{background:var(--bg-hover)}.community-item-title-row{align-items:center;gap:6px;min-width:0;display:flex}.community-item-name{text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.community-vis-badge{color:var(--text-muted);background:var(--bg-tertiary);border-radius:3px;flex-shrink:0;align-items:center;gap:3px;padding:1px 5px;font-size:10px;display:inline-flex}.community-vis-public{color:var(--color-bull,#26a69a)}.community-vis-restricted{color:var(--accent,#2962ff)}.community-item-desc{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.community-item-meta{color:var(--text-muted);font-size:10px}.community-item-actions{border-left:1px solid var(--border);align-items:center;gap:2px;padding:0 6px;display:flex}.community-form{flex-direction:column;gap:10px;padding:10px 12px;display:flex;overflow-y:auto}.community-form-row{flex-direction:column;gap:4px;display:flex}.community-form-row label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.community-form-row input,.community-form-row select,.community-form-row textarea{border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);resize:vertical;border-radius:4px;padding:7px 8px;font-size:12px}.community-vis-options{flex-wrap:wrap;gap:6px;display:flex}.community-vis-options .chip-btn{align-items:center;gap:4px;display:inline-flex}.community-vis-help{color:var(--text-muted);margin:0;font-size:11px;line-height:1.35}.community-user-chips{flex-wrap:wrap;gap:6px;min-height:24px;display:flex}.community-user-chip{background:var(--bg-tertiary);border-radius:4px;align-items:center;gap:4px;padding:2px 6px;font-size:11px;display:inline-flex}.community-user-chip button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 2px;font-size:14px;line-height:1}.community-user-empty,.community-search-status{color:var(--text-muted);font-size:11px}.community-user-results{border:1px solid var(--border);border-radius:4px;max-height:140px;margin:0;padding:0;list-style:none;overflow-y:auto}.community-user-results button{border:none;border-bottom:1px solid var(--border);width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:1px;padding:7px 8px;font-size:12px;display:flex}.community-user-results li:last-child button{border-bottom:none}.community-user-results button:hover{background:var(--bg-hover)}.community-user-name{color:var(--text-muted);font-size:10px}.community-submit-btn{justify-content:center;align-items:center;gap:6px;width:100%;margin-top:4px;display:inline-flex}@keyframes tp-spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite tp-spin}.alerts-section-label{text-transform:uppercase;letter-spacing:.5px;color:var(--text-muted);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px 4px;font-size:10px;font-weight:600;display:flex}.wl-alerts{border-bottom:1px solid var(--border,#2a2e39);margin-bottom:4px;padding-bottom:8px}.wl-alerts-label-text{align-items:center;gap:8px;display:inline-flex}.wl-alerts-quota{letter-spacing:0;text-transform:none;color:var(--text-secondary,#787b86);font-size:10px;font-weight:500}.wl-alerts-badge{letter-spacing:.02em;text-transform:none;color:#f0b90b;background:#f0b90b1f;border-radius:3px;padding:1px 6px;font-size:9px;font-weight:600}.wl-alerts-hint{color:var(--text-secondary,#787b86);text-transform:none;letter-spacing:0;margin:0 12px 8px;font-size:11px;font-weight:400;line-height:1.4}.wl-alerts-cta{background:#ffffff08;border-radius:6px;flex-direction:column;align-items:flex-start;gap:8px;margin:0 12px 10px;padding:10px 12px;display:flex}.wl-alerts-cta p{color:var(--text-secondary,#787b86);margin:0;font-size:12px;line-height:1.4}.wl-alerts-error{color:#ef5350;margin:0 12px 8px;font-size:11px}.wl-alerts-empty{color:var(--text-muted,#5d606b);align-items:center;gap:8px;margin:0 12px 8px;padding:8px 0;font-size:12px;display:flex}.alerts-history-header{justify-content:space-between;align-items:center;display:flex}.text-btn{color:var(--text-secondary);text-transform:none;letter-spacing:0;font-size:10px}.text-btn:hover{color:var(--accent)}.alerts-list,.alerts-history{flex-direction:column;display:flex}.alerts-empty{color:var(--text-muted);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:24px 16px;display:flex}.alerts-empty-hint{font-size:11px;line-height:1.4}.alert-item{cursor:pointer;border-bottom:1px solid #2a2e3980;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.alert-item:hover{background:var(--bg-hover)}.alert-item.disabled{opacity:.55}.alert-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.alert-symbol{font-size:13px;font-weight:600}.alert-condition{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px}.alert-note{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.alert-triggered{color:var(--green);font-size:10px}.alert-item-actions{flex-shrink:0;gap:2px;display:flex}.alert-history-item{color:var(--text-secondary);cursor:pointer;border-bottom:1px solid #2a2e3959;flex-direction:column;gap:3px;padding:8px 12px;font-size:11px;display:flex}.alert-history-item:hover{background:var(--bg-hover)}.alert-history-top{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.alert-history-symbol{color:var(--text-primary);font-size:13px;font-weight:600}.alert-history-summary{color:var(--text-secondary);word-break:break-word;line-height:1.35}.alert-history-meta{font-variant-numeric:tabular-nums;align-items:center;gap:8px;display:flex}.alert-history-price{color:var(--text-muted)}.alert-history-tf{color:var(--text-muted);font-size:10px}.alert-history-time{font-variant-numeric:tabular-nums;color:var(--text-primary);letter-spacing:-.02em;flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px}.alert-form{border-bottom:1px solid var(--border);background:var(--bg-tertiary);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.alert-form-row{flex-direction:column;gap:4px;display:flex}.alert-form-row label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.3px;font-size:10px}.alert-form-row input{background:var(--bg-secondary);border:1px solid var(--border);font-variant-numeric:tabular-nums;border-radius:4px;padding:6px 8px}.alert-form-row input:focus,.alert-select:focus{border-color:var(--accent)}.alert-select{background:var(--bg-secondary);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:6px 8px;font-size:12px}.alert-condition-btns{gap:4px;display:flex}.chip-btn{border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;flex:1;padding:5px 8px;font-size:11px}.chip-btn:hover{border-color:var(--text-muted);color:var(--text-primary)}.chip-btn.active{border-color:var(--accent);color:var(--accent);background:#2962ff26}.alert-form-check{color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;font-size:11px;display:flex}.alert-form-actions{justify-content:flex-end;gap:6px;margin-top:4px;display:flex}.btn-primary,.btn-secondary{border-radius:4px;padding:5px 12px;font-size:12px}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover{background:var(--accent-hover)}.btn-secondary{border:1px solid var(--border);color:var(--text-secondary)}.btn-secondary:hover{border-color:var(--text-muted);color:var(--text-primary)}.top-bar-right{align-items:center;gap:10px;display:flex}.top-bar-alert-btn{width:30px;height:30px;color:var(--text-secondary);border-radius:4px;justify-content:center;align-items:center;display:flex;position:relative}.top-bar-alert-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.top-bar-alert-badge{background:var(--accent);color:#fff;border-radius:7px;justify-content:center;align-items:center;min-width:14px;height:14px;padding:0 3px;font-size:9px;display:flex;position:absolute;top:2px;right:2px}.realtime-status{color:var(--text-muted);border:1px solid var(--border);border-radius:4px;align-items:center;gap:5px;padding:4px 8px;font-size:11px;display:flex}.realtime-status-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px}.realtime-status--ws .realtime-status-dot{background:var(--green);box-shadow:0 0 6px var(--green)}.realtime-status--polling .realtime-status-dot{background:#f5a623}.realtime-status--offline .realtime-status-dot{background:var(--red)}.alert-toasts{z-index:1000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:52px;right:16px}.alert-toast{pointer-events:auto;background:var(--bg-secondary);border:1px solid var(--accent);cursor:pointer;border-radius:8px;align-items:flex-start;gap:10px;min-width:280px;max-width:360px;padding:12px 14px;animation:.25s ease-out alert-toast-in;display:flex;box-shadow:0 8px 24px #0006}@keyframes alert-toast-in{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.alert-toast-icon{color:var(--accent);flex-shrink:0;margin-top:1px}.alert-toast-body{flex:1;min-width:0}.alert-toast-title{font-size:13px;font-weight:600}.alert-toast-price{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.alert-toast-note{color:var(--text-muted);margin-top:2px;font-size:11px}.alert-toast-close{color:var(--text-muted);flex-shrink:0;padding:2px}.alert-toast-close:hover{color:var(--text-primary)}.chart-workspace{flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.chart-main{flex:1 1 0;min-height:0;display:flex;position:relative;overflow:hidden}.chart-body{flex-direction:column;flex:1 1 0;min-width:0;min-height:0;display:flex;overflow:hidden}.drawing-sidebar{background:var(--bg-secondary);border-right:1px solid var(--border);z-index:40;flex-direction:column;flex-shrink:0;align-items:center;gap:2px;width:40px;padding:6px 4px;display:flex;position:relative}.drawing-sidebar-btn{width:32px;height:32px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.drawing-sidebar-btn:hover,.drawing-sidebar-btn.active{color:var(--text-primary);background:#2962ff33}.drawing-sidebar-group{position:relative}.drawing-sidebar-tooltip{white-space:nowrap;color:var(--text-primary);background:var(--bg-secondary);border:1px solid var(--border);z-index:80;pointer-events:none;border-radius:4px;align-items:center;gap:8px;padding:5px 10px;font-size:11px;display:flex;position:absolute;top:50%;left:calc(100% + 8px);transform:translateY(-50%);box-shadow:0 4px 12px #00000059}.drawing-sidebar-tooltip-kbd{color:var(--text-muted);border:1px solid var(--border);background:var(--bg-tertiary);border-radius:3px;padding:1px 5px;font-size:10px}.drawing-sidebar-active{writing-mode:vertical-rl;text-orientation:mixed;color:#2962ff;text-overflow:ellipsis;white-space:nowrap;max-height:80px;padding:4px 0;font-size:10px;overflow:hidden}.drawing-sidebar-spacer{flex:1;min-height:8px}.drawing-flyout{background:var(--bg-secondary);border:1px solid var(--border);z-index:60;border-radius:6px;min-width:200px;max-height:360px;margin-left:4px;padding:6px 0;position:absolute;top:0;left:100%;overflow-y:auto;box-shadow:0 8px 24px #00000059}.drawing-flyout-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding:4px 12px 6px;font-size:10px}.drawing-flyout-title--zh{text-transform:none;letter-spacing:0;font-size:11px}.drawing-flyout-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;padding:6px 12px;font-size:12px;display:flex}.drawing-flyout-item:hover,.drawing-flyout-item.active{background:var(--bg-tertiary)}.drawing-flyout-shortcut{color:var(--text-muted);margin-left:12px;font-size:10px}.drawing-flyout--shapes{min-width:220px;max-height:420px}.drawing-flyout-section+.drawing-flyout-section{border-top:1px solid var(--border);margin-top:4px;padding-top:4px}.drawing-overlay{z-index:50;pointer-events:none;background:0 0;width:100%;height:100%;position:absolute;inset:0}.drawing-overlay--active{pointer-events:none;cursor:crosshair}.chart-panel{background:var(--bg-primary);flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative;overflow:hidden}.chart-stage .drawing-overlay{width:100%;height:100%;position:absolute;inset:0}.chart-stage{background:var(--bg-primary);flex:1 1 0;width:100%;min-height:200px;position:relative}.chart-stage--tpo-mode,.chart-stage--tpo-mode .chart-container{background:#0c0f14}.chart-container{background:var(--bg-primary);width:100%;min-height:0;position:absolute;inset:0}.signal-dashboard{z-index:12;color:#d1d4dc;pointer-events:none;background:#0a0e17eb;border:1px solid #646e8c59;border-radius:8px;min-width:220px;padding:8px 10px 10px;font-size:11px;position:absolute;top:10px;right:10px;box-shadow:0 8px 24px #00000059}.signal-dash-title{color:#fff;letter-spacing:.3px;margin-bottom:6px;font-size:11px;font-weight:600}.signal-dash-table{border-collapse:collapse;width:100%}.signal-dash-table th,.signal-dash-table td{text-align:center;border-bottom:1px solid #ffffff0f;padding:4px 6px}.signal-dash-table th:first-child,.signal-dash-table td:first-child{text-align:left;color:#9aa0aa}.signal-dash-table th.col-long{color:#0f8;background:#00ff8826}.signal-dash-table th.col-short{color:#f36;background:#ff336626}.signal-dash-table tr.is-leading td:first-child{color:#fff;font-weight:600}.signal-dash-icon.is-yes{color:#0f8;font-weight:700}.signal-dash-icon.is-no{color:#f36;opacity:.85}.signal-dash-votes td{color:#fff;font-weight:600}.signal-dash-footer{border-top:1px solid #ffffff14;align-items:center;gap:8px;margin-top:8px;padding-top:8px;display:flex}.signal-dash-label{color:#9aa0aa}.signal-dash-value{letter-spacing:1px;font-size:14px;font-weight:700}.signal-dash-footer.is-long .signal-dash-value{color:#0f8}.signal-dash-footer.is-short .signal-dash-value{color:#f36}.signal-dash-footer.is-wait .signal-dash-value{color:#787b86}.signal-dash-hint{color:#787b86;margin-left:auto;font-size:10px}.chart-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;padding:6px 10px;display:flex;position:relative}.chart-toolbar-group{align-items:center;gap:4px;display:flex}.chart-toolbar-label{color:var(--text-muted);margin-right:2px;font-size:10px}.chart-toolbar-btn{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;display:inline-flex}.chart-toolbar-btn.active{color:var(--text-primary);background:#2962ff33;border-color:#2962ff80}.chart-toolbar-theme{gap:5px}.chart-theme-swatch{cursor:pointer;border:1px solid #80808073;border-radius:4px;flex-shrink:0;width:18px;height:18px;padding:0}.chart-theme-swatch:hover{border-color:#ffffff73}.chart-theme-swatch.active{outline:2px solid var(--accent);outline-offset:1px;border-color:#0000}.chart-toolbar-divider{background:var(--border);width:1px;height:20px}.chart-layout-menu{z-index:50;background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;width:280px;max-height:360px;padding:8px;position:absolute;top:100%;left:10px;overflow-y:auto;box-shadow:0 8px 24px #00000059}.chart-layout-section{margin-bottom:10px}.chart-layout-title{color:var(--text-muted);text-transform:uppercase;margin-bottom:6px;font-size:10px}.chart-layout-hint{color:var(--text-secondary);margin:0 0 8px;font-size:11px;line-height:1.45}.chart-layout-save-toast{color:#66bb6a;margin-top:6px;font-size:11px}.chart-layout-save-btn{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;border-radius:4px;justify-content:center;align-items:center;padding:6px 8px;display:inline-flex}.chart-layout-save-btn:hover{background:var(--bg-hover)}.chart-toolbar-btn--layouts span{font-size:11px}.chart-layout-item{width:100%;color:var(--text-primary);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:4px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px;display:flex}.chart-layout-item:hover{background:var(--bg-tertiary)}.chart-layout-item span{color:var(--text-muted);font-size:11px}.chart-layout-save-row{gap:6px;display:flex}.chart-layout-save-row input{border:1px solid var(--border);background:var(--bg-tertiary);color:var(--text-primary);border-radius:4px;flex:1;padding:6px 8px;font-size:12px}.chart-layout-saved-row{align-items:center;gap:4px;display:flex}.chart-layout-saved-row .chart-layout-item{flex-direction:row;flex:1;align-items:center;gap:6px}.chart-layout-item-text{flex-direction:column;align-items:flex-start;gap:2px;min-width:0;display:flex}.chart-layout-item-text strong{font-size:12px;font-weight:600}.chart-layout-delete-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.chart-layout-delete-btn:hover{color:#ef5350;background:#ef53501f}.chart-grid{background:var(--border);flex:1 1 0;gap:2px;min-height:0;display:grid;overflow:hidden}.chart-grid--1x1{grid-template-rows:1fr;grid-template-columns:1fr}.chart-grid--1x2{grid-template-rows:1fr;grid-template-columns:1fr 1fr}.chart-grid--2x1{grid-template-rows:1fr 1fr;grid-template-columns:1fr}.chart-grid--2x2{grid-template-rows:1fr 1fr;grid-template-columns:1fr 1fr}.chart-grid-cell{background:var(--bg-primary);flex-direction:column;min-height:0;display:flex;position:relative;overflow:hidden}.chart-grid-cell.is-grid-hidden{display:none}.chart-grid--pane-maximized .chart-grid-cell.is-grid-maximized{grid-area:1/1/-1/-1}.chart-grid-cell-toolbar{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;display:flex}.chart-grid-cell-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:600;overflow:hidden}.chart-grid-maximize-btn{border:1px solid var(--border);background:var(--bg-tertiary);width:24px;height:24px;color:var(--text-secondary);cursor:pointer;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.chart-grid-maximize-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.chart-grid-maximize-btn.is-maximized{color:var(--accent);background:#2962ff26;border-color:#2962ff73}.chart-grid-cell:has(.chart-grid-cell-toolbar) .chart-pane-preview-badge{display:none}.chart-panel--preview{cursor:pointer}.chart-pane-view{flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative}.chart-pane-view--preview{outline:none}.chart-pane-preview-badge{z-index:22;color:#787b86;pointer-events:none;background:#131722e6;border:1px solid #787b8659;border-radius:4px;padding:2px 8px;font-size:10px;position:absolute;top:6px;left:6px}.chart-grid-cell.is-active{outline:1px solid #2962ff73}.chart-panel--active{flex-direction:column;flex:1 1 0;min-height:0;display:flex;position:relative}.grid-chart-pane{background:var(--bg-primary);cursor:pointer;text-align:left;border:none;flex-direction:column;flex:1 1 0;width:100%;min-height:0;padding:0;display:flex}.grid-chart-pane-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:4px 8px;font-size:11px;display:flex}.grid-chart-pane-symbol{color:var(--text-primary);font-weight:600}.grid-chart-pane-interval{color:var(--text-muted)}.grid-chart-pane-stage{flex:1 1 0;width:100%;min-height:120px;position:relative}.grid-chart-pane-canvas{background:var(--bg-primary);min-height:0;position:absolute;inset:0}.mini-chart-pane{background:var(--bg-primary);cursor:pointer;border:none;flex-direction:column;flex:1 1 0;width:100%;min-height:0;padding:0;display:flex}.mini-chart-header{background:var(--bg-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;padding:4px 8px;font-size:11px;display:flex}.mini-chart-stage{flex:1 1 0;width:100%;min-height:0;position:relative}.mini-chart-canvas{min-height:0;position:absolute;inset:0}.mini-chart-symbol{color:var(--text-primary);font-weight:600}.mini-chart-interval{color:var(--text-muted)}.chart-draw-hint{z-index:30;color:#fff;pointer-events:none;background:#2962ffd9;border-radius:4px;padding:4px 10px;font-size:11px;position:absolute;top:48px;left:50%;transform:translate(-50%)}.chart-subpane-maximize-btn{z-index:25;color:#b2b5be;cursor:pointer;pointer-events:auto;background:#131722d1;border:1px solid #787b8659;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;padding:0;transition:background .15s,color .15s,border-color .15s;display:flex;position:absolute;right:52px}.chart-subpane-maximize-btn:hover{color:#fff;background:#2962ff40;border-color:#2962ff8c}.chart-subpane-maximize-btn.is-maximized{color:#fff;background:#2962ff59;border-color:#2962ffa6}.chart-subpane-collapsed-hint{z-index:22;color:#787b86;pointer-events:none;white-space:nowrap;background:#131722e0;border:1px solid #787b8659;border-radius:4px;padding:6px 12px;font-size:12px;position:absolute;bottom:12px;left:50%;transform:translate(-50%)}.chart-load-error{z-index:20;text-align:center;color:#d1d4dc;background:#131722eb;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;display:flex;position:absolute;inset:0}.chart-load-error strong{color:#ef5350;font-size:15px}.chart-load-error p{color:#787b86;word-break:break-word;max-width:420px;margin:0;font-size:13px;line-height:1.5}.chart-load-error button{color:#fff;background:#2962ff;border-radius:4px;margin-top:4px;padding:8px 16px;font-size:13px}.chart-load-error button:hover{background:#1e53e5}.chart-ohlc-hud{z-index:21;font-variant-numeric:tabular-nums;color:#d1d4dc;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);pointer-events:none;background:#131722e0;border:1px solid #787b8659;border-radius:4px;flex-wrap:nowrap;align-items:baseline;gap:2px 10px;max-width:calc(100% - 24px);min-height:26px;padding:4px 8px;font-size:11px;line-height:1.35;display:flex;position:absolute;top:8px;left:8px;overflow:hidden}.chart-ohlc-time{color:#b2b5be;letter-spacing:.01em;flex-shrink:0;font-weight:600}.chart-ohlc-sep{background:#787b8659;flex-shrink:0;align-self:stretch;width:1px;margin:0 2px}.chart-ohlc-item{white-space:nowrap;flex-shrink:0;align-items:baseline;gap:4px;display:inline-flex}.chart-ohlc-label{color:#787b86;text-transform:uppercase;font-size:10px}.chart-ohlc-value{color:#d1d4dc;font-weight:560}.chart-ohlc-item--price .chart-ohlc-value{color:#f0b90b}.chart-ohlc-hud--empty{visibility:hidden}.indicator-legend{z-index:20;pointer-events:none;flex-direction:column;gap:2px;max-width:calc(100% - 16px);display:flex;position:absolute;top:42px;left:8px}.indicator-legend-header{color:#787b86;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);-webkit-user-select:none;user-select:none;cursor:pointer;background:#131722eb;border:1px solid #787b8666;border-radius:4px;justify-content:space-between;align-items:center;gap:8px;width:100%;min-height:26px;padding:2px 8px;font-size:11px;display:flex}.indicator-legend-header:hover{background:#1e222df2;border-color:#787b868c}.indicator-legend-header-title{letter-spacing:.02em;text-transform:uppercase;color:#b2b5be;align-items:center;gap:6px;font-weight:600;display:flex}.indicator-legend-header-count{color:#5b9cf6;text-transform:none;background:#2962ff40;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 5px;font-size:10px;font-weight:700;display:inline-flex}.indicator-legend--collapsed .indicator-legend-header{border-color:#787b864d}.indicator-legend-row{color:#d1d4dc;pointer-events:auto;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#131722e0;border:1px solid #787b8659;border-radius:4px;align-items:center;gap:6px;min-height:26px;padding:2px 6px 2px 2px;font-size:12px;display:flex}.indicator-legend-row.hidden-ind{opacity:.55}.indicator-legend-grip{color:#787b86;cursor:grab;flex-shrink:0}.indicator-legend-name{white-space:nowrap;font-weight:500}.indicator-legend-params{color:#787b86;white-space:nowrap;text-overflow:ellipsis;max-width:280px;overflow:hidden}.indicator-legend-spacer{border-bottom:1px solid #787b8640;flex:1;align-self:center;min-width:8px;height:0;margin:0 4px}.indicator-legend-actions{flex-shrink:0;align-items:center;gap:1px;display:flex}.indicator-legend-btn{color:#d1d4dc;opacity:.85;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.indicator-legend-btn:hover:not(:disabled){opacity:1;background:#ffffff14}.indicator-legend-btn:disabled{opacity:.25;cursor:default}.indicator-legend-btn.danger:hover:not(:disabled){color:#ef5350}.ind-settings-backdrop{z-index:2000;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ind-settings-modal{background:#1e222d;border:1px solid #363a45;border-radius:8px;flex-direction:column;width:min(420px,100vw - 32px);max-height:min(80vh,640px);display:flex;box-shadow:0 12px 40px #00000073}.ind-settings-header{border-bottom:1px solid #363a45;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.ind-settings-header h3{color:#d1d4dc;margin:0;font-size:14px;font-weight:600}.ind-settings-body{flex:1;padding:12px 14px;overflow-y:auto}.ind-settings-group{margin-bottom:14px}.ind-settings-group-title{text-transform:uppercase;letter-spacing:.4px;color:#787b86;margin-bottom:8px;font-size:11px;font-weight:600}.ind-settings-row{color:#d1d4dc;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.ind-settings-label{flex:1}.ind-settings-row-period{align-items:flex-start}.ind-settings-period-options{flex-wrap:wrap;justify-content:flex-end;gap:10px 18px;display:flex}.ind-settings-period-option{color:var(--text-secondary,#b2b5be);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:13px;display:inline-flex}.ind-settings-period-option input[type=checkbox]{margin:0}.ind-settings-row input[type=number],.ind-settings-row select{color:#d1d4dc;background:#131722;border:1px solid #363a45;border-radius:4px;width:120px;padding:4px 8px;font-size:13px}.ind-settings-row input[type=checkbox]{accent-color:#2962ff;width:16px;height:16px}.ind-custom-ma-hint{color:#787b86;margin:0 0 10px;font-size:12px;line-height:1.45}.ind-custom-ma-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ind-custom-ma-row select,.ind-custom-ma-row input[type=number]{color:#d1d4dc;background:#131722;border:1px solid #363a45;border-radius:4px;padding:6px 8px;font-size:13px}.ind-custom-ma-row select{width:72px}.ind-custom-ma-row input[type=number]{flex:1;min-width:0}.ind-custom-ma-remove{color:#787b86;flex-shrink:0}.ind-custom-ma-remove:hover{color:#ef5350}.ind-custom-ma-add{color:#2962ff;border:1px dashed #363a45;border-radius:4px;align-items:center;gap:6px;margin-top:4px;padding:6px 10px;font-size:12px;display:inline-flex}.ind-custom-ma-add:hover:not(:disabled){background:#2962ff14;border-color:#2962ff}.ind-custom-ma-add:disabled{opacity:.45;cursor:not-allowed}.ind-style-row--custom{background:#2962ff0f;border-radius:4px}.ind-style-custom-label{color:#d1d4dc;align-items:center;gap:6px;min-width:88px;font-size:13px;display:flex}.ind-style-period-input{color:#d1d4dc;background:#131722;border:1px solid #363a45;border-radius:4px;width:64px;padding:4px 6px;font-size:13px}.ind-style-delete{color:#787b86;margin-left:2px}.ind-style-delete:hover{color:#ef5350}.ind-style-add-btn{justify-content:center;width:100%;margin-top:6px}.ind-settings-empty{color:#787b86;margin:0;padding:16px 14px;font-size:13px}.ind-settings-error{color:#ef5350;padding:0 14px 8px;font-size:12px}.ind-settings-footer{border-top:1px solid #363a45;justify-content:flex-end;gap:8px;padding:10px 14px;display:flex}.ind-settings-btn{color:#d1d4dc;border:1px solid #363a45;border-radius:4px;padding:6px 14px;font-size:13px}.ind-settings-btn.ghost:hover{background:#ffffff0f}.ind-settings-btn.primary{color:#fff;background:#2962ff;border-color:#2962ff}.ind-settings-btn.primary:hover:not(:disabled){background:#1e53e5}.ind-settings-modal-wide{width:min(480px,100vw - 32px)}.ind-settings-tabs{border-bottom:1px solid #363a45;gap:0;padding:0 14px;display:flex}.ind-settings-tab{color:#787b86;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 14px;font-size:13px}.ind-settings-tab.active{color:#d1d4dc;border-bottom-color:#2962ff}.ind-style-list{flex-direction:column;gap:16px;display:flex}.ind-style-section-title{text-transform:uppercase;letter-spacing:.4px;color:#787b86;border-bottom:1px solid #2a2e39;margin-bottom:6px;padding-bottom:4px;font-size:11px;font-weight:600}.ind-tpo-gradient-row{padding:4px 0 8px}.ind-tpo-gradient-swatches{gap:6px;display:flex}.ind-tpo-gradient-swatches .ind-color-preview{border:1px solid #ffffff26;border-radius:3px;width:22px;height:22px}.ind-style-row{align-items:center;gap:10px;min-height:32px;padding:5px 0;display:flex}.ind-style-check{accent-color:#2962ff;flex-shrink:0;width:16px;height:16px}.ind-style-label{color:#d1d4dc;white-space:nowrap;flex:1;font-size:13px}.ind-style-controls{flex-shrink:0;align-items:center;gap:6px;display:flex}.ind-tpo-extend-select{color:#d1d4dc;background:#1e222d;border:1px solid #434651;border-radius:4px;max-width:96px;height:26px;padding:0 6px;font-size:11px}.ind-color-swatch{cursor:pointer;border:1px solid #434651;border-radius:4px;width:52px;height:26px;display:block;position:relative;overflow:hidden}.ind-color-swatch input[type=color]{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.ind-color-preview{width:100%;height:100%;display:block}.ind-line-style-picker{border:1px solid #434651;border-radius:4px;gap:2px;display:flex;overflow:hidden}.ind-line-style-btn{color:#787b86;cursor:pointer;white-space:nowrap;background:#131722;border:none;height:26px;padding:0 8px;font-size:11px}.ind-line-style-btn.active,.ind-line-style-btn:hover{color:#d1d4dc;background:#2a2e39}.ind-width-picker{border:1px solid #434651;border-radius:4px;gap:2px;display:flex;overflow:hidden}.ind-width-btn{color:#787b86;background:#131722;justify-content:center;align-items:center;width:26px;height:26px;display:flex}.ind-width-btn.active{color:#d1d4dc;background:#2a2e39}.ind-width-btn:hover{background:#2a2e39}.pine-editor{background:var(--bg-secondary);border-top:1px solid var(--border);z-index:20;flex-direction:column;flex-shrink:0;height:min(38vh,440px);min-height:280px;display:flex;position:relative}.pine-editor-shell{background:var(--bg-secondary);flex-direction:column;flex:1;min-height:0;display:flex}.pine-editor-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 12px;display:flex}.pine-header-actions{align-items:center;gap:4px;display:flex}.pine-title{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.pine-badge{background:linear-gradient(135deg, var(--accent), #9c27b0);color:#fff;border-radius:10px;padding:2px 8px;font-size:10px;font-weight:500}.pine-mode-tabs{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:6px;padding:4px 12px;display:flex}.pine-mode-tab{color:var(--text-secondary);border:1px solid var(--border);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.pine-mode-tab.active{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent)}.pine-usage-chip{color:var(--text-secondary);opacity:.9;margin-left:auto;font-size:11px}.pine-editor-main{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.pine-write-pane{flex-direction:column;flex:1;gap:0;min-height:0;padding:0;display:flex}.pine-textarea-prompt{flex:1;min-height:80px}.pine-action-bar{border-top:1px solid var(--border);background:var(--bg-tertiary);z-index:2;flex-direction:row;flex-shrink:0;align-items:center;gap:8px;padding:6px 12px;display:flex}.pine-action-hint{display:none}.pine-action-hint-muted{color:var(--text-muted)}.pine-action-bar-btns{flex-wrap:wrap;align-items:center;gap:6px 8px;width:100%;display:flex}.pine-primary-cta{min-height:30px;margin-left:auto;padding:5px 14px!important;font-size:12px!important;font-weight:600!important}.pine-editor-footer{border-top:1px solid var(--border);flex-shrink:0;max-height:none;padding:3px 12px;overflow:visible}.pine-footer-line{color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:4px 6px;margin:0;font-size:10px;line-height:1.3;display:flex}.pine-footer-sep{opacity:.55}.pine-footer-line .legal-inline-link{color:var(--accent);font-size:10px}.editor-tabs{gap:4px;margin-left:8px;display:flex}.editor-tab{color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;align-items:center;gap:4px;padding:3px 10px;font-size:11px;display:flex}.editor-tab.active{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--accent)}.pine-hint{color:var(--text-muted);background:var(--bg-primary);border-top:1px solid var(--border);flex-shrink:0;padding:4px 12px;font-size:11px}.pine-hint-inline{background:0 0;border-top:none;padding:0 12px 4px}.pine-warning{color:#ffb74d;background:#ff980020;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.pine-split-body{flex-direction:row;flex:1;gap:0;min-height:0;display:flex;overflow:hidden}.pine-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.pane-label{color:var(--text-secondary);background:var(--bg-tertiary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;padding:4px 12px;font-size:11px;font-weight:600;display:flex}.pine-pane-expand-btn{color:var(--text-muted);border-radius:3px;justify-content:center;align-items:center;padding:2px;display:inline-flex}.pine-pane-expand-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.pine-pane-arrow{color:var(--accent);border-left:1px solid var(--border);border-right:1px solid var(--border);flex-shrink:0;justify-content:center;align-self:stretch;align-items:center;padding:0 4px;display:flex}.pine-pane-arrow svg{transform:rotate(-90deg)}.pine-textarea-js{background:#0d1117}.pine-actions-row{border-top:1px solid var(--border);background:var(--bg-secondary);flex-wrap:wrap;flex-shrink:0;gap:8px;padding:8px 12px;display:flex}.convert-btn{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;display:flex}.convert-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.convert-btn:disabled{opacity:.5;cursor:not-allowed}.apply-btn{background:var(--green);color:#fff;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;display:flex}.apply-btn:hover:not(:disabled){opacity:.9}.apply-btn:disabled{opacity:.4;cursor:not-allowed}.backtest-btn{color:#fff;cursor:pointer;background:#1a6cff;border:none;border-radius:4px;align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:500;display:flex}.backtest-btn:hover:not(:disabled){opacity:.9}.backtest-btn:disabled{opacity:.4;cursor:not-allowed}.pine-capital-field{color:var(--text-secondary);align-items:center;gap:6px;font-size:11px;display:inline-flex}.pine-capital-field input{border:1px solid var(--border);background:var(--bg-primary);width:88px;color:var(--text-primary);border-radius:4px;padding:4px 8px;font-size:12px}.pine-action-bar-btns--wrap{row-gap:8px}.pine-backtest-results{border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;max-height:42%;padding:10px 12px 12px;overflow:auto}.pine-backtest-meta{color:var(--text-muted);margin-bottom:8px;font-size:11px}.pine-backtest-metrics{margin-bottom:8px}.bt-results{flex-direction:column;gap:12px;min-height:0;display:flex}.bt-results--compact{border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;max-height:min(52vh,480px);padding:10px 12px 12px;overflow:auto}.bt-results-count{color:var(--text-secondary)}.bt-period-line{color:var(--text-secondary);margin-top:4px;font-size:11px}.bt-period-duration{color:var(--accent,#2962ff);font-weight:600}.bt-period-bars{color:var(--text-muted)}.bt-section-title{color:var(--text-secondary);letter-spacing:.02em;margin-bottom:6px;font-size:11px;font-weight:600}.bt-section-title-row{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.bt-section-title-row .bt-section-title{margin-bottom:0}.bt-benchmark-toggle{color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;align-items:center;gap:5px;font-size:11px;display:inline-flex}.bt-equity-block{isolation:isolate;flex-direction:column;flex-shrink:0;gap:6px;display:flex}.bt-equity-chart{border:1px solid var(--border);background:var(--bg-primary);z-index:0;border-radius:6px;flex-direction:column;height:148px;display:flex;position:relative;overflow:hidden}.bt-equity-plot{flex:auto;width:100%;height:118px;min-height:0;position:relative;overflow:hidden}.bt-equity-svg{width:100%;height:100%;display:block;overflow:hidden}.bt-equity-baseline{stroke:var(--text-muted);stroke-width:.4px;stroke-dasharray:2 2;vector-effect:non-scaling-stroke;opacity:.55}.bt-equity-labels{font-variant-numeric:tabular-nums;color:var(--text-muted);background:var(--bg-primary);border-top:1px solid #2a2e3980;flex:none;justify-content:space-between;align-items:center;padding:4px 8px 6px;font-size:11px;display:flex}.bt-equity-end-labels{align-items:center;gap:10px;display:inline-flex}.bt-equity-hold-label{color:var(--text-muted)}.bt-equity-labels .up{color:var(--green,#26a69a)}.bt-equity-labels .down{color:var(--red,#ef5350)}.bt-equity-legend{color:var(--text-muted);gap:14px;font-size:10px;display:flex}.bt-legend-strategy:before,.bt-legend-hold:before{content:"";vertical-align:middle;border-radius:1px;width:14px;height:2px;margin-right:5px;display:inline-block}.bt-legend-strategy:before{background:var(--green,#26a69a)}.bt-legend-hold:before{background:var(--text-muted);background-image:repeating-linear-gradient(90deg, var(--text-muted) 0 4px, transparent 4px 7px)}.bt-equity-empty{height:148px;color:var(--text-muted);border:1px solid var(--border);border-radius:6px;justify-content:center;align-items:center;display:flex}.bt-trades-block{z-index:1;flex-shrink:0;margin-top:4px;padding-top:4px;position:relative}.bt-trades-empty{color:var(--text-muted);padding:12px 0;font-size:12px}.bt-trades-scroll{border:1px solid var(--border);background:var(--bg-primary);border-radius:6px;max-height:220px;overflow:auto}.bt-trades-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:11px}.bt-trades-table th,.bt-trades-table td{text-align:left;white-space:nowrap;border-bottom:1px solid #2a2e3973;padding:6px 8px}.bt-trades-table th{z-index:2;background:var(--bg-tertiary,#1e222d);color:var(--text-muted);text-transform:none;font-size:10px;font-weight:600;position:sticky;top:0}.bt-trades-table td.up{color:var(--green,#26a69a)}.bt-trades-table td.down{color:var(--red,#ef5350)}.bt-trades-table tbody tr:hover td{background:#ffffff08}.pine-capital-field select{border:1px solid var(--border);background:var(--bg-primary);max-width:110px;color:var(--text-primary);border-radius:4px;padding:4px 6px;font-size:12px}.pine-actions-row .compile-btn{margin-left:auto}.pine-textarea{min-height:120px;font-family:var(--font-mono);color:var(--text-primary);background:var(--bg-primary);resize:none;tab-size:2;-webkit-user-select:text;user-select:text;border:none;flex:1;padding:12px;font-size:12px;line-height:1.6}.pine-editor .pine-risk-banner,.pine-editor .pine-legal-note{display:none}.pine-editor--expanded .pine-editor-footer{padding:4px 12px}.pine-expand-backdrop{display:none}.pine-editor--expanded{z-index:1200;pointer-events:none;background:0 0;border-top:none;height:auto;min-height:0;position:fixed;inset:0}.pine-editor--expanded .pine-expand-backdrop{cursor:pointer;pointer-events:auto;background:#0000008c;border:none;display:block;position:absolute;inset:0}.pine-editor--expanded .pine-editor-shell{border:1px solid var(--border);pointer-events:auto;border-radius:10px;width:min(1100px,100vw - 32px);height:min(860px,100vh - 32px);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 16px 48px #00000073}.pine-editor--expanded .pine-textarea,.pine-editor--expanded .pine-textarea-prompt{min-height:280px}@media (width<=800px){.pine-split-body{flex-direction:column}.pine-pane-arrow svg{transform:none}.pine-pane-arrow{border-left:none;border-right:none;padding:2px 0}.pine-editor{height:min(55vh,560px)}}.pine-result{flex-shrink:0;align-items:flex-start;gap:6px;padding:6px 12px;font-size:12px;display:flex}.pine-result.success{color:var(--green);background:#26a69a15}.pine-result.warning{color:#ffb74d;background:#ff980020}.pine-result.error{color:var(--red);background:#ef535015}.pine-result-message{font-family:var(--font-sans);white-space:pre-wrap;word-break:break-word;flex:1;margin:0;font-size:12px}.pine-warnings{color:#ffb74d;margin:4px 0 0 20px;font-size:11px}.pine-js-preview{padding:0 12px;font-size:11px}.pine-js-preview summary{cursor:pointer;color:var(--text-secondary);padding:4px 0}.pine-js-preview pre{background:var(--bg-primary);max-height:80px;font-family:var(--font-mono);color:var(--text-secondary);border-radius:4px;padding:8px;font-size:10px;overflow-x:auto}.pine-actions{border-top:1px solid var(--border);padding:8px 12px}.compile-btn{background:linear-gradient(135deg, var(--accent), #7c4dff);color:#fff;border-radius:4px;align-items:center;gap:6px;padding:6px 16px;font-size:12px;font-weight:500;transition:opacity .15s;display:flex}.compile-btn:hover:not(:disabled){opacity:.9}.compile-btn:disabled{opacity:.5;cursor:not-allowed}.modal-overlay{z-index:2000;background:#0009;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal{background:var(--bg-secondary);border:1px solid var(--border);border-radius:10px;width:100%;max-width:420px;max-height:90vh;overflow-y:auto;box-shadow:0 16px 48px #00000080}.modal-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-header h2{font-size:15px;font-weight:600}.auth-tabs{border-bottom:1px solid var(--border);display:flex}.auth-tabs button{color:var(--text-secondary);border-bottom:2px solid #0000;flex:1;padding:10px;font-size:13px}.auth-tabs button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.auth-form{flex-direction:column;gap:12px;padding:16px;display:flex}.auth-form label{color:var(--text-muted);flex-direction:column;gap:4px;font-size:11px;display:flex}.auth-form input{background:var(--bg-tertiary);border:1px solid var(--border);color:var(--text-primary);border-radius:4px;padding:8px 10px}.auth-form input:focus{border-color:var(--accent)}.auth-error{color:var(--red);font-size:12px}.auth-submit{width:100%;margin-top:4px;padding:10px}.auth-remember{cursor:pointer;align-items:flex-start;line-height:1.4;color:var(--text-secondary)!important;flex-direction:row!important;gap:8px!important;font-size:12px!important}.auth-remember input{flex-shrink:0;margin-top:2px}.auth-legal-accept{cursor:pointer;align-items:flex-start;margin-top:4px;line-height:1.45;color:var(--text-secondary)!important;flex-direction:row!important;gap:8px!important;font-size:11px!important}.auth-legal-accept input{flex-shrink:0;margin-top:3px}.account-btn{border:1px solid var(--border);color:var(--text-secondary);border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:flex}.account-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.account-email{text-overflow:ellipsis;white-space:nowrap;max-width:80px;overflow:hidden}.plan-badge{border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.plan-badge--free{background:var(--bg-tertiary);color:var(--text-muted)}.plan-badge--pro{color:#fff;background:linear-gradient(135deg,#f5a623,#ff6b35)}.plan-badge--elite{color:#fff;background:linear-gradient(135deg,#a78bfa,#6366f1)}.account-dropdown-item.upgrade.elite{color:#c4b5fd}.account-menu{position:relative}.account-backdrop{z-index:100;position:fixed;inset:0}.account-dropdown{background:var(--bg-secondary);border:1px solid var(--border);z-index:101;border-radius:8px;min-width:220px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 8px 24px #0006}.account-dropdown-header{border-bottom:1px solid var(--border);padding:12px 14px}.account-dropdown-email{color:var(--text-primary);word-break:break-all;font-size:12px}.account-dropdown-limits{color:var(--text-muted);margin-top:4px;font-size:10px}.account-dropdown-item{width:100%;color:var(--text-secondary);text-align:left;align-items:center;gap:8px;padding:10px 14px;font-size:12px;display:flex}.account-dropdown-item:hover{background:var(--bg-hover);color:var(--text-primary)}.account-dropdown-item.upgrade{color:#f5a623}.account-menu--guest{align-items:center;gap:6px;display:flex}.account-btn--pricing{color:#f5a623;border-color:#f5a62359}.account-btn--pricing:hover{color:#ffc05a;border-color:#f5a6238c}.pricing-modal{max-width:860px}.pricing-subtitle{color:var(--text-secondary);margin-top:4px;font-size:12px;font-weight:400}.pricing-grid{grid-template-columns:repeat(3,1fr);gap:12px;padding:16px;display:grid}.pricing-card{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:12px;padding:16px 14px 14px;display:flex;position:relative}.pricing-card--featured{border-color:#f5a6238c;box-shadow:0 0 0 1px #f5a62333}.pricing-card--elite{border-color:#a78bfa59}.pricing-card--current{background:#252a38}.pricing-card-ribbon{letter-spacing:.02em;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#f5a623,#ff6b35);border-radius:999px;padding:2px 8px;font-size:10px;font-weight:600;position:absolute;top:-9px;left:50%;transform:translate(-50%)}.pricing-card-head{align-items:center;gap:8px;display:flex}.pricing-card-icon{color:var(--text-secondary)}.pricing-card--pro .pricing-card-icon{color:#f5a623}.pricing-card--elite .pricing-card-icon{color:#c4b5fd}.pricing-card-name{font-size:14px;font-weight:600}.pricing-card-price{align-items:baseline;gap:2px;min-height:36px;display:flex}.pricing-currency{color:var(--text-secondary);font-size:14px}.pricing-amount{letter-spacing:-.02em;font-size:28px;font-weight:700;line-height:1}.pricing-period{color:var(--text-muted);margin-left:2px;font-size:12px}.pricing-price-free{font-size:24px;font-weight:700}.pricing-features{flex-direction:column;flex:1;gap:8px;margin:0;padding:0;list-style:none;display:flex}.pricing-features li{color:var(--text-secondary);align-items:flex-start;gap:8px;font-size:12px;line-height:1.35;display:flex}.pricing-features li svg{color:var(--green);flex-shrink:0;margin-top:1px}.pricing-cta{border-radius:6px;width:100%;padding:9px 12px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s}.pricing-cta:disabled{opacity:.55;cursor:default}.pricing-cta--primary{color:#fff;background:linear-gradient(135deg,#f5a623,#ff6b35)}.pricing-cta--primary:hover:not(:disabled){filter:brightness(1.06)}.pricing-cta--ghost{border:1px solid var(--border);color:var(--text-primary);background:0 0}.pricing-cta--ghost:hover:not(:disabled){background:var(--bg-hover)}.pricing-card--elite .pricing-cta--ghost:not(.pricing-cta--current){color:#ddd6fe;border-color:#a78bfa73}.pricing-cta--current{background:var(--bg-secondary);color:var(--text-muted);border-color:#0000}.pricing-error{color:var(--red);background:#ef53501f;border-radius:6px;margin:0 16px 8px;padding:8px 10px;font-size:12px}.pricing-footnote{color:var(--text-muted);text-align:center;padding:0 16px 16px;font-size:11px}@media (width<=720px){.pricing-grid{grid-template-columns:1fr}.pricing-modal{max-width:420px}}.backtest-metrics{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.backtest-metric{background:var(--bg-tertiary);border-radius:6px;padding:10px}.backtest-metric-label{color:var(--text-muted);text-transform:uppercase;font-size:10px}.backtest-metric-value{font-variant-numeric:tabular-nums;margin-top:2px;font-size:16px;font-weight:600}.backtest-metric-sub{color:var(--text-secondary);font-size:11px}.draw-settings-modal--fib{width:min(520px,100vw - 32px)}.draw-settings-color{cursor:pointer;background:0 0;border:1px solid #363a45;border-radius:4px;width:28px;height:24px;padding:0}.draw-settings-levels-grid{grid-template-columns:1fr 1fr;gap:4px 16px;display:grid}.draw-settings-level{color:#d1d4dc;align-items:center;gap:8px;padding:4px 0;font-size:12px;display:flex}.draw-settings-level-value{font-variant-numeric:tabular-nums;color:#787b86;min-width:48px}.chart-replay-hint{color:#64b5f6;text-align:center;background:#2962ff1a;border-bottom:1px solid #2962ff40;flex-shrink:0;padding:6px 12px;font-size:12px}.chart-replay-badge{z-index:55;letter-spacing:.06em;color:#fff;pointer-events:none;background:#2962ff;border-radius:4px;padding:4px 10px;font-size:11px;font-weight:600;position:absolute;top:52px;left:50%;transform:translate(-50%)}.chart-pane-view--replay-pick{cursor:crosshair}.replay-toolbar-btn.active{color:#64b5f6;border-color:#2962ff}.replay-bar{border-top:1px solid var(--border);background:var(--bg-secondary);flex-shrink:0;padding:8px 12px}.replay-bar-inner{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.replay-bar-btn{width:32px;height:32px;color:var(--text-secondary);border:1px solid #0000;border-radius:4px;justify-content:center;align-items:center;display:flex}.replay-bar-btn:hover:not(:disabled){color:var(--text-primary);background:#ffffff0f}.replay-bar-btn:disabled{opacity:.35;cursor:not-allowed}.replay-bar-btn--primary{color:#fff;background:#2962ff;border-radius:50%;width:36px;height:36px}.replay-bar-btn--primary:hover:not(:disabled){color:#fff;background:#1e53e5}.replay-bar-speeds{gap:2px;margin-left:4px;display:flex}.replay-bar-speed{color:var(--text-muted);border:1px solid #0000;border-radius:4px;padding:4px 8px;font-size:11px}.replay-bar-speed:hover{color:var(--text-primary);background:#ffffff0d}.replay-bar-speed.active{color:#64b5f6;background:#2962ff1f;border-color:#2962ff}.replay-bar-scrub{flex:1;align-items:center;gap:10px;min-width:200px;margin-left:8px;display:flex}.replay-bar-scrub-icon{color:var(--text-muted);flex-shrink:0}.replay-bar-slider{accent-color:#2962ff;flex:1;min-width:120px}.replay-bar-time{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.replay-bar-counter{color:var(--text-muted);font-variant-numeric:tabular-nums;white-space:nowrap;font-size:11px}.tour-root{z-index:5000;pointer-events:none;position:fixed;inset:0}.tour-backdrop{pointer-events:auto;background:#040810b8;position:absolute;inset:0}.tour-hole-catcher{pointer-events:auto;position:absolute;inset:0}.tour-hole{pointer-events:none;z-index:5001;border-radius:10px;transition:top .18s,left .18s,width .18s,height .18s;position:fixed;box-shadow:0 0 0 2px #2962fff2,0 0 0 9999px #040810b8}.tour-card{background:var(--bg-secondary);border:1px solid var(--border);z-index:5002;pointer-events:auto;width:min(360px,100vw - 32px);color:var(--text-primary);border-radius:12px;padding:14px 16px 12px;position:fixed;box-shadow:0 18px 48px #0000008c}.tour-card--center{box-shadow:0 22px 60px #000000a6}.tour-card-header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:8px;display:flex}.tour-step-badge{color:#8ab4ff;letter-spacing:.02em;font-size:11px;font-weight:600}.tour-close{width:28px;height:28px;color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.tour-close:hover{background:var(--bg-hover);color:var(--text-primary)}.tour-title{margin:0 0 8px;font-size:16px;font-weight:650;line-height:1.3}.tour-body{color:var(--text-secondary);margin:0 0 8px;font-size:13px;line-height:1.5}.tour-tip{color:#c9d4f0;background:#2962ff1f;border:1px solid #2962ff47;border-radius:8px;margin:0 0 12px;padding:8px 10px;font-size:12px;line-height:1.45}.tour-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.tour-nav{align-items:center;gap:6px;display:flex}.tour-btn{align-items:center;gap:4px;min-height:32px;padding:0 12px;font-size:12px;display:inline-flex}.tour-btn--icon{padding:0 8px}.tour-btn:disabled{opacity:.4;cursor:not-allowed}.tour-keys{color:var(--text-muted);margin:10px 0 0;font-size:10px}.top-bar-help-btn{border:1px solid var(--border);height:30px;color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:0 10px;font-size:12px;display:inline-flex}.top-bar-help-btn:hover{background:var(--bg-hover);color:var(--text-primary);border-color:#2962ff73}.top-bar-help-label{line-height:1}.account-btn--tour{color:var(--text-secondary)}@media (width<=720px){.top-bar-help-label{display:none}.tour-card{width:auto;right:16px;left:16px!important}}
