/* NovaRise — own chart engine UI (Market space, terminal chart, Learning boards) */
/* strategy tester panel */
.nt{flex:0 1 auto;max-height:46%;display:flex;flex-direction:column;border-top:1px solid var(--border);background:var(--t-panel);min-height:0}
.nt-h{display:flex;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid var(--border);font-size:12.5px}
.nt-h b{display:inline-flex;align-items:center;gap:6px}.nt-h span{color:var(--t-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-b{display:grid;grid-template-columns:300px 1fr;min-height:0;overflow:hidden;flex:1}
.nt-cfg{padding:10px;border-right:1px solid var(--border);overflow:auto;display:flex;flex-direction:column;gap:8px}
.nt-cfg label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--t-muted)}
.nt-cfg input,.nt-cfg select{width:100%;box-sizing:border-box}
.nt-cfg input{height:30px;border:1px solid var(--border);border-radius:8px;background:var(--t-panel);color:var(--t-text);padding:0 8px;font:inherit;font-size:13px;min-width:0}
.nt-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.nt-grid label span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt-d,.nt-note{margin:0;font-size:11.5px;color:var(--t-muted);line-height:1.45}
.nt-res{padding:10px;overflow:auto;min-width:0;display:flex;flex-direction:column;gap:10px}
.nt-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.nt-kpis div{border:1px solid var(--border);border-radius:10px;padding:7px 9px;display:flex;flex-direction:column;gap:2px;min-width:0}
.nt-kpis small{font-size:11px;color:var(--t-muted)}.nt-kpis b{font-size:15px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nt .up{color:var(--up)}.nt .dn{color:var(--down)}
.nt-curve{width:100%;height:110px;border:1px solid var(--border);border-radius:10px;background:transparent;flex:none}
.nt-tr{display:flex;flex-direction:column;font-size:12px}
.nt-row{display:grid;grid-template-columns:34px 56px 1fr 1fr 90px 100px;gap:8px;align-items:center;padding:6px 4px;border:0;border-bottom:1px solid var(--border);background:none;color:var(--t-text);text-align:left;font:inherit;cursor:pointer}
.nt-row.h{color:var(--t-muted);cursor:default;font-size:11px}.nt-row:not(.h):hover{background:var(--surface)}
.nt-row small{display:block;color:var(--t-muted);font-variant-numeric:tabular-nums}
@media (max-width:760px){.nt{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));max-height:min(66vh, calc(100dvh - 330px));min-height:240px;z-index:400;background:var(--t-solid);border-radius:16px 16px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.25);padding-bottom:env(safe-area-inset-bottom)}.nt-b{grid-template-columns:1fr;overflow:auto}.nt-cfg{border-right:0;border-bottom:1px solid var(--border);overflow:visible}.nt-res{overflow:visible}.nt-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.nt-row{grid-template-columns:26px 44px 1fr 1fr 70px;font-size:11px}.nt-row>span:nth-child(5){display:none}}
.nc{user-select:none;-webkit-user-select:none;overflow:hidden}
.nc-cv{position:absolute;left:0;top:0;display:block}
.nc-top{outline:none;touch-action:none}
.nc-text{position:absolute;z-index:6;min-width:140px;min-height:30px;padding:3px 7px;border-radius:7px;border:1.5px dashed currentColor;background:var(--surface);font:600 14px var(--font);line-height:1.3;outline:none;resize:both;box-shadow:var(--shadow-sm)}

/* rail tooltips for spaces */
.t-tt small{font:500 12px var(--font);opacity:.6}

/* ---------- live chart shell ---------- */
.n-live{container-type:inline-size;position:relative;display:flex;flex-direction:column;height:100%;min-height:0;min-width:0;background:var(--t-panel);border:1px solid var(--border);border-radius:var(--t-r);overflow:hidden;animation:tPanelIn .24s var(--t-ease) both}
.t-face .n-live{border:0;border-radius:0;background:transparent;animation:none}
.n-live.full{border-radius:0;background:var(--surface)}
.n-top{flex:none;display:flex;align-items:center;gap:6px;min-height:46px;padding:6px 8px;border-bottom:1px solid var(--t-line);overflow-x:auto;scrollbar-width:none}
.n-top::-webkit-scrollbar{display:none}
.n-top-r{margin-left:auto;display:flex;align-items:center;gap:4px;flex:none}
.n-sym{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 10px 0 5px;border-radius:10px;border:1px solid var(--t-line2);font-weight:800;font-size:13.5px;color:var(--t-text);flex:none;transition:border-color .2s,background .2s}
.n-sym:hover{border-color:var(--t-line3);background:rgba(var(--ov-rgb),.03)}
.n-sym svg{opacity:.5}
.n-px{font:800 14px var(--font);color:var(--t-text);min-width:64px;flex:none}
.n-st{width:7px;height:7px;border-radius:50%;background:var(--t-line3);flex:none;transition:background .2s}
.n-st.live{background:var(--up);box-shadow:0 0 0 3px rgba(var(--up-rgb),.18);animation:nPulse 2s ease-in-out infinite}
.n-st.poll{background:var(--accent-strong)}
.n-st.offline,.n-st.reconnecting{background:var(--down)}
@keyframes nPulse{50%{box-shadow:0 0 0 6px rgba(var(--up-rgb),0)}}
.n-tfs{display:flex;gap:1px;padding:2px;border-radius:10px;background:rgba(var(--ov-rgb),.04);flex:none}
.n-tfs button{height:28px;min-width:32px;padding:0 7px;border-radius:8px;font:700 12px var(--font);color:var(--t-muted);transition:color .2s,background .2s}
.n-tfs button:hover{color:var(--text)}
.n-tfs button.on{background:var(--btn-bg);color:var(--btn-fg)}
.n-btn{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border-radius:9px;font:700 12.5px var(--font);color:var(--text-secondary);border:1px solid transparent;white-space:nowrap;flex:none;transition:background .2s,color .2s,border-color .2s,transform .15s}
.n-btn:hover{background:rgba(var(--ov-rgb),.05);color:var(--text)}
.n-btn:active{transform:scale(.95)}
.n-btn.icon{width:32px;padding:0;justify-content:center}
.n-btn.on{background:rgba(var(--ov-rgb),.07);color:var(--text)}
.n-btn.accent{border-color:var(--t-line2);color:var(--text)}
.n-btn.accent.on{background:var(--accent-strong);color:var(--btn-fg);border-color:transparent}
.n-btn em{font-style:normal;font-size:11px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--btn-bg);color:var(--btn-fg);display:inline-grid;place-items:center}
.n-btn:disabled{opacity:.35;pointer-events:none}
.n-rel{position:relative;flex:none}
.n-pop{position:fixed;z-index:96;min-width:200px;padding:5px;border-radius:13px;background:var(--surface);border:1px solid var(--border);box-shadow:0 18px 50px -12px rgba(0,0,0,.35);animation:nPop .18s var(--t-ease)}
.n-pop button{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border-radius:9px;font:600 13px var(--font);color:var(--text-secondary);text-align:left;transition:background .15s,color .15s}
.n-pop button:hover{background:rgba(var(--ov-rgb),.05);color:var(--text)}
.n-pop button.on{color:var(--t-text);background:rgba(var(--accent-rgb),.12)}
@keyframes nPop{from{opacity:0;transform:translateY(-4px) scale(.98)}}
.n-body{flex:1;min-height:0;display:flex}
.n-stage{position:relative;flex:1;min-width:0;min-height:0}
.n-canvas{position:absolute;inset:0}
.n-rail{flex:none;width:44px;display:flex;flex-direction:column;gap:2px;padding:6px 4px;border-right:1px solid var(--t-line);overflow-y:auto;scrollbar-width:none}
.n-rail::-webkit-scrollbar{display:none}
.n-rail-g{display:flex;flex-direction:column;gap:2px;padding-bottom:5px;margin-bottom:3px;border-bottom:1px solid var(--t-line)}
.n-rail-g:last-child{border-bottom:0}
.n-tb{width:36px;height:34px;border-radius:9px;display:grid;place-items:center;color:var(--text-secondary);transition:background .15s,color .15s,transform .15s}
.n-tb:hover{background:rgba(var(--ov-rgb),.06);color:var(--text)}
.n-tb:active{transform:scale(.9)}
.n-tb.on{background:var(--btn-bg);color:var(--btn-fg)}
.n-tb.danger:hover{color:var(--down)}
.n-hint{position:absolute;left:50%;top:10px;transform:translateX(-50%);z-index:4;display:inline-flex;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 20px);padding:6px 6px 6px 14px;border-radius:16px;user-select:none;-webkit-user-select:none;line-height:1.35;background:var(--btn-bg);color:var(--btn-fg);font:700 12.5px var(--font);box-shadow:var(--shadow-sm);animation:nPop .24s var(--t-ease)}
.n-hint button{height:24px;padding:0 10px;border-radius:999px;background:rgba(127,127,127,.25);color:inherit;font-weight:700;flex:none}
.n-load{position:absolute;inset:0;display:grid;place-items:center;grid-auto-flow:column;gap:6px;justify-content:center;align-content:center;pointer-events:none}
.n-load span{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:nDot 1s ease-in-out infinite}
.n-load span:nth-child(2){animation-delay:.15s}.n-load span:nth-child(3){animation-delay:.3s}
@keyframes nDot{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
.n-err{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:20px;text-align:center;color:var(--text-secondary);font-size:13.5px}
.n-err b{max-width:380px;font-weight:700;color:var(--text)}
.n-err .n-btn{border-color:var(--t-line2)}
/* selected drawing bar */
.n-selbar{position:absolute;left:50%;bottom:12px;transform:translateX(-50%);z-index:5;display:flex;align-items:center;gap:4px;max-width:calc(100% - 16px);padding:5px 6px;border-radius:13px;background:var(--surface);border:1px solid var(--border);box-shadow:0 14px 40px -12px rgba(0,0,0,.35);overflow-x:auto;scrollbar-width:none;animation:nPop .2s var(--t-ease)}
.n-selbar-t{font:700 11.5px var(--font);color:var(--t-muted);padding:0 6px;white-space:nowrap}
.n-sw{width:20px;height:20px;border-radius:50%;flex:none;border:2px solid transparent;transition:transform .15s}
.n-sw:hover{transform:scale(1.15)}
.n-sw.on{border-color:var(--t-text);box-shadow:0 0 0 2px var(--surface) inset}
.n-w{min-width:28px;height:28px;padding:0 6px;border-radius:8px;display:grid;place-items:center;flex:none;font:700 11.5px var(--font);color:var(--text-secondary);transition:background .15s,color .15s}
.n-w i{display:block;width:14px;border-radius:2px;background:currentColor}
.n-w:hover{background:rgba(var(--ov-rgb),.06);color:var(--text)}
.n-w.on{background:rgba(var(--ov-rgb),.1);color:var(--text)}
.n-w.danger:hover{color:var(--down)}
.n-selbar-in{width:120px;height:28px;padding:0 8px;border-radius:8px;border:1px solid var(--t-line2);background:transparent;color:var(--t-text);font:600 12px var(--font);outline:none;flex:none}
.n-selbar-in:focus{border-color:var(--accent-strong)}
/* badges for symbols */
.n-badge{width:24px;height:24px;border-radius:8px;display:grid;place-items:center;flex:none;font:800 11px var(--font);color:#fff;background:#64748B}
.n-badge.big{width:34px;height:34px;border-radius:11px;font-size:14px}
.n-badge.g-crypto{background:#F59E0B}.n-badge.g-fx{background:#2D7FF9}.n-badge.g-metal{background:#B8860B}.n-badge.g-index{background:#8B5CF6}.n-badge.g-stock{background:#14B8A6}.n-badge.g-custom{background:#64748B}
/* modals */
.n-modal-wrap{position:fixed;inset:0;z-index:95;display:grid;place-items:start center;padding:9vh 12px 12px;background:var(--scrim,rgba(0,0,0,.4));animation:nFade .2s ease}
@keyframes nFade{from{opacity:0}}
.n-modal{width:min(560px,100%);max-height:78vh;display:flex;flex-direction:column;border-radius:20px;background:var(--surface);border:1px solid var(--border);box-shadow:0 30px 80px -20px rgba(0,0,0,.45);overflow:hidden;animation:nModal .24s var(--t-ease)}
@keyframes nModal{from{opacity:0;transform:translateY(10px) scale(.98)}}
.n-modal-h{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--t-line)}
.n-modal-h b{font-size:16px;font-weight:800}
.n-x{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:var(--text-secondary);flex:none}
.n-x:hover{background:rgba(var(--ov-rgb),.06);color:var(--text)}
.n-search-top{display:flex;align-items:center;gap:10px;padding:12px 12px 10px 16px;border-bottom:1px solid var(--t-line);color:var(--t-muted)}
.n-search-top input{flex:1;min-width:0;height:36px;background:transparent;border:0;outline:0;color:var(--t-text);font:600 15px var(--font)}
.n-chips{display:flex;gap:4px;padding:10px 12px;overflow-x:auto;scrollbar-width:none;flex:none}
.n-chips::-webkit-scrollbar{display:none}
.n-chips button{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--t-line);font:700 12px var(--font);color:var(--t-muted);white-space:nowrap;transition:all .2s}
.n-chips button:hover{color:var(--t-text);border-color:var(--t-line3)}
.n-chips button.on{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.n-chips button small{opacity:.6;margin-left:3px}
.n-chips.sm{padding:6px 10px}.n-chips.sm button{height:26px;padding:0 10px;font-size:11.5px}
.n-search-list{flex:1;overflow-y:auto;padding:4px 6px 8px}
.n-srow{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:11px;cursor:pointer;transition:background .15s}
.n-srow:hover{background:rgba(var(--ov-rgb),.05)}
.n-srow-m{flex:1;min-width:0;display:flex;flex-direction:column}
.n-srow-m b{font-size:13.5px;font-weight:800}
.n-srow-m small{font-size:12px;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n-srow em{font-style:normal;font-size:11px;font-weight:700;color:var(--t-muted)}
.n-star{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--t-muted);flex:none}
.n-star:hover{color:#F5A623}
.n-star.on{color:#F5A623}.n-star.on svg{fill:#F5A623}
.n-empty{padding:22px 12px;text-align:center;color:var(--t-muted);font-size:13px}
.n-ind{width:min(640px,100%)}
.n-ind-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;padding:12px;overflow-y:auto}
.n-ind-add{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 34px 10px 12px;border-radius:12px;border:1px solid var(--t-line);text-align:left;transition:border-color .2s,background .2s}
.n-ind-add:hover{border-color:var(--t-line3);background:rgba(var(--ov-rgb),.03)}
.n-ind-add b{font-size:13.5px;font-weight:800}
.n-ind-add small{font-size:11.5px;color:var(--t-muted);line-height:1.35}
.n-ind-add>span:last-child{position:absolute;right:10px;top:12px;color:var(--t-muted)}
.n-ind-on{padding:4px 12px 14px;border-top:1px solid var(--t-line);overflow-y:auto}
.n-ind-on>small{display:block;padding:8px 2px;font-size:11px;font-weight:700;color:var(--t-muted);text-transform:uppercase;letter-spacing:.06em}
.n-ind-row{display:flex;align-items:center;gap:8px;padding:6px 4px;flex-wrap:wrap}
.n-ind-row b{font-size:13px;font-weight:800;min-width:70px}
.n-ind-row input[type=color]{width:26px;height:26px;padding:0;border:0;border-radius:7px;background:none;cursor:pointer}
.n-ind-row label{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--t-muted);font-weight:600}
.n-ind-row label input{width:52px;height:28px;padding:0 7px;border-radius:8px;border:1px solid var(--t-line2);background:transparent;color:var(--t-text);font:700 12.5px var(--font);outline:none}
.n-ind-row .n-w{margin-left:auto}

/* ---------- Market space ---------- */
.t-app.is-market{--main-l:var(--side-x)}
.is-market .t-side{transform:translateX(calc(-100% - var(--side-x)));opacity:0;pointer-events:none}
.is-market .t-head{display:none}
.is-market .t-body{padding:10px;overflow:hidden}
.mk{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:10px;height:calc(100vh - var(--gap) * 2 - 22px);min-height:520px}
.mk.no-side{grid-template-columns:minmax(0,1fr)}
.mk-side{display:flex;flex-direction:column;min-height:0;background:var(--t-panel);border:1px solid var(--border);border-radius:var(--t-r);overflow:hidden;animation:tPanelIn .24s var(--t-ease) both}
.mk-side-h{display:flex;align-items:center;gap:8px;padding:10px 10px 4px 14px}
.mk-side-h b{font-size:14.5px;font-weight:800}
.mk-side-h .n-btn{margin-left:auto}
.mk-cnt{font:700 11px var(--font);color:var(--t-muted);background:rgba(var(--ov-rgb),.05);border-radius:999px;padding:1px 7px}
.mk-list{flex:1;min-height:0;overflow-y:auto;padding:0 6px 6px}
.mk-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto 62px;align-items:center;gap:8px;padding:7px 8px;border-radius:10px;cursor:pointer;transition:background .2s}
.mk-row:hover{background:rgba(var(--ov-rgb),.045)}
.mk-row.on{background:rgba(var(--accent-rgb),.12)}
.mk-row.fl-up .mk-px{color:var(--up)}.mk-row.fl-down .mk-px{color:var(--down)}
.mk-sym{display:flex;align-items:center;gap:8px;min-width:0}
.mk-sym b{display:block;font-size:13px;font-weight:800;white-space:nowrap}
.mk-sym small{display:block;font-size:11px;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-px{font:700 13px var(--font);text-align:right;transition:color .2s}
.mk-ch{font:700 12px var(--font);text-align:right}
.mk-rm{position:absolute;right:4px;top:50%;transform:translateY(-50%) scale(.8);width:22px;height:22px;border-radius:7px;display:grid;place-items:center;background:var(--surface);color:var(--t-muted);opacity:0;transition:opacity .15s,transform .15s;box-shadow:var(--shadow-sm)}
.mk-row:hover .mk-rm{opacity:1;transform:translateY(-50%) scale(1)}
.mk-rm:hover{color:var(--down)}
.mk-info{flex:none;padding:12px 14px;border-top:1px solid var(--t-line);display:flex;flex-direction:column;gap:10px}
.mk-info-h{display:flex;align-items:center;gap:10px;min-width:0}
.mk-info-h b{display:block;font-size:15px;font-weight:800}
.mk-info-h small{display:block;font-size:12px;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-info-px{display:flex;align-items:baseline;gap:10px}
.mk-info-px b{font-size:22px;font-weight:800}
.mk-info-px em{font-style:normal;font-weight:800;font-size:13px}
.mk-info-px em small{color:var(--t-muted);font-weight:600}
.mk-info-g{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:12px}
.mk-info-g span{color:var(--t-muted)}.mk-info-g b{font-weight:700;text-align:right}
.t-wsym .t-wn{max-width:92px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;vertical-align:bottom}

/* ---------- Learning space ---------- */
.lg{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px;height:var(--t-view-h);min-height:560px}
.lg-main{position:relative;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--t-panel);border:1px solid var(--border);border-radius:var(--t-r);overflow:hidden;animation:tPanelIn .24s var(--t-ease) both}
.lg-name{min-width:80px;width:clamp(120px,22vw,280px);height:34px;padding:0 10px;border-radius:10px;border:1px solid transparent;background:transparent;color:var(--t-text);font:800 14.5px var(--font);outline:none;flex:none;transition:border-color .2s;display:flex;align-items:center}
.lg-name:hover,.lg-name:focus{border-color:var(--t-line2)}
.lg-kind{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;background:rgba(var(--ov-rgb),.05);font:700 11.5px var(--font);color:var(--t-muted);flex:none}
.n-tb.candle.on{background:var(--up);color:#fff}
.lg-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;background:var(--surface);z-index:3;animation:tPageIn .24s var(--t-ease)}
.lg-empty b{font-size:18px;font-weight:800}
.lg-empty p{max-width:460px;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}
.lg-side{display:flex;flex-direction:column;gap:10px;min-height:0;padding:10px;background:var(--t-panel);border:1px solid var(--border);border-radius:var(--t-r);box-shadow:var(--shadow-sm);animation:tPanelIn .24s var(--t-ease) both}
.lg-notes{flex:1;min-height:160px;width:100%;padding:12px;border-radius:12px;border:1px solid var(--t-line2);background:rgba(var(--ov-rgb),.02);color:var(--t-text);font:500 13.5px/1.55 var(--font);outline:none;resize:none;transition:border-color .2s}
.lg-notes:focus{border-color:var(--accent-strong)}
.lg-notes.sm{flex:none;min-height:110px}
.lg-stats{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:11.5px;color:var(--t-muted)}
.lg-stats b{color:var(--t-text);font-weight:800}
.lg-src{display:flex;align-items:center;gap:7px;padding:8px 10px;border-radius:10px;background:rgba(var(--accent-rgb),.1);font:700 12px var(--font);color:var(--text)}
.lg-hint{font-size:12.5px;line-height:1.5;color:var(--text-secondary)}
.lg-ideas{display:flex;flex-wrap:wrap;gap:6px}
.lg-ideas button{padding:6px 10px;border-radius:999px;border:1px solid var(--t-line);font:600 11.5px var(--font);color:var(--text-secondary);text-align:left;transition:all .2s}
.lg-ideas button:hover{border-color:var(--t-line3);color:var(--text)}
.lg-blist{display:flex;flex-direction:column;gap:4px}
.lg-bitem{display:flex;align-items:center;gap:9px;padding:8px 8px 8px 10px;border-radius:11px;border:1px solid var(--t-line);cursor:pointer;transition:border-color .2s,background .2s;color:var(--text-secondary)}
.lg-bitem:hover{border-color:var(--t-line3)}
.lg-bitem.on{border-color:var(--accent-strong);background:rgba(var(--accent-rgb),.08);color:var(--text)}
.lg-bitem>span{flex:1}
.lg-bitem b{display:block;font-size:13px;font-weight:700;color:var(--t-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-bitem small{display:block;font-size:11px;color:var(--t-muted)}
.lg-gal{display:flex;flex-direction:column;gap:12px;padding-bottom:12px}
.lg-gal-sub{font-size:13.5px;color:var(--text-secondary);max-width:720px;line-height:1.5}
.lg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px}
.lg-card{position:relative;display:flex;flex-direction:column;text-align:left;border-radius:16px;border:1px solid var(--border);background:var(--t-panel);overflow:hidden;cursor:pointer;transition:transform .2s var(--spring),border-color .2s,box-shadow .2s;animation:tPanelIn .24s var(--t-ease) both}
.lg-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow-sm)}
.lg-prev{display:block;width:100%;border-bottom:1px solid var(--t-line);background:rgba(var(--ov-rgb),.015)}
.lg-card-b{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}
.lg-card-b b{font-size:14px;font-weight:800}
.lg-card-b em{font-style:normal;display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:var(--accent-ink,var(--text-secondary))}
.lg-card-b small{font-size:12px;line-height:1.45;color:var(--t-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lg-card-x{position:absolute;top:8px;right:8px;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--surface);color:var(--t-muted);opacity:0;transition:opacity .2s;box-shadow:var(--shadow-sm)}
.lg-card:hover .lg-card-x{opacity:1}.lg-card-x:hover{color:var(--down)}

.nr-toast-act{margin-left:6px;height:26px;padding:0 10px;border-radius:8px;background:var(--btn-bg);color:var(--btn-fg);font:700 12px var(--font)}

/* ---------- responsive ---------- */
@media (max-width:1200px){.mk{grid-template-columns:minmax(0,1fr) 260px}.lg{grid-template-columns:minmax(0,1fr) 280px}.hide-sm{display:none}}
@media (max-width:1023px){
  .is-market .t-body{padding:0 8px 10px;overflow:visible}
  .mk{display:flex;flex-direction:column;height:auto;min-height:0}
  .mk .n-live{height:calc(100dvh - 64px - 96px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));min-height:420px}
  .mk-side{max-height:none}
  .mk-list{max-height:none;overflow:visible}
  .mk-rm{display:none}
  .mk-list.editing .mk-rm{display:grid;opacity:1;position:static;transform:none;box-shadow:none;background:rgba(var(--down-rgb,229,72,77),.12);color:var(--down)}
  .mk-list.editing .mk-row{grid-template-columns:minmax(0,1fr) auto 58px 26px}
  .lg{display:flex;flex-direction:column;height:auto;min-height:0}
  .lg-main{height:min(72vh,620px);min-height:420px}
  .lg-side{min-height:0}
  .lg-notes{min-height:140px}
  .n-body{flex-direction:column}
  .n-rail{order:2;width:auto;height:46px;flex-direction:row;padding:4px 6px;border-right:0;border-top:1px solid var(--t-line);overflow-x:auto;overflow-y:hidden}
  .n-rail-g{flex-direction:row;padding:0 5px 0 0;margin:0 3px 0 0;border-bottom:0;border-right:1px solid var(--t-line)}
  .n-tb{width:36px;height:36px;flex:none}
  .t-face .n-rail{display:none}
  .n-selbar{bottom:8px}
  .n-ind-grid{grid-template-columns:1fr}
}
@media (max-width:640px){
  .n-hint{font-size:11.5px;padding:6px 6px 6px 12px}
  .n-top{gap:4px;padding:5px 6px;flex-wrap:wrap;row-gap:5px;overflow:visible}
  .n-top-r{display:contents}
  .n-top-r .t-flip-btn{margin-left:auto;order:9}
  .n-top-r .n-cam{display:none}
  .n-px{min-width:0;font-size:13px}
  .n-tfs button{min-width:28px;padding:0 5px}
  .n-modal-wrap{padding:6vh 8px 8px}
  .lg-name{width:130px}
  .lg-grid{grid-template-columns:1fr}
}

@container (max-width:1060px){.n-live .hide-sm{display:none}}
.lg-main{container-type:inline-size}
@container (max-width:820px){.lg-main .n-top .hide-sm{display:none}}
@container (max-width:720px){.n-live .n-tfs button{min-width:26px;padding:0 4px}}

.n-btn.tf{border-color:var(--t-line2);min-width:56px;justify-content:center}.n-btn.tf b{font-weight:800;color:var(--text)}
.n-pop button{justify-content:flex-start}

/* ---------- logos ---------- */
.n-logo{position:relative;display:inline-grid;place-items:center;flex:none;border-radius:50%;overflow:hidden;background:rgba(var(--ov-rgb),.06)}
.n-logo img{width:100%;height:100%;object-fit:contain;display:block}
.n-logo img.cover{object-fit:cover}
.n-logo svg{width:100%;height:100%;display:block}
.n-logo.fx{overflow:visible;background:transparent}
.n-logo.fx img{position:absolute;width:68%;height:68%;border-radius:50%;object-fit:cover;box-shadow:0 0 0 1.5px var(--surface)}
.n-logo.fx img:first-child{left:0;top:0}.n-logo.fx img:last-child{right:0;bottom:0}
.t-wsym .n-logo{margin-right:7px;vertical-align:middle}
.mk-sym .n-badge,.n-srow .n-badge{border-radius:50%}

/* ---------- timeframes ---------- */
.n-tfbar{display:flex;align-items:center;gap:1px;padding:2px;border-radius:10px;background:rgba(var(--ov-rgb),.04);flex:none}
.n-tfq{height:28px;min-width:32px;padding:0 7px;border-radius:8px;font:700 12px var(--font);color:var(--t-muted);transition:color .2s,background .2s}
.n-tfq:hover{color:var(--text)}
.n-tfq.on{background:var(--btn-bg);color:var(--btn-fg)}
.n-tfbar .n-btn.tf{height:28px;border:0;min-width:28px;padding:0 6px}
.n-tfbar .n-btn.tf:not(.chev){padding:0 8px;gap:5px}
.n-tfmenu{width:236px;max-height:min(70vh,560px);overflow-y:auto;padding:6px}
.n-tfg+.n-tfg{border-top:1px solid var(--t-line);margin-top:4px;padding-top:4px}
.n-pop .n-tfg-h{display:flex;justify-content:space-between;align-items:center;padding:7px 10px;font:800 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--t-muted)}
.n-tfi{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 12px;border-radius:9px;font:600 13px var(--font);color:var(--text-secondary);cursor:pointer;transition:background .15s,color .15s}
.n-tfi:hover{background:rgba(var(--ov-rgb),.05);color:var(--text)}
.n-tfi.on{background:rgba(var(--accent-rgb),.14);color:var(--text)}
.n-tfi.off{opacity:.4;cursor:not-allowed}
.n-tfi>span{flex:1}.n-tfi small{font-size:10.5px;color:var(--t-muted)}
.n-pop .n-tfi .n-star{width:26px;height:26px;padding:0;justify-content:center}

/* ---------- context menu ---------- */
.n-ctx{position:fixed;z-index:120;min-width:250px;padding:6px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:0 22px 60px -14px rgba(0,0,0,.45);animation:nPop .14s var(--t-ease)}
.n-ctx button{display:flex;align-items:center;gap:10px;width:100%;padding:8px 10px;border-radius:9px;font:600 13px var(--font);color:var(--t-text);text-align:left;transition:background .12s}
.n-ctx button:hover{background:rgba(var(--ov-rgb),.06)}
.n-ctx button>span:nth-child(2){flex:1}
.n-ctx button svg{opacity:.65}
.n-ctx button.danger{color:var(--down)}
.n-ctx button kbd{margin-left:auto;font-size:10.5px}
.n-ctx-sep{height:1px;margin:5px 4px;background:var(--t-line)}
.n-trash{min-width:260px}
.n-pop button:disabled{opacity:.4;pointer-events:none}
.n-pop button.danger{color:var(--down)}

/* ---------- corner A / L ---------- */
.n-corner{position:absolute;right:0;bottom:0;z-index:3;display:flex;gap:2px;padding:2px 4px;height:24px;align-items:center}
.n-corner button{min-width:22px;height:19px;padding:0 4px;border-radius:5px;font:800 11px var(--font);color:var(--t-muted);transition:background .15s,color .15s}
.n-corner button:hover{color:var(--t-text);background:rgba(var(--ov-rgb),.06)}
.n-corner button.on{background:var(--accent-strong);color:var(--btn-fg)}

/* ---------- indicator legend ---------- */
.n-legend{position:absolute;left:8px;top:28px;z-index:3;display:flex;flex-direction:column;align-items:flex-start;gap:1px;max-width:calc(100% - 90px);pointer-events:none}
.n-leg-row{pointer-events:auto;display:flex;align-items:center;gap:8px;height:22px;padding:0 4px 0 4px;border-radius:7px;border:1px solid transparent;font:700 11.5px var(--font);transition:background .15s,border-color .15s}
.n-leg-row:hover{background:var(--surface);border-color:var(--border);box-shadow:var(--shadow-sm)}
.n-leg-row.hid .n-leg-l,.n-leg-row.hid .n-leg-v{opacity:.4}
.n-leg-v{font-variant-numeric:tabular-nums;font-weight:600}
.n-leg-a{display:flex;gap:1px;opacity:0;transition:opacity .15s}
.n-leg-row:hover .n-leg-a,.n-leg-row:focus-within .n-leg-a{opacity:1}
.n-leg-a button{width:22px;height:20px;border-radius:6px;display:grid;place-items:center;color:var(--text-secondary)}
.n-leg-a button:hover{background:rgba(var(--ov-rgb),.08);color:var(--text)}
.n-leg-a button.danger:hover{color:var(--down)}
.n-leg-toggle{pointer-events:auto;display:inline-flex;align-items:center;gap:3px;height:20px;min-width:22px;padding:0 5px;margin-top:2px;border-radius:6px;border:1px solid var(--t-line2);background:var(--surface);color:var(--text-secondary);font:700 11px var(--font)}
.n-leg-toggle:hover{color:var(--t-text);border-color:var(--t-line3)}
.n-leg-toggle em{font-style:normal}
.n-indpop{width:240px;padding:12px;display:flex;flex-direction:column;gap:8px}
.n-indpop b{font-size:13.5px;font-weight:800}
.n-indpop label{display:flex;align-items:center;justify-content:space-between;gap:10px;font:600 12.5px var(--font);color:var(--text-secondary)}
.n-indpop input:not([type=color]){width:70px;height:30px;padding:0 8px;border-radius:8px;border:1px solid var(--t-line2);background:transparent;color:var(--t-text);font:700 12.5px var(--font);outline:none}
.n-indpop input[type=color]{width:30px;height:26px;border:0;padding:0;background:none;cursor:pointer}

/* ---------- settings dialog ---------- */
.n-settings{width:min(720px,100%);max-height:84vh}
.n-set{flex:1;min-height:0;display:grid;grid-template-columns:200px minmax(0,1fr)}
.n-set-nav{display:flex;flex-direction:column;gap:2px;padding:10px;border-right:1px solid var(--t-line)}
.n-set-nav button{display:flex;align-items:center;gap:9px;padding:9px 11px;border-radius:10px;font:700 13px var(--font);color:var(--text-secondary);text-align:left;transition:background .15s,color .15s}
.n-set-nav button:hover{background:rgba(var(--ov-rgb),.05);color:var(--text)}
.n-set-nav button.on{background:rgba(var(--accent-rgb),.14);color:var(--text)}
.n-set-b{padding:6px 18px 16px;overflow-y:auto;animation:tPageIn .24s var(--t-ease)}
.n-set-b h4{margin:14px 0 6px;font:800 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--t-muted)}
.n-set-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:40px;border-bottom:1px solid var(--t-line);font:600 13px var(--font)}
.n-set-row>div{display:flex;align-items:center;gap:6px}
.n-set-hint{margin-top:8px;font-size:12px;line-height:1.5;color:var(--t-muted)}
.n-set-f{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--t-line)}
.n-set .t-select{height:32px;font-size:13px!important;max-width:250px}
.t-select.sm{height:30px;padding-right:26px}
.n-col{position:relative;width:30px;height:30px;border-radius:9px;border:1px solid var(--t-line2);overflow:hidden;cursor:pointer;flex:none}
.n-col input{position:absolute;inset:0;opacity:0;cursor:pointer}
.n-col i{position:absolute;inset:4px;border-radius:6px;pointer-events:none}
.n-tog{display:inline-flex;align-items:center;gap:9px;cursor:pointer}
.n-tog input{position:absolute;opacity:0;width:0;height:0}
.n-tog i{position:relative;width:34px;height:20px;border-radius:999px;background:rgba(var(--fg-rgb),.16);transition:background .2s;flex:none}
.n-tog i::after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s var(--spring)}
.n-tog input:checked+i{background:var(--accent-strong)}
.n-tog input:checked+i::after{transform:translateX(14px)}
.n-tog input:focus-visible+i{outline:2px solid var(--accent-strong);outline-offset:2px}
.n-seg2{display:flex;padding:2px;border-radius:10px;background:rgba(var(--ov-rgb),.05)}
.n-seg2 button{height:28px;padding:0 10px;border-radius:8px;font:700 12px var(--font);color:var(--t-muted)}
.n-seg2 button.on{background:var(--btn-bg);color:var(--btn-fg)}
@media (max-width:640px){.n-set{grid-template-columns:1fr}.n-set-nav{flex-direction:row;overflow-x:auto;border-right:0;border-bottom:1px solid var(--t-line)}.n-set-nav{scrollbar-width:none;padding:8px 6px}.n-set-nav button{white-space:nowrap;padding:8px 8px;gap:6px;font-size:12.5px;flex:none}.n-settings{max-height:90vh}.n-legend{top:26px}}
/* solid surfaces for floating UI (theme --surface is translucent glass in light mode) */
:root{--n-pop-bg:#FFFFFF}
:root[data-theme="dark"]{--n-pop-bg:#141414}
.n-pop,.n-ctx,.n-modal,.n-selbar,.nc-text,.n-leg-toggle,.mk-rm{background:var(--n-pop-bg)}
.n-leg-row:hover{background:var(--n-pop-bg)}
.bt-trow.h{background:var(--n-pop-bg)}
.n-pop .n-star{background:transparent!important}
/* grouped tool rail */
.n-rg{display:block;position:relative}
.n-rg-more{position:absolute;right:-3px;bottom:0;width:12px;height:14px;display:grid;place-items:center;border-radius:4px;opacity:.55;transition:opacity .15s,background .15s}
.n-rg-more i{width:0;height:0;border-left:4px solid transparent;border-top:4px solid currentColor;transform:rotate(-45deg);color:var(--text-secondary)}
.n-rg:hover .n-rg-more,.n-rg-more.on{opacity:1}
.n-rg-more:hover{background:rgba(var(--ov-rgb),.1)}
.n-rail-g.fav{padding-bottom:5px}
.n-rail-g.fav .n-tb{color:var(--text)}
.n-flyout{width:300px;max-height:min(76vh,620px);overflow-y:auto;padding:6px}
.n-fly-sec+.n-fly-sec{border-top:1px solid var(--t-line);margin-top:4px;padding-top:4px}
.n-fly-h{padding:8px 10px 4px;font:800 11px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--t-muted)}
.n-fly-i{display:flex;align-items:center;gap:10px;padding:7px 6px 7px 10px;border-radius:9px;font:600 13px var(--font);color:var(--t-text);cursor:pointer;transition:background .12s}
.n-fly-i:hover{background:rgba(var(--ov-rgb),.06)}
.n-fly-i.on{background:rgba(var(--accent-rgb),.14)}
.n-fly-i>span{flex:1}
.n-fly-i small{font-size:10.5px;color:var(--t-muted);white-space:nowrap}
.n-fly-i svg{opacity:.8}
.n-pop .n-fly-i .n-star{width:26px;height:26px;padding:0;justify-content:center;flex:none}
.n-emoji{width:300px;padding:6px}
.n-emoji-g{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;padding:4px}
.n-pop .n-emoji-g button{width:auto;height:34px;padding:0;justify-content:center;font-size:20px;border-radius:8px;font-family:"Segoe UI Emoji","Apple Color Emoji","Noto Color Emoji",sans-serif}
.n-pop .n-emoji-g button.on{background:rgba(var(--accent-rgb),.18)}
@media (max-width:1023px){.n-rg{display:inline-block}.n-rg-more{right:-2px;bottom:1px}}

.n-fly-i>span{flex:1;min-width:0;text-align:left}
.n-flyout{max-height:calc(100vh - 16px)!important}
.n-pop{max-height:calc(100vh - 16px);overflow-y:auto}
.n-fly-i>span.inline-flex{flex:none}
.lg-bitem>span.inline-flex{flex:none}
/* alerts */
.n-bell{position:relative}
.n-bell.on{color:#F5A623}
.n-bell em{position:absolute;top:1px;right:0;min-width:15px;height:15px;padding:0 3px;border-radius:8px;background:#F5A623;color:#111;font:800 9.5px/15px var(--font);font-style:normal;text-align:center}
.n-alerts{width:min(480px,100%)}
.na-form{display:flex;flex-direction:column;gap:10px;padding:14px 16px;border-bottom:1px solid var(--t-line)}
.na-sym{display:flex;align-items:center;gap:9px}
.na-sym b{font-size:15px;font-weight:800}.na-sym small{font-size:12px;color:var(--t-muted)}
.na-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}
.na-row input,.na-row select,.na-note input{width:100%;min-width:0}
.na-row label,.na-note{display:flex;flex-direction:column;gap:4px;font:600 11.5px var(--font);color:var(--t-muted)}
.na-row input,.na-note input{height:36px;padding:0 10px;border-radius:10px;border:1px solid var(--t-line2);background:transparent;color:var(--t-text);font:700 13.5px var(--font);outline:none}
.na-row input:focus,.na-note input:focus{border-color:var(--accent-strong)}
.na-row .t-select{height:36px}
.na-perm{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;height:30px;padding:0 10px;border-radius:9px;border:1px solid var(--t-line2);font:700 12px var(--font);color:var(--text)}
.na-hint{font-size:11.5px;line-height:1.45;color:var(--t-muted)}
.na-list{max-height:260px;overflow-y:auto;padding:6px 10px 12px}
.na-item{display:flex;align-items:center;gap:9px;padding:8px 6px;border-bottom:1px solid var(--t-line)}
.na-item>span{flex:1}
.na-item>span.inline-flex,.na-item>.n-logo{flex:none}
.na-item b{display:block;font-size:13px;font-weight:800}
.na-item small{display:block;font-size:11.5px;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-item.off{opacity:.6}

.mk-edit{display:none}
@media (max-width:1023px){.mk-edit{display:inline-grid;margin-left:auto}.mk-edit+.n-btn{margin-left:0}}
/* TradingView-style tooltip */
.n-tip{position:fixed;z-index:120;display:flex;align-items:center;gap:8px;padding:6px 9px;border-radius:8px;background:#1f2229;color:#f2f4f7;font:600 12px var(--font);white-space:nowrap;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.28);animation:nFade .12s ease}
.n-tip.r{transform:translateY(-50%)}
.n-tip.b{transform:translateX(-50%)}
.n-tip kbd{font:700 11px var(--font);padding:2px 6px;border-radius:5px;background:rgba(255,255,255,.12);color:#fff}
.n-tb.dim{opacity:.4}
/* tool rail on short charts: compact buttons + scroll arrows */
.n-rail{position:relative}
.n-rail.tight{gap:0}
.n-rail.tight .n-tb{height:29px}
.n-rail.tight .n-rail-g{gap:0;padding-bottom:3px;margin-bottom:2px}
.n-rail-arr{position:sticky;z-index:2;flex:none;width:36px;height:22px;display:grid;place-items:center;border-radius:7px;color:var(--t-text);background:var(--t-solid,var(--surface));box-shadow:0 0 0 1px var(--t-line),0 4px 12px rgba(0,0,0,.12)}
.n-rail-arr.up{top:0;margin-bottom:2px}
.n-rail-arr.down{bottom:0;margin-top:2px}
.n-rail-arr:hover{background:var(--btn-bg);color:var(--btn-fg)}
@media (max-width:1023px){.n-rail-arr{display:none}.n-rail.tight .n-tb{height:36px}}
/* learning: candle models + trainer */
.lg-models{display:flex;flex-direction:column;gap:6px}
.lg-models button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:7px 10px;border-radius:12px;border:1px solid var(--t-line);transition:background .15s,transform .2s}
.lg-models button:hover:not(:disabled){background:rgba(var(--fg-rgb),.05);transform:translateX(2px)}
.lg-models button:disabled{opacity:.5}
.lg-models b{display:block;font:700 13px var(--font)}
.lg-models small{display:block;font-size:11.5px;color:var(--t-muted)}
.lg-micon{flex:none}
.lg-quiz .lg-prev{width:100%;border-radius:12px;border:1px solid var(--t-line)}
.lg-qscore{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;border-radius:12px;background:rgba(var(--fg-rgb),.04);font-size:13px}
.lg-qscore b{font-size:16px}
.lg-qbtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lg-qbtns button{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;border-radius:12px;font:700 14px var(--font);color:#fff;transition:transform .2s}
.lg-qbtns button:active{transform:scale(.96)}
.lg-qbtns .up{background:var(--up)}.lg-qbtns .dn{background:var(--down)}
.lg-qres{padding:10px 12px;border-radius:12px;font-size:13px;line-height:1.45}
.lg-qres.ok{background:rgba(var(--up-rgb,22,163,74),.12)}.lg-qres.bad{background:rgba(var(--down-rgb,229,72,77),.12)}
.lg-qres b{margin-right:4px}
.lg-side .t-tabs{overflow-x:auto;scrollbar-width:none;gap:14px;flex-wrap:nowrap}
.lg-side .t-tabs::-webkit-scrollbar{display:none}
.lg-side .t-tabs button{flex:none;font-size:13px}
/* v96: opaque, crisp chart surface (no glass behind candles) */
.n-live,.t-face .n-live{background:var(--chart-bg)}
.n-live .n-canvas{background:var(--chart-bg)}
/* v96 selection bar (TradingView-like, draggable) */
.n-selbar{top:10px;bottom:auto;gap:2px;padding:4px;border-radius:10px;animation:nSelIn .22s var(--ease) both}
@keyframes nSelIn{from{opacity:0;transform:translate(-50%,-6px)}to{opacity:1;transform:translate(-50%,0)}}
.n-selbar[style*="none"]{animation:none}
.n-grip{display:grid;grid-template-columns:repeat(2,3px);gap:2px 2px;padding:6px 5px;cursor:grab;flex:none;border-radius:6px;touch-action:none}
.n-grip:active{cursor:grabbing;background:rgba(var(--ov-rgb),.06)}
.n-grip i{width:3px;height:3px;border-radius:50%;background:var(--text-muted)}
.n-selbar-sep{width:1px;height:20px;background:var(--t-line2);margin:0 3px;flex:none}
.n-colb{position:relative;display:flex!important;flex-direction:column;gap:1px;padding-top:3px}
.n-colb i{position:static;width:16px!important;height:3px!important;border-radius:2px;box-shadow:0 0 0 1px rgba(var(--ov-rgb),.15)}
.n-wb{display:flex!important;gap:5px;padding:0 7px}
.n-wb i{width:14px;background:currentColor;border-radius:2px}
.n-w b{font:700 11px var(--font)}
.n-w svg{flex:none}
.n-palpop{padding:10px;width:auto}
.n-pal{display:grid;grid-template-columns:repeat(8,22px);gap:5px}
.n-pal-c{width:22px;height:22px;border-radius:6px;border:1px solid rgba(var(--ov-rgb),.18);transition:transform .15s var(--spring)}
.n-pal-c:hover{transform:scale(1.12)}
.n-pal-c.on{box-shadow:0 0 0 2px var(--n-pop-bg,var(--surface)),0 0 0 4px var(--text)}
.n-pal-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:10px;font:600 12.5px var(--font);color:var(--text-secondary)}
.n-pal-row input[type=color]{width:34px;height:24px;border:0;padding:0;background:none;cursor:pointer}
.n-pal-row input[type=range]{width:120px;accent-color:var(--text)}
.n-lspop{padding:4px;min-width:120px;display:flex;flex-direction:column}
.n-lspop button{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:7px;font:600 13px var(--font);color:var(--text-secondary);text-align:left}
.n-lspop button i{display:block;width:22px;background:currentColor;border-radius:2px}
.n-lspop button:hover{background:rgba(var(--ov-rgb),.06);color:var(--text)}
.n-lspop button.on{color:var(--t-text);background:rgba(var(--ov-rgb),.09)}
.n-txtpop{padding:6px}
.n-txtpop input{width:220px;height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--t-line2);background:transparent;color:var(--t-text);font:600 13px var(--font);outline:none}
.n-txtpop input:focus{border-color:var(--t-line3)}
/* object tree */
.n-tb{position:relative}
.n-tb-n{position:absolute;right:1px;top:1px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;font:800 9px/14px var(--font);font-style:normal;text-align:center;background:var(--btn-bg);color:var(--btn-fg)}
.n-objs{width:280px;padding:6px}
.n-objs-h{display:flex;align-items:center;justify-content:space-between;padding:6px 8px 8px;font:700 13.5px var(--font)}
.n-objs-h small{font:700 12px var(--font);color:var(--text-muted)}
.n-objs-e{padding:14px 8px;font:500 13px var(--font);color:var(--text-muted)}
.n-objs-l{max-height:min(360px,60vh);overflow:auto;display:flex;flex-direction:column;gap:1px}
.n-obj{display:flex;align-items:center;gap:8px;height:34px;padding:0 4px 0 8px;border-radius:8px;cursor:pointer;font:600 13px var(--font);color:var(--text-secondary)}
.n-obj:hover{background:rgba(var(--ov-rgb),.05);color:var(--text)}
.n-obj.on{background:rgba(var(--ov-rgb),.09);color:var(--text)}
.n-obj.off{opacity:.5}
.n-obj>i{width:8px;height:8px;border-radius:50%;flex:none}
.n-obj>span{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.n-obj button{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--text-muted);opacity:.0;transition:opacity .15s,background .15s}
.n-obj:hover button,.n-obj.off button,.n-obj button:focus{opacity:1}
.n-obj button:hover{background:rgba(var(--ov-rgb),.08);color:var(--text)}
.n-obj button.danger:hover{color:var(--down)}
@media (hover:none){.n-obj button{opacity:1}}
/* v96 multi-chart grid */
.mk-grid{display:grid;gap:6px;min-width:0;min-height:0;height:100%}
.mk-grid.g1{grid-template:minmax(0,1fr)/minmax(0,1fr)}
.mk-grid.g2v{grid-template:minmax(0,1fr)/repeat(2,minmax(0,1fr))}
.mk-grid.g2h{grid-template:repeat(2,minmax(0,1fr))/minmax(0,1fr)}
.mk-grid.g3{grid-template:repeat(2,minmax(0,1fr))/minmax(0,1.6fr) minmax(0,1fr)}
.mk-grid.g3>:first-child{grid-row:1/3}
.mk-grid.g3v{grid-template:minmax(0,1fr)/repeat(3,minmax(0,1fr))}
.mk-grid.g4{grid-template:repeat(2,minmax(0,1fr))/repeat(2,minmax(0,1fr))}
.mk-grid.g6{grid-template:repeat(2,minmax(0,1fr))/repeat(3,minmax(0,1fr))}
.mk-grid.g8{grid-template:repeat(2,minmax(0,1fr))/repeat(4,minmax(0,1fr))}
@media (min-width:1024px){.mk-grid>.n-live{height:auto;min-height:0}}
.mk-grid:not(.g1)>.n-live.act{border-color:var(--t-text);box-shadow:0 0 0 1px var(--text)}
.mk-gpop{width:268px;padding:10px}
.mk-gpop-h{font:700 11.5px var(--font);letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:2px 2px 8px}
.mk-gpop-h:not(:first-child){margin-top:14px}
.mk-grids{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mk-grids button{position:relative;display:grid;place-items:center;height:40px;border-radius:9px;border:1px solid var(--t-line2);color:var(--text-secondary);transition:background .15s,color .15s,border-color .15s,transform .2s var(--spring)}
.mk-grids button:hover{color:var(--t-text);border-color:var(--t-line3)}
.mk-grids button:active{transform:scale(.94)}
.mk-grids button.on{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.mk-grids button small{position:absolute;right:5px;top:3px;font:800 9.5px var(--font);opacity:.6}
.mk-gsw{display:flex;align-items:center;justify-content:space-between;gap:10px;height:34px;padding:0 4px;font:600 13.5px var(--font);color:var(--t-text);cursor:pointer}
.mk-gsw input{position:absolute;opacity:0;pointer-events:none}
.mk-gsw i{position:relative;width:34px;height:20px;border-radius:999px;background:rgba(var(--ov-rgb),.18);transition:background .2s;flex:none}
.mk-gsw i::after{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .2s var(--spring)}
.mk-gsw input:checked+i{background:var(--text)}
.mk-gsw input:checked+i::after{transform:translateX(14px)}
@media (max-width:1023px){.mk-grid{display:block;height:auto}}
.mk-bar{display:flex;align-items:center;gap:10px;min-width:0}
.mk-bar-r{margin-left:auto;display:flex;align-items:center;gap:4px;padding:3px;border-radius:12px;background:rgba(var(--fg-rgb),.05);border:1px solid var(--t-line)}
.mk-bar-r .n-btn{height:32px;min-width:32px}
.mk-gsw i{background:rgba(var(--fg-rgb),.22)}
@media (max-width:1023px){.mk-bar{flex-wrap:wrap}.mk-bar .mk-tabs{flex:1 1 100%}.mk-bar-r{margin-left:0}}
.mk-name{display:flex;align-items:center;gap:8px;height:32px;padding:0 8px 0 10px;border-radius:9px;color:var(--t-text);text-align:left;transition:background .15s}
.mk-name:hover,.mk-name.on{background:rgba(var(--ov-rgb),.07)}
.mk-name span{display:flex;flex-direction:column;line-height:1.1}
.mk-name b{font:700 13px var(--font);max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-name small{font:600 10.5px var(--font);color:var(--text-muted)}
.mk-svpop{width:280px;padding:5px;display:flex;flex-direction:column}
.mk-svpop>button{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border-radius:8px;font:600 13.5px var(--font);color:var(--t-text);text-align:left}
.mk-svpop>button:hover{background:rgba(var(--ov-rgb),.06)}
.mk-svpop kbd{margin-left:auto}
.mk-sv-h{margin:8px 10px 4px;padding-top:8px;border-top:1px solid var(--t-line);font:700 11px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}
.mk-sv-l{max-height:260px;overflow:auto;display:flex;flex-direction:column;gap:1px}
.mk-sv{display:flex;align-items:center;gap:8px;padding:6px 6px 6px 10px;border-radius:8px;cursor:pointer}
.mk-sv:hover{background:rgba(var(--ov-rgb),.06)}
.mk-sv.on{background:rgba(var(--ov-rgb),.1)}
.mk-sv span{flex:1;display:flex;flex-direction:column}
.mk-sv b{font:700 13px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-sv small{font:500 11.5px var(--font);color:var(--text-muted)}
.mk-sv button{width:26px;height:26px;border-radius:7px;display:grid;place-items:center;color:var(--text-muted)}
.mk-sv button:hover{background:rgba(var(--ov-rgb),.08);color:var(--down)}
.mk-ren{padding:6px}.mk-ren input{width:100%;height:36px;padding:0 10px;border-radius:8px;border:1px solid var(--t-line3);background:transparent;color:var(--t-text);font:600 13.5px var(--font);outline:none}
.n-favbar{position:absolute;z-index:6;display:flex;align-items:center;gap:2px;padding:3px;border-radius:10px;background:var(--n-pop-bg,var(--surface));border:1px solid var(--border);box-shadow:0 12px 32px -12px rgba(0,0,0,.35);animation:nFavIn .24s var(--ease) both}
@keyframes nFavIn{from{opacity:0;transform:translateY(-4px)}}
@media (max-width:1023px){.n-favbar{display:none}}
.nb-wrap .n-modal-wrap,body>.n-modal-wrap:last-child{z-index:320}
/* narrow cells (6/8-chart layouts): keep legend rows on one line instead of wrapping letter by letter */
.n-leg-row{white-space:nowrap;max-width:100%;min-width:0;overflow:hidden}
.n-leg-row>*{flex:none}
.n-leg-row>.n-leg-v{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.mk-grid.g6 .n-leg-v,.mk-grid.g8 .n-leg-v{display:none}
.mk-grid.g8 .n-legend{max-width:calc(100% - 64px)}
/* drawing settings dialog */
.n-dset{width:min(440px,calc(100vw - 24px))}
.n-dset-tabs{padding:0 16px;margin-top:2px}
.n-dset-b{padding:12px 18px 6px;display:flex;flex-direction:column;gap:4px;max-height:min(62vh,520px);overflow:auto}
.n-dset-col{display:inline-flex;align-items:center;gap:8px;height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--t-line2);font:700 12.5px var(--font);color:var(--text)}
.n-dset-col i{width:18px;height:18px;border-radius:6px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.15)}
.n-grid10{display:flex;flex-direction:column;gap:3px;padding:8px;margin:2px 0 6px;border-radius:12px;border:1px solid var(--t-line)}
.n-grid10>div{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}
.n-grid10 button{aspect-ratio:1;border-radius:5px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08);transition:transform .12s}
.n-grid10 button:hover{transform:scale(1.18);position:relative;z-index:1}
.n-grid10 button.on{box-shadow:0 0 0 2px var(--surface),0 0 0 3.5px var(--text)}
.n-dset-rng{display:flex;align-items:center;gap:10px}.n-dset-rng input{width:150px;accent-color:var(--text)}.n-dset-rng b{min-width:38px;text-align:right;font:700 12px var(--font)}
.n-dset-fld{display:flex;flex-direction:column;gap:6px;font:700 12px var(--font);color:var(--text-secondary)}
.n-dset-fld textarea{min-height:72px;padding:10px 12px;border-radius:12px;border:1px solid var(--t-line2);background:transparent;color:var(--t-text);font:600 13.5px var(--font);resize:vertical;outline:none}
.n-dset-fld textarea:focus,.n-dset-num:focus{border-color:var(--text)}
.n-dset-num{width:140px;height:34px;padding:0 10px;border-radius:10px;border:1px solid var(--t-line2);background:transparent;color:var(--t-text);font:700 13px var(--font);outline:none;font-variant-numeric:tabular-nums}
.n-dset-pts .n-set-row span small{display:block;font:600 11px var(--font);color:var(--text-muted)}
.n-goto{width:min(380px,calc(100vw - 24px))}
.n-goto-b{padding:14px 18px 6px;display:flex;flex-direction:column;gap:10px}
.n-goto-b input{height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--t-line2);background:transparent;color:var(--t-text);font:700 14px var(--font);outline:none;color-scheme:light dark}
.n-goto-b input:focus{border-color:var(--text)}
.n-goto-q{display:flex;flex-wrap:wrap;gap:6px}.n-goto-q button{height:30px;padding:0 10px;border-radius:9px;border:1px solid var(--t-line2);font:700 12px var(--font);color:var(--text-secondary)}.n-goto-q button:hover{color:var(--t-text);border-color:var(--t-line3)}
/* side panel tabs + data window */
.mk-stabs{display:flex;gap:2px;padding:3px;border-radius:11px;background:rgba(var(--ov-rgb),.05)}
.mk-stabs button{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 10px;border-radius:9px;font:800 13px var(--font);color:var(--text-secondary);transition:background .15s,color .15s}
.mk-stabs button.on{background:var(--surface);color:var(--t-text);box-shadow:var(--shadow-sm)}
.mk-stabs .mk-cnt{margin:0}
.mk-side-h.data .n-btn{display:none}
.mk-dw{flex:1;min-height:0;overflow:auto;padding:8px 14px 14px;display:flex;flex-direction:column;gap:1px}
.mk-dw-h{display:flex;flex-direction:column;gap:2px;padding:6px 0 10px;border-bottom:1px solid var(--t-line);margin-bottom:6px}
.mk-dw-h b{font:800 14px var(--font)}.mk-dw-h span{font:600 12px var(--font);color:var(--text-muted);font-variant-numeric:tabular-nums}
.mk-dw-r{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:28px;font:600 12.5px var(--font)}
.mk-dw-r span{color:var(--text-secondary);display:flex;align-items:center;gap:7px;min-width:0}
.mk-dw-r span i{width:8px;height:8px;border-radius:3px;flex:none}
.mk-dw-r b{font-weight:700;font-variant-numeric:tabular-nums;text-align:right}
.mk-dw-r b.up{color:var(--up)}.mk-dw-r b.dn{color:var(--down)}
.mk-dw-r.ind{border-top:1px dashed var(--t-line)}
.mk-dw-n{margin-top:10px;font:600 11.5px var(--font);color:var(--text-muted)}
.mk-dw-r.ind{align-items:flex-start;padding:5px 0}
.mk-dw-r.ind>span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding-top:1px}
.mk-dw-r.ind b{display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.mk-dw-r.ind b span{color:inherit;display:block}
/* compare chips */
.n-cmp{position:absolute;left:10px;bottom:36px;z-index:4;display:flex;flex-wrap:wrap;gap:6px;max-width:calc(100% - 100px);pointer-events:none}
.n-cmp-i{pointer-events:auto;display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 4px 0 8px;border-radius:9px;background:var(--n-pop-bg,var(--surface));border:1px solid var(--t-line2);font:700 11.5px var(--font);box-shadow:var(--shadow-sm)}
.n-cmp-i i{width:10px;height:3px;border-radius:2px}
.n-cmp-i em{font-style:normal;font-variant-numeric:tabular-nums}.n-cmp-i em.up{color:var(--up)}.n-cmp-i em.dn{color:var(--down)}
.n-cmp-i button{width:20px;height:20px;border-radius:6px;display:grid;place-items:center;color:var(--text-muted)}.n-cmp-i button:hover{background:rgba(var(--ov-rgb),.08);color:var(--text)}
/* watchlists */
.mk-wl{padding:2px 10px 4px 10px}
.mk-wl-b{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:10px;font:700 13px var(--font);color:var(--t-text);max-width:100%}
.mk-wl-b b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.mk-wl-b:hover,.mk-wl-b.on{background:rgba(var(--ov-rgb),.06)}
.mk-wl-pop{min-width:240px;padding:6px}
.mk-wl-i{display:flex;align-items:center;gap:2px;border-radius:9px}
.mk-wl-i.on{background:rgba(var(--ov-rgb),.06)}
.mk-wl-n{flex:1;display:flex;color:var(--t-text);background:none;border:0;cursor:pointer;align-items:center;justify-content:space-between;gap:8px;height:34px;padding:0 10px;border-radius:9px;font:700 13px var(--font);text-align:left;min-width:0}
.mk-wl-n b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mk-wl-n small{color:var(--text-muted);font-weight:700}
.mk-wl-i input{flex:1 1 auto;width:100%;min-width:150px;box-sizing:border-box;height:32px;margin:1px 4px;padding:0 8px;border-radius:8px;border:1px solid var(--t-text);background:transparent;color:var(--t-text);font:700 13px var(--font);outline:none;min-width:0}
.mk-wl-a{width:28px;height:28px;flex:none;background:none;border:0;cursor:pointer;border-radius:8px;display:grid;place-items:center;color:var(--text-muted)}
.mk-wl-a:hover{background:rgba(var(--ov-rgb),.08);color:var(--text)}.mk-wl-a.danger:hover{color:var(--down)}
.mk-wl-new{display:flex;background:none;border-left:0;border-right:0;border-bottom:0;cursor:pointer;align-items:center;gap:8px;width:100%;height:34px;margin-top:4px;padding:0 10px;border-radius:9px;border-top:1px solid var(--t-line);font:700 13px var(--font);color:var(--text-secondary)}
.mk-wl-new:hover{color:var(--t-text);background:rgba(var(--ov-rgb),.05)}
.mk-tech{margin-top:14px;padding-top:10px;border-top:1px solid var(--t-line)}
.mk-tech-h{display:flex;align-items:center;gap:8px;width:100%;height:30px;font:800 13.5px var(--font);color:var(--text)}
.mk-tech-h small{font:600 11.5px var(--font);color:var(--text-muted);margin-right:auto}
.mk-gauges{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:6px}
.mk-gauge{display:flex;flex-direction:column;align-items:center;gap:1px;color:var(--t-text);text-align:center}
.mk-gauge svg{width:100%;max-width:84px}
.mk-gauge small{font:600 10.5px var(--font);color:var(--text-muted)}
.mk-gauge b{font:800 11.5px/1.2 var(--font)}.mk-gauge b.up{color:var(--up)}.mk-gauge b.dn{color:var(--down)}
.mk-tech-c{display:flex;justify-content:space-between;gap:6px;margin-top:8px;font:700 11.5px var(--font);color:var(--text-secondary)}
.mk-tech-c .up{color:var(--up)}.mk-tech-c .dn{color:var(--down)}
.mk-tech-d{margin-top:8px}.mk-tech-d summary{cursor:pointer;font:700 12px var(--font);color:var(--text-secondary);padding:4px 0}
.na-err{margin:-2px 0 2px;font:700 12.5px var(--font);color:var(--down)}
.na-row input.bad{border-color:var(--down)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--down) 18%,transparent)}
.n-keys{width:min(620px,calc(100vw - 24px))}
.n-keys-b{padding:8px 20px 18px;max-height:min(70vh,600px);overflow:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px 24px}
.n-keys-b h4{margin:12px 0 4px;font:800 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.n-keys-r{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:30px;font:600 13px var(--font);color:var(--text-secondary)}
.n-keys-r kbd{flex:none;padding:2px 7px;border-radius:7px;border:1px solid var(--t-line2);font:700 11.5px var(--font);color:var(--t-text);background:rgba(var(--ov-rgb),.04)}
@media (max-width:640px){.n-keys-b{grid-template-columns:1fr}}
.na-ch{display:flex;flex-direction:column;gap:6px}.na-ch>span{font:700 12px var(--font);color:var(--text-secondary)}

.n-chips.ex{padding-top:0}.n-chips.ex button{height:26px;font-size:11.5px}
.n-srow em.perp{color:var(--accent-ink,#B7791F)}
.n-sym-ex{font-size:10.5px;font-weight:700;color:var(--t-muted);margin-left:2px}
/* market simulator (bar replay) */
.nrp{position:absolute;left:50%;bottom:44px;transform:translateX(-50%);z-index:30;display:flex;align-items:center;gap:2px;padding:4px;border-radius:12px;background:var(--t-solid,var(--surface));border:1px solid var(--border);box-shadow:0 10px 32px -8px rgba(0,0,0,.35);font-size:12.5px;max-width:calc(100% - 24px);overflow-x:auto;scrollbar-width:none;white-space:nowrap}
.nrp-b{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:8px;border:0;background:none;color:var(--t-text);font:600 12.5px var(--font);cursor:pointer;flex:none}
.nrp-b.icon{width:34px;padding:0;justify-content:center}
.nrp-b:hover:not(:disabled){background:var(--surface,rgba(127,127,127,.12))}
.nrp-b:disabled{opacity:.38;cursor:default}
.nrp-b.on{color:#2D7FF9;background:rgba(45,127,249,.12)}
.nrp-play{color:#2D7FF9}
.nrp-sep{width:1px;height:22px;background:var(--border);margin:0 4px;flex:none}
.nrp-tf{font:700 12px var(--font);color:var(--t-muted);padding:0 6px}
.nrp-buy,.nrp-sell{flex-direction:column;gap:0;line-height:1.1;padding:0 12px;color:#fff!important;min-width:76px}
.nrp-buy{background:#2D7FF9!important}.nrp-sell{background:#E5484D!important}.nrp-buy:hover,.nrp-sell:hover{filter:brightness(1.08)}
.nrp-buy small,.nrp-sell small{font-weight:600;font-size:10.5px;opacity:.85;font-variant-numeric:tabular-nums}
.nrp-usd{display:inline-flex;align-items:center;height:34px;border:1px solid var(--border);border-radius:8px;padding-left:8px;margin:0 2px;color:var(--t-muted)}
.nrp-usd input{width:74px;height:32px;border:0;background:transparent;color:var(--t-text);font:600 12.5px var(--font);padding:0 6px;outline:0}
.nrp-pnl,.nrp-pos{display:flex;flex-direction:column;line-height:1.2;padding:0 8px;font-variant-numeric:tabular-nums}
.nrp-pnl small,.nrp-pos small{color:var(--t-muted);font-size:11px}.nrp-pnl em{font-style:normal}
.nrp .up{color:var(--up)}.nrp .dn{color:var(--down)}
.nrp .n-pop button{display:flex;align-items:center;gap:8px}.nrp .n-pop button small{margin-left:auto;color:var(--t-muted);font-size:11px;padding-left:12px}.nrp .n-pop button.on{color:#2D7FF9}
.nrp-sel{position:absolute;left:0;top:0;right:0;pointer-events:none;z-index:20}
.nrp-sel i{position:absolute;top:0;bottom:0;width:0;border-left:2px solid #2D7FF9}
.nrp-sel b{position:absolute;top:0;bottom:0;background:rgba(45,127,249,.10)}
.nrp-tip{position:absolute;left:50%;top:14px;transform:translateX(-50%);z-index:25;pointer-events:none;padding:7px 12px;border-radius:9px;background:var(--t-solid,var(--surface));border:1px solid var(--border);font-size:12.5px;box-shadow:0 8px 24px -10px rgba(0,0,0,.3)}
.nrp-date{position:absolute;left:50%;bottom:96px;transform:translateX(-50%);z-index:31;display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:var(--t-solid,var(--surface));border:1px solid var(--border);box-shadow:0 12px 32px -10px rgba(0,0,0,.35);font-size:13px}
.nrp-date input{height:32px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--t-text);padding:0 8px;font:inherit}
.nrp-date div{display:flex;gap:6px;justify-content:flex-end}.nrp-go{background:#2D7FF9!important;color:#fff!important}
@media (max-width:760px){.nrp{bottom:36px;left:8px;right:8px;transform:none;max-width:none}.nrp-pick span,.nrp-tf,.nrp-pos{display:none}.nrp-b{padding:0 8px}.nrp-buy,.nrp-sell{min-width:64px}}
/* paper trading */
.npp-mode{flex:0 1 auto!important;font-size:11.5px;padding:2px 8px;border-radius:999px;background:rgba(45,127,249,.12);color:#2D7FF9!important}.npp-mode.rp{background:rgba(245,166,35,.15);color:#B7791F!important}
.npp-kpi{flex:none!important;color:var(--t-muted);font-size:12px}.npp-kpi b{color:var(--t-text);margin-left:4px;font-variant-numeric:tabular-nums}
.npp-cfg{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;padding:8px 10px;border-bottom:1px solid var(--border)}.npp-cfg label{display:flex;flex-direction:column;gap:3px;font-size:11.5px;color:var(--t-muted)}.npp-cfg input,.npp-cfg select{height:30px;width:120px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--t-text);padding:0 8px}
.npp-side{display:grid;grid-template-columns:1fr 1fr;gap:6px}.npp-side button{height:44px;border-radius:10px;border:1px solid var(--border);font:700 13px var(--font);display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15;color:var(--text)}.npp-side small{font-weight:600;font-size:11px;opacity:.8}
.npp-side button.on.buy{background:var(--up);border-color:var(--up);color:#fff}.npp-side button.on.sell{background:var(--down);border-color:var(--down);color:#fff}
[data-theme=dark] .npp-side button.on.buy,[data-theme=dark] .npp-side button.on.sell{color:#08110d}
.npp-type{display:inline-flex;border:1px solid var(--border);border-radius:9px;overflow:hidden}.npp-type button{flex:1;height:30px;font:700 12px var(--font);color:var(--t-muted)}.npp-type button.on{background:var(--t-text);color:var(--t-solid,#0b0d12)}
.npp-ticket label span i{font-style:normal;margin-left:6px;color:var(--t-muted)}
.npp-ticket .na-err{font-style:normal;color:var(--down);font-size:11.5px}
.npp-go.buy{background:var(--up)!important;color:#fff!important}.npp-go.sell{background:var(--down)!important;color:#fff!important}
[data-theme=dark] .npp-go.buy,[data-theme=dark] .npp-go.sell{color:#08110d!important}
.npp-row{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1.2fr) 90px 84px;gap:8px;align-items:center;padding:7px 4px;border-bottom:1px solid var(--border);font-size:12.5px;font-variant-numeric:tabular-nums}
.npp-row small{display:block;color:var(--t-muted);font-size:11px}.npp-row>b{text-align:right}
.npp-sum{font-size:12.5px;color:var(--t-muted)}.npp-sum b{color:var(--text)}
.npp .up{color:var(--up)}.npp .dn{color:var(--down)}
@media (max-width:760px){.npp-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 70px;}.npp-row>span:nth-child(3){display:none}.npp-row>button{grid-column:1/-1}.npp-kpi.hide-xs{display:none}}
.nt-cfg>*{flex-shrink:0}
/* pine editor */
.npe{max-height:58%;min-height:280px}
.npe .nt-h{flex-wrap:wrap}.npe-sel{max-width:200px;height:30px}.npe-name{height:30px;min-width:120px;flex:1 1 140px;max-width:260px;border:1px solid var(--t-line);border-radius:8px;background:transparent;color:var(--t-text);padding:0 8px;font:inherit;font-size:12.5px}
.npe .nt-h span.n-rel{flex:none;color:inherit;overflow:visible}
.npe-b{display:grid;grid-template-columns:minmax(0,1fr) 290px;min-height:0;flex:1;overflow:hidden}
.npe-code{display:flex;min-height:0;border-right:1px solid var(--t-line);background:var(--t-panel2,transparent)}
.npe-gut{flex:none;width:42px;overflow:hidden;padding:10px 6px 10px 0;text-align:right;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;color:var(--t-muted);user-select:none}
.npe-gut span{display:block}.npe-gut span.err{color:#fff;background:var(--down,#E5484D);border-radius:4px}
.npe-code textarea{flex:1;min-width:0;resize:none;border:0;outline:0;background:transparent;color:var(--t-text);padding:10px 10px 10px 8px;font:12.5px/1.55 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;overflow:auto;tab-size:4}
.npe-side{padding:10px;overflow:auto;display:flex;flex-direction:column;gap:8px;min-width:0}
.npe-hint{color:var(--t-muted);font-size:11px}
.npe-err{border:1px solid rgba(229,72,77,.4);background:rgba(229,72,77,.08);border-radius:10px;padding:8px 10px;font-size:12.5px;color:var(--t-text)}.npe-err b{display:block;color:var(--down,#E5484D);margin-bottom:2px}
.npe-ok{border:1px solid rgba(31,158,120,.35);background:rgba(31,158,120,.07);border-radius:10px;padding:8px 10px;font-size:12px;color:var(--t-muted)}.npe-ok b{display:block;color:var(--t-text)}.npe-ok small{display:block;margin-top:4px}
.npe-inputs{display:flex;flex-direction:column;gap:6px;font-size:12px}.npe-inputs label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--t-muted)}.npe-inputs input[type=number],.npe-inputs input[type=text],.npe-inputs select{width:110px;height:28px;border:1px solid var(--t-line);border-radius:7px;background:transparent;color:var(--t-text);padding:0 6px}
.npe-help{font-size:11.5px;color:var(--t-muted);line-height:1.45}.npe-help b{color:var(--t-text);display:block;margin-top:4px}.npe-help p{margin:2px 0 6px}
@media (max-width:760px){.npe{position:fixed;left:0;right:0;bottom:calc(64px + env(safe-area-inset-bottom));max-height:min(74vh, calc(100dvh - 300px));min-height:260px;z-index:400;background:var(--t-solid);border-radius:16px 16px 0 0;box-shadow:0 -12px 40px rgba(0,0,0,.25)}.npe-b{grid-template-columns:1fr;overflow:auto}.npe-code{height:46vh;border-right:0;border-bottom:1px solid var(--t-line)}.npe-side{overflow:visible}}

.n-live>.n-body{min-height:180px}

/* bottom panel dock: resizable / maximizable (desktop) */
.n-dock{position:relative;flex:none;min-height:170px;max-height:calc(100% - 120px);display:flex;flex-direction:column}
.n-dock>.nt{flex:1;max-height:none;min-height:0}
.n-dock>.nt .nt-h{padding-right:46px}
.n-dock.max{flex:1;max-height:none;height:auto}
.n-live.dmax>.n-body{flex:0 0 0;min-height:0!important;overflow:hidden}
.n-dock-grip{position:absolute;left:0;right:0;top:-5px;height:10px;cursor:ns-resize;z-index:6;outline:0}
.n-dock-grip::after{content:'';position:absolute;left:50%;top:3px;width:44px;height:4px;margin-left:-22px;border-radius:4px;background:var(--t-line,var(--border));opacity:0;transition:opacity .2s}
.n-dock:hover>.n-dock-grip::after,.n-dock-grip:focus-visible::after,.n-dock.drag>.n-dock-grip::after{opacity:1}
.n-dock-grip:focus-visible::before,.n-dock.drag>.n-dock-grip::before{content:'';position:absolute;left:0;right:0;top:4px;height:2px;background:var(--accent,#3b82f6)}
.n-dock.drag{user-select:none}
.n-dock-max{position:absolute;right:8px;top:6px;z-index:5}
.n-dock>.nt .nt-h .n-x{margin-left:auto}
.nt-h .n-btn span,.nt-h .n-rel{flex:none!important;overflow:visible!important;color:inherit!important;white-space:nowrap}
.npe .nt-h{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.npe .nt-h>*{flex:none}.npe .nt-h .npe-name{flex:1 1 140px}
.npe-acts{display:flex;gap:6px;flex-wrap:wrap}.npe-acts>*{flex:1 1 auto;justify-content:center}
.npe-ai{border:1px solid var(--t-line,var(--border));border-radius:10px;padding:8px;display:flex;flex-direction:column;gap:6px;font-size:12px}
.npe-ai>b{display:flex;align-items:center;gap:6px}
.npe-lock{margin-left:auto;font-style:normal;font-size:10.5px;font-weight:700;padding:2px 7px;border-radius:999px;background:rgba(201,163,91,.15);color:#c9a35b}
.npe-ai textarea{resize:vertical;min-height:44px;border:1px solid var(--t-line,var(--border));border-radius:8px;background:transparent;color:var(--t-text);padding:6px 8px;font:inherit;font-size:12.5px}
.npe-ai-ans{display:flex;flex-direction:column;gap:6px}.npe-ai-ans p{margin:0;white-space:pre-wrap;line-height:1.45}
.npe-ai-ans pre{margin:0;max-height:180px;overflow:auto;padding:8px;border-radius:8px;background:var(--surface);font:11.5px/1.5 ui-monospace,Menlo,Consolas,monospace}
.npe-ai-ans small{color:var(--t-muted);font-size:11px}
.npe-b{grid-template-columns:minmax(0,1fr) 320px}
@media (max-width:760px){.n-dock{height:auto!important;min-height:0;max-height:none;position:static;flex:none}.n-dock-grip,.n-dock-max{display:none}.n-dock>.nt{flex:none}.n-dock>.nt .nt-h{padding-right:10px}}
/* watchlist list menu: .n-pop button{width:100%} must not stretch the row action buttons (squeezed the rename field) */
.mk-wl-pop .mk-wl-i>.mk-wl-a{width:28px;height:28px;flex:none;padding:0;justify-content:center;color:var(--text-muted)}
.mk-wl-pop .mk-wl-i>.mk-wl-n{width:auto;flex:1 1 auto;justify-content:space-between;color:var(--t-text);min-width:0}
.mk-wl-pop .mk-wl-i>input{flex:1 1 auto;min-width:150px}
/* top chart toolbar: grouped like the header of a professional charting platform */
.n-sep{flex:none;width:1px;height:22px;background:var(--t-line,var(--border));margin:0 2px}
.n-top .n-px{display:none}
.n-top .n-btn{color:var(--t-text)}
.n-top .n-btn.icon{width:34px;padding:0;justify-content:center}
.n-pub{background:#2962FF;color:#fff!important;border-radius:8px;padding:0 14px;font-weight:700}
.n-pub:hover{background:#1E53E5}
/* bottom panel tabs */
.n-btabs{flex:none;display:flex;align-items:center;gap:2px;height:34px;padding:0 6px;border-top:1px solid var(--t-line,var(--border));background:var(--t-panel);overflow-x:auto;scrollbar-width:none}
.n-btabs>button{height:28px;padding:0 10px;border-radius:6px;border:0;background:none;font:600 12.5px var(--font);color:var(--text-secondary);white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:6px}
.n-btabs>button:hover{background:rgba(var(--ov-rgb),.06);color:var(--t-text)}
.n-btabs>button.on{color:var(--t-text);background:rgba(var(--ov-rgb),.09)}
.n-btabs>button em{font-style:normal;font:700 10.5px var(--font);min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#2962FF;color:#fff;display:inline-grid;place-items:center}
.n-btabs .n-btabs-x{margin-left:auto;width:28px;padding:0;justify-content:center}
@media (max-width:760px){.n-btabs{height:38px}.n-btabs>button{height:32px}}
@container (max-width:1180px){.n-live .tb-l{display:none}}
.n-top{gap:3px}.n-pub{padding:0 11px}.n-sep{margin:0 1px}
/* symbol search dialog (layout of a pro charting platform) */
.tvs{width:min(800px,100%);height:min(640px,86vh);max-height:none}
.tvs-h{display:flex;align-items:center;justify-content:space-between;padding:16px 20px 8px}.tvs-h b{font:700 20px var(--font)}
.tvs-in{display:flex;align-items:center;gap:10px;margin:4px 20px 0;padding:0 2px 10px;border-bottom:1px solid var(--t-line);color:var(--t-muted)}
.tvs-in input{flex:1;min-width:0;height:40px;border:0;outline:0;background:transparent;color:var(--t-text);font:600 17px var(--font);text-transform:uppercase}
.tvs-in input::placeholder{text-transform:none;font-weight:500}
.tvs-clr{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;color:var(--t-muted);border:0;background:none;cursor:pointer}.tvs-clr:hover{background:rgba(var(--ov-rgb),.08)}
.tvs-tabs{display:flex;align-items:center;gap:4px;padding:10px 16px;overflow-x:auto;scrollbar-width:none;flex:none}
.tvs-tabs>button,.tvs-src>button{height:30px;padding:0 12px;border-radius:999px;border:0;background:rgba(var(--ov-rgb),.06);font:600 13px var(--font);color:var(--t-text);white-space:nowrap;cursor:pointer}
.tvs-tabs>button.on{background:var(--t-text);color:var(--t-solid,#fff)}
.tvs-src{margin-left:auto;flex:none}.tvs-src>button{display:inline-flex;align-items:center;gap:6px;background:none;border:1px solid var(--t-line)}.tvs-src>button.on{border-color:var(--t-text)}
.tvs-list{padding:0;border-top:1px solid var(--t-line)}
.tvs-row{display:grid;grid-template-columns:24px 120px minmax(0,1fr) auto auto 28px;align-items:center;gap:12px;height:44px;padding:0 20px;border-bottom:1px solid var(--t-line);cursor:pointer;font-size:13px}
.tvs-row.cur{background:rgba(var(--ov-rgb),.06)}
.tvs-sym{font:700 14px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tvs-desc{color:var(--t-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;font-size:12.5px}
.tvs-type{color:var(--t-muted);font-size:12px;white-space:nowrap}
.tvs-ex{font:600 12.5px var(--font);white-space:nowrap;text-align:right;min-width:70px}
.tvs-row mark{background:none;color:#2962FF}
.tvs-row .n-star{opacity:0}.tvs-row:hover .n-star,.tvs-row .n-star.on{opacity:1}
.tvs-f{flex:none;padding:10px 20px;border-top:1px solid var(--t-line);font-size:12px;color:var(--t-muted);text-align:center}
@media (max-width:640px){.tvs{height:100%;border-radius:0}.tvs-row{grid-template-columns:24px minmax(0,1fr) auto 28px;padding:0 14px}.tvs-desc,.tvs-type{display:none}.tvs-h,.tvs-in{padding-left:14px;padding-right:14px;margin-left:0;margin-right:0}}
/* indicators dialog */
.tvi{width:min(800px,100%);height:min(620px,86vh);max-height:none;display:flex;flex-direction:column}
.tvi-b{flex:1;min-height:0;display:flex;border-top:1px solid var(--t-line);margin-top:10px}
.tvi-side{flex:none;width:210px;padding:8px;border-right:1px solid var(--t-line);overflow-y:auto;display:flex;flex-direction:column;gap:1px}
.tvi-side small{padding:12px 10px 4px;font:600 11px var(--font);color:var(--t-muted);text-transform:uppercase;letter-spacing:.06em}
.tvi-side button{display:flex;align-items:center;gap:9px;height:34px;padding:0 10px;border-radius:6px;border:0;background:none;font:500 13.5px var(--font);color:var(--t-text);cursor:pointer;text-align:left}
.tvi-side button.sub{padding-left:34px}
.tvi-side button:hover{background:rgba(var(--ov-rgb),.06)}.tvi-side button.on{background:rgba(var(--ov-rgb),.1);font-weight:700}
.tvi-side em{margin-left:auto;font-style:normal;font:600 11.5px var(--font);color:var(--t-muted)}
.tvi-list{flex:1;min-width:0;overflow-y:auto}
.tvi-cap{padding:12px 16px 6px;font:600 11px var(--font);color:var(--t-muted);text-transform:uppercase;letter-spacing:.06em}
.tvi-row{display:flex;align-items:center;gap:10px;height:38px;padding:0 16px 0 10px;cursor:pointer;font-size:13.5px}
.tvi-row.cur{background:rgba(var(--ov-rgb),.06)}
.tvi-row .tvi-n{white-space:nowrap;font-weight:500}.tvi-row small{color:var(--t-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tvi-star{flex:none;width:26px;height:26px;border:0;background:none;color:var(--t-muted);display:grid;place-items:center;cursor:pointer;opacity:0}
.tvi-row:hover .tvi-star,.tvi-row.cur .tvi-star,.tvi-star.on{opacity:1}.tvi-star.on{color:#F5A623}.tvi-star.on svg{fill:#F5A623}
.tvi-row.on{cursor:default;padding-left:16px}.tvi-row.on>i{flex:none;width:10px;height:10px;border-radius:3px}
.tvi-act{margin-left:auto;flex:none;width:30px;height:30px;border:0;background:none;color:var(--t-muted);border-radius:6px;cursor:pointer;display:grid;place-items:center}.tvi-act:hover{color:var(--down);background:rgba(var(--ov-rgb),.06)}
@media (max-width:640px){.tvi{height:100%;border-radius:0}.tvi-side{display:none}}
/* strategy tester (tabs like a pro platform) */
.ntv .ntv-h{gap:8px}.ntv-sel{max-width:280px;height:30px}
.ntv-tabs{display:flex;gap:2px;padding:0 10px;border-bottom:1px solid var(--border);flex:none;overflow-x:auto;scrollbar-width:none}
.ntv-tabs button{height:36px;padding:0 12px;border:0;background:none;font:600 13px var(--font);color:var(--text-secondary);border-bottom:2px solid transparent;white-space:nowrap;cursor:pointer}
.ntv-tabs button.on{color:var(--t-text);border-bottom-color:var(--t-text)}
.ntv-b{flex:1;min-height:0;overflow:auto}
.ntv-sum{padding:12px 14px;display:flex;flex-direction:column;gap:12px}
.ntv-kpi{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}
.ntv-kpi div{padding:10px 12px;border-right:1px solid var(--border);display:flex;flex-direction:column;gap:3px;min-width:0}.ntv-kpi div:last-child{border-right:0}
.ntv-kpi small{font-size:11.5px;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ntv-kpi b{font:700 15px var(--font);font-variant-numeric:tabular-nums;white-space:nowrap}.ntv-kpi em{font-style:normal;font-size:11.5px;color:var(--t-muted)}
.ntv .up{color:var(--up)}.ntv .dn{color:var(--down)}
.ntv-curve{border:1px solid var(--border);border-radius:8px;padding:8px;color:var(--t-text)}.ntv-curve svg{width:100%;height:180px;display:block}
.ntv-leg{display:flex;gap:16px;font-size:12px;color:var(--t-muted);padding:6px 4px 0}.ntv-leg i{display:inline-block;width:12px;height:3px;border-radius:2px;margin-right:6px;vertical-align:middle}
.ntv-tbl{padding:0 0 10px}.ntv-tbl table{width:100%;border-collapse:collapse;font-size:12.5px;font-variant-numeric:tabular-nums}
.ntv-tbl th{position:sticky;top:0;background:var(--t-panel);text-align:right;font-weight:600;color:var(--t-muted);padding:8px 12px;border-bottom:1px solid var(--border);white-space:nowrap}.ntv-tbl th:first-child{text-align:left}
.ntv-tbl td{padding:7px 12px;border-bottom:1px solid var(--border);text-align:right;white-space:nowrap}.ntv-tbl td:first-child{text-align:left}
.ntv-tbl td small{display:block;color:var(--t-muted);font-size:11px}
.ntv-trades th,.ntv-trades td{text-align:left!important}.ntv-trades tr{cursor:pointer}.ntv-trades tr.ex td{border-bottom:0}.ntv-trades tr:hover td{background:rgba(var(--ov-rgb),.04)}
.ntv-props{padding:12px 16px;max-width:760px}.ntv-props h5{margin:8px 0;font:700 13px var(--font)}
.ntv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin-bottom:12px}
.ntv-grid label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--t-muted)}
.ntv-grid input{height:32px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--t-text);padding:0 8px;font:inherit;font-size:13px}
.ntv-ok{padding-top:6px}
@media (max-width:1100px){.ntv-kpi{grid-template-columns:repeat(4,minmax(0,1fr))}.ntv-kpi div{border-bottom:1px solid var(--border)}}
@media (max-width:760px){.ntv-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* create-alert dialog */
.tva{width:min(560px,100%)}
.tva-tabs{padding:0 20px}
.tva-b{padding:16px 20px;display:flex;flex-direction:column;gap:14px;overflow-y:auto}
.tva-f{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;align-items:start}
.tva-f>span{font:600 13px var(--font);color:var(--t-muted);padding-top:8px}
.tva-f select,.tva-f textarea,.tva-cond input{height:36px;border:1px solid var(--border);border-radius:8px;background:transparent;color:var(--t-text);padding:0 10px;font:600 13.5px var(--font);width:100%;box-sizing:border-box}
.tva-f textarea{height:auto;padding:8px 10px;resize:vertical;font-weight:500}
.tva-cond{display:grid;grid-template-columns:1fr 1fr;gap:8px}.tva-cond .tva-src{grid-column:1/-1}
.tva-src{display:flex;align-items:center;gap:8px;height:36px;padding:0 10px;border:1px solid var(--border);border-radius:8px}.tva-src small{margin-left:auto;color:var(--t-muted)}
.tva-cond input.bad{border-color:var(--down)}
.tva-trig{display:flex;flex-direction:column;gap:2px;padding-top:7px}.tva-trig b{font:600 13.5px var(--font)}.tva-trig small{color:var(--t-muted);font-size:12px}
.tva-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border)}
.tva-list{max-height:52vh;overflow-y:auto;padding:8px 12px}
@media (max-width:520px){.tva-f{grid-template-columns:1fr}.tva-f>span{padding-top:0}}
.tva-f select,.tva-f textarea,.tva-cond input,.tva-src,.ntv-grid input,.ntv-grid select,.ntv-kpi,.ntv-kpi div,.ntv-curve{border:1px solid #D1D4DC!important}
[data-theme=dark] .tva-f select,[data-theme=dark] .tva-f textarea,[data-theme=dark] .tva-cond input,[data-theme=dark] .tva-src,[data-theme=dark] .ntv-grid input,[data-theme=dark] .ntv-grid select,[data-theme=dark] .ntv-kpi,[data-theme=dark] .ntv-kpi div,[data-theme=dark] .ntv-curve{border-color:#363A45!important}
.ntv-kpi div{border-width:0 1px 0 0!important}.ntv-kpi div:last-child{border-right-width:0!important}
/* watchlist: compact columns (Символ · Последняя · Изм. · Изм. %) */
.mk-lh,.mk-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) 62px!important}
.mk-lh{display:grid;gap:8px;padding:6px 12px;font:600 11.5px var(--font);color:var(--text-muted);border-bottom:1px solid var(--t-line)}
.mk-lh span:not(:first-child){text-align:right}
.mk-row{padding:0 12px!important;height:34px;border-radius:0!important;gap:8px!important}
.mk-row .mk-sym{display:flex;align-items:center;gap:8px;min-width:0}.mk-row .mk-sym b{font:700 13px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-row .mk-px,.mk-row .mk-chv,.mk-row .mk-ch{text-align:right;font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mk-row .mk-ch{font-weight:600}
.mk-list.editing .mk-row{grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,.9fr) 58px 26px!important}
.mk-side{container-type:inline-size}
@container (max-width:380px){.mk-lh,.mk-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 64px!important}.mk-lh span:nth-child(3),.mk-row .mk-chv{display:none}.mk-list.editing .mk-row{grid-template-columns:minmax(0,1.25fr) minmax(0,1fr) 58px 26px!important}}
.mk-row .mk-px{font-weight:600}
/* one-click trading buttons on the chart */
.n-oc{position:absolute;left:8px;top:30px;z-index:18;display:flex;align-items:stretch;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.15);font-variant-numeric:tabular-nums}
.n-oc button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:86px;height:40px;padding:0 10px;border:0;cursor:pointer;color:#fff;line-height:1.15}
.n-oc button small{font:700 10px var(--font);letter-spacing:.06em;opacity:.9}.n-oc button b{font:700 13px var(--font)}
.n-oc .sell{background:#F23645}.n-oc .buy{background:#2962FF}.n-oc button:hover{filter:brightness(1.08)}
.n-oc span{display:grid;place-items:center;padding:0 8px;background:var(--t-solid,#fff);color:var(--t-text);font:600 11px var(--font);border-top:1px solid #D1D4DC;border-bottom:1px solid #D1D4DC}
.n-oc{left:auto;right:84px;top:8px}
.npp .nt-h{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}
.npp .nt-h>b,.npp .nt-h .npp-mode,.npp .nt-h .npp-kpi{flex:none!important;white-space:nowrap;overflow:visible!important}
.npp .nt-h .npp-mode{max-width:none}
.n-dock-max{background:var(--t-panel)}
@media (max-width:760px){.n-top .n-sep,.n-top button[title^="Отменить"],.n-top button[title^="Повторить"],.n-top button[title^="Выдели кусок"]{display:none}}
.n-pop .n-pop-hr{display:block;height:1px;margin:4px 6px;background:var(--border)}

/* ===== phones: chart toolbar = one scrolling row (like the mobile charting apps), replay bar in two compact rows ===== */
@media (max-width:640px){
  .n-top{flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:2px!important;min-height:44px}
  .n-top::-webkit-scrollbar{display:none}
  .n-top>*{flex:none}
  .n-top-r{display:flex!important;flex:none;margin-left:0;gap:2px}
  .n-top .n-btn{min-width:36px;height:36px}
  .n-pub{padding:0 12px!important;height:32px!important;font-size:12.5px}
  .n-sym b{font-size:13.5px}
  .nrp{left:6px!important;right:6px;bottom:38px;transform:none!important;flex-wrap:wrap;justify-content:center;gap:2px 2px;padding:5px;max-width:none}
  .nrp-sep{display:none}
  .nrp-b{height:38px}.nrp-b.icon{width:38px}
  .nrp-b{height:34px}.nrp-b.icon{width:36px}
  .nrp-buy,.nrp-sell{min-width:0;flex:1 1 24%;order:5;padding:0 6px}
  .nrp-usd{order:5;flex:1 1 22%;height:34px;margin:0}.nrp-usd input{width:100%;min-width:0;height:30px}
  .nrp-usd+.nrp-b{order:6;padding:0 8px}
  .nrp-pnl{order:7;flex:1 1 100%;flex-direction:row;justify-content:center;gap:10px;padding:1px 0 0;font-size:12px}
  .nrp-pos{display:none}
  .nrp-pick span{display:none}
  .nrp-tip{top:8px;font-size:12px;max-width:86%;text-align:center}
  .nrp-date{left:8px;right:8px;transform:none;bottom:120px}
}
/* phones: Pine editor / strategy tester / trading panel open as a bottom sheet over the chart (rendered into <body>) */
@media (max-width:760px){
  .n-dock-sheet{position:fixed!important;left:0;right:0;top:16vh;bottom:calc(68px + env(safe-area-inset-bottom,0px));height:auto!important;max-height:none!important;min-height:0!important;z-index:400;display:flex;flex-direction:column;background:var(--t-solid,var(--surface));border-radius:16px 16px 0 0;box-shadow:0 -14px 44px rgba(0,0,0,.38);overflow:hidden;animation:nSheetUp .22s ease-out}
  .n-dock-sheet>.nt{position:relative!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;max-height:none!important;min-height:0!important;height:auto!important;flex:1 1 auto;overflow:auto;box-shadow:none!important;border:0!important;border-radius:0!important;z-index:auto!important;background:transparent!important;padding-bottom:0!important}
  .n-dock-sheet .nt-h{position:sticky;top:0;z-index:3;background:var(--t-solid,var(--surface))}
  .n-dock-sheet .nt-h .n-x{width:36px;height:36px}
  .n-dock-sheet .npe-b{display:flex!important;flex-direction:column}
  .n-dock-sheet .npe-code{height:44vh;min-height:220px;width:100%}
  .npe-hint{display:none}
}
@keyframes nSheetUp{from{transform:translateY(40px);opacity:.4}to{transform:none;opacity:1}}
@media (max-width:760px),(pointer:coarse){.tvs-f{display:none}}
@media (max-width:640px){.tva-tabs{padding:0 12px;overflow-x:auto;scrollbar-width:none;flex-wrap:nowrap}.tva-tabs::-webkit-scrollbar{display:none}.tva-tabs button{flex:none}}
@media (max-width:760px){.n-dock-sheet .nt-h{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.n-dock-sheet .nt-h::-webkit-scrollbar{display:none}.n-dock-sheet .nt-h>*{flex:none}.n-dock-sheet .nt-h .n-x{position:sticky;right:0;background:var(--t-solid,var(--surface));box-shadow:-8px 0 10px var(--t-solid,var(--surface))}}

/* ===== full-screen chart: only the chart, legend (symbol + OHLC), scales and the favourite tools bar ===== */
.n-live.full{position:fixed!important;inset:0!important;z-index:2000;height:100vh!important;height:100dvh!important;width:100vw!important;max-width:none!important;margin:0!important;border:0!important;border-radius:0!important;background:var(--t-solid,var(--surface))!important;transform:none!important;animation:none!important}
.n-live.full .n-top,.n-live.full .n-rail,.n-live.full .n-btabs,.n-live.full>.n-dock,.n-live.full .n-dock{display:none!important}
.n-live.full .n-body,.n-live.full .n-stage{height:100%!important;min-height:0;flex:1}
.n-fs-x{position:absolute;top:8px;right:calc(var(--n-ax,64px) + 12px);z-index:40;width:32px;height:32px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--border);background:var(--t-solid,var(--surface));color:var(--t-text);opacity:.55;transition:opacity .2s}
.n-fs-x:hover{opacity:1}
html.nr-chart-full .t-mnav,html.nr-chart-full .t-mtop,html.nr-chart-full .t-head,html.nr-chart-full .t-side,html.nr-chart-full .t-rail{visibility:hidden!important}
html.nr-chart-full .t-main,html.nr-chart-full .t-body,html.nr-chart-full .t-view,html.nr-chart-full .t-scroll,html.nr-chart-full .mk-wrap,html.nr-chart-full .mk,html.nr-chart-full .mk-grid,html.nr-chart-full .t-app{contain:none!important;transform:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;container-type:normal!important}
@media (max-width:760px){.n-live:not(.full) .n-favbar{display:none}}
.npp-s{display:inline-flex!important;align-items:center;gap:6px}.npp-s .n-logo,.npp-s .n-badge{flex:none}
