:root{--bg:#0a111e;--panel:#101a2c;--panel-raised:#16233a;--border:#24344f;--text:#e6edf7;--muted:#8b9bb4;--accent:#2f6fed;--accent-soft:#16294d;--good:#3ecf8e;--good-soft:#10332a;--warn:#f5c451;--warn-soft:#3a2f12;--bad:#ff7b7b;--bad-soft:#3c1a20;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#9085e9;--series-rest:#5d6e88;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:system-ui,-apple-system,Segoe UI,Microsoft YaHei,sans-serif;font-size:14px}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0}h1,h2,h3{margin:0;font-weight:600}h1{font-size:22px}h2{font-size:16px}p{margin:0}button,input,select{font:inherit;color:inherit}input,select{border:1px solid var(--border);background:var(--bg);border-radius:8px;width:100%;padding:8px 10px}input:focus-visible,select:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label{color:var(--muted);gap:6px;display:grid}button{border:1px solid var(--border);background:var(--panel-raised);cursor:pointer;border-radius:8px;padding:7px 14px}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.5;cursor:default}button.primary{border-color:var(--accent);background:var(--accent);color:#fff}button.danger{border-color:var(--bad-soft);background:var(--bad-soft);color:var(--bad)}table{border-collapse:collapse;width:100%}th{color:var(--muted);text-align:left;font-weight:500}th,td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px 12px}.layout{grid-template-columns:200px 1fr;min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);flex-direction:column;gap:4px;padding:18px 12px;display:flex}.brand{gap:4px;padding:0 10px 14px;font-size:18px;font-weight:700;display:grid}.sidebar .version-chip{color:var(--muted);font-variant-numeric:tabular-nums;border-radius:999px;justify-self:start;padding:1px 8px;font-size:11px;font-weight:400}.sidebar .version-chip.bad{background:var(--bad-soft);color:var(--bad)}.version-dialog{width:min(640px,100%)}.version-programs{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.version-program h3{margin:0 0 6px;font-size:14px}.version-program dl{grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0;font-size:13px;display:grid}.version-program dt{color:var(--muted)}.version-program dd{overflow-wrap:anywhere;margin:0}@media (width<=560px){.version-programs{grid-template-columns:minmax(0,1fr)}}.sidebar button{color:var(--muted);text-align:left;background:0 0;border-color:#0000}.sidebar button.active{background:var(--accent-soft);color:var(--text)}.sidebar .spacer{flex:1}.sidebar .who{color:var(--muted);padding:8px 10px}.main{align-content:start;gap:16px;min-width:0;padding:20px 24px;display:grid}.toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px;display:flex}.toolbar .group{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.toolbar label{min-width:180px}.card{border:1px solid var(--border);background:var(--panel);border-radius:12px;gap:12px;padding:16px;display:grid}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.equity{gap:4px;display:grid}.equity strong{font-size:26px}.muted{color:var(--muted)}.actions{flex-wrap:wrap;gap:6px;display:flex}.tag{background:var(--panel-raised);color:var(--muted);white-space:nowrap;border-radius:999px;padding:2px 8px;display:inline-block}.tag.good{background:var(--good-soft);color:var(--good)}.tag.warn{background:var(--warn-soft);color:var(--warn)}.tag.bad{background:var(--bad-soft);color:var(--bad)}.notice{background:var(--panel-raised);border-radius:8px;padding:10px 12px}.notice.good{background:var(--good-soft);color:var(--good)}.notice.warn{background:var(--warn-soft);color:var(--warn)}.notice.bad{background:var(--bad-soft);color:var(--bad)}.centered{place-items:center;min-height:100vh;padding:16px;display:grid}.form{border:1px solid var(--border);background:var(--panel);border-radius:12px;gap:14px;width:100%;max-width:400px;padding:24px;display:grid}.form .row{gap:8px;display:flex}.form .row input{flex:1;min-width:0}.overlay{z-index:10;background:#0000008c;place-items:center;padding:16px;display:grid;position:fixed;inset:0}.secret{background:var(--bg);-webkit-user-select:all;user-select:all;border-radius:8px;padding:10px 12px;font-family:ui-monospace,Consolas,monospace;font-size:16px}.check{color:var(--text);align-items:center;gap:8px;display:flex}.check input{width:auto}.pager{justify-content:flex-end;align-items:center;gap:8px;display:flex}.table-wrap{overflow-x:auto}a{color:inherit}a.button{border:1px solid var(--border);background:var(--panel-raised);white-space:nowrap;border-radius:8px;padding:7px 14px;text-decoration:none;display:inline-block}a.button:hover{border-color:var(--accent)}a.button.primary{border-color:var(--accent);background:var(--accent);color:#fff}button.plain{color:var(--muted);background:0 0;border:0;padding:0 4px}textarea{border:1px solid var(--border);background:var(--bg);width:100%;font:inherit;color:inherit;resize:vertical;border-radius:8px;padding:8px 10px;font-family:ui-monospace,Consolas,monospace}textarea:focus-visible{outline:2px solid var(--accent);outline-offset:1px}th.num,td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}th small{font-size:11px;font-weight:400;display:block}.small{font-size:12px;font-weight:400}.up{color:var(--good)}.down,.bad{color:var(--bad)}strong.warn{color:var(--warn)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:10px;display:flex}.summary{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:20px}.figures{grid-template-columns:repeat(2,minmax(0,1fr));align-content:center;gap:12px;display:grid}.figure{gap:2px;min-width:0;display:grid}.figure strong{font-variant-numeric:tabular-nums;font-size:22px}.summary .figures{grid-template-columns:repeat(6,minmax(0,1fr))}.summary .figure{grid-column:span 2}.summary .figure.sides{grid-column:span 3}.figure.sides strong{font-size:17px}.day-table th,.day-table td{padding:6px 8px}.filters{flex-wrap:wrap;gap:10px;display:flex}.filters select,.filters input{width:auto}.filters .grow{flex:280px}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{color:var(--muted);background:0 0;border-radius:999px;padding:3px 12px}.chip.on{border-color:var(--accent);background:var(--accent-soft);color:var(--text)}.grid-table{min-width:1040px}.grid-table th,.grid-table td{padding:10px 8px}.grid-name{align-items:center;gap:6px;display:flex}.side{border-radius:6px;flex:none;padding:1px 7px;font-size:12px}.side.long{background:var(--good-soft);color:var(--good)}.side.short{background:var(--bad-soft);color:var(--bad)}.side.both{background:var(--panel-raised);color:var(--muted)}.actions.end{flex-wrap:nowrap;justify-content:flex-end}.notes{gap:4px;display:grid}.form.wide{max-width:560px}.plain-list{gap:4px;margin:0;padding-left:18px;display:grid}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.hint{color:var(--muted);font-size:12px}.preview{border-top:1px solid var(--border);gap:4px;padding-top:10px;display:grid}.preview-names{flex-wrap:wrap;justify-content:space-between;gap:6px 24px;display:flex}.preview-names .off{opacity:.5}.two-sides{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.side-fields{gap:10px;min-width:0;display:grid}label.row{grid-template-columns:92px minmax(0,1fr);align-items:center}.switch-line{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.switch-line.end{align-items:end}.switch-line label{min-width:0}input.short,select.short{width:auto;max-width:220px}.create-line{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.detail-main{gap:16px;min-width:0;display:grid}.param-strip{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));align-items:start;gap:8px 18px}.param-strip>.card-head,.param-strip>.param-group,.param-strip>.hint,.param-strip>.notice,.param-strip>.actions{grid-column:1/-1}.param-strip .param{grid-template-columns:minmax(0,1fr);align-items:start;gap:2px}.param-strip .param.wide{grid-column:span 2}.countdown{font-variant-numeric:tabular-nums}.param-group{border-top:1px solid var(--border);color:var(--muted);margin:8px 0 0;padding-top:8px;font-size:12px;font-weight:600}.param{grid-template-columns:170px minmax(0,1fr);align-items:center;gap:8px;min-height:28px;display:grid}.read-only{color:var(--muted);overflow-wrap:anywhere}.can-change,input.can-change,select.can-change{color:var(--good);overflow-wrap:anywhere}input.auto{justify-self:start;width:auto}.two-up{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;display:grid}.two-up>.card{min-width:0;height:100%}.side-numbers .param{grid-template-columns:minmax(0,1fr);gap:0}.side-numbers{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.side-card.active{border-color:var(--accent)}.op-group{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.line-table{max-height:340px;overflow-y:auto}.line-table table{min-width:480px;font-size:12px}.line-table th,.line-table td{padding:6px}.line-table .buy,.trade-buy{color:#0ecb81}.line-table .sell,.trade-sell{color:#f6465d}.line-table .split{border-left:1px solid var(--border)}.line-table tr.price-edge td{box-shadow:inset 0 1px #f0b90b}.line-counts{color:var(--muted);font-size:13px;font-weight:400}.line-counts b{color:var(--text)}.pair-label,.order-number{color:#8fa1bb;font-family:Consolas,Courier New,monospace}.events.tall{height:510px}.event-side{font-size:11px}.events{background:#090f16;border-radius:6px;align-content:start;gap:4px;height:340px;padding:8px 10px;font-size:12px;line-height:1.6;display:grid;overflow-y:auto}.events p{margin:0}.events .event-time{color:#6f829b;font-size:11px}.event-Info{color:#8bafff}.event-PlaceBuy,.event-FillBuy{color:#0ecb81}.event-PlaceSell,.event-FillSell{color:#f6465d}.event-FillBuy,.event-FillSell{font-weight:700}.event-OpenFill,.event-CloseFill{color:#d7e0ee}.event-Pair{color:#f0b90b}.event-Cancel{color:#848e9c}.event-Fail{color:#ff9f43}.event-Limit{color:#c084fc}.event-Alert{color:#ff6b81}.op-strip{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center}.op-buttons{gap:8px;display:grid}.op-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.op-line>b{width:36px}.close-out.long{color:#0ecb81;border-color:#0e6b47}.close-out.short{color:#f6465d;border-color:#7a2531}input.tiny{width:64px}.account-lines{border-left:1px solid var(--border);font-variant-numeric:tabular-nums;gap:2px;padding-left:16px;font-family:Consolas,Microsoft YaHei,monospace;font-size:13px;display:grid}.account-lines p{overflow-wrap:anywhere;margin:0}.account-lines span{color:var(--muted)}.param-panel .param-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 18px;display:grid}.param-panel .param-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.param-panel .param{grid-template-columns:minmax(0,1fr);align-items:start;gap:2px}.segments-box{border:1px solid var(--border);overflow-wrap:anywhere;border-radius:6px;min-height:76px;padding:6px 10px;font-family:Consolas,Courier New,monospace;display:block}textarea.segments-box{resize:vertical;width:100%}.side-table{grid-template-columns:56px repeat(3,minmax(0,1fr));align-items:center;gap:4px 18px;display:grid}.side-row{display:contents}.cap-number{color:#ffc58a}.three-up{grid-template-columns:minmax(0,1fr) 230px minmax(0,1fr);align-items:stretch;gap:16px;display:grid}.three-up>.card{min-width:0}.three-up>.card:not(.book){grid-template-rows:auto minmax(0,1fr)}.three-up .line-table{height:0;min-height:100%;max-height:none}.book{align-content:start;gap:6px}.small-button{padding:2px 10px;font-size:12px}.book-rules{border-bottom:1px solid var(--border);color:var(--muted);grid-template-columns:1fr 1fr;gap:0 8px;padding-bottom:6px;font-size:11px;display:grid}.book-rules b{color:var(--text);font-weight:400}.book-head,.book-level{font-variant-numeric:tabular-nums;grid-template-columns:1fr 1fr;display:grid}.book-head{color:var(--muted);font-size:11px}.book-head span:last-child,.book-level span:last-child{text-align:right}.book-pane{scrollbar-width:thin;height:252px;overflow-y:auto}.book-level{font:12px/18px Consolas,Courier New,monospace}.book-level.up span:first-child{color:#0ecb81}.book-level.down span:first-child{color:#f6465d}.book-level span:last-child{color:var(--text)}.book-mid{border-block:1px solid var(--border);align-items:baseline;gap:8px;padding:4px 0;font-family:Consolas,Courier New,monospace;display:flex}.book-mid b{font-size:18px}.book-mid span{color:var(--muted);font-size:11px}th.sortable button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:0}th.sortable.on{color:var(--text)}.sort-mark{color:#55698a;margin-left:4px;font-size:11px}th.sortable.on .sort-mark{color:var(--accent)}@media (width<=1100px){.op-strip,.three-up{grid-template-columns:minmax(0,1fr)}.three-up .line-table{height:auto;min-height:0;max-height:340px}.account-lines{border-left:0;padding-left:0}}.asset-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;display:flex}.asset-who{gap:4px;min-width:0;display:grid}.equity-number{font-variant-numeric:tabular-nums;font-size:22px}.ring{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.ring svg{width:240px;max-width:100%;height:auto}.ring circle{transition:stroke-width .12s}.ring-label{fill:var(--muted);font-size:11px}.ring-value{fill:var(--text);font-size:15px;font-weight:600}.ring-legend{gap:6px;min-width:160px;margin:0;padding:0;list-style:none;display:grid}.ring-legend li{grid-template-columns:12px 1fr auto;align-items:center;gap:8px;display:grid}.ring-legend i{border-radius:3px;width:12px;height:12px}@media (prefers-reduced-motion:reduce){.ring circle{transition:none}}@media (width<=960px){.summary,.form-grid,.two-sides,.two-up{grid-template-columns:minmax(0,1fr)}}@media (width<=720px){.layout{grid-template-columns:1fr}.sidebar{border-right:0;border-bottom:1px solid var(--border);flex-flow:wrap}.sidebar .spacer{display:none}.main{padding:16px}}.node-lines{border-top:1px solid var(--border);color:var(--muted);font-variant-numeric:tabular-nums;gap:8px;padding:8px 10px;font-size:11px;line-height:1.5;display:grid}.node-line.offline .node-line-figures{opacity:.6}.node-line-name{color:var(--text);flex-wrap:wrap;align-items:center;gap:0 4px;font-size:12px;display:flex}.dot{background:var(--muted);border-radius:50%;width:7px;height:7px;display:inline-block}.dot.good{background:var(--good)}.dot.warn{background:var(--warn)}.dot.bad{background:var(--bad)}.warn-text{color:var(--warn)}@media (width<=720px){.node-lines{flex-basis:100%;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}.node-cards{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.node-card.offline .node-figures{opacity:.6}.node-figures{font-variant-numeric:tabular-nums;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;margin:0;font-size:13px;display:grid}.node-figures dt{color:var(--muted)}.node-figures dd{overflow-wrap:anywhere;margin:0}@media (width<=560px){.node-cards{grid-template-columns:minmax(0,1fr)}}.email-code{gap:8px;max-width:520px;margin-top:8px;display:grid}.email-code p{margin:0}tr.cached td{opacity:.55}tr.cached td:first-child .tag{opacity:1}:root{--series-7:#008300;--series-8:#e66767}.buy-page{gap:16px;min-width:0;display:grid}.buy-page th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap}.buy-page input.short{text-align:right;width:6.5em;padding:4px 8px}.buy-page input.buy-symbol{width:11em;padding:4px 8px}.buy-page .actions.nowrap{flex-wrap:nowrap;align-items:center}.buy-page .pill{white-space:nowrap;border-radius:999px;padding:1px 8px;font-size:12px;display:inline-block}.buy-page .pill.wait{background:var(--panel-raised);color:var(--muted)}.buy-page .pill.run{background:var(--accent-soft);color:#9cc0ff}.buy-page .pill.warn{background:var(--warn-soft);color:var(--warn)}.buy-page .pill.bad{background:var(--bad-soft);color:var(--bad)}.buy-page .pill.ok{background:var(--good-soft);color:var(--good)}.buy-page .seg{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.buy-page .seg button{color:var(--muted);background:0 0;border:0;border-radius:0;padding:3px 10px;font-size:12px}.buy-page .seg button.on{background:var(--accent);color:#fff}.buy-figures{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.buy-negative{background:var(--bad-soft);color:var(--bad)}.buy-partial{color:var(--warn)}.buy-risk{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.buy-hold{grid-template-columns:260px minmax(0,1fr);align-items:start;gap:18px;display:grid}.buy-donut{gap:8px;display:grid}.buy-donut svg{justify-self:center;width:100%;max-width:220px}.buy-legend{gap:4px;margin:0;padding:0;font-size:12px;list-style:none;display:grid}.buy-legend li{align-items:center;gap:6px;display:flex}.buy-legend li span{font-variant-numeric:tabular-nums;margin-left:auto}.buy-legend .key{border-radius:3px;width:10px;height:10px;display:inline-block}.buy-trend{min-width:0;position:relative}.buy-trend svg{width:100%;height:auto;display:block}.buy-tip{border:1px solid var(--border);background:var(--panel-raised);font-variant-numeric:tabular-nums;pointer-events:none;border-radius:8px;gap:1px;padding:6px 9px;font-size:12px;display:grid;position:absolute;top:6px;right:6px}@media (width<=900px){.buy-figures{grid-template-columns:repeat(3,minmax(0,1fr))}.buy-hold{grid-template-columns:minmax(0,1fr)}}.inline-label{white-space:nowrap;align-items:center;gap:8px;display:flex}@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}@keyframes magic-spin{to{--spin:360deg}}.magic{isolation:isolate;background:var(--panel);border-radius:10px;flex-direction:column;align-items:flex-start;min-width:0;padding:5px 12px;display:flex;position:relative}.magic:before{content:"";z-index:-1;background:conic-gradient(from var(--spin), var(--accent), #9cc0ff, #1d3566, var(--accent));border-radius:11.5px;animation:5s linear infinite magic-spin;position:absolute;inset:-1.5px;box-shadow:0 0 14px #2f6fed47}.magic:after{content:"";z-index:-1;background:var(--panel);border-radius:10px;position:absolute;inset:0}.magic.long:before{background:conic-gradient(from var(--spin), var(--good), #7bf3c2, #1b5c45, var(--good));box-shadow:0 0 14px #3ecf8e47}.magic.short:before{background:conic-gradient(from var(--spin), var(--bad), #ffc2c2, #6b2630, var(--bad));box-shadow:0 0 14px #ff7b7b47}.magic-label{max-width:100%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.magic strong{font-variant-numeric:tabular-nums;font-size:19px}.magic.long strong{color:var(--good)}.magic.short strong{color:var(--bad)}.magic.plain strong{color:var(--text)}.sumgrid{grid-template-columns:minmax(44px,.35fr) repeat(6,minmax(0,1fr));gap:10px;display:grid}.sumgrid .tall{grid-row:span 3;justify-content:center;align-items:center;padding:5px 8px}.sumgrid .tall .magic-label{text-align:center;white-space:normal;line-height:1.3}.sumgrid .tall strong{font-size:22px}@media (width<=700px){.sumgrid{grid-template-columns:repeat(3,minmax(0,1fr))}.sumgrid .tall{flex-direction:row;grid-area:auto/1/auto/-1;gap:10px}.sumgrid .tall .magic-label br{display:none}.sumgrid .magic strong{font-size:16px}}@media (prefers-reduced-motion:reduce){.magic:before{animation:none}}.gchart-head,.gchart-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.gchart-controls select{width:auto;max-width:220px}.gchart-body{grid-template-columns:minmax(0,2fr) minmax(0,3fr);align-items:start;gap:20px;display:grid}.gchart-bars,.gchart-main{gap:8px;min-width:0;display:grid}.gchart-row{grid-template-columns:minmax(0,1fr) 90px 62px;align-items:center;gap:6px;display:grid}.gchart-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.gchart-track{height:10px;position:relative}.gchart-track:before{content:"";background:var(--muted);width:1px;position:absolute;top:-2px;bottom:-2px;left:50%}.gchart-bars.one-sided .gchart-track:before{display:none}.gchart-track i{border-radius:2px;position:absolute;top:0;bottom:0}.gchart-value{font-variant-numeric:tabular-nums;text-align:right}.gchart-plot{position:relative}.gchart-plot svg{width:100%;height:auto;display:block}.gchart-tip{border:1px solid var(--border);background:var(--panel-raised);pointer-events:none;border-radius:8px;gap:2px;min-width:150px;padding:8px 10px;font-size:12px;display:grid;position:absolute;top:8px}@media (width<=960px){.gchart-body{grid-template-columns:minmax(0,1fr)}}
