:root{--bg:#0b0e14;--bg2:#10141c;--card:#131823;--card2:#171d2a;--line:#232a3a;--text:#e6e9ef;--muted:#8a93a6;--dim:#5d6578;
--green:#22c55e;--green2:#16a34a;--gbg:rgba(34,197,94,.12);--red:#ef4444;--rbg:rgba(239,68,68,.12);--blue:#3b82f6;--amber:#f59e0b;--accent:#5eead4}
*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:13px/1.45 Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
a{color:inherit}.muted{color:var(--muted)}.dim{color:var(--dim)}.small{font-size:11.5px}.pos{color:var(--green)}.neg{color:var(--red)}.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.top{display:flex;align-items:center;gap:18px;padding:10px 18px;border-bottom:1px solid var(--line);background:var(--bg2);position:sticky;top:0;z-index:20}
.brand{font-weight:700;font-size:15px;white-space:nowrap}.logo{color:var(--accent)}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1}.tabs a{padding:6px 11px;border-radius:7px;color:var(--muted);cursor:pointer;white-space:nowrap;text-decoration:none}
.tabs a:hover{background:var(--card);color:var(--text)}.tabs a.on{background:var(--card2);color:var(--text);box-shadow:inset 0 -2px 0 var(--accent)}.tabs sup{font-size:9px;color:var(--amber)}
.topright{display:flex;align-items:center;gap:12px}.btcpx{font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}
.searchbtn{background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:8px;padding:6px 10px;cursor:pointer;white-space:nowrap}.searchbtn:hover{color:var(--text)}
kbd{background:#0006;border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:10.5px;margin-left:6px}
.filters{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:9px 18px;border-bottom:1px solid var(--line);background:var(--bg2)}
.seg{display:inline-flex;background:var(--card);border:1px solid var(--line);border-radius:8px;padding:2px}.seg button{background:none;border:0;color:var(--muted);padding:4px 9px;border-radius:6px;cursor:pointer;font:inherit;white-space:nowrap}
.seg button.on{background:var(--card2);color:var(--text);box-shadow:inset 0 0 0 1px #2f3850}.seg button:hover{color:var(--text)}
.grp{display:flex;align-items:center;gap:6px}.grp label{color:var(--muted)}
select,input[type=number],input[type=text]{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:4px 7px;font:inherit}
.strip{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center;margin-left:auto;font-size:12px;color:var(--muted)}
.strip b{color:var(--text);font-weight:600}.pbar{display:inline-block;width:90px;height:7px;background:#0007;border:1px solid var(--line);border-radius:5px;overflow:hidden;vertical-align:middle}.pbar i{display:block;height:100%;background:linear-gradient(90deg,#0ea5e9,var(--accent))}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:4px;vertical-align:middle}.dot.ok{background:var(--green);box-shadow:0 0 6px var(--green)}.dot.bad{background:var(--red)}.dot.warn{background:var(--amber)}
main{padding:14px 18px 40px;max-width:1600px;margin:0 auto}
.grid{display:grid;gap:12px}.kpis{grid-template-columns:repeat(6,minmax(0,1fr))}.two{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.c21{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:12px 14px;min-width:0}.card h3{margin:0 0 8px;font-size:12px;color:var(--muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;display:flex;align-items:center;gap:8px}
.card h3 .r{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:400}
.kpi .v{font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}.kpi .s{color:var(--muted);font-size:12px;margin-top:3px}.kpi .s span{white-space:nowrap}
.dir{display:inline-block;padding:2px 10px;border-radius:6px;font-weight:700}.dir.LONG{background:var(--gbg);color:var(--green)}.dir.SHORT{background:var(--rbg);color:var(--red)}.dir.NEUTRAL{background:#8a93a622;color:var(--muted)}
.lsf{display:flex;height:8px;border-radius:4px;overflow:hidden;margin:7px 0 4px;background:#0006}.lsf i{display:block;height:100%}.lsf .l{background:var(--green)}.lsf .s{background:var(--red)}.lsf .f{background:#3a4256}
.mt{margin-top:12px}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th,td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap}
th{color:var(--muted);font-weight:500;font-size:12px;position:sticky;top:0;background:var(--card);cursor:pointer;user-select:none}th.ns{cursor:default}th:hover:not(.ns){color:var(--text)}th.sorted{color:var(--accent)}
td.l,th.l{text-align:left}tr.click{cursor:pointer}tbody tr:hover{background:#ffffff06}
.tw{overflow:auto;max-width:100%}.tw.h{max-height:560px}
.addr{display:inline-flex;align-items:center;gap:5px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.addr .a{cursor:pointer;color:#c9d1e3}.addr .a:hover{color:var(--accent);text-decoration:underline}
.ib{background:none;border:0;color:var(--dim);cursor:pointer;padding:0 2px;font-size:12px;text-decoration:none}.ib:hover{color:var(--text)}.ib.fav.on{color:var(--amber)}
.tag{display:inline-block;padding:1px 7px;border-radius:5px;font-size:11.5px;background:#ffffff0d;color:var(--muted)}.tag.top{background:#5eead41f;color:var(--accent)}.tag.good{background:var(--gbg);color:#86efac}.tag.mid{background:#3b82f61c;color:#93c5fd}.tag.weak{background:#f59e0b1a;color:#fcd34d}.tag.bad{background:var(--rbg);color:#fca5a5}.tag.twap{background:#f59e0b26;color:#fbbf24;font-weight:600}.tag.cand{background:#a855f71f;color:#d8b4fe}
.side{font-weight:600}.side.long{color:var(--green)}.side.short{color:var(--red)}.side.flat{color:var(--dim)}
.feed{display:flex;flex-direction:column}.feed .it{display:grid;grid-template-columns:52px 1fr auto;gap:8px;align-items:center;padding:6px 0;border-bottom:1px solid var(--line)}.feed .it:last-child{border-bottom:0}
.ev{font-size:11px;padding:1px 6px;border-radius:4px;font-weight:600}.ev.open,.ev.increase{background:var(--gbg);color:var(--green)}.ev.close,.ev.reduce{background:#ffffff10;color:#cbd5e1}.ev.flip{background:#3b82f622;color:#93c5fd}.ev.liquidation{background:var(--rbg);color:var(--red)}
.hist .row{display:grid;grid-template-columns:1fr 74px 1fr;align-items:center;gap:6px;height:17px;font-size:11.5px}.hist .px{text-align:center;color:var(--muted);font-variant-numeric:tabular-nums}
.hist .row.cur .px{color:#fff;background:#f59e0b33;border-radius:4px;font-weight:600}.hist .bl{display:flex;justify-content:flex-end}.hist .bar{height:11px;border-radius:2px;min-width:1px}.hist .bl .bar{background:var(--red)}.hist .br .bar{background:var(--green)}
.legend{display:flex;gap:12px;font-size:11.5px;color:var(--muted)}.legend i{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:4px;vertical-align:-1px}
.cats td:first-child{text-align:left}.cats tr.click:hover{background:#ffffff0a}.cats tr.open{background:#ffffff08}.sub td{background:#0b0e14;padding:0}.sub .tw{max-height:420px}
.divg{display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;padding:8px 10px;margin-bottom:8px;border-radius:8px;background:#0b0e14;border:1px solid var(--line)}.divg .v{font-size:18px;font-weight:700}
.toolbar{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:10px}
.pager{display:flex;gap:6px;align-items:center;justify-content:flex-end;margin-top:8px}.pager button{background:var(--card2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:3px 10px;cursor:pointer}.pager button:disabled{opacity:.35;cursor:default}
.rng{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:6px 14px;padding:10px;background:#0b0e14;border:1px solid var(--line);border-radius:8px;margin-bottom:10px}.rng label{display:flex;align-items:center;gap:5px;color:var(--muted);font-size:12px}.rng label span{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rng input{width:72px;padding:3px 5px}
.btn{background:var(--card2);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:4px 10px;cursor:pointer;font:inherit}.btn:hover{border-color:#3a4560}
.empty{padding:26px;text-align:center;color:var(--muted)}
.soon{padding:60px 20px;text-align:center;color:var(--muted)}.soon h2{color:var(--text)}
.modal{position:fixed;inset:0;background:#000a;display:flex;align-items:flex-start;justify-content:center;padding-top:9vh;z-index:50}.modal[hidden]{display:none}
.mbox{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px;width:min(560px,94vw);position:relative;max-height:84vh;overflow:auto}.mbox.wide{width:min(880px,96vw)}
.mbox .x{position:absolute;right:10px;top:8px;background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer}
.search input{width:100%;padding:10px 12px;font-size:15px;background:var(--bg);border:1px solid var(--line);border-radius:8px;color:var(--text);font-family:ui-monospace,monospace}
.sres{margin:8px 0}.sres div{padding:7px 9px;border-radius:6px;cursor:pointer;display:flex;gap:10px;align-items:center}.sres div.sel,.sres div:hover{background:var(--card2)}
.kv{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.kv>div{background:#0b0e14;border:1px solid var(--line);border-radius:8px;padding:7px 9px}.kv b{display:block;color:var(--muted);font-weight:500;font-size:11.5px}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%);background:var(--card2);border:1px solid var(--line);padding:7px 14px;border-radius:8px;z-index:60}
.u-legend{display:none}.chartwrap{position:relative;min-height:300px}.chart-note{position:absolute;top:4px;left:60px;font-size:11.5px;color:var(--muted)}
.lvl svg{width:100%;height:auto;display:block}.lvl text{fill:var(--muted);font-size:10px}
.err{color:var(--red);padding:10px}
@media (max-width:1200px){.kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.strip{margin-left:0}}
@media (max-width:820px){.two,.c21{grid-template-columns:minmax(0,1fr)}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.top{flex-wrap:wrap;gap:8px;padding:8px 10px}.tabs{order:3;flex-basis:100%}
.searchbtn kbd,.searchbtn .t{display:none}.filters{padding:8px 10px}main{padding:10px}.kpi .v{font-size:18px}.seg button{padding:4px 6px}.strip{font-size:11px;gap:4px 10px}}

.totals{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;padding:10px 12px;margin-top:8px;background:#0b0e14;border:1px solid var(--line);border-radius:8px;font-variant-numeric:tabular-nums}
.totals span{white-space:nowrap}.sets select{max-width:190px}a.btn{text-decoration:none;display:inline-block}
input[type=date]{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:3px 6px;font:inherit;color-scheme:dark}
.rng input[type=date]{width:130px}

/* roundtrip: highlighted trade + trade links */
tr.hl td{background:#5eead41f!important}tr.hl td:first-child{box-shadow:inset 3px 0 0 #5eead4}a.tlink{color:#5eead4;font-size:11px;white-space:nowrap;text-decoration:none}a.tlink:hover{text-decoration:underline}

/* bot/winrate (2026-10-19) */
.tag.botb{background:#f59e0b22;color:#fbbf24;border-color:#f59e0b55;cursor:help}
.tag.warn{background:#f59e0b33;color:#fbbf24;font-weight:600;font-size:11px}
.twrun{color:#fbbf24;font-weight:600}

/* mobile (2026-10-19): phones portrait/landscape and touch devices; desktop (fine pointer, >900px) unchanged */
.mfbtn{display:none}
@media (max-width:900px),(hover:none) and (pointer:coarse){
html,body{font-size:14px}.small{font-size:12px}th{font-size:12px}.tag,.ev{font-size:12px}
.top{flex-wrap:wrap;gap:6px 10px;padding:6px 10px}.tabs{order:3;flex-basis:100%;-webkit-overflow-scrolling:touch}
.tabs a{min-height:38px;display:inline-flex;align-items:center;padding:6px 12px}
.searchbtn kbd{display:none}.searchbtn,.btn,a.btn,.pager button,select,input[type=number],input[type=text],input[type=date]{min-height:38px}
.seg{max-width:100%;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.seg::-webkit-scrollbar,.tabs::-webkit-scrollbar{display:none}
.seg button{min-height:36px;padding:6px 10px}
.filters{padding:6px 10px;gap:6px 10px}.filters #periods{flex:1 1 100%}.filters .grp{flex:1 1 100%;min-width:0}.filters select{flex:1;min-width:0;max-width:100%}.strip{font-size:12px}
main{padding:8px}.card{padding:10px}.toolbar{gap:8px}.toolbar>*{max-width:100%}.toolbar .grp{flex-wrap:wrap}
.sets{flex-wrap:wrap}.sets select{max-width:100%;flex:1 1 160px}.sets input{flex:1 1 110px}
.mfbtn{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px}.mfbtn b{color:var(--accent)}
.toolbar.mc:not(.open)>:not(#rtabs):not(#rinfo){display:none}.toolbar.mc:not(.open)~.rng{display:none}#rinfo{margin-left:0!important;flex-basis:100%}
.rng{grid-template-columns:minmax(0,1fr);padding:8px}.rng label{flex-wrap:wrap}.rng input{flex:1;min-width:0;width:auto}.rng input[type=date]{width:auto}
th,td{padding:8px 7px}
.tw{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
.tw table .stk{position:sticky;left:0;z-index:2;background:var(--card)}.tw table .stk2{position:sticky;left:var(--stkw,120px);z-index:2;background:var(--card);box-shadow:6px 0 6px -6px #000c}
.tw table th.stk,.tw table th.stk2{z-index:4}.stk .ib:not(.fav){display:none}.ib{min-width:32px;min-height:36px}a.tlink{display:inline-flex;align-items:center;min-height:36px}
.pager{flex-wrap:wrap;justify-content:center;gap:8px}.pager button{padding:6px 14px}
.kpi .v{font-size:19px}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.two,.c21{grid-template-columns:minmax(0,1fr)}
.feed .it{grid-template-columns:44px minmax(0,1fr) auto}
.legend{flex-wrap:wrap;gap:4px 10px}.card h3{flex-wrap:wrap}.card h3 .r{margin-left:0}
.divg{gap:6px 12px}.totals{gap:6px 12px}
.mbox{width:96vw}
}
@media (max-width:420px){.kpis{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.kpi .v{font-size:17px}.brand{font-size:14px}}

/* overview: avg entry of new opens (2026-10-20) */
.ovw td{vertical-align:top;line-height:1.35}.ovw tr.cur td{background:#5eead40f}.ovw tr.cur td:first-child{box-shadow:inset 3px 0 0 var(--accent)}
@media (max-width:520px){.ovw th,.ovw td{padding:7px 5px;white-space:normal}.ovw td b{white-space:nowrap}.ovw .small{font-size:11px}.ovw th:first-child,.ovw td:first-child{width:34px}}

/* overview avg-entry address list (2026-10-20) */
.ovw tr.click:hover td{background:#ffffff0a}.ovw .chev{color:var(--muted);display:inline-block;width:10px}.ovw tr.open td{background:#ffffff08}
.ovw tr.sub>td{padding:0}#ovwList{padding:8px 10px;background:#0b0e14}.ovl-h{display:flex;flex-direction:column;gap:4px;margin-bottom:6px;text-align:left}.ovl{max-width:900px}a.ovla{white-space:nowrap}.ovl-h .seg{align-self:flex-start}.ovl td,.ovl th{padding:5px 8px}.ovl td{vertical-align:top}a.ovla{color:#5eead4;text-decoration:none;font-family:ui-monospace,monospace;font-size:12.5px}a.ovla:hover{text-decoration:underline}
@media (max-width:520px){#ovwList{padding:6px 4px}.ovl td,.ovl th{padding:6px 4px}.ovl-h .small{white-space:normal}a.ovla{font-size:11px;display:inline-block;min-height:24px}.ovl td:first-child{white-space:nowrap}}

/* refresh button (2026-10-20) */
.refbtn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:32px;height:32px;padding:0;background:var(--card);border:1px solid var(--line);color:var(--muted);border-radius:8px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.refbtn:hover,.refbtn:focus-visible{color:var(--accent);outline:none;border-color:#5eead455}.refbtn:disabled{cursor:progress}
.refbtn.spin{color:var(--accent)}.refbtn.spin svg{animation:refspin .7s linear infinite}
@keyframes refspin{to{transform:rotate(360deg)}}
@media (max-width:900px),(hover:none) and (pointer:coarse){.refbtn{width:38px;height:38px}.topright{gap:8px;margin-left:auto}}
@media (max-width:420px){.brand .muted{display:none}}

/* «Открытая позиция BTC» (2026-10-20) */
.opos h3{display:flex;align-items:baseline;gap:8px}.opos h3 .r{margin-left:auto;text-transform:none;letter-spacing:0;font-weight:500}
.warn{color:var(--amber)}.ogrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(112px,1fr));gap:8px}
.oc{background:var(--card2);border:1px solid var(--line);border-radius:8px;padding:7px 10px;min-width:0}.oc>b{display:block;color:var(--muted);font-weight:500;font-size:11.5px;margin-bottom:2px}
.oc>div{font-weight:600;font-variant-numeric:tabular-nums}.oc .small{font-weight:400}.opos-flat{font-size:14px;padding:4px 0}
@media (max-width:520px){.ogrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.oc{padding:6px 8px}}

/* jobs block (weekly + nightly) */
.jobs{display:flex;flex-wrap:wrap;align-items:center;gap:3px 14px;flex:1 1 100%;order:-1}
.jobs .jh{color:var(--muted);text-transform:uppercase;font-size:10px;letter-spacing:.04em}
.jobs .job{white-space:nowrap}.jobs .jn{color:var(--text)}.jobs .warn{color:#f59e0b}
@media (max-width:760px){.jobs{display:grid;grid-template-columns:1fr;gap:3px}.jobs .job{white-space:normal;line-height:1.35}
.jobs .jn{display:inline-block;min-width:8.6em}.jobs .pbar{width:54px}}

/* rating: open-position line under unrealized PnL */
.upos{font-size:11px;line-height:1.3;color:var(--muted);margin-top:2px;text-align:right}.upos>span{white-space:nowrap;display:inline-block}
.upos b{font-weight:600}
@media (max-width:760px){.upos>span{display:block}.tw table td.stk .tag{display:block;width:fit-content;margin:2px 0 0}}
@media (max-width:760px){#rtable td.stk2,#rtable th.stk2{position:static;box-shadow:none}#rtable td.stk{box-shadow:6px 0 6px -6px #000c}.upos{font-size:10.5px}}

/* avgpnl: uPnL of window entries + current position line */
.ovl tr:has(+ tr.ovnow) td{border-bottom:0;padding-bottom:1px}
.ovl tr.ovnow td{padding-top:0;padding-bottom:7px;color:var(--muted);line-height:1.3;white-space:normal}
.ovup{white-space:nowrap}.ovl .warn{color:#f59e0b}
