:root{color-scheme:dark;--bg:#090c10;--surface:#10161d;--surface-2:#151d26;--line:#263442;--text:#e6edf3;--muted:#8495a8;--green:#24c08b;--red:#ff5c6c;--amber:#e3a72f;--blue:#4f8cff}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Segoe UI,Microsoft YaHei,ui-sans-serif,system-ui,sans-serif}button,input,select,textarea{font:inherit}button{border:0;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.62}input,select,textarea{width:100%;border:1px solid var(--line);border-radius:6px;background:#0b1117;color:var(--text);padding:9px 10px}textarea{min-height:84px;resize:vertical}.terminal-shell{min-height:100vh;display:grid;grid-template-columns:236px minmax(0,1fr)}.trade-sidebar{border-right:1px solid var(--line);background:#0c1117;padding:20px 16px;display:grid;align-content:start;grid-gap:16px;gap:16px}.brand{display:grid;grid-gap:4px;gap:4px;padding-bottom:16px;border-bottom:1px solid var(--line)}.brand strong{font-size:18px}.brand span,.label,.panel-head span,label{color:var(--muted);font-size:13px}label{display:grid;grid-gap:7px;gap:7px}.symbol-search-label{position:relative}.symbol-search-menu{position:absolute;z-index:20;top:64px;left:0;right:0;display:grid;max-height:280px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#0b1117;box-shadow:0 12px 30px rgba(0,0,0,.32)}.symbol-search-menu button{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 10px;color:var(--text);background:transparent;text-align:left}.symbol-search-menu button:hover{background:var(--surface-2)}.symbol-search-menu span{color:var(--muted);font-size:11px}.trade-main{padding:18px;display:grid;grid-gap:14px;gap:14px;align-content:start}.trade-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px}.trade-topbar h1{margin:0;font-size:24px;line-height:1.1}.trade-topbar p{margin:6px 0 0;color:var(--muted);font-size:14px}.price-tape{min-width:190px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;background:#0d151d;display:grid;grid-gap:4px;gap:4px}.metric span,.price-tape span{color:var(--muted);font-size:12px}.price-tape strong{color:var(--green);font-size:24px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.metrics-grid,.workbench-grid{display:grid;grid-gap:14px;gap:14px}.metrics-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.workbench-columns{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);grid-gap:14px;gap:14px;align-items:start}.workbench-column{display:grid;grid-gap:14px;gap:14px;align-content:start;min-width:0}.workbench-grid{grid-template-columns:minmax(0,1.45fr) minmax(360px,.8fr);align-items:start}.panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:14px;min-height:0}.panel h2{margin:0 0 12px;font-size:15px}.panel-note{margin:-4px 0 12px;color:var(--muted);font-size:13px;line-height:1.55}.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.metric{display:grid;grid-gap:8px;gap:8px}.metric-syncing{border-color:rgba(79,140,255,.56);box-shadow:inset 0 0 0 1px rgba(79,140,255,.14)}.metric strong{font-size:20px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.chart-panel{min-height:430px}.kline-wrap{position:relative}.kline-canvas{display:block;width:100%;height:372px;border-radius:6px;background:#080d12}.kline-loading{position:absolute;inset:0;border-radius:6px;display:grid;place-content:center;grid-gap:6px;gap:6px;text-align:center;background:rgba(8,13,18,.72);border:1px solid rgba(79,140,255,.28);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.kline-loading strong{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.kline-loading span{color:var(--muted);font-size:13px}.form-grid{margin-bottom:10px}.button-row,.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.button-row{margin-top:10px}.wide-btn{grid-column:1/-1}.small-btn{min-height:30px;padding:0 10px;font-size:12px}.danger-btn,.ghost-btn,.long-btn,.primary-btn,.secondary-btn,.short-btn{min-height:38px;border-radius:6px;padding:0 12px;font-weight:700}.primary-btn{background:var(--blue);color:white}.secondary-btn{background:#1a2531;color:var(--text)}.ghost-btn,.secondary-btn{border:1px solid var(--line)}.ghost-btn{background:transparent;color:var(--muted)}.long-btn{color:#03120d;background:var(--green)}.danger-btn,.short-btn{color:white;background:var(--red)}.close-position-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:76px}.btn-spinner{width:13px;height:13px;border-radius:999px;border:2px solid rgba(255,255,255,.42);border-top-color:#fff;animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.status-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--line);padding:9px 0;font-size:14px}.ai-box{display:grid;grid-gap:9px;gap:9px}.ai-box p{margin:0;color:#c8d3df;line-height:1.55}.batch-auto-box{display:grid;grid-gap:10px;gap:10px;margin-top:12px}.experiment-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experiment-status-grid>div{display:grid;grid-gap:4px;gap:4px;min-width:0;padding:10px 0}.experiment-status-grid>div:nth-child(odd){padding-right:10px}.experiment-status-grid>div:nth-child(2n){padding-left:10px;border-left:1px solid var(--line)}.experiment-status-grid span,.round-review p,.scan-stats{color:var(--muted);font-size:12px}.experiment-status-grid strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scan-stats{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px 12px}.scan-progress{height:8px;overflow:hidden;border-radius:4px;background:#0b1117}.scan-progress span{display:block;height:100%;background:var(--blue);transition:width .18s ease}.scan-filter-row{display:flex;flex-wrap:wrap;gap:6px}.scan-filter-row button{min-height:30px;border:1px solid var(--line);border-radius:6px;padding:5px 8px;color:var(--muted);background:transparent}.scan-filter-row button.active{color:var(--text);border-color:var(--blue);background:rgba(79,140,255,.12)}.round-review{display:grid;grid-gap:8px;gap:8px;border-top:1px solid var(--line);padding-top:12px}.round-review h3,.round-review p{margin:0}.batch-auto-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;color:var(--muted);font-size:13px}.batch-auto-head>div:first-child{display:grid;grid-gap:4px;gap:4px;min-width:0}.batch-auto-head strong{display:block;color:var(--text)}.batch-auto-head span{display:block}.batch-auto-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.batch-auto-actions .small-btn{min-height:28px}.batch-auto-hint{margin:0;border:1px solid rgba(79,140,255,.28);border-radius:6px;padding:9px 10px;color:var(--muted);background:rgba(79,140,255,.08);font-size:13px;line-height:1.45}.batch-auto-list{display:grid;grid-gap:8px;gap:8px;max-height:280px;overflow:auto}.batch-auto-row{display:grid;grid-template-columns:minmax(96px,.8fr) minmax(140px,1.2fr) minmax(76px,.6fr);grid-gap:10px;gap:10px;align-items:center;border:1px solid var(--line);border-left-width:4px;border-radius:6px;padding:10px;background:var(--surface-2);font-size:12px}.batch-auto-row>div{display:grid;grid-gap:3px;gap:3px;min-width:0}.batch-auto-row span,.batch-auto-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.batch-auto-row span{color:var(--muted)}.batch-auto-row>div:nth-child(2) strong{width:-moz-fit-content;width:fit-content;border-radius:999px;padding:3px 7px;background:rgba(255,255,255,.06)}.batch-auto-row.opened>div:nth-child(2) strong{color:var(--green)}.batch-auto-row.executing>div:nth-child(2) strong,.batch-auto-row.not_executed>div:nth-child(2) strong,.batch-auto-row.ready>div:nth-child(2) strong,.batch-auto-row.running>div:nth-child(2) strong,.batch-auto-row.signal>div:nth-child(2) strong{color:var(--blue)}.batch-auto-row.pending>div:nth-child(2) strong,.batch-auto-row.risk_rejected>div:nth-child(2) strong,.batch-auto-row.skipped>div:nth-child(2) strong{color:var(--amber)}.batch-auto-row.failed>div:nth-child(2) strong{color:var(--red)}.batch-auto-row.opened{border-left-color:var(--green)}.batch-auto-row.executing,.batch-auto-row.not_executed,.batch-auto-row.ready,.batch-auto-row.running,.batch-auto-row.signal{border-left-color:var(--blue)}.batch-auto-row.pending,.batch-auto-row.risk_rejected,.batch-auto-row.skipped{border-left-color:var(--amber)}.batch-auto-row.failed{border-left-color:var(--red)}.direction{width:-moz-fit-content;width:fit-content;border-radius:6px;padding:7px 10px;font-weight:800;font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.direction.long{color:#03120d;background:var(--green)}.direction.short{color:white;background:var(--red)}.direction.neutral{color:#110d02;background:var(--amber)}.indicator-grid{margin-top:12px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.indicator-grid span{border:1px solid var(--line);border-radius:6px;padding:8px;color:var(--muted)}.table-list{display:grid;grid-gap:8px;gap:8px}.table-list.compact{gap:6px}.table-row{display:grid;grid-template-columns:minmax(0,1.3fr) auto auto;align-items:center;grid-gap:10px;gap:10px;border:1px solid var(--line);border-radius:6px;padding:10px;background:var(--surface-2);font-size:13px}.table-row div{display:grid;grid-gap:3px;gap:3px}.table-row span{color:var(--muted)}.table-row strong{line-height:1.35}.position-exit.active{color:var(--blue)}.position-exit.muted{color:var(--muted)}.order-list{gap:10px}.order-row{display:grid;grid-template-columns:minmax(220px,1.6fr) minmax(130px,.8fr) minmax(130px,.8fr) minmax(150px,.9fr);grid-gap:12px;gap:12px;align-items:center;border:1px solid var(--line);border-left-width:4px;border-radius:6px;padding:12px;background:var(--surface-2);font-size:13px}.order-row>div{display:grid;grid-gap:4px;gap:4px}.order-row span{color:var(--muted)}.order-row.long{border-left-color:var(--green)}.order-row.danger,.order-row.short{border-left-color:var(--red)}.order-row.take-profit{border-left-color:var(--blue)}.order-row.neutral{border-left-color:var(--amber)}.protection-summary{display:grid;grid-gap:4px;gap:4px;border:1px solid rgba(36,192,139,.3);border-radius:6px;padding:10px;background:rgba(36,192,139,.07);font-size:13px}.empty-state,.protection-summary span{color:var(--muted)}.empty-state{border:1px dashed var(--line);border-radius:6px;padding:12px;line-height:1.55;background:rgba(255,255,255,.02)}.ok{color:var(--green)}.bad,.ok{font-weight:800}.bad{color:var(--red)}.login-error,.toast{border-radius:6px;padding:10px 12px;font-size:14px}.toast{color:var(--green);border:1px solid rgba(36,192,139,.35);background:rgba(36,192,139,.08)}.login-error{color:var(--red);border:1px solid rgba(255,92,108,.35);background:rgba(255,92,108,.08)}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(420px,100%);display:grid;grid-gap:14px;gap:14px;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:24px}.login-card h1,.login-card p{margin:0}.login-card p{color:var(--muted)}.modal-backdrop{position:fixed;inset:0;z-index:40;display:grid;place-items:center;padding:18px;background:rgba(3,7,12,.72)}.confirm-modal{width:min(460px,100%);border:1px solid var(--line);border-radius:8px;background:#0d141c;padding:18px;box-shadow:0 18px 60px rgba(0,0,0,.35)}.confirm-modal h2{margin:0 0 10px;font-size:18px}.confirm-modal p{margin:0 0 12px;color:#c8d3df;line-height:1.55}@media (max-width:1100px){.terminal-shell{grid-template-columns:1fr}.trade-sidebar{grid-template-columns:repeat(4,minmax(0,1fr))}.brand{border-bottom:0;padding-bottom:0}.metrics-grid,.workbench-columns,.workbench-grid{grid-template-columns:1fr}}@media (max-width:720px){.trade-main{padding:12px}.button-row,.form-grid,.metrics-grid,.trade-sidebar{grid-template-columns:1fr}.trade-topbar{align-items:stretch;flex-direction:column}.batch-auto-head,.batch-auto-row,.order-row,.table-row{grid-template-columns:1fr}}