.page[data-v-20baa6d5]{max-width:1480px;margin:0 auto;padding:12px 16px 20px;display:flex;flex-direction:column;gap:10px;min-height:100%}.title[data-v-20baa6d5]{font-size:16px;color:#ddd;font-weight:600}.title-row[data-v-20baa6d5]{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.user-actions[data-v-20baa6d5]{display:flex;gap:8px;align-items:center}.user-badge[data-v-20baa6d5]{color:var(--text-dim);font-size:13px;display:flex;gap:6px;align-items:center}.role-tag[data-v-20baa6d5]{font-size:11px;padding:1px 6px;border-radius:8px;color:#fbbf24;background:#fbbf241f}.btn-sm[data-v-20baa6d5]{height:30px;padding:0 14px;font-size:12.5px;border-radius:7px}.param-panel[data-v-20baa6d5]{display:flex;flex-direction:column;gap:10px}.param-save-row[data-v-20baa6d5]{margin-top:2px}.strategy-card[data-v-20baa6d5]{border:1px solid var(--border);border-radius:8px;background:var(--panel-2);padding:10px 12px;margin-bottom:10px}.strategy-head[data-v-20baa6d5]{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px;padding-bottom:8px;border-bottom:1px dashed var(--border)}.st-name[data-v-20baa6d5]{width:260px}.st-type-select[data-v-20baa6d5]{width:200px}.strategy-body[data-v-20baa6d5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px 14px;align-items:start}.st-desc-field[data-v-20baa6d5]{grid-column:1 / -1}.st-desc[data-v-20baa6d5]{color:var(--text-dim);font-size:12px;line-height:1.6}.strategy-add-row[data-v-20baa6d5]{justify-content:flex-start;padding-top:4px}.form-grid[data-v-20baa6d5]{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px 16px;align-items:start}.field[data-v-20baa6d5]{display:flex;flex-direction:column;gap:5px;min-width:0}.field-label[data-v-20baa6d5]{color:var(--text-dim);font-size:12px;white-space:nowrap}.field-hint[data-v-20baa6d5]{color:var(--text-dim);font-size:11px;line-height:1.4;opacity:.75}.field input[data-v-20baa6d5],.field select[data-v-20baa6d5]{width:100%;min-width:0;padding:7px 10px;font-size:13px}.running-banner[data-v-20baa6d5]{background:#4ade801a;border:1px solid rgba(74,222,128,.35);color:#4ade80;border-radius:8px;padding:10px 14px;font-size:13px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}.running-strategies[data-v-20baa6d5]{color:var(--text-dim);font-size:12px}.sim-panel[data-v-20baa6d5]{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:8px 10px 10px}.sim-head[data-v-20baa6d5]{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:var(--text-dim);font-size:12px;padding-bottom:8px}.sim-summary-line b[data-v-20baa6d5]{color:var(--text)}.sim-panel summary.sim-head-toggle[data-v-20baa6d5]{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;padding-bottom:0}.sim-panel summary.sim-head-toggle[data-v-20baa6d5]::-webkit-details-marker{display:none}.sim-panel summary.sim-head-toggle .sim-title[data-v-20baa6d5]{color:var(--text);font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:6px}.sim-panel summary.sim-head-toggle .sim-title[data-v-20baa6d5]:before{content:"▸";color:var(--accent);font-size:12px;transition:transform .15s ease}.sim-panel[open] summary.sim-head-toggle .sim-title[data-v-20baa6d5]:before{transform:rotate(90deg)}.sim-panel summary.sim-head-toggle:hover .sim-title[data-v-20baa6d5]{color:var(--accent)}.sim-mini-line[data-v-20baa6d5]{color:var(--text-dim)}.sim-mini-line b[data-v-20baa6d5]{color:var(--text)}.sim-sub-head[data-v-20baa6d5]{padding-top:8px;border-top:1px dashed var(--border);margin-top:8px}.sim-body[data-v-20baa6d5]{display:flex;flex-direction:column;gap:4px}.sim-table-wrap[data-v-20baa6d5]{min-height:0;max-height:260px}.sim-detail-sum[data-v-20baa6d5]{font-size:12px;color:var(--text-dim)}.act-open[data-v-20baa6d5]{color:#60a5fa}.act-add[data-v-20baa6d5]{color:#a78bfa}.act-sell[data-v-20baa6d5]{color:#fbbf24}.act-close[data-v-20baa6d5]{color:#f97316}.quote-badge[data-v-20baa6d5]{display:inline-block;margin-left:6px;padding:0 6px;border-radius:10px;font-size:11px;line-height:16px;border:1px solid var(--border)}.quote-badge.on[data-v-20baa6d5]{color:#34d399;border-color:#34d39973}.quote-badge.off[data-v-20baa6d5]{color:#f87171;border-color:#f8717173}.stale-tag[data-v-20baa6d5]{display:inline-block;margin-left:4px;padding:0 4px;border-radius:3px;font-size:10px;line-height:14px;color:#fbbf24;border:1px solid rgba(251,191,36,.5);vertical-align:middle}.pnl-pct[data-v-20baa6d5]{margin-left:4px;font-size:11px;opacity:.85}.add-tag[data-v-20baa6d5]{display:inline-block;margin-left:4px;padding:0 4px;border-radius:3px;font-size:10px;line-height:14px;color:#a78bfa;border:1px solid rgba(167,139,250,.5);vertical-align:middle}.modal-card.modal-wide[data-v-20baa6d5]{width:780px;max-width:94vw}.modal-card.modal-xwide[data-v-20baa6d5]{width:1180px;max-width:96vw}.user-create[data-v-20baa6d5]{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.user-create .u-input[data-v-20baa6d5]{flex:1;min-width:180px;height:32px;padding:0 10px}.u-select[data-v-20baa6d5]{width:140px;height:32px;padding:0 8px}.user-table-wrap[data-v-20baa6d5]{max-height:380px;overflow:auto;border:1px solid var(--border);border-radius:8px}.user-table[data-v-20baa6d5]{width:100%;border-collapse:collapse;font-size:13px}.user-table th[data-v-20baa6d5],.user-table td[data-v-20baa6d5]{padding:9px 12px;border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.user-table tbody tr[data-v-20baa6d5]:hover{background:#3b82f612}.user-table th[data-v-20baa6d5]{background:var(--panel-2);color:var(--text-dim);position:sticky;top:0}.user-table td.ops[data-v-20baa6d5]{display:flex;gap:10px;justify-content:center;align-items:center}.link-btn[data-v-20baa6d5]{font-size:13px;padding:2px 6px}.trade-table[data-v-20baa6d5]{width:100%;border-collapse:collapse;font-size:12.5px;table-layout:auto}.trade-table th[data-v-20baa6d5],.trade-table td[data-v-20baa6d5]{padding:6px 8px;border-bottom:1px solid var(--border);text-align:center;white-space:nowrap}.trade-table th[data-v-20baa6d5]{background:var(--panel-2);color:var(--text-dim);position:sticky;top:0}.trade-table td.note-col[data-v-20baa6d5]{text-align:left;color:var(--text-dim);white-space:normal;min-width:260px;line-height:1.5}.link-btn[data-v-20baa6d5]{background:none;border:none;color:var(--accent);cursor:pointer;font-size:12px;padding:2px 4px}.link-btn.danger[data-v-20baa6d5]{color:#ff6b6b}.link-btn[data-v-20baa6d5]:disabled{opacity:.4;cursor:not-allowed}.st-on[data-v-20baa6d5]{color:#4ade80}.st-off[data-v-20baa6d5]{color:var(--text-dim)}.hint-text[data-v-20baa6d5]{color:var(--text-dim);font-size:12px}.login-wrap[data-v-20baa6d5]{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--bg)}.login-card[data-v-20baa6d5]{width:360px;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:32px 28px;display:flex;flex-direction:column;gap:14px}.login-title[data-v-20baa6d5]{font-size:17px;text-align:center;color:#e8e8e8}.login-sub[data-v-20baa6d5]{text-align:center;color:var(--text-dim);font-size:13px;margin-top:-8px}.login-field[data-v-20baa6d5]{display:flex;flex-direction:column;gap:5px}.login-field span[data-v-20baa6d5]{color:var(--text-dim);font-size:12px}.login-field input[data-v-20baa6d5]{padding:9px 10px;font-size:14px}.login-error[data-v-20baa6d5]{color:#ff6b6b;font-size:12px;margin:0}.login-btn[data-v-20baa6d5]{margin-top:4px;padding:10px;font-size:14px}.modal-mask[data-v-20baa6d5]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:50}.modal-card[data-v-20baa6d5]{width:340px;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:22px;display:flex;flex-direction:column;gap:12px}.modal-title[data-v-20baa6d5]{font-size:15px;color:#e8e8e8}.modal-btns[data-v-20baa6d5]{display:flex;justify-content:flex-end;gap:10px;margin-top:4px}.config-panel[data-v-20baa6d5]{border:1px solid var(--border);border-radius:8px;background:var(--panel);padding:10px 14px 14px}.config-panel summary[data-v-20baa6d5]{color:var(--text-dim);padding:2px 6px;cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none;display:flex;align-items:center;gap:6px;font-weight:500;border-radius:5px;transition:color .15s ease,background .15s ease}.config-panel summary[data-v-20baa6d5]::-webkit-details-marker{display:none}.config-panel summary[data-v-20baa6d5]:before{content:"▸";display:inline-block;font-size:12px;transition:transform .15s ease;color:var(--accent)}.config-panel[open] summary[data-v-20baa6d5]:before{transform:rotate(90deg)}.config-panel summary[data-v-20baa6d5]:hover{color:var(--text);background:#ffffff0d}.st-toggle[data-v-20baa6d5]{width:26px;height:26px;margin-left:auto;display:inline-flex;align-items:center;justify-content:center;background:var(--panel-2);color:var(--accent);border:1px solid var(--border);border-radius:6px;font-size:12px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.st-toggle[data-v-20baa6d5]:hover{border-color:var(--accent);background:#3b82f61a}input[data-v-20baa6d5],select[data-v-20baa6d5]{background:var(--panel-2);border:1px solid var(--border);border-radius:5px;color:var(--text);padding:5px 8px;font-size:13px;outline:none;width:100%}input[data-v-20baa6d5]:focus,select[data-v-20baa6d5]:focus{border-color:var(--accent)}input[data-v-20baa6d5]:disabled,select[data-v-20baa6d5]:disabled{opacity:.45}.radio-row[data-v-20baa6d5]{display:flex;gap:18px;align-items:center;flex-wrap:wrap}.radio[data-v-20baa6d5]{display:flex;gap:5px;align-items:center;color:var(--text);cursor:pointer;white-space:nowrap}.radio input[type=checkbox][data-v-20baa6d5],.radio input[type=radio][data-v-20baa6d5]{width:15px!important;height:15px;min-width:15px;flex:none;margin:0;padding:0;cursor:pointer;accent-color:#3b82f6}.vol-row[data-v-20baa6d5]{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.vol-row input[type=number][data-v-20baa6d5]{width:130px}.btn-row[data-v-20baa6d5]{display:flex;gap:10px;justify-content:center;align-items:center;flex-wrap:wrap}.btn-row.ops-grid[data-v-20baa6d5]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:660px;margin:0 auto;justify-content:stretch}.btn-row.ops-grid .btn[data-v-20baa6d5]{width:100%;padding:0 8px}.btn-row.ops-grid .status-badge[data-v-20baa6d5]{grid-column:1 / -1;justify-self:center}.btn[data-v-20baa6d5]{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:36px;padding:0 18px;background:var(--panel);color:var(--text);border:1px solid var(--border);border-radius:8px;font-size:13px;font-weight:500;line-height:1;white-space:nowrap;cursor:pointer;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .05s ease}.btn[data-v-20baa6d5]:hover:not(:disabled){border-color:var(--accent);background:#3b82f61a}.btn[data-v-20baa6d5]:active:not(:disabled){transform:translateY(1px)}.btn[data-v-20baa6d5]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn[data-v-20baa6d5]:disabled{opacity:.45;cursor:not-allowed}.btn-primary[data-v-20baa6d5]{background:#1d4ed8;border-color:#2563eb;box-shadow:0 2px 10px #1d4ed859}.btn-primary[data-v-20baa6d5]:hover:not(:disabled){background:#2563eb;border-color:#3b82f6}.btn-danger[data-v-20baa6d5]{background:#7f1d1d;border-color:#b91c1c}.btn-danger[data-v-20baa6d5]:hover:not(:disabled){background:#991b1b;border-color:#ef4444}.status-badge[data-v-20baa6d5]{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 16px;border:1px solid var(--border);border-radius:999px;font-size:13px}.status-badge.on[data-v-20baa6d5]{color:#4ade80;background:#4ade801f;border-color:#4ade8059}.status-badge.off[data-v-20baa6d5]{color:var(--text-dim);background:#ffffff0f}.strategy-tabbar[data-v-20baa6d5]{display:flex;align-items:stretch;gap:6px;padding:6px;background:var(--panel-2);border:1px solid var(--border);border-bottom:none;border-radius:8px 8px 0 0;overflow-x:auto}.stab[data-v-20baa6d5]{display:flex;flex-direction:column;gap:1px;align-items:flex-start;min-width:108px;padding:6px 14px;border:1px solid var(--border);border-bottom-color:transparent;border-radius:8px 8px 0 0;background:#ffffff05;color:var(--text-dim);cursor:pointer;white-space:nowrap;transition:all .15s ease}.stab[data-v-20baa6d5]:hover{color:var(--text);background:#3b82f61f}.stab.active[data-v-20baa6d5]{color:#fff;background:#1d4ed8;border-color:#2563eb;box-shadow:0 -2px 12px #2563eb59}.stab-name[data-v-20baa6d5]{font-size:13px;font-weight:600;line-height:1.3}.stab-meta[data-v-20baa6d5]{font-size:11px;opacity:.75;line-height:1.2}.stab-empty[data-v-20baa6d5]{color:var(--text-dim);font-size:12px;padding:8px 6px}.ind-cell[data-v-20baa6d5]{text-align:left}.ind-short[data-v-20baa6d5]{font-size:13px;font-weight:600;color:var(--text);cursor:help}.side-tag[data-v-20baa6d5]{display:inline-block;padding:1px 6px;border-radius:4px;font-size:12px;font-weight:600;line-height:1.5}.side-tag.long[data-v-20baa6d5]{color:#f87171;background:#f871711f;border:1px solid rgba(248,113,113,.35)}.side-tag.short[data-v-20baa6d5]{color:#4ade80;background:#4ade801f;border:1px solid rgba(74,222,128,.35)}.ind-short.up[data-v-20baa6d5]{color:var(--up)}.ind-short.down[data-v-20baa6d5]{color:var(--down)}.ind-short.hi[data-v-20baa6d5]{color:#f87171}.ind-short.lo[data-v-20baa6d5]{color:#4ade80}.ind-na[data-v-20baa6d5]{color:var(--text-dim)}.ind-chips[data-v-20baa6d5]{display:flex;flex-direction:column;gap:3px;align-items:flex-start}.ind-chip[data-v-20baa6d5]{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);font-size:11.5px;color:var(--text-dim);white-space:nowrap;cursor:help}.ind-chip i[data-v-20baa6d5]{font-style:normal;opacity:.8}.ind-chip b[data-v-20baa6d5]{font-weight:600;color:var(--text)}.ind-chip b.up[data-v-20baa6d5]{color:var(--up)}.ind-chip b.down[data-v-20baa6d5]{color:var(--down)}.ind-chip b.hi[data-v-20baa6d5]{color:#f87171}.ind-chip b.lo[data-v-20baa6d5]{color:#4ade80}.table-wrap[data-v-20baa6d5]{border:1px solid var(--border);border-radius:8px;overflow:auto;flex:1;min-height:200px;background:var(--panel)}.strategy-tabbar+.table-wrap[data-v-20baa6d5]{border-radius:0 0 8px 8px}table[data-v-20baa6d5]{width:100%;border-collapse:collapse;font-size:13px}th[data-v-20baa6d5],td[data-v-20baa6d5]{padding:6px 10px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}th[data-v-20baa6d5]{background:var(--panel-2);color:var(--text-dim);position:sticky;top:0}tbody tr[data-v-20baa6d5]{cursor:pointer;color:var(--text)}tbody tr[data-v-20baa6d5]:hover:not(.alert){background:#ffffff0d}tr.alert[data-v-20baa6d5],tr.alert td[data-v-20baa6d5]{background:var(--alert-bg)!important;color:var(--alert-fg)!important;font-weight:600}td.up[data-v-20baa6d5]{color:var(--up)}td.down[data-v-20baa6d5]{color:var(--down)}td.empty[data-v-20baa6d5]{color:var(--text-dim);padding:40px 0}.log-panel[data-v-20baa6d5]{border:1px solid var(--border);border-radius:8px;background:#161719;overflow:hidden}.log-head[data-v-20baa6d5]{padding:6px 10px;color:var(--text-dim);background:var(--panel-2);font-size:12px}.log-body[data-v-20baa6d5]{height:170px;overflow-y:auto;padding:6px 10px;font-family:SF Mono,Menlo,Consolas,monospace;font-size:12px;line-height:1.7}.log-line[data-v-20baa6d5]{white-space:pre-wrap;word-break:break-all;color:#cfd2d6}.lv-error[data-v-20baa6d5]{color:#ff6b6b}.lv-warn[data-v-20baa6d5]{color:#fbbf24}.toast[data-v-20baa6d5]{position:fixed;top:18px;left:50%;transform:translate(-50%);background:#333;color:#fff;padding:8px 18px;border-radius:6px;box-shadow:0 4px 14px #0006;z-index:99}@media (max-width: 640px){.page[data-v-20baa6d5]{padding:8px 10px 16px;gap:8px}.title[data-v-20baa6d5]{font-size:15px}.title-row[data-v-20baa6d5]{flex-direction:column;align-items:stretch}.user-actions[data-v-20baa6d5]{justify-content:flex-end;flex-wrap:wrap}.btn-row.ops-grid[data-v-20baa6d5]{grid-template-columns:repeat(2,minmax(0,1fr));max-width:100%}.btn-row.ops-grid .btn[data-v-20baa6d5]{height:42px;font-size:13.5px}.param-save-row .btn[data-v-20baa6d5]{width:100%}.config-panel[data-v-20baa6d5]{padding:8px 10px 10px}.form-grid[data-v-20baa6d5]{grid-template-columns:1fr;gap:10px}.strategy-head[data-v-20baa6d5]{gap:8px}.strategy-head .st-name[data-v-20baa6d5]{flex:1;min-width:120px}.sim-summary-line[data-v-20baa6d5]{line-height:1.7}.sim-sub-head[data-v-20baa6d5]{flex-direction:column;align-items:flex-start}.user-create .u-input[data-v-20baa6d5]{min-width:0;flex:1 1 100%}.modal-card[data-v-20baa6d5]{width:94vw!important;padding:16px;max-height:90vh;overflow:auto}.log-body[data-v-20baa6d5]{max-height:180px}.strategy-tabbar[data-v-20baa6d5]{padding:5px;gap:5px;-webkit-overflow-scrolling:touch}.stab[data-v-20baa6d5]{min-width:92px;padding:5px 10px}.stab-name[data-v-20baa6d5]{font-size:12.5px}.stab-meta[data-v-20baa6d5]{font-size:10.5px}.table-wrap table[data-v-20baa6d5]{font-size:12px}th[data-v-20baa6d5],td[data-v-20baa6d5]{padding:6px 8px}}:root{--bg: #1e1f22;--panel: #2b2d31;--panel-2: #232427;--border: #3f4147;--text: #e8e8e8;--text-dim: #9a9ca1;--accent: #3b82f6;--up: #00bb00;--down: #ff2222;--alert-bg: #006400;--alert-fg: #ffff00}*{box-sizing:border-box;margin:0;padding:0}html,body,#app{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif;font-size:14px}
