/* 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 .2s var(--spring),background .2s,color .2s,box-shadow .2s,border-color .2s}
.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 .24s var(--spring)}
@keyframes nrPop{0%{transform:scale(.9);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 .24s var(--spring) both}
@keyframes tRailIn{from{opacity:0;transform:translateX(-8px) scale(.97)}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 .2s 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 .2s var(--spring),opacity .2s;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 .2s,transform .2s var(--spring)}
.t-rail-btn svg{transition:transform .2s 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 .2s 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 .2s var(--ease),opacity .2s var(--ease);will-change:transform;contain:layout paint;overflow:hidden}
.t-boot .t-side{animation:tSideIn .24s var(--ease) backwards}
@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 .2s var(--spring)}
.t-side-brand:hover{transform:translateX(2px)}
.t-side-brand svg{transition:transform .2s 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 .2s,color .2s,transform .2s 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 .2s,transform .2s 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 .2s 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 .2s 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 .3s var(--ease),opacity .2s}
.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 .2s var(--spring),opacity .2s;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 .2s,background .2s;overflow:hidden;width:100%}
.t-item>*{position:relative;z-index:1}
.t-item svg{flex:none;transition:transform .2s 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 .24s 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 .2s,color .2s,transform .2s 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 .3s var(--ease);contain:layout paint;overflow:hidden}
.t-boot .t-main{animation:tMainIn .24s var(--ease) .05s backwards}
@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 .2s var(--spring),opacity .2s,width .3s var(--ease),margin .2s 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 .24s 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 .2s 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 .2s,background .2s,color .2s,width .3s 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 .2s,color .2s,transform .2s 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 .24s 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 .24s 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 .24s var(--t-ease)}
@keyframes tPageIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.t-swap .t-side,.t-swap .t-main,.t-swap .t-head-open{transition:none!important}
.t-swap .t-side{will-change:auto}
@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 .24s var(--t-ease) both;transition:border-color .2s}
.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 .2s,border-color .2s,color .2s,transform .2s var(--spring),box-shadow .2s;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 .2s 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 .2s 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 .2s}
.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 .2s var(--spring),width .3s 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 .2s}
.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 .2s,box-shadow .2s}
.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 .2s,background .2s}
.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 .24s 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(128px,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 .24s 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 .2s}
.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 .2s}
.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 .3s 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 .24s 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 .3s 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,.t-blk.watch>.t-panel{height:calc(var(--ch) * .5);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 .24s 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 .2s,transform .2s}
.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 .24s 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:minmax(0,1.25fr) minmax(0,1fr) 64px;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 .2s;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);min-width:0;white-space:nowrap;overflow:hidden}
.t-wsym small{font:400 12px var(--t-sc);color:var(--t-dim);min-width:0;overflow:hidden;text-overflow:ellipsis;margin-left:-6px}
.t-wdot{width:6px;height:6px;border-radius:50%;background:var(--t-dim);transition:background .2s}
.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 .2s}
.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 .24s 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:65;background:var(--scrim);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s,visibility 0s .08s}
.t-scrim.on{opacity:1;visibility:visible;pointer-events:auto;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);transition:opacity .2s}
.t-drawer{position:fixed;top:0;right:0;bottom:0;z-index:66;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 .2s var(--t-ease);display:flex;flex-direction:column;overflow:auto;padding-bottom:env(safe-area-inset-bottom,0px)}
.t-drawer:not(.on){visibility:hidden;transition:transform .2s var(--t-ease),visibility 0s .08s}
.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 .2s var(--t-ease),border-color .2s,box-shadow .2s;animation:tDayIn .24s var(--t-ease) both}
@keyframes tDayIn{from{opacity:0;transform:scale(.97)}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 .24s 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 .24s 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 .24s 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 .24s 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 .2s,box-shadow .2s}
.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 .2s 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 .2s,color .2s}
.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:not(.inline-flex),.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 .2s}
  .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 .24s 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 .2s,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 .24s 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 .2s 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:s!important;transition-duration:s!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 .2s 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-flip.hide-front .t-front,.t-flip.hide-back .t-back{visibility:hidden}
.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 .2s var(--spring),box-shadow .2s}
.t-flip-btn:hover{transform:translateY(-1px)}
.t-flip-btn:hover svg{animation:tFlipIc .24s 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,.t-blk.watch>.t-panel{height:auto}
  .t-back-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}
  .t-back-kpis>div:nth-child(n+4){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 .2s,color .2s,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 .2s}
.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 .24s 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 .24s 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 .24s 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 .24s 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 .24s 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 .24s 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 .24s 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 .24s 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 .24s 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}

/* new-user start card */
.t-start{display:flex;flex-direction:column;gap:8px;padding:14px}
.t-start-t{font-size:13px;color:var(--t-muted);line-height:1.45;margin:0 0 4px}
.t-start-i{display:flex;align-items:center;gap:11px;width:100%;text-align:left;padding:10px 12px;border-radius:14px;border:1px solid var(--t-line);background:transparent;color:var(--text);transition:background .2s,transform .2s var(--spring)}
.t-start-i:hover{background:rgba(var(--fg-rgb),.05);transform:translateX(2px)}
.t-start-i>span.min-w-0{flex:1}
.t-start-i b{display:block;font:700 13.5px var(--font)}
.t-start-i small{display:block;font-size:12px;color:var(--t-muted)}
.t-start-ic{flex:none;display:grid;place-items:center;width:32px;height:32px;border-radius:10px;background:var(--btn-bg);color:var(--btn-fg)}
.t-start-i>svg,.t-start-i>span.inline-flex:last-child{flex:none;color:var(--t-muted)}
.t-dock-more{display:flex;justify-content:center;padding:12px}
.bt-t-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;height:100%;min-height:120px;padding:18px;text-align:center;color:var(--t-muted)}
.bt-t-empty b{color:var(--text);font:700 14px var(--font)}
.bt-t-empty span{font-size:12.5px;max-width:460px;line-height:1.45}
.bt-tester-h .t-tabs{min-width:0;overflow-x:auto;scrollbar-width:none}
.bt-tester-h .t-tabs::-webkit-scrollbar{display:none}
.bt-tester-r{margin-left:auto;display:flex;align-items:center;gap:6px;flex:none}
@container (max-width:760px){.bt-tester-h>b{font-size:0;gap:0}.bt-tester-r .t-btn>span:not(.inline-flex){display:none}}
@media (max-width:1366px){.bt-tester-h>b{font-size:0;gap:0}.bt-tester-r .t-btn>span:not(.inline-flex){display:none}}
.t-srcsw-del{display:inline-flex;align-items:center;gap:5px;margin-top:6px;font:600 11.5px var(--font);color:var(--down);opacity:.8}
.t-srcsw-del:hover{opacity:1}

/* ===== onboarding: survey + tour ===== */
.nr-ob-wrap{z-index:110}
.nr-survey{width:min(520px,100%);padding:20px 22px 18px}
.nr-sv-top{display:flex;justify-content:space-between;align-items:center;font:600 12.5px var(--font);color:var(--t-muted)}
.nr-sv-top button{font:600 12.5px var(--font);color:var(--t-muted);text-decoration:underline;text-underline-offset:3px}
.nr-sv-top button:hover{color:var(--text)}
.nr-sv-bar{height:4px;border-radius:4px;background:rgba(var(--fg-rgb),.08);margin:10px 0 16px;overflow:hidden}
.nr-sv-bar i{display:block;height:100%;background:var(--up);border-radius:4px;transition:width .3s var(--t-ease)}
.nr-survey h3{font:800 21px/1.25 var(--font);letter-spacing:-.01em;margin:0 0 4px;animation:tPageIn .24s var(--t-ease)}
.nr-sv-hint{font-size:12.5px;color:var(--t-muted);margin:0 0 6px}
.nr-sv-opts{display:flex;flex-direction:column;gap:7px;margin-top:12px;animation:tPageIn .24s var(--t-ease)}
.nr-sv-opts.grid{display:grid;grid-template-columns:1fr 1fr}
.nr-sv-opts button{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:13px;border:1px solid var(--t-line2);text-align:left;font:600 14px var(--font);color:var(--text);transition:border-color .15s,background .15s,transform .2s var(--spring)}
.nr-sv-opts button>span:not(.inline-flex){flex:1}
.nr-sv-opts button:hover{background:rgba(var(--fg-rgb),.05)}
.nr-sv-opts button:active{transform:scale(.98)}
.nr-sv-opts button.on{border-color:var(--up);background:rgba(var(--up-rgb,22,163,74),.1)}
.nr-sv-f{display:flex;justify-content:space-between;align-items:center;margin-top:16px;min-height:34px}
@media (max-width:520px){.nr-sv-opts.grid{grid-template-columns:1fr}}
.nr-tour{position:fixed;inset:0;z-index:105;pointer-events:none}
.nr-tour-card{position:fixed;width:360px;max-width:calc(100vw - 24px);pointer-events:auto;padding:14px 16px;border-radius:18px;background:var(--n-pop-bg,var(--surface));border:1px solid var(--t-line2);box-shadow:0 20px 60px rgba(0,0,0,.3);animation:tPageIn .24s var(--t-ease)}
.nr-tour-card.center{left:50%;bottom:24px;transform:translateX(-50%)}
@media (max-width:1023px){.nr-tour-card.center{bottom:calc(84px + env(safe-area-inset-bottom,0px))}}
.nr-tour-h{display:flex;justify-content:space-between;align-items:center;font:600 12px var(--font);color:var(--t-muted)}
.nr-tour-card>b{display:block;font:800 17px var(--font);margin:6px 0 4px}
.nr-tour-card>p{font-size:13.5px;line-height:1.5;color:var(--text-secondary);margin:0}
.nr-tour-dots{display:flex;gap:5px;margin:12px 0}
.nr-tour-dots i{width:6px;height:6px;border-radius:6px;background:var(--t-line2);cursor:pointer;transition:width .25s,background .2s}
.nr-tour-dots i.on{width:18px;background:var(--up)}
.nr-tour-f{display:flex;justify-content:space-between;align-items:center;gap:8px}
.nr-tour-ask{display:inline-flex;align-items:center;gap:5px;font:600 12.5px var(--font);color:var(--t-muted)}
.nr-tour-ask:hover{color:var(--text)}
.nr-tour-hl{position:relative;z-index:2;box-shadow:0 0 0 3px var(--up),0 0 0 9px rgba(var(--up-rgb,22,163,74),.22)!important;border-radius:12px;animation:nrPulse 1.6s ease-in-out infinite}
@keyframes nrPulse{50%{box-shadow:0 0 0 3px var(--up),0 0 0 14px rgba(var(--up-rgb,22,163,74),.05)}}
.nr-amsg{width:min(460px,100%)}
.nr-amsg-b{padding:16px 18px}
.nr-amsg-b p{font-size:15px;line-height:1.55;white-space:pre-wrap;margin:0 0 8px}
.nr-amsg-b small{color:var(--t-muted)}
.nr-amsg-f{display:flex;justify-content:flex-end;padding:0 18px 16px}

/* ===== developer panel ===== */
.na{display:flex;flex-direction:column;gap:12px;min-width:0}
.na-head{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.na-title{display:flex;align-items:center;gap:8px;font-size:17px}
.na-badge{font:700 10.5px var(--font);letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:999px;background:rgba(var(--up-rgb,22,163,74),.14);color:var(--up)}
.na-tabs{overflow-x:auto;scrollbar-width:none}
.na-tabs button{display:inline-flex;align-items:center;gap:6px;flex:none}
.na-body{display:flex;flex-direction:column;gap:12px;animation:tPageIn .24s var(--t-ease)}
.na-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
@media (max-width:700px){.na-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}
.na-kpi{padding:12px 14px;border-radius:14px;border:1px solid var(--t-line);background:var(--t-panel);display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:7px}
.na-kpi>span{color:var(--t-muted)}
.na-kpi small{font:600 12px var(--font);color:var(--t-muted)}
.na-kpi b{grid-column:1/-1;font:800 22px var(--font);letter-spacing:-.02em;margin-top:2px}
.na-kpis.sm .na-kpi b{font-size:17px}
.na-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px}
.na-card{padding:12px 14px;border-radius:16px;border:1px solid var(--t-line);background:var(--t-panel);min-width:0}
.na-card-h{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13.5px}
.na-legend{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--t-muted)}
.na-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.na-legend i.v,.na-col i.v{background:rgba(var(--fg-rgb),.18)}.na-legend i.u,.na-col i.u{background:var(--up)}
.na-series{display:flex;align-items:flex-end;gap:3px;height:140px}
.na-col{flex:1;height:100%;position:relative;display:flex;align-items:flex-end}
.na-col i{position:absolute;bottom:0;left:0;right:0;border-radius:3px 3px 0 0;min-height:1px;transition:height .3s var(--t-ease)}
.na-col i.u{left:25%;right:25%}
.na-bars{display:flex;flex-direction:column;gap:6px}
.na-bar{display:grid;grid-template-columns:minmax(0,1.3fr) 1fr 34px 34px;align-items:center;gap:8px;font-size:12.5px}
.na-bar-l{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-bar-t{height:7px;border-radius:7px;background:rgba(var(--fg-rgb),.06);overflow:hidden}
.na-bar-t i{display:block;height:100%;border-radius:7px;background:var(--up)}
.na-bar b{text-align:right}.na-bar small{color:var(--t-muted);text-align:right}
.na-warn{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(245,166,35,.12);font-size:13px}
.na-warn.soft{background:rgba(var(--fg-rgb),.05)}
.na-link{font:600 12.5px var(--font);color:var(--up)}
.na-tools{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.na-search{flex:1;min-width:220px;display:flex;align-items:center;gap:8px;height:36px;padding:0 12px;border-radius:11px;border:1px solid var(--t-line2)}
.na-search input{flex:1;min-width:0;background:none;border:0;outline:none;color:var(--text);font:500 13.5px var(--font)}
.na-table{border:1px solid var(--t-line);border-radius:16px;overflow:hidden;background:var(--t-panel)}
.na-tr{display:grid;grid-template-columns:minmax(0,2.2fr) 1.1fr .9fr 1.2fr 1fr 1fr;gap:10px;align-items:center;width:100%;text-align:left;padding:9px 14px;border-bottom:1px solid var(--t-line);font-size:12.5px;transition:background .15s}
.na-tr:last-child{border-bottom:0}
button.na-tr:hover{background:rgba(var(--fg-rgb),.04)}
.na-th{font:600 11.5px var(--font);color:var(--t-muted);text-transform:uppercase;letter-spacing:.04em}
.na-uc{display:flex;align-items:center;gap:10px;min-width:0}
.na-uc b{display:flex;align-items:center;gap:6px;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-uc small{display:block;color:var(--t-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-av{flex:none;width:32px;height:32px;border-radius:10px;display:grid;place-items:center;font:800 14px var(--font);background:var(--btn-bg);color:var(--btn-fg);overflow:hidden}
.na-av img{width:100%;height:100%;object-fit:cover}
.na-new{font:700 10px var(--font);font-style:normal;padding:1px 6px;border-radius:6px;background:rgba(var(--up-rgb,22,163,74),.15);color:var(--up)}
.na-ban{font:700 10px var(--font);font-style:normal;padding:1px 6px;border-radius:6px;background:rgba(229,72,77,.15);color:var(--down)}
.na-urow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:8px 6px;border-radius:12px;transition:background .15s}
.na-urow:hover{background:rgba(var(--fg-rgb),.04)}
.na-urow>span.min-w-0{flex:1}
.na-urow b{display:block;font-size:13.5px}.na-urow small{color:var(--t-muted);font-size:12px}
.na-visits{display:flex;flex-direction:column;max-height:560px;overflow:auto}
.na-visits.sm{max-height:260px}
.na-vrow{display:grid;grid-template-columns:90px minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr) minmax(0,1.2fr) auto;gap:8px;align-items:center;padding:7px 2px;border-bottom:1px solid var(--t-line);font-size:12.5px}
.na-visits.sm .na-vrow{grid-template-columns:90px minmax(0,1fr) minmax(0,1fr) minmax(0,1fr)}
.na-vrow>*{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.na-vt{color:var(--t-muted)}.na-vp{font-family:ui-monospace,monospace;font-size:12px}
.na-load{display:flex;justify-content:center;gap:6px;padding:40px}
.na-load span{width:8px;height:8px;border-radius:8px;background:var(--t-muted);animation:nFade .9s ease-in-out infinite alternate}
.na-load span:nth-child(2){animation-delay:.2s}.na-load span:nth-child(3){animation-delay:.4s}
.na-err{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px;text-align:center;color:var(--t-muted)}
.na-err b{color:var(--text)}
.na-user{width:min(760px,100%);max-height:88vh;display:flex;flex-direction:column}
.na-user-b{overflow:auto;padding:4px 18px 18px;display:flex;flex-direction:column;gap:14px}
.na-sec{display:flex;flex-direction:column;gap:9px;padding-top:12px;border-top:1px solid var(--t-line)}
.na-sec:first-child{border-top:0;padding-top:4px}
.na-sec h4{margin:0;font:800 14px var(--font)}
.na-sec.danger h4{color:var(--down)}
.na-kv{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:6px 14px}
.na-kv>div{display:flex;flex-direction:column;gap:1px;font-size:12.5px}
.na-kv span{color:var(--t-muted);font-size:11.5px}
.na-kv b{font-weight:700;word-break:break-all}
.na-kv code{font-size:11.5px}
.na-note{font-size:12.5px;color:var(--t-muted);margin:0;line-height:1.5}
.na-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px}
.na-form label{display:flex;flex-direction:column;gap:4px;font:600 11.5px var(--font);color:var(--t-muted)}
.na-form input,.na-pw input,.na-ta{height:36px;padding:0 11px;border-radius:10px;border:1px solid var(--t-line2);background:transparent;color:var(--text);font:600 13.5px var(--font);outline:none}
.na-form input:focus,.na-pw input:focus,.na-ta:focus{border-color:var(--up)}
.na-ta{height:84px;padding:9px 11px;resize:vertical;font-weight:500;line-height:1.45}
.na-actions{display:flex;gap:8px;flex-wrap:wrap}
.na-pw{display:flex;gap:8px}.na-pw input{flex:1;min-width:0}
.na-setup.inline{padding:0}
.na-steps{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:10px;counter-reset:s}
.na-steps li{position:relative;padding:12px 14px 12px 46px;border-radius:14px;border:1px solid var(--t-line);display:flex;flex-direction:column;gap:6px;font-size:13px;line-height:1.5;counter-increment:s}
.na-steps li::before{content:counter(s);position:absolute;left:14px;top:12px;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;font:800 12px var(--font);background:rgba(var(--fg-rgb),.08)}
.na-steps li.ok::before{content:"✓";background:var(--up);color:#fff}
.na-steps li.todo{border-color:rgba(245,166,35,.6)}
.na-steps li>span{color:var(--text-secondary)}
.na-steps code{font-size:12px;padding:1px 5px;border-radius:5px;background:rgba(var(--fg-rgb),.07)}
.na-sql{margin:0;padding:10px 12px;border-radius:10px;background:rgba(var(--fg-rgb),.06);font:12px/1.5 ui-monospace,monospace;white-space:pre-wrap;overflow:auto;max-height:240px}
@media (max-width:860px){
  .na-tr{grid-template-columns:minmax(0,1fr) auto;row-gap:2px}
  .na-tr>span:nth-child(n+3){display:none}
  .na-th{display:none}
  .na-vrow{grid-template-columns:70px minmax(0,1fr) minmax(0,1fr)}
  .na-vrow>*:nth-child(n+4){display:none}
  .na-bar{grid-template-columns:minmax(0,1.4fr) 1fr 30px}
  .na-bar small{display:none}
}
.nr-tour-card.center{animation:nFade .24s ease}

/* ===== layout mode ===== */
.t-blk{position:relative;min-width:0}
.t-ws.no-side{grid-template-columns:minmax(0,1fr)}
.t-gap{width:6px;height:10px}
.t-blk-x{position:absolute;top:8px;right:8px;z-index:6;width:28px;height:28px;border-radius:9px;display:grid;place-items:center;background:var(--n-pop-bg);color:var(--text);box-shadow:0 0 0 1px var(--t-line2),0 4px 14px rgba(0,0,0,.18);transition:transform .2s var(--spring)}
.t-blk-x:hover{transform:scale(1.08);color:var(--down)}
.t-panel>.t-blk-x,.t-panel .t-panel-b>.t-blk-x{position:absolute}
.t-panel:not(.t-face){position:relative}
.t-ws.editing .t-panel,.t-ws.editing .t-chart-panel{outline:1.5px dashed rgba(var(--up-rgb,22,163,74),.55);outline-offset:-1px}
.t-ws.editing .t-resizer::after{background:var(--up);opacity:.9}
.t-ws.editing .t-resizer-x::after{left:1px;width:4px;top:30%;height:40%;border-radius:4px}
.t-ws.editing .t-resizer-y::after{top:3px;height:4px;left:35%;width:30%;border-radius:4px}
.t-ws.editing .t-resizer:hover::after{box-shadow:0 0 0 4px rgba(var(--up-rgb,22,163,74),.2)}
.t-icon-btn.on{background:var(--btn-bg);color:var(--btn-fg)}
.t-lay-pop{width:290px;padding:8px}
.t-lay-pop .n-tog{display:flex;align-items:center;gap:9px;padding:7px 6px;font:600 13px var(--font)}
.t-lay-hint{font-size:12px;color:var(--t-muted);margin:0 6px 4px;line-height:1.45}
.t-lay-row{display:flex;align-items:center;gap:9px;padding:7px 8px;border-radius:9px;font:600 13px var(--font);cursor:pointer}
.t-lay-row:hover{background:rgba(var(--fg-rgb),.05)}
.t-lay-row input{accent-color:var(--up);width:15px;height:15px}
.t-lay-reset{display:flex;align-items:center;gap:7px;width:100%;margin-top:6px;padding:8px;border-radius:9px;border-top:1px solid var(--t-line);font:600 12.5px var(--font);color:var(--t-muted)}
.t-lay-reset:hover{color:var(--text);background:rgba(var(--fg-rgb),.05)}

/* ===== market sessions ===== */
.t-sess{padding:10px 12px 12px;display:flex;flex-direction:column;gap:10px}
.t-sess-utc{font:700 12px var(--font);color:var(--t-muted);font-variant-numeric:tabular-nums}
.nr-map{width:100%;height:auto;display:block}
.nr-map-dots{stroke:rgba(var(--fg-rgb),.3);stroke-width:.66;stroke-linecap:round;fill:none}
.nr-map-city .pt{fill:var(--t-muted)}
.nr-map-city .halo{fill:var(--c);opacity:0}
.nr-map-city.on .pt{fill:var(--c)}
.nr-map-city.on .halo{opacity:.28;animation:nrHalo 2.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}
@keyframes nrHalo{50%{transform:scale(1.5);opacity:.08}}
.t-sess-tl{position:relative;display:flex;flex-direction:column;gap:3px;padding:4px 0}
.t-sess-lane{position:relative;height:4px;border-radius:5px;background:rgba(var(--fg-rgb),.05)}
.t-sess-lane i{position:absolute;top:0;bottom:0;border-radius:5px;opacity:.85}
.t-sess-now{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;border-radius:2px;background:var(--text)}
.t-sess-list{display:flex;flex-direction:column;gap:2px}
.t-sess-row{display:grid;grid-template-columns:8px auto 1fr auto;align-items:center;gap:8px;padding:5px 2px;font-size:12.5px;color:var(--t-muted)}
.t-sess-row i{width:8px;height:8px;border-radius:8px;opacity:.4}
.t-sess-row.on i{opacity:1;box-shadow:0 0 0 3px rgba(var(--fg-rgb),.06)}
.t-sess-row b{color:var(--text);font-weight:700}
.t-sess-row.on span{color:var(--text)}
.t-sess-row em{font-style:normal;font-weight:700;font-size:12px}
.t-sess-best{font-size:12px;color:var(--t-muted);padding-top:6px;border-top:1px solid var(--t-line)}
.t-sess-best b{color:var(--text)}

/* ===== yearly returns ===== */
.t-yr{padding:10px 12px 14px;overflow-x:auto}
.t-yr-grid{display:grid;grid-template-columns:44px repeat(12,minmax(64px,1fr)) minmax(76px,1fr);gap:5px;min-width:900px}
.t-yr-h{font:600 11.5px var(--font);color:var(--t-muted);text-align:center;text-transform:capitalize}
.t-yr-y{font:800 13px var(--font);align-self:center;color:var(--t-muted)}
.t-yr-c{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:46px;border-radius:10px;border:1px solid var(--t-line);font-size:12px;color:var(--t-muted);transition:transform .2s var(--spring)}
button.t-yr-c:not(:disabled):hover{transform:translateY(-1px)}
.t-yr-c b{font-size:12.5px;color:var(--text)}
.t-yr-c small{font-size:10.5px;color:var(--t-muted)}
.t-yr-c.up{background:rgba(var(--up-rgb,22,163,74),.1);border-color:rgba(var(--up-rgb,22,163,74),.35)}
.t-yr-c.up b{color:var(--up)}
.t-yr-c.down{background:rgba(229,72,77,.08);border-color:rgba(229,72,77,.3)}
.t-yr-c.down b{color:var(--down)}
.t-yr-c.tot{border-width:1.5px}
/* analytics: days & sessions */
.t-dwr{display:flex;flex-direction:column;align-items:center;padding:6px 12px 14px}
.t-dwr svg{width:170px;height:auto}
.t-dwr path{fill:none;stroke-width:11;stroke-linecap:round}
.t-dwr .tr{stroke:rgba(var(--fg-rgb),.08)}.t-dwr .v{stroke:var(--up);transition:stroke-dashoffset .3s var(--t-ease)}
.t-dwr b{font:800 26px var(--font);margin-top:-28px}
.t-dwr span{font-size:12px;color:var(--t-muted);margin-top:4px;text-align:center}
.t-dwl{display:flex;flex-direction:column;gap:10px;padding:14px 16px}
.t-dwl>b{font:800 28px var(--font)}
.t-dwl-bar{display:flex;gap:3px;height:12px}
.t-dwl-bar i{border-radius:6px;min-width:4px}.t-dwl-bar .w{background:var(--up)}.t-dwl-bar .l{background:var(--down)}
.t-dstreak{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:14px 16px}
.t-dstreak small{display:block;font-size:12px;color:var(--t-muted)}.t-dstreak b{font:800 22px var(--font)}
.t-sperf{display:flex;flex-direction:column;gap:8px;padding:12px 16px 4px}
.t-sperf-r{display:grid;grid-template-columns:110px 1fr 90px 90px;align-items:center;gap:10px;font-size:13px}
.t-sperf-r>span:first-child{display:flex;align-items:center;gap:7px;font-weight:700}
.t-sperf-r>span:first-child i{width:8px;height:8px;border-radius:8px}
.t-sperf-b{height:9px;border-radius:9px;background:rgba(var(--fg-rgb),.06);overflow:hidden}
.t-sperf-b i{display:block;height:100%;border-radius:9px}.t-sperf-b .up{background:var(--up)}.t-sperf-b .down{background:var(--down)}
.t-sperf-r b{text-align:right}.t-sperf-r small{color:var(--t-muted);text-align:right}
.t-sperf-n{font-size:11.5px;color:var(--t-muted);padding:4px 16px 12px;margin:0}
@media (max-width:640px){.t-sperf-r{grid-template-columns:90px 1fr 76px}.t-sperf-r small{display:none}}

/* ===== Рынок → Сессии ===== */
.mk-tabs{display:inline-flex;gap:3px;padding:3px;border-radius:12px;background:rgba(var(--fg-rgb),.05);border:1px solid var(--t-line);align-self:flex-start}
.mk-tabs button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 13px;border-radius:9px;font:700 13px var(--font);color:var(--t-muted);transition:background .2s,color .2s,transform .2s var(--spring)}
.mk-tabs button:hover{color:var(--text)}
.mk-tabs button.on{background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--shadow-sm)}
.mk-tabs button:active{transform:scale(.95)}
.ss{display:flex;flex-direction:column;gap:12px;height:calc(100dvh - var(--gap,14px) * 2 - 22px);overflow:auto;padding-bottom:6px;overscroll-behavior:contain}
@media (max-width:1023px){.ss{height:auto;overflow:visible}}
.ss-top{display:grid;grid-template-columns:auto 1fr 1fr;gap:12px;align-items:stretch}
.ss-clock{padding:12px 16px;border-radius:16px;border:1px solid var(--t-line);background:var(--t-panel)}
.ss-clock small{display:block;font:600 12px var(--font);color:var(--t-muted)}
.ss-clock b{display:block;font:800 34px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums;line-height:1.15}
.ss-clock span{font-size:12px;color:var(--t-muted)}
.ss-state,.ss-ov{display:flex;flex-direction:column;justify-content:center;gap:2px;padding:12px 16px;border-radius:16px;border:1px solid var(--t-line);background:var(--t-panel);font:700 15px var(--font);position:relative;padding-left:36px}
.ss-state i{position:absolute;left:16px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:10px;background:var(--t-muted)}
.ss-state.on i{background:var(--up);box-shadow:0 0 0 0 rgba(var(--up-rgb),.5);animation:ssPing 1.8s ease-out infinite}
@keyframes ssPing{to{box-shadow:0 0 0 10px rgba(var(--up-rgb),0)}}
.ss-state small,.ss-ov small{font:500 12.5px var(--font);color:var(--t-muted)}
.ss-ov{flex-direction:row;align-items:center;gap:8px;padding-left:16px;font-size:13.5px;font-weight:600;color:var(--text-secondary)}
.ss-ov.on{border-color:rgba(245,166,35,.6);background:rgba(245,166,35,.1);color:var(--text)}
.ss-map{position:relative;padding:16px 18px;overflow:hidden}
.ss-map-in{position:relative;aspect-ratio:100/44;width:min(100%,780px);margin:0 auto}
.ss-map-in .nr-map{position:absolute;inset:0;width:100%;height:100%}
.ss-pin{position:absolute;transform:translate(-50%,-135%);display:flex;flex-direction:column;align-items:center;padding:4px 9px;border-radius:9px;background:var(--n-pop-bg);border:1px solid var(--t-line2);box-shadow:var(--shadow-sm);font-size:12px;white-space:nowrap;pointer-events:none;transition:transform .2s var(--spring),border-color .2s}
.ss-pin b{font-weight:800}.ss-pin small{font-size:10.5px;color:var(--t-muted)}
.ss-pin.on{border-color:var(--c)}.ss-pin.on small{color:var(--c);font-weight:700}
.ss-map .ss-pin{margin-left:0}
.ss-tl{padding:12px 16px 30px}
.ss-tl-h{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:12px;font-size:13.5px}
.ss-tl-h span{font-size:12.5px;color:var(--t-muted);text-transform:capitalize}
.ss-tl-b{position:relative;display:flex;flex-direction:column;gap:9px}
.ss-lane{display:grid;grid-template-columns:120px 1fr;align-items:center}
.ss-lane-l{display:flex;align-items:center;gap:7px;font:700 13px var(--font)}
.ss-lane-l i{width:9px;height:9px;border-radius:9px}
.ss-lane-t{position:relative;height:22px;border-radius:8px;background:rgba(var(--fg-rgb),.04)}
.ss-lane-t i{position:absolute;top:0;bottom:0;border-radius:8px;opacity:.85;display:flex;align-items:center;overflow:hidden;transition:filter .2s}
.ss-lane-t i:hover{filter:brightness(1.08)}
.ss-lane-t i em{font:700 11px var(--font);font-style:normal;color:#fff;padding:0 8px;white-space:nowrap;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.ss-lane-t i.ov{background:repeating-linear-gradient(45deg,rgba(245,166,35,.85) 0 6px,rgba(245,166,35,.6) 6px 12px)}
.ss-hours{position:relative;height:14px;margin-left:120px}
.ss-hours span{position:absolute;transform:translateX(-50%);font-size:10.5px;color:var(--t-muted)}
.ss-tl-b{--lw:120px}
.ss-now{position:absolute;top:-4px;bottom:16px;width:2px;margin-left:-1px;left:calc(var(--lw) + (100% - var(--lw)) * var(--np,0));background:var(--text);border-radius:2px;pointer-events:none}
.ss-now em{position:absolute;bottom:-20px;left:50%;transform:translateX(-50%);white-space:nowrap;font:700 10.5px var(--font);font-style:normal;padding:1px 5px;border-radius:5px;background:var(--text);color:var(--bg)}
.ss-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.ss-card{padding:14px 16px;display:flex;flex-direction:column;gap:8px;transition:transform .2s var(--spring),box-shadow .2s,border-color .2s}
.ss-card:hover{transform:translateY(-3px);box-shadow:0 14px 34px -16px rgba(0,0,0,.35)}
.ss-card.on{border-color:var(--c)}
.ss-card-h{display:flex;align-items:center;gap:8px}
.ss-card-h i{width:10px;height:10px;border-radius:10px;background:var(--c);opacity:.45}
.ss-card.on .ss-card-h i{opacity:1;box-shadow:0 0 0 4px rgba(var(--fg-rgb),.06)}
.ss-card-h b{font:800 16px var(--font)}
.ss-card-h em{margin-left:auto;font:700 11px var(--font);font-style:normal;padding:2px 8px;border-radius:999px;background:rgba(var(--fg-rgb),.06);color:var(--t-muted)}
.ss-card.on .ss-card-h em{background:var(--c);color:#fff}
.ss-card-t{font:800 20px var(--font);font-variant-numeric:tabular-nums}
.ss-card-t small{display:block;font:500 11.5px var(--font);color:var(--t-muted)}
.ss-card-l{font-size:13px;color:var(--t-muted)}.ss-card-l b{color:var(--text)}
.ss-prog{height:6px;border-radius:6px;background:rgba(var(--fg-rgb),.07);overflow:hidden}
.ss-prog i{display:block;height:100%;border-radius:6px;background:var(--c);transition:width .3s linear}
.ss-pairs{display:flex;flex-wrap:wrap;gap:5px}
.ss-pairs span{font:700 11px var(--font);padding:3px 7px;border-radius:7px;border:1px solid var(--t-line)}
.ss-perf{font-size:12.5px;color:var(--t-muted);padding-top:6px;border-top:1px solid var(--t-line)}
.ss-note{font-size:12px;color:var(--t-muted);margin:0}
@media (max-width:1180px){.ss-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.ss-top{grid-template-columns:1fr 1fr}.ss-clock{grid-column:1/-1}}
@media (max-width:640px){.ss-cards,.ss-top{grid-template-columns:1fr}.ss-lane{grid-template-columns:84px 1fr}.ss-hours{margin-left:84px}.ss-hours span:nth-child(even){display:none}.ss-lane-t i em{display:none}.ss-pin small{display:none}.ss-pin{padding:2px 6px;font-size:10.5px}.ss-clock b{font-size:28px}}
@media (max-width:640px){.ss-tl-b{--lw:84px}}

/* ===== micro-interactions (cursor) ===== */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .t-btn,.n-btn,.t-icon-btn,.n-tb,.t-item,.t-rail-btn,.mk-row,.t-wrow,.lg-card,.n-ind-add,.t-start-i,.na-kpi,.t-panel-h .t-tabs button{will-change:auto}
  .t-btn{transition:transform .2s var(--spring),box-shadow .2s,background .2s,color .2s}
  .t-btn:hover:not(:disabled){transform:translateY(-1px)}
  .t-btn:active:not(:disabled){transform:translateY(0) scale(.96);transition-duration:.08s}
  .t-btn svg,.n-btn svg,.t-icon-btn svg{transition:transform .2s var(--spring)}
  .t-btn:hover:not(:disabled) svg,.n-btn:hover:not(:disabled) svg,.t-icon-btn:hover svg{transform:scale(1.12)}
  .t-btn-gold:hover:not(:disabled) svg[class*="plus"],.t-btn:hover svg.lucide-plus{transform:rotate(90deg) scale(1.1)}
  .t-icon-btn,.n-btn{transition:transform .2s var(--spring),background .2s,color .2s}
  .t-icon-btn:active,.n-btn:active:not(:disabled){transform:scale(.9);transition-duration:.08s}
  .n-tb{transition:transform .2s var(--spring),background .15s,color .15s}
  .n-tb:hover{transform:scale(1.06)}
  .t-item{transition:background .2s,color .2s,transform .2s var(--spring)}
  .t-item:hover:not(.on){transform:translateX(3px)}
  .t-item svg{transition:transform .2s var(--spring)}
  .t-item:hover svg{transform:scale(1.12) rotate(-6deg)}
  .t-rail-btn svg{transition:transform .2s var(--spring)}
  .t-rail-btn:hover svg{transform:scale(1.15)}
  .mk-row,.t-wrow{transition:background .15s,transform .2s var(--spring)}
  .mk-row:hover,.t-wrow:hover{transform:translateX(2px)}
  .t-panel{transition:box-shadow .2s,border-color .2s}
  .t-kpis>*:hover,.na-kpi:hover{background:rgba(var(--fg-rgb),.025)}
  .lg-card{transition:transform .2s var(--spring),box-shadow .2s}
  .lg-card:hover{transform:translateY(-4px);box-shadow:0 18px 40px -20px rgba(0,0,0,.4)}
  .n-ind-add{transition:transform .2s var(--spring),border-color .2s}
  .n-ind-add:hover{transform:translateY(-2px)}
  .bt-buy,.bt-sell{transition:transform .2s var(--spring),box-shadow .2s,filter .2s}
  .t-tabs button{transition:color .2s}
  .t-mnav button svg{transition:transform .2s var(--spring)}
  .t-mnav button:active svg{transform:scale(.85)}
}
/* cursor spotlight on cards (set by NrSpot) */
.nr-spot{position:relative}
.nr-spot::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .2s;background:radial-gradient(220px circle at var(--mx,50%) var(--my,50%),rgba(var(--fg-rgb),.06),transparent 70%);z-index:0}
.nr-spot:hover::before{opacity:1}
.ss>*{flex:none}
.na-diag{display:flex;flex-direction:column;gap:5px;font-size:13px;padding:10px 12px;border-radius:12px;border:1px solid var(--t-line)}
.na-diag>div:not(.flex){display:flex;justify-content:space-between;gap:10px}
.na-diag span{color:var(--t-muted)}
.na-flag{width:18px;height:13px;border-radius:2px;object-fit:cover;vertical-align:-2px;display:inline-block;box-shadow:0 0 0 1px rgba(var(--fg-rgb),.12)}
.na-flag.none{background:rgba(var(--fg-rgb),.1)}

/* ================= v95 — spaces architecture ================= */
.t-app.no-side{--main-l:var(--side-x)}
.t-app.no-side .t-head-open{display:none}
.t-side-hint{display:flex;align-items:center;gap:8px;width:100%;margin-top:10px;padding:9px 10px;border-radius:12px;border:1px dashed var(--t-line2);font:600 12.5px var(--font);color:var(--text-muted);text-align:left;transition:color .2s,border-color .2s,background .2s}
.t-side-hint-t{flex:1;min-width:0}
.t-side-hint:hover{color:var(--text);border-color:var(--t-line3);background:rgba(var(--fg-rgb),.04)}
.t-side-hint:hover svg:last-child{transform:translateX(3px)}
.t-side-hint svg{flex:none;transition:transform .2s var(--spring)}
.t-sheet-scroll{max-height:min(66vh,560px);overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px;padding-bottom:4px}
.t-sheet-sec>small{display:flex;align-items:center;gap:6px;margin:0 2px 7px;font:700 12px var(--font);color:var(--text-muted);letter-spacing:.02em}
/* market space: tabs + page */
.mk-wrap{display:flex;flex-direction:column;gap:8px}
.mk-wrap .mk{height:calc(100vh - var(--gap) * 2 - 22px - 46px)}
.mk-page{display:flex;flex-direction:column;gap:10px;height:calc(100dvh - var(--gap,14px) * 2 - 22px);min-height:0}
.mk-page-b{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;border-radius:var(--t-r)}
.mk-page-b.t-legacy{max-width:none;width:100%}
/* alerts page */
.al{display:flex;flex-direction:column;gap:10px}
.al-top{display:flex;align-items:stretch;gap:10px;flex-wrap:wrap}
.al-kpi{display:flex;flex-direction:column;justify-content:center;gap:2px;min-width:120px;padding:10px 14px;border-radius:14px;background:var(--t-panel);border:1px solid var(--border)}
.al-kpi small{font:600 12px var(--font);color:var(--text-muted)}
.al-kpi b{font:800 20px var(--font);font-variant-numeric:tabular-nums}
.al-kpi b.al-mail{display:flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.al-act{margin-left:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.al-list{display:flex;flex-direction:column;gap:8px}
.al-row{flex-direction:row!important;align-items:center;gap:12px;padding:10px 12px;animation:tRowIn .24s var(--t-ease) both}
.al-row.off{opacity:.62}
.al-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.al-main b{font:700 14.5px var(--font);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-main b span{font-weight:600;color:var(--text-secondary)}
.al-main small{font:500 12.5px var(--font);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-tag{color:var(--text-muted)}
.al-st{flex:none;padding:3px 9px;border-radius:999px;font:700 11.5px var(--font);background:rgba(var(--fg-rgb),.07);color:var(--text-muted)}
.al-st.on{background:rgba(34,197,94,.14);color:var(--up)}
.al-note{font:500 12.5px var(--font);color:var(--text-muted);margin:2px 4px}
/* daily journal */
.t-view.dl{display:grid;grid-template-columns:270px minmax(0,1fr);gap:12px;align-items:stretch}
.dl-days{min-height:0}
.dl-days-h{display:flex;align-items:baseline;justify-content:space-between;gap:8px;padding:12px 14px 8px;border-bottom:1px solid var(--t-line)}
.dl-days-h b{font:700 14px var(--font)}.dl-days-h small{font:600 12px var(--font);color:var(--text-muted)}
.dl-days-l{flex:1;min-height:0;overflow:auto;padding:6px;display:flex;flex-direction:column;gap:2px;overscroll-behavior:contain}
.dl-day{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:11px;text-align:left;transition:background .2s}
.dl-day:hover{background:rgba(var(--fg-rgb),.05)}
.dl-day.on{background:rgba(var(--fg-rgb),.09)}
.dl-day>span:nth-child(2){flex:1;display:flex;flex-direction:column}
.dl-day>span:nth-child(2) b{font:700 13.5px var(--font)}.dl-day>span:nth-child(2) b::first-letter{text-transform:uppercase}
.dl-day>span:nth-child(2) small{font:500 12px var(--font);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dl-day-d{flex:none;width:40px;height:40px;border-radius:11px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(var(--fg-rgb),.06);line-height:1}
.dl-day-d b{font:800 15px var(--font)}.dl-day-d small{font:600 10.5px var(--font);color:var(--text-muted);margin-top:2px}
.dl-day.on .dl-day-d{background:var(--btn-bg);color:var(--btn-fg)}.dl-day.on .dl-day-d small{color:inherit;opacity:.75}
.dl-day em{font:700 13px var(--font);font-style:normal;font-variant-numeric:tabular-nums}
.dl-main{min-width:0;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:2px;overscroll-behavior:contain}
.dl-main>*{flex:none}
.dl-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.dl-head h2{font:800 20px var(--font);letter-spacing:-.01em}.dl-head h2::first-letter{text-transform:uppercase}
.dl-head small{font:600 12.5px var(--font);color:var(--text-muted)}
.dl-note{display:flex;flex-direction:column;gap:10px}
.dl-moods,.dl-plan{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.dl-moods>span,.dl-plan>span{font:600 13px var(--font);color:var(--text-muted);margin-right:4px}
.dl-moods button,.dl-pl{display:inline-flex;align-items:center;gap:5px;height:32px;padding:0 11px;border-radius:999px;border:1px solid var(--t-line2);font:600 13px var(--font);color:var(--text-secondary);transition:background .2s,color .2s,border-color .2s,transform .2s var(--spring)}
.dl-moods button i{font-style:normal;font-size:15px}
.dl-moods button:hover,.dl-pl:hover{border-color:var(--t-line3);color:var(--text)}
.dl-moods button:active,.dl-pl:active{transform:scale(.94)}
.dl-moods button.on{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.dl-pl.yes.on{background:rgba(34,197,94,.16);color:var(--up);border-color:rgba(34,197,94,.4)}
.dl-pl.part.on{background:rgba(245,158,11,.16);color:var(--warn,#d97706);border-color:rgba(245,158,11,.4)}
.dl-pl.no.on{background:rgba(239,68,68,.14);color:var(--down);border-color:rgba(239,68,68,.4)}
.dl-ta{width:100%;min-height:150px;resize:vertical;padding:12px 14px;border-radius:12px;border:1px solid var(--t-line2);background:rgba(var(--fg-rgb),.025);font:500 14.5px/1.55 var(--font);color:var(--text);outline:none;transition:border-color .2s,background .2s}
.dl-ta:focus{border-color:var(--t-line3);background:rgba(var(--fg-rgb),.04)}
.dl-lesson{display:flex;align-items:center;gap:8px;padding:0 12px;height:42px;border-radius:12px;border:1px solid var(--t-line2);color:var(--text-muted);transition:border-color .2s}
.dl-lesson:focus-within{border-color:var(--t-line3)}
.dl-lesson input{flex:1;min-width:0;height:100%;background:none;border:0;outline:none;font:600 14px var(--font);color:var(--text)}
.dl-saved{font:500 12px var(--font);color:var(--text-muted)}
/* reports */
.rp-tabs{flex:none;padding-bottom:6px}
.rp-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.rp-groups>.rp-wide{grid-column:1/-1}
.rp-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;padding:0!important;background:var(--t-line)}
.rp-m{display:flex;flex-direction:column;gap:3px;padding:11px 14px;background:var(--t-panel);min-width:0}
.rp-m small{font:600 12px var(--font);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rp-m b{font:800 16.5px var(--font);font-variant-numeric:tabular-nums;white-space:nowrap}
.rp-m[title]:not([title=""]) small{text-decoration:underline dotted rgba(var(--fg-rgb),.3);text-underline-offset:3px;cursor:help}
.rp-ls{display:grid!important;grid-template-columns:1fr 1fr;gap:10px}
.rp-ls-c{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto auto;column-gap:8px;row-gap:2px;align-items:center;padding:14px;border-radius:12px;background:rgba(var(--fg-rgb),.04)}
.rp-ls-c b{font:700 14px var(--font)}.rp-ls-c span{grid-column:1/-1;font:800 22px var(--font);font-variant-numeric:tabular-nums}.rp-ls-c small{grid-column:1/-1;font:500 12.5px var(--font);color:var(--text-muted)}
.rp-emo{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.rp-emo>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-radius:12px;background:rgba(var(--fg-rgb),.04)}
.rp-emo b{font:700 13.5px var(--font);text-transform:capitalize}.rp-emo span{font:800 16px var(--font)}.rp-emo small{font:500 12px var(--font);color:var(--text-muted)}
.rp-tips{display:flex;flex-direction:column;gap:8px}
.rp-tips li{position:relative;padding:10px 12px 10px 34px;border-radius:12px;background:rgba(var(--fg-rgb),.04);font:500 14px/1.45 var(--font)}
.rp-tips li::before{content:"";position:absolute;left:14px;top:17px;width:7px;height:7px;border-radius:50%;background:var(--text-muted)}
.rp-score{display:flex!important;flex-direction:column;align-items:center;gap:12px;text-align:center}
.rp-score p{font:500 14px/1.5 var(--font);color:var(--text-secondary);max-width:320px}
.rp-score-v{position:relative;width:170px;height:170px;display:grid;place-items:center}
.rp-score-v svg{position:absolute;inset:0;transform:rotate(-90deg)}
.rp-score-v circle{fill:none;stroke-width:10;stroke-linecap:round}
.rp-score-v .tr{stroke:rgba(var(--fg-rgb),.08)}
.rp-score-v .v{stroke:var(--text);transition:stroke-dashoffset .3s var(--ease);animation:rpRing .24s var(--ease) both}
@keyframes rpRing{from{stroke-dashoffset:314}}
.rp-score-v b{font:800 44px var(--font);line-height:1;margin-top:-10px}.rp-score-v small{position:absolute;top:62%;font:600 12px var(--font);color:var(--text-muted)}
.rp-parts{display:flex!important;flex-direction:column;gap:12px}
.rp-part{display:grid;grid-template-columns:150px 1fr 34px;align-items:center;gap:10px;font:600 13.5px var(--font)}
.rp-part b{text-align:right;font-variant-numeric:tabular-nums}
.rp-part-b{height:8px;border-radius:8px;background:rgba(var(--fg-rgb),.08);overflow:hidden}
.rp-part-b i{display:block;height:100%;border-radius:8px;animation:rpBar .24s var(--ease) both;transform-origin:left}
@keyframes rpBar{from{transform:scaleX(0)}}
/* calculators */
.t-view.nc{display:grid;grid-template-columns:250px minmax(0,1fr);gap:12px}
.nc-nav{padding:8px;overflow:auto;gap:8px}
.nc-grp{display:flex;flex-direction:column;gap:2px}
.nc-grp small{padding:6px 8px 4px;font:700 12px var(--font);color:var(--text-muted)}
.nc-grp button{display:flex;align-items:center;gap:10px;height:38px;padding:0 10px;border-radius:11px;font:600 13.5px var(--font);color:var(--text-secondary);text-align:left;transition:background .2s,color .2s}
.nc-grp button:hover{background:rgba(var(--fg-rgb),.05);color:var(--text)}
.nc-grp button.on{background:var(--btn-bg);color:var(--btn-fg)}
.nc-main{padding:18px 20px;overflow:auto;gap:14px;animation:tPanelIn .24s var(--t-ease) both}
.nc-h{display:flex;align-items:center;gap:12px}
.nc-h-ic{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:rgba(var(--fg-rgb),.07)}
.nc-h b{display:block;font:800 18px var(--font)}.nc-h small{font:500 13px var(--font);color:var(--text-muted)}
.nc-mine{display:flex;align-items:center;gap:7px;padding:8px 12px;border-radius:11px;background:rgba(var(--fg-rgb),.05);font:600 12.5px var(--font);color:var(--text-secondary);align-self:flex-start}
.nc-body{display:flex;flex-direction:column;gap:14px}
.nc-ins{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.nc-in{display:flex;flex-direction:column;gap:5px;min-width:0}
.nc-in>span:first-child{font:600 12.5px var(--font);color:var(--text-muted)}
.nc-in-b{display:flex;align-items:center;height:42px;border-radius:12px;border:1px solid var(--t-line2);background:rgba(var(--fg-rgb),.025);padding:0 12px;transition:border-color .2s,background .2s}
.nc-in-b:focus-within{border-color:var(--t-line3);background:rgba(var(--fg-rgb),.045)}
.nc-in-b input{flex:1;min-width:0;height:100%;background:none;border:0;outline:none;font:700 15px var(--font);color:var(--text);font-variant-numeric:tabular-nums}
.nc-in-b em{font:600 13px var(--font);font-style:normal;color:var(--text-muted)}
.nc-in .t-select{height:42px;border-radius:12px}
.nc-outs{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1px;background:var(--t-line);border:1px solid var(--t-line);border-radius:14px;overflow:hidden}
.nc-out{display:flex;flex-direction:column;gap:3px;padding:12px 14px;background:var(--t-panel)}
.nc-out small{font:600 12px var(--font);color:var(--text-muted)}
.nc-out b{font:800 17px var(--font);font-variant-numeric:tabular-nums}
.nc-out.big{background:rgba(var(--fg-rgb),.05)}.nc-out.big b{font-size:26px;letter-spacing:-.01em}
.nc-hint{font:500 13px/1.5 var(--font);color:var(--text-muted)}
.nc-dd{display:flex;flex-direction:column;gap:6px}
.nc-dd>div{display:grid;grid-template-columns:52px 1fr 60px;align-items:center;gap:10px;font:700 13px var(--font)}
.nc-dd i{display:block;height:8px;border-radius:8px;background:var(--down);opacity:.75;animation:rpBar .24s var(--ease) both;transform-origin:left}
.nc-dd b{text-align:right;color:var(--down)}
.nc-mc{border-radius:12px;background:rgba(var(--fg-rgb),.025)}
.nc-tbl{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px}
.nc-tbl>div{display:flex;justify-content:space-between;padding:8px 12px;border-radius:10px;background:rgba(var(--fg-rgb),.04);font:600 13px var(--font)}
.nc-tbl span{color:var(--text-muted)}
@media (max-width:1200px){.rp-groups{grid-template-columns:minmax(0,1fr)}.t-view.dl{grid-template-columns:230px minmax(0,1fr)}}
@media (max-width:1023px){
  .mk-wrap .mk{height:auto}
  .mk-page{height:auto}.mk-page-b{overflow:visible}
  .mk-tabs{max-width:100%;overflow-x:auto;scrollbar-width:none}.mk-tabs::-webkit-scrollbar{display:none}
  .mk-tabs button{flex:none}
  .al-act{margin-left:0;width:100%}.al-act .t-btn{flex:1}
  .al-kpi{flex:1;min-width:0}
  .al-row{gap:8px;padding:10px}.al-row .al-tag{display:none}
  .t-view.dl,.t-view.nc{grid-template-columns:minmax(0,1fr)}
  .dl-days{max-height:none}.dl-days-l{flex-direction:row;overflow-x:auto;padding:8px}
  .dl-day{flex:none;flex-direction:column;align-items:center;gap:4px;padding:6px;min-width:64px}
  .dl-day>span:nth-child(2){display:none}.dl-day em{font-size:11.5px}
  .dl-main{overflow:visible}
  .rp-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .rp-part{grid-template-columns:110px 1fr 30px}
  .nc-nav{flex-direction:row!important;overflow-x:auto;padding:6px;gap:4px}
  .nc-grp{flex-direction:row;gap:4px}.nc-grp small{display:none}
  .nc-grp button{flex:none;height:36px}
  .nc-main{padding:14px}
  .nc-ins{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
}
.rp-grid>.rp-m:last-child:nth-child(odd){grid-column:1/-1}
.t-scrim.t-scrim-sheet{z-index:61}
@media (max-width:1023px){
  .mk-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;align-self:stretch}
  .mk-tabs button{justify-content:center;gap:5px;padding:0 4px;font-size:12px;min-width:0}
  .mk-tabs button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}
@media (max-width:380px){.mk-tabs button svg{display:none}}
.mk-tabs .mk-s{display:none}
@media (max-width:1023px){.mk-tabs .mk-l{display:none}.mk-tabs .mk-s{display:inline}}
/* phone drawer: every space + every page */
.t-mdrawer .t-side-brand{display:flex;align-items:center;gap:10px;font:800 18px var(--font)}
.t-md-scroll{display:flex;flex-direction:column;gap:6px;padding-bottom:10px}
.t-md-sec{display:flex;flex-direction:column;gap:2px;padding:4px 0 6px;border-bottom:1px solid var(--t-line)}
.t-md-sec:last-child{border-bottom:0}
.t-md-h{display:flex;align-items:center;gap:7px;padding:8px 10px 4px;font:700 12px var(--font);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted)}
.t-md-sec.cur .t-md-h{color:var(--text)}
.t-mdrawer .t-item{height:42px}
.t-mdrawer .t-item.on{background:rgba(var(--fg-rgb),.08);color:var(--text)}
@media (max-width:1023px){.t-side.t-mdrawer{background:var(--bg);backdrop-filter:none;-webkit-backdrop-filter:none}}

/* ================= v96 plans & billing ================= */
.nb-chip{display:inline-flex;align-items:center;gap:7px;height:42px;padding:0 14px;border-radius:14px;border:1px solid var(--border);background:var(--glass-strong);font:800 13.5px var(--font);color:var(--text);white-space:nowrap}
.nb-chip i{width:8px;height:8px;border-radius:50%;background:var(--pc);box-shadow:0 0 0 3px color-mix(in srgb,var(--pc) 25%,transparent)}
.nb-chip.up{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.nb-chip.up svg{animation:nbGem 3.2s var(--ease) infinite}
@keyframes nbGem{0%,80%,100%{transform:none}86%{transform:rotate(-14deg) scale(1.15)}93%{transform:rotate(10deg) scale(1.1)}}
@media (max-width:1400px){.nb-chip span{display:none}.nb-chip.up{width:42px;padding:0;justify-content:center}}
.nb{gap:16px;max-width:1320px;margin:0 auto;width:100%}
.nb-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:6px 2px 2px}
.nb-hero h2{font:800 clamp(24px,3vw,34px)/1.1 var(--font);letter-spacing:-.02em}
.nb-hero p{margin-top:8px;max-width:560px;font:500 14.5px/1.5 var(--font);color:var(--text-secondary)}
.nb-per{display:inline-flex;padding:4px;border-radius:14px;background:rgba(var(--fg-rgb),.06);border:1px solid var(--t-line)}
.nb-per button{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 16px;border-radius:10px;font:700 13.5px var(--font);color:var(--text-secondary);transition:background .2s,color .2s}
.nb-per button.on{background:var(--btn-bg);color:var(--btn-fg);box-shadow:var(--shadow-sm)}
.nb-per em{font-style:normal;font-size:11px;padding:2px 6px;border-radius:999px;background:rgba(34,197,94,.18);color:var(--up)}
.nb-per button.on em{background:rgba(255,255,255,.18);color:inherit}
.nb-note{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:14px;background:rgba(var(--fg-rgb),.05);border:1px solid var(--t-line);font:600 13.5px var(--font)}
.nb-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.nb-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:18px 16px 16px;border-radius:20px;background:var(--t-panel);border:1px solid var(--border);box-shadow:var(--shadow-sm);animation:tPanelIn .24s var(--t-ease) both;transition:transform .2s var(--spring),border-color .2s,box-shadow .2s}
.nb-card:hover{transform:translateY(-4px);border-color:var(--border-strong);box-shadow:var(--shadow)}
.nb-card.pop{border-color:color-mix(in srgb,var(--pc) 60%,transparent);box-shadow:0 0 0 1px color-mix(in srgb,var(--pc) 40%,transparent),var(--shadow)}
.nb-card.cur{outline:2px solid var(--text);outline-offset:-2px}
.nb-badge{position:absolute;top:-10px;left:16px;padding:3px 10px;border-radius:999px;background:var(--pc);color:#fff;font:800 11px var(--font);letter-spacing:.02em}
.nb-name{display:flex;align-items:center;gap:8px;font:800 18px var(--font)}
.nb-name i{width:10px;height:10px;border-radius:3px;background:var(--pc);transform:rotate(45deg)}
.nb-tag{font:600 12px var(--font);color:var(--text-muted)}
.nb-price{display:flex;align-items:baseline;gap:4px;margin-top:8px}
.nb-price b{font:800 32px var(--font);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.nb-price span{font:600 13px var(--font);color:var(--text-muted)}
.nb-bill{font:600 11.5px var(--font);color:var(--text-muted);min-height:15px}
.nb-d{font:500 13px/1.45 var(--font);color:var(--text-secondary);min-height:38px}
.nb-btn{height:42px;margin:4px 0 6px;border-radius:12px;border:1px solid var(--t-line2);font:800 13.5px var(--font);color:var(--text);transition:background .2s,transform .2s var(--spring),border-color .2s}
.nb-btn:hover:not(:disabled){border-color:var(--t-line3);background:rgba(var(--fg-rgb),.05)}
.nb-btn:active:not(:disabled){transform:scale(.97)}
.nb-btn.main{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.nb-btn.main:hover:not(:disabled){background:var(--btn-bg);filter:brightness(1.15)}
.nb-btn:disabled{opacity:.6;cursor:default}
.nb-btn.cur{background:rgba(var(--fg-rgb),.07);opacity:1}
.nb-key{display:flex;flex-direction:column;gap:7px;padding-top:10px;border-top:1px solid var(--t-line)}
.nb-key li{display:flex;align-items:flex-start;gap:7px;font:500 12.5px/1.35 var(--font);color:var(--text-secondary)}
.nb-key li svg{flex:none;margin-top:1px;color:var(--pc)}
.nb-key li b{color:var(--text)}
.nb-key li.plus{color:var(--text)}
.nb-promo{display:flex!important;align-items:center;gap:10px;flex-wrap:wrap}
.nb-promo input{flex:1;min-width:180px;height:42px;padding:0 14px;border-radius:12px;border:1px solid var(--t-line2);background:rgba(var(--fg-rgb),.03);font:800 15px var(--font);letter-spacing:.06em;color:var(--text);outline:none}
.nb-promo input:focus{border-color:var(--t-line3)}
.nb-promo small{flex-basis:100%;font:500 12px var(--font);color:var(--text-muted)}
.nb-cmp{overflow-x:auto}
.nb-cmp-h,.nb-cmp-r{display:grid;grid-template-columns:minmax(220px,1.6fr) repeat(5,minmax(84px,1fr));align-items:center;min-width:700px}
.nb-cmp-h{position:sticky;top:0;background:var(--t-panel);border-bottom:1px solid var(--t-line);padding:12px 14px}
.nb-cmp-h b{text-align:center;font:800 13.5px var(--font)}
.nb-cmp-h b.cur{color:var(--pc)}
.nb-cmp-g{padding:14px 14px 6px;font:800 11.5px var(--font);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);min-width:700px}
.nb-cmp-r{padding:8px 14px;border-bottom:1px solid rgba(var(--fg-rgb),.06);font:500 13px var(--font);color:var(--text-secondary);transition:background .15s}
.nb-cmp-r:hover{background:rgba(var(--fg-rgb),.03)}
.nb-cmp-r em{font-style:normal;text-align:center;font:700 13px var(--font);color:var(--text);display:flex;justify-content:center}
.nb-cmp-r em.cur{background:rgba(var(--fg-rgb),.04);border-radius:6px}
.nb-no{color:var(--text-muted);font-weight:500}
.nb-faq{display:flex!important;flex-direction:column}
.nb-q{border-bottom:1px solid var(--t-line)}
.nb-q:last-child{border-bottom:0}
.nb-q>button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:13px 2px;font:700 14px var(--font);color:var(--text);text-align:left}
.nb-q>button svg{flex:none;transition:transform .2s var(--spring)}
.nb-q.on>button svg{transform:rotate(45deg)}
.nb-q>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s var(--ease)}
.nb-q.on>div{grid-template-rows:1fr}
.nb-q>div>p{overflow:hidden;font:500 13.5px/1.55 var(--font);color:var(--text-secondary);padding:0 2px}
.nb-q.on>div>p{padding-bottom:13px}
.nb-legal{font:500 12px/1.5 var(--font);color:var(--text-muted);text-align:center;padding:0 10px 10px}
.nb-legal a{color:var(--text-secondary);text-decoration:underline;text-underline-offset:2px}
.nb-wrap{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:16px;background:var(--scrim,rgba(0,0,0,.4));backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:nbFade .24s ease both}
@keyframes nbFade{from{opacity:0}}
.nb-up,.nb-pay,.nb-fb{position:relative;width:min(440px,100%);max-height:calc(100dvh - 32px);overflow:auto;padding:24px;border-radius:22px;background:var(--pop-bg,var(--surface));border:1px solid var(--border);box-shadow:0 40px 100px -30px rgba(0,0,0,.55);animation:nbPop .24s var(--spring) both}
@keyframes nbPop{from{opacity:0;transform:translateY(14px) scale(.96)}}
.nb-x{position:absolute;right:12px;top:12px;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;color:var(--text-muted)}
.nb-x:hover{background:rgba(var(--fg-rgb),.07);color:var(--text)}
.nb-up{text-align:center}
.nb-up-ic{width:58px;height:58px;margin:4px auto 12px;border-radius:18px;display:grid;place-items:center;color:#fff;background:var(--pc);box-shadow:0 12px 30px -10px var(--pc);animation:nbGem 2.6s var(--ease) infinite}
.nb-up h3,.nb-pay h3,.nb-fb h3{font:800 20px var(--font);letter-spacing:-.01em}
.nb-up p{margin:8px 0 14px;font:500 14px/1.5 var(--font);color:var(--text-secondary)}
.nb-up-row{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;padding:12px;border-radius:14px;background:rgba(var(--fg-rgb),.05)}
.nb-up-row b{font:800 20px var(--font)}.nb-up-row small{font:500 12px var(--font);color:var(--text-muted)}
.nb-pill{padding:3px 10px;border-radius:999px;background:var(--pc);color:#fff;font:800 12px var(--font)}
.nb-up-act{display:flex;gap:8px;justify-content:center;margin-top:16px}
.nb-up-act>*{flex:1}
.nb-pay-s{margin:4px 0 16px;font:600 14px var(--font);color:var(--text-secondary)}
.nb-meth{display:flex;align-items:center;gap:12px;width:100%;padding:14px;margin-bottom:8px;border-radius:16px;border:1px solid var(--t-line2);text-align:left;transition:border-color .2s,background .2s,transform .2s var(--spring)}
.nb-meth:hover:not(:disabled){border-color:var(--t-line3);background:rgba(var(--fg-rgb),.04)}
.nb-meth:active:not(:disabled){transform:scale(.98)}
.nb-meth>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}
.nb-meth b{font:800 14.5px var(--font)}.nb-meth small{font:500 12px var(--font);color:var(--text-muted)}
.nb-meth-ic{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--btn-bg);color:var(--btn-fg);flex:none}
.nb-spin{width:18px;height:18px;border-radius:50%;border:2px solid rgba(var(--fg-rgb),.2);border-top-color:var(--text);animation:tSpin .7s linear infinite}
.nb-pay-n{display:flex;align-items:center;gap:6px;margin-top:6px;font:500 11.5px var(--font);color:var(--text-muted)}
.nb-fb-top{position:relative;text-align:center;padding:8px 0 6px}
.nb-fb-top p{margin-top:6px;font:500 13.5px var(--font);color:var(--text-secondary)}
.nb-fb-top>svg{margin:0 auto 6px;color:var(--warn,#d97706)}
.nb-fb-conf{position:absolute;left:50%;top:18px;pointer-events:none}
.nb-fb-conf i{position:absolute;width:6px;height:10px;border-radius:2px;background:hsl(calc(var(--i)*26),80%,55%);animation:nbConf .24s cubic-bezier(.15,.7,.3,1) both;--a:calc(var(--i)*25.7deg)}
@keyframes nbConf{from{transform:rotate(var(--a)) translateY(0);opacity:1}to{transform:rotate(var(--a)) translateY(-90px) rotate(200deg);opacity:0}}
.nb-stars{display:flex;align-items:center;justify-content:center;gap:2px;margin:14px 0 10px;flex-wrap:wrap}
.nb-stars span{flex-basis:100%;text-align:center;font:700 13.5px var(--font);margin-bottom:4px}
.nb-stars button{width:40px;height:40px;display:grid;place-items:center;color:rgba(var(--fg-rgb),.25);transition:transform .2s var(--spring),color .15s}
.nb-stars button:hover{transform:scale(1.15)}
.nb-stars button.on{color:#F5A623}
.nb-stars button.on svg{fill:#F5A623}
.nb-fb-q{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.nb-fb-q span{font:700 13px var(--font)}
.nb-fb-q textarea{resize:none;padding:10px 12px;border-radius:12px;border:1px solid var(--t-line2);background:rgba(var(--fg-rgb),.03);font:500 13.5px/1.45 var(--font);color:var(--text);outline:none}
.nb-fb-q textarea:focus{border-color:var(--t-line3)}
.nb-fb-ok{text-align:center;padding:20px 0}
.nb-fb-ok>span{width:60px;height:60px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:rgba(239,68,68,.12);color:var(--down);animation:nbPop .24s var(--spring)}
.nb-fb-ok p{margin-top:6px;color:var(--text-secondary)}
.t-tabs button svg,.nc-grp button>svg:last-child{opacity:.6}
@media (max-width:1300px){.nb-cards{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1023px){.nb-cards{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.nb-hero{align-items:flex-start}.nb-per{width:100%}.nb-per button{flex:1;justify-content:center}}
@media (max-width:560px){.nb-cards{grid-template-columns:minmax(0,1fr)}.nb-d{min-height:0}}
.nb-key li{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:7px}
.nb-key li b{font-variant-numeric:tabular-nums;white-space:nowrap}
.nb-set{padding:18px;gap:14px}
.nb-set-top{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.nb-set-top>div{flex:1;min-width:160px;display:flex;flex-direction:column}
.nb-set-top small{font:600 12px var(--font);color:var(--text-muted)}.nb-set-top b{font:800 24px var(--font)}.nb-set-top em{font:500 12.5px var(--font);font-style:normal;color:var(--text-secondary)}
.nb-set-ic{width:52px;height:52px;border-radius:16px;display:grid;place-items:center;background:var(--pc);color:#fff;box-shadow:0 10px 26px -10px var(--pc)}
.nb-set-lims{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1px;background:var(--t-line);border:1px solid var(--t-line);border-radius:14px;overflow:hidden}
.nb-set-lims>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;background:var(--t-panel)}
.nb-set-lims small{font:600 11.5px var(--font);color:var(--text-muted)}.nb-set-lims b{font:800 16px var(--font)}
.nb-set-promo{display:flex;gap:8px}
.nb-set-n{font:500 12.5px/1.5 var(--font);color:var(--text-muted)}
/* admin → Финансы */
.na-head.sub{justify-content:flex-end}
.na-kpis:has(.na-kpi:nth-child(6)){grid-template-columns:repeat(3,minmax(0,1fr))}
.naf-bars{display:flex;align-items:flex-end;gap:3px;height:140px;padding:4px 2px}
.naf-bars i{flex:1;min-width:3px;border-radius:3px 3px 0 0;background:var(--text);opacity:.75;transition:opacity .15s;animation:rpBar .24s var(--ease) both;transform-origin:bottom}
@keyframes rpBarV{from{transform:scaleY(0)}}
.naf-bars i{animation-name:rpBarV}
.naf-bars i:hover{opacity:1}
.na-card.p0{padding:0;overflow:hidden}
.naf-t{display:flex;flex-direction:column;max-height:520px;overflow:auto}
.naf-r{display:grid;grid-template-columns:120px minmax(0,1.6fr) 130px 120px 100px 100px;gap:10px;align-items:center;padding:9px 14px;border-bottom:1px solid rgba(var(--fg-rgb),.06);font:500 13px var(--font);cursor:pointer;transition:background .15s}
.naf-r.s{grid-template-columns:minmax(0,1.6fr) 120px 160px 110px 120px}
.naf-r.p{grid-template-columns:130px 160px 80px minmax(0,1fr) 70px;cursor:default}
.naf-r:hover{background:rgba(var(--fg-rgb),.035)}
.naf-r.h{position:sticky;top:0;z-index:1;background:var(--t-panel);font:700 11.5px var(--font);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);cursor:default}
.naf-r.off{opacity:.5}
.naf-e{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.naf-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}
.naf-st{justify-self:start;padding:2px 9px;border-radius:999px;font:700 11.5px var(--font);background:rgba(var(--fg-rgb),.07);color:var(--text-muted)}
.naf-st.paid{background:rgba(34,197,94,.14);color:var(--up)}.naf-st.refunded,.naf-st.failed{background:rgba(239,68,68,.12);color:var(--down)}.naf-st.pending{background:rgba(245,158,11,.14);color:var(--warn,#b45309)}
.naf-code{font:800 13.5px var(--font);letter-spacing:.05em;cursor:copy}
.naf-act{display:flex;gap:2px;justify-content:flex-end}
.naf-act button{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;color:var(--text-muted)}
.naf-act button:hover{background:rgba(var(--fg-rgb),.08);color:var(--text)}
.naf-pf{display:grid;grid-template-columns:1.3fr 1fr 90px 110px;gap:10px;align-items:end;margin-bottom:14px}
.naf-pf label{display:flex;flex-direction:column;gap:5px;font:600 12px var(--font);color:var(--text-muted)}
.naf-pf label.w{grid-column:1/4}
.naf-pf input,.naf-pf select{height:38px;padding:0 10px;border-radius:10px;border:1px solid var(--t-line2);background:transparent;color:var(--text);font:700 13.5px var(--font);outline:none;min-width:0;width:100%}
.naf-in{display:flex;gap:4px}.naf-in button{width:38px;flex:none;border-radius:10px;border:1px solid var(--t-line2);display:grid;place-items:center;color:var(--text-muted)}
.naf-fb{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:10px}
.naf-stars{color:#F5A623;font-size:16px;letter-spacing:2px}.naf-stars span{color:rgba(var(--fg-rgb),.2)}
.naf-a{margin-top:8px;font:500 13.5px/1.5 var(--font)}.naf-a small{display:block;font:700 11.5px var(--font);color:var(--text-muted)}
.na-note.pad{padding:14px}
.na-tabs.sm button{height:32px;font-size:13.5px}
@media (max-width:1023px){.naf-r,.naf-r.s,.naf-r.p{grid-template-columns:1fr 1fr;row-gap:2px}.naf-r.h{display:none}.naf-pf{grid-template-columns:1fr 1fr}.naf-pf label.w{grid-column:1/-1}.na-kpis:has(.na-kpi:nth-child(6)){grid-template-columns:1fr 1fr}}
/* Telegram settings */
.tg-set{padding:18px;gap:16px}
.tg-hero{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.tg-hero>div{flex:1;min-width:200px}
.tg-hero b{font:800 18px var(--font)}.tg-hero p{margin-top:3px;font:500 13.5px/1.5 var(--font);color:var(--text-secondary)}
.tg-hero code{padding:1px 6px;border-radius:6px;background:rgba(var(--fg-rgb),.08);font-size:12.5px}
.tg-ic{width:50px;height:50px;border-radius:16px;display:grid;place-items:center;background:#229ED9;color:#fff;box-shadow:0 10px 24px -10px #229ED9}
.tg-st{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border-radius:999px;background:rgba(var(--fg-rgb),.07);font:700 12.5px var(--font);color:var(--text-muted)}
.tg-st i{width:8px;height:8px;border-radius:50%;background:currentColor}
.tg-st.on{background:rgba(34,197,94,.14);color:var(--up)}
.tg-st.on i{animation:tgPulse 1.8s ease-in-out infinite}
@keyframes tgPulse{50%{box-shadow:0 0 0 5px rgba(34,197,94,.2)}}
.tg-steps{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px;border-radius:14px;background:rgba(var(--fg-rgb),.04)}
.tg-steps ol{margin-left:18px;font:500 13.5px/1.8 var(--font);color:var(--text-secondary)}
.tg-prefs{display:flex;flex-direction:column;gap:4px}
.tg-sw{height:auto;padding:8px 4px}
.tg-sw span{display:flex;flex-direction:column}.tg-sw span b{font:700 14px var(--font)}.tg-sw span small{font:500 12px var(--font);color:var(--text-muted)}
/* ================= Портфель ================= */
.pf{gap:12px}
.pf-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.pf-sel{display:flex;gap:4px;padding:4px;border-radius:14px;background:rgba(var(--fg-rgb),.05);border:1px solid var(--t-line);overflow-x:auto;max-width:100%;scrollbar-width:none}
.pf-sel button{height:34px;padding:0 14px;border-radius:10px;font:700 13.5px var(--font);color:var(--text-secondary);white-space:nowrap;transition:background .2s,color .2s}
.pf-sel button.on{background:var(--btn-bg);color:var(--btn-fg)}
.pf-sel button.add{width:34px;padding:0;display:grid;place-items:center}
.pf-sel input{width:130px;height:24px;border:0;outline:none;background:transparent;color:inherit;font:inherit}
.pf-act{display:flex;gap:6px;flex-wrap:wrap}
.pf-empty{flex:1;min-height:360px}
.pf-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:12px}
.pf-alloc{display:flex!important;align-items:center;gap:20px;flex-wrap:wrap}
.pf-donut{position:relative;flex:none}
.pf-donut svg{width:100%;height:100%;transform:rotate(-90deg)}
.pf-donut circle+circle{animation:pfArc .24s var(--ease) both}
@keyframes pfArc{from{stroke-dasharray:0 2000}}
.pf-donut-c{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.pf-donut-c b{font:800 26px var(--font)}.pf-donut-c small{font:600 11.5px var(--font);color:var(--text-muted);order:2}
.pf-leg{flex:1;min-width:180px;display:flex;flex-direction:column;gap:7px}
.pf-leg>div{display:grid;grid-template-columns:10px minmax(0,1fr) auto 70px;align-items:center;gap:8px;font:600 13px var(--font)}
.pf-leg i{width:10px;height:10px;border-radius:3px}.pf-leg span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-leg b{font-variant-numeric:tabular-nums}.pf-leg small{text-align:right;color:var(--text-muted);font-variant-numeric:tabular-nums}
.pf-t{display:flex;flex-direction:column}
.pf-r{display:grid;grid-template-columns:minmax(170px,1.6fr) 90px 100px 120px 120px 130px 110px 104px;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(var(--fg-rgb),.06);font:500 13.5px var(--font);animation:tRowIn .24s var(--t-ease) both;transition:background .15s}
.pf-r:hover{background:rgba(var(--fg-rgb),.03)}
.pf-r.h{position:sticky;top:0;z-index:1;background:var(--t-panel);font:700 11.5px var(--font);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);animation:none}
.pf-r.h:hover{background:var(--t-panel)}
.pf-r.tx{grid-template-columns:170px minmax(120px,1fr) 160px 150px minmax(0,1fr) 40px}
.pf-r .num{font-variant-numeric:tabular-nums;display:flex;flex-direction:column;line-height:1.25}
.pf-r .num small{font:600 11.5px var(--font)}
.pf-a{display:flex;align-items:center;gap:10px;min-width:0}
.pf-a b{font:800 14px var(--font)}
.pf-a small{display:flex;align-items:center;gap:5px;font:500 12px var(--font);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pf-a small i{width:7px;height:7px;border-radius:2px;flex:none}
.pf-w{display:flex;flex-direction:column;gap:3px}
.pf-w i{display:block;height:5px;border-radius:5px;background:var(--text);opacity:.7;animation:rpBar .24s var(--ease) both;transform-origin:left}
.pf-w small{font:600 11.5px var(--font);color:var(--text-muted)}
.pf-ra{display:flex;gap:3px;justify-content:flex-end}
.pf-wait{display:inline-block;width:60px;height:12px;border-radius:6px;background:rgba(var(--fg-rgb),.08);animation:tShim 1.2s ease-in-out infinite}
@keyframes tShim{50%{opacity:.4}}
.pf-tt{display:flex;align-items:center;gap:10px}
.pf-tt span{display:flex;flex-direction:column}.pf-tt b{font:700 13.5px var(--font)}.pf-tt small{font:500 12px var(--font);color:var(--text-muted)}
.pf-ti{width:30px;height:30px;border-radius:10px;display:grid;place-items:center;background:rgba(var(--fg-rgb),.07)}
.pf-ti.buy{background:rgba(45,127,249,.14);color:#2D7FF9}.pf-ti.sell{background:rgba(245,166,35,.16);color:#D9871A}.pf-ti.div,.pf-ti.cash_in{background:rgba(34,197,94,.14);color:var(--up)}.pf-ti.cash_out{background:rgba(239,68,68,.12);color:var(--down)}
.pf-note{font:500 12.5px var(--font);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* operation dialog */
.pf-dlg{width:min(520px,100%)}
.pf-types{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.pf-types button{display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:10px;border:1px solid var(--t-line2);font:700 13px var(--font);color:var(--text-secondary);transition:background .2s,color .2s,border-color .2s}
.pf-types button.on{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.pf-pick{display:flex;align-items:center;gap:12px;width:100%;padding:12px;border-radius:14px;border:1px dashed var(--t-line3);text-align:left;margin-bottom:12px;transition:background .2s}
.pf-pick:hover{background:rgba(var(--fg-rgb),.04)}
.pf-pick>span:nth-of-type(1),.pf-pick>span:nth-child(2){flex:1;display:flex;flex-direction:column;min-width:0}
.pf-pick b{font:800 15px var(--font)}.pf-pick small{font:500 12px var(--font);color:var(--text-muted)}
.pf-pick-ic{flex:none!important;width:30px;height:30px;border-radius:50%;display:grid!important;place-items:center;background:rgba(var(--fg-rgb),.08)}
.pf-form{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pf-form label{display:flex;flex-direction:column;gap:5px;font:700 12px var(--font);color:var(--text-muted);min-width:0}
.pf-form label.w{grid-column:1/-1}
.pf-form input,.pf-form select{height:42px;padding:0 12px;border-radius:12px;border:1px solid var(--t-line2);background:rgba(var(--fg-rgb),.03);color:var(--text);font:700 14.5px var(--font);outline:none;width:100%;min-width:0}
.pf-form input:focus{border-color:var(--t-line3)}
.pf-sum{margin-top:12px;font:600 13.5px var(--font);color:var(--text-secondary)}.pf-sum b{color:var(--text);font-size:16px}
@media (max-width:1200px){.pf-grid{grid-template-columns:minmax(0,1fr)}.pf-r{grid-template-columns:minmax(150px,1.5fr) 80px 110px 110px 120px 90px}.pf-r>:nth-child(3),.pf-r>:nth-child(7){display:none}}
@media (max-width:1023px){.pf-r,.pf-r.tx{grid-template-columns:minmax(0,1fr) auto;row-gap:4px}.pf-r.h{display:none}.pf-r>:not(.pf-a):not(:nth-child(5)):not(.pf-tt):not(:nth-child(4)){display:none}.pf-r.tx>:nth-child(4){display:flex}.pf-r>:nth-child(5){text-align:right;align-items:flex-end}.pf-act .t-btn:not(:last-child){display:none}.pf-form{grid-template-columns:1fr 1fr}}
/* ================= Скринер ================= */
.sc{display:flex;flex-direction:column;gap:10px}
.sc-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.sc-g{display:flex;gap:3px;padding:3px;border-radius:12px;background:rgba(var(--fg-rgb),.05);border:1px solid var(--t-line);overflow-x:auto;scrollbar-width:none;max-width:100%}
.sc-g button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-radius:9px;font:700 13px var(--font);color:var(--text-secondary);white-space:nowrap;transition:background .2s,color .2s}
.sc-g button.on{background:var(--btn-bg);color:var(--btn-fg)}
.sc-q{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;border:1px solid var(--t-line2);background:rgba(var(--fg-rgb),.03);color:var(--text-muted)}
.sc-q input{flex:1;min-width:0;height:100%;border:0;outline:none;background:none;color:var(--text);font:600 13.5px var(--font)}
.sc-pre{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.sc-pre button{height:30px;padding:0 12px;border-radius:999px;border:1px solid var(--t-line2);font:600 12.5px var(--font);color:var(--text-secondary);transition:background .2s,color .2s,border-color .2s}
.sc-pre button:hover{color:var(--text);border-color:var(--t-line3)}
.sc-pre button.on{background:var(--text);color:var(--bg);border-color:transparent}
.sc-n{margin-left:auto;font:600 12.5px var(--font);color:var(--text-muted)}
.sc-t{overflow:auto}
.sc-r{display:grid;grid-template-columns:minmax(180px,1.7fr) 110px 82px 82px 82px 82px 96px 120px 54px 132px 40px;gap:8px;align-items:center;padding:8px 14px;border-bottom:1px solid rgba(var(--fg-rgb),.06);font:500 13px var(--font);cursor:pointer;animation:tRowIn .24s var(--t-ease) both;transition:background .15s;min-width:1040px}
.sc-r:hover{background:rgba(var(--fg-rgb),.035)}
.sc-r.hd{position:sticky;top:0;z-index:1;background:var(--t-panel);cursor:default;animation:none;padding-top:10px;padding-bottom:10px}
.sc-h{display:inline-flex;align-items:center;gap:3px;justify-content:flex-end;font:700 11.5px var(--font);letter-spacing:.03em;text-transform:uppercase;color:var(--text-muted);text-align:right}
.sc-h.l{justify-content:flex-start}.sc-h.on,.sc-h:hover{color:var(--text)}
span.sc-h{justify-content:center}
.sc-r .num{text-align:right;font-variant-numeric:tabular-nums}
.sc-a{display:flex;align-items:center;gap:10px;min-width:0}
.sc-a b{display:block;font:800 13.5px var(--font)}.sc-a small{display:block;font:500 11.5px var(--font);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sc-rng{display:flex;align-items:center;gap:6px}
.sc-rng i{position:relative;flex:1;height:4px;border-radius:4px;background:linear-gradient(90deg,var(--down),rgba(var(--fg-rgb),.2),var(--up))}
.sc-rng em{position:absolute;top:50%;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--text);box-shadow:0 0 0 2px var(--t-panel)}
.sc-rng small{width:30px;text-align:right;font:600 11px var(--font);color:var(--text-muted)}
.sc-rt{display:inline-block;padding:3px 9px;border-radius:999px;font:700 11.5px var(--font);white-space:nowrap}
.sc-rt.r-sb{background:rgba(34,197,94,.2);color:var(--up)}.sc-rt.r-b{background:rgba(34,197,94,.1);color:var(--up)}.sc-rt.r-n{background:rgba(var(--fg-rgb),.07);color:var(--text-muted)}.sc-rt.r-s{background:rgba(239,68,68,.1);color:var(--down)}.sc-rt.r-ss{background:rgba(239,68,68,.2);color:var(--down)}
.sc-act{display:flex;justify-content:flex-end}
.sc-r.sk{cursor:default;grid-template-columns:1.7fr 1fr 1fr 1fr}
.sc-r.sk i{height:12px;border-radius:6px;background:rgba(var(--fg-rgb),.07);animation:tShim 1.2s ease-in-out infinite}
.sc-more{width:100%;height:44px;font:700 13px var(--font);color:var(--text-secondary)}
.sc-more:hover{background:rgba(var(--fg-rgb),.04);color:var(--text)}
@media (max-width:1023px){.sc-r{min-width:0;grid-template-columns:minmax(0,1fr) auto 70px 34px}.sc-r .scm,.sc-r .scl,.sc-r>:nth-child(10),.sc-r.hd>:nth-child(n+4):not(:last-child){display:none}.sc-r.hd{grid-template-columns:minmax(0,1fr) auto 70px 34px}.mk-tabs{grid-template-columns:repeat(5,minmax(0,1fr))!important}.mk-tabs button svg{display:none}}
.sc-t>*{flex:none}.sc-t{flex:1;min-height:240px}
/* Settings → change email */
.ae{display:flex;flex-direction:column;gap:6px;grid-column:span 1}
.ae-row{display:flex;gap:6px}
.ae-btn{flex:none;height:38px;padding:0 14px;border-radius:11px;border:1px solid var(--t-line2);font:700 13px var(--font);color:var(--text);transition:background .2s,transform .15s}
.ae-btn:hover{background:rgba(var(--fg-rgb),.05)}.ae-btn:active{transform:scale(.97)}
.ae-btn.main{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}.ae-btn:disabled{opacity:.6}
.ae-btn.ghost{border-color:transparent}
.ae-form{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;border:1px solid var(--t-line);background:rgba(var(--fg-rgb),.03);animation:tPanelIn .24s var(--t-ease) both}
.ae-form label{display:flex;flex-direction:column;gap:4px;font:700 12px var(--font);color:var(--text-muted)}
.ae-form input[aria-invalid=true]{border-color:var(--down)}
.ae-act{display:flex;justify-content:flex-end;gap:6px;flex-wrap:wrap}
.ae-err{font:600 12.5px var(--font);color:var(--down)}
.ae-note{display:flex;gap:6px;align-items:flex-start;font:500 12px/1.45 var(--font);color:var(--text-muted)}
.ae-note svg{flex:none;margin-top:2px}
.naf-pf label.naf-chk{grid-column:span 2;flex-direction:row;align-items:center;gap:8px;height:38px;color:var(--text-secondary);cursor:pointer}
.naf-pf label.naf-chk input{width:16px;height:16px;flex:none;accent-color:var(--text)}
.naf-r.l{grid-template-columns:130px minmax(0,1.2fr) minmax(0,1.3fr) minmax(0,1fr) 120px;cursor:default}
@media (max-width:1023px){.naf-r.l{grid-template-columns:1fr 1fr}.naf-pf label.naf-chk{grid-column:1/-1}}
.ae-btn.danger{color:var(--down);border-color:color-mix(in srgb,var(--down) 40%,transparent)}
.ae-btn.danger.main{background:var(--down);color:#fff;border-color:transparent}
.ae-modal{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:16px;background:rgba(0,0,0,.45);backdrop-filter:blur(4px);animation:nrFade .2s}
.ae-dlg{width:min(460px,100%);display:flex;flex-direction:column;gap:12px;padding:22px;border-radius:20px;background:var(--n-pop-bg,var(--surface));border:1px solid var(--t-line2);box-shadow:0 24px 60px rgba(0,0,0,.3)}
.ae-dlg h3{display:flex;align-items:center;gap:8px;font:800 17px var(--font);color:var(--down)}
.ae-dlg p{font:500 13.5px/1.55 var(--font);color:var(--text-secondary)}
.ae-dlg label{display:flex;flex-direction:column;gap:6px;font:700 12.5px var(--font);color:var(--text-secondary)}
@keyframes nrFade{from{opacity:0}to{opacity:1}}
.nb-price .nb-old{margin-right:6px;font:700 14px var(--font);color:var(--text-muted);text-decoration:line-through}
.nb-price .nb-disc{margin-left:6px;padding:2px 6px;border-radius:7px;background:color-mix(in srgb,var(--up) 15%,transparent);color:var(--up);font:800 11.5px var(--font);font-style:normal}
.nb-link{text-decoration:underline;font-weight:700;color:var(--text)}
.naf-plans{display:flex;flex-wrap:wrap;gap:6px}
.naf-plans button{height:32px;padding:0 12px;border-radius:9px;border:1px solid var(--t-line2);font:700 12.5px var(--font);color:var(--text-secondary)}
.naf-plans button.on{background:var(--btn-bg);color:var(--btn-fg);border-color:transparent}
.ae-mfa-on{display:inline-flex;align-items:center;gap:8px;font:700 12.5px var(--font);color:var(--up)}
.ae-mfa-set{display:flex;flex-direction:column;gap:12px;margin:6px 0 14px;padding:16px;border-radius:16px;border:1px solid var(--t-line2)}
.ae-mfa-set ol{margin:0 0 0 18px;font:600 13px/1.6 var(--font);color:var(--text-secondary)}
.ae-mfa-qr{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.ae-mfa-qr img{width:168px;height:168px;padding:8px;border-radius:14px;background:#fff}
.ae-mfa-qr small{display:block;font:700 11.5px var(--font);color:var(--text-muted);margin-bottom:4px}
.ae-mfa-qr code{display:block;max-width:260px;word-break:break-all;padding:8px 10px;border-radius:10px;background:rgba(var(--ov-rgb),.05);font:700 13px ui-monospace,monospace;cursor:pointer}
.ae-mfa-set input{max-width:200px;letter-spacing:.3em;font-weight:800;font-size:18px;text-align:center}
/* ===== community ===== */
.ncm{padding-bottom:40px}
.nc-top{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.nc-search{flex:1;min-width:180px;display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;border:1px solid var(--t-line2);color:var(--text-muted)}
.nc-search input{flex:1;min-width:0;background:transparent;border:0;outline:0;color:var(--text);font:600 13.5px var(--font)}
.nc-search:focus-within{border-color:var(--text)}
.nc-warn{display:flex;align-items:center;gap:8px;padding:12px 14px;margin-bottom:12px;border-radius:12px;background:rgba(245,166,35,.12);font:600 13px var(--font)}
.nc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.nc-card{display:flex;flex-direction:column;border-radius:18px;border:1px solid var(--t-line);background:var(--surface);overflow:hidden;cursor:pointer;transition:transform .2s var(--spring,ease),box-shadow .2s,border-color .2s;outline:none}
.nc-card:hover,.nc-card:focus-visible{transform:translateY(-2px);box-shadow:var(--shadow-md,0 10px 30px rgba(0,0,0,.08));border-color:var(--t-line3)}
.nc-card.sk{height:280px;cursor:default;background:linear-gradient(90deg,rgba(var(--ov-rgb),.04),rgba(var(--ov-rgb),.08),rgba(var(--ov-rgb),.04));background-size:200% 100%;animation:ncSk 1.2s infinite}
@keyframes ncSk{to{background-position:-200% 0}}
.nc-thumb{position:relative;aspect-ratio:16/9;background:rgba(var(--ov-rgb),.05);display:grid;place-items:center;color:var(--text-muted)}
.nc-thumb img{width:100%;height:100%;object-fit:cover}
.nc-side{position:absolute;left:10px;top:10px;display:inline-flex;align-items:center;gap:4px;height:24px;padding:0 8px;border-radius:8px;background:var(--surface);font:800 11.5px var(--font);box-shadow:var(--shadow-sm)}
.nc-side.static{position:static;box-shadow:none;border:1px solid var(--t-line2)}
.nc-side.up{color:var(--up)}.nc-side.dn{color:var(--down)}
.nc-c{display:flex;flex-direction:column;gap:6px;padding:12px 14px 12px}
.nc-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:600 12px var(--font);color:var(--text-muted)}
.nc-meta b{color:var(--text);font-weight:800}
.nc-card h3{font:800 15px/1.3 var(--font);color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nc-foot{display:flex;align-items:center;gap:10px;margin-top:2px}
.nc-au{font:700 12.5px var(--font);color:var(--text-secondary);margin-right:auto}.nc-au:hover{color:var(--text);text-decoration:underline}
.nc-like,.nc-cm,.nc-act{display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 8px;border-radius:9px;font:700 12.5px var(--font);color:var(--text-secondary)}
.nc-like:hover,.nc-act:hover{background:rgba(var(--ov-rgb),.06);color:var(--text)}
.nc-like.on{color:#E5484D}.nc-like.on svg{fill:currentColor}
.nc-act.danger:hover{color:var(--down)}
.nc-more{display:flex;justify-content:center;margin-top:16px}
.nc-legal{margin-top:20px;font:600 11.5px var(--font);color:var(--text-muted);text-align:center}
.nc-view{width:min(760px,calc(100vw - 24px))}
.nc-view-b{padding:6px 20px 18px;max-height:min(80vh,820px);overflow:auto;display:flex;flex-direction:column;gap:12px}
.nc-view-b h2{font:800 22px/1.25 var(--font)}
.nc-img{width:100%;border-radius:14px;border:1px solid var(--t-line)}
.nc-body{font:500 14.5px/1.65 var(--font);color:var(--text);white-space:pre-wrap;word-break:break-word}
.nc-acts{display:flex;gap:6px;flex-wrap:wrap;padding:6px 0;border-top:1px solid var(--t-line);border-bottom:1px solid var(--t-line)}
.nc-ch{margin:6px 0 2px;font:800 12px var(--font);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted)}
.nc-cms{display:flex;flex-direction:column;gap:10px}
.nc-cmt>div{display:flex;align-items:center;gap:8px;font:600 12px var(--font);color:var(--text-muted)}
.nc-cmt>div .nc-au{margin-right:0}
.nc-cmt p{margin-top:2px;font:500 14px/1.5 var(--font);white-space:pre-wrap;word-break:break-word}
.nc-x{margin-left:auto;width:22px;height:22px;border-radius:7px;display:grid;place-items:center;color:var(--text-muted)}.nc-x:hover{background:rgba(var(--ov-rgb),.08);color:var(--text)}
.nc-none{font:600 13px var(--font);color:var(--text-muted)}
.nc-cform{display:flex;gap:8px;align-items:flex-end}
.nc-cform textarea{flex:1;min-height:44px;padding:10px 12px;border-radius:12px;border:1px solid var(--t-line2);background:transparent;color:var(--text);font:600 13.5px var(--font);resize:vertical;outline:none}
.nc-cform textarea:focus{border-color:var(--text)}
.nc-compose{width:min(620px,calc(100vw - 24px))}
.nc-compose-b{padding:10px 20px 6px;display:flex;flex-direction:column;gap:12px;max-height:min(72vh,720px);overflow:auto}
.nc-compose .nc-img{max-height:240px;object-fit:contain;background:rgba(var(--ov-rgb),.04)}
.nc-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nc-sym{display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 12px;border-radius:12px;border:1px solid var(--t-line2);font:700 13.5px var(--font);color:var(--text)}
.nc-sym span{color:var(--text-muted)}
.nc-small{margin-right:auto;font:600 12px var(--font);color:var(--text-muted)}
.nc-back{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;font:700 13px var(--font);color:var(--text-secondary)}
.nc-prof{display:flex;align-items:flex-start;gap:16px;padding:20px;border-radius:20px;border:1px solid var(--t-line);background:var(--surface);margin-bottom:18px;flex-wrap:wrap}
.nc-ava{width:64px;height:64px;border-radius:20px;display:grid;place-items:center;background:var(--btn-bg);color:var(--btn-fg);font:800 26px var(--font);flex:none}
.nc-prof-m{flex:1;min-width:200px}
.nc-prof-m h2{font:800 22px var(--font)}
.nc-prof-m>span{font:600 12.5px var(--font);color:var(--text-muted)}
.nc-prof-m p{margin-top:8px;font:500 14px/1.55 var(--font);color:var(--text-secondary);white-space:pre-wrap}
.nc-links{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.nc-links a{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border-radius:9px;border:1px solid var(--t-line2);font:700 12.5px var(--font);color:var(--text)}
.nc-links a:hover{border-color:var(--text)}
.nc-pform{max-width:620px;display:flex;flex-direction:column;gap:12px}
.nc-pform h2{font:800 22px var(--font)}
.nc-handle{display:flex;align-items:center;gap:6px}.nc-handle b{font:800 16px var(--font);color:var(--text-muted)}
.nc-lform{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.nc-lform label{display:flex;flex-direction:column;gap:6px;font:700 12px var(--font);color:var(--text-secondary)}
.nc-lform label span{display:flex;align-items:center;gap:6px}
@media (max-width:640px){.nc-lform{grid-template-columns:1fr}.nc-grid{grid-template-columns:1fr}.nc-cform{flex-direction:column;align-items:stretch}}
.na-health .na-hgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px 28px;padding:4px 0}
.na-health h4{margin:10px 0 6px;font:800 11px var(--font);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}
.na-health section>div{display:flex;align-items:center;gap:8px;min-height:28px;font:600 13px var(--font)}
.na-health section>div span{flex:1;min-width:0}
.na-health code{font:600 11px ui-monospace,monospace;color:var(--text-muted)}
.na-health small{font:600 11.5px var(--font);color:var(--text-muted);text-align:right;max-width:55%}
.na-hd{width:9px;height:9px;border-radius:50%;flex:none}.na-hd.on{background:var(--up)}.na-hd.off{background:var(--down)}
.na-hbtn{gap:8px!important;margin-top:8px;flex-wrap:wrap}
@media (max-width:1023px){.na-health .na-hgrid{grid-template-columns:1fr}}
.na-link-box{display:flex;gap:6px;width:100%}.na-link-box input{flex:1;min-width:0;height:34px;padding:0 10px;border-radius:9px;border:1px solid var(--t-line2);background:transparent;color:var(--text);font:600 12px ui-monospace,monospace}
/* app modals (confirm, trade form…) always open above chart/admin dialogs */
.nr-modal-wrap{z-index:420!important}
/* ===== Settings → Подписка (redesign) ===== */
.nbs{display:flex;flex-direction:column;gap:14px}
.nbs-hero,.nbs-card{border:1px solid var(--border);border-radius:18px;background:var(--t-panel,var(--surface));padding:20px}
.nbs-hero{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:10px}
.nbs-hero::before{content:'';position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--pc)}
.nbs-h1{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.nbs-badge{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:999px;font:800 13px var(--font);color:var(--pc);background:color-mix(in srgb,var(--pc) 14%,transparent)}
.nbs-st{display:inline-flex;align-items:center;gap:6px;font:700 12px var(--font);color:var(--text-muted)}.nbs-st i{width:7px;height:7px;border-radius:50%;background:currentColor}.nbs-st.on{color:var(--up)}
.nbs-hero h3{margin:2px 0 0;font:800 24px/1.2 var(--font);letter-spacing:-.02em}
.nbs-hero p{margin:0;font:500 14px/1.5 var(--font);color:var(--text-secondary);max-width:560px}
.nbs-meta{display:flex;gap:28px;flex-wrap:wrap;margin-top:6px}
.nbs-meta div{display:flex;flex-direction:column;gap:2px}.nbs-meta small{font:600 11.5px var(--font);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.nbs-meta b{font:700 14.5px var(--font)}
.nbs-bar{position:relative;height:8px;border-radius:99px;background:rgba(var(--fg-rgb),.08);margin-top:8px}
.nbs-bar span{position:absolute;left:0;top:0;bottom:0;border-radius:99px;background:var(--pc)}
.nbs-bar em{position:absolute;right:0;top:12px;font:600 12px var(--font);font-style:normal;color:var(--text-muted)}
.nbs-act{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.nbs-card h4{margin:0 0 12px;font:800 15px var(--font)}
.nbs-card p{margin:0;font:500 13px/1.5 var(--font);color:var(--text-secondary)}
.nbs-lims{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}
.nbs-lim{display:grid;grid-template-columns:1fr auto;gap:6px 10px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(var(--fg-rgb),.035)}
.nbs-lim span{font:500 12.5px/1.35 var(--font);color:var(--text-secondary)}.nbs-lim b{font:800 14px var(--font);font-variant-numeric:tabular-nums}
.nbs-lim i{grid-column:1/-1;height:4px;border-radius:9px;background:rgba(var(--fg-rgb),.08);overflow:hidden}.nbs-lim i em{display:block;height:100%;background:var(--up);border-radius:9px}
.nbs-lim.warn i em{background:var(--warn,#F2C26B)}
.nbs-feats{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:6px}
.nbs-feats div{display:flex;align-items:center;gap:9px;padding:9px 10px;border-radius:10px;font:500 13px/1.35 var(--font);color:var(--text-muted)}
.nbs-feats div.on{color:var(--text)}.nbs-feats div.on svg{color:var(--up)}
.nbs-feats small{margin-left:auto;font:700 11px var(--font);padding:2px 8px;border-radius:99px;background:rgba(var(--fg-rgb),.07);white-space:nowrap}
.nbs-promo{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.nbs-promo h4{margin-bottom:4px}
.nbs-pr{display:flex;gap:8px;flex:1 1 320px;max-width:440px}
.nbs-pr input{flex:1;min-width:0;height:40px;border-radius:11px;border:1px solid var(--border);background:transparent;color:var(--text);padding:0 12px;font:700 14px var(--font);letter-spacing:.06em}
.nbs-n{font:500 13px/1.5 var(--font);color:var(--text-secondary)}
/* ===== Settings → Telegram (redesign) ===== */
.tgx{display:flex;flex-direction:column;gap:14px}
.tgx-hero{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;border:1px solid var(--border);border-radius:18px;background:var(--t-panel,var(--surface));padding:22px}
.tgx-l{display:flex;flex-direction:column;gap:12px;min-width:0}
.tgx-top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.tgx-l h3{margin:4px 0 0;font:800 24px/1.2 var(--font);letter-spacing:-.02em}
.tgx-l>p{margin:0;font:500 14px/1.55 var(--font);color:var(--text-secondary);max-width:520px}
.tg-st.soon{background:rgba(242,194,107,.14);color:#C9922B}
.tgx-wait{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border-radius:12px;background:rgba(var(--fg-rgb),.045);font:500 13px/1.5 var(--font);color:var(--text-secondary)}.tgx-wait svg{flex:none;margin-top:2px}
.tgx-steps{list-style:none;margin:4px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.tgx-steps li{display:flex;gap:10px;align-items:flex-start;padding:12px;border-radius:12px;background:rgba(var(--fg-rgb),.04);font:500 12.5px/1.45 var(--font);color:var(--text-secondary)}
.tgx-steps b{flex:none;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;background:#229ED9;color:#fff;font:800 12px var(--font)}
.tgx-steps em{font-style:normal;font-weight:700;color:var(--text)}
.tgx-cta{display:flex;gap:8px}
.tgx-phone{border-radius:20px;background:linear-gradient(180deg,#17212B,#0E1621);padding:14px;display:flex;flex-direction:column;gap:8px;color:#E9EEF3;align-self:start}
.tgx-ph{display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px}.tgx-ph small{margin-left:auto;color:#7F91A4;font-size:11px}
.tg-ic.sm{width:26px;height:26px;border-radius:9px;box-shadow:none}
.tgx-msg{align-self:flex-start;max-width:92%;display:flex;flex-direction:column;gap:2px;padding:9px 11px;border-radius:12px 12px 12px 4px;background:#182533;font-size:12.5px;line-height:1.4}
.tgx-msg b{font-size:12.5px}.tgx-msg small{color:#7F91A4;font-size:11px}.tgx-big{font:800 18px var(--font);letter-spacing:-.01em}
.tgx-msg.img i{display:block;height:64px;border-radius:8px;margin-bottom:4px;background:linear-gradient(135deg,rgba(45,127,249,.25),rgba(20,184,166,.2)),repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 1px,transparent 1px 18px)}
.tgx-msg.me{align-self:flex-end;border-radius:12px 12px 4px 12px;background:#2B5278}
.tgx-note{color:#7F91A4;font-size:10.5px;text-align:center}
.tgx-feats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.tgx-f{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--border);border-radius:16px;background:var(--t-panel,var(--surface))}
.tgx-f>span{width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:rgba(34,158,217,.12);color:#229ED9}
.tgx-f b{font:800 14px var(--font)}.tgx-f p{margin:0;font:500 12.5px/1.45 var(--font);color:var(--text-secondary);flex:1}
.tgx-f small{align-self:flex-start;font:700 11px var(--font);padding:3px 8px;border-radius:99px;background:rgba(var(--fg-rgb),.07);color:var(--text-muted)}
.tgx-f small.ok{background:rgba(34,197,94,.12);color:var(--up)}.tgx-f small.soon{background:rgba(242,194,107,.14);color:#C9922B}
@media (max-width:1100px){.tgx-feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:860px){.tgx-hero{grid-template-columns:1fr}.tgx-phone{max-width:340px}.tgx-steps{grid-template-columns:1fr}}
@media (max-width:520px){.tgx-feats{grid-template-columns:1fr}.nbs-hero,.nbs-card,.tgx-hero{padding:16px}}
.na-only>.na-head.sub,.na-only>.na-kpis,.na-only>.na-grid{display:none}
@media (min-width:861px){.na-tr{grid-template-columns:minmax(0,2.2fr) 1.1fr .9fr .9fr 1.1fr 1fr 1fr}}
@media (max-width:860px){.na-tr>span:nth-child(4){display:inline-flex}}
.na-pres{display:inline-flex;align-items:center;gap:6px;font:600 12px var(--font);color:var(--text-muted);white-space:nowrap}
.na-pres i{width:8px;height:8px;border-radius:50%;background:rgba(var(--fg-rgb),.25)}
.na-pres.on{color:var(--up)}.na-pres.on i{background:#22C55E;box-shadow:0 0 0 3px rgba(34,197,94,.18)}
.na-av.live{box-shadow:0 0 0 2px var(--t-panel,var(--surface)),0 0 0 4px #22C55E}
.na-urow .na-pres{margin-left:auto}

/* idea compose: image upload */
.nc-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:150px;padding:18px;border:1.5px dashed var(--t-line,var(--border));border-radius:14px;background:rgba(var(--ov-rgb),.03);color:var(--text-secondary);text-align:center;cursor:pointer;transition:border-color .2s,background .2s}
.nc-drop:hover,.nc-drop.on{border-color:var(--text);background:rgba(var(--ov-rgb),.06);color:var(--text)}
.nc-drop b{font:800 14px var(--font);color:var(--text)}.nc-drop span{font:500 12.5px/1.45 var(--font)}.nc-drop small{font:500 11.5px/1.4 var(--font);color:var(--text-muted);max-width:420px}
.nc-pic{position:relative}.nc-pic-a{position:absolute;right:8px;top:8px;display:flex;gap:6px}
.nc-pic-a .n-btn{background:var(--t-solid,var(--surface));box-shadow:0 4px 14px rgba(0,0,0,.25)}
/* calmer, product-like badges (no glowing dots, no tinted pills) */
.nb-chip{height:36px;padding:0 12px;border-radius:10px;background:transparent;font:800 12px var(--font);letter-spacing:.07em;text-transform:uppercase;color:var(--pc,var(--text))}
.nb-chip i{display:none}
.nb-chip.up{text-transform:none;letter-spacing:0;font-size:13px}
.nbs-badge{padding:0;background:none;font:800 12px var(--font);letter-spacing:.08em;text-transform:uppercase}
.nbs-badge svg{display:none}
.nbs-st{font:600 12px var(--font);color:var(--text-muted)}.nbs-st i{display:none}.nbs-st.on{color:var(--text-secondary)}
.nbs-st::before{content:'·';margin-right:6px;color:var(--text-muted)}
.tg-ic{border-radius:50%;box-shadow:none;width:44px;height:44px}
.tg-st,.tg-st.on,.tg-st.soon{padding:0;background:none;font:600 12.5px var(--font);color:var(--text-muted)}
.tg-st i{width:6px;height:6px}.tg-st.on{color:var(--up)}.tg-st.on i{animation:none}.tg-st.soon{color:var(--text-muted)}
.tgx-f>span{width:auto;height:auto;background:none;color:var(--text-secondary);justify-content:start}
.tgx-f small,.tgx-f small.ok,.tgx-f small.soon,.tgx-f small.lock{padding:0;background:none;font:600 12px var(--font);color:var(--text-muted)}
.tgx-f small.ok{color:var(--up)}
.nbs-feats small{background:none;padding:0;color:var(--text-muted)}
.nc-noimg{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--text-secondary)}.nc-noimg b{font:800 18px var(--font);color:var(--text)}.nc-noimg small{font:700 12px var(--font)}
/* screener column sets (Обзор / Эффективность / Технические) */
.sc-cs{margin:0 0 6px;border-bottom:0}
@media (min-width:1024px){
.cs-ov .sc-r{grid-template-columns:minmax(200px,1.7fr) 120px 96px 120px 150px 150px 40px}
.sc-t.cs-ov .sc-r>:nth-child(4),.sc-t.cs-ov .sc-r>:nth-child(5),.sc-t.cs-ov .sc-r>:nth-child(6),.sc-t.cs-ov .sc-r>:nth-child(9){display:none}
.cs-perf .sc-r{grid-template-columns:minmax(200px,1.7fr) 120px 96px 96px 96px 96px 150px 40px}
.sc-t.cs-perf .sc-r>:nth-child(7),.sc-t.cs-perf .sc-r>:nth-child(9),.sc-t.cs-perf .sc-r>:nth-child(10){display:none}
.cs-tech .sc-r{grid-template-columns:minmax(200px,1.7fr) 120px 96px 150px 70px 150px 40px}
.sc-t.cs-tech .sc-r>:nth-child(4),.sc-t.cs-tech .sc-r>:nth-child(5),.sc-t.cs-tech .sc-r>:nth-child(6),.sc-t.cs-tech .sc-r>:nth-child(7){display:none}
}
@media (max-width:1023px){.sc-cs{display:none}}
/* idea cards (feed like a pro charting community) */
.nc-ex{margin:2px 0 0;font:500 13px/1.45 var(--font);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nc-au{display:inline-flex;align-items:center;gap:7px}
.nc-av{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font:800 11px var(--font);font-style:normal;background:var(--btn-bg);color:var(--btn-fg)}
.nc-thumb{aspect-ratio:16/9}
.nc-thumb img{width:100%;height:100%;object-fit:cover}

/* Settings → Безопасность → Устройства */
.ae-mfa-on{white-space:nowrap;flex-wrap:nowrap}
.dvx{border:1px solid var(--t-line2);border-radius:14px;overflow:hidden;background:rgba(var(--fg-rgb),.015)}
.dvx-h{display:flex;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--t-line2)}
.dvx-h>div{flex:1;min-width:0}.dvx-h b{display:block;font:700 13.5px var(--font)}.dvx-h small{display:block;font-size:12px;color:rgba(var(--fg-rgb),.5);margin-top:2px}
.dvx-r{display:flex;align-items:center;gap:12px;padding:11px 14px;border-bottom:1px solid var(--t-line2)}
.dvx-ic{flex:none;width:36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(var(--fg-rgb),.05);color:rgba(var(--fg-rgb),.75)}
.dvx-m{flex:1;min-width:0}.dvx-m b{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font:600 13px var(--font)}
.dvx-m em{font-style:normal;font:600 10.5px var(--font);padding:2px 7px;border-radius:6px;background:rgba(var(--fg-rgb),.07);color:rgba(var(--fg-rgb),.7)}
.dvx-m small{display:block;font-size:11.5px;color:rgba(var(--fg-rgb),.5);margin-top:3px;overflow-wrap:anywhere}
.dvx-on{color:#22ab94;font-weight:600}.dvx-on i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#22ab94;margin-right:5px;vertical-align:1px}
.dvx-empty{padding:14px;font-size:12.5px;color:rgba(var(--fg-rgb),.5);border-bottom:1px solid var(--t-line2)}
.dvx-f{display:flex;align-items:center;gap:12px;padding:11px 14px}.dvx-f span{flex:1;font-size:12.5px;color:rgba(var(--fg-rgb),.6)}
@media (max-width:520px){.dvx-h{flex-wrap:wrap}.dvx-r .ae-btn,.dvx-h .ae-btn,.dvx-f .ae-btn{height:34px;padding:0 11px;font-size:12.5px}}
/* Settings → Telegram → Webhook */
.tgh{margin:14px 0;padding:13px 14px;border:1px solid var(--t-line2);border-radius:12px;display:grid;gap:10px}
.tgh-h{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;align-items:center}.tgh-h b{font:700 13px var(--font)}.tgh-h small{grid-column:1/-1;font-size:12px;color:rgba(var(--fg-rgb),.55);line-height:1.45}
.tgh-url{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.tgh-url code{flex:1 1 220px;min-width:0;padding:9px 10px;border-radius:9px;background:rgba(var(--fg-rgb),.05);font:500 12px ui-monospace,Menlo,Consolas,monospace;overflow-wrap:anywhere}
.tgh-act{display:flex;gap:16px}
/* market tabs on phones: full labels in a horizontally scrolling strip (no «Граф…» truncation) */
@media (max-width:1023px){
  .mk-tabs{display:flex!important;grid-template-columns:none!important;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .mk-tabs::-webkit-scrollbar{display:none}
  .mk-tabs button{flex:none!important;padding:0 14px!important;font-size:13px!important}
  .mk-tabs button span{overflow:visible!important;text-overflow:clip!important}
  .mk-tabs .mk-l{display:inline!important}.mk-tabs .mk-s{display:none!important}
}
.ae-btn{white-space:nowrap}
@media (max-width:1023px){.mk-tabs button>span:not(.mk-t):not(.mk-s){display:none!important}.mk-tabs button{gap:0!important}}
/* screener on phones: each column set really switches columns (Обзор / Эффективность / Технические) */
@media (max-width:1023px){
  .sc-t .sc-r>:nth-child(n+2):nth-child(-n+10){display:none!important}
  .sc-t .sc-r>:nth-child(11){display:block!important}
  .sc-t.cs-ov .sc-r>:nth-child(2),.sc-t.cs-ov .sc-r>:nth-child(3),.sc-t.cs-perf .sc-r>:nth-child(3),.sc-t.cs-perf .sc-r>:nth-child(4),.sc-t.cs-perf .sc-r>:nth-child(5),.sc-t.cs-tech .sc-r>:nth-child(9),.sc-t.cs-tech .sc-r>:nth-child(10){display:block!important}
  .cs-ov .sc-r.hd>:nth-child(2),.cs-ov .sc-r.hd>:nth-child(3),.cs-perf .sc-r.hd>:nth-child(3),.cs-perf .sc-r.hd>:nth-child(4),.cs-perf .sc-r.hd>:nth-child(5),.cs-tech .sc-r.hd>:nth-child(9),.cs-tech .sc-r.hd>:nth-child(10){display:flex!important;justify-content:flex-end}
  .cs-ov .sc-r,.cs-ov .sc-r.hd{grid-template-columns:minmax(0,1fr) auto 70px 30px!important}
  .cs-perf .sc-r,.cs-perf .sc-r.hd{grid-template-columns:minmax(0,1fr) 62px 62px 62px 30px!important}
  .cs-tech .sc-r,.cs-tech .sc-r.hd{grid-template-columns:minmax(0,1fr) 44px auto 30px!important}
  .sc-t .sc-r{gap:6px;padding:8px 10px}
}
.nb-trial{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.nb-trial span{flex:1 1 220px}
@media (pointer:coarse),(max-width:760px){.bt-keys{display:none!important}}
/* calculators on phones: one clean scrolling row of chips (iOS Safari squeezed the groups on top of each other) */
@media (max-width:1023px){
  .nc-nav{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:6px!important;gap:6px!important;min-height:52px}
  .nc-nav::-webkit-scrollbar{display:none}
  .nc-grp{display:flex!important;flex:0 0 auto!important;flex-direction:row!important;gap:6px!important;min-width:max-content}
  .nc-grp button{flex:0 0 auto!important;width:auto!important;white-space:nowrap;height:38px;padding:0 14px;border-radius:10px;background:rgba(var(--fg-rgb),.05)}
  .nc-grp button.on{background:var(--btn-bg)}
  .nc-grp button>span{white-space:nowrap}
}
.t-sym{display:inline-flex;align-items:center;gap:7px}.t-sym .n-logo,.t-sym .n-badge{flex:none}
.t-break-k{display:inline-flex;align-items:center;gap:7px;min-width:0}.t-break-k .n-logo,.t-break-k .n-badge{flex:none}

/* ===== motion system: fast ease-out, nothing grows from zero, every button answers the press ===== */
@keyframes nrToastIn{from{opacity:0;transform:translateY(6px) scale(.97)}to{opacity:1;transform:none}}
.t-btn,.t-icon-btn,.ae-btn,.n-btn,.nb-card button,.t-seg button,.t-tabs button,.mk-tabs button,.ntv-tabs button,.t-mnav>button,.t-sheet-grid button,.nc-grp button,.sc-pre button,.sc-grp button,.t-item,.nrp-b,.tva-foot button,.npp-row button,.n-pub,.t-cmd{transition-property:transform,background-color,color,border-color,box-shadow,opacity;transition-duration:.12s;transition-timing-function:cubic-bezier(.16,1,.3,1)}
.t-btn:not(:disabled):active,.t-icon-btn:not(:disabled):active,.ae-btn:not(:disabled):active,.n-btn:not(:disabled):active,.nb-card button:not(:disabled):active,.t-seg button:active,.t-tabs button:active,.mk-tabs button:active,.ntv-tabs button:active,.t-mnav>button:not(.t-mnav-add):active,.t-sheet-grid button:active,.nc-grp button:active,.sc-pre button:active,.t-item:active,.nrp-b:not(:disabled):active,.tva-foot button:active,.npp-row button:active,.n-pub:active,.t-cmd:active{transform:scale(.97)}
/* things opened many times a session: no entrance animation at all */
.sc-r,.mk-row,.mk-wl .mk-r,.t-row,.t-break-r,.npp-row{animation:none!important}
.n-tip{animation:none!important}
.t-ripple,.nr-ripple{display:none!important}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:1ms!important;transition-duration:1ms!important}}

/* Settings → Уведомления и Telegram */
.ntf{display:grid;gap:12px;max-width:760px}
.ntf-c{border:1px solid var(--t-line2);border-radius:14px;padding:14px 16px;background:rgba(var(--fg-rgb),.015)}
.ntf-c h4{margin:0 0 8px;font:700 14px var(--font)}
.ntf-r{display:flex;align-items:center;gap:12px;padding:10px 0;border-top:1px solid var(--t-line2)}
.ntf-c h4+.ntf-r{border-top:0}
.ntf-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:rgba(var(--fg-rgb),.05);color:rgba(var(--fg-rgb),.75)}
.ntf-m{flex:1;min-width:0}.ntf-m b{display:block;font:600 13.5px var(--font)}.ntf-m small{display:block;font-size:12px;color:rgba(var(--fg-rgb),.5);margin-top:2px;overflow-wrap:anywhere}
.ntf-x{display:flex;align-items:center;gap:8px;flex:none}
.ntf-sw{position:relative;display:inline-block;width:40px;height:24px;cursor:pointer}.ntf-sw input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.ntf-sw i{position:absolute;inset:0;border-radius:999px;background:rgba(var(--fg-rgb),.14);transition:background .15s}
.ntf-sw i::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.3);transition:transform .15s cubic-bezier(.16,1,.3,1)}
.ntf-sw input:checked+i{background:#22ab94}.ntf-sw input:checked+i::after{transform:translateX(16px)}
.ntf-sw.dis{opacity:.45;cursor:default}.ntf-sw input:disabled{cursor:default}
.ntf-sw input:focus-visible+i{outline:2px solid #2962FF;outline-offset:2px}
.ntf-n{margin:8px 0 0;font-size:12px;color:rgba(var(--fg-rgb),.5);line-height:1.5}
.ntf-h{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.ntf-h>div:nth-child(2){flex:1;min-width:140px}.ntf-h h4{margin:0}
.ntf-h small{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(var(--fg-rgb),.55);margin-top:2px}
.ntf-hx{display:flex;gap:8px;flex-wrap:wrap}
.ntf-tg{flex:none;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:#229ED9;color:#fff}
.ntf-dot{width:7px;height:7px;border-radius:50%;background:rgba(var(--fg-rgb),.35)}.ntf-dot.on{background:#22ab94}
.ntf-h+.ntf-r,.ntf-h+.ntf-n{margin-top:10px}
.ntf-cmd{display:flex;align-items:center;flex-wrap:wrap;gap:6px 8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--t-line2);font-size:12px;color:rgba(var(--fg-rgb),.5)}
.ntf-cmd span{margin-right:4px}.ntf-cmd code{padding:3px 7px;border-radius:6px;background:rgba(var(--fg-rgb),.06);color:var(--text);font:600 12px ui-monospace,Menlo,Consolas,monospace}.ntf-cmd em{font-style:normal;margin-right:6px}
.ntf-more{display:flex;align-items:center;gap:6px;font:600 13px var(--font);color:rgba(var(--fg-rgb),.7)}.ntf-more:hover{color:var(--text)}
.ntf .tgh{margin:12px 0 0}
