:root{
  --bg:#0b0e13; --panel:#11151c; --panel2:#161b24; --line:#222a36; --text:#d8dee9; --muted:#7d8898;
  --green:#22c55e; --green-d:#15803d; --red:#ef4444; --red-d:#b91c1c; --accent:#3b82f6; --warn:#f59e0b;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;
}
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{background:var(--bg);color:var(--text);font:13px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;display:flex;flex-direction:column}
button,input,select,textarea{font:inherit;color:inherit}
input,select,textarea{background:var(--panel2);border:1px solid var(--line);border-radius:6px;padding:7px 9px;width:100%;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--accent)}
button{cursor:pointer;background:none;border:0}
.grow{flex:1}
.top{display:flex;align-items:center;gap:14px;padding:8px 14px;border-bottom:1px solid var(--line);background:var(--panel);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:8px;font-weight:650;color:var(--green);white-space:nowrap}
.brand{color:var(--text)} .brand svg{color:var(--green)}
.ex-pick{position:relative}
.ex-btn{display:flex;align-items:center;gap:7px;padding:6px 10px 6px 12px;border-radius:8px;background:var(--panel2);border:1px solid var(--line);color:var(--text);font-weight:600;white-space:nowrap;min-width:150px;justify-content:space-between}
.ex-btn:hover{border-color:var(--muted)}
.ex-btn .caret{color:var(--muted);font-size:10px}
.ex-menu{position:absolute;left:0;top:calc(100% + 6px);z-index:50;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:8px;width:min(560px,calc(100vw - 28px));box-shadow:0 10px 30px rgba(0,0,0,.45)}
.ex-menu[hidden]{display:none}
.ex-find{width:100%;margin-bottom:8px}
.ex-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:3px;max-height:min(70vh,520px);overflow:auto}
.ex-tabs .ex-h{grid-column:1/-1;font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);padding:6px 6px 2px}
.ex-tabs button{padding:7px 10px;border-radius:6px;color:var(--text);white-space:nowrap;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:8px}
.ex-tabs button:hover{background:var(--line)}
.ex-tabs button small{color:var(--muted);font-size:11px;font-weight:400;overflow:hidden;text-overflow:ellipsis}
.ex-tabs button.on{background:var(--line);box-shadow:inset 2px 0 0 var(--green)}
.ex-pick .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-left:6px;vertical-align:middle;opacity:.6}
.ex-pick .dot.ok{background:var(--green);opacity:1}
.sym input{width:130px;font-weight:600;text-transform:uppercase;font-family:var(--mono)}
.ivs{display:flex;gap:2px}
.ivs button{padding:5px 8px;border-radius:6px;color:var(--muted);font-family:var(--mono);font-size:12px}
.ivs button.on{color:var(--text);background:var(--panel2)}
.last{font-family:var(--mono);font-size:15px;font-weight:600;display:flex;gap:8px;align-items:baseline;font-variant-numeric:tabular-nums}
.chg{font-size:12px}
.up{color:var(--green)} .down{color:var(--red)}
.market-tag{font-size:11px;padding:3px 8px;border-radius:99px;border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.icon-btn{padding:6px;border-radius:6px;color:var(--muted)} .icon-btn:hover{color:var(--text);background:var(--panel2)}

.layout{flex:1;min-height:0;display:grid;grid-template-columns:var(--mkw,250px) minmax(0,1fr) var(--pw,320px);grid-template-rows:1fr var(--bh,240px)}
.markets{grid-row:1 / span 2;grid-column:1;background:var(--panel);border-right:1px solid var(--line);display:flex;flex-direction:column;min-height:0}
.mk-head{padding:10px 10px 6px;display:flex;flex-direction:column;gap:8px}
.mk-tabs{display:flex;gap:2px}
.mk-tabs button{padding:4px 8px;border-radius:6px;color:var(--muted);font-size:12px}
.mk-tabs button.on{background:var(--panel2);color:var(--text)}
.mk-cols{display:grid;grid-template-columns:1fr auto 78px 56px;gap:4px;padding:4px 10px;border-bottom:1px solid var(--line)}
.mk-cols button{font-size:11px;color:var(--muted);text-align:right;padding:0}
.mk-cols button:first-child{text-align:left}
.mk-cols button.on{color:var(--text)}
.mk-list{flex:1;overflow:auto}
.mk-row{display:grid;grid-template-columns:16px 1fr 78px 56px;gap:4px;align-items:center;padding:4px 10px;font-family:var(--mono);font-size:12px;cursor:pointer;font-variant-numeric:tabular-nums}
.mk-row:hover{background:var(--panel2)}
.mk-row.on{background:var(--line)}
.mk-row .star{color:var(--muted);font-size:12px;cursor:pointer;padding:0;line-height:1}
.mk-row .star.on{color:var(--warn)}
.mk-row .s{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.mk-row .p,.mk-row .c{text-align:right}
.mk-empty{padding:18px;color:var(--muted);font-size:12px;text-align:center}
.relay-set{border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:10px;display:flex;flex-direction:column;gap:8px}
.relay-set h4{margin:0}
.relay-set .chk{display:flex;gap:8px;align-items:center}
.relay-set .chk input{width:auto}
.hook{display:grid;grid-template-columns:80px 1fr auto;gap:8px;align-items:center;font-size:12px}
.hook code{font-family:var(--mono);font-size:11px;background:var(--bg);border:1px solid var(--line);border-radius:5px;padding:5px 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pill.tv{background:#1e3a8a;color:#bfdbfe}
.chart-wrap{grid-column:2;grid-row:1;position:relative;min-width:0;min-height:0;border-right:1px solid var(--line)}
#chart{position:absolute;inset:0}
.chart-msg{position:absolute;top:10px;left:12px;color:var(--warn);font-size:12px;pointer-events:none;z-index:3}
.pick-hint{position:absolute;top:10px;left:50%;transform:translateX(-50%);background:var(--accent);color:#fff;padding:6px 12px;border-radius:99px;font-size:12px;z-index:3}
.chart-wrap.picking{cursor:crosshair}

.panel{grid-row:1 / span 2;grid-column:3;background:var(--panel);padding:14px;overflow:auto;display:flex;flex-direction:column;gap:10px}
.side-toggle{display:grid;grid-template-columns:1fr 1fr;background:var(--panel2);border-radius:8px;padding:3px}
.side-toggle button{padding:8px;border-radius:6px;font-weight:600;color:var(--muted)}
.side-toggle .long.on{background:var(--green-d);color:#fff}
.side-toggle .short.on{background:var(--red-d);color:#fff}
.fld{display:flex;flex-direction:column;gap:4px}
.fld>span{color:var(--muted);font-size:12px;display:flex;justify-content:space-between;align-items:center}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.tp-head{display:flex;justify-content:space-between;color:var(--muted);font-size:12px;margin-top:2px}
.tp{display:grid;grid-template-columns:32px 64px 1fr auto;gap:6px;align-items:center}
.tp b{font-size:11px;color:var(--muted);font-weight:600}
.pick{font-size:11px;color:var(--accent);padding:2px 4px;border-radius:4px}
.pick:hover{background:var(--panel2)}
.pick.active{background:var(--accent);color:#fff}
.hint{margin:-2px 0 0;color:var(--muted);font-size:11px}
details summary{cursor:pointer;color:var(--muted);font-size:12px;user-select:none}
details textarea{margin-top:6px;font-family:var(--mono);font-size:12px;resize:vertical}
.actions{display:flex;flex-direction:column;gap:8px;margin-top:4px}
.btn{padding:10px 12px;border-radius:7px;font-weight:600;border:1px solid transparent}
.btn.open{font-size:14px;padding:12px}
.btn.open.long{background:var(--green-d);color:#fff} .btn.open.long:hover{background:var(--green)}
.btn.open.short{background:var(--red-d);color:#fff} .btn.open.short:hover{background:var(--red)}
.btn.ghost{background:var(--panel2);border-color:var(--line)} .btn.ghost:hover{border-color:var(--muted)}
.btn.send{background:var(--accent);color:#fff}
.btn.sm{padding:4px 9px;font-size:12px;font-weight:500}
.link{color:var(--accent);font-size:11px;margin-left:6px}
pre{margin:6px 0 0;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:9px;font:11.5px/1.45 var(--mono);white-space:pre-wrap;word-break:break-all;color:#b9c4d4;max-height:260px;overflow:auto}

.bottom{grid-column:2;grid-row:2;min-width:0;display:flex;flex-direction:column;min-height:0;border-top:1px solid var(--line);border-right:1px solid var(--line);background:var(--panel)}
.btabs{display:flex;align-items:center;gap:4px;padding:6px 10px;border-bottom:1px solid var(--line)}
.btabs button{padding:5px 10px;border-radius:6px;color:var(--muted)}
.btabs button.on{color:var(--text);background:var(--panel2)}
.count{font-size:11px;color:var(--muted)}
.bal{font-family:var(--mono);font-size:12px;color:var(--muted);display:flex;gap:14px}
.bal b{color:var(--text);font-weight:600}
.tab{flex:1;overflow:auto}
table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
th{position:sticky;top:0;background:var(--panel);text-align:left;font-weight:500;color:var(--muted);font-size:11px;padding:6px 10px;border-bottom:1px solid var(--line)}
td{padding:6px 10px;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:12px;white-space:nowrap}
tr.clickable{cursor:pointer} tr.clickable:hover td{background:var(--panel2)}
.empty{padding:22px;color:var(--muted);text-align:center}
.pill{font-size:10.5px;padding:2px 7px;border-radius:99px;font-family:-apple-system,sans-serif;font-weight:600}
.pill.long{background:#14532d;color:#86efac} .pill.short{background:#7f1d1d;color:#fca5a5}
.pill.ok{background:#14532d;color:#86efac} .pill.err{background:#7f1d1d;color:#fca5a5} .pill.dry{background:var(--line);color:var(--muted)}

dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:12px;padding:20px;width:min(520px,94vw)}
dialog.wide{width:min(760px,96vw)}
dialog::backdrop{background:rgba(0,0,0,.6)}
dialog h3{margin:0 0 8px}
.dlg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px;flex-wrap:wrap}
.warn{color:var(--warn);font-size:12px;min-height:0}
.warn:empty{display:none}
.muted{color:var(--muted);font-size:12px}
.ex-set{border:1px solid var(--line);border-radius:8px;padding:12px;margin-top:10px;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ex-set h4{grid-column:1/-1;margin:0;display:flex;justify-content:space-between;align-items:center}
.ex-set .full{grid-column:1/-1}
.ex-set .keyhint{font-size:11px;color:var(--green);font-weight:400}
.toast{position:fixed;bottom:18px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--panel2);border:1px solid var(--line);padding:10px 16px;border-radius:8px;opacity:0;transition:.2s;pointer-events:none;z-index:50;max-width:90vw}
.toast.show{opacity:1;transform:translateX(-50%)}
.toast.err{border-color:var(--red)} .toast.ok{border-color:var(--green)}

@media (max-width:900px){
  .layout{grid-template-columns:1fr;grid-template-rows:55vh auto auto}
  .panel{grid-row:auto;grid-column:1}
  .bottom{grid-column:2;grid-row:2;min-height:260px}
  .chart-wrap{border-right:0}
}

.user-wrap{position:relative}
.user-btn{padding:5px 10px;border-radius:99px;border:1px solid var(--line);color:var(--text);font-size:12px;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.user-btn:hover{border-color:var(--muted)}
.user-menu{position:absolute;right:0;top:calc(100% + 6px);background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:4px;min-width:170px;z-index:40;display:flex;flex-direction:column;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.user-menu[hidden]{display:none}
.user-menu a,.user-menu button{text-align:left;padding:8px 10px;border-radius:6px;color:var(--text);text-decoration:none;font-size:13px}
.user-menu a:hover,.user-menu button:hover{background:var(--line)}

.guest-cta{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.guest-cta h3{margin:0}
.guest-cta p{margin:0}

/* positions: scope toggle + chart overlay */
.seg-mini{display:inline-flex;background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:2px;gap:2px}
.seg-mini button{padding:3px 9px;border-radius:4px;font-size:11.5px;color:var(--muted)}
.seg-mini button.on{background:var(--panel2);color:var(--text)}
#posScope{margin-right:10px}
tr.cur td{background:rgba(59,130,246,.07)}
.pos-overlay{position:absolute;left:8px;bottom:34px;z-index:3;background:rgba(17,21,28,.92);border:1px solid var(--line);border-radius:8px;padding:6px;min-width:250px;max-width:min(340px,70%);font-size:12px;backdrop-filter:blur(4px);box-shadow:0 6px 20px rgba(0,0,0,.35)}
.pos-overlay[hidden]{display:none}
.pos-overlay.min{min-width:0}
.po-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.po-title{font-weight:600;color:var(--text);padding:2px 4px;font-size:12px}
.po-list{display:flex;flex-direction:column;margin-top:5px;max-height:220px;overflow:auto}
.po-row{display:grid;grid-template-columns:22px 1fr auto auto;gap:8px;align-items:center;padding:4px;border-radius:5px;text-align:left;color:var(--text)}
.po-row:hover{background:var(--line)}
.po-row.cur{background:rgba(59,130,246,.12)}
.po-row .pill{padding:1px 5px;text-align:center}
.po-sym{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.po-sym small{color:var(--muted);font-size:10px}
.po-num{font-family:var(--mono);font-size:11px;text-align:right}
.po-empty,.po-more{color:var(--muted);padding:6px 4px 2px}
@media (max-width:900px){.pos-overlay{bottom:30px;min-width:200px}}
a.btn.ghost{color:var(--text)}
.tab table td{white-space:nowrap}
.acct-sel{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:6px;padding:5px 8px;font-size:12px;max-width:170px}
.acct-sel[hidden]{display:none}
.pill.paper{background:#3b2f0b;color:#fcd34d}
.acct-sel{max-width:130px}
@media (max-width:1500px){#marketTag{display:none}.top{gap:10px}}
#posScope{display:inline-flex;gap:6px;flex-wrap:wrap}
.po-head .seg-mini+.seg-mini{margin-left:4px}
.po-head .seg-mini button{padding:3px 6px;white-space:nowrap}
.po-title{white-space:nowrap}
/* SL / TP */
.lv-cell{display:flex;align-items:center;gap:6px;white-space:nowrap}
.lv-cell small{color:var(--muted)}
.lv-edit{padding:1px 6px;margin-left:auto}
.lv-edit[data-ro]{opacity:.45}
.tpsl-ed{position:fixed;right:16px;bottom:16px;z-index:60;width:360px;max-width:calc(100vw - 32px);background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:12px;box-shadow:0 10px 30px rgba(0,0,0,.45);font-size:13px}
.tpsl-ed .ed-h{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:6px}
.tpsl-ed .ed-h small{color:var(--muted)}
.tpsl-ed .ed-x{margin-left:auto;background:none;border:0;color:var(--muted);font-size:20px;line-height:1;cursor:pointer;padding:0 4px}
.tpsl-ed .ed-info{color:var(--muted);margin-bottom:8px}
.tpsl-ed .ed-row{display:flex;align-items:center;gap:6px;margin:6px 0}
.tpsl-ed .ed-row>span{width:84px;flex:none;font-size:12px}
.tpsl-ed .ed-row input{flex:1;min-width:0}
.tpsl-ed .ed-row input.ed-size{flex:0 0 48px}
.tpsl-ed .ed-warn{color:var(--warn,#f59e0b);font-size:12px;margin:6px 0}
.tpsl-ed .ed-warn:empty{display:none}
.tpsl-ed .ed-note{color:var(--muted);font-size:11px;margin:6px 0}
.tpsl-ed .ed-act{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}
@media (max-width:600px){.tpsl-ed{right:8px;left:8px;bottom:8px;width:auto;max-width:none}}

/* ---------- AI assistant ---------- */
.ai-card{padding:14px;display:flex;flex-direction:column;gap:10px}
.ai-head{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ai-head h3{margin:0;font-size:16px}
.badge{font-size:11.5px;padding:3px 8px;border-radius:999px;background:var(--line);color:var(--text);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.badge.good{background:rgba(34,197,94,.15);color:var(--green)} .badge.mid{background:rgba(245,158,11,.15);color:var(--warn)} .badge.bad{background:rgba(239,68,68,.15);color:var(--red)}
.ai-list{margin:0;padding-left:18px;font-size:13px;line-height:1.55}
.ai-list li.high{color:var(--red)} .ai-list li.medium{color:var(--warn)}
.ai-sub{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:4px 0 -4px;font-weight:600}
.ai-p{margin:0;font-size:13.5px;line-height:1.55}
.disc{font-size:11.5px;color:var(--muted);border-top:1px solid var(--line);padding-top:8px}
pre.code{max-height:360px;overflow:auto;font-size:11.5px;white-space:pre}
.kv2{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px 14px;font-size:12.5px}
.kv2 span{color:var(--muted)} .kv2 b{font-weight:600}
.brief-item{padding:12px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:6px}
.brief-item:last-child{border-bottom:0}
.brief-item .when{font-size:12px;color:var(--muted);display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.spin{display:inline-block;width:12px;height:12px;border:2px solid var(--muted);border-top-color:transparent;border-radius:50%;animation:sp 0.8s linear infinite;vertical-align:-2px;margin-right:6px}
@keyframes sp{to{transform:rotate(360deg)}}
.ai-fab{position:absolute;top:10px;right:78px;z-index:4;display:flex;gap:6px}
.ai-fab[hidden],.ai-panel[hidden],.ai-row[hidden]{display:none}
.ai-fab .btn{background:rgba(17,21,28,.92);backdrop-filter:blur(4px)}
.ai-panel{position:absolute;top:44px;right:78px;z-index:5;width:min(380px,calc(100% - 100px));max-height:calc(100% - 90px);overflow:auto;background:rgba(17,21,28,.97);border:1px solid var(--line);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;box-shadow:0 10px 30px rgba(0,0,0,.45);font-size:13px}
.ai-panel #aiBody{display:flex;flex-direction:column;gap:10px}
.ai-ph{display:flex;align-items:center;gap:8px}
.icon-x{font-size:18px;line-height:1;color:var(--muted);padding:0 4px}
.icon-x:hover{color:var(--text)}
.ai-row{display:flex;gap:6px}
.ai-row .btn{flex:1}
.ai-setup{border:1px solid var(--line);border-radius:8px;padding:8px;display:flex;flex-direction:column;gap:4px}
.ai-note{margin-top:3px;display:flex;gap:6px;align-items:center;flex-wrap:wrap;white-space:normal}
.ai-note .badge{font-size:10.5px;padding:1px 6px}
@media (max-width:600px){.ai-panel{right:8px;left:8px;width:auto}.ai-fab{right:70px}}

.ai-chat{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow:auto}
.ai-chat .msg-user{align-self:flex-end;background:rgba(59,130,246,.18);border-radius:10px 10px 2px 10px;padding:6px 10px;max-width:88%;white-space:pre-wrap}
.ai-chat .msg-assistant{align-self:flex-start;background:var(--panel2);border-radius:10px 10px 10px 2px;padding:6px 10px;max-width:92%;white-space:pre-wrap;line-height:1.5}
.ai-ask{display:flex;gap:6px}
.ai-ask input{flex:1;min-width:0}
.ai-alert-f{display:flex;flex-direction:column;gap:8px}
.ai-alert-f .row2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
button.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:0;font-size:12px}
.ai-chk{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted)}.ai-chk input{width:auto;margin:0}
/* KLineChart toolbar (chartkit.js) */
.chart-wrap.kt-on #chart{left:38px}
.chart-wrap.kt-on .chart-msg{left:50px;top:30px}
.chart-wrap.kt-on .pos-overlay{left:46px}
.kt-bar{position:absolute;left:0;top:0;bottom:0;width:38px;border-right:1px solid var(--line);background:var(--panel);display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;z-index:4;overflow-y:auto}
.kt-b{width:30px;height:30px;border-radius:6px;color:var(--muted);display:flex;align-items:center;justify-content:center;flex:none;font-size:10.5px;font-weight:700}
.kt-b:hover{background:var(--panel2);color:var(--text)}
.kt-b.on{background:rgba(59,130,246,.18);color:#93c5fd}
.kt-sep{width:22px;height:1px;background:var(--line);margin:4px 0;flex:none}
.kt-bar .grow{flex:1}
.kt-eng{border:1px solid var(--line)}
.kt-pop{position:absolute;left:44px;top:6px;z-index:6;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 12px 10px;width:230px;max-height:calc(100% - 20px);overflow:auto;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.kt-pop[hidden]{display:none}
.kt-pop label{display:flex;gap:8px;align-items:center;font-size:12.5px;padding:3px 0;cursor:pointer}
.kt-pop input{width:auto}
.kt-ph{font-weight:650;font-size:13px;margin-bottom:4px}
.kt-sub{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:8px 0 2px}
.kt-lw{position:absolute;left:8px;top:8px;z-index:4;font-size:11px;padding:3px 8px;border-radius:6px;background:rgba(17,21,28,.9);border:1px solid var(--line);color:var(--muted)}
.kt-lw:hover{color:var(--text)}
@media (max-width:600px){.chart-wrap.kt-on #chart{left:0;bottom:38px}.kt-bar{top:auto;width:auto;right:0;height:38px;flex-direction:row;padding:0 6px;border-right:0;border-top:1px solid var(--line);overflow-x:auto}.kt-sep{width:1px;height:22px;margin:0 4px}.kt-pop{left:6px;top:auto;bottom:44px}.chart-wrap.kt-on .pos-overlay{left:8px;bottom:72px}}
/* Pine scripts */
.kt-pine{font-size:9.5px;letter-spacing:.02em;color:#fbbf24}
dialog.pine-dlg{width:min(760px,96vw);max-height:90vh;overflow:auto}
dialog.pine-wide{width:min(1040px,97vw)}
.pd-head{display:flex;align-items:center;gap:8px;margin-bottom:8px}.pd-head h3{margin:0}
.icon-x{font-size:20px;line-height:1;color:var(--muted);padding:2px 8px;border-radius:6px}.icon-x:hover{background:var(--panel2);color:var(--text)}
.pd-list{display:flex;flex-direction:column;gap:6px;margin-top:10px}
.pd-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:9px;padding:9px 11px;background:var(--panel2)}
.pd-vis input{width:auto}.pd-main{flex:1;min-width:0}.pd-main b{font-size:13.5px}
.pd-st{font-size:11.5px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-acts{display:flex;gap:4px;flex-wrap:wrap}
.warnc{color:var(--warn)}.accent{color:#93c5fd}
.pe-wrap{display:flex;border:1px solid var(--line);border-radius:8px;background:#0b0e13;height:min(58vh,560px);margin-top:10px;overflow:hidden}
.pe-gut{margin:0;padding:10px 8px;color:#475569;font:12.5px/1.5 var(--mono);text-align:right;user-select:none;overflow:hidden;min-width:42px;background:#0d1117;border-right:1px solid var(--line);max-height:none;border-radius:0;border:0}
.pe-gut b{font-weight:700}
#peCode{flex:1;border:0;border-radius:0;background:transparent;resize:none;font:12.5px/1.5 var(--mono);padding:10px;white-space:pre;overflow:auto;tab-size:4;color:#d6deeb}
.pe-msg{font-size:12.5px;margin-top:8px;min-height:18px}.pe-msg code{font-family:var(--mono);font-size:11.5px;background:var(--bg);padding:1px 5px;border-radius:4px}
.pe-warn{margin:6px 0 0;padding-left:18px;color:var(--warn);font-size:12px}
.pi-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px;margin:8px 0}
.pi-group{grid-column:1/-1;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin-top:6px;border-bottom:1px solid var(--line);padding-bottom:3px}
.pi-grid .chk{display:flex;gap:8px;align-items:center;font-size:13px;align-self:end;padding-bottom:8px}.pi-grid .chk input{width:auto}
.pa-list{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.pa-row{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:9px;padding:8px 10px;font-size:12.5px}.pa-row.on{border-color:var(--accent)}.pa-row>div:first-child{flex:1}
.pa-sub{margin:12px 0 6px;font-size:13px}
.pa-grid{display:grid;grid-template-columns:1fr 1fr 110px;gap:10px}.pa-wide{grid-column:1/-1}
.pa-mode{display:flex;flex-direction:column;gap:6px;margin:10px 0}.pa-mode .radio{display:flex;gap:8px;align-items:flex-start;font-size:12.5px}.pa-mode input{width:auto;margin-top:3px}
.pa-map{display:grid;grid-template-columns:1fr 1fr;gap:8px 12px;margin-bottom:8px}.pa-map .chk{grid-column:1/-1;display:flex;gap:8px;align-items:center;font-size:12.5px}.pa-map .chk input,#paOn{width:auto}
label.chk{display:inline-flex;gap:8px;align-items:center;font-size:12.5px}
.small{font-size:11.5px}
.pt-head{display:flex;gap:12px;align-items:center;padding:8px 12px;flex-wrap:wrap}.pt-head select{width:auto;padding:4px 8px}
.pt-start{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--muted,#7d8898);white-space:nowrap}.pt-start input{width:auto;padding:3px 6px;font-size:12px;color-scheme:dark}.pt-start .icon-x{font-size:15px;padding:0 4px}
.pt-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:8px;padding:0 12px}
.pt-tile{background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:7px 10px}.pt-tile .k{font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.pt-tile .v{font:600 15px var(--mono);margin-top:2px}.pt-tile .s{font-size:11px;color:var(--muted)}
.pt-eq{display:block;width:calc(100% - 24px);margin:8px 12px;height:90px;background:var(--panel2);border:1px solid var(--line);border-radius:8px}
.pt-tbl td,.pt-tbl th{padding:4px 10px;font-size:12px}
@media (max-width:700px){.pa-grid,.pa-map{grid-template-columns:1fr}}
.pd-help{margin:6px 0 2px}.pd-help summary{cursor:pointer;font-size:12.5px;color:var(--accent)}.pd-help code{font-family:var(--mono);font-size:11px}
/* ---------- Pine hub (v27) ---------- */
dialog.pine-hub{width:min(980px,96vw);padding:0;overflow:hidden;flex-direction:column}
dialog.pine-hub[open]{display:flex}
.ph-head{display:flex;align-items:center;gap:12px;padding:16px 18px 12px;background:linear-gradient(180deg,rgba(59,130,246,.10),transparent)}
.ph-head h3{margin:0;font-size:16px;letter-spacing:.01em}
.ph-logo{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-weight:700;font-size:12px;letter-spacing:.02em;color:#fff;background:linear-gradient(135deg,#3b82f6,#8b5cf6);box-shadow:0 4px 14px rgba(59,130,246,.35)}
.ph-tabs{display:flex;gap:2px;padding:0 18px;border-bottom:1px solid var(--line)}
.ph-tab{padding:9px 12px;font-size:13px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:7px}
.ph-tab:hover{color:var(--text)}
.ph-tab.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}
.ph-tab span{font-size:11px;background:var(--panel2);border:1px solid var(--line);border-radius:99px;padding:0 7px;color:var(--muted);font-weight:500}
.ph-body{padding:14px 18px 18px;overflow:auto;max-height:calc(90vh - 130px)}
.ph-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:12px}
.ph-card{position:relative;display:flex;flex-direction:column;gap:6px;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:12px 12px 10px;transition:border-color .15s,transform .15s,opacity .15s}
.ph-card:hover{border-color:#334155}
.ph-card::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:0 3px 3px 0;background:#3b82f6}
.ph-card.strategy::before{background:#a855f7}
.ph-card.off{opacity:.62}
.ph-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.ph-badge{font-size:10.5px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;padding:2px 7px;border-radius:5px}
.ph-badge.in{background:rgba(59,130,246,.14);color:#93c5fd}.ph-badge.st{background:rgba(168,85,247,.15);color:#d8b4fe}
.ph-lib{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#fbbf24}.ph-lib.mine{color:var(--muted)}
.ph-cat{font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:0 7px}
.ph-name{font-weight:600;font-size:14px;line-height:1.3;word-break:break-word}
.ph-desc{font-size:12.5px;color:#b6c0cf;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.ph-meta,.ph-st{font-size:11.5px;color:var(--muted)}
.ph-acts{display:flex;align-items:center;gap:4px;margin-top:auto;padding-top:6px;border-top:1px solid var(--line)}
.ph-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:#c3cbd8;padding:5px 8px;border-radius:6px}
.ph-btn:hover{background:rgba(255,255,255,.06);color:var(--text)}.ph-btn.icon{padding:5px 6px;color:var(--muted)}.ph-btn.icon:hover{color:var(--red)}
.ph-added{font-size:12px;color:var(--green);font-weight:500}
.ph-switch{margin-left:auto;position:relative;width:32px;height:18px;flex:none;cursor:pointer}
.ph-switch input{position:absolute;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.ph-switch span{position:absolute;inset:0;border-radius:99px;background:#334155;transition:background .15s;pointer-events:none}
.ph-switch span::after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#fff;transition:transform .15s}
.ph-switch input:checked+span{background:var(--accent)}.ph-switch input:checked+span::after{transform:translateX(14px)}
.ph-switch input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.ph-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.ph-search{max-width:280px}
.ph-chips{display:flex;gap:6px;flex-wrap:wrap}
.ph-chip{font-size:12px;padding:4px 10px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}.ph-chip.on{background:var(--accent);border-color:var(--accent);color:#fff}
.ph-empty{text-align:center;padding:34px 12px 26px;color:var(--muted)}
.ph-empty h4{margin:10px 0 4px;color:var(--text);font-size:15px}.ph-empty p{margin:0 0 14px}
.ph-empty-ic{width:52px;height:52px;margin:0 auto;border-radius:14px;display:grid;place-items:center;background:var(--panel2);border:1px solid var(--line);color:var(--accent)}
.ph-empty-ic svg{width:22px;height:22px}
.ph-empty-acts{display:flex;gap:8px;justify-content:center}
.ph-tbl{width:100%;border-collapse:collapse;font-size:12.5px}.ph-tbl th{text-align:left;color:var(--muted);font-weight:500;padding:6px 8px;border-bottom:1px solid var(--line)}
.ph-tbl td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle}.ph-row-acts{text-align:right;white-space:nowrap}
.ph-notes{white-space:pre-wrap;font-size:12.5px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:8px 0}
.ph-body .pd-help{margin-top:14px}
/* settings dialog */
dialog.pine-set{width:min(520px,96vw)}
.ps-tabs{padding:0;margin:0 0 10px}
.ps-body{min-height:220px;max-height:60vh;overflow:auto;padding-right:2px}
.ps-row{display:grid;grid-template-columns:44% 1fr;align-items:center;gap:10px;padding:6px 0;font-size:13px}
.ps-row>span:first-child{color:#c3cbd8}
.ps-row.chk{display:flex;gap:8px;cursor:pointer}.ps-row.chk input{width:auto}
.ps-pair{display:flex;gap:6px;align-items:center}.ps-pair input{flex:1;min-width:0}.ps-pair select{width:auto;flex:none}.ps-pair em{font-style:normal;color:var(--muted);font-size:12px;white-space:nowrap}
.ps-group{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:10px 0 2px;padding-top:8px;border-top:1px solid var(--line)}
.ps-tip{display:inline-grid;place-items:center;width:15px;height:15px;border-radius:50%;border:1px solid var(--line);font-size:10px;color:var(--muted);cursor:help}
.ps-color{display:flex;gap:6px}.ps-color input[type=color]{width:38px;padding:2px;flex:none;height:32px}
.ps-pane input[type=date]{color-scheme:dark}
dialog.pine-set .dlg-actions{display:flex;gap:8px;align-items:center}
/* library editor */
.pl-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pl-wide{grid-column:1/-1}
.pl-code-head{display:flex;align-items:center;gap:8px;margin:10px 0 6px}.pl-code-head select{width:auto;max-width:260px}
.pl-src{width:100%;min-height:220px;font-family:var(--mono);font-size:12px;line-height:1.5;white-space:pre;tab-size:4}
.pl-users{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:120px;overflow:auto;margin-top:6px;padding:8px;border:1px solid var(--line);border-radius:8px}
.pl-users .chk input{width:auto}
@media (max-width:640px){.pl-grid{grid-template-columns:1fr}.ps-row{grid-template-columns:1fr}.ph-head{padding:12px}.ph-body{padding:12px}.ph-tabs{padding:0 12px;overflow-x:auto}}
.pl-box{display:flex;flex-direction:column;gap:6px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-top:10px}
.pl-lbl{font-size:12px;color:var(--muted)}
.pl-opt{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:13px}.pl-opt input{width:auto;margin:0;flex:none}
.pl-box .fld{margin-top:4px}
.pl-users{background:var(--panel)}
.ph-lib.pubc{color:#34d399}.ph-lib.hid{color:var(--red)}
.ph-code{display:inline-flex;align-items:center;gap:4px;font-size:11px;color:#fbbf24;margin-left:auto}.ph-code.open{color:#34d399}
.ph-byline{font-size:12px;margin-top:-2px}.ph-by{color:#93c5fd}.ph-by.off{color:#fbbf24}
.ph-added.mine{color:var(--muted)}
.ph-seg{display:inline-flex;background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:2px}
.ph-seg button{font-size:12.5px;padding:5px 11px;border-radius:7px;color:var(--muted);display:inline-flex;gap:6px;align-items:center}
.ph-seg button span{font-size:10.5px;opacity:.75}.ph-seg button.on{background:var(--accent);color:#fff}
.ph-tools+.ph-chips{margin:-4px 0 12px}
.ph-foot{margin-top:14px}.ph-foot a{color:var(--accent)}
.sh-opts{display:grid;gap:8px;margin:4px 0 12px}.sh-opts.two{grid-template-columns:1fr 1fr}
.sh-opt{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--line);border-radius:10px;padding:10px 12px;cursor:pointer;background:var(--panel2)}
.sh-opt input{width:auto;margin-top:3px;flex:none}.sh-opt b{display:inline-flex;gap:6px;align-items:center;font-size:13px}.sh-opt em{display:block;font-style:normal;color:var(--muted);font-size:12px;margin-top:2px}
.sh-opt:has(input:checked){border-color:var(--accent);background:rgba(59,130,246,.08)}
#shPub .fld{margin-bottom:8px}
.pc-view{max-height:60vh;overflow:auto;margin:0}
@media (max-width:640px){.sh-opts.two{grid-template-columns:1fr}}
/* ---------- layout controls (v29) ---------- */
@media (min-width:901px){
.layout.hide-mk{--mkw:0px!important}.layout.hide-mk .markets{display:none}
.layout.hide-panel{--pw:0px!important}.layout.hide-panel .panel{display:none}
.layout.hide-bottom{--bh:37px!important}.layout.hide-bottom .bottom>.tab{display:none}.layout.hide-bottom .bottom .btabs{border-bottom:0}
.layout.hide-panel .chart-wrap,.layout.hide-panel .bottom{border-right:0}
}
.lay-btns{display:inline-flex;gap:1px;background:var(--panel2);border:1px solid var(--line);border-radius:8px;padding:2px;margin-right:4px}
.lay-btn{padding:4px 6px;border-radius:6px;color:var(--muted);display:grid;place-items:center}
.lay-btn:hover{color:var(--text);background:rgba(255,255,255,.05)}
.lay-btn .lay-fill{opacity:.25;transition:opacity .15s}.lay-btn.on{color:var(--text)}.lay-btn.on .lay-fill{opacity:.9}
.lay-btn[data-lay=focus].on{color:#fff;background:var(--accent)}
.lay-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}
.markets,.panel,.bottom{position:relative}
.rz{position:absolute;z-index:6;touch-action:none}.rz:hover,body.rz-on .rz{background:rgba(59,130,246,.35)}
.rz-mk{top:0;right:-3px;width:6px;height:100%;cursor:col-resize}
.rz-panel{top:0;left:-3px;width:6px;height:100%;cursor:col-resize}
.rz-bottom{left:0;top:-3px;height:6px;width:100%;cursor:row-resize}
body.rz-on{user-select:none;cursor:grabbing}body.rz-on #chart{pointer-events:none}
@media (max-width:900px){.rz{display:none}.lay-btns{display:none}}
/* ---------- alert log (v29) ---------- */
.al-bell{position:relative}
.al-dot{position:absolute;top:1px;right:0;min-width:15px;height:15px;padding:0 3px;border-radius:99px;background:var(--red);color:#fff;font-size:9.5px;font-weight:700;line-height:15px;text-align:center}
.al-count{background:var(--red)!important;color:#fff!important}
.al-tab{overflow:auto}
.al-bar{position:sticky;top:0;z-index:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;background:var(--panel);border-bottom:1px solid var(--line)}
.al-chips{display:flex;gap:4px;flex-wrap:wrap}
.al-chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;padding:3px 9px;border-radius:99px;border:1px solid var(--line);color:var(--muted)}
.al-chip i{width:7px;height:7px;border-radius:50%}.al-chip span{opacity:.7;font-size:10.5px}
.al-chip.on{background:var(--panel2);color:var(--text);border-color:#3b4658}
.al-q{width:200px;padding:4px 8px;font-size:12px}
.al-unread{display:inline-flex;gap:5px;align-items:center;font-size:12px;color:var(--muted);white-space:nowrap;cursor:pointer}.al-unread input{width:auto}
.al-tbl{width:100%;border-collapse:collapse;font-size:12px}
.al-tbl th{text-align:left;font-weight:500;color:var(--muted);padding:5px 10px;border-bottom:1px solid var(--line);position:sticky;top:37px;background:var(--panel)}
.al-tbl td{padding:6px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.al-tbl tr.new td{background:rgba(59,130,246,.07)}.al-tbl tr.new td:first-child{box-shadow:inset 2px 0 var(--accent)}
.al-t{white-space:nowrap;color:var(--muted);font-family:var(--mono);font-size:11px}
.al-src{display:inline-block;white-space:nowrap;font-size:10.5px;font-weight:600;padding:2px 7px;border-radius:5px;color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent)}
.al-msg b{font-weight:500}.al-msg div{color:var(--muted);margin-top:2px;white-space:normal}
.lv-error .al-msg b{color:#fca5a5}.lv-warn .al-msg b{color:#fcd34d}.lv-ok .al-msg b{color:var(--text)}
.al-sym{color:var(--accent);font-family:var(--mono);font-size:12px;padding:0}.al-sym:hover{text-decoration:underline}
.al-res{color:var(--muted);max-width:260px}.lv-error .al-res{color:#fca5a5}
.al-more{padding:6px 10px}
.btabs{overflow-x:auto;scrollbar-width:none}.btabs::-webkit-scrollbar{display:none}
.btabs>button,.btabs>div{flex-shrink:0;white-space:nowrap}
.al-tbl th{position:static}
/* ---------- saved charts (v30) ---------- */
.ch-btn{display:inline-flex;align-items:center;gap:6px;max-width:190px;padding:5px 10px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--text);font-size:12.5px;margin-right:4px}
.ch-btn span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ch-btn:hover{border-color:#3b4658}
.ch-live{width:7px;height:7px;border-radius:50%;background:var(--green);flex:none}
dialog.ch-dlg{width:min(760px,96vw)}
.ch-now{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:12px}
.ch-list{display:flex;flex-direction:column;gap:8px;max-height:58vh;overflow:auto}
.ch-row{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:10px 12px}
.ch-row.on{border-color:var(--accent)}
.ch-name{font-weight:600}.ch-tag{font-size:10.5px;font-weight:500;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:0 7px;margin-left:4px}.ch-tag.sh{color:var(--green);border-color:rgba(34,197,94,.35)}
.ch-acts{display:flex;gap:2px;align-items:center}
.ch-share{grid-column:1/-1;display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
.ch-share .pl-opt{font-size:12.5px}
.ch-link{display:flex;gap:6px}.ch-link input{font-family:var(--mono);font-size:12px}
@media (max-width:900px){.ch-btn span{display:none}}
@media (max-width:600px){.ch-row{grid-template-columns:1fr}}
.ch-link .btn{white-space:nowrap;text-decoration:none;display:inline-flex;align-items:center}
/* ---------- strategy optimizer ---------- */
dialog.opt-dlg{width:min(980px,97vw);max-height:92vh;overflow:auto}
.op-intro{margin:2px 0 10px}
.op-params{display:flex;flex-direction:column;gap:4px;border:1px solid var(--line);border-radius:10px;padding:6px;background:var(--panel)}
.op-row{display:grid;grid-template-columns:minmax(160px,34%) 1fr;gap:10px;align-items:center;padding:6px 8px;border-radius:8px;opacity:.6}
.op-row.on{opacity:1;background:var(--panel2)}
.op-name{display:flex;gap:8px;align-items:center;cursor:pointer}.op-name input{width:auto}
.op-name span{display:flex;flex-direction:column}.op-name small{color:var(--muted);font-size:11px}
.op-rng{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.op-rng input{width:84px;padding:5px 7px}
.op-rng i{font-style:normal;color:var(--muted);font-size:12px}.op-rng em{font-style:normal;color:var(--muted);font-size:12px;margin-left:4px}
.op-picks{display:flex;gap:10px;flex-wrap:wrap}.op-picks label{display:flex;gap:5px;align-items:center;font-size:12px;cursor:pointer}.op-picks input{width:auto}
.op-cfg{display:flex;gap:14px;flex-wrap:wrap;margin:12px 0 8px}
.op-cfg>label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--muted);min-width:170px}
.op-cfg .ps-pair{display:flex;gap:6px;align-items:center}.op-cfg .ps-pair input{width:80px}.op-cfg em{font-style:normal}
.op-bar{display:flex;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-bottom:10px;flex-wrap:wrap}
.op-prog{width:180px;height:6px;background:var(--panel2);border-radius:4px;overflow:hidden}.op-prog div{height:100%;background:var(--accent);transition:width .2s}
.op-sum{font-size:12px;color:var(--muted);margin-bottom:10px}.op-sum b{color:var(--text)}
.op-heat-wrap{overflow:auto;margin-bottom:12px}.op-heat-t{font-size:12px;font-weight:600;margin-bottom:6px}
.op-heat{border-collapse:separate;border-spacing:2px;font-size:11px}
.op-heat th{color:var(--muted);font-weight:500;padding:3px 6px;text-align:center;white-space:nowrap}
.op-heat tr th:first-child{text-align:right}
.op-heat td{min-width:44px;padding:6px 4px;text-align:center;border-radius:4px;cursor:pointer;font-variant-numeric:tabular-nums;color:#fff}
.op-heat td:hover{outline:1px solid var(--text)}.op-heat td.cur{outline:2px solid var(--accent)}
.op-tbl-wrap{overflow:auto;max-height:360px;border:1px solid var(--line);border-radius:8px}
.op-tbl{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.op-tbl th{position:sticky;top:0;background:var(--panel2);color:var(--muted);font-weight:500;text-align:left;padding:6px 8px;white-space:nowrap}
.op-tbl td{padding:5px 8px;border-top:1px solid var(--line);white-space:nowrap}
.op-tbl tr.cur td{background:rgba(59,130,246,.1)}.op-tbl tr.off td{opacity:.5}
.op-tbl .oos{background:rgba(245,158,11,.06)}
@media (max-width:700px){.op-row{grid-template-columns:1fr}.op-rng input{width:70px}}
/* ---------- bar replay ---------- */
.rp-bar{position:absolute;left:12px;right:12px;margin:0 auto;width:fit-content;bottom:40px;z-index:30;display:flex;align-items:center;gap:8px;flex-wrap:wrap;max-width:calc(100% - 24px);padding:7px 10px;background:rgba(17,21,28,.96);border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 28px rgba(0,0,0,.45);font-size:12px}
.rp-bar input[type=datetime-local]{width:auto;padding:5px 7px}
.rp-bar select{width:auto;padding:4px 6px}
.rp-tag{background:var(--warn);color:#111;border-radius:6px;padding:2px 7px;font-size:11px;letter-spacing:.04em;text-transform:uppercase}
.rp-b{background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:7px;min-width:32px;height:28px;padding:0 8px;cursor:pointer;font-size:13px}
.rp-b:hover:not(:disabled){border-color:var(--muted)}.rp-b:disabled{opacity:.4;cursor:default}
.rp-play{background:var(--accent);border-color:var(--accent);color:#fff;min-width:38px}
.rp-time{display:flex;flex-direction:column;line-height:1.2;min-width:150px}
.rp-sep{width:1px;height:22px;background:var(--line)}
.rp-size{display:flex;align-items:center;gap:5px;color:var(--muted)}.rp-size input{width:84px;padding:4px 6px}.rp-size em{font-style:normal}
.rp-buy{background:var(--green-d);color:#fff;border:0}.rp-sell{background:var(--red-d);color:#fff;border:0}
.rp-pos{font-weight:600}
.rp-stats{white-space:nowrap}
body.replaying .panel{position:relative}
body.replaying .panel>*{opacity:.35;pointer-events:none}
body.replaying .panel::after{content:"Bar replay is on — real orders are paused. Practise with Buy / Sell on the replay bar, or exit the replay.";position:absolute;top:60px;left:12px;right:12px;padding:12px;border-radius:10px;background:var(--panel2);border:1px solid var(--warn);color:var(--text);font-size:12px;text-align:center;z-index:5}
body.replaying #lastPrice::after{content:" · replay";color:var(--warn);font-size:11px;font-weight:500}
.kt-rp.on{color:var(--warn)}
@media (max-width:900px){.rp-bar{bottom:34px;gap:6px}.rp-time{min-width:0}.rp-hint{display:none}}
/* ---------- multi-chart grid ---------- */
.chart-wrap.mc-2 #chart{right:50%}
.chart-wrap.mc-2v #chart{bottom:50%}
.chart-wrap.mc-4 #chart{right:50%;bottom:50%}
.mc-grid{position:absolute;z-index:3;display:grid;gap:1px;background:var(--line)}
.chart-wrap.mc-2 .mc-grid{left:50%;right:0;top:0;bottom:0;grid-template-rows:1fr}
.chart-wrap.mc-2v .mc-grid{left:38px;right:0;top:50%;bottom:0;grid-template-columns:1fr}
.chart-wrap.mc-4 .mc-grid{left:38px;right:0;top:0;bottom:0;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;background:transparent;pointer-events:none}
.chart-wrap.mc-4 .mc-cell:nth-child(1){grid-column:2;grid-row:1}.chart-wrap.mc-4 .mc-cell:nth-child(2){grid-column:1;grid-row:2}.chart-wrap.mc-4 .mc-cell:nth-child(3){grid-column:2;grid-row:2}
.mc-cell{position:relative;background:var(--bg);min-width:0;min-height:0;display:flex;flex-direction:column;border-left:1px solid var(--line);border-top:1px solid var(--line);pointer-events:auto}
.mc-head{display:flex;align-items:center;gap:6px;padding:3px 6px;background:var(--panel);border-bottom:1px solid var(--line);font-size:12px;min-height:26px;flex-wrap:nowrap;overflow:hidden}
.mc-sym{width:110px;padding:2px 6px;font-size:12px;font-weight:600}
.mc-ivs{display:flex;gap:1px}.mc-iv{background:none;border:0;color:var(--muted);font-size:11px;padding:2px 5px;border-radius:4px;cursor:pointer}.mc-iv.on{background:var(--panel2);color:var(--text)}
.mc-px{font-variant-numeric:tabular-nums;font-weight:600}
.mc-b{background:none;border:1px solid var(--line);color:var(--muted);border-radius:5px;padding:0 6px;cursor:pointer}.mc-b:hover{color:var(--text)}
.mc-chart{position:relative;flex:1;min-height:0}
.mc-msg{position:absolute;left:10px;top:34px;color:var(--muted);font-size:12px;pointer-events:none}
.lay-btn.mc-btn.on{color:var(--accent)}
.mc-menu{position:fixed;z-index:60;width:260px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;box-shadow:0 10px 30px rgba(0,0,0,.45);font-size:12.5px}
.mc-mh{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin:4px 0 6px}
.mc-lays{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.mc-lays button{display:flex;align-items:center;gap:6px;background:var(--panel);border:1px solid var(--line);color:var(--text);border-radius:7px;padding:6px;font-size:11.5px;cursor:pointer;text-align:left}
.mc-lays button.on{border-color:var(--accent);color:var(--accent)}
.mc-opt{display:flex;gap:6px;align-items:center;padding:3px 0;cursor:pointer}.mc-opt input{width:auto}
@media (max-width:900px){.chart-wrap.mc-2 #chart,.chart-wrap.mc-4 #chart{right:0}.chart-wrap.mc-2 .mc-grid,.chart-wrap.mc-4 .mc-grid{display:none}}
@media (min-width:901px){.chart-wrap.mc-2 .ai-fab,.chart-wrap.mc-4 .ai-fab,.chart-wrap.mc-2 .ai-panel,.chart-wrap.mc-4 .ai-panel{right:calc(50% + 70px)}
.chart-wrap.mc-2 .ai-panel,.chart-wrap.mc-4 .ai-panel{z-index:6}
.chart-wrap.mc-2v .pos-overlay,.chart-wrap.mc-4 .pos-overlay{bottom:calc(50% + 30px)}}
.op-ai{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin:0 0 10px}
.op-aicard{border:1px solid rgba(167,139,250,.45);background:rgba(167,139,250,.07);border-radius:10px;padding:10px 12px;margin:0 0 10px;font-size:12.5px}
.op-aicard p{margin:6px 0}.op-aih{display:flex;align-items:center;gap:8px}
.op-ail{margin:6px 0;padding-left:18px}.op-ail li{margin:2px 0}
.op-verdict{text-transform:uppercase;font-size:10.5px;font-weight:700;letter-spacing:.05em;border:1px solid currentColor;border-radius:5px;padding:0 6px}
.op-revbar{display:flex;justify-content:flex-end;margin-bottom:8px}
/* ---------- screener ---------- */
.scr-btn{margin-left:auto;font-size:11.5px;color:var(--accent);background:none;border:0;cursor:pointer;padding:4px 6px;border-radius:6px}.scr-btn:hover{background:var(--panel2)}
dialog.scr-dlg{width:min(1100px,97vw);max-height:92vh;overflow:auto}
.scr-tools{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin:4px 0 8px;font-size:12px;color:var(--muted)}
.scr-tools label{display:flex;flex-direction:column;gap:3px}.scr-tools select,.scr-tools input{width:auto;padding:5px 7px}.scr-tools #scrQ{width:150px}
.scr-tools .ps-pair{display:flex;gap:4px;align-items:center}.scr-tools .ps-pair input{width:70px}.scr-tools em{font-style:normal}
.scr-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.scr-chips span{opacity:.6;margin-left:2px}
.scr-wrap{overflow:auto;max-height:62vh;border:1px solid var(--line);border-radius:8px}
.scr-tbl{width:100%;border-collapse:collapse;font-size:12px;font-variant-numeric:tabular-nums}
.scr-tbl th{position:sticky;top:0;background:var(--panel2);color:var(--muted);font-weight:500;text-align:left;padding:6px 8px;cursor:pointer;white-space:nowrap;user-select:none}.scr-tbl th.on{color:var(--text)}
.scr-tbl td{padding:5px 8px;border-top:1px solid var(--line);white-space:nowrap}
.scr-tbl tr[data-sym]{cursor:pointer}.scr-tbl tr[data-sym]:hover td{background:rgba(59,130,246,.07)}.scr-tbl tr.cur td{background:rgba(59,130,246,.12)}
.scr-os{color:var(--green);font-weight:600}.scr-ob{color:var(--red);font-weight:600}.scr-spk{color:var(--warn);font-weight:600}
.scr-tr.up{color:var(--green)}.scr-tr.down{color:var(--red)}.scr-tr.flat{color:var(--muted)}
/* ---------- forward tests ---------- */
dialog.fw-dlg{width:min(900px,96vw);max-height:92vh;overflow:auto}
.fw-new{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 12px;border:1px dashed var(--accent);border-radius:10px;margin-bottom:12px;background:rgba(59,130,246,.06)}
.fw-card{border:1px solid var(--line);border-radius:10px;padding:10px 12px;margin-bottom:10px;background:var(--panel)}.fw-card.stopped{opacity:.75}
.fw-top{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.fw-st{font-size:11px}.fw-st.running{color:var(--green)}.fw-st.stopped{color:var(--muted)}
.fw-ntf{display:flex;gap:4px;align-items:center;font-size:12px;color:var(--muted);cursor:pointer}.fw-ntf input{width:auto}
.fw-body{display:grid;grid-template-columns:1fr 260px;gap:14px;margin:8px 0}.fw-eq{width:100%;height:60px;display:block;margin:6px 0}
.fw-cmp{font-size:12px;border-collapse:collapse;width:100%;font-variant-numeric:tabular-nums}.fw-cmp th{text-align:left;color:var(--muted);font-weight:500;padding:3px 6px}.fw-cmp td{padding:3px 6px;border-top:1px solid var(--line)}
@media (max-width:700px){.fw-body{grid-template-columns:1fr}}
/* library ratings, comments, author pages */
.stars{color:#fbbf24;letter-spacing:-1px;white-space:nowrap}.stars i{font-style:normal;color:#3b4453}.stars i.f{color:#fbbf24}.stars i.h{background:linear-gradient(90deg,#fbbf24 50%,#3b4453 50%);-webkit-background-clip:text;background-clip:text;color:transparent}
.stars.lg{font-size:18px}
.ph-name a{color:inherit;text-decoration:none}.ph-name a:hover{text-decoration:underline}
.ph-by a{color:inherit;text-decoration:none}.ph-by a:hover,.ph-byline a:hover{text-decoration:underline}.ph-byline a{color:#93c5fd;text-decoration:none}
.ph-social{display:flex;gap:10px;align-items:center;font-size:12px}
.ph-rate,.ph-cm{display:inline-flex;gap:5px;align-items:center;color:var(--muted);font-size:12px;background:none;border:0;padding:0;cursor:pointer}.ph-rate:hover span,.ph-cm:hover{color:var(--text)}
.ph-sort{width:auto;padding:6px 8px;font-size:12.5px}
.linkish{background:none;border:0;color:var(--accent);cursor:pointer;padding:0 2px}
.pdt-top{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;margin:4px 0 10px}
.pdt-top p{margin:8px 0}.pdt-r{display:flex;flex-direction:column;gap:10px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px}
.pdt-score{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.pdt-score b{font-size:24px;font-family:var(--mono)}
.pdt-mine{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.pdt-stars{display:inline-flex}.pdt-stars button{font-size:22px;line-height:1;color:#3b4453;background:none;border:0;cursor:pointer;padding:0 1px}.pdt-stars button.on{color:#fbbf24}
.pdt-stars:hover button{color:#fbbf24}.pdt-stars button:hover~button{color:#3b4453}
.pdt-acts{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.pc-title{margin:14px 0 8px;font-size:14px}
.pc-form{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.pc-form textarea{resize:vertical;min-height:52px}
.pc-fa{display:flex;align-items:center;gap:8px;margin-top:4px}
.pc-list{display:flex;flex-direction:column;gap:8px;max-height:46vh;overflow:auto}
.pc-c{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:8px 10px}.pc-c.del{opacity:.6}
.pc-h{display:flex;align-items:center;gap:8px;font-size:12.5px}.pc-t{font-size:13px;margin-top:4px;overflow-wrap:anywhere}
.pc-auth{font-size:10.5px;padding:0 6px;border-radius:8px;background:rgba(59,130,246,.18);color:#93c5fd}
.pc-kids{margin:-2px 0 0 22px;display:flex;flex-direction:column;gap:6px;border-left:2px solid var(--line);padding-left:10px}
.pa-av{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#3b82f6,#a855f7);display:grid;place-items:center;font-weight:700;color:#fff;margin-right:10px}
.pa-bio{margin:6px 0 12px}.pa-bio p{margin:0 0 6px}.pa-bio textarea{width:100%}
.pa-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.pa-stats div{background:var(--panel2);border:1px solid var(--line);border-radius:9px;padding:8px 10px;display:flex;flex-direction:column}
.pa-stats b{font-size:18px;font-family:var(--mono)}.pa-stats span{font-size:11px;color:var(--muted)}
@media (max-width:640px){.pdt-top{grid-template-columns:1fr}.pa-stats{grid-template-columns:repeat(2,1fr)}}
/* two-factor sign-in */
dialog.tfa-dlg{width:min(460px,96vw)}
.tfa-state{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel2);margin-bottom:10px;font-size:13px}
.tfa-state b{font-size:12px;padding:2px 9px;border-radius:9px}.tfa-state.on b{background:rgba(34,197,94,.18);color:#86efac}.tfa-state.off b{background:rgba(148,163,184,.18);color:var(--muted)}
.tfa-state span{color:var(--muted)}
.tfa-steps{margin:6px 0;padding-left:20px;font-size:13px}
.tfa-qr{display:flex;justify-content:center;margin:8px 0}.tfa-qr svg{width:190px;height:190px;background:#fff;border-radius:8px;padding:6px}
.tfa-key{font-family:var(--mono);font-size:13px;letter-spacing:.04em;user-select:all}
.tfa-form{display:flex;flex-direction:column;gap:10px;margin:8px 0}
.tfa-codes{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:12px;margin:6px 0 8px}
.tfa-codes code{font-family:var(--mono);font-size:14px;text-align:center;letter-spacing:.05em}
.tfa-row{display:flex;gap:6px}
.danger-t{color:var(--red)!important}
.btn.danger{background:var(--red);color:#fff;border-color:transparent}
/* timeframe menu */
.ivs{position:relative}
.ivs .iv-more{padding:5px 6px}
.iv-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:60;min-width:190px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.45);padding:4px}
.iv-row{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 6px 10px;border-radius:7px;cursor:pointer;font-size:12.5px;color:var(--text)}
.iv-row:hover{background:var(--panel2)}.iv-row.on{color:var(--accent);font-weight:600}
.iv-star{background:none;border:0;color:var(--muted);font-size:14px;cursor:pointer;padding:0 2px}.iv-star.on{color:#fbbf24}
.mc-ivsel{background:none;border:0;color:var(--muted);font-size:11px;padding:0 2px;width:auto;min-width:0}
.kt-opt{display:block;width:100%;text-align:left;background:none;border:0;color:var(--text);font-size:12.5px;padding:5px 8px;border-radius:6px;cursor:pointer}
.kt-opt:hover{background:var(--panel2)}.kt-opt.on{color:var(--accent);font-weight:600;background:rgba(59,130,246,.1)}
.kt-tpop{width:200px}.kt-note{font-size:11px;color:var(--muted);margin:8px 2px 0;line-height:1.35}
.ivs .iv-star{background:none;border:0;color:var(--muted);font-size:14px;padding:0 4px;min-width:0}.ivs .iv-star.on{color:#fbbf24;background:none}.ivs .iv-star:hover{color:#fbbf24;background:none}
.ivs .iv-menu{font-family:inherit}
/* drawings list */
.kt-lpop{width:290px}
.kt-dr{display:flex;align-items:center;gap:2px;padding:3px 2px;border-radius:7px}.kt-dr:hover{background:var(--panel2)}
.kt-dr.off .kt-drn{opacity:.5}
.kt-drn{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;background:none;border:0;color:var(--text);cursor:pointer;padding:3px 4px}
.kt-drn b{font-size:12.5px;font-weight:600}.kt-drn span{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.kt-dri{background:none;border:0;color:var(--muted);cursor:pointer;padding:3px;border-radius:5px;display:grid;place-items:center}.kt-dri:hover{color:var(--text);background:var(--panel)}.kt-dri.on{color:var(--text)}
.kt-b:disabled{opacity:.35;cursor:default}
/* chart trading */
.cx-menu{position:fixed;z-index:80;min-width:220px;background:var(--panel);border:1px solid var(--line);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.5);padding:5px}
.cx-menu .cx-h{font-family:var(--mono);font-size:12px;padding:5px 9px 6px;border-bottom:1px solid var(--line);margin-bottom:4px}
.cx-menu button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--text);font-size:12.5px;padding:6px 9px;border-radius:6px;cursor:pointer}
.cx-menu button:hover{background:var(--panel2)}.cx-menu button.down{color:#fca5a5}.cx-menu button.up{color:#86efac}
.cx-menu .cx-note{font-size:10.5px;color:var(--muted);padding:5px 9px 3px;border-top:1px solid var(--line);margin-top:4px}
.kt-poschip{position:absolute;top:44px;left:50%;transform:translateX(-50%);z-index:7;display:flex;align-items:center;gap:10px;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:5px 6px 5px 12px;font-size:12.5px;box-shadow:0 8px 24px rgba(0,0,0,.4)}
.kt-poschip[hidden]{display:none}
/* derivatives strip + popover */
.deriv-bar{flex:100 1 0;max-width:max-content;display:flex;align-items:center;gap:12px;padding:4px 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);font-family:var(--mono);font-size:12px;font-variant-numeric:tabular-nums;color:var(--text);white-space:nowrap;cursor:pointer;min-width:0;overflow:hidden}
.deriv-bar:hover{border-color:var(--muted)}
.deriv-bar[hidden]{display:none}
.deriv-bar span{display:flex;gap:5px;align-items:baseline}
.deriv-bar i{font-style:normal;color:var(--muted);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif;font-size:11px}
.deriv-bar em{font-style:normal;color:var(--muted);font-size:11px}
.deriv-bar .dv-lq b+b::before{content:'/';color:var(--muted);margin:0 3px}
.deriv-bar.none{cursor:default}
.dv-muted{color:var(--muted)}
.deriv-bar{min-width:140px}
.deriv-bar.f-em em,.deriv-bar.f-lq .dv-lq,.deriv-bar.f-ls .dv-ls,.deriv-bar.f-oi .dv-oi{display:none}
.deriv-pop{position:fixed;z-index:60;width:min(430px,calc(100vw - 16px));max-height:calc(100vh - 80px);overflow:auto;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px 12px;box-shadow:0 10px 30px rgba(0,0,0,.5);font-size:12px}
.deriv-pop[hidden]{display:none}
.dv-h{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.dv-note{color:var(--muted);margin:4px 0 8px;font-size:11.5px}
.dv-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 10px}
.dv-grid>div{background:var(--panel);border:1px solid var(--line);border-radius:8px;padding:6px 8px;display:flex;flex-direction:column;gap:1px;min-width:0}
.dv-grid i{font-style:normal;color:var(--muted);font-size:11px}
.dv-grid b{font-family:var(--mono);font-size:14px;font-variant-numeric:tabular-nums}
.dv-grid em{font-style:normal;color:var(--muted);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dv-sec{font-weight:600;margin:10px 0 4px;display:flex;flex-direction:column;gap:1px}
.dv-sec small{font-weight:400;color:var(--muted);font-size:11px}
.dv-lt{width:100%;border-collapse:collapse;font-family:var(--mono);font-variant-numeric:tabular-nums}
.dv-lt th{color:var(--muted);font-weight:400;text-align:right;font-size:11px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}
.dv-lt td{padding:3px 4px;text-align:right}
.dv-lt td:first-child{text-align:left;color:var(--muted);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}
.dv-lt td:last-child{width:34%}
.dv-lbar{display:flex;height:6px;border-radius:3px;overflow:hidden;background:var(--line)}
.dv-lbar .l{background:#ef4444}.dv-lbar .s{background:#22c55e}
.dv-feed{max-height:170px;overflow:auto;margin-top:6px;border-top:1px solid var(--line)}
.dv-feed>div{display:grid;grid-template-columns:58px 1fr 76px 60px;gap:6px;padding:3px 0;border-bottom:1px solid var(--line);font-family:var(--mono);font-size:11.5px;font-variant-numeric:tabular-nums}
.dv-feed>div span:last-child,.dv-feed>div span:nth-child(3){text-align:right}
.dv-feed b{font-weight:500;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,sans-serif}
.dv-panes{display:grid;grid-template-columns:1fr 1fr;gap:4px 10px}
.dv-panes label{display:flex;gap:6px;align-items:center;cursor:pointer}
.dv-panes input{width:auto}
