/* NovaRise Terminal — layout & components. Light grey glass / dark black-blue (tokens in /css/theme.css). */
:root{
  --t-bg:var(--bg); --t-panel:var(--glass-strong); --t-panel2:var(--glass-hi); --t-raise:var(--glass-hi);
  --t-line:var(--hair); --t-line2:var(--hair-2); --t-line3:rgba(var(--fg-rgb),.3);
  --t-text:var(--text); --t-soft:var(--text-secondary); --t-muted:var(--text-muted); --t-dim:var(--text-dim);
  --t-up:var(--up); --t-down:var(--down); --t-gold:var(--accent-ink);
  --t-r:16px; --t-ease:var(--ease); --t-serif:var(--font); --t-sc:var(--font);
  --gap:14px; --rail-w:56px; --side-w:268px; --head-h:92px;
  --side-x:calc(var(--gap) * 2 + var(--rail-w));
  --main-l:calc(var(--side-x) + var(--side-w) + var(--gap));
  --t-top:calc(var(--gap) + var(--head-h)); --t-view-h:calc(100vh - var(--gap) * 2 - var(--head-h) - 18px);
}
:root:not([data-theme="dark"]){--t-solid:#CDCDCD}
:root[data-theme="dark"]{--t-solid:#151515}
.t-app.side-off{--main-l:var(--side-x)}
html,body{background:var(--bg)!important;color:var(--text)}
body{font-family:var(--font)}
.t-app{position:relative;min-height:100vh;color:var(--t-text);font-family:var(--font)}
.t-bg{position:fixed;inset:0;z-index:-1;background:radial-gradient(60% 50% at 78% 0%,rgba(255,255,255,.28),transparent 70%),radial-gradient(45% 45% at 8% 100%,rgba(255,255,255,.18),transparent 70%),var(--bg);overflow:hidden}
:root[data-theme="dark"] .t-bg{background:radial-gradient(55% 45% at 80% -5%,rgba(255,255,255,.06),transparent 70%),var(--bg)}
:root[data-theme="dark"] :root[data-theme="dark"] .text-gain{color:var(--t-up)!important}.text-loss{color:var(--t-down)!important}
.tabular{font-variant-numeric:tabular-nums}

/* ---------- shared micro-interactions ---------- */
.nr-press{transition:transform .22s var(--spring),background .25s,color .25s,box-shadow .3s,border-color .25s}
.nr-press:active{transform:scale(.94)}
.nr-ripple{position:absolute;border-radius:50%;pointer-events:none;transform:translate(-50%,-50%) scale(0);background:currentColor;opacity:.18;animation:nrRipple .6s var(--ease) forwards;z-index:0}
@keyframes nrRipple{to{transform:translate(-50%,-50%) scale(1);opacity:0}}
.nr-pop{animation:nrPop .45s var(--spring)}
@keyframes nrPop{0%{transform:scale(.4);opacity:0}100%{transform:none;opacity:1}}

/* ---------- rail (floating pill) ---------- */
.t-rail{position:fixed;left:var(--gap);top:var(--gap);bottom:var(--gap);width:var(--rail-w);z-index:45;display:flex;flex-direction:column;align-items:center;gap:10px;pointer-events:none}
.t-rail>*{pointer-events:auto}
.t-pill{position:relative;contain:layout;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0;width:100%;border-radius:999px;background:var(--rail-bg);box-shadow:var(--shadow);animation:tRailIn .7s var(--spring) both}
@keyframes tRailIn{from{opacity:0;transform:translateX(-24px) scale(.9)}to{opacity:1;transform:none}}
.t-pill-logo{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;color:var(--rail-fg-on);margin-bottom:4px;transition:transform .5s var(--spring)}
.t-pill-logo:hover{transform:rotate(-12deg) scale(1.08)}
.t-rail-ind{position:absolute;left:8px;right:8px;top:0;height:40px;border-radius:999px;background:var(--rail-on);transition:transform .5s var(--spring),opacity .3s;pointer-events:none}
.t-rail-btn{position:relative;width:40px;height:40px;display:grid;place-items:center;border-radius:50%;color:var(--rail-fg);transition:color .25s,transform .25s var(--spring)}
.t-rail-btn svg{transition:transform .35s var(--spring)}
.t-rail-btn:hover{color:var(--rail-fg-on)}
.t-rail-btn:hover svg{transform:scale(1.14)}
.t-rail-btn:active{transform:scale(.86)}
.t-rail-btn.on{color:var(--rail-fg-on)}
.t-tt{position:absolute;left:calc(100% + 16px);top:50%;transform:translate(-6px,-50%);opacity:0;pointer-events:none;white-space:nowrap;display:flex;align-items:center;gap:10px;padding:7px 11px;border-radius:10px;background:var(--rail-bg);color:var(--rail-fg-on);font:600 13px var(--font);transition:opacity .2s,transform .3s var(--ease);box-shadow:var(--shadow-sm);z-index:80}
.t-tt kbd{color:var(--rail-fg);border-color:var(--rail-on)}
.t-rail-spacer{flex:1}
.t-pill-b{gap:6px;padding:8px 0}
.t-pill-b .nr-tt{width:40px;height:40px;border-radius:50%;border:0;background:transparent;backdrop-filter:none}
.t-pill-b .nr-tt i{left:10px;top:10px;background:transparent;box-shadow:none}
:root[data-theme="dark"] .t-pill-b .nr-tt i{transform:none}
.t-pill-b .nr-tt svg{color:var(--rail-fg);width:18px;height:18px}
.t-pill-b .nr-tt:hover svg{color:var(--rail-fg-on);transform:rotate(25deg)}

/* ---------- sidebar (glass, collapsible) ---------- */
.t-side{position:fixed;left:var(--side-x);top:var(--gap);bottom:var(--gap);width:var(--side-w);z-index:40;display:flex;flex-direction:column;border-radius:26px;background:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow);transition:transform .5s var(--ease),opacity .35s var(--ease);will-change:transform;contain:layout paint;animation:tSideIn .8s var(--ease) backwards;overflow:hidden}
@keyframes tSideIn{from{opacity:0;transform:translateX(-30px)}to{opacity:1;transform:none}}
.side-off .t-side{transform:translateX(calc(-100% - var(--side-x)));opacity:0;pointer-events:none}
.t-side-top{display:flex;align-items:center;justify-content:space-between;padding:16px 16px 6px}
.t-side-brand{display:flex;align-items:center;gap:9px;font:800 16px var(--font);color:var(--text);padding:4px 6px;border-radius:10px;transition:transform .3s var(--spring)}
.t-side-brand:hover{transform:translateX(2px)}
.t-side-brand svg{transition:transform .5s var(--spring)}
.t-side-brand:hover svg{transform:rotate(-12deg)}
.t-side-x{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--text-secondary);transition:background .25s,color .25s,transform .3s var(--spring)}
.t-side-x:hover{background:var(--glass-strong);color:var(--text)}
.t-side-x:active{transform:scale(.88)}
.t-prof{display:flex;align-items:center;gap:11px;margin:8px 10px 6px;padding:8px;border-radius:16px;text-align:left;transition:background .25s,transform .25s var(--spring)}
.t-prof:hover{background:var(--glass-strong)}
.t-prof:active{transform:scale(.98)}
.t-prof-av{width:40px;height:40px;border-radius:50%;overflow:hidden;flex:none;display:grid;place-items:center;background:var(--btn-bg);color:var(--btn-fg);font:800 16px var(--font);box-shadow:0 0 0 3px var(--glass-hi)}
.t-prof-av img{width:100%;height:100%;object-fit:cover}
.t-prof b{display:flex;align-items:center;gap:4px;font:800 15px var(--font);color:var(--text)}
.t-prof b svg{transition:transform .3s var(--spring)}
.t-prof:hover b svg{transform:translateY(2px)}
.t-prof small{display:block;font:500 12.5px var(--font);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:170px}
.t-side-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:4px 10px 10px;scrollbar-width:thin}
.t-sec{margin-top:10px}
.t-sec-h{display:flex;align-items:center;justify-content:space-between;width:100%;padding:6px 8px;font:700 12.5px var(--font);color:var(--text-muted);letter-spacing:.02em;border-radius:8px;transition:color .2s}
.t-sec-h:hover{color:var(--text)}
.t-sec-h svg{transition:transform .4s var(--spring)}
.t-sec.closed .t-sec-h svg{transform:rotate(-90deg)}
.t-sec-b{display:grid;grid-template-rows:1fr;transition:grid-template-rows .45s var(--ease),opacity .35s}
.t-sec.closed .t-sec-b{grid-template-rows:0fr;opacity:0}
.t-sec-b>div{overflow:hidden;position:relative;display:flex;flex-direction:column;gap:2px}
.t-nav-ind{position:absolute;left:0;right:0;top:0;height:40px;border-radius:13px;background:var(--glass-hi);box-shadow:inset 0 0 0 1px var(--border),var(--shadow-sm);transition:transform .5s var(--spring),opacity .3s;pointer-events:none}
.t-item{position:relative;display:flex;align-items:center;gap:11px;height:40px;padding:0 10px;border-radius:13px;font:600 14px var(--font);color:var(--text-secondary);text-align:left;transition:color .25s,background .25s;overflow:hidden;width:100%}
.t-item>*{position:relative;z-index:1}
.t-item svg{flex:none;transition:transform .35s var(--spring)}
.t-item:hover{color:var(--text)}
.t-item:not(.on):hover{background:var(--glass)}
.t-item:hover svg{transform:translateX(2px) scale(1.08)}
.t-item:active{transform:scale(.98)}
.t-item.on{color:var(--text);font-weight:800}
.t-item .lb{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-cnt{min-width:24px;height:22px;padding:0 7px;border-radius:999px;display:inline-grid;place-items:center;font:700 12px var(--font);color:var(--text-secondary);background:var(--glass-strong);border:1px solid var(--border);flex:none!important;animation:nrPop .45s var(--spring)}
.t-item.on .t-cnt{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.t-cnt.up{background:var(--accent);color:var(--accent-fg);border-color:transparent}
.t-cnt.down{background:rgba(var(--down-rgb),.14);color:var(--down);border-color:transparent}
.t-hist{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:12px;font:600 13.5px var(--font);color:var(--text-secondary);transition:background .25s,color .25s,transform .25s var(--spring);width:100%;text-align:left}
.t-hist:hover{background:var(--glass);color:var(--text);transform:translateX(3px)}
.t-hist i{width:8px;height:8px;border-radius:50%;flex:none}
.t-hist .lb{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-hist b{font:700 13px var(--font)}
.t-side-empty{padding:6px 10px;font:500 13px var(--font);color:var(--text-dim)}
.t-side-foot{margin:6px 10px 10px;padding:14px;border-radius:20px;background:var(--glass-strong);border:1px solid var(--border)}
.t-side-foot small{display:flex;justify-content:space-between;align-items:center;font:600 12px var(--font);color:var(--text-muted)}
.t-side-foot .eq{display:flex;align-items:baseline;gap:8px;margin:4px 0 12px;font:800 24px var(--font);letter-spacing:-.02em}
.t-side-foot .eq em{font:700 12px var(--font);font-style:normal;padding:3px 8px;border-radius:999px}
.t-side-foot .eq em.up{background:var(--accent);color:var(--accent-fg)}
.t-side-foot .eq em.down{background:rgba(var(--down-rgb),.14);color:var(--down)}

/* ---------- main glass card ---------- */
.t-main{position:fixed;top:var(--gap);right:var(--gap);bottom:var(--gap);left:var(--main-l);z-index:30;display:flex;flex-direction:column;border-radius:30px;background:var(--glass);border:1px solid var(--border);box-shadow:var(--shadow);transition:left .5s var(--ease);contain:layout paint;animation:tMainIn .8s var(--ease) .05s backwards;overflow:hidden}
@keyframes tMainIn{from{opacity:0;transform:translateY(16px) scale(.99)}to{opacity:1;transform:none}}
.t-head{flex:none;height:var(--head-h);display:flex;align-items:center;gap:14px;padding:0 22px 0 28px}
.t-head-open{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;color:var(--text-secondary);background:var(--glass-strong);border:1px solid var(--border);transition:transform .4s var(--spring),opacity .3s,width .4s var(--ease),margin .4s var(--ease);overflow:hidden}
.t-head-open:hover{color:var(--text);transform:scale(1.06)}
.t-app:not(.side-off) .t-head-open{width:0;opacity:0;margin-right:-14px;border-width:0;pointer-events:none}
.t-head-t{min-width:0;animation:tTitleIn .55s var(--ease)}
@keyframes tTitleIn{from{opacity:0;transform:translateY(10px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.t-head-t h1{font:800 clamp(24px,2.3vw,34px)/1.05 var(--font);letter-spacing:-.025em;color:var(--text);white-space:nowrap}
.t-head-t p{margin-top:5px;font:500 13.5px var(--font);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-head-r{margin-left:auto;display:flex;align-items:center;gap:10px}
.t-chip{display:flex;flex-direction:column;justify-content:center;height:46px;padding:0 14px;border-radius:15px;background:var(--glass-strong);border:1px solid var(--border);line-height:1.15;transition:transform .3s var(--spring)}
.t-chip:hover{transform:translateY(-2px)}
.t-chip small{font:600 11.5px var(--font);color:var(--text-muted)}
.t-chip b{font:800 15px var(--font);white-space:nowrap}
.t-cmd{display:flex;align-items:center;gap:10px;height:42px;padding:0 10px 0 14px;width:230px;border:1px solid var(--border);border-radius:14px;color:var(--text-muted);font:500 14px var(--font);background:var(--glass-strong);transition:border-color .3s,background .3s,color .3s,width .5s var(--ease)}
.t-cmd:hover{color:var(--text);background:var(--glass-hi);width:260px}
.t-cmd span{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
kbd{font:600 11px var(--font);color:var(--t-muted);border:1px solid var(--t-line2);border-radius:6px;padding:1px 6px;margin-left:auto}
.t-icon-btn{position:relative;width:42px;height:42px;display:grid;place-items:center;border-radius:14px;color:var(--text-secondary);background:var(--glass-strong);border:1px solid var(--border);transition:background .25s,color .25s,transform .25s var(--spring);overflow:hidden}
.t-icon-btn:hover{background:var(--glass-hi);color:var(--text);transform:translateY(-2px)}
.t-icon-btn:active{transform:scale(.9)}
.t-icon-btn.bell:hover svg{animation:tBell .7s var(--ease)}
@keyframes tBell{20%{transform:rotate(16deg)}40%{transform:rotate(-12deg)}60%{transform:rotate(8deg)}80%{transform:rotate(-4deg)}}
.t-icon-btn.ai:hover svg{animation:tSpin .8s var(--ease)}
@keyframes tSpin{to{transform:rotate(180deg) scale(1.1)}}
.t-dot{position:absolute;top:5px;right:5px;min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font:800 10px/16px var(--font);text-align:center;animation:nrPop .45s var(--spring)}
.t-add{height:42px;padding:0 16px 0 12px;border-radius:14px}
.t-body{flex:1;min-height:0;overflow:auto;padding:0 18px 18px;scroll-behavior:smooth}
.t-page{animation:tPageIn .55s var(--t-ease)}
@keyframes tPageIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes tFadeIn{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
@keyframes tPulse{70%{box-shadow:0 0 0 7px rgba(var(--up-rgb),0)}100%{box-shadow:0 0 0 0 rgba(var(--up-rgb),0)}}
.t-view{display:flex;flex-direction:column;gap:12px;height:var(--t-view-h);min-height:520px}
.t-scroll{height:auto;min-height:0}
.t-legacy{max-width:1500px;margin:0 auto}
.t-muted{color:var(--t-muted);font-size:13px}
.t-sync{display:inline-flex;align-items:center;gap:7px;font:600 12px var(--font);color:var(--t-muted)}
.t-sync i{width:7px;height:7px;border-radius:50%;background:var(--t-dim)}
.t-sync.ok i{background:var(--t-up);animation:tPulse 2.2s infinite}

/* mobile top bar (hidden on desktop) */
.t-mtop{display:none}
/* ---------- panel ---------- */
.t-panel{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);box-shadow:var(--shadow-sm);overflow:hidden;animation:tPanelIn .5s var(--t-ease) both;transition:border-color .3s}
.t-panel:hover{border-color:var(--border-strong)}
@keyframes tPanelIn{from{opacity:0;transform:translateY(8px) scale(.995)}to{opacity:1;transform:none}}
.t-panel-h{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:42px;padding:6px 10px 6px 14px;border-bottom:1px solid var(--t-line);flex:none}
.t-panel-title{font:400 14px var(--t-sc);letter-spacing:.05em;color:var(--t-soft)}
.t-panel-b{flex:1;min-height:0;padding:12px 14px;overflow:auto}
.t-panel-b.p-0{padding:0}

/* ---------- buttons / controls ---------- */
.t-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:34px;padding:0 13px;border-radius:9px;font:500 14px var(--t-serif);white-space:nowrap;border:1px solid var(--border);color:var(--t-soft);background:var(--glass-strong);transition:background .25s,border-color .25s,color .25s,transform .22s var(--spring),box-shadow .3s;position:relative;overflow:hidden}
.t-btn:hover:not(:disabled){border-color:var(--border-strong);color:var(--t-text);background:var(--glass-hi);transform:translateY(-1px)}
.t-btn svg{transition:transform .35s var(--spring)}
.t-btn:hover:not(:disabled) svg{transform:scale(1.12)}
.t-btn:active:not(:disabled){transform:scale(.95)}
.t-btn:disabled{opacity:.4;cursor:not-allowed}
.t-btn-sm{height:28px;padding:0 10px;font-size:13px;border-radius:8px}
.t-btn-gold{background:var(--btn-bg);border-color:transparent;color:var(--btn-fg);font-weight:700}
.t-btn-gold:hover:not(:disabled){background:var(--btn-hover);color:var(--btn-fg);box-shadow:0 10px 26px -10px rgba(0,0,0,.55)}
.t-btn-gold:hover:not(:disabled) svg{transform:rotate(90deg) scale(1.1)}
.t-btn-danger{color:var(--t-down);border-color:rgba(var(--down-rgb),.35)}
.t-btn-danger:hover:not(:disabled){background:rgba(var(--down-rgb),.1);color:var(--down);border-color:rgba(var(--down-rgb),.55)}
.t-btn::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(var(--ov-rgb),.18) 50%,transparent 70%);transform:translateX(-120%);transition:transform .7s var(--t-ease);pointer-events:none}
.t-btn-gold:hover::after{transform:translateX(120%)}
.t-seg{position:relative;display:inline-flex;padding:3px;border:1px solid var(--t-line2);border-radius:9px;background:var(--hair);flex-wrap:nowrap;overflow-x:auto;max-width:100%;scrollbar-width:none}
.t-seg::-webkit-scrollbar{display:none}
.t-seg button{position:relative;z-index:1;padding:0 10px;height:26px;font:400 13px var(--t-sc);letter-spacing:.03em;color:var(--t-muted);white-space:nowrap;transition:color .3s}
.t-seg button:hover{color:var(--t-text)}
.t-seg button.on{color:var(--btn-fg);font-weight:700}
.t-seg-ind{position:absolute;left:0;top:3px;bottom:3px;border-radius:7px;background:var(--btn-bg);box-shadow:var(--shadow-sm);transition:transform .5s var(--spring),width .45s var(--t-ease)}
.t-seg-sm button{height:24px;font-size:12.5px}
.t-select{height:34px;padding:0 30px 0 12px;border-radius:9px;border:1px solid var(--t-line2);background:rgba(var(--ov-rgb),.015) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23888888' fill='none' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 11px center;color:var(--t-soft);font:400 14px var(--t-serif)!important;appearance:none;-webkit-appearance:none;outline:none;transition:border-color .25s}
.t-select:focus,.t-select:hover{border-color:var(--t-line3)}
.t-select option{background:var(--t-solid);color:var(--t-text)}
.t-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;border:1px solid var(--t-line2);border-radius:9px;color:var(--t-muted);min-width:220px;transition:border-color .25s,box-shadow .25s}
.t-search:focus-within{border-color:rgba(var(--accent-rgb),.5);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}
.t-search input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--t-text);font:400 14px var(--t-serif)!important}
.t-search input::placeholder{color:var(--t-dim)}
.t-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.t-badge{display:inline-flex;align-items:center;height:20px;padding:0 8px;border-radius:999px;font:400 12px var(--t-sc);letter-spacing:.04em;border:1px solid var(--t-line2);color:var(--t-soft)}
.t-badge.up{color:var(--t-up);border-color:rgba(var(--up-rgb),.3);background:rgba(var(--up-rgb),.06)}
.t-badge.down{color:var(--t-down);border-color:rgba(var(--down-rgb),.3);background:rgba(var(--down-rgb),.06)}
.t-tabs{display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.t-tabs::-webkit-scrollbar{display:none}
.t-tabs button{position:relative;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border-radius:7px;font:400 14px var(--t-sc);letter-spacing:.03em;color:var(--t-muted);white-space:nowrap;transition:color .25s,background .25s}
.t-tabs button small{font:500 11px var(--t-serif);color:var(--t-dim);background:rgba(var(--ov-rgb),.04);border-radius:999px;padding:1px 6px}
.t-tabs button:hover{color:var(--t-text);background:rgba(var(--accent-rgb),.05)}
.t-tabs button.on{color:var(--t-gold)}
.t-tabs button.on::after{content:"";position:absolute;left:12px;right:12px;bottom:-7px;height:2px;border-radius:2px;background:var(--t-gold);box-shadow:0 0 10px var(--t-gold);animation:tTabLine .4s var(--t-ease)}
@keyframes tTabLine{from{transform:scaleX(0)}to{transform:scaleX(1)}}

/* ---------- stats ---------- */
.t-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:0;background:var(--t-panel);border:1px solid var(--border);border-radius:var(--t-r);overflow:hidden;flex:none;box-shadow:var(--shadow-sm);animation:tPanelIn .5s var(--t-ease) both}
.t-kpis-8{grid-template-columns:repeat(8,minmax(0,1fr))}
.t-symcell{display:flex;flex-direction:column;line-height:1.2;min-width:0}
.t-xs-only{display:none}
.t-chart-panel .t-panel-h{flex-wrap:wrap;row-gap:6px}
.t-kpis>*{background:transparent;box-shadow:inset -1px 0 0 var(--t-line),inset 0 -1px 0 var(--t-line)}
.t-stat{padding:12px 14px;min-width:0;transition:background .3s}
.t-stat:hover{background:var(--glass-hi)}
.t-stat-l{font:400 12.5px var(--t-sc);letter-spacing:.04em;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-stat-v{margin-top:4px;font:700 21px/1.15 var(--t-serif);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-stat-big .t-stat-v{font-size:25px}
.t-stat-s{margin-top:3px;font:400 12px var(--t-sc);color:var(--t-dim);letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-num{transition:color .6s}
.t-num.t-up{color:var(--t-up)!important;text-shadow:0 0 14px rgba(var(--up-rgb),.5)}
.t-num.t-down{color:var(--t-down)!important;text-shadow:0 0 14px rgba(var(--down-rgb),.5)}
.t-bar{height:5px;border-radius:5px;background:rgba(var(--fg-rgb),0.176);overflow:hidden;margin-top:6px}
.t-bar i{display:block;height:100%;border-radius:5px;transition:width 1s var(--t-ease)}
.t-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px;padding:34px 18px;min-height:100%;animation:tFadeIn .5s var(--t-ease)}
.t-empty-ic{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;color:var(--t-gold);background:rgba(var(--accent-rgb),.08);border:1px solid rgba(var(--accent-rgb),.18);margin-bottom:4px;animation:tFloat 4s ease-in-out infinite}
@keyframes tFloat{50%{transform:translateY(-4px)}}
.t-empty-t{font:700 17px var(--t-serif)}
.t-empty-x{font-size:14px;color:var(--t-muted);max-width:42ch;line-height:1.5;margin-bottom:6px}
.t-skel{display:inline-block;width:64px;height:11px;border-radius:4px;background:linear-gradient(90deg,rgba(var(--fg-rgb),0.132),rgba(var(--fg-rgb),.14),rgba(var(--fg-rgb),0.132));background-size:200% 100%;animation:tShimmer 1.3s infinite}
@keyframes tShimmer{to{background-position:-200% 0}}

/* ---------- workspace ---------- */
.t-ws{--ch:max(460px,calc(var(--t-view-h) - 62px));--dhh:clamp(420px,52vh,620px);display:grid;grid-template-columns:minmax(0,1fr) 6px var(--rw);align-items:start}
.t-ws.dock-big{--dhh:calc(var(--t-view-h) - 8px)}
.t-ws-main{display:grid;grid-template-rows:var(--ch) 10px auto;min-width:0}
.t-dock{height:var(--dhh);transition:height .5s var(--ease)}
.t-dock.closed{height:48px}
.t-ws-side{display:flex;flex-direction:column;gap:12px;position:sticky;top:0}
.t-ws-side>.t-panel:first-child{height:calc(var(--ch) * .58);min-height:260px}
.t-chart-panel .t-panel-h{min-height:44px}
.t-chart-body{position:relative}
.t-tv{position:absolute;inset:0}
.t-tv .t-empty{position:absolute;inset:0;background:var(--t-solid)}
.t-symchip{display:inline-flex;align-items:center;gap:8px;height:28px;padding:0 12px;border-radius:999px;border:1px solid rgba(var(--accent-rgb),.3);background:rgba(var(--accent-rgb),.07);color:var(--t-gold);font:400 14px var(--t-sc);letter-spacing:.04em;white-space:nowrap;animation:tFadeIn .4s var(--t-ease)}
.t-resizer{position:relative;z-index:2}
.t-resizer::after{content:"";position:absolute;border-radius:3px;background:var(--t-line2);transition:background .25s,transform .25s}
.t-resizer-x{cursor:col-resize}.t-resizer-x::after{left:2px;width:2px;top:40%;height:20%}
.t-resizer-y{cursor:row-resize}.t-resizer-y::after{top:2px;height:2px;left:45%;width:10%}
.t-resizer:hover::after{background:var(--t-gold);box-shadow:0 0 10px var(--t-gold)}
body.t-dragging{cursor:grabbing!important;user-select:none}
body.t-dragging iframe{pointer-events:none}
.t-dock .t-panel-h{padding-left:6px;min-height:48px}
.t-dock .t-tabs button{height:36px;font-size:14.5px;padding:0 14px}
.t-dock-b{padding:0;animation:tFadeIn .35s var(--t-ease)}
.t-today{display:flex;flex-direction:column;height:100%}
.t-today-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-bottom:1px solid var(--t-line)}
.t-dock-risk{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-around;gap:18px;padding:18px}
.t-mini-cal-h{font:700 16px var(--t-serif);margin-bottom:8px}

/* watchlist */
.t-wl-b{padding:0}
.t-wl-list{display:flex;flex-direction:column}
.t-wl-head,.t-wrow{display:grid;grid-template-columns:1.2fr 1fr 70px;align-items:center;gap:8px;padding:0 14px}
.t-wl-head{height:30px;font:400 12px var(--t-sc);letter-spacing:.04em;color:var(--t-dim);border-bottom:1px solid var(--t-line)}
.t-wl-head span:not(:first-child),.t-wrow>span:not(:first-child){text-align:right}
.t-wrow{height:40px;border-bottom:1px solid rgba(var(--fg-rgb),0.088);transition:background .25s;text-align:left;position:relative}
.t-wrow:hover{background:rgba(var(--accent-rgb),.05)}
.t-wrow.on{background:rgba(var(--accent-rgb),.09)}
.t-wrow.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2px;border-radius:2px;background:var(--t-gold)}
.t-wsym{display:flex;align-items:center;gap:8px;font:700 14px var(--t-serif)}
.t-wsym small{font:400 12px var(--t-sc);color:var(--t-dim)}
.t-wdot{width:6px;height:6px;border-radius:50%;background:var(--t-dim);transition:background .3s}
.t-wrow.fl-up .t-wdot{background:var(--t-up);box-shadow:0 0 8px var(--t-up)}
.t-wrow.fl-down .t-wdot{background:var(--t-down);box-shadow:0 0 8px var(--t-down)}
.t-wpx{font:500 14px var(--t-serif);transition:color .5s}
.t-wrow.fl-up .t-wpx{color:var(--t-up)}.t-wrow.fl-down .t-wpx{color:var(--t-down)}
.t-wrow.fl-up{animation:tFlUp .6s}.t-wrow.fl-down{animation:tFlDn .6s}
@keyframes tFlUp{from{background:rgba(var(--up-rgb),.12)}}
@keyframes tFlDn{from{background:rgba(var(--down-rgb),.12)}}
.t-wch{font:500 13px var(--t-serif)}
.t-wl-foot{display:flex;align-items:center;gap:8px;padding:10px 14px;font:400 12px var(--t-sc);color:var(--t-dim);letter-spacing:.03em}
.t-live{width:7px;height:7px;border-radius:50%;background:var(--t-dim)}
.t-live.live{background:var(--t-up);animation:tPulse 2s infinite}
.t-live.rest,.t-live.reconnecting{background:var(--warn)}
.t-live.offline{background:var(--t-down)}
.t-tvq{height:100%;min-height:360px}

/* account card */
.t-acc{display:flex;flex-direction:column;gap:12px}
.t-acc-big{font:700 30px/1.1 var(--t-serif);letter-spacing:-.02em;margin-top:2px}
.t-acc-delta{font:500 14px var(--t-serif);margin-top:2px}
.t-acc-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--t-line);border-radius:9px;overflow:hidden}
.t-acc-grid .t-stat{padding:10px 12px}
.t-acc-grid .t-stat:first-child{border-right:1px solid var(--t-line)}
.t-acc-lim{font-size:13.5px;color:var(--t-soft)}
.t-acc-lim b{font-weight:600}

/* ---------- table ---------- */
.t-table{display:flex;flex-direction:column;height:100%;min-width:0}
.t-tr{display:grid;align-items:center;gap:10px;padding:0 14px;min-height:40px;border-bottom:1px solid rgba(var(--fg-rgb),0.099);font-size:14px;cursor:pointer;transition:background .2s;animation:tRowIn .45s var(--t-ease) both}
@keyframes tRowIn{from{opacity:0;transform:translateX(-6px)}to{opacity:1;transform:none}}
.t-tbody .t-tr:hover{background:rgba(var(--accent-rgb),.05)}
.t-tbody .t-tr:focus-visible{outline:none;background:rgba(var(--accent-rgb),.08)}
.t-tr>div{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-tr .num{text-align:right;justify-content:flex-end}
.t-th{position:sticky;top:0;z-index:2;min-height:34px;cursor:default;background:var(--t-solid);animation:none}
.t-th button{display:inline-flex;align-items:center;gap:4px;font:400 12.5px var(--t-sc);letter-spacing:.04em;color:var(--t-dim);transition:color .2s;white-space:nowrap}
.t-th button.num{justify-content:flex-end;width:100%}
.t-th button:hover,.t-th button.on{color:var(--t-gold)}
.t-tbody{flex:1;overflow:auto}
.t-sym{font-weight:700}
.t-flash{animation:tFlash 1.6s var(--t-ease)}
@keyframes tFlash{from{background:rgba(var(--accent-rgb),.22)}}
.t-pager{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px;border-top:1px solid var(--t-line);font:400 13px var(--t-sc);color:var(--t-muted)}

/* ---------- drawer ---------- */
.t-scrim{position:fixed;inset:0;z-index:60;background:var(--scrim);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .35s}
.t-scrim.on{opacity:1;pointer-events:auto}
.t-drawer{position:fixed;top:0;right:0;bottom:0;z-index:61;width:min(440px,100vw);background:var(--pop-bg);border-left:1px solid var(--t-line2);box-shadow:-30px 0 80px rgba(0,0,0,.35);backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);transform:translateX(105%);transition:transform .5s var(--t-ease);display:flex;flex-direction:column;overflow:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
.t-drawer.on{transform:none}
.t-drawer-h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 20px 14px;border-bottom:1px solid var(--t-line)}
.t-drawer-sym{font:700 24px var(--t-serif);display:flex;align-items:center;gap:10px}
.t-drawer-sub{margin-top:4px;font:400 13px var(--t-sc);color:var(--t-muted);letter-spacing:.03em}
.t-drawer-pnl{display:flex;align-items:baseline;gap:14px;padding:18px 20px}
.t-drawer-big{font:700 34px var(--t-serif);letter-spacing:-.02em}
.t-drawer-r{font:500 18px var(--t-serif)}
.t-kv{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--t-line);margin:0 20px;border:1px solid var(--t-line);border-radius:10px;overflow:hidden}
.t-kv div{background:var(--t-solid);padding:10px 12px;display:flex;flex-direction:column;gap:3px}
.t-kv span{font:400 12px var(--t-sc);color:var(--t-muted);letter-spacing:.04em}
.t-kv b{font:600 15px var(--t-serif)}
.t-note{margin:14px 20px 0;padding:12px 14px;border:1px solid var(--t-line);border-radius:10px;color:var(--t-soft);line-height:1.55;font-size:14.5px;white-space:pre-wrap}
.t-note-h{font:400 12px var(--t-sc);color:var(--t-muted);margin-bottom:6px}
.t-shot{display:block;margin:14px 20px 0;border-radius:10px;border:1px solid var(--t-line);max-width:calc(100% - 40px)}
.t-drawer-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px 20px 22px;margin-top:auto}

/* ---------- calendar ---------- */
.t-cal{display:flex;flex-direction:column;gap:4px}
.t-cal-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.t-cal-big .t-cal-row{grid-template-columns:repeat(7,minmax(0,1fr)) minmax(80px,.9fr);gap:6px}
.t-cal-head div{font:400 12px var(--t-sc);color:var(--t-dim);text-align:center;letter-spacing:.04em;padding:2px 0 4px}
.t-day{position:relative;aspect-ratio:1.25;border-radius:8px;border:1px solid rgba(var(--fg-rgb),0.132);display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:6px 7px;text-align:left;transition:transform .25s var(--t-ease),border-color .25s,box-shadow .3s;animation:tDayIn .5s var(--t-ease) both}
@keyframes tDayIn{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
.t-cal-big .t-day{aspect-ratio:auto;min-height:88px;padding:8px 10px}
.t-day.empty{border:0;background:none!important;animation:none}
.t-day.has{cursor:pointer}
.t-day.has:hover{transform:translateY(-2px);border-color:var(--t-line3);box-shadow:0 10px 24px -12px rgba(0,0,0,.8)}
.t-day:disabled{cursor:default}
.t-day.today{border-color:var(--t-gold);box-shadow:inset 0 0 0 1px var(--t-gold)}
.t-day-n{font:500 12.5px var(--t-serif);color:var(--t-muted)}
.t-day.today .t-day-n{color:var(--t-gold);font-weight:700}
.t-day-p{font:700 13px var(--t-serif)}
.t-cal-big .t-day-p{font-size:16px}
.t-day-c{font:400 11.5px var(--t-sc);color:var(--t-muted)}
.t-short{display:none}
.t-day-p{white-space:nowrap}
.t-week{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;padding:0 10px;border-radius:8px;background:rgba(var(--fg-rgb),0.066);border:1px dashed var(--t-line2);font:700 15px var(--t-serif)}
.t-week small{font:400 11.5px var(--t-sc);color:var(--t-muted)}
.t-cal-title{font:700 24px var(--t-serif);min-width:190px;text-align:center;animation:tFadeIn .4s var(--t-ease)}
.t-cal-title span{color:var(--t-gold);font-style:italic;font-weight:400}

/* ---------- analytics ---------- */
.t-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.t-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.t-chart{position:relative;width:100%}
.t-chart canvas{position:absolute;inset:0;width:100%;height:100%;display:block;cursor:crosshair}
.t-cross-v{position:absolute;top:12px;bottom:24px;width:0;border-left:1px dashed rgba(var(--fg-rgb),.35);pointer-events:none}
.t-cross-dot{position:absolute;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--t-gold);box-shadow:0 0 0 4px rgba(var(--accent-rgb),.2),0 0 14px var(--t-gold);pointer-events:none}
.t-tip{position:absolute;z-index:3;min-width:140px;padding:9px 11px;border-radius:9px;background:var(--pop-bg);border:1px solid var(--t-line2);box-shadow:0 14px 34px rgba(0,0,0,.6);pointer-events:none;animation:tFadeIn .2s}
.t-tip-h{font:400 12px var(--t-sc);color:var(--t-muted)}
.t-tip-v{font:700 17px var(--t-serif);margin-top:2px}
.t-tip-s{font-size:13px;color:var(--t-soft);margin-top:2px}
.t-break{display:flex;flex-direction:column;gap:2px}
.t-break-r{display:grid;grid-template-columns:minmax(70px,1fr) 1.2fr 84px 64px;align-items:center;gap:10px;padding:7px 2px;border-bottom:1px solid rgba(var(--fg-rgb),0.088);font-size:14px;animation:tRowIn .5s var(--t-ease) both}
.t-break-k{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.t-break-bar{height:6px;border-radius:6px;background:rgba(var(--fg-rgb),0.132);overflow:hidden}
.t-break-bar i{display:block;height:100%;border-radius:6px;animation:tGrow 1s var(--t-ease) both;transform-origin:left}
@keyframes tGrow{from{transform:scaleX(0)}}
.t-break-v{text-align:right;font-weight:700}
.t-break-n{text-align:right;font:400 12px var(--t-sc);color:var(--t-muted)}
.t-hl{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;font-size:16px}
.t-hl span{font:700 22px var(--t-serif);margin-left:auto}
.t-hl small{width:100%;font:400 12.5px var(--t-sc);color:var(--t-muted)}

/* ---------- risk ---------- */
.t-gauge{position:relative;display:flex;flex-direction:column;align-items:center;margin:0 auto}
.t-gauge-v{position:absolute;top:44%;font:700 26px var(--t-serif)}
.t-gauges .t-gauge-v{font-size:32px;top:40%}
.t-gauge-l{margin-top:4px;font:500 14px var(--t-serif);text-align:center}
.t-gauge-s{font:400 12.5px var(--t-sc);color:var(--t-muted);text-align:center}
.t-dock-risk .t-gauge{margin:0}
.t-dock-risk-cta{display:flex;align-items:center}
.t-rules{display:flex;flex-direction:column;gap:8px}
.t-rule{display:grid;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;padding:10px 12px;border-radius:9px;border:1px solid var(--t-line);font-size:14.5px;animation:tRowIn .5s var(--t-ease) both}
.t-rule.ok{color:var(--t-soft)}.t-rule.ok svg{color:var(--t-up)}
.t-rule.warn{border-color:rgba(var(--warn-rgb),.4);background:rgba(var(--warn-rgb),.06)}.t-rule.warn svg{color:var(--warn)}
.t-rule.bad{border-color:rgba(var(--down-rgb),.45);background:rgba(var(--down-rgb),.07)}.t-rule.bad svg{color:var(--t-down)}
.t-rule b{font-weight:600}
.t-alert{display:flex;gap:12px;align-items:flex-start;padding:14px 16px;border-radius:var(--t-r);border:1px solid rgba(var(--down-rgb),.5);background:rgba(var(--down-rgb),.09);color:var(--down);animation:tShake .5s var(--t-ease)}
.t-alert svg{color:var(--t-down);flex:none;margin-top:2px}
@keyframes tShake{20%{transform:translateX(-6px)}40%{transform:translateX(5px)}60%{transform:translateX(-3px)}}
.t-calc,.t-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.t-calc label,.t-form label{display:flex;flex-direction:column;gap:6px;font:400 12.5px var(--t-sc);color:var(--t-muted);letter-spacing:.03em}
.t-calc input,.t-form input{height:38px;padding:0 12px;border-radius:9px;border:1px solid var(--t-line2);background:rgba(var(--ov-rgb),.02);color:var(--t-text);font:500 15px var(--t-serif)!important;outline:none;transition:border-color .25s,box-shadow .25s}
.t-calc input:focus,.t-form input:focus{border-color:rgba(var(--accent-rgb),.55);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.1)}
.t-calc-out{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--t-line2);border-radius:10px;overflow:hidden}
.t-calc-out div{padding:12px 14px;display:flex;flex-direction:column;gap:3px}
.t-calc-out div:first-child{border-right:1px solid var(--t-line)}
.t-calc-out span{font:400 12px var(--t-sc);color:var(--t-muted)}
.t-calc-out b{font:700 22px var(--t-serif)}
.t-calc-out small{font:400 13px var(--t-serif);color:var(--t-muted)}
.t-form-actions{grid-column:1/-1;display:flex;align-items:center;gap:14px;flex-wrap:wrap}

/* ---------- legacy pages inside shell ---------- */
.t-legacy .glass,.t-legacy .glass-strong{background:linear-gradient(180deg,rgba(var(--fg-rgb),0.055),rgba(var(--fg-rgb),0.018)),var(--t-panel)!important;border-color:var(--t-line)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

/* ---------- mobile nav & sheet ---------- */
.t-mnav{display:none}
.t-sheet{position:fixed;left:0;right:0;bottom:0;z-index:62;padding:10px 16px calc(84px + env(safe-area-inset-bottom,0px));background:var(--pop-bg);border-top:1px solid var(--t-line2);border-radius:18px 18px 0 0;transform:translateY(105%);transition:transform .5s var(--t-ease)}
.t-sheet.on{transform:none}
.t-sheet-grip{width:40px;height:4px;border-radius:4px;background:var(--t-line3);margin:0 auto 14px}
.t-sheet-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.t-sheet-grid button{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;border-radius:12px;border:1px solid var(--t-line);font:400 12.5px var(--t-sc);color:var(--t-soft);transition:background .25s,color .25s}
.t-sheet-grid button.on,.t-sheet-grid button:active{background:rgba(var(--accent-rgb),.1);color:var(--t-gold);border-color:rgba(var(--accent-rgb),.3)}

/* ---------- responsive ---------- */
@media (max-width:1500px){:root{--side-w:244px}.t-chip.c3{display:none}}
@media (max-width:1400px){.t-kpis-8{grid-template-columns:repeat(4,minmax(0,1fr))}.hide-md{display:none!important}.t-cmd{width:44px;padding:0;justify-content:center}.t-cmd span,.t-cmd kbd{display:none}.t-cmd:hover{width:44px}}
@media (max-width:1200px){.t-grid-3{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.t-chip{display:none}}
@media (max-width:1023px){
  :root{--gap:10px;--t-view-h:auto}
  .t-rail,.t-cmd,.t-sync,.hide-sm,.t-head-r,.t-head-open{display:none!important}
  .t-mtop{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;gap:8px;padding:calc(env(safe-area-inset-top,0px) + 8px) 10px 8px;background:var(--pop-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}
  .t-mtop .t-brand{display:flex;align-items:center;gap:8px;font:800 17px var(--font);color:var(--text);margin-right:auto}
  .t-mtop .t-icon-btn{width:38px;height:38px;border-radius:12px}
  .t-side{left:10px;top:10px;bottom:10px;width:min(300px,calc(100vw - 40px));z-index:70;background:var(--pop-bg);animation:none;transform:translateX(calc(-100% - 20px));opacity:0;pointer-events:none}
  .t-app.side-mob .t-side{transform:none;opacity:1;filter:none;pointer-events:auto}
  .side-off .t-side{transform:translateX(calc(-100% - 20px))}
  .t-side-scrim{position:fixed;inset:0;z-index:69;background:var(--scrim);opacity:0;pointer-events:none;transition:opacity .4s}
  .t-app.side-mob .t-side-scrim{opacity:1;pointer-events:auto}
  .t-main{position:relative;inset:auto;left:auto;margin:calc(env(safe-area-inset-top,0px) + 64px) 8px calc(84px + env(safe-area-inset-bottom,0px));border-radius:24px;overflow:visible;backdrop-filter:none;-webkit-backdrop-filter:none;animation:tPageIn .6s var(--ease)}
  .t-head{height:auto;padding:18px 16px 14px}
  .t-head-t h1{font-size:26px;white-space:normal}
  .t-head-t p{white-space:normal}
  .t-body{overflow:visible;padding:0 10px 12px}
  .t-view{height:auto;min-height:0}
  .t-ws{display:flex;flex-direction:column;gap:10px;height:auto}
  .t-ws-main{display:flex;flex-direction:column;gap:10px}
  .t-ws-side{display:flex;flex-direction:column;overflow:visible}
  .t-resizer{display:none}
  .t-grid-2,.t-grid-3{grid-template-columns:minmax(0,1fr)}
  .t-kpis,.t-kpis-8{grid-template-columns:repeat(2,minmax(0,1fr))}
  .t-symchip{font-size:12.5px}
  .t-today-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .t-calc,.t-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .t-search{min-width:0;flex:1 1 100%;order:-1}
  .t-cal-big .t-cal-row{grid-template-columns:repeat(7,minmax(0,1fr))}
  .t-cal-big .t-week,.t-cal-big .t-cal-head div:nth-child(8){display:none}
  .t-cal-big .t-full{display:none}.t-cal-big .t-short{display:inline}
  .t-cal-big .t-day{min-height:56px;padding:5px}
  .t-cal-big .t-day-p{font-size:12px}.t-cal-big .t-day-c{display:none}
  .t-mnav{position:fixed;left:0;right:0;bottom:0;z-index:63;display:grid;grid-template-columns:repeat(5,1fr);align-items:end;height:calc(68px + env(safe-area-inset-bottom,0px));padding:0 6px env(safe-area-inset-bottom,0px);background:var(--pop-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--t-line2)}
  .t-mnav>button{height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font:600 11.5px var(--font);color:var(--t-muted);transition:color .25s,transform .2s var(--t-ease)}
  .t-mnav>button:active{transform:scale(.9)}
  .t-mnav>button.on{color:var(--text);font-weight:800}
  .t-mnav>button.on svg{animation:nrPop .45s var(--spring)}
  .t-mnav .t-mnav-add{justify-self:center;width:54px;height:54px;margin-bottom:12px;border-radius:50%;background:var(--btn-bg);color:var(--btn-fg);box-shadow:0 12px 30px -10px rgba(0,0,0,.6);gap:0;transition:transform .3s var(--spring)}
  .t-mnav .t-mnav-add:active{transform:scale(.88) rotate(90deg)}
  .t-tr{padding:0 10px;font-size:13.5px}
  .t-tr .hsm,.t-th .hsm{display:none}
  .t-drawer{width:100vw;border-left:0;top:auto;height:88vh;border-radius:18px 18px 0 0;transform:translateY(105%)}
  .t-drawer.on{transform:none}
}
@media (max-width:640px){
  .t-tr .hxs,.t-th .hxs{display:none}
  .t-tr{grid-template-columns:minmax(0,1fr) 70px 96px!important}
  .t-xs-only{display:block;font:400 11.5px var(--t-sc);color:var(--t-muted);margin-top:2px}
  .t-tr{min-height:52px}
  .t-symchip{max-width:46vw;overflow:hidden;text-overflow:ellipsis}
  .t-kv{grid-template-columns:1fr 1fr}
  .t-dock-risk{flex-direction:column}
  .t-break-r{grid-template-columns:minmax(60px,1fr) 1fr 76px}
  .t-break-n{display:none}
}
@media (prefers-reduced-motion:reduce){.t-app *,.t-app *::before,.t-app *::after{animation-duration:.001ms!important;transition-duration:.001ms!important}}

/* while the sidebar animates: freeze heavy children so the slide stays at 60fps */
.t-app.t-anim iframe{pointer-events:none}
.t-app.t-anim .t-panel{transition:none}

/* ---------- flip card: price chart <-> equity curve ---------- */
.t-flip{position:relative;perspective:2200px;min-height:0;height:100%}
.t-flip-in{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.3,1.25,.5,1)}
.t-flip.is-flipped .t-flip-in{transform:rotateY(180deg)}
.t-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;animation:none}
.t-back{transform:rotateY(180deg);background:var(--t-solid)}
.t-front{background:var(--t-solid)}
.t-flip:fullscreen{background:var(--bg);padding:10px}
.t-flip:fullscreen .t-flip-in{inset:10px}
.t-flip-btn{display:inline-flex;align-items:center;gap:7px;height:30px;padding:0 12px;border-radius:10px;font:700 13px var(--font);color:var(--btn-fg);background:var(--btn-bg);box-shadow:var(--shadow-sm);transition:transform .3s var(--spring),box-shadow .3s}
.t-flip-btn:hover{transform:translateY(-1px)}
.t-flip-btn:hover svg{animation:tFlipIc .7s var(--spring)}
.t-flip-btn:active{transform:scale(.94)}
@keyframes tFlipIc{50%{transform:rotateY(180deg) scale(1.15)}}
.t-icon-btn.sm{width:32px;height:32px;border-radius:10px}
.t-back-b{flex:1;min-height:0;display:flex;flex-direction:column;gap:12px;padding:14px}
.t-back-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border:1px solid var(--t-line);border-radius:14px;overflow:hidden;flex:none}
.t-back-kpis>div{padding:10px 14px;box-shadow:inset -1px 0 0 var(--t-line)}
.t-back-kpis small{display:block;font:600 12px var(--font);color:var(--t-muted)}
.t-back-kpis b{font:800 20px var(--font);letter-spacing:-.02em;white-space:nowrap}
.t-back-chart{flex:1;min-height:180px;position:relative}
.t-back-chart .t-chart{position:absolute;inset:0;height:auto!important}
.t-dock-cal .t-day{min-height:64px}
@media (max-width:1023px){
  .t-ws{--ch:min(68vh,560px);align-items:stretch}
  .t-ws-main,.t-ws-side,.t-dock,.t-chart-panel{width:100%;min-width:0}
  .t-ws-main{display:flex;flex-direction:column;gap:10px}
  .t-chart-panel.t-flip{height:var(--ch)!important;min-height:380px}
  .t-dock{height:auto;min-height:420px}.t-dock.closed{min-height:0;height:48px}
  .t-ws-side{position:static}
  .t-ws-side>.t-panel:first-child{height:auto}
  .t-back-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .t-back-kpis>div:nth-child(n+4){display:none}
  .t-flip-btn span{display:none}
  .hide-xs{display:none!important}
}

/* ---------- phones: everything fits, nothing hides off-screen ---------- */
@media (max-width:640px){
  .t-seg{display:flex;width:100%;overflow:visible}
  .t-seg button{flex:1 1 auto;padding:0 5px;font-size:12px;min-width:0}
  .t-toolbar{gap:6px}
  .t-toolbar .t-select{flex:1 1 calc(50% - 6px);min-width:0}
  .t-dock .t-panel-h{flex-wrap:wrap;row-gap:6px;padding:6px 8px}
  .t-dock .t-tabs{flex:1 1 100%;order:2}
  .t-dock .t-tabs button{flex:1 1 auto;justify-content:center;padding:0 6px;font-size:13px;height:32px}
  .t-dock .t-panel-h>.flex{margin-left:auto}
  .t-chart-panel .t-panel-h .t-seg{width:auto;flex:1 1 auto}
  .t-head-t h1{font-size:24px}
  .t-kv{margin:0 14px}
  .t-drawer-actions{grid-template-columns:1fr 1fr;padding:14px}
}
@media (max-width:380px){
  .t-mtop .nr-tt{display:none}
  .t-seg button{font-size:11.5px;padding:0 4px}
}

/* ---------- logo placements ---------- */
.t-pill-logo{--logo-tile:#FFFFFF;--logo-mark:#111111;--logo-star:#2DBE8C}
:root[data-theme="dark"] .t-pill-logo{--logo-tile:#000000;--logo-mark:#FFFFFF;--logo-star:#A8E6D0}
.t-side-brand .nr-logo,.t-mtop .t-brand .nr-logo{border-radius:8px}

/* ---------- colour accents (mint) ---------- */
.t-bg{background:radial-gradient(45% 40% at 100% 0%,rgba(168,230,208,.35),transparent 70%),radial-gradient(60% 50% at 78% 0%,rgba(255,255,255,.28),transparent 70%),radial-gradient(45% 45% at 8% 100%,rgba(255,255,255,.18),transparent 70%),var(--bg)}
:root[data-theme="dark"] .t-bg{background:radial-gradient(45% 40% at 100% 0%,rgba(168,230,208,.08),transparent 70%),radial-gradient(55% 45% at 80% -5%,rgba(255,255,255,.05),transparent 70%),var(--bg)}
.t-nav-ind::before{content:"";position:absolute;left:5px;top:11px;bottom:11px;width:3px;border-radius:3px;background:var(--accent-strong)}
.t-rail-ind::after{content:"";position:absolute;right:-6px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--logo-star);box-shadow:0 0 8px var(--logo-star)}
.t-tabs button.on::after{background:var(--accent-strong);box-shadow:0 0 10px var(--accent-soft)}
.t-side-foot{background:linear-gradient(135deg,var(--accent-soft),transparent 70%),var(--glass-strong)}
.t-chip b.text-gain{position:relative}
.t-cnt.up,.t-side-foot .eq em.up{box-shadow:0 0 0 1px rgba(31,158,120,.15)}
.t-wrow.on::before{background:var(--accent-strong)}
.t-sync.ok i{background:var(--accent-strong)}
.t-day.today{border-color:var(--accent-strong);box-shadow:inset 0 0 0 1px var(--accent-strong)}
.t-flip-btn svg{color:var(--logo-star)}
.t-btn-gold svg{color:var(--logo-star)}
:root[data-theme="dark"] .t-btn-gold svg{color:#1F9E78}

/* ---------- trade source ---------- */
.t-srcsw{margin:2px 10px 4px;padding:10px;border-radius:16px;background:var(--glass);border:1px solid var(--border)}
.t-srcsw small{display:block;font:700 11.5px var(--font);color:var(--text-muted);margin:0 0 6px 2px}
.t-srcsw>div{display:flex;flex-wrap:wrap;gap:4px}
.t-srcsw button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border-radius:9px;font:700 12.5px var(--font);color:var(--text-secondary);transition:background .25s,color .25s,transform .2s var(--spring)}
.t-srcsw button em{font-style:normal;font-size:11px;opacity:.6}
.t-srcsw button:hover{background:var(--glass-hi);color:var(--text)}
.t-srcsw button:active{transform:scale(.94)}
.t-srcsw button.on{background:var(--btn-bg);color:var(--btn-fg)}
.t-src{display:inline-block;margin-left:6px;padding:1px 5px;border-radius:5px;font:800 9.5px/1.4 var(--font);font-style:normal;letter-spacing:.03em;vertical-align:2px;background:var(--glass-hi);color:var(--text-muted);border:1px solid var(--hair-2)}
.t-src-mt5{color:#2F6FDB;border-color:rgba(47,111,219,.35)}
.t-src-myfxbook{color:var(--accent-strong);border-color:rgba(31,158,120,.35)}
:root[data-theme="dark"] .t-src-mt5{color:#8AB4FF}

/* ===== Backtest / bar replay ===== */
.bt{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;height:var(--t-view-h);min-height:560px}
.bt-main{display:flex;flex-direction:column;gap:10px;min-width:0;min-height:0}
.bt-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bt-bar .t-btn{margin-left:auto}
.bt-bar>.t-select{width:118px}
.bt-row3 label{min-width:0}
.bt-date,.bt-bal{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--t-line2);color:var(--t-muted);transition:border-color .25s}
.bt-date:focus-within,.bt-bal:focus-within,.bt-date:hover,.bt-bal:hover{border-color:var(--t-line3)}
.bt-date input,.bt-bal input{background:transparent;border:0;outline:0;color:var(--text);font:500 13.5px var(--font);font-variant-numeric:tabular-nums}
.bt-date input{width:118px;color-scheme:light dark}
.bt-bal input{width:54px}
.bt-chart{position:relative;flex:1;min-height:320px}
.bt-canvas{position:absolute;inset:0}
.bt-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);animation:tPageIn .5s var(--t-ease)}
.bt-empty b{font-size:18px;font-weight:800;color:var(--text)}
.bt-empty p{max-width:440px;font-size:13.5px;line-height:1.55;color:var(--text-secondary)}
.bt-keys{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 14px;font-size:12px;color:var(--t-muted)}
.bt-keys kbd{margin:0 4px 0 0}
.bt-now{position:absolute;left:12px;top:10px;z-index:3;display:flex;align-items:baseline;gap:10px;padding:5px 10px;border-radius:10px;background:var(--glass-strong);border:1px solid var(--border);font-size:12px;color:var(--t-muted);pointer-events:none;font-variant-numeric:tabular-nums}
.bt-now b{color:var(--text);font-weight:700}
.bt-now span{font-weight:800;color:var(--text)}
.bt-ctl{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.bt-play{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:var(--btn-bg);color:var(--btn-fg);transition:transform .2s var(--spring),opacity .2s}
.bt-play:hover{transform:translateY(-2px)}
.bt-play:active{transform:scale(.9)}
.bt-play:disabled,.bt-ctl .t-icon-btn:disabled{opacity:.4;pointer-events:none}
.bt-prog{flex:1;min-width:80px;height:6px;border-radius:99px;background:rgba(var(--ov-rgb),.07);overflow:hidden}
.bt-prog i{display:block;height:100%;border-radius:inherit;background:var(--accent-strong);transition:width .3s linear}
.bt-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 .5s var(--t-ease) both}
.bt-tabs{padding:2px 2px 8px;border-bottom:1px solid var(--t-line);flex:none}
.bt-pane{display:flex;flex-direction:column;gap:10px;min-height:0;flex:1;overflow:auto;animation:tPageIn .35s var(--t-ease)}
.bt-acc,.bt-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.bt-kpis{grid-template-columns:repeat(2,1fr)}
.bt-acc>div,.bt-kpis>div,.bt-pos-g>div{padding:8px 10px;border-radius:11px;background:rgba(var(--ov-rgb),.035);border:1px solid var(--t-line);min-width:0}
.bt small{display:block;font-size:11px;color:var(--t-muted);font-weight:600}
.bt-acc b,.bt-kpis b,.bt-pos-g b{display:block;font-size:14.5px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-pos{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;border:1px solid rgba(var(--up-rgb),.35);background:rgba(var(--up-rgb),.06);animation:tPanelIn .35s var(--t-ease)}
.bt-pos.down{border-color:rgba(var(--down-rgb),.35);background:rgba(var(--down-rgb),.06)}
.bt-pos-h{display:flex;align-items:center;gap:10px}
.bt-pos-h b{margin-left:auto;font-size:17px;font-weight:800;font-variant-numeric:tabular-nums}
.bt-pos-h em{font-style:normal;font-size:12px;font-weight:700;color:var(--t-muted)}
.bt-pos-g{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}
.bt-pos kbd,.bt-bs kbd{margin-left:6px}
.bt-ticket{display:flex;flex-direction:column;gap:10px}
.bt-row3{display:grid;grid-template-columns:.7fr 1fr 1fr;gap:6px}
.bt-row3 label,.bt-name{display:flex;flex-direction:column;gap:4px;font-size:11px;font-weight:600;color:var(--t-muted)}
.bt-row3 input,.bt-name input{height:36px;min-width:0;padding:0 10px;border-radius:10px;border:1px solid var(--t-line2);background:rgba(var(--ov-rgb),.02);color:var(--text);font:600 13.5px var(--font);font-variant-numeric:tabular-nums;outline:0;transition:border-color .2s}
.bt-row3 input:focus,.bt-name input:focus{border-color:var(--accent-strong)}
.bt-rr{display:flex;align-items:center;gap:4px;flex-wrap:wrap;font-size:12px;color:var(--t-muted);font-weight:600}
.bt-rr>span{margin-right:4px}
.bt-rr button{height:28px;padding:0 9px;border-radius:8px;border:1px solid var(--t-line);font-size:12px;font-weight:700;color:var(--text-secondary);transition:background .2s,color .2s,border-color .2s}
.bt-rr button:hover{border-color:var(--t-line3)}
.bt-rr button.on{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.bt-rr .bt-auto{margin-left:auto;display:inline-flex;align-items:center;gap:4px}
.bt-bs{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.bt-bs button{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:11px 8px;border-radius:13px;color:var(--btn-fg);transition:transform .18s var(--spring),filter .2s,box-shadow .2s}
.bt-bs b{font-size:15px;font-weight:900;letter-spacing:.06em}
.bt-bs small{color:inherit!important;opacity:.85;font-variant-numeric:tabular-nums}
.bt-bs kbd{position:absolute;right:8px;top:8px;color:inherit;opacity:.75;border-color:currentColor}
.bt-buy{background:var(--up)}
.bt-sell{background:var(--down)}
.bt-bs button:hover{transform:translateY(-2px);box-shadow:0 8px 20px -10px currentColor}
.bt-bs button:active{transform:scale(.96)}
.bt-bs button:disabled{opacity:.45;pointer-events:none}
.bt-hint{font-size:11.5px;line-height:1.5;color:var(--t-muted)}
.bt-list{display:flex;flex-direction:column;border-top:1px solid var(--t-line);padding-top:6px}
.bt-tr{display:flex;align-items:center;gap:8px;padding:7px 4px;border-bottom:1px solid var(--t-line);font-size:12.5px;animation:tPageIn .3s var(--t-ease)}
.bt-tr i{width:7px;height:7px;border-radius:50%;background:var(--up);flex:none}
.bt-tr i.down{background:var(--down)}
.bt-tr span{flex:1;min-width:0;color:var(--text-secondary)}
.bt-tr em{font-style:normal;font-size:11px;color:var(--t-muted)}
.bt-tr b{font-weight:800;font-variant-numeric:tabular-nums;min-width:56px;text-align:right}
.bt-eq{min-height:200px;border-radius:12px;border:1px solid var(--t-line);padding:6px}
.bt-sessions{display:flex;flex-direction:column;gap:6px}
.bt-ses{display:flex;align-items:center;gap:6px;padding:9px 10px;border-radius:12px;border:1px solid var(--t-line);transition:border-color .2s,background .2s}
.bt-ses:hover{border-color:var(--t-line3)}
.bt-ses.on{border-color:var(--accent-strong);background:rgba(var(--accent-rgb),.06)}
.bt-ses>div{flex:1}
.bt-ses b{display:block;font-size:13px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-ses small{font-weight:500}
@media (max-width:1100px){.bt{grid-template-columns:minmax(0,1fr) 300px}}
@media (max-width:1023px){
  .bt{grid-template-columns:1fr;height:auto;min-height:0}
  .bt-chart{flex:none;height:min(62vh,440px);min-height:300px}
  .bt-side{padding:8px}
  .bt-pane{overflow:visible}
}
@media (max-width:640px){
  .bt-bar{gap:6px}
  .bt-bar .t-select{flex:1;min-width:0}
  .bt-bar .t-btn{margin-left:0;flex:1 1 100%;justify-content:center}
  .bt-date{flex:1}
  .bt-date input{width:100%;min-width:0}
  .bt-ctl .t-seg{order:5;flex:1 1 100%}
  .bt-chart{height:56vh}
  .bt-empty p{font-size:13px}
  .bt-row3{grid-template-columns:1fr 1fr 1fr}
}

.bt-flash{position:absolute;left:50%;top:14px;z-index:4;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border-radius:999px;font-size:13px;font-weight:800;font-variant-numeric:tabular-nums;background:var(--up);color:var(--btn-fg);pointer-events:none;animation:btFlash 1.6s var(--t-ease) forwards}
.bt-flash.down{background:var(--down)}
@keyframes btFlash{0%{opacity:0;transform:translate(-50%,-8px) scale(.94)}12%{opacity:1;transform:translate(-50%,0) scale(1)}75%{opacity:1}100%{opacity:0;transform:translate(-50%,-4px)}}
/* backtest: EMA toggles, settings, click-to-set levels */
.bt-emas{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.bt-emas button{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:9px;border:1px solid var(--t-line);font-size:12px;font-weight:700;color:var(--t-muted);transition:color .2s,border-color .2s,background .2s}
.bt-emas button i{width:10px;height:3px;border-radius:2px;background:var(--c);opacity:.35;transition:opacity .2s}
.bt-emas button.on{color:var(--text);border-color:var(--t-line3);background:rgba(var(--ov-rgb),.04)}
.bt-emas button.on i{opacity:1}
.bt-emas .bt-ind-btn{padding:0 8px}
.bt-emas .bt-ind-btn.on{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.bt-ind{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 10px;border-radius:12px;border:1px solid var(--t-line);font-size:12px;font-weight:600;color:var(--t-muted);animation:tPageIn .3s var(--t-ease)}
.bt-ind label{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 8px;border-radius:9px;border:1px solid var(--t-line2)}
.bt-ind label i{width:12px;height:3px;border-radius:2px}
.bt-ind input{width:38px;background:transparent;border:0;outline:0;color:var(--text);font:700 13px var(--font);font-variant-numeric:tabular-nums}
.bt-ind .bt-auto{height:30px;padding:0 10px;border-radius:9px;border:1px solid var(--t-line);font-weight:700;color:var(--text-secondary)}
.bt-pick{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--t-muted)}
.bt-pick>span{margin-right:auto}
.bt-pick button{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 10px;border-radius:8px;border:1px solid var(--t-line);font-size:12px;font-weight:700;color:var(--text-secondary);transition:background .2s,color .2s,border-color .2s}
.bt-pick button.sl:hover{border-color:var(--down);color:var(--down)}
.bt-pick button.tp:hover{border-color:var(--up);color:var(--up)}
.bt-pick button.on.sl{background:var(--down);color:var(--btn-fg);border-color:transparent}
.bt-pick button.on.tp{background:var(--up);color:var(--btn-fg);border-color:transparent}
.bt-chart.picking .bt-canvas{cursor:crosshair}
.bt-pickhint{position:absolute;left:50%;bottom:14px;z-index:4;transform:translateX(-50%);display:inline-flex;align-items:center;gap:10px;padding:6px 6px 6px 14px;border-radius:999px;font-size:12.5px;font-weight:700;color:var(--btn-fg);background:var(--down);box-shadow:var(--shadow-sm);animation:tPageIn .3s var(--t-ease);white-space:nowrap}
.bt-pickhint.tp{background:var(--up)}
.bt-pickhint button{height:24px;padding:0 10px;border-radius:999px;background:rgba(0,0,0,.18);color:inherit;font-weight:700}
@media (max-width:640px){.bt-emas{order:6;flex:1 1 100%;flex-wrap:nowrap}.bt-emas button{flex:1;justify-content:center;padding:0 6px;white-space:nowrap}.bt-ema-l{display:none}}
/* backtest: own chart with drawing rail + desktop strategy tester */
.bt-chart .n-body{flex:1;min-height:0;display:flex}
.bt-chart .n-stage{position:relative;flex:1;min-width:0}
.bt-tester{flex:none;display:flex;flex-direction:column;min-height:0;animation:tPanelIn .5s var(--t-ease) both}
.bt-tester-h{display:flex;align-items:center;gap:12px;min-height:44px;padding:4px 8px 4px 14px;border-bottom:1px solid var(--t-line)}
.bt-tester.closed .bt-tester-h{border-bottom:0}
.bt-tester-h>b{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;font-weight:800;white-space:nowrap}
.bt-tester-h .t-tabs button.on::after{bottom:-8px}
.bt-tester-r{margin-left:auto;display:flex;align-items:center;gap:6px}
.bt-tester-b{height:250px;overflow:auto;padding:10px 12px;animation:tPageIn .3s var(--t-ease)}
.bt-over{display:flex;flex-direction:column;gap:10px;height:100%}
.bt-over-k{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.bt-over-k>div{padding:8px 10px;border-radius:11px;background:rgba(var(--ov-rgb),.035);border:1px solid var(--t-line);min-width:0}
.bt-over-k small{display:block;font-size:11px;font-weight:600;color:var(--t-muted)}
.bt-over-k b{display:block;font-size:16px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-over-k em{display:block;font-style:normal;font-size:11px;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bt-over-c{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:10px}
.bt-over-eq{min-height:0;border-radius:11px;border:1px solid var(--t-line);padding:4px;overflow:hidden}
.bt-over-r{min-height:0;display:flex;flex-direction:column;gap:4px;overflow:hidden}
.bt-over-r small{font-size:11px;font-weight:700;color:var(--t-muted)}
.bt-ttable{display:flex;flex-direction:column;font-size:12.5px}
.bt-trow{display:grid;grid-template-columns:40px 70px 1.3fr 1.3fr 1fr 100px 70px;align-items:center;gap:8px;padding:7px 6px;border-bottom:1px solid var(--t-line);font-variant-numeric:tabular-nums}
.bt-trow.h{position:sticky;top:-10px;background:var(--surface);font-size:11px;font-weight:700;color:var(--t-muted);text-transform:uppercase;letter-spacing:.04em;z-index:1}
.bt-trow span small{display:block;font-size:11px;color:var(--t-muted)}
.bt-trow b{text-align:right;font-weight:800}
.bt-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px 24px}
.bt-kv{display:flex;justify-content:space-between;gap:10px;padding:7px 2px;border-bottom:1px solid var(--t-line);font-size:12.5px}
.bt-kv span{color:var(--t-muted)}.bt-kv b{font-weight:800;font-variant-numeric:tabular-nums}
@media (max-width:1300px){.bt-over-k{grid-template-columns:repeat(3,minmax(0,1fr))}.bt-tester-b{height:290px}}
.bt-chart .bt-now{left:auto;right:74px;top:8px}
.bt-trow.h span:nth-child(n+6){text-align:right}
.bt-tester-b{height:220px}
@media (max-width:1300px){.bt-tester-b{height:250px}}
@media (max-width:640px){.bt-chart .bt-now{right:66px;top:34px;font-size:11px}}
/* no text caret / accidental text selection on clickable UI (quotes, menus, buttons) — only real inputs get a caret */
.t-app{caret-color:transparent}
.t-app input,.t-app textarea,.t-app select,.t-app [contenteditable="true"],.nc-text,.n-modal input,.n-modal textarea,.n-pop input{caret-color:auto}
button,[role="button"],[role="menuitem"],.t-rail,.t-side,.t-mnav,.t-sheet,.n-top,.n-rail,.n-tfbar,.mk-row,.mk-side-h,.t-wrow,.t-item,.t-hist,.t-tabs,.t-seg,.bt-tr,.bt-ses,.lg-bitem,.lg-card,.n-srow,.n-tfi,.n-leg-row,.n-ctx,.n-pop,.n-chips,.n-corner,.t-wl-head,.mk-info{-webkit-user-select:none;user-select:none}
.mk-row:focus,.t-wrow:focus,.n-srow:focus,.lg-card:focus{outline:none}
.mk-row:focus-visible,.t-wrow:focus-visible,.lg-card:focus-visible{outline:2px solid var(--accent-strong);outline-offset:-2px}
