:root{--bg: #0b0f15;--bg2: #10161f;--panel: #141b26;--panel2: #1a2230;--line: #243041;--line2: #2e3b50;--text: #e6edf3;--muted: #8b98a9;--dim: #5f6c7d;--green: #22c55e;--green-bg: rgba(34, 197, 94, .12);--red: #f05252;--red-bg: rgba(240, 82, 82, .12);--yellow: #eab308;--yellow-bg: rgba(234, 179, 8, .12);--blue: #3b82f6;--blue-bg: rgba(59, 130, 246, .14);--violet: #a78bfa;--violet-bg: rgba(167, 139, 250, .14);--radius: 10px;--mono: ui-monospace, "Cascadia Mono", "Consolas", monospace;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 Segoe UI,system-ui,-apple-system,Roboto,sans-serif;-webkit-font-smoothing:antialiased}a{color:var(--blue);text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}h1,h2,h3,h4{margin:0;font-weight:600}h2{font-size:18px}h3{font-size:15px}h4{font-size:13px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.num{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--muted)}.dim{color:var(--dim)}.green{color:var(--green)}.red{color:var(--red)}.yellow{color:var(--yellow)}.small{font-size:12px}.nowrap{white-space:nowrap}.right{text-align:right}.center{text-align:center}.mt{margin-top:12px}.mb{margin-bottom:12px}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.between{justify-content:space-between}.row.nowrap{flex-wrap:nowrap}.col{display:flex;flex-direction:column;gap:10px}.grow{flex:1;min-width:0}.grid{display:grid;gap:12px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}.auto{grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.app{display:flex;height:100%}.side{width:216px;flex-shrink:0;background:var(--bg2);border-right:1px solid var(--line);display:flex;flex-direction:column;padding:14px 10px;gap:2px}.brand{display:flex;align-items:center;gap:10px;padding:4px 8px 16px;font-weight:700;font-size:16px}.brand small{display:block;font-weight:400;color:var(--muted);font-size:11px}.nav-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;text-align:left}.nav-btn:hover{background:var(--panel);color:var(--text)}.nav-btn.active{background:var(--panel2);color:var(--text)}.nav-btn .ico{width:18px;text-align:center;opacity:.9}.nav-btn .cnt{margin-left:auto;font-size:11px;background:var(--blue-bg);color:var(--blue);border-radius:10px;padding:0 7px}.side-foot{margin-top:auto;padding:10px 8px 0;font-size:11px;color:var(--dim)}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;gap:14px;padding:10px 20px;border-bottom:1px solid var(--line);background:var(--bg2);min-height:54px}.topbar .tick{display:flex;gap:8px;align-items:baseline}.topbar .tick b{font-family:var(--mono)}.content{flex:1;overflow:auto;padding:18px 20px 40px}.page-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.mobile-nav{display:none}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:14px;min-width:0}.card.tight{padding:10px 12px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;flex-wrap:wrap}.bt-grid{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--panel2);color:var(--muted);white-space:nowrap;line-height:18px}.badge.green{background:var(--green-bg);color:var(--green)}.badge.red{background:var(--red-bg);color:var(--red)}.badge.yellow{background:var(--yellow-bg);color:var(--yellow)}.badge.blue{background:var(--blue-bg);color:var(--blue)}.badge.violet{background:var(--violet-bg);color:var(--violet)}.grade{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:7px;font-weight:800;font-size:14px;flex-shrink:0}.grade.A{background:var(--green);color:#052e14}.grade.B{background:#84cc16;color:#1a2e05}.grade.C{background:var(--yellow);color:#3a2c02}.grade.D{background:var(--line2);color:var(--muted)}.dir{font-weight:800;letter-spacing:.03em}.dir.LONG{color:var(--green)}.dir.SHORT{color:var(--red)}.btn{border:1px solid var(--line2);background:var(--panel2);color:var(--text);padding:7px 12px;border-radius:8px;cursor:pointer;white-space:nowrap}.btn:hover{border-color:#3d4d66;background:#202a3a}.btn:disabled{opacity:.5;cursor:default}.btn.primary{background:var(--blue);border-color:var(--blue);color:#fff}.btn.primary:hover{background:#2f6fe0}.btn.green{background:var(--green-bg);border-color:#22c55e66;color:var(--green)}.btn.red{background:var(--red-bg);border-color:#f0525266;color:var(--red)}.btn.ghost{background:transparent;border-color:transparent;color:var(--muted)}.btn.ghost:hover{color:var(--text);background:var(--panel2)}.btn.sm{padding:4px 9px;font-size:12px}.icon-btn{position:relative;border:0;background:transparent;cursor:pointer;font-size:18px;color:var(--muted);padding:6px}.icon-btn .dot{position:absolute;top:0;right:-2px;background:var(--red);color:#fff;font-size:10px;border-radius:9px;padding:0 5px;line-height:16px}.input,select.input,textarea.input{background:var(--bg2);border:1px solid var(--line2);border-radius:8px;padding:7px 10px;width:100%}.input:focus{outline:none;border-color:var(--blue)}label.field{display:flex;flex-direction:column;gap:5px;font-size:12px;color:var(--muted)}label.field .hint{color:var(--dim);font-size:11px}label.check{display:flex;gap:8px;align-items:flex-start;cursor:pointer}label.check input{margin-top:3px;accent-color:var(--blue)}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--line);margin-bottom:14px;flex-wrap:wrap}.tab{border:0;background:transparent;padding:8px 12px;color:var(--muted);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tab.active{color:var(--text);border-bottom-color:var(--blue)}.seg{display:inline-flex;background:var(--bg2);border:1px solid var(--line2);border-radius:8px;padding:2px}.seg button{border:0;background:transparent;padding:4px 10px;border-radius:6px;color:var(--muted);cursor:pointer}.seg button.active{background:var(--panel2);color:var(--text)}.kv{display:grid;grid-template-columns:auto 1fr;gap:4px 14px}.kv>:nth-child(odd){color:var(--muted)}.stat .lbl{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.stat .val{font-size:20px;font-weight:600;font-family:var(--mono)}.stat .sub{font-size:12px;color:var(--muted)}.banner{border-radius:var(--radius);padding:10px 14px;margin-bottom:14px;border:1px solid}.banner.red{background:var(--red-bg);border-color:#f0525266}.banner.yellow{background:var(--yellow-bg);border-color:#eab30866}.banner.blue{background:var(--blue-bg);border-color:#3b82f666}.list{display:flex;flex-direction:column}.list>.li{padding:9px 0;border-bottom:1px solid var(--line)}.list>.li:last-child{border-bottom:0}ul.plain{margin:0;padding-left:18px}ul.plain li{margin:3px 0}.empty{padding:26px;text-align:center;color:var(--muted)}.bar{height:6px;background:var(--bg2);border-radius:3px;overflow:hidden}.bar>i{display:block;height:100%;background:var(--blue)}.spin{display:inline-block;width:14px;height:14px;border:2px solid var(--line2);border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}table.t{width:100%;border-collapse:collapse;font-size:13px}table.t th{text-align:left;color:var(--muted);font-weight:500;font-size:12px;padding:7px 8px;border-bottom:1px solid var(--line);white-space:nowrap}table.t td{padding:7px 8px;border-bottom:1px solid var(--line);vertical-align:top}table.t tr.click{cursor:pointer}table.t tr.click:hover td{background:var(--panel2)}.table-wrap{overflow-x:auto}.sig{border-left:3px solid var(--line2)}.sig.LONG{border-left-color:var(--green)}.sig.SHORT{border-left-color:var(--red)}.sig .small{overflow-wrap:anywhere}.sig-levels{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;margin:10px 0}.lv{background:var(--bg2);border-radius:8px;padding:7px 9px}.lv .k{font-size:11px;color:var(--muted)}.lv .v{font-family:var(--mono);font-weight:600}.lv .s{font-size:11px;color:var(--dim)}.lv.sl .v{color:var(--red)}.lv.tp .v{color:var(--green)}.lv.entry .v{color:var(--blue)}.actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:flex-start;justify-content:center;z-index:50;padding:4vh 12px;overflow:auto}.modal{background:var(--panel);border:1px solid var(--line2);border-radius:14px;width:min(920px,100%);padding:18px;box-shadow:0 20px 60px #00000080}.modal.sm{width:min(460px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(420px,100%);background:var(--panel);border-left:1px solid var(--line2);z-index:60;display:flex;flex-direction:column;box-shadow:-20px 0 60px #0006}.drawer-body{overflow:auto;padding:0 14px 20px}.notif{padding:10px 0;border-bottom:1px solid var(--line)}.notif.unread .t1{font-weight:600}.notif .t2{white-space:pre-line;font-size:12px;color:var(--muted)}.toasts{position:fixed;right:16px;bottom:16px;display:flex;flex-direction:column;gap:8px;z-index:70;width:min(380px,calc(100% - 32px))}.toast{background:var(--panel2);border:1px solid var(--line2);border-left:3px solid var(--blue);border-radius:10px;padding:10px 12px;box-shadow:0 10px 30px #0006}.toast.warning{border-left-color:var(--yellow)}.toast.critical{border-left-color:var(--red)}.toast .t2{white-space:pre-line;font-size:12px;color:var(--muted);margin-top:3px}.chart-box{height:430px;width:100%}.tf-cell{display:inline-flex;flex-direction:column;align-items:center;min-width:44px;padding:4px 6px;border-radius:6px;background:var(--bg2);font-size:11px}.tf-cell b{font-size:14px}.ev-pos{color:var(--green)}.ev-neg{color:var(--red)}@media (max-width: 1100px){.g4,.g3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 760px){.side{display:none}.content{padding:12px 12px 90px}.topbar{padding:8px 12px;gap:8px}.topbar .hide-m{display:none}.g2,.g3,.g4,.auto,.bt-grid{grid-template-columns:minmax(0,1fr)}.seg{flex-wrap:wrap}.chart-box{height:320px}.mobile-nav{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:40;background:var(--bg2);border-top:1px solid var(--line);padding:4px 4px calc(4px + env(safe-area-inset-bottom));overflow-x:auto}.mobile-nav button{flex:1 0 auto;border:0;background:transparent;color:var(--muted);padding:6px 8px;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:64px}.mobile-nav button.active{color:var(--text)}.mobile-nav .ico{font-size:17px}}
