:root{--bg:#0b1020;--panel:#121a2e;--panel2:#18223b;--line:#25304d;--text:#e6ebf5;--muted:#8b97b3;--pos:#34d399;--neg:#f87171;--warn:#fbbf24;--accent:#6366f1;--accent-fg:#fff;--shadow:0 6px 24px #00000059}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f3f5fa;--panel:#fff;--panel2:#f0f3fa;--line:#dde3f0;--text:#131a2c;--muted:#66728f;--pos:#059669;--neg:#dc2626;--warn:#b45309;--accent:#4f46e5;--shadow:0 4px 18px #141e3c14}}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--text);margin:0;font:15px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif}button,input,select{font:inherit;color:inherit}.muted{color:var(--muted)}.small{font-size:12.5px}.pos{color:var(--pos)}.neg{color:var(--neg)}.boot,.empty{text-align:center;color:var(--muted);padding:64px 16px}.empty .btn{margin-top:8px}.shell{max-width:1280px;margin:0 auto;padding:0 16px 48px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:16px 0;display:flex}.brand{align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.brand.big{justify-content:center;font-size:22px}.logo{color:var(--pos)}.top-right{align-items:center;gap:8px;display:flex}.pill{border:1px solid var(--line);border-radius:99px;padding:3px 10px;font-size:12px}.pill.ok{color:var(--pos)}.pill.warn{color:var(--warn)}.btn{border:1px solid var(--line);background:var(--panel2);cursor:pointer;border-radius:9px;padding:8px 14px}.btn:hover{border-color:var(--muted)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-fg);font-weight:600}.btn.primary:hover{filter:brightness(1.1)}.btn.ghost{background:0 0}.btn.sm{padding:5px 10px;font-size:13px}.btn.wide{width:100%}.btn.danger:hover{color:var(--neg);border-color:var(--neg)}.btn:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.banner{border:1px solid;border-radius:10px;margin-bottom:12px;padding:10px 14px;font-size:14px}.banner.err{border-color:var(--neg);color:var(--neg);background:color-mix(in srgb, var(--neg) 10%, transparent)}.banner.warn{border-color:var(--warn);color:var(--warn);background:color-mix(in srgb, var(--warn) 10%, transparent)}.toolbar{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:4px 0 16px;display:flex}.seg{background:var(--panel);border:1px solid var(--line);border-radius:10px;gap:2px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg button{cursor:pointer;color:var(--muted);white-space:nowrap;background:0 0;border:0;border-radius:7px;padding:6px 12px}.seg button.on{background:var(--panel2);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.seg button b{margin-left:4px;font-weight:600}.seg.sm button{padding:5px 10px;font-size:13px}.filters{gap:8px;display:flex}select,input{background:var(--panel);border:1px solid var(--line);border-radius:9px;min-width:0;padding:8px 10px}select{cursor:pointer}.grid{grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;display:grid}.card{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow);border-top:3px solid var(--accent);border-radius:14px;flex-direction:column;gap:12px;padding:16px;display:flex}.card.is-closed.win{border-top-color:var(--pos)}.card.is-closed.loss{border-top-color:var(--neg)}.card.is-closed.partial{border-top-color:var(--warn)}.card.is-closed.neutral{border-top-color:var(--muted)}.card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.card h3{word-break:break-word;margin:0 0 4px;font-size:16px}.sub{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chip{background:var(--panel2);border:1px solid var(--line);color:var(--muted);white-space:nowrap;border-radius:99px;padding:2px 8px;font-size:11.5px}.chip.side.buy{color:var(--pos);border-color:var(--pos)}.chip.side.sell{color:var(--neg);border-color:var(--neg)}.status{border:1px solid var(--line);white-space:nowrap;border-radius:99px;align-items:center;gap:6px;padding:3px 9px;font-size:12px;display:inline-flex}.status.live{color:var(--accent)}.status.win{color:var(--pos);border-color:var(--pos)}.status.loss{color:var(--neg);border-color:var(--neg)}.status.partial{color:var(--warn);border-color:var(--warn)}.dot{background:currentColor;border-radius:50%;width:7px;height:7px;animation:1.6s infinite pulse}@keyframes pulse{50%{opacity:.3}}@media (prefers-reduced-motion:reduce){.dot{animation:none}}.px-row{justify-content:space-between;align-items:flex-end;display:flex}.pnl{text-align:right;flex-direction:column;display:flex}.pnl.pos .v{color:var(--pos)}.pnl.neg .v{color:var(--neg)}.k{color:var(--muted);font-size:12px;display:block}.v{font-variant-numeric:tabular-nums}.v.big{font-size:24px;font-weight:700}.bar{height:22px;margin:2px 6px;position:relative}.track{background:var(--line);border-radius:3px;height:3px;position:absolute;top:10px;left:0;right:0}.mk{background:var(--muted);border-radius:2px;width:3px;height:13px;position:absolute;top:5px;transform:translate(-50%)}.mk.sl{background:var(--neg)}.mk.tp{background:color-mix(in srgb, var(--pos) 45%, var(--line))}.mk.tp.hit{background:var(--pos)}.mk.en{background:var(--text)}.now{background:var(--accent);border:2px solid var(--panel);width:14px;height:14px;box-shadow:0 0 0 2px var(--accent);border-radius:50%;transition:left .4s;position:absolute;top:4px;transform:translate(-50%)}.levels{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.levels li{background:var(--panel2);border:1px solid var(--line);border-radius:8px;align-items:baseline;gap:6px;padding:4px 9px;font-size:13px;display:flex}.levels li span{color:var(--muted);font-size:11.5px}.levels b{font-variant-numeric:tabular-nums}.levels li.l-sl b{color:var(--neg)}.levels li.hit{border-color:var(--pos)}.levels li.hit b{color:var(--pos)}.levels em{color:var(--pos);font-size:11px;font-style:normal}.meta{border-top:1px dashed var(--line);grid-template-columns:repeat(2,1fr);gap:8px 14px;margin:0;padding-top:10px;display:grid}.meta dt{color:var(--muted);font-size:11.5px}.meta dd{font-variant-numeric:tabular-nums;word-break:break-word;margin:0;font-size:14px;font-weight:600}.card-foot{justify-content:flex-end;gap:8px;margin-top:auto;display:flex}.login-wrap{place-items:center;min-height:100vh;padding:16px;display:grid}.login{background:var(--panel);border:1px solid var(--line);width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:14px;padding:28px;display:flex}.login p{text-align:center;margin:-6px 0 0}.login label{color:var(--muted);flex-direction:column;gap:4px;font-size:13px;display:flex}.login input{color:var(--text);font-size:16px}.form-err{color:var(--neg);background:color-mix(in srgb, var(--neg) 10%, transparent);border-radius:8px;padding:8px 10px;font-size:13.5px}.overlay{z-index:10;background:#0009;justify-content:center;align-items:flex-start;padding:24px 12px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:var(--panel);border:1px solid var(--line);width:100%;max-width:560px;box-shadow:var(--shadow);border-radius:16px;flex-direction:column;gap:16px;padding:20px;display:flex}.modal-head{justify-content:space-between;align-items:center;display:flex}.modal-head h2{margin:0;font-size:18px}.x{cursor:pointer;color:var(--muted);background:0 0;border:0;padding:2px 8px;font-size:22px;line-height:1}.x:hover{color:var(--neg)}.field{flex-direction:column;gap:6px;display:flex}.field input{width:100%}.lbl{color:var(--muted);font-size:13px;font-weight:600}.row2{grid-template-columns:1fr 1fr;align-items:start;gap:12px;display:grid}.chips{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.chipbtn{border:1px solid var(--line);cursor:pointer;color:var(--muted);background:0 0;border-radius:99px;padding:3px 10px;font-size:13px}.chipbtn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.sep{background:var(--line);width:1px;height:18px;margin:0 4px}.results{border:1px solid var(--line);background:var(--panel2);border-radius:10px;max-height:260px;margin:0;padding:4px;list-style:none;overflow-y:auto}.results .chip,.picked .chip{margin-left:6px}.results button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;flex-wrap:wrap;align-items:baseline;gap:6px;width:100%;padding:8px 10px;display:flex}.results button:hover,.results button:focus-visible{background:var(--panel)}.pad{padding:8px 10px}.picked{background:var(--panel2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.picked .ltp{margin-left:auto}.tp-row{align-items:center;gap:8px;display:flex}.tp-tag{width:34px;color:var(--muted);font-size:13px;font-weight:600}.add-tp{align-self:flex-start}.modal-foot{justify-content:flex-end;gap:8px;display:flex}.tiles{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:8px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:14px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-top:14px;padding:16px}.panel h3{margin:0 0 10px;font-size:15px}.tbl-wrap{overflow-x:auto}table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%;font-size:14px}th,td{text-align:right;border-bottom:1px solid var(--line);white-space:nowrap;padding:7px 10px}th:first-child,td:first-child{text-align:left}th{color:var(--muted);font-size:12px;font-weight:600}@media (width<=520px){.grid,.row2{grid-template-columns:1fr}.top-right .pill{display:none}}.popover{z-index:20;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px 10px;position:fixed;box-shadow:0 12px 40px #00000073}.chart-modal{gap:8px;max-width:560px;padding:14px}.pop-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.chart-head{font-variant-numeric:tabular-nums;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:2px;display:flex}.chart-plot{height:270px;position:relative}.chart.large .chart-plot{flex:1;height:auto;min-height:260px}.chart-svg{touch-action:none;-webkit-user-select:none;user-select:none;cursor:crosshair;display:block;position:absolute;top:0;left:0}.chart-svg.zoomed{cursor:grab}.chart-svg.zoomed:active{cursor:grabbing}.chart-msg{text-align:center;padding:56px 12px;font-size:14px}.chart .grid-l{stroke:var(--line);stroke-width:1px;opacity:.5}.chart .axis{fill:var(--muted);font-size:10.5px}.chart .lvl{stroke-width:1px;stroke-dasharray:4 3}.chart .lvl.sl{stroke:var(--neg)}.chart .lvl.tp{stroke:var(--pos);opacity:.8}.chart .lvl.en{stroke:var(--text);opacity:.7}.chart .lbl{font-size:10.5px;font-weight:600}.chart .lbl.val{opacity:.8;font-weight:400}.chart .lbl.sl{fill:var(--neg)}.chart .lbl.tp{fill:var(--pos);opacity:.75}.chart .lbl.tp.hit{opacity:1}.chart .lbl.en{fill:var(--text)}.chart .zone-tp{fill:var(--pos);opacity:.06}.chart .zone-sl{fill:var(--neg);opacity:.08}.chart .entry-v{stroke:var(--muted);stroke-width:1px;stroke-dasharray:2 3}.chart .entry-dot{fill:var(--text);stroke:var(--panel);stroke-width:2px}.chart .hit-dot{fill:var(--pos);stroke:var(--panel);stroke-width:2px}.chart .close-dot{fill:var(--accent);stroke:var(--panel);stroke-width:2px}.chart .close-dot.loss{fill:var(--neg)}.chart .live-dot{stroke:var(--panel);stroke-width:2px}.chart .cross{stroke:var(--muted);stroke-width:1px}.chart-legend{flex-wrap:wrap;gap:14px;margin-top:2px;display:flex}.chart-legend .sw{vertical-align:middle;background:var(--muted);border-radius:2px;width:10px;height:3px;margin-right:5px;display:inline-block}.chart-legend .sw.en{background:var(--text)}.chart-legend .sw.tp,.chart-legend .sw.hit{background:var(--pos)}.chart-legend .sw.sl{background:var(--neg)}.chart-legend .sw.hit{border-radius:50%;width:8px;height:8px}.chart-bar{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:8px;display:flex}.chart.busy .chart-svg{opacity:.55;transition:opacity .15s}.chart .ohlc{margin-right:6px}.popover .chart-bar .seg,.chart-modal .chart-bar .seg{padding:2px}.popover .seg.sm button,.chart-modal .seg.sm button{padding:3px 8px;font-size:12.5px}.chart-bar.tools{align-items:center;margin:-2px 0 6px}.chart-bar .seg button:disabled{opacity:.35;cursor:not-allowed}.chart .pricetag{fill:#fff;font-size:10.5px;font-weight:700}.chart .xtag{fill:var(--text)}.chart .xtag-t{fill:var(--bg);font-size:10.5px;font-weight:600}.chart .hint{opacity:.8;margin-left:auto}@media (hover:none){.chart .hint{display:none}}.chart-page{flex-direction:column;gap:8px;max-width:none;height:100vh;padding:14px 18px;display:flex}.chart-page .chart{flex-direction:column;flex:1;min-height:0;display:flex}.cp-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.cp-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.cp-title h1{margin:0;font-size:22px}.cp-price{align-items:baseline;gap:12px;display:flex}.cp-price .v.big{font-size:28px}.cp-meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:6px 18px;padding:8px 0 4px;display:flex}.cp-meta .muted{margin-right:3px}.chart .grid-l.major{opacity:.9}.chart .axis.major{fill:var(--text);font-weight:700}.chart .entry-note{color:var(--text)}
