*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#09090b;--surface:#111113;--surface2:#18181b;--border:#27272a;--border-hover:#3f3f46;--text:#f0f0f3;--text-dim:#9a9aa6;--text-muted:#7a7a86;--text-bright:#fff;--accent:#a1a1aa;--green:#22c55e;--green-dim:#16a34a;--red:#ef4444;--red-dim:#dc2626;--blue:#3b82f6}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;height:100dvh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);flex-direction:column;font-family:Courier New,Courier,monospace;font-size:14px;font-weight:700;line-height:1.65;display:flex}#root{flex-direction:column;height:100dvh;display:flex}.intro-landing{flex-direction:column;justify-content:center;align-items:center;max-width:640px;min-height:calc(100dvh - 80px);margin:0 auto;padding:48px 24px 40px;display:flex}.intro-brand{letter-spacing:16px;text-transform:uppercase;color:var(--text-bright);margin-bottom:12px;font-size:36px}.intro-headline{letter-spacing:4px;text-transform:uppercase;color:var(--text-dim);margin-bottom:8px;font-size:14px}.intro-sub{letter-spacing:2px;color:var(--text-muted);margin-bottom:36px;font-size:13px}.intro-features{flex-direction:column;gap:0;width:100%;margin-bottom:36px;display:flex}.intro-feature{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding:14px 16px;display:flex}.intro-feature:first-child{border-top:1px solid var(--border)}.intro-feature .feat-num{color:var(--text-muted);flex-shrink:0;width:28px;font-size:16px;font-weight:700}.intro-feature .feat-text{flex:1}.intro-feature .feat-title{letter-spacing:2px;text-transform:uppercase;color:var(--text-bright);font-size:13px}.intro-feature .feat-desc{color:var(--text-muted);margin-top:2px;font-size:12px}.intro-cta{width:100%;max-width:360px}.intro-cta .btn{border:1px solid var(--text-bright);background:var(--text-bright);width:100%;min-height:52px;color:var(--bg);letter-spacing:4px;text-transform:uppercase;cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:16px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .2s;display:flex}.intro-cta .btn:hover{opacity:.9}.intro-cta .error{color:var(--red);text-align:center;margin-top:12px;font-size:13px}.intro-cta .hint{text-align:center;color:var(--text-muted);letter-spacing:1px;margin-top:10px;font-size:12px}.intro-footer{letter-spacing:2px;color:var(--text-muted);margin-top:32px;font-size:12px}.intro-footer a{color:var(--text-dim);text-decoration:none}.intro-footer a:hover{color:var(--text-bright)}header .logo{letter-spacing:8px;text-transform:uppercase;color:var(--text-bright);font-size:20px}.pipeline{flex:1;align-items:center;gap:0;display:flex}.pipeline .step{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:14px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:all .2s;position:relative}.pipeline .step:hover{color:var(--text)}.pipeline .step.active{color:var(--text-bright)}.pipeline .step.completed{color:var(--text)}.pipeline .step:after{content:"";background:0 0;height:2px;transition:background .3s;position:absolute;bottom:0;left:0;right:0}.pipeline .step.active:after{background:var(--text-bright)}.pipeline .step.completed:after{background:var(--text-muted)}.pipeline .step .step-num{display:none}.pipeline .sep{align-items:center;padding:0 2px;display:flex}.pipeline .sep:before{content:"";background:var(--border);width:12px;height:1px}.header-wrapper{flex-shrink:0}.header-top{border-bottom:1px solid var(--border);background:var(--surface);align-items:center;gap:4px;height:48px;padding:0 16px;display:flex}.header-top .logo{letter-spacing:8px;cursor:pointer;font-size:20px}.header-nav{align-items:center;gap:0;margin-left:24px;display:flex}.header-tab{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:14px;font-family:inherit;font-size:13px;font-weight:700;transition:color .15s;position:relative}.header-tab:hover{color:var(--text)}.header-tab.active{color:var(--text-bright)}.header-tab:after{content:"";background:0 0;height:2px;transition:background .2s;position:absolute;bottom:0;left:0;right:0}.header-tab.active:after{background:var(--text-bright)}.header-session-row{border-bottom:1px solid var(--border);background:var(--bg);align-items:center;gap:10px;height:36px;padding:0 16px;display:flex}.header-session-name{color:var(--text);cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;max-width:200px;padding:0;font-family:inherit;font-size:13px;font-weight:700;overflow:hidden}.header-session-name:hover{color:var(--text-bright)}.header-arrow{color:var(--text-muted);font-size:9px}.header-asset{color:var(--text);letter-spacing:1px;border:1px solid var(--border);cursor:pointer;background:0 0;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:700;transition:border-color .15s}.header-asset:hover{border-color:var(--text)}.header-action-btn{border:1px solid var(--border);color:var(--text-muted);letter-spacing:1px;cursor:pointer;background:0 0;padding:3px 10px;font-family:inherit;font-size:11px;font-weight:700;transition:all .15s}.header-action-btn:hover{border-color:var(--text);color:var(--text)}.nav-secondary{border-left:1px solid var(--border);align-items:center;gap:4px;margin-left:8px;padding-left:12px;display:flex}.nav-secondary button{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:16px 12px;font-family:inherit;font-size:14px;font-weight:700;transition:color .15s}.nav-secondary button:hover{color:var(--text)}.nav-secondary button.active{color:var(--text-bright);border-bottom-color:var(--text-bright)}header .spacer{flex:1}header .user-info{letter-spacing:1px;color:var(--text-dim);font-size:14px}header .logout{letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);cursor:pointer;border:1px solid var(--border);background:0 0;padding:6px 14px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}header .logout:hover{border-color:var(--red);color:var(--red)}.session-bar{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;align-items:center;gap:8px;min-height:36px;padding:6px 24px;display:flex}.session-select{background:var(--surface);color:var(--text-bright);border:1px solid var(--border);cursor:pointer;outline:none;max-width:250px;padding:4px 10px;font-family:inherit;font-size:14px;font-weight:700}.session-select:focus{border-color:var(--text-dim)}.session-name-edit{color:var(--text-bright);background:0 0;border:none;border-bottom:1px solid #0000;outline:none;max-width:200px;padding:2px 4px;font-family:inherit;font-size:14px;font-weight:700}.session-name-edit:hover{border-bottom-color:var(--border)}.session-name-edit:focus{border-bottom-color:var(--text-dim)}.session-status{letter-spacing:1px;text-transform:uppercase;border-radius:2px;padding:2px 8px;font-size:14px}.session-status.draft{color:var(--text-muted);border:1px solid var(--border)}.session-status.tested{color:var(--blue);border:1px solid var(--blue)}.session-status.deployed{color:var(--green);border:1px solid var(--green)}.session-btn{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border);cursor:pointer;background:0 0;padding:3px 10px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.session-btn:hover{border-color:var(--text-dim);color:var(--text)}.session-btn.new{color:var(--green-dim);border-color:var(--green-dim)}.session-btn.new:hover{color:var(--green);border-color:var(--green)}.session-wallet{color:var(--text-muted);margin-left:auto;font-size:14px}.session-wallet span{color:var(--text-dim)}#main{flex:1;display:flex;overflow:hidden}#chart-column{border-right:1px solid var(--border);background:var(--bg);flex-direction:column;width:60%;min-width:400px;padding:12px;display:flex}.chart-header{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;min-height:28px;padding:4px 12px;display:flex}.chart-title{letter-spacing:2px;color:var(--text-dim);font-size:12px}.chart-ohlcv{color:var(--text-muted);flex-wrap:wrap;gap:6px;font-size:11px;display:flex}.chart-ohlcv b{color:var(--text)}.chart-tab-group{flex-shrink:0;gap:0;margin-left:auto;display:flex}#panel-column{flex-direction:column;flex:1;min-width:300px;display:flex;overflow:hidden}.panel{flex-direction:column;flex:1;display:none;overflow:hidden}.panel.active{display:flex}.strategy-panel{flex-direction:column;display:none}.strategy-panel.active{display:flex}.strategy-input{border-bottom:1px solid var(--border);background:var(--surface);flex-direction:column;flex-shrink:0;width:100%;max-height:50%;display:flex}.section-label{letter-spacing:3px;text-transform:uppercase;color:var(--text-dim);padding:16px 20px 10px;font-size:14px}.select-layout{flex-direction:column;height:100%;display:flex;overflow:hidden}.select-header{border-bottom:1px solid var(--border);padding:24px 28px 16px}.select-title{color:var(--text-bright);letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;font-size:16px}.select-sub{color:var(--text-muted);font-size:14px}.select-timeframe{border-bottom:1px solid var(--border);align-items:center;gap:6px;padding:12px 28px;display:flex}.select-tf-label{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);margin-right:8px;font-size:14px}.tf-btn{border:1px solid var(--border);color:var(--text-dim);cursor:pointer;background:0 0;padding:5px 12px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.tf-btn:hover{border-color:var(--text-dim);color:var(--text)}.tf-btn.active{border-color:var(--text-bright);color:var(--text-bright);background:var(--surface2)}.select-basket{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;padding:10px 28px;display:flex}.basket-label{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;font-size:14px}.basket-empty{color:var(--text-muted);opacity:.5;font-size:14px}.basket-tags{flex-wrap:wrap;flex:1;gap:4px;display:flex}.basket-tag{background:var(--surface2);border:1px solid var(--border);color:var(--text);align-items:center;gap:4px;padding:3px 8px;font-family:inherit;font-size:14px;font-weight:700;display:flex}.basket-tag .remove{cursor:pointer;color:var(--text-muted);font-size:14px;line-height:1}.basket-tag .remove:hover{color:var(--red)}.basket-next{letter-spacing:1px;background:var(--text-bright);border:1px solid var(--text-bright);color:var(--bg);cursor:pointer;flex-shrink:0;margin-left:auto;padding:6px 16px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .15s}.basket-next:hover{opacity:.85}.basket-next:disabled{opacity:.3;cursor:not-allowed}.asset-grid{background:var(--border);flex:1;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1px;padding:1px;display:grid;overflow-y:auto}.asset-card{background:var(--bg);cursor:pointer;-webkit-user-select:none;user-select:none;flex-direction:column;padding:14px 16px;transition:background .15s;display:flex}.asset-card:hover{background:var(--surface)}.asset-card.selected{background:var(--surface2);outline:1px solid var(--text-dim);outline-offset:-1px}.asset-card .coin{color:var(--text-bright);margin-bottom:2px;font-size:14px}.asset-card .price{color:var(--text-dim);font-size:14px}.chat-welcome{flex-direction:column;flex:1;justify-content:center;align-items:center;gap:6px;padding:40px 20px;display:flex}.welcome-title{color:var(--text);letter-spacing:1px;font-size:15px}.welcome-sub{color:var(--text-muted);margin-bottom:20px;font-size:14px}.welcome-templates{grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:480px;margin-bottom:20px;display:grid}.welcome-template{background:var(--surface);border:1px solid var(--border);cursor:pointer;text-align:left;flex-direction:column;gap:4px;padding:14px 12px;font-family:inherit;transition:all .15s;display:flex}.welcome-template:hover{border-color:var(--text-dim)}.welcome-template .tmpl-name{color:var(--text-bright);letter-spacing:.5px;font-size:14px;font-weight:700}.welcome-template .tmpl-desc{color:var(--text-muted);font-size:9px;line-height:1.4}.welcome-or{color:var(--text-muted);letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;font-size:14px}.welcome-examples{flex-direction:column;gap:6px;width:100%;max-width:340px;display:flex}.welcome-example{color:var(--text-dim);border:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.4;transition:all .15s}.welcome-example:hover{border-color:var(--text-dim);color:var(--text)}.chat-messages{overscroll-behavior:contain;flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.chat-msg{white-space:pre-wrap;word-break:break-word;max-width:95%;padding:10px 14px;font-size:14px;line-height:1.6}.chat-msg.user{background:var(--surface2);border:1px solid var(--border);color:var(--text-bright);align-self:flex-end}.chat-msg.assistant{background:var(--bg);border:1px solid var(--border);color:var(--text);align-self:flex-start}.chat-msg.thinking{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);align-self:flex-start;max-width:90%;font-size:13px}.thinking-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);align-items:center;gap:6px;margin-bottom:4px;font-size:11px;display:flex}.thinking-dot{background:var(--text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite thinkingPulse;display:inline-block}@keyframes thinkingPulse{0%,to{opacity:.3;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}.thinking-content{opacity:.6;white-space:pre-wrap;word-break:break-word;max-height:120px;overflow-y:auto}.chat-msg.system{color:var(--text-muted);border:none;align-self:center;padding:6px;font-size:14px}.chat-msg ul,.chat-msg ol{margin:6px 0;padding-left:20px}.chat-msg li{margin:2px 0;line-height:1.6}.chat-msg code{background:var(--surface2);padding:1px 4px;font-size:14px}.chat-msg pre{background:var(--bg);border:1px solid var(--border);white-space:pre;margin:8px 0;padding:12px;font-size:14px;line-height:1.7;overflow-x:auto}.strategy-block{border:1px solid var(--border);margin:10px 0 4px;overflow:hidden}.strategy-block-header{background:var(--surface2);border-bottom:1px solid var(--border);letter-spacing:2px;text-transform:uppercase;color:var(--text-dim);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:8px 12px;font-size:14px;display:flex}.strategy-block-header:hover{color:var(--text)}.strategy-block-header .arrow{font-size:8px;transition:transform .15s}.strategy-block-header.collapsed .arrow{transform:rotate(-90deg)}.strategy-block-body{padding:12px;font-size:14px;line-height:1.7}.strategy-block-body.hidden{display:none}.strategy-block.logic-block{border-color:#2d4a3e}.strategy-block.logic-block .strategy-block-header{color:var(--green);background:#1a2e25}.strategy-block.logic-block .strategy-block-body{color:var(--text);background:#0d1a14}.strategy-block.code-block .strategy-block-body{background:var(--bg);white-space:pre;color:var(--text-dim);font-family:Courier New,monospace;font-size:14px;overflow-x:auto}.chat-session-bar{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:6px 16px;display:flex}.chat-session-name{color:var(--text);text-align:left;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;padding:4px 0;font-family:inherit;font-size:13px;font-weight:700;overflow:hidden}.chat-session-name:hover{color:var(--text-bright)}.chat-session-arrow{color:var(--text-muted);font-size:10px}.chat-session-asset{color:var(--text);letter-spacing:1px;border:1px solid var(--border);background:var(--bg);cursor:pointer;flex-shrink:0;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:700;transition:all .15s}.chat-session-asset:hover{border-color:var(--text)}.asset-picker-overlay{z-index:200;background:var(--bg);flex-direction:column;display:flex;position:fixed;inset:0}.asset-picker-header{border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.asset-picker-search{background:var(--surface);border:1px solid var(--border);color:var(--text);outline:none;flex:1;padding:10px 12px;font-family:inherit;font-size:16px}.asset-picker-search:focus{border-color:var(--text-muted)}.asset-picker-tf{border-bottom:1px solid var(--border);flex-shrink:0;gap:0;display:flex}.asset-picker-tf-btn{color:var(--text-muted);letter-spacing:1px;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:10px;font-family:inherit;font-size:13px;font-weight:700}.asset-picker-tf-btn.active{color:var(--text-bright);border-bottom-color:var(--text-bright)}.asset-picker-selected{background:var(--surface);border-bottom:1px solid var(--border);color:var(--text-bright);flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 16px;font-size:14px;font-weight:700;display:flex}.asset-picker-done{background:var(--text-bright);color:var(--bg);letter-spacing:2px;cursor:pointer;border:none;padding:6px 20px;font-family:inherit;font-size:13px;font-weight:700}.asset-picker-list{-webkit-overflow-scrolling:touch;flex:1;overflow-y:auto}.asset-picker-item{border:none;border-bottom:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;justify-content:space-between;align-items:center;padding:12px 16px;font-family:inherit;font-size:14px;font-weight:700;display:flex}.asset-picker-item:active{background:#ffffff0d}.asset-picker-item.active{border-left:3px solid var(--green);background:#ffffff0a}.chat-session-new{border:1px solid var(--border);width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;font-size:16px;transition:all .15s;display:flex}.chat-session-new:hover{border-color:var(--text);color:var(--text)}.chat-params{border-top:1px solid var(--border);background:var(--bg);flex-shrink:0;padding:8px 16px}.chat-param-row{align-items:center;gap:6px;margin-bottom:4px;display:flex}.chat-param-name{color:var(--text);min-width:60px;font-size:12px;font-weight:700}.chat-param-input{background:var(--surface);border:1px solid var(--border);width:55px;color:var(--text);text-align:right;outline:none;padding:4px 6px;font-family:inherit;font-size:13px}.chat-param-input.sm{width:40px}.chat-param-input:focus{border-color:var(--text-muted)}.chat-param-opt{color:var(--text-muted);cursor:pointer;align-items:center;gap:3px;font-size:11px;display:flex}.chat-param-sep{color:var(--text-muted);font-size:11px}.chat-param-actions{gap:6px;margin-top:6px;display:flex}.chat-opt-results{flex-direction:column;gap:2px;margin-top:8px;display:flex}.chat-opt-row{border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;background:0 0;gap:8px;padding:4px 8px;font-family:inherit;font-size:11px;transition:background .1s;display:flex}.chat-opt-row:hover{background:#ffffff08}.chat-action-row{flex-shrink:0;gap:8px;padding:8px 16px 0;display:flex}.chat-action-btn{letter-spacing:1px;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;flex:1;padding:8px 0;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s}.chat-action-btn:hover{border-color:var(--text);color:var(--text)}.chat-action-btn.primary{border-color:var(--green);color:var(--green)}.chat-action-btn.primary:hover{background:#22c55e1a}.chat-action-btn:disabled{opacity:.4;cursor:default}.chat-input-area{border-top:1px solid var(--border);flex-shrink:0;align-items:flex-end;gap:8px;padding:8px 16px 12px;display:flex}.chat-input-area textarea{background:var(--bg);border:1px solid var(--border);color:var(--text-bright);resize:none;outline:none;flex:1;min-height:40px;max-height:120px;padding:10px 14px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.5;transition:border-color .2s}.chat-input-area textarea:focus{border-color:var(--text-muted)}.chat-input-area textarea::placeholder{color:var(--text-muted);font-weight:400}.chat-input-area button{letter-spacing:2px;text-transform:uppercase;background:var(--text-bright);border:1px solid var(--text-bright);color:var(--bg);cursor:pointer;align-self:flex-end;padding:10px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:opacity .15s}.chat-input-area button:hover{opacity:.85}.chat-input-area button:disabled{opacity:.3;cursor:not-allowed}.strategy-controls{border-top:1px solid var(--border);align-items:center;gap:8px;padding:12px 20px;display:flex}.strategy-controls select,.strategy-controls input[type=text]{background:var(--bg);border:1px solid var(--border);color:var(--text);cursor:pointer;outline:none;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:700;transition:border-color .2s}.strategy-controls select:focus,.strategy-controls input[type=text]:focus{border-color:var(--text-muted)}.strategy-controls select option{background:var(--surface)}.btn-action{letter-spacing:2px;text-transform:uppercase;cursor:pointer;white-space:nowrap;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.btn-action:disabled{opacity:.3;cursor:not-allowed}.btn-generate{border:1px solid var(--border-hover);color:var(--text-bright);background:0 0}.btn-generate:hover:not(:disabled){background:var(--surface2);border-color:var(--text-dim)}.btn-backtest{background:var(--text-bright);border:1px solid var(--text-bright);color:var(--bg)}.btn-backtest:hover:not(:disabled){opacity:.85}.fee-panel,.settings-panel{border-top:1px solid var(--border);background:var(--bg);padding:8px 20px 12px}.fee-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.fee-row label{letter-spacing:1px;text-transform:uppercase;color:var(--text);font-size:14px;font-weight:700}.fee-row input{background:var(--surface);border:1px solid var(--border);color:var(--text);text-align:right;outline:none;padding:6px 8px;font-family:inherit;font-size:14px;font-weight:700}.fee-row input:focus{border-color:var(--text-muted)}.fee-row span{color:var(--text-muted);font-size:14px}.script-editor{background:var(--surface);flex-direction:column;flex:1;min-width:0;display:flex}.script-editor-header{border-bottom:1px solid var(--border);align-items:center;gap:12px;padding:12px 20px;display:flex}.script-editor-header .section-label{flex:1;padding:0}.btn-save{letter-spacing:2px;text-transform:uppercase;border:1px solid var(--border-hover);color:var(--text);cursor:pointer;background:0 0;padding:6px 16px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.btn-save:hover{border-color:var(--green);color:var(--green)}.script-editor textarea{background:var(--bg);border:1px solid var(--border);color:var(--text);resize:none;white-space:pre;tab-size:4;outline:none;flex:1;margin:0 20px;padding:20px;font-family:inherit;font-size:14px;font-weight:700;line-height:1.8;transition:border-color .2s;overflow:auto}.script-editor textarea:focus{border-color:var(--text-muted)}.script-editor .status{color:var(--text-dim);min-height:20px;padding:12px 20px;font-size:14px}.script-editor .status.error{color:var(--red)}.script-editor .status.success{color:var(--green)}.workspace{flex:1;width:100%;display:flex;overflow:hidden}.sidebar-overlay{z-index:100;background:#00000080;position:fixed;inset:0}.workspace-sidebar{z-index:101;background:var(--surface);border-right:1px solid var(--border);flex-direction:column;width:260px;animation:.15s ease-out slideIn;display:flex;position:fixed;top:0;bottom:0;left:0}@keyframes slideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.sidebar-header{letter-spacing:2px;color:var(--text-bright);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;font-size:14px;font-weight:700;display:flex}.sidebar-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px}.sidebar-close:hover{color:var(--text-bright)}.sidebar-new{letter-spacing:1px;color:var(--text);border:none;border-bottom:1px solid var(--border);cursor:pointer;text-align:left;background:0 0;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:background .15s}.sidebar-new:hover{background:#ffffff0d}.sidebar-sessions{flex:1;overflow-y:auto}.sidebar-session{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:10px 16px;transition:background .15s;display:flex}.sidebar-session-del{color:var(--text-muted);cursor:pointer;opacity:.4;background:0 0;border:none;flex-shrink:0;padding:4px 6px;font-size:16px;transition:opacity .15s,color .15s}.sidebar-session-del:hover{opacity:1;color:var(--red)}.sidebar-session:hover{background:#ffffff08}.sidebar-session.active{border-left:2px solid var(--text-bright);background:#ffffff0f}.sidebar-session-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.sidebar-session-meta{color:var(--text-muted);margin-top:2px;font-size:11px}.workspace-left{background:var(--surface);flex-direction:column;flex-shrink:0;display:flex;overflow:hidden}.workspace-divider{cursor:col-resize;background:var(--border);flex-shrink:0;width:4px;transition:background .15s}.workspace-divider:hover{background:var(--text-muted)}.workspace-right{background:var(--bg);flex-direction:column;display:flex;overflow:hidden}.workspace-chart{flex-direction:column;flex:1;min-height:0;display:flex}.workspace-chart #chart-column{width:100%;min-width:unset;border-right:none;flex:1}.workspace-bottom{border-top:1px solid var(--border);flex-direction:column;height:40%;min-height:180px;display:flex}.workspace-tab-bar{border-bottom:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:0;padding:0 8px;display:flex}.workspace-tab{letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 16px;font-family:inherit;font-size:13px;font-weight:700;transition:all .15s}.workspace-tab:hover{color:var(--text)}.workspace-tab.active{color:var(--text-bright);border-bottom-color:var(--text-bright)}.workspace-tab-action{letter-spacing:1px;text-transform:uppercase;border:1px solid var(--border-hover);color:var(--text);cursor:pointer;background:0 0;margin-left:auto;padding:4px 14px;font-family:inherit;font-size:12px;font-weight:700;transition:all .15s}.workspace-tab-action:hover,.workspace-tab-action.deploy{border-color:var(--green);color:var(--green)}.workspace-tab-action.deploy:hover{background:#22c55e1a}.workspace-tab-action:disabled{opacity:.4;cursor:default}.workspace-script{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workspace-script textarea{background:var(--bg);color:var(--text);resize:none;white-space:pre;tab-size:4;border:none;outline:none;flex:1;margin:0;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.7;overflow:auto}.workspace-script textarea:focus{background:#0c0c0e}.workspace-results{flex:1;min-height:0;overflow-y:auto}.workspace-chat{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workspace-actions{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;align-items:center;gap:8px;padding:10px 16px;display:flex}.workspace-actions .btn-action{letter-spacing:1px;padding:8px 12px;font-size:12px}.ws-icon-btn{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:16px;transition:color .15s,border-color .15s;display:flex}.ws-icon-btn:hover{color:var(--text);border-color:var(--border-hover)}.backtest-progress{background:var(--bg);border-top:1px solid var(--border);flex-shrink:0;height:24px;position:relative;overflow:hidden}.backtest-progress-bar{background:linear-gradient(90deg,#22c55e26,#22c55e4d);height:100%;animation:4s ease-out forwards progressFill;position:absolute;top:0;left:0}@keyframes progressFill{0%{width:0%}60%{width:70%}90%{width:85%}to{width:92%}}.backtest-progress-text{letter-spacing:1px;height:100%;color:var(--text-muted);justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:0;left:0;right:0}.workspace-status-bar{color:var(--text-dim);text-overflow:ellipsis;white-space:nowrap;flex-shrink:0;min-height:24px;padding:4px 16px 6px;font-size:12px;overflow:hidden}.workspace-status-bar.error{color:var(--red)}.workspace-status-bar.success{color:var(--green)}.code-modal-overlay{z-index:200;background:#0009;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.code-modal{background:var(--surface);border-top:1px solid var(--border);border-radius:12px 12px 0 0;flex-direction:column;width:100%;max-width:600px;max-height:70vh;animation:.2s ease-out slideUp;display:flex}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.code-modal-header{letter-spacing:2px;color:var(--text-bright);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:700;display:flex}.code-modal-textarea{background:var(--bg);color:var(--text);resize:none;white-space:pre;tab-size:4;border:none;outline:none;flex:1;min-height:200px;padding:12px 16px;font-family:inherit;font-size:13px;font-weight:700;line-height:1.7;overflow:auto}.surface3d-container{aspect-ratio:4/3;border:1px solid var(--border);border-radius:4px;width:100%;max-height:300px;margin:8px 0;position:relative;overflow:hidden}.surface3d-canvas{cursor:grab;width:100%;height:100%}.surface3d-canvas:active{cursor:grabbing}.surface3d-hint{color:var(--text-muted);opacity:.6;pointer-events:none;font-size:10px;position:absolute;bottom:6px;right:8px}.library-list{flex:1;padding:12px 20px;overflow-y:auto}.strategy-card{border:1px solid var(--border);cursor:pointer;align-items:center;gap:16px;margin-bottom:10px;padding:16px 18px;transition:border-color .15s;display:flex}.strategy-card:hover{border-color:var(--border-hover)}.strategy-card .card-info{flex:1;min-width:0}.strategy-card .card-name{color:var(--text-bright);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:14px;overflow:hidden}.strategy-card .card-meta{letter-spacing:1px;color:var(--text-muted);text-transform:uppercase;font-size:14px}.strategy-card .card-stat{text-align:right;min-width:80px;font-size:14px}.strategy-card .card-stat.positive{color:var(--green)}.strategy-card .card-stat.negative{color:var(--red)}.strategy-card .card-delete{color:var(--text-muted);cursor:pointer;background:0 0;border:1px solid #0000;padding:4px 8px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.strategy-card .card-delete:hover{color:var(--red);border-color:var(--red)}.results-header{border-bottom:1px solid var(--border);background:var(--surface);flex-wrap:wrap;gap:20px;padding:16px 20px;display:flex}.stat-block{flex-direction:column;gap:4px;display:flex}.stat-block .label{letter-spacing:3px;text-transform:uppercase;color:var(--text-dim);font-size:14px}.stat-block .value{color:var(--text-bright);font-size:16px}.stat-block .value.positive{color:var(--green)}.stat-block .value.negative{color:var(--red)}.results-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.chart-tabs{gap:2px;margin-bottom:8px;display:flex}.chart-tab{background:var(--surface2);border:1px solid var(--border);color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;cursor:pointer;padding:5px 16px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.chart-tab:hover{color:var(--text);border-color:var(--border-hover)}.chart-tab.active{color:var(--text-bright);border-color:var(--text-dim);background:var(--bg)}.results-trades{background:var(--surface);flex:1;overflow-y:auto}.trade-row{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 20px;font-size:14px;display:flex}.trade-row .side{text-transform:uppercase;letter-spacing:2px;min-width:50px;font-size:14px}.trade-row .side.buy,.trade-row .side.long{color:var(--green)}.trade-row .side.sell,.trade-row .side.short{color:var(--red)}.trade-row .price{color:var(--text-dim)}.trade-row .pnl{text-align:right;min-width:80px}.trade-row .pnl.positive{color:var(--green)}.trade-row .pnl.negative{color:var(--red)}.stats-grid{padding:0 20px}.stat-row{border-bottom:1px solid var(--border);justify-content:space-between;padding:5px 0;font-size:14px;display:flex}.stat-row:last-child{border-bottom:none}.stat-label{color:var(--text-dim)}.stat-value{color:var(--text);text-align:right}.stat-value.positive{color:var(--green)}.stat-value.negative{color:var(--red)}.monthly-grid{grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:6px;padding:12px 20px;display:grid}.month-cell{text-align:center;border:1px solid var(--border);padding:8px 6px;font-size:14px}.month-cell .month-label{color:var(--text-muted);letter-spacing:1px}.month-cell .month-value{margin-top:2px}.month-cell .month-value.positive{color:var(--green)}.month-cell .month-value.negative{color:var(--red)}.trading-panel{flex-direction:column;overflow-y:auto}.trading-layout{max-width:900px;padding:20px 28px}.trading-section{margin-bottom:28px}.trading-section .section-label{padding:0 0 12px}.hl-connect-form{gap:8px;margin-bottom:8px;display:flex}.hl-connect-form input{background:var(--bg);border:1px solid var(--border);color:var(--text-bright);outline:none;flex:1;padding:12px 14px;font-family:inherit;font-size:14px;font-weight:700}.hl-connect-form input:focus{border-color:var(--text-muted)}.hl-connect-form input::placeholder{color:var(--text-muted);font-weight:400}.hl-connected{border:1px solid var(--border);background:var(--surface);align-items:center;gap:12px;padding:12px 16px;display:flex}.hl-stats{flex-wrap:wrap;gap:36px;padding:16px 0;display:flex}.hl-pos-table,.hl-fills-table{border-collapse:collapse;width:100%;font-size:14px}.hl-pos-table th,.hl-fills-table th{text-align:left;letter-spacing:2px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);padding:8px 12px;font-size:14px}.hl-pos-table td,.hl-fills-table td{border-bottom:1px solid var(--border);color:var(--text);padding:10px 12px}.hl-pos-table tr:hover,.hl-fills-table tr:hover{background:var(--surface2)}.pipeline-actions{border-top:1px solid var(--border);background:var(--surface);justify-content:flex-end;gap:12px;padding:12px 20px;display:flex}.pipeline-btn{letter-spacing:2px;text-transform:uppercase;cursor:pointer;padding:10px 24px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.pipeline-btn.primary{background:var(--text-bright);color:var(--bg);border:1px solid var(--text-bright)}.pipeline-btn.primary:hover{opacity:.9}.pipeline-btn.secondary{color:var(--text-dim);border:1px solid var(--border);background:0 0}.pipeline-btn.secondary:hover{border-color:var(--text-dim);color:var(--text)}.empty-state{color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px;font-size:14px;display:flex}.empty-state .hint{color:var(--text-muted);opacity:.6;font-size:14px}@keyframes pulse{0%,to{opacity:.4}50%{opacity:1}}.loading{animation:1.5s ease-in-out infinite pulse}.typing-dots span{color:var(--text-muted);font-size:20px;line-height:1;animation:1.4s ease-in-out infinite typingBounce;display:inline-block}.typing-dots span:first-child{animation-delay:0s}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}@keyframes typingBounce{0%,60%,to{opacity:.4;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}.order-grid{grid-template-columns:1fr 1fr;gap:8px;padding:8px 0;display:grid}.order-grid label{color:var(--text-muted);font-size:14px}.order-grid input{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text-bright);outline:none;padding:8px;font-family:inherit;font-size:14px;font-weight:700}.order-grid input:focus{border-color:var(--text-dim)}.btn-side{border:1px solid var(--border);cursor:pointer;flex:1;padding:8px;font-family:inherit;font-size:14px;font-weight:600}.btn-side.active-buy{background:var(--green);color:#000}.btn-side.active-sell{background:var(--red);color:#000}.btn-side.inactive{background:var(--surface);color:var(--text-muted)}.wallet-modal{background:var(--bg);border:1px solid var(--border);width:90%;max-width:380px}.wallet-modal-header{letter-spacing:3px;color:var(--text-dim);justify-content:space-between;align-items:center;padding:20px 24px 16px;font-size:14px;display:flex}.wallet-modal-close{color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:20px;line-height:1}.wallet-modal-close:hover{color:var(--text)}.wallet-modal-list{flex-direction:column;gap:4px;padding:0 16px;display:flex}.wallet-option{background:var(--surface);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;text-align:left;align-items:center;gap:12px;padding:14px 16px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s;display:flex}.wallet-option:hover{border-color:var(--text-dim);background:var(--surface2)}.wallet-icon{border-radius:4px;flex-shrink:0;width:24px;height:24px}.wallet-icon-placeholder{text-align:center;width:24px;color:var(--text-dim);flex-shrink:0;font-size:14px}.wallet-name{flex:1}.wallet-arrow{color:var(--text-muted);font-size:14px}.wallet-tag{color:var(--text-muted);border:1px solid var(--border);letter-spacing:1px;text-transform:uppercase;padding:2px 6px;font-size:11px}.wallet-modal-empty{text-align:center;color:var(--text-muted);flex-direction:column;gap:12px;padding:24px 16px;font-size:14px;display:flex}.wallet-modal-install{color:var(--text-dim);letter-spacing:1px;font-size:14px;text-decoration:none;transition:color .15s}.wallet-modal-install:hover{color:var(--text-bright)}.wallet-modal-footer{letter-spacing:1px;color:var(--text-muted);text-align:center;padding:16px 24px 20px;font-size:14px}.toast-container{z-index:10000;pointer-events:none;flex-direction:column;gap:8px;display:flex;position:fixed;top:16px;right:16px}.toast{letter-spacing:1px;border:1px solid var(--border);background:var(--surface);color:var(--text);pointer-events:auto;padding:10px 20px;font-family:Courier New,monospace;font-size:14px;font-weight:700;animation:.3s ease-out toastIn}.toast-success{border-color:var(--green-dim);color:var(--green)}.toast-error{border-color:var(--red-dim);color:var(--red)}@keyframes toastIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.dialog-overlay{z-index:9999;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.dialog-box{background:var(--surface);border:1px solid var(--border);width:90%;max-width:400px;padding:28px 32px}.dialog-message{color:var(--text);margin-bottom:24px;font-size:14px;line-height:1.6}.dialog-actions{justify-content:flex-end;gap:8px;display:flex}.dialog-btn{letter-spacing:2px;text-transform:uppercase;cursor:pointer;padding:8px 20px;font-family:inherit;font-size:14px;font-weight:700;transition:all .15s}.dialog-btn.cancel{border:1px solid var(--border);color:var(--text-dim);background:0 0}.dialog-btn.cancel:hover{border-color:var(--text-dim);color:var(--text)}.dialog-btn.confirm{background:var(--text-bright);border:1px solid var(--text-bright);color:var(--bg)}.dialog-btn.confirm:hover{opacity:.9}.dialog-btn.danger{background:var(--red);border:1px solid var(--red);color:#fff}.dialog-btn.danger:hover{opacity:.9}.dialog-input{background:var(--bg);border:1px solid var(--border);width:100%;color:var(--text-bright);outline:none;margin-bottom:20px;padding:10px 12px;font-family:inherit;font-size:14px;font-weight:700}.dialog-input:focus{border-color:var(--text-dim)}@media (width<=900px){#main{flex-direction:column}#chart-column{width:100%;min-width:unset;border-right:none;border-bottom:1px solid var(--border);height:35vh}#panel-column{width:100%;min-width:unset;flex:1}.results-header{gap:16px;padding:12px 16px}.stat-block .value{font-size:14px}.pipeline .sep{display:none}.pipeline .step{letter-spacing:1px;padding:16px 8px;font-size:9px}.pipeline .step .step-num{width:16px;height:16px;font-size:9px}.nav-secondary{display:none}.welcome-templates{grid-template-columns:repeat(2,1fr)}.select-layout{padding:16px}.select-header{flex-direction:column;gap:8px}.asset-grid{grid-template-columns:repeat(3,1fr);gap:8px}.fee-row{flex-wrap:wrap;gap:8px}.fee-row label{font-size:15px}.fee-row input{padding:8px;font-size:16px;width:55px!important}.fee-row span{font-size:15px}.trading-layout{padding:16px}.hl-stats{gap:20px}.hl-pos-table,.hl-fills-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}@media (width<=480px){header{gap:4px;height:44px;padding:0 8px}header .logo{letter-spacing:3px;font-size:13px}.pipeline .step{letter-spacing:.5px;gap:3px;padding:10px 5px;font-size:8px}.pipeline .step .step-num{width:14px;height:14px;font-size:8px}#chart-column{height:28vh;padding:6px}.intro-landing{min-height:calc(100dvh - 60px);padding:24px 16px 20px}.intro-brand{letter-spacing:10px;font-size:24px}.intro-sub{margin-bottom:24px}.intro-feature{padding:10px 12px}.intro-cta{width:100%}.asset-grid{grid-template-columns:repeat(2,1fr);gap:4px}.asset-card{padding:10px 12px}.select-basket{flex-wrap:wrap;gap:6px;padding:8px 12px}.select-timeframe{gap:4px;padding:8px 12px}.select-header{padding:16px 12px 10px}.chat-input-area{gap:6px;padding:8px 10px}.chat-input-area textarea{min-height:44px;padding:10px 12px;font-size:16px}.chat-input-area button{letter-spacing:1px;padding:10px 14px;font-size:12px}.chat-messages{gap:8px;padding:10px 12px}.chat-msg{max-width:100%;padding:10px 12px;font-size:13px}.strategy-controls{flex-wrap:wrap;gap:6px;padding:8px 12px}.strategy-controls select,.strategy-controls input[type=text]{padding:10px;font-size:16px}.btn-action{letter-spacing:1px;padding:12px 16px;font-size:12px}.script-editor textarea{margin:0 10px;padding:12px;font-size:13px}.session-bar{flex-wrap:wrap;gap:4px;padding:6px 8px}.session-select{max-width:110px;font-size:14px}.session-name-edit{max-width:90px;font-size:14px}.session-btn{padding:4px 8px;font-size:12px}.user-info{font-size:9px}.results-header{gap:12px;padding:10px 12px}.stat-block .label{letter-spacing:1px;font-size:10px}.stat-block .value{font-size:13px}.stats-grid{padding:0 12px}.stat-row{font-size:13px}.monthly-grid{grid-template-columns:repeat(3,1fr);gap:4px;padding:8px 12px}.month-cell{padding:6px 4px;font-size:12px}.trade-row{padding:8px 12px;font-size:12px}.section-label{letter-spacing:2px;padding:12px 12px 8px;font-size:11px}.trading-layout{padding:12px}.trading-section{margin-bottom:20px}.order-grid{grid-template-columns:1fr}.hl-stats{gap:16px}.hl-pos-table th,.hl-fills-table th{padding:6px 8px;font-size:11px}.hl-pos-table td,.hl-fills-table td{white-space:nowrap;padding:8px;font-size:12px}.welcome-templates{grid-template-columns:1fr 1fr;gap:6px}.welcome-template{padding:10px 8px}.welcome-template .tmpl-name{font-size:13px}.welcome-template .tmpl-desc{font-size:9px}.welcome-examples{max-width:100%}.dialog-box{padding:20px 16px}.wallet-modal{max-width:95%}.wallet-option{gap:10px;padding:12px;font-size:14px}.toast-container{top:8px;left:8px;right:8px}.toast{padding:10px 14px;font-size:13px}.pipeline-actions{padding:8px 12px}.pipeline-btn{letter-spacing:1px;padding:10px 16px;font-size:12px}input,select,textarea{font-size:16px!important}}.mobile-nav{display:none}.mobile-script-toggle{display:none!important}@media (width<=768px){.pipeline,.nav-secondary,.session-bar{display:none!important}#main.mobile-mode{flex-direction:column}#main.mobile-mode #chart-column{width:100%;min-width:unset;border-bottom:none;border-right:none;flex:1;height:100%}#main.mobile-mode #panel-column{width:100%;min-width:unset;flex:1}#main.mobile-mode .strategy-input{flex:1;max-height:none}#main.mobile-mode .strategy-input.mobile-hide,#main.mobile-mode .script-editor{display:none}#main.mobile-mode .script-editor.mobile-show{flex:1;display:flex}.mobile-script-toggle{display:inline-flex!important}.mobile-nav{-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:4px 0 env(safe-area-inset-bottom,4px);z-index:100;background:#111113f2;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px #0006}.mobile-nav button{color:var(--text-muted);cursor:pointer;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;min-height:48px;padding:6px 4px;font-family:inherit;display:flex}.mobile-nav button.active{color:var(--text-bright)}.mobile-nav-icon{font-size:18px;line-height:1}.mobile-nav-label{letter-spacing:1px;font-size:13px;font-weight:700}#main.mobile-mode{padding-bottom:calc(56px + env(safe-area-inset-bottom,0px))}header{height:44px}.user-info{font-size:10px}.logout{padding:4px 8px;font-size:11px}.mobile-hidden{display:none!important}.workspace.workspace-mobile{top:84px;left:0;right:0;bottom:calc(48px + env(safe-area-inset-bottom,4px));flex-direction:column;position:fixed;overflow:hidden}.workspace-mobile .workspace-left,.workspace-mobile .workspace-right{flex-direction:column;flex:1;display:flex;overflow:hidden;width:100%!important}.workspace-mobile .workspace-chart{flex:1}.workspace-mobile .workspace-bottom{flex:1;height:auto;min-height:0}.workspace-mobile .workspace-chat{flex-direction:column;flex:1;display:flex;overflow:hidden}.workspace-mobile .chat-messages{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow-y:auto}.workspace-mobile .chat-input-area,.workspace-mobile .workspace-actions,.workspace-mobile .workspace-status-bar,.workspace-mobile .backtest-progress{flex-shrink:0}.workspace-sidebar{width:80vw;max-width:300px}.legal-footer.mobile-hidden{display:none}#main.mobile-mode,#main.mobile-mode #panel-column{overflow:visible}.panel{overflow-y:auto!important}.intro-landing{min-height:auto;padding:24px 16px calc(56px + env(safe-area-inset-bottom,16px));justify-content:flex-start;overflow-y:auto}.intro-cta .btn{width:100%;min-height:48px;font-size:14px}}@media (pointer:coarse){button,.wallet-option,.asset-card,.tf-btn,.basket-tag,.chart-tab,.welcome-template,.welcome-example,.session-btn{min-height:44px}.tf-btn{padding:8px 14px}.basket-tag{padding:6px 10px}.pipeline .step{min-height:44px}}.legal-overlay{z-index:9999;background:var(--bg);-webkit-overflow-scrolling:touch;position:fixed;inset:0;overflow-y:auto}.legal-content{max-width:700px;margin:0 auto;padding:40px 24px 80px;font-weight:400;line-height:1.75}.legal-content h1{letter-spacing:4px;text-transform:uppercase;color:var(--text-bright);margin-bottom:8px;font-size:22px}.legal-content h2{letter-spacing:2px;text-transform:uppercase;color:var(--text-bright);margin-top:32px;margin-bottom:12px;font-size:14px}.legal-content p{color:var(--text-dim);margin-bottom:12px;font-size:13px}.legal-content em{color:var(--text-muted);font-style:italic}.legal-content ul{color:var(--text-dim);margin:8px 0 12px 20px;font-size:13px}.legal-content li{margin-bottom:6px}.legal-content a{color:var(--blue);text-decoration:none}.legal-content a:hover{text-decoration:underline}.legal-content strong{color:var(--text);font-weight:700}.legal-back{border:1px solid var(--border);color:var(--text-dim);letter-spacing:2px;text-transform:uppercase;cursor:pointer;background:0 0;align-items:center;gap:8px;margin-bottom:32px;padding:8px 16px;font-family:inherit;font-size:12px;font-weight:700;transition:color .2s,border-color .2s;display:inline-flex}.legal-back:hover{color:var(--text-bright);border-color:var(--border-hover)}.legal-footer{text-align:center;border-top:1px solid var(--border);flex-shrink:0;padding:16px 24px}.legal-footer-links{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.legal-footer-links a{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;font-size:11px;text-decoration:none;transition:color .2s}.legal-footer-links a:hover{color:var(--text-dim)}.legal-sep{color:var(--text-muted);opacity:.5;font-size:11px}.legal-footer-note{color:var(--text-muted);letter-spacing:.5px;opacity:.7;margin-top:6px;font-size:11px}.intro-legal{margin-top:16px}.intro-legal .legal-footer-links a{font-size:11px}.help-panel{width:100%;max-width:780px;margin:0 auto;padding:32px 24px 80px;overflow-y:auto}.help-title{letter-spacing:6px;text-transform:uppercase;color:var(--text-bright);margin-bottom:24px;font-size:20px}.help-section{border:1px solid var(--border);background:var(--surface);margin-bottom:8px}.help-section summary{letter-spacing:2px;text-transform:uppercase;color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;padding:14px 20px;font-family:inherit;font-size:14px;font-weight:700;list-style:none;transition:color .15s;display:flex}.help-section summary::-webkit-details-marker{display:none}.help-section summary:before{content:"+";color:var(--text-muted);text-align:center;flex-shrink:0;width:18px;font-size:16px;transition:transform .15s}.help-section[open] summary:before{content:"−"}.help-section summary:hover{color:var(--text-bright)}.help-section[open] summary{border-bottom:1px solid var(--border);color:var(--text-bright)}.help-content{color:var(--text-dim);padding:20px;font-size:13px;font-weight:400;line-height:1.75}.help-content p{margin-bottom:12px}.help-content h4{letter-spacing:1px;text-transform:uppercase;color:var(--text);margin:20px 0 10px;font-size:13px;font-weight:700}.help-content h4:first-child{margin-top:0}.help-content ol,.help-content ul{margin:8px 0 16px 20px}.help-content li{margin-bottom:8px}.help-content strong{color:var(--text);font-weight:700}.help-content a{color:var(--blue);text-decoration:none}.help-content a:hover{text-decoration:underline}.help-table{border-collapse:collapse;width:100%;margin:8px 0 20px;font-size:12px;line-height:1.6}.help-table thead th{text-align:left;letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:11px;font-weight:700}.help-table tbody td{border-bottom:1px solid var(--border);color:var(--text-dim);vertical-align:top;padding:6px 10px}.help-table tbody tr:last-child td{border-bottom:none}.help-table tbody tr:hover{background:var(--surface2)}.help-code{background:var(--surface2);border:1px solid var(--border);color:var(--text);white-space:nowrap;padding:1px 5px;font-family:Courier New,Courier,monospace;font-size:12px}.help-code-block{background:var(--bg);border:1px solid var(--border);color:var(--text-dim);white-space:pre;margin:8px 0 20px;padding:16px 20px;font-family:Courier New,Courier,monospace;font-size:12px;line-height:1.7;display:block;overflow-x:auto}.help-faq{border-bottom:1px solid var(--border);margin-bottom:20px;padding-bottom:20px}.help-faq:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.help-faq h4{color:var(--text-bright);margin-bottom:6px}.help-note{color:var(--text-muted);margin-top:12px;font-size:12px;font-style:italic}.help-btn{border:1px solid var(--border);width:26px;height:26px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:13px;font-weight:700;transition:color .15s,border-color .15s;display:inline-flex}.help-btn:hover{color:var(--text);border-color:var(--border-hover)}.help-btn.active{color:var(--text-bright);border-color:var(--text-bright)}@media (width<=600px){.help-panel{padding:20px 16px 60px}.help-table{font-size:11px}.help-table thead th{padding:6px;font-size:10px}.help-table tbody td{padding:5px 6px}.help-code-block{padding:12px 14px;font-size:11px}}.chat-code-block{background:var(--bg);border:1px solid var(--border);white-space:pre;max-height:200px;margin-top:8px;padding:10px 12px;font-size:12px;line-height:1.6;overflow:auto}.chat-code-label{color:var(--text-muted);letter-spacing:1px;text-transform:uppercase;margin-top:8px;margin-bottom:4px;font-size:11px}@media (width<=600px){.chat-param-row{flex-wrap:wrap}.chat-param-name{width:100%;margin-bottom:4px}}.deploy-presets{gap:6px;margin-bottom:12px;display:flex}.deploy-preset-btn{letter-spacing:1px;text-transform:uppercase;border:1px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:0 0;border-radius:20px;flex:1;padding:6px 10px;font-family:inherit;font-size:11px;font-weight:700;transition:all .15s}.deploy-preset-btn:hover{border-color:var(--text-dim);color:var(--text)}.deploy-preset-btn.active{border-color:var(--text-bright);color:var(--text-bright);background:var(--surface2)}.market-list{flex-direction:column;flex:1;gap:10px;padding:16px 20px;display:flex;overflow-y:auto}.market-card{border:1px solid var(--border);cursor:pointer;padding:16px;transition:border-color .15s}.market-card:hover{border-color:var(--border-hover)}.market-card-header{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.market-card-name{color:var(--text-bright);font-size:14px;font-weight:700}.market-card-followers{color:var(--text-muted);font-size:12px}.market-card-author{color:var(--text-muted);margin-bottom:2px;font-size:12px}.market-card-asset{color:var(--text-muted);letter-spacing:1px;margin-bottom:10px;font-size:11px}.market-card-metrics{gap:16px;margin-bottom:12px;display:flex}.market-card-metric{flex-direction:column;gap:2px;display:flex}.market-card-metric-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;font-size:10px}.market-card-metric-value{font-size:14px;font-weight:700}.market-card-actions{justify-content:flex-end;display:flex}.market-empty{text-align:center;color:var(--text-muted);padding:60px 20px;font-size:14px}
