:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#0b1016;--panel:#121a23;--panel-2:#17222d;--line:#22303c;--text:#dce6ef;--dim:#8fa1b3;--accent:#4f9cf0;--good:#63c08d;--bad:#d17b7b}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:13px/1.5 -apple-system,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.app{grid-template-rows:52px minmax(0,1fr) auto 32px;height:100%;display:grid}.topbar{border-bottom:1px solid var(--line);background:var(--panel);align-items:center;gap:20px;padding:0 16px;display:flex}.brand{letter-spacing:.02em;align-items:center;gap:6px;font-size:15px;font-weight:600;display:flex}.brand .mark{color:var(--accent)}.brand small{color:var(--dim);margin-left:4px;font-size:11px;font-weight:400}.symbol{align-items:center;gap:10px;display:flex}.symbol b{font-size:14px}.price{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}.price.dim{color:var(--dim);font-weight:400}.metrics{color:var(--dim);gap:18px;display:flex}.metrics b{color:var(--text);font-variant-numeric:tabular-nums;margin-left:4px}.top-actions{color:var(--dim);align-items:center;gap:14px;margin-left:auto;display:flex}.top-actions a:hover{color:var(--text)}.top-actions .icon{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:6px;width:28px;height:26px}.link-dot{border:1px solid var(--line);color:var(--dim);white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:11px}.link-dot.on{color:var(--good);background:#12251b;border-color:#2f5a44}.link-dot.off{color:var(--dim)}.main{min-height:0;display:flex}.main.rail-closed .rail{display:none}.chart-pane{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.chart-toolbar{border-bottom:1px solid var(--line);z-index:30;background:#0e151d;align-items:center;gap:8px;height:40px;padding:0 10px;display:flex;position:relative}.spacer{flex:1}.chart-body{flex:1;min-height:0;position:relative}.chart-shell,.chart-host{position:absolute;inset:0}.chart-loading{color:var(--dim);pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.chart-empty{text-align:center;place-content:center;gap:6px;height:100%;display:grid}.tool-btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:7px;padding:5px 10px}.tool-btn:hover{border-color:#33475a}.tool-btn.is-active{border-color:var(--accent);color:#cfe4ff}.save-hint{color:var(--dim);text-align:right;min-width:72px;font-size:11px}.badge{color:#f0d08a;background:#2a2416;border:1px solid #6b5a2c;border-radius:999px;padding:1px 8px;font-size:11px}.rail{border-left:1px solid var(--line);background:var(--panel);flex:0 0 372px;width:372px;min-height:0;display:flex}.rail-icons{border-right:1px solid var(--line);flex-direction:column;flex:0 0 46px;align-items:center;gap:2px;width:46px;padding-top:6px;display:flex}.rail-icons button{width:38px;height:38px;color:var(--dim);background:0 0;border:0;border-radius:8px;place-items:center;font-size:16px;display:grid;position:relative}.rail-icons button:hover{color:var(--text);background:#1a2632}.rail-icons button.is-active{color:var(--text);box-shadow:inset 2px 0 0 var(--accent);background:#1c2b3a}.rail-icons .dot{background:var(--bad);color:#1a0f0f;border-radius:999px;padding:0 4px;font-size:10px;font-style:normal;font-weight:700;position:absolute;top:3px;right:4px}.rail-body{flex:1;min-width:0;overflow:auto}.pane{flex-direction:column;gap:10px;padding:12px;display:flex}.pane h3{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;margin:6px 0 0;font-size:12px;font-weight:600}.pane h3 small{color:var(--dim);text-transform:none;font-weight:400}.pane label{color:var(--dim);font-size:11px}.pane textarea{width:100%;color:var(--text);border:1px solid var(--line);font:inherit;resize:vertical;background:#0d151d;border-radius:8px;min-height:64px;padding:8px}.pane textarea:focus{border-color:#33506b;outline:none}.primary{color:#dbeaff;background:#1d3a5c;border:1px solid #2b5787;border-radius:7px;padding:6px 12px}.primary:disabled{opacity:.5;cursor:default}.dim{color:var(--dim);margin:0;font-size:12px}.up{color:var(--good)}.down{color:var(--bad)}.buy{color:var(--good)}.sell{color:var(--bad)}.kv{grid-template-columns:auto 1fr;gap:4px 10px;font-size:12px;display:grid}.kv span{color:var(--dim)}.kv b{text-align:right;font-variant-numeric:tabular-nums}table.mini{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:11.5px}table.mini th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line);padding:4px 2px;font-weight:400}table.mini td{border-bottom:1px solid #182430;padding:4px 2px}table.mini tr:last-child td{border-bottom:0}.link{color:var(--accent);background:0 0;border:0;padding:0;font-size:11.5px}.friend{border:1px solid var(--line);background:#0f1822;border-radius:8px;flex-direction:column;gap:6px;padding:8px;display:flex}.friend-head{align-items:center;gap:8px;display:flex}.friend-head .dim{margin-left:auto}.chat-pane{height:100%}.chat-log{flex-direction:column;flex:1;gap:8px;min-height:120px;display:flex;overflow:auto}.msg{border:1px solid var(--line);background:#0f1822;border-radius:8px;padding:7px 9px}.msg.mine{background:#15263a;border-color:#27405a}.msg .meta{color:var(--dim);margin-bottom:2px;font-size:10.5px}.msg p{white-space:pre-wrap;margin:0}.chat-form{align-items:flex-end;gap:6px;display:flex}.chat-form textarea{flex:1;min-height:44px}.tags{flex-wrap:wrap;gap:5px;display:flex}.tag{border:1px solid var(--line);color:var(--dim);background:#0f1822;border-radius:999px;padding:2px 9px;font-size:11px}.tag.is-on{border-color:var(--accent);color:#cfe4ff;background:#16293c}.share-box{border-top:1px solid var(--line);flex-direction:column;gap:8px;padding-top:8px;display:flex}.share-box summary{cursor:pointer;color:var(--accent);font-size:12px}.people{flex-direction:column;gap:4px;display:flex}.person{color:var(--text);align-items:center;gap:6px;font-size:12px;display:flex}.inbox-item{text-align:left;border:1px solid var(--line);color:var(--text);background:#0f1822;border-radius:8px;flex-direction:column;gap:2px;padding:8px 9px;display:flex}.inbox-item.is-new{border-color:#3b6a95}.inbox-item em{color:var(--dim);font-size:11.5px;font-style:normal}.ticker{border-top:1px solid var(--line);background:#0e151d;align-items:center;gap:10px;padding:0 12px;display:flex;overflow:hidden}.ticker .label{color:var(--dim);white-space:nowrap;font-size:11px}.ticker .track{white-space:nowrap;gap:26px;display:flex;overflow:hidden}.ticker .tick{color:var(--text);font-size:11.5px}.ticker .tick b{color:#cfe4ff;font-weight:500}.ticker .tick time{color:var(--dim);margin-left:6px}.vela-tool-btn,.lp-trigger,.tp-btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:7px;align-items:center;gap:7px;padding:5px 10px;display:inline-flex}.vela-tool-btn:hover,.tp-btn:hover{border-color:#33475a}.vela-tool-btn.is-active,.tp-btn.is-active{border-color:var(--accent)}.lp,.tp-menu{position:relative}.tp-panel,.lp-panel{z-index:60;border:1px solid var(--line);background:#101922;border-radius:10px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 40px #0000008c}.tp-panel{min-width:110px}.tp-item{text-align:left;width:100%;color:var(--text);background:0 0;border:0;border-radius:6px;padding:5px 8px;display:block}.tp-item:hover{background:#1a2734}.tp-item.is-current{color:var(--accent)}.tp-caret{color:var(--dim);font-size:10px}.lp-panel{flex-direction:column;gap:12px;width:348px;display:flex}.lp-section{flex-direction:column;gap:6px;display:flex}.lp-section-title{color:var(--dim);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.lp-canvas{grid-template-columns:repeat(4,1fr);gap:3px;display:grid}.lp-cell{border:1px solid var(--line);background:#0d151d;border-radius:3px;height:22px;padding:0}.lp-cell.is-lit{background:#22405c;border-color:#3d6b96}.lp-cell.is-current{border-color:var(--accent)}.lp-hint{color:var(--dim);font-size:11px}.lp-row{flex-wrap:wrap;gap:6px;display:flex}.lp-item{border:1px solid var(--line);background:#0d151d;border-radius:6px;padding:3px;line-height:0}.lp-item.is-current{border-color:var(--accent)}.lp-rect{fill:#2b4257}.lp-item.is-current .lp-rect{fill:#3d6b96}.lp-sync{border-top:1px solid var(--line);gap:4px;padding-top:8px}.lp-sync-row{color:var(--text);justify-content:space-between;align-items:center;font-size:13px;display:flex}.lp-switch{appearance:none;cursor:pointer;background:#263442;border-radius:999px;width:30px;height:16px;position:relative}.lp-switch:after{content:"";background:#8ea3b6;border-radius:50%;width:12px;height:12px;transition:transform .12s;position:absolute;top:2px;left:2px}.lp-switch:checked{background:#2b5787}.lp-switch:checked:after{background:#cfe4ff;transform:translate(14px)}.boot{text-align:center;height:100%;color:var(--dim);place-content:center;gap:10px;display:grid}.toast{color:#f0b4b4;background:#2a1616;border:1px solid #6b2c2c;border-radius:8px;padding:8px 14px;font-size:12px;position:fixed;bottom:44px;left:50%;transform:translate(-50%)}@media (max-width:1100px){.rail{flex-basis:320px;width:320px}.metrics{display:none}}.local-terminal{border-bottom:1px solid var(--line);flex-direction:column;gap:10px;padding-bottom:14px;display:flex}.local-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:6px;display:flex}.local-heading h3{margin:0}.local-terminal .link-dot{white-space:normal}.local-terminal .kv{overflow-wrap:anywhere}.local-terminal input{width:100%;min-width:0;color:var(--text);font:inherit;background:#0b141e;border:1px solid #304255;border-radius:6px;padding:7px 8px}.local-terminal input:focus{outline:1px solid var(--accent)}.local-terminal button:disabled{cursor:default;opacity:.45}.local-buttons{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.local-buttons a{color:var(--accent);font-size:11px}.local-pair{flex-direction:column;gap:5px;display:flex}.local-pair input{letter-spacing:.15em;flex:1;width:120px}.local-order-form{flex-direction:column;gap:7px;display:flex}.local-price-inputs{grid-template-columns:1fr 1fr;gap:7px;display:grid}.local-price-inputs label{flex-direction:column;gap:4px;display:flex}.local-buy{background:#1c4935;border-color:#35674d}.local-sell{background:#532e35;border-color:#814653}.local-order-form .local-buttons button{flex:1}.local-error{color:#efacac;overflow-wrap:anywhere;margin:0;font-size:12px}.local-notice,.local-confirm{background:#272218;border:1px solid #65522f;border-radius:7px;padding:8px;font-size:12px}.local-notice p,.local-confirm p{overflow-wrap:anywhere;margin:4px 0 8px}.local-position{border:1px solid var(--line);border-radius:7px;flex-direction:column;gap:5px;padding:8px;display:flex}.local-position>div:first-child{flex-wrap:wrap;justify-content:space-between;gap:5px;display:flex}.local-position b{font-size:12px}.local-command-log{flex-direction:column;gap:8px;display:flex}.local-command{border-left:2px solid #465c72;padding:4px 0 4px 8px;font-size:11px}.local-command p{margin:4px 0;font-size:11px}.ticket{border:1px solid var(--line);background:#0f1822;border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.ticket.is-locked{opacity:.92}.ticket-head{justify-content:space-between;align-items:baseline;display:flex}.ticket-head h3{margin:0}.lock-banner{color:#e0c48a;background:#241d12;border:1px dashed #4a3a22;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;font-size:11.5px;display:flex}.seg{border:1px solid var(--line);background:#0b131b;border-radius:8px;grid-template-columns:repeat(3,1fr);gap:4px;padding:3px;display:grid}.seg-btn{color:var(--dim);background:0 0;border:0;border-radius:6px;padding:5px 0;font-size:12px}.seg-btn.is-active{color:var(--text);background:#1c2b3a}.sides{grid-template-columns:1fr 1fr;gap:6px;display:grid}.side-btn{border:1px solid var(--line);color:var(--text);background:#0b131b;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 6px;font-size:12px;display:flex}.side-btn em{color:var(--dim);font-variant-numeric:tabular-nums;font-style:normal}.side-btn.buy.is-active{color:#9fe0bb;background:#12251b;border-color:#2f6a4d}.side-btn.sell.is-active{color:#efb3b3;background:#251313;border-color:#6b3232}.field{flex-direction:column;gap:4px;display:flex}.field>span{color:var(--dim);font-size:11px}.field input[type=number]{border:1px solid var(--line);width:100%;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;background:#0b131b;border-radius:7px;padding:6px 8px}.field.is-disabled{opacity:.55}.field-row{align-items:center;gap:6px;display:flex}.field-row input{flex:1}.quick{gap:3px;display:flex}.chip{border:1px solid var(--line);color:var(--dim);background:#0b131b;border-radius:6px;padding:4px 6px;font-size:11px}.chip:hover{color:var(--text);border-color:#33475a}.stops{grid-template-columns:1fr 1fr;gap:6px;display:grid}.field-inline span{align-items:center;gap:5px;display:flex}.risk{border-top:1px solid var(--line);padding-top:8px}.risk-head{color:var(--dim);justify-content:space-between;margin-bottom:6px;font-size:11px;display:flex}.risk-grid{grid-template-columns:1fr 1fr;gap:6px 10px;display:grid}.risk-grid em{color:var(--dim);font-size:10.5px;font-style:normal;display:block}.risk-grid b{font-variant-numeric:tabular-nums;font-weight:500}.problems{color:#e6a3a3;margin:6px 0 0;padding-left:16px;font-size:11px}.arm{color:var(--text);align-items:flex-start;gap:7px;font-size:11.5px;display:flex}.arm em{color:var(--dim);font-style:normal}.arm.oneclick.is-on{color:#ff9a9a}.submit{border:1px solid var(--line);color:#fff;border-radius:8px;padding:9px;font-weight:600}.submit.buy{background:#1c5c3f;border-color:#2b7d57}.submit.sell{background:#6b2b2b;border-color:#8d3a3a}.submit.is-oneclick{box-shadow:inset 0 0 0 1px #d9534f}.submit:disabled{opacity:.45}.oneclick-warn{color:#e6a3a3;margin:0;font-size:11px}.hint{color:var(--dim);margin:0;font-size:11px}.result{border:1px solid var(--line);border-radius:8px;padding:8px;font-size:11.5px}.result-ok{background:#102018;border-color:#2f6a4d}.result-warn{background:#241d12;border-color:#6b5a2c}.result-bad{background:#251313;border-color:#6b3232}.result-head{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.btn-x{color:var(--dim);background:0 0;border:0;font-size:16px}.result-grid{grid-template-columns:auto 1fr;gap:3px 10px;margin:0;display:grid}.result-grid dt{color:var(--dim)}.result-grid dd{font-variant-numeric:tabular-nums;margin:0}.result-err{color:#e6a3a3;margin:6px 0 0}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.modal-backdrop{z-index:80;background:#03070bb8;place-items:center;display:grid;position:fixed;inset:0}.modal{border:1px solid var(--line);background:#101922;border-radius:12px;flex-direction:column;gap:10px;width:min(420px,92vw);padding:16px;display:flex}.modal h3{margin:0;font-size:14px}.confirm-grid{grid-template-columns:auto 1fr;gap:4px 12px;margin:0;font-size:12px;display:grid}.confirm-grid dt{color:var(--dim)}.confirm-grid dd{margin:0}.modal-actions{justify-content:flex-end;gap:8px;display:flex}.btn{border:1px solid var(--line);background:var(--panel-2);color:var(--text);border-radius:7px;padding:6px 12px}.btn.primary{background:#1d3a5c;border-color:#2b5787}.btn.primary.buy{background:#1c5c3f;border-color:#2b7d57}.btn.primary.sell{background:#6b2b2b;border-color:#8d3a3a}.dock{border-top:1px solid var(--line);background:#0d151d;flex-direction:column;min-height:0;display:flex;position:relative}.dock-head{align-items:center;gap:12px;height:32px;padding:0 10px;display:flex}.dock-tabs{gap:2px;display:flex}.dock-tabs button{color:var(--dim);background:0 0;border:0;border-radius:6px;padding:5px 10px;font-size:12px}.dock-tabs button small{color:var(--dim);margin-left:3px;font-size:10.5px}.dock-tabs button.is-active{color:var(--text);background:#1c2b3a}.dock-head .icon{border:1px solid var(--line);color:var(--text);background:0 0;border-radius:6px;width:26px;height:22px;margin-left:auto}.dock-body{max-height:190px;padding:0 10px 8px;overflow:auto}.dock-empty{padding:14px 0}table.grid-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:11.5px}table.grid-table th{text-align:left;color:var(--dim);border-bottom:1px solid var(--line);background:#0d151d;padding:4px 8px;font-weight:400;position:sticky;top:0}table.grid-table td{white-space:nowrap;border-bottom:1px solid #16212c;padding:4px 8px}table.grid-table tr:hover td{background:#101b26}.dock-sort{border:1px solid var(--line);color:var(--dim);background:#101922;border-radius:6px;padding:2px 8px;font-size:11px;position:absolute;top:6px;right:46px}
