@charset "UTF-8";:root{color-scheme:dark;--bg: #050805;--panel: #070b07;--border: #1d3a24;--grid: #0f1f13;--text: #8fb89a;--dim: #5f7f68;--green: #5cc98a;--red: #e5534b;--amber: #ffb000;--cyan: #5fd7ff;--ink: #000;--chart-bg: #050805;--text-2: #5f7f68;--up: #5cc98a;--down: #e5534b;--accent: #ffb000;--accent-2: #5fd7ff;--muted-bar: #4f6e57;--ema: #8fb89a;--mono: "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;--fs: 13px;--gutter: 20px}*,*:before,*:after{box-sizing:border-box;border-radius:0!important;box-shadow:none!important}html,body{margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);font-size:var(--fs);line-height:1.5;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%}body{min-height:100vh;overflow-x:hidden}button,input,select,textarea{font-family:var(--mono)}::selection{background:var(--green);color:var(--ink)}h1,h2,h3,h4{margin:0;line-height:1.3;font-weight:700;text-transform:uppercase;letter-spacing:.08em}h1{font-size:15px;color:var(--green)}h1:before{content:"> ";color:var(--dim)}h2{font-size:12px;color:var(--green)}h3{font-size:12px;color:var(--text)}h4{font-size:11px}p{margin:0}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}:focus-visible{outline:1px solid var(--green);outline-offset:2px}b,strong{font-weight:700}.muted,.dim{color:var(--dim)}.small{font-size:11.5px}.center{text-align:center}.mono{font-family:var(--mono)}.pos{color:var(--green)!important}.neg{color:var(--red)!important}.warn{color:var(--amber)!important}.info{color:var(--cyan)}.k{color:var(--dim);text-transform:uppercase;letter-spacing:.08em}.tf{color:var(--text);letter-spacing:.04em}.arrow{color:var(--dim);margin:0 .4ch}.cursor{color:var(--green);margin-left:.3ch;animation:blink 1.06s steps(1) infinite}@keyframes blink{50%{opacity:0}}@keyframes cand-flash{0%,49%{background:var(--amber);color:var(--ink)}50%,to{background:transparent;color:var(--amber)}}@media(min-width:769px){.m-only{display:none!important}}@media(max-width:768px){.d-only,.d-only-nav,.d-only-block{display:none!important}}.crt{position:fixed;inset:0;z-index:9000;pointer-events:none;background:repeating-linear-gradient(to bottom,transparent 0,transparent 2px,rgba(51,255,102,.035) 2px,rgba(51,255,102,.035) 3px);animation:crt-roll 8s linear infinite}@keyframes crt-roll{to{background-position:0 30px}}.shell{display:block;min-height:100vh}.topbar{position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border)}.topbar-in{max-width:1400px;margin:0 auto;padding:8px var(--gutter) 0}.prompt{display:flex;flex-wrap:wrap;align-items:center;gap:2px 1ch;font-size:12.5px;white-space:nowrap;min-height:22px}.prompt-host{color:var(--green);font-weight:700}.prompt-host:hover{text-decoration:none}.prompt .seg b{font-weight:700;color:var(--text)}.prompt .seg b.ok{color:var(--green)}.prompt .seg b.bad{color:var(--red)}.prompt .sep{color:var(--border)}.st[data-state=running]{color:var(--green)!important}.st[data-state=paused]{color:var(--amber)!important}.st[data-state=offline]{color:var(--red)!important}.st[data-state=unknown]{color:var(--dim)!important}.cand{color:var(--dim);padding:0 .5ch;font-weight:700}.cand:hover{text-decoration:none}.cand.hot{color:var(--ink);background:var(--amber);animation:cand-flash 1.2s steps(1) infinite}.clock{color:var(--text)}.prompt .hint{margin-left:.5ch}.cmdbar{display:flex;align-items:center;gap:4px 12px;padding:6px 0 8px;flex-wrap:wrap}.nav{display:flex;flex-wrap:wrap;gap:2px 4px;flex:1;min-width:0}.nav a,.cmd{display:inline-block;color:var(--text);padding:1px 2px;font:500 12.5px/1.5 var(--mono);letter-spacing:.04em;white-space:nowrap;text-decoration:none;background:transparent;border:0;cursor:pointer}.nav a:before,.cmd:before{content:"[";color:var(--dim)}.nav a:after,.cmd:after{content:"]";color:var(--dim)}.nav a:hover,.cmd:hover{color:var(--green);text-decoration:none}.nav a.active{background:var(--green);color:var(--ink);font-weight:700}.nav a.active:before,.nav a.active:after{color:var(--ink)}.cmd-right{display:flex;gap:4px;margin-left:auto}.cmd.exit:hover{color:var(--red)}.cmd[aria-pressed=true]{color:var(--green)}.page{max-width:1400px;margin:0 auto;padding:22px var(--gutter) 64px;display:flex;flex-direction:column;gap:20px}.page>*{min-width:0}app-dashboard,app-market,app-charts,app-trades,app-events,app-backtest,app-settings,.block-host{display:flex;flex-direction:column;gap:20px;min-width:0}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px 16px;flex-wrap:wrap}.page-head>div:first-child{max-width:820px}.page-head p,.page-head.sub{margin-top:4px}.page-head.sub h2{font-size:13px}.toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end}.card{position:relative;background:var(--panel);border:1px solid var(--border);padding:18px 14px 14px;min-width:0}.card.flush{padding:18px 0 0}.card.flush>.empty{padding:18px 14px}.card-head{position:absolute;top:0;left:10px;right:10px;transform:translateY(-50%);display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;pointer-events:none;line-height:16px}.card-head>*{background:var(--panel);padding:0 6px;pointer-events:auto}.card-head h2{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;min-width:0}.card-head:not(.raw) h2:before{content:"[";color:var(--dim);margin-right:-2px}.card-head:not(.raw) h2:after{content:"]";color:var(--dim);margin-left:-2px;order:99}.card-head.pad{padding:0}.count{color:var(--dim)}.count:before{content:"["}.count:after{content:"]"}.sub-head{margin:16px 0 8px;color:var(--dim);font-size:11px}.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.stack{display:flex;flex-direction:column;gap:20px}.empty{color:var(--dim);padding:8px 0;font-size:12.5px}.empty.error{color:var(--red)}.hint{display:inline-flex;vertical-align:baseline;position:relative;text-transform:none;letter-spacing:0}.hint-btn{border:0;background:transparent;color:var(--dim);font:400 11px/1 var(--mono);padding:0 2px;cursor:help;letter-spacing:0;text-transform:none}.hint-btn:hover,.hint-btn[aria-expanded=true]{color:var(--green)}.hint-pop{position:fixed;z-index:1000;width:min(340px,100vw - 24px);background:var(--bg);color:var(--text);border:1px solid var(--green);padding:8px 10px;font:400 12px/1.55 var(--mono);text-transform:none;letter-spacing:0;text-align:left;white-space:normal;pointer-events:none}.hint-pop.above{transform:translateY(-100%)}.hint-pop strong{display:block;margin-bottom:4px;color:var(--green);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.hint-pop strong:before{content:"[ ";color:var(--dim)}.hint-pop strong:after{content:" ]";color:var(--dim)}.hint-body:before{content:"// ";color:var(--dim)}.pnl{display:inline-block;font-weight:700;white-space:nowrap;line-height:1.3;padding:0 .35em;border:1px solid transparent;font-variant-numeric:tabular-nums;vertical-align:baseline}.pnl:before{content:"[ "}.pnl:after{content:" ]"}.pnl[data-sign=pos]{background:var(--green);border-color:var(--green);color:var(--ink)}.pnl[data-sign=neg]{background:var(--red);border-color:var(--red);color:var(--ink)}.pnl[data-sign=zero]{border-color:var(--dim);color:var(--dim)}.pnl[data-sign=none]{color:var(--dim)}.pnl-sm{font-size:12px;padding:0 .25em}.pnl-lg{font-size:32px;line-height:1.2;padding:0 .3em}.metrics{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px 12px}.metric{display:flex;flex-direction:column;gap:4px}.metric-head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.metric-label{color:var(--dim);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.metric-ru{color:var(--dim);font-size:11px}.metric-value{font-size:22px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.metric-big .metric-value .pnl-lg{font-size:26px}.metric-sub{font-size:11.5px;color:var(--dim)}.metric-caption{font-size:11.5px;color:var(--dim);line-height:1.45}.status-line{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 24px}.st-code{font-weight:700;letter-spacing:.06em;padding:0 .4em;border:1px solid currentColor}.st-code[data-state=running]{color:var(--green)}.st-code[data-state=paused]{color:var(--amber)}.st-code[data-state=offline]{color:var(--red)}.st-code[data-state=unknown]{color:var(--dim)}.kv b{color:var(--text)}.status-explain{margin-top:6px;color:var(--dim);font-size:12px}.status-strip[data-state=offline]{border-color:var(--red)}.status-strip[data-state=paused]{border-color:var(--amber)}.acc-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px 20px}.acc-cell{display:flex;flex-direction:column;gap:4px;min-width:0}.acc-k{color:var(--dim);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.acc-v{color:var(--text);font-weight:700;white-space:nowrap;min-height:40px;display:flex;align-items:center}.acc-v.big{font-size:32px;line-height:1.2;color:var(--green)}.acc-v.mid{font-size:24px}.acc-sub{color:var(--dim);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.box-cand{border-color:var(--amber)}.box-cand>.card-head h2{color:var(--amber)}.box-cand.empty-cand{border-color:var(--border)}.box-cand.empty-cand>.card-head h2{color:var(--dim)}.cand-none{color:var(--dim);font-weight:400;text-transform:none;letter-spacing:0}.cand-quiet{color:var(--dim);font-size:12px}.box-mon[data-kind=position]>.card-head h2{color:var(--green)}.box-mon[data-kind=order]>.card-head h2{color:var(--cyan)}.card-head.raw h2 .hint{font-weight:400}.box-other>.card-head h2{color:var(--text)}.other-toggle{background:transparent;border:0;padding:0;color:inherit;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer}.other-toggle:hover{color:var(--green)}.other-toggle .dim{text-transform:none;letter-spacing:0;font-weight:400}.other-sum{color:var(--dim);font-size:12px;word-spacing:.3ch}.mon-list{display:flex;flex-direction:column}.mon-item{--st: var(--dim);display:block;min-width:0;padding:6px 0;border-bottom:1px solid var(--grid)}.mon-list>.mon-item:last-child{border-bottom:0}.mon-item[data-state=candidate]{--st: var(--amber)}.mon-item[data-state=order]{--st: var(--cyan)}.mon-item[data-state=position]{--st: var(--green)}.mon-item[data-state=waiting]{--st: var(--text)}.mon-row{display:grid;grid-template-columns:2ch 7ch 4ch 12ch minmax(0,1fr);column-gap:1ch;align-items:baseline;white-space:nowrap}.mon-mark{color:var(--amber);animation:blink 1s steps(1) infinite}.mon-sym{color:var(--text);font-weight:700}.mon-item[data-state=candidate] .mon-sym,.mon-item[data-state=candidate] .mon-tf,.mon-item[data-state=candidate] .n{color:var(--amber)}.mon-tf{color:var(--text)}.mon-state{color:var(--st);font-weight:700;letter-spacing:.04em}.mon-item[data-state=no_pattern],.mon-item[data-state=closed],.mon-item[data-state=no_pattern] .mon-sym,.mon-item[data-state=closed] .mon-sym,.mon-item[data-state=no_pattern] .mon-tf,.mon-item[data-state=closed] .mon-tf{color:var(--dim)}.mon-nums{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 2ch;min-width:0}.mon-nums .arrow{margin:0 -1ch}.mon-item[data-state=order] .mon-nums .n:last-of-type{color:var(--cyan)}.dist{color:var(--cyan)}.mins{color:var(--text)}.mon-item[data-state=candidate] .mins{color:var(--amber)}.chk{color:var(--amber);font-weight:700}.chk.all{color:var(--green)}.mon-body{padding:2px 0 2px 3ch}.mon-title{color:var(--text);font-size:12.5px}.mon-ru{color:var(--st)}.mon-text{color:var(--dim);font-size:12px;line-height:1.5;max-width:110ch}.mon-more,.ev-details{margin-top:4px}.mon-more>summary,.ev-details>summary{cursor:pointer;color:var(--dim);font-size:12px;list-style:none;display:inline-block}.mon-more>summary:before,.ev-details>summary:before{content:"[+] ";color:var(--green)}.mon-more[open]>summary:before,.ev-details[open]>summary:before{content:"[\2212] "}.mon-more>summary::-webkit-details-marker,.ev-details>summary::-webkit-details-marker{display:none}.mon-more>summary:hover,.ev-details>summary:hover{color:var(--green)}.ev-details{display:block;max-width:820px;white-space:normal}.mon-toolbar{display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap}.mon-counts{display:inline-flex;flex-wrap:wrap;align-items:center;gap:4px 16px;color:var(--dim);margin-left:auto}.mon-counts [data-state=position]{color:var(--green)}.mon-counts [data-state=order]{color:var(--cyan)}.mon-counts [data-state=candidate]{color:var(--amber);font-weight:700}.mon-counts [data-state=waiting]{color:var(--text)}.mon-updated{font-size:12px;color:var(--dim);display:inline-flex;align-items:center;gap:6px}.mon-updated.stale{color:var(--amber)}.mon-closed{padding:10px 14px;color:var(--dim);font-size:12px}.stats-status{font-size:12.5px}.ss-line{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;color:var(--dim)}.ss-code{color:var(--text)}.stats-status[data-s=ready] .ss-code{color:var(--green)}.stats-status[data-s=computing] .ss-code{color:var(--cyan)}.stats-status[data-s=error] .ss-code{color:var(--red)}.ss-tf{margin-top:6px;display:flex;flex-wrap:wrap;gap:4px 24px;color:var(--text);white-space:pre}.ss-tf b{color:var(--green)}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.tbl{width:100%;border-collapse:collapse;font-size:12.5px}.tbl th{text-align:left;font-weight:700;font-size:10.5px;color:var(--dim);text-transform:uppercase;letter-spacing:.08em;padding:4px 10px 6px;border-bottom:1px solid var(--border);white-space:nowrap}.th-in{display:inline-flex;align-items:baseline;gap:2px}.tbl th.num .th-in{justify-content:flex-end}.tbl td{padding:5px 10px;border-bottom:1px solid var(--grid);white-space:nowrap;vertical-align:middle;color:var(--text)}.tbl td.dim{color:var(--dim)}.tbl td.info{color:var(--cyan)}.tbl tbody tr:last-child td{border-bottom:0}.tbl tbody tr:hover td{background:var(--grid)}.tbl .num{text-align:right}.tbl th:first-child,.tbl td:first-child{padding-left:0}.card.flush .tbl th:first-child,.card.flush .tbl td:first-child{padding-left:14px}.card.flush .tbl th:last-child,.card.flush .tbl td:last-child{padding-right:14px}.side{font-weight:700;letter-spacing:.04em}.side.long{color:var(--green)}.side.short{color:var(--red)}.tag{display:inline-block;font-size:10.5px;font-weight:700;padding:0 4px;margin-left:4px;border:1px solid var(--amber);color:var(--amber);letter-spacing:.04em}.sym-link,.sym{font-weight:700;color:var(--text)}.sym-link:hover{color:var(--green)}.rows{list-style:none;margin:0;padding:0}.trow{display:flex;align-items:baseline;gap:1ch;padding:5px 0;border-bottom:1px solid var(--grid);white-space:nowrap;min-width:0}.trow:last-child{border-bottom:0}.trow .sym-link,.trow .sym{min-width:6ch}.trow .tf{min-width:3.5ch}.trow .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.trow .side{flex:1}.trow .pnl,.trow .dist{margin-left:auto}.card.flush .rows{padding:0 14px 8px}.tbl.trades .row{cursor:pointer}.row.open td{background:var(--grid)}.detail td{background:var(--bg);white-space:normal;border-bottom:1px solid var(--border)}.explain{display:grid;grid-template-columns:1fr 1fr auto;gap:20px;padding:6px 0 10px}.explain h4{color:var(--dim);margin-bottom:4px;text-transform:none;letter-spacing:0;font-weight:400}.explain p{line-height:1.55;max-width:64ch;color:var(--text);font-size:12.5px}.facts{margin:0;display:flex;flex-direction:column;gap:6px;font-size:12px}.facts dt{color:var(--dim);font-size:10.5px;letter-spacing:.08em}.facts dd{margin:0;color:var(--text)}.reason{font-weight:700;color:var(--text);letter-spacing:.04em}.reason-ru{color:var(--dim);font-size:11.5px}.reason[data-r=take]{color:var(--green)}.reason[data-r=stop]{color:var(--red)}.link-col{text-align:right}.btn{display:inline-flex;align-items:center;justify-content:center;gap:0;height:32px;padding:0 10px;border:1px solid var(--border);background:transparent;color:var(--text);font:700 12.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.btn:before{content:"[ ";white-space:pre}.btn:after{content:" ]";white-space:pre}.btn:hover:not(:disabled){background:var(--text);border-color:var(--text);color:var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn.primary{border-color:var(--green);color:var(--green)}.btn.primary:hover:not(:disabled){background:var(--green);color:var(--ink)}.btn.danger{border-color:var(--red);color:var(--red)}.btn.danger:hover:not(:disabled){background:var(--red);border-color:var(--red);color:var(--ink)}.btn.warn{border-color:var(--amber)}.btn.warn:hover:not(:disabled){background:var(--amber);border-color:var(--amber);color:var(--ink)!important}.btn.ghost{border-color:transparent;color:var(--dim)}.btn.ghost:hover:not(:disabled){background:transparent;border-color:var(--border);color:var(--green)}.btn.sm{height:26px;padding:0 6px;font-size:12px}.btn.block{width:100%}.btn-link{background:none;border:0;padding:0;color:var(--green);font:500 12px var(--mono);cursor:pointer;white-space:nowrap}.btn-link:hover{text-decoration:underline}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span:first-child,.field-label{font-size:11px;color:var(--dim);font-weight:700;letter-spacing:.08em;text-transform:uppercase;display:inline-flex;align-items:baseline;gap:4px}input,select,textarea{font:13px var(--mono);color:var(--green);background:var(--bg);border:1px solid var(--border);padding:0 8px;height:32px;min-width:0;width:100%;font-variant-numeric:tabular-nums;caret-color:var(--green)}textarea{height:auto;padding:6px 8px;resize:vertical}select{cursor:pointer;padding-right:26px;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0h10L5 6z' fill='%2333ff66'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 9px center}select option{background:var(--bg);color:var(--text)}.toolbar select{min-width:120px}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--green)}input[type=date]{color-scheme:dark}input[type=number]::-webkit-inner-spin-button{opacity:.4}.input-unit{display:flex;align-items:center;gap:8px}.input-unit input{flex:1}.input-unit span{font-size:11.5px;color:var(--dim);white-space:nowrap}.alert{padding:8px 10px;font-size:12.5px;border:1px solid var(--green);color:var(--green);margin:0}.alert:before{content:">> "}.alert.error{border-color:var(--red);color:var(--red)}.alert.error:before{content:"ERR: ";font-weight:700}.chips{display:flex;flex-wrap:wrap;gap:4px 6px;align-items:center}.chip-btn{height:26px;padding:0 4px;border:0;background:transparent;color:var(--text);font:500 12.5px var(--mono);letter-spacing:.04em;cursor:pointer;white-space:nowrap}.chip-btn:before{content:"[";color:var(--dim)}.chip-btn:after{content:"]";color:var(--dim)}.chip-btn:hover{color:var(--green)}.chip-btn.active{background:var(--green);color:var(--ink);font-weight:700}.chip-btn.active:before,.chip-btn.active:after{color:var(--ink)}[data-level=info]{--lvl: var(--dim)}[data-level=signal]{--lvl: var(--amber)}[data-level=trade]{--lvl: var(--green)}[data-level=warn]{--lvl: var(--amber)}[data-level=error]{--lvl: var(--red)}.chip-btn[data-level]{color:var(--lvl)}.chip-btn[data-level].active{background:var(--lvl);color:var(--ink)}.chip-actions{display:flex;gap:14px}.events{list-style:none;margin:0;padding:0}.ev{display:grid;grid-template-columns:11ch 7ch 10ch minmax(0,1fr);column-gap:1.5ch;align-items:baseline;padding:4px 0;border-bottom:1px solid var(--grid);font-size:12.5px}.ev:last-child{border-bottom:0}.ev-time{color:var(--dim);white-space:nowrap}.ev-level{font-weight:700;letter-spacing:.04em;color:var(--lvl)}.ev-sym-wrap{display:inline-flex;gap:1ch;white-space:nowrap}.ev-sym{font-weight:700;color:var(--text)}.ev-text{min-width:0;color:var(--text);line-height:1.5}.ev[data-level=error] .ev-text{color:var(--red)}.ev[data-level=warn] .ev-text{color:var(--amber)}.load-more{display:flex;justify-content:center;padding-top:12px}.live{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--red)}.live.on{color:var(--green)}.live.on:before{content:"\25cf";animation:blink 1.4s steps(1) infinite}.summary-row{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:baseline;padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pill{display:inline-flex;align-items:baseline;gap:8px;font-size:12.5px}.pill>span:first-child{color:var(--dim);font-size:11px;font-weight:700;letter-spacing:.1em}.pill b{font-weight:700;font-size:15px;color:var(--text)}.chart-box{width:100%;position:relative}.chart-box.candles{height:min(62vh,560px);min-height:320px}.equity-chart{display:block;position:relative}.chart-empty,.chart-overlay{position:absolute;inset:0;display:grid;place-items:center;color:var(--dim);font-size:12.5px;text-align:center;padding:16px;pointer-events:none}.chart-overlay{background:#050805bf}.chart-overlay.error{color:var(--red)}.chart-area{position:relative;border:1px solid var(--grid)}.chart-card{padding:12px}.hover-info{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:baseline;min-height:26px;padding:0 0 8px;font-size:12px}.hover-pattern{padding:0 6px;border:1px solid var(--dim);color:var(--text)}.hover-pattern.ok{border-color:var(--amber);color:var(--amber)}.hover-fail{color:var(--red)}.legend{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;font-size:12px;color:var(--dim)}.legend b{color:var(--text)}.sw{display:inline-block;width:10px;height:14px;margin-right:8px;vertical-align:-2px}.sw.candle-up{background:var(--up);border-right:5px solid var(--down)}.sw.mother{background:var(--accent)}.sw.inside{background:var(--accent-2);height:10px;vertical-align:0}.sw.rejected{background:var(--muted-bar)}.sw.line{width:18px;height:0;border-top:2px solid;vertical-align:4px}.sw.line.dashed{border-top-style:dashed}.sw.ema{border-color:var(--ema)}.sw.entry{border-color:var(--accent)}.sw.stop{border-color:var(--down)}.sw.take{border-color:var(--up)}.pattern-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto;display:flex;flex-direction:column}.pattern-list button{width:100%;display:grid;grid-template-columns:auto auto auto 1fr;gap:1.5ch;align-items:baseline;text-align:left;background:transparent;border:0;border-bottom:1px solid var(--grid);padding:4px 2px;color:var(--text);font:12px var(--mono);cursor:pointer}.pattern-list button:hover,.pattern-list li.open>button{background:var(--grid)}.chip{font-weight:700;color:var(--dim);white-space:nowrap}.chip.ok{color:var(--amber)}.reason-text{color:var(--dim)}.levels{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px;font-size:12px}.levels li{display:flex;justify-content:space-between;gap:12px}.lvl:before{content:"";display:inline-block;width:14px;border-top:2px dashed var(--c, var(--dim));margin-right:8px;vertical-align:3px}.lvl[data-k=entry]{--c: var(--accent)}.lvl[data-k=stop]{--c: var(--down)}.lvl[data-k=take]{--c: var(--up)}.pattern-detail{padding:4px 4px 10px}.open-desk{padding:16px 12px;color:var(--dim);font-size:12.5px;letter-spacing:.04em}.tf-host{display:inline-flex}.tf-pill{color:var(--text);font-size:11.5px;letter-spacing:.04em;white-space:nowrap}.fut,a.fut,.mon-item .mon-sym.fut,.mon-item[data-state] .mon-sym.fut,.trow .fut,select.fut,option.fut,.chip-btn.fut{color:var(--cyan)!important}.chip-btn.fut.active{border-color:var(--cyan)}.grp-host{display:inline-flex;vertical-align:baseline}.grp-host:empty{display:none}.grp-pill{font-size:9.5px;font-weight:500;letter-spacing:.06em;line-height:1;color:var(--cyan);opacity:.7;white-space:nowrap}.sym-cell{display:inline-flex;align-items:baseline;gap:.6ch;white-space:nowrap}.grp-code{color:var(--dim);font-weight:700;letter-spacing:.06em}.grp-code.fut{color:var(--cyan)}.grp-lines{display:flex;flex-direction:column;gap:2px;margin-top:10px;padding-top:6px;border-top:1px solid var(--grid);font-size:11.5px;color:var(--text)}.grp-line{display:flex;align-items:baseline;gap:0 1.5ch;flex-wrap:wrap;white-space:nowrap}.grp-line .k{color:var(--dim);font-size:10.5px;letter-spacing:.06em}.fut-toggle{display:inline-flex;align-items:center;gap:8px;margin-top:8px;font-size:12.5px;color:var(--dim);cursor:pointer}.fut-toggle.on{color:var(--cyan)}.fut-toggle input{width:14px;height:14px;margin:0;accent-color:var(--cyan)}.checklist-host{display:block}.cl-head{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap;font-size:11.5px;margin:8px 0 2px}.cl-code{font-weight:700;color:var(--amber);letter-spacing:.06em}.cl-code.all{color:var(--green)}.cl-code.bad{color:var(--red)}.cl-sum{color:var(--dim)}.checklist{list-style:none;margin:0;padding:0;font-size:12px}.cl-row{--ok: var(--dim);display:grid;grid-template-columns:7ch minmax(18ch,28ch) minmax(0,1fr);column-gap:1.5ch;align-items:baseline;padding:1px 0;border:1px dashed transparent}.cl-row[data-ok=yes]{--ok: var(--green)}.cl-row[data-ok=no]{--ok: var(--red)}.cl-row.first-fail{border-color:var(--red)}.cl-status{color:var(--ok);font-weight:700;white-space:pre}.cl-label{color:var(--text)}.cl-value{color:var(--text);overflow-wrap:anywhere}.cl-rule{grid-column:3;color:var(--dim)}.cl-reason{grid-column:2/-1;font-size:11px;font-weight:700;color:var(--red);letter-spacing:.04em}.stats-host{display:block}.stats-box{--v: var(--dim);margin-top:6px;font-size:12px}.stats-box[data-v=profitable]{--v: var(--green)}.stats-box[data-v=unprofitable]{--v: var(--red)}.stats-box[data-v=neutral]{--v: var(--text)}.stats-foot{display:flex;align-items:baseline;gap:4px 12px;flex-wrap:wrap}.stats-foot .k{font-size:11px}.stats-verdict{color:var(--v);font-weight:700;letter-spacing:.04em;white-space:nowrap}.stats-label{color:var(--dim)}.stats-text{color:var(--dim);line-height:1.55;margin-top:2px}.stats-text b{color:var(--text)}.stats-note{color:var(--dim);margin-left:1ch}.bt-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:20px;align-items:start}.bt-form{display:flex;flex-direction:column;gap:14px}.field-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.quick-range{display:flex;gap:14px;margin-top:-6px}.overrides{border:1px solid var(--border);padding:0 10px}.overrides summary{cursor:pointer;padding:8px 0;font-weight:700;font-size:12px;display:flex;align-items:baseline;gap:6px;list-style:none;text-transform:uppercase;letter-spacing:.06em}.overrides summary::-webkit-details-marker{display:none}.overrides summary:before{content:"[+]";color:var(--green)}.overrides[open] summary:before{content:"[\2212]"}.overrides summary:after{content:"(\440\430\437\432\435\440\43d\443\442\44c)";margin-left:auto;font-weight:400;color:var(--dim);text-transform:none;letter-spacing:0}.overrides[open] summary:after{content:"(\441\432\435\440\43d\443\442\44c)"}.overrides[open]{padding-bottom:10px}.overrides summary .tag{text-transform:none}.ov-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-bottom:10px}.bt-runs{max-height:640px;overflow:auto}.runs{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.runs button{width:100%;display:flex;flex-direction:column;gap:2px;text-align:left;padding:6px 8px;background:transparent;border:0;border-left:2px solid transparent;border-bottom:1px solid var(--grid);color:var(--text);font:12px var(--mono);cursor:pointer}.runs button:hover{background:var(--grid)}.runs button.active{border-left-color:var(--green);background:var(--grid)}.run-top{display:flex;gap:10px;align-items:baseline}.run-top b{color:var(--green)}.run-mid{color:var(--dim)}.status-chip{margin-left:auto;font-weight:700;color:var(--dim)}.status-chip[data-s=done]{color:var(--green)}.status-chip[data-s=running]{color:var(--cyan)}.status-chip[data-s=error]{color:var(--red)}.progress{display:block;height:10px;border:1px solid var(--border);margin:10px 0 6px;padding:1px}.progress.sm{height:6px;margin:4px 0 0;padding:0}.progress i{display:block;height:100%;background:var(--green)}.bt-result{display:flex;flex-direction:column;gap:20px}.control{display:flex;flex-direction:column;padding-top:10px}.control-item{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:10px 0}.control-item+.control-item{border-top:1px solid var(--grid)}.control-item h3 .dim{text-transform:none;letter-spacing:0;font-weight:400}.control-item p{margin-top:3px;max-width:680px}.settings-form{display:flex;flex-direction:column;gap:20px}.group-sub{margin-bottom:8px}.setting-list{display:flex;flex-direction:column}.setting{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,300px);gap:24px;padding:12px 0;border-top:1px solid var(--grid)}.setting:first-child{border-top:0;padding-top:4px}.setting.changed .setting-label:after{content:"*MODIFIED";font-size:10.5px;font-weight:700;color:var(--amber);margin-left:6px;letter-spacing:.04em}.setting-label{font-weight:700;font-size:12.5px;color:var(--text);display:inline-flex;align-items:baseline;gap:5px;text-transform:uppercase;letter-spacing:.04em}.setting-desc,.setting-affects{margin-top:4px;color:var(--dim);font-size:12px}.setting-affects b{font-weight:400}.setting-input{display:flex;flex-direction:column;gap:6px}.rec{font-size:11.5px;color:var(--dim);display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}.rec b{color:var(--text)}.save-bar{position:static;bottom:8px;z-index:10;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;background:var(--panel);border:1px solid var(--border)}.save-bar.dirty{position:sticky;border-color:var(--amber)}.save-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.dialog{border:1px solid var(--red);background:var(--panel);color:var(--text);padding:18px;width:min(460px,100vw - 24px);font-family:var(--mono)}.dialog h2{color:var(--red)}.dialog::backdrop{background:#000c}.dialog p{margin:10px 0 18px;color:var(--text);font-size:12.5px}.dialog-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.tf-checks{display:flex;flex-wrap:wrap;gap:8px}.tf-check{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 10px;border:1px solid var(--border);font-size:12.5px;color:var(--dim);cursor:pointer}.tf-check.on{color:var(--green);border-color:var(--green)}.tf-check input,.check-toggle input{width:14px;height:14px;margin:0;padding:0;accent-color:var(--green);cursor:pointer}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:16px 12px;background:var(--bg)}.login{width:min(400px,100%);display:flex;flex-direction:column;gap:14px;padding:22px 18px 18px}.login-brand{color:var(--green);font-weight:700;font-size:14px}.login .muted{font-size:12px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.cand.hot{background:var(--amber);color:var(--ink)}}@media(max-width:1080px){.bt-layout{grid-template-columns:1fr}.bt-runs{max-height:360px}}@media(max-width:900px){.grid-2{grid-template-columns:1fr}.explain{grid-template-columns:1fr;gap:12px}.facts{flex-direction:row;flex-wrap:wrap;gap:16px}}@media(max-width:768px){:root{--fs: 12px;--gutter: 12px}.hint,.metric-caption,.status-explain{display:none!important}.topbar-in{padding-top:6px}.prompt{font-size:11.5px;gap:0 .8ch}.prompt-host{display:none}.prompt:before{content:"$";color:var(--green);font-weight:700}.cmdbar{padding:4px 0 6px;gap:2px 8px}.nav{gap:2px}.nav a,.cmd{font-size:11.5px;padding:1px}.page{padding:18px var(--gutter) 40px;gap:18px}app-dashboard,app-market,app-charts,app-trades,app-events,app-backtest,app-settings,.block-host{gap:18px}h1{font-size:13px}.card{padding:14px 10px 8px}.card.flush{padding:14px 0 0}.card-head{left:6px;right:6px}.card-head>*{padding:0 4px}.card-head h2{font-size:11px}.status-line{gap:2px 14px;font-size:11.5px}.acc-grid{display:flex;flex-direction:column;gap:0}.acc-cell{flex-direction:row;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:0 8px;padding:4px 0;border-bottom:1px solid var(--grid)}.acc-cell:last-child{border-bottom:0}.acc-v{min-height:0;margin-left:auto}.acc-v.big{font-size:18px}.acc-v.mid{font-size:16px}.pnl-lg{font-size:18px}.acc-sub{flex-basis:100%;text-align:right;font-size:10.5px}.acc-sub:empty{display:none}.mon-row{grid-template-columns:1.5ch 6ch 3.5ch minmax(0,1fr);column-gap:.8ch}.mon-state{display:none}.box-other .mon-row{grid-template-columns:1.5ch 6ch 3.5ch 10.5ch minmax(0,1fr)}.box-other .mon-state{display:inline;font-size:11px}.mon-nums{gap:0 1.5ch}.mon-item{padding:4px 0}.trow{gap:.8ch;font-size:12px}.pnl-sm{font-size:11.5px}.ev{grid-template-columns:11ch minmax(0,1fr);column-gap:1ch;font-size:11.5px}.ev-level,.ev-sym-wrap{display:none}.ev-text{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.ev-sym-m{color:var(--text);font-weight:700}.ev[data-level=trade] .ev-time{color:var(--green)}.ev[data-level=signal] .ev-time{color:var(--amber)}.ev[data-level=error] .ev-time{color:var(--red)}.summary-row{gap:4px 16px}.pill b{font-size:13px}.toolbar{width:100%;gap:8px}.toolbar .field{flex:1}.toolbar select{min-width:0}.mon-counts{margin-left:0}.setting{grid-template-columns:minmax(0,1fr) minmax(0,150px);gap:10px;padding:6px 0;align-items:center}.setting:has(textarea),.setting:has(.tf-checks){grid-template-columns:1fr;gap:4px}.setting-label{font-size:11px}.setting.changed .setting-label:after{content:"*"}.control-item{gap:10px;padding:6px 0}.save-bar{flex-direction:column;align-items:stretch}.save-actions .btn{flex:1}.btn{padding:0 6px;font-size:11.5px}.field-row{grid-template-columns:1fr 1fr}.field-row>:first-child{grid-column:1/-1}}.mon-size,.trow.sub{display:flex;flex-wrap:wrap;gap:0 2.5ch;font-size:11.5px;color:var(--text);white-space:nowrap}.mon-size{padding:1px 0 0 3ch}.mon-size .k,.trow.sub .k{font-size:10.5px;margin-right:.5ch}.risk,td.risk{color:var(--red)}.trow-wrap{padding:4px 0;border-bottom:1px solid var(--grid)}.trow-wrap:last-child{border-bottom:0}.trow-wrap>.trow{border-bottom:0;padding:0}.trow .val{color:var(--dim);margin-left:auto}.trow .val+.pnl{margin-left:0}@media(max-width:768px){.mon-size{padding-left:2.3ch}.trow .side{flex:0 0 auto}}.kv .k,.prompt .k{margin-right:.6ch}.prompt .k{text-transform:none;letter-spacing:0}.acc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.acc-v .pnl-lg{max-width:100%}@media(max-width:1100px)and (min-width:769px){.pnl-lg,.acc-v.big{font-size:26px}}.mon-item[data-state=order] .mon-nums .n.info{color:var(--cyan)}.cl-row{grid-template-columns:7ch minmax(16ch,26ch) minmax(10ch,22ch) minmax(0,1fr)}.cl-rule{grid-column:auto}.cl-reason{grid-column:2/-1}.acc-sub .pnl+.dim{margin-left:.6ch}@media(max-width:768px){.setting{grid-template-columns:minmax(0,1fr) minmax(0,160px)}.input-unit{gap:4px}.input-unit input{min-width:7ch}.input-unit span{max-width:6ch;overflow:hidden;text-overflow:ellipsis;font-size:10.5px}}.metric-big .metric-value .pnl-lg{font-size:22px}@media(max-width:768px){input,select,textarea{font-size:16px!important}}.hint,.metric-caption,.metric-ru,.status-explain,.setting-desc,.setting-affects,.group-sub,.rec,.stats-text,.stats-label,.stats-note,.ev-details,.mon-body,.mon-counts,.legend,.page-head p,.page-head .muted,.explain>div{display:none!important}.market-banner{display:flex;flex-wrap:wrap;justify-content:center;gap:0 1ch;padding:8px var(--gutter);border-bottom:1px solid var(--amber);background:color-mix(in srgb,var(--amber) 10%,var(--bg));color:var(--amber);font-weight:700;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.market-banner b{background:var(--amber);color:var(--ink);padding:0 .6ch}.market-banner .sep{color:var(--dim)}.market-banner.open{border-bottom-color:var(--border);background:transparent;color:var(--dim);font-weight:500;font-size:11px;padding:3px var(--gutter)}.market-banner.open b{background:transparent;color:var(--green);padding:0}.prompt b.closed{color:var(--amber)}
