:root{--bg: #0a0a18;--bg-panel: #10101f;--bg-raised: #17172b;--border: rgba(180, 140, 255, .16);--border-strong: rgba(180, 140, 255, .35);--accent: #b48cff;--cyan: #00ccff;--green: #00ff88;--red: #ff4477;--warn: #ffb800;--text: rgba(255, 255, 255, .82);--text-dim: rgba(255, 255, 255, .45);--text-faint: rgba(255, 255, 255, .22);--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--tabbar-h: 62px;--topbar-h: 52px}*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,Segoe UI,system-ui,-apple-system,sans-serif;user-select:none;-webkit-user-select:none;overscroll-behavior:none;touch-action:none}#app{position:fixed;inset:0;display:flex;flex-direction:column}#topbar{height:calc(var(--topbar-h) + var(--safe-top));padding-top:var(--safe-top);display:flex;align-items:center;gap:8px;padding-left:12px;padding-right:12px;background:#0a0a18eb;border-bottom:1px solid var(--border);z-index:50;flex-shrink:0}.tb-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:0;height:36px;padding:0 10px;background:var(--bg-raised);border:1px solid var(--border);border-radius:9px;color:var(--text);font-family:inherit;cursor:pointer;flex-shrink:0}.tb-btn .tb-main{font-size:13px;font-weight:700;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.tb-btn .tb-sub{font-size:9px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.6px}#tb-symbol{flex-shrink:1;max-width:46%}#tb-price{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end}#tb-price .price{font-size:16px;font-weight:700;font-variant-numeric:tabular-nums}#tb-price .price.up{color:var(--green)}#tb-price .price.down{color:var(--red)}#tb-price .change{font-size:10px;color:var(--text-dim);font-variant-numeric:tabular-nums}#tb-live{width:38px;height:38px;border-radius:50%;border:1px solid rgba(0,255,136,.3);background:#00ff880f;color:#00ff8880;font-size:15px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .15s}#tb-live.active{background:#00ff8826;border-color:#0f89;color:var(--green);box-shadow:0 0 14px #00ff8840}.screen{flex:1;min-height:0;display:none;flex-direction:column;position:relative}.screen.active{display:flex}.screen button,.screen input,.screen select,.screen textarea{color-scheme:dark}.screen button,.screen select,.screen input,.screen textarea{font-family:inherit}.screen select,.screen input,.screen textarea{background-color:var(--bg-panel);color:var(--text);border-color:var(--border)}#screen-chart{overflow:hidden}#chart-canvas{position:relative;flex:1;min-height:0;width:100%;height:auto;display:block}.chart-fabs{position:absolute;right:10px;bottom:12px;display:flex;flex-direction:column;gap:8px;z-index:20}.chart-fab{width:44px;height:44px;border-radius:50%;border:1px solid var(--border-strong);background:#10101fe6;color:var(--text-dim);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);transition:all .15s}.chart-fab.active{color:var(--accent);border-color:var(--accent);box-shadow:0 0 14px #b48cff4d}.chart-fab:active{transform:scale(.92)}#tabbar{height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);display:flex;align-items:stretch;justify-content:space-around;background:#0a0a18f5;border-top:1px solid var(--border);z-index:50;flex-shrink:0}.tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;background:none;border:none;color:var(--text-faint);font-family:inherit;font-size:9px;font-weight:600;letter-spacing:.4px;cursor:pointer;transition:color .15s;text-transform:uppercase}.tab .tab-icon{font-size:18px;line-height:1}.tab.active{color:var(--accent)}.tab.active .tab-icon{text-shadow:0 0 12px rgba(180,140,255,.6)}#sheet-backdrop{position:fixed;inset:0;background:#0000008c;opacity:0;pointer-events:none;transition:opacity .2s;z-index:200}#sheet-backdrop.visible{opacity:1;pointer-events:auto}#sheet{position:fixed;left:0;right:0;bottom:0;max-height:84vh;background:var(--bg-panel);border:1px solid var(--border);border-bottom:none;border-radius:18px 18px 0 0;transform:translateY(105%);transition:transform .28s cubic-bezier(.32,.72,0,1);z-index:201;display:flex;flex-direction:column;padding-bottom:var(--safe-bottom);box-shadow:0 -16px 60px #0009}#sheet.visible{transform:translateY(0)}#sheet-grab{width:44px;height:5px;border-radius:3px;background:#ffffff2e;margin:8px auto 4px;flex-shrink:0}#sheet-header{display:flex;align-items:center;justify-content:space-between;padding:10px 16px 8px;flex-shrink:0}#sheet-title{font-size:14px;font-weight:700;color:var(--accent);letter-spacing:.3px}#sheet-close{width:30px;height:30px;border-radius:8px;border:none;background:transparent;color:var(--text-dim);font-size:15px;cursor:pointer}#sheet-close:hover{color:var(--text)}#sheet-body{overflow-y:auto;padding:4px 14px 16px;flex:1;min-height:0;-webkit-overflow-scrolling:touch;touch-action:pan-y}.sheet-section-title{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin:12px 2px 6px}.sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.sheet-grid-btn{padding:10px 4px;border:1px solid var(--border);border-radius:10px;background:var(--bg-raised);color:var(--text);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;transition:all .12s}.sheet-grid-btn:active{transform:scale(.95)}.sheet-grid-btn.selected{border-color:var(--accent);color:var(--accent);background:#b48cff1a}.sheet-search{width:100%;padding:11px 14px;border:1px solid var(--border);border-radius:10px;background:var(--bg-raised);color:var(--text);font-size:14px;font-family:inherit;outline:none}.sheet-search:focus{border-color:var(--border-strong)}.sheet-list{display:flex;flex-direction:column;gap:2px;margin-top:6px}.sheet-row{display:flex;align-items:center;gap:10px;width:100%;padding:12px 10px;background:none;border:none;border-radius:10px;color:var(--text);font-family:inherit;font-size:13px;cursor:pointer;text-align:left}.sheet-row:active{background:#b48cff14}.sheet-row .sym-symbol{font-weight:700;font-size:14px;letter-spacing:.3px}.sheet-row .sym-name{color:var(--text-dim);font-size:11px;margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45%}.scrollable{overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px;display:flex;flex-direction:column;gap:10px;flex:1;min-height:0;touch-action:pan-y}.trade-big-btns{display:flex;gap:10px}.trade-big{flex:1;padding:16px 10px;border-radius:14px;border:2px solid;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;font-family:inherit;transition:transform .1s}.trade-big:active{transform:scale(.96)}.trade-big .t-price{font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.trade-big .t-label{font-size:10px;font-weight:800;letter-spacing:1.5px}.trade-big.sell{border-color:#ff44778c;background:#ff447714}.trade-big.sell .t-price{color:var(--red)}.trade-big.sell .t-label{color:#f47c}.trade-big.buy{border-color:#00ccff8c;background:#00ccff14}.trade-big.buy .t-price{color:var(--cyan)}.trade-big.buy .t-label{color:#0cfc}.trade-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:9px}.trade-card-title{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px}.trade-row{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--text-dim)}.trade-row label{min-width:46px;font-weight:600;font-size:11px}.trade-row select,.trade-row input{flex:1;min-width:0;padding:9px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-size:13px;font-family:inherit;outline:none}.trade-row select:focus,.trade-row input:focus{border-color:var(--border-strong)}.qty-line{display:flex;align-items:center;gap:8px}.qty-line input{flex:1;min-width:0;padding:12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-size:18px;font-weight:700;text-align:center;font-family:inherit;outline:none}.qty-line .unit{font-size:11px;color:var(--text-dim);font-weight:600;min-width:58px;text-align:center}.account-line{display:flex;justify-content:space-between;font-size:12px;color:var(--text-dim);padding:2px 0}.account-line .val{font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.account-line .val.pos{color:var(--green)}.account-line .val.neg{color:var(--red)}.trade-tabbar{display:flex;gap:6px;margin:8px 0;flex-shrink:0}.trade-tab{flex:1;padding:10px 0;border-radius:10px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.3px;transition:all .12s}.trade-tab.active{border-color:var(--accent);color:var(--accent);background:#b48cff1a;box-shadow:0 0 10px #b48cff2e}.trade-tab:active{transform:scale(.97)}.list-empty{font-size:11px;color:var(--text-faint);text-align:center;padding:8px}.pos-row{display:flex;align-items:center;justify-content:space-between;padding:9px 10px;border-radius:9px;background:var(--bg-panel);border:1px solid var(--border);font-size:11px;color:var(--text-dim);margin-bottom:5px;gap:6px}.pos-row .pos-sym{font-weight:700;color:var(--text);font-size:12px}.pos-row .pos-pnl{font-weight:700;font-variant-numeric:tabular-nums}.pos-row .pos-pnl.pos{color:var(--green)}.pos-row .pos-pnl.neg{color:var(--red)}.pos-close{background:none;border:1px solid rgba(255,68,119,.4);color:var(--red);border-radius:6px;font-size:9px;padding:3px 8px;cursor:pointer;flex-shrink:0}.fill-note{font-size:10px;color:var(--text-faint);line-height:1.5;text-align:center}.ai-pills{display:flex;gap:6px;overflow-x:auto;padding:10px 12px 6px;flex-shrink:0}.ai-pills::-webkit-scrollbar{display:none}.ai-pill{flex-shrink:0;padding:8px 14px;border-radius:20px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);font-size:12px;font-weight:600;cursor:pointer;font-family:inherit}.ai-pill:active{border-color:var(--accent);color:var(--accent)}#ai-messages{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.ai-msg{max-width:88%;padding:10px 12px;border-radius:14px;font-size:12px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word;animation:msgIn .18s ease}@keyframes msgIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.ai-msg.user{align-self:flex-end;background:#b48cff24;border:1px solid rgba(180,140,255,.25);color:#e0d8ff}.ai-msg.assistant{align-self:flex-start;background:var(--bg-raised);border:1px solid var(--border);color:var(--text)}.ai-msg.error{align-self:center;background:#ff447714;border:1px solid rgba(255,68,119,.25);color:var(--red);font-size:11px}.ai-msg .ai-tag{font-size:9px;font-weight:700;color:#b48cff99;text-transform:uppercase;letter-spacing:.6px;margin-bottom:3px;display:block}.ai-typing{display:inline-flex;gap:3px;padding:4px 0}.ai-typing span{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:tb .6s infinite alternate}.ai-typing span:nth-child(2){animation-delay:.15s}.ai-typing span:nth-child(3){animation-delay:.3s}@keyframes tb{0%{opacity:.3;transform:translateY(0)}to{opacity:1;transform:translateY(-3px)}}.ai-input-row{display:flex;gap:8px;padding:8px 12px 10px;flex-shrink:0;border-top:1px solid var(--border);background:var(--bg-panel)}#ai-input{flex:1;min-width:0;padding:11px 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg-raised);color:var(--text);font-size:13px;font-family:inherit;outline:none;resize:none;max-height:90px;line-height:1.4}#ai-input:focus{border-color:var(--border-strong)}#ai-send{width:42px;height:42px;border-radius:12px;border:1px solid rgba(180,140,255,.4);background:#b48cff24;color:var(--accent);font-size:16px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}#ai-send:active{background:#b48cff40}.ai-context{display:flex;gap:12px;flex-wrap:wrap;padding:8px 14px 4px;font-size:10px;color:var(--text-faint);flex-shrink:0}.ai-context .ctx-val{color:#b48cffb3;font-weight:700}.script-tabs{display:flex;gap:6px;padding:10px 12px 0;flex-shrink:0}.script-tab{flex:1;padding:9px 0;border-radius:10px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:12px;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.4px}.script-tab.active{background:#b48cff1f;border-color:var(--accent);color:var(--accent)}.script-list{flex:1;min-height:0;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.script-card{background:var(--bg-raised);border:1px solid var(--border);border-radius:12px;padding:11px 12px;display:flex;align-items:flex-start;gap:10px}.script-card .sc-info{flex:1;min-width:0}.script-card .sc-name{font-size:13px;font-weight:700;color:var(--text)}.script-card .sc-desc{font-size:10px;color:var(--text-dim);line-height:1.45;margin-top:3px}.script-card .sc-cat{font-size:9px;color:var(--text-faint);margin-top:4px;letter-spacing:.4px}.toggle{width:46px;height:27px;border-radius:20px;border:1px solid var(--border);background:var(--bg-panel);cursor:pointer;position:relative;flex-shrink:0;transition:all .2s;margin-top:2px;font-size:0;color:transparent;overflow:hidden}.toggle:after{content:"";position:absolute;top:3px;left:3px;width:19px;height:19px;border-radius:50%;background:var(--text-dim);transition:all .2s}.toggle.on{background:#b48cff33;border-color:var(--accent)}.toggle.on:after{left:22px;background:var(--accent);box-shadow:0 0 10px #b48cff80}.toggle-wide{width:auto;min-width:132px;height:34px;border-radius:10px;padding:0 12px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;color:var(--text-dim);background:var(--bg-panel);font-weight:700}.toggle-wide.on{color:var(--accent);background:#b48cff1f;border-color:var(--accent)}.toggle-wide:after{display:none}#custom-editor{flex:1;min-height:0;margin:10px 12px 0;padding:12px;background:#08081a;border:1px solid var(--border);border-radius:12px;color:#9fe8ff;font-family:Cascadia Code,JetBrains Mono,Consolas,monospace;font-size:12px;line-height:1.55;resize:none;outline:none;white-space:pre;overflow:auto;-webkit-user-select:text;user-select:text;touch-action:auto}#custom-editor:focus{border-color:var(--border-strong)}.editor-bar{display:flex;gap:8px;padding:8px 12px;flex-shrink:0;align-items:center;flex-wrap:wrap}.editor-run{flex:1;min-width:96px;padding:11px 8px;border-radius:10px;border:1px solid rgba(0,255,136,.35);background:#00ff881a;color:var(--green);font-size:12px;font-weight:800;font-family:inherit;cursor:pointer;letter-spacing:.6px}.editor-run:active{background:#00ff882e;transform:scale(.97)}.editor-clear{padding:11px 14px;border-radius:10px;border:1px solid rgba(255,68,119,.3);background:#ff44770f;color:var(--red);font-size:11px;font-family:inherit;cursor:pointer}.editor-clear:active{background:#ff44771f}#editor-status{font-size:10px;color:var(--text-faint);padding:0 14px 8px;text-align:center}#editor-status.error{color:var(--red)}.indicator-params-overlay{position:fixed;inset:0;background:#0009;z-index:90;display:flex;align-items:flex-end;justify-content:center;padding:0}.indicator-params-sheet{width:100%;max-width:520px;max-height:72vh;background:var(--bg-panel);border:1px solid var(--border-strong);border-bottom:none;border-radius:16px 16px 0 0;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 -12px 40px #00000080}.indicator-params-head{padding:12px 16px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);flex-shrink:0}.indicator-params-body{flex:1;overflow-y:auto;padding:10px 16px;display:flex;flex-direction:column;gap:10px;-webkit-overflow-scrolling:touch;touch-action:pan-y}.indicator-params-section{background:var(--bg-raised);border:1px solid var(--border);border-radius:10px;padding:10px}.indicator-params-section-title{font-size:11px;font-weight:800;color:var(--accent);letter-spacing:.4px;margin-bottom:8px}.indicator-param-row{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04)}.indicator-param-row:last-child{border-bottom:none}.indicator-param-label{font-size:11px;color:var(--text-dim);flex:1}.indicator-param-control select,.indicator-param-control input[type=range]{flex:1;max-width:55%}#indicator-params-fab{display:none}#dashboard-win{display:none;flex-direction:row;flex-wrap:wrap;align-items:stretch;gap:6px;padding:6px 8px;margin:0 0 4px;max-height:34%;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;background:#0a0a18eb;border:1px solid rgba(180,140,255,.22);border-radius:12px;backdrop-filter:blur(10px);box-shadow:0 4px 18px #0006;scrollbar-width:none;flex-shrink:0}#dashboard-win::-webkit-scrollbar{display:none}.dash-section{flex:1 1 160px;min-width:150px;max-width:100%;background:#10101fa6;border:1px solid rgba(180,140,255,.14);border-radius:9px;padding:6px 7px;margin-bottom:0}.dash-section.sig-long{border-color:#00ff8873;box-shadow:0 0 10px #00ff8814}.dash-section.sig-short{border-color:#ff447773;box-shadow:0 0 10px #ff447714}.dash-section-head{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:1px 2px 5px}.dash-section-name{font-size:9.5px;font-weight:800;letter-spacing:.5px;color:var(--accent);text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1}.dash-power{width:22px;height:22px;border-radius:50%;flex-shrink:0;border:1px solid var(--border-strong);background:#00ff881a;color:var(--green);font-size:11px;cursor:pointer;padding:0;line-height:1}.dash-power:active{transform:scale(.9);border-color:var(--red);color:var(--red)}.dash-section-body{display:flex;flex-wrap:wrap;gap:4px}.dash-chip{flex:0 1 auto;max-width:100%;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:6px;border:1px solid rgba(180,140,255,.16);background:#0a0a16f2;color:var(--text);font-size:9px;font-weight:700;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-chip-label{color:#ffffff6b;font-weight:600;font-size:8.5px;white-space:nowrap}.dash-chip-value{color:var(--text);font-weight:800}.dash-chip.chip-up{border-color:#0f86}.dash-chip.chip-down{border-color:#f476}#hot-action-menu{position:absolute;right:10px;bottom:12px;z-index:40;display:flex;flex-direction:column;align-items:flex-end}#hot-action-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--accent);background:#10101ff2;color:var(--accent);font-size:18px;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 6px 20px #00000073}#hot-action-btn:active{transform:scale(.92)}#hot-action-stack{display:none;flex-direction:column;gap:6px;margin-bottom:8px}.hot-action-item{padding:10px 16px;border-radius:20px;border:1px solid var(--border-strong);background:#10101ff2;color:var(--text);font-size:11px;font-weight:800;letter-spacing:.5px;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 4px 14px #0006}.hot-action-item:active{border-color:var(--accent);color:var(--accent);transform:scale(.95)}.hot-action-item.active{border-color:var(--green);color:var(--green);background:#00ff8814}.set-row{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-dim)}.set-row input,.set-row select{flex:1;max-width:60%;min-width:0;padding:9px 10px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-size:12px;font-family:inherit;outline:none}.set-row input:focus,.set-row select:focus{border-color:var(--border-strong)}.set-status{font-size:10px;margin-top:4px}.set-status.ok{color:var(--green)}.set-status.err{color:var(--red)}.set-status.warn{color:var(--warn)}.set-status.wait{color:#ffb800cc}.set-danger{padding:11px 0;border-radius:10px;border:1px solid rgba(255,68,119,.35);background:#ff447712;color:var(--red);font-size:11px;font-weight:700;font-family:inherit;cursor:pointer}.set-info{font-size:10px;color:var(--text-faint);line-height:1.5}.version-line{text-align:center;font-size:10px;color:var(--text-faint);margin-top:6px}#chart-dom{position:absolute;inset:0;z-index:12;pointer-events:none;padding-bottom:132px;box-sizing:border-box}#dom-rail{position:absolute;left:6px;top:6px;height:calc(100% - 160px);width:52px;display:flex;flex-direction:column;gap:4px;pointer-events:auto}#dom-oc{flex-shrink:0;padding:4px 0;border-radius:7px;font-size:8px;font-weight:800;letter-spacing:.4px;font-family:inherit;cursor:pointer;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-dim)}#dom-oc.on,#dom-oc:active{border-color:var(--accent);color:var(--accent);background:#b48cff1f}.dom-zone{flex:1;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none;user-select:none;position:relative;border:1px solid var(--border)}.dom-zone.buy{background:linear-gradient(180deg,#00ff8824,#00ff880d);border-color:#00ff884d}.dom-zone.sell{background:linear-gradient(0deg,#ff447724,#ff44770d);border-color:#ff44774d}.dom-zone:active{filter:brightness(1.3)}.dom-label{font-size:12px;font-weight:900;letter-spacing:1px;pointer-events:none}.dom-zone.buy .dom-label{color:var(--green)}.dom-zone.sell .dom-label{color:var(--red)}.dom-status{flex-shrink:0;font-size:8.5px;color:var(--text-faint);line-height:1.3;text-align:center}.dom-pnl{flex-shrink:0;font-size:8.5px;font-weight:700;text-align:center;color:var(--text-dim)}.dom-pnl.halted{color:var(--red)}.dom-drag-price{position:absolute;left:98px;top:50%;transform:translateY(-50%);z-index:20;padding:6px 10px;border-radius:8px;font-size:12px;font-weight:800;background:#08081aeb;border:1px solid var(--border-strong)}.dom-drag-price.buy{color:var(--green)}.dom-drag-price.sell{color:var(--red)}.dom-risk-note{font-size:10px;color:var(--text-faint);line-height:1.5;padding:4px 2px}.modal-backdrop{position:fixed;inset:0;z-index:60;background:#0009;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:100%;max-width:420px;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:16px;padding:16px;box-shadow:0 12px 40px #00000080}.modal-title{font-size:13px;font-weight:800;color:var(--text);margin-bottom:12px}.modal-body{font-size:12px;color:var(--text-dim);line-height:1.6;white-space:pre-line;margin-bottom:14px}.modal-btns{display:flex;gap:10px;margin-top:6px}.modal-btns button{flex:1;padding:12px 0;border-radius:10px;font-size:12px;font-weight:800;font-family:inherit;cursor:pointer}.btn-ghost{border:1px solid var(--border);background:transparent;color:var(--text-dim)}.btn-buy{border:1px solid rgba(0,255,136,.4);background:#00ff881a;color:var(--green)}.btn-sell{border:1px solid rgba(255,68,119,.4);background:#ff44771a;color:var(--red)}.toast{position:fixed;left:50%;bottom:96px;transform:translate(-50%);z-index:70;padding:11px 18px;border-radius:12px;font-size:12px;font-weight:700;background:#08081af2;border:1px solid var(--border-strong);max-width:86vw;text-align:center;white-space:pre-line}.toast.ok{color:var(--green);border-color:#0f86}.toast.warn{color:#ffb800e6;border-color:#ffb80066}.toast.err{color:var(--red);border-color:#ff447780}.chat-reopen-pill{position:fixed;right:12px;bottom:calc(var(--tabbar-h) + 12px);z-index:59;padding:10px 16px;border-radius:20px;border:1px solid var(--accent);background:#10101ff2;color:var(--accent);font-size:12px;font-weight:800;cursor:pointer;backdrop-filter:blur(8px);box-shadow:0 6px 20px #00000073}.matrix-email-slim{width:auto;display:inline-block;padding:8px 14px;font-size:11px;margin-top:6px}.editor-chat-panel{position:fixed;left:12px;right:12px;bottom:calc(var(--tabbar-h) + 12px);width:auto;max-width:94vw;z-index:60;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:14px;box-shadow:0 -8px 30px #0000008c;overflow:visible;touch-action:none}.editor-chat-draghandle{cursor:grab}.editor-chat-header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border);background:var(--bg-raised);border-radius:14px 14px 0 0}.editor-chat-title{font-size:12px;font-weight:800;color:var(--accent);letter-spacing:.3px;flex:1;text-align:center;padding-left:36px}.editor-chat-menubtn{position:absolute;left:10px}.editor-chat-menu{position:absolute;top:100%;left:10px;z-index:70;display:none;flex-direction:column;gap:2px;min-width:180px;background:var(--bg-raised);border:1px solid var(--border-strong);border-radius:10px;padding:6px;box-shadow:0 10px 30px #00000080}.editor-chat-menu button{padding:9px 12px;border:none;border-radius:8px;background:transparent;color:var(--text);font-size:11px;font-weight:700;text-align:left;font-family:inherit;cursor:pointer}.editor-chat-menu button:active{background:#b48cff1f;color:var(--accent)}.editor-chat-btns{display:flex;gap:6px}.editor-chat-iconbtn{width:28px;height:28px;border-radius:8px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-dim);font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.editor-chat-iconbtn:active{color:var(--accent);border-color:var(--accent)}.editor-chat-body{padding:10px 12px}.editor-chat-log{max-height:140px;overflow:auto;font-size:11px;white-space:pre-wrap;color:var(--text);padding:4px 0}.editor-chat-inputrow{display:flex;gap:8px;align-items:flex-end;margin-top:8px}.editor-chat-input{flex:1;min-height:44px;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:12px;font-family:inherit;resize:none}.editor-chat-status{margin-top:4px}.editor-chat-panel.minimized .editor-chat-body{display:none}.gen-script-modal{max-width:92vw}#perf-warning{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;background:#0000008c;padding:16px}.perf-warning-panel{position:relative;width:100%;max-width:420px;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:16px;padding:18px 18px 16px;box-shadow:0 16px 48px #0009}.perf-warning-close{position:absolute;top:10px;right:12px;width:30px;height:30px;border-radius:50%;border:1px solid var(--border);background:var(--bg-raised);color:var(--text-dim);font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}.perf-warning-close:active{color:var(--red);border-color:var(--red)}.perf-warning-title{font-size:14px;font-weight:800;color:var(--warn);margin-bottom:10px;letter-spacing:.3px}.perf-warning-reason{font-size:11px;color:var(--red);margin-bottom:8px}.perf-warning-body{font-size:12px;color:var(--text-dim);line-height:1.55}.perf-warning-body ul{margin:8px 0 0 18px}.perf-warning-body li{margin-bottom:4px}.perf-warning-body b{color:var(--text)}#onboarding{position:fixed;inset:0;z-index:80;background:#05050f;display:flex;align-items:center;justify-content:center;padding:20px}.onb-card{width:100%;max-width:440px;background:var(--bg-panel);border:1px solid var(--border-strong);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:12px;max-height:92vh;overflow:hidden}.onb-title{font-size:17px;font-weight:900;color:var(--text)}.onb-sub{font-size:11px;color:var(--text-dim);line-height:1.5;min-height:32px}.onb-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:10px}.onb-footer{display:flex;gap:10px}.onb-footer button{flex:1;padding:13px 0;border-radius:10px;font-size:12px;font-weight:800;font-family:inherit;cursor:pointer}.onb-option{padding:14px;border-radius:12px;text-align:left;cursor:pointer;border:1px solid var(--border);background:var(--bg-panel);display:flex;flex-direction:column;gap:3px;font-family:inherit}.onb-option b{font-size:13px;color:var(--text)}.onb-option span{font-size:10.5px;color:var(--text-dim);line-height:1.4}.onb-option:active{border-color:var(--accent)}.onb-field{display:flex;flex-direction:column;gap:4px}.onb-field label{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.onb-field input{padding:11px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text);font-size:13px;font-family:inherit;outline:none}.onb-field input:focus{border-color:var(--border-strong)}.onb-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:12px;color:var(--text-dim)}.onb-note{font-size:10px;color:var(--text-faint);line-height:1.55;padding:8px 10px;border-radius:8px;background:#ffffff08}.perf-header{padding:14px 16px 4px}.perf-title{font-size:16px;font-weight:900;color:var(--text)}.perf-sub{font-size:10px;color:var(--text-faint);margin-top:2px}.perf-stats{display:flex;flex-wrap:wrap;gap:8px;padding:12px 16px 4px}.perf-stats .stat{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:8px 12px;min-width:86px}.perf-stats .stat-label{display:block;font-size:8.5px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px}.perf-stats .stat b{font-size:15px;color:var(--text)}.perf-chart{margin:10px 16px}.perf-chart-title{font-size:10px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;margin-bottom:6px}.perf-chart canvas{width:100%;height:220px;border-radius:12px;border:1px solid var(--border)}.perf-advice,.perf-slip,.perf-trades{margin:0 16px 12px}.advice-row{font-size:11.5px;line-height:1.5;padding:9px 12px;border-radius:10px;margin-bottom:6px;border:1px solid var(--border);background:var(--bg-panel);color:var(--text-dim)}.advice-row.info{border-color:#9fe8ff40}.advice-row.warn{border-color:#ffb80066;color:#ffb800e6}.advice-row.danger{border-color:#ff447780;color:var(--red)}.trade-diag{background:var(--bg-panel);border:1px solid var(--border);border-radius:10px;padding:10px 12px;margin-bottom:6px}.td-top{display:flex;justify-content:space-between;gap:8px}.td-who{font-size:11px;font-weight:700;color:var(--text)}.td-pnl{font-size:11px;font-weight:800}.td-pnl.pos{color:var(--green)}.td-pnl.neg{color:var(--red)}.td-mid{font-size:10px;color:var(--text-dim);margin-top:3px}.td-bottom{font-size:9px;color:var(--text-faint);margin-top:3px;line-height:1.5}.perf-actions{display:flex;gap:8px;padding:4px 16px 16px}.perf-actions .editor-run{flex:2;padding:12px 0}.perf-actions .editor-clear{flex:1}
