/* DeepMarkets design system — copied READ-ONLY from deepmarkets.pro web/index.html
   so arb looks native. Do not edit here to change the main site; re-sync by copy. */

  :root{
    --bg:#0b0c0e; --bg2:#111316; --panel:#16181c; --panel2:#1c1f24;
    --stroke:#262a30; --stroke2:#31363d;
    --ink:#eef0f2; --sub:#9aa1ab; --faint:#6b727c;
    --acc:#34d399; --acc-dim:rgba(52,211,153,.14); --acc-ink:#06281d;
    --red:#f0726f; --gold:#d9b25f;
    --sidebar-bg:#0e0f12;
    --radius:14px; --sb:248px;
    --mono:'JetBrains Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
    --sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
    --display:'Orbitron','Inter',system-ui,sans-serif;
  }
  html[data-theme="light"]{
    /* soft grey page · off-white panels that float (not harsh white) · darker sidebar */
    --bg:#e9ebef; --bg2:#f0f2f5; --panel:#fafbfc; --panel2:#eef0f3;
    --stroke:#e1e4e9; --stroke2:#cfd4db;
    --ink:#1b1e23; --sub:#5b626c; --faint:#969ca5;
    --acc:#0fae74; --acc-dim:rgba(15,174,116,.14); --acc-ink:#fff;
    --gold:#9c7611;
    --sidebar-bg:#dee1e6;
  }
  html[data-theme="light"] .panel,
  html[data-theme="light"] .keypanel,
  html[data-theme="light"] .card,
  html[data-theme="light"] .botbar{box-shadow:0 1px 3px rgba(20,30,50,.05),0 1px 2px rgba(20,30,50,.04)}
  *{box-sizing:border-box;margin:0;padding:0}
  html,body{overflow-x:clip;overscroll-behavior-x:none}
  body{background:var(--bg);color:var(--ink);font-family:var(--sans);
    -webkit-font-smoothing:antialiased;line-height:1.5;touch-action:manipulation}
  .trd-cm{display:inline-flex;gap:2px;align-items:center;margin-left:6px}
.trd-cm button{background:transparent;border:1px solid var(--line);color:var(--faint);border-radius:6px;
  padding:2px 7px;font-size:10.5px;cursor:pointer;line-height:1.5}
.trd-cm button.on{border-color:var(--acc);color:var(--acc);background:rgba(52,211,153,.12)}
.trd-cm button.tf{padding:2px 5px;font-size:10px}
.trd-sym{cursor:pointer;border-bottom:1px dotted var(--faint)}
.trd-sym:hover{color:var(--acc);border-bottom-color:var(--acc)}
/* внутри графиков жесты отдаём lightweight-charts (свой пинч/пан) */
  #term-chart,#cf-chart,#term-chart *,#cf-chart *{touch-action:none}
  a{color:inherit;text-decoration:none}
  button{font-family:inherit;cursor:pointer}
  ::-webkit-scrollbar{width:9px;height:9px}
  ::-webkit-scrollbar-thumb{background:var(--stroke2);border-radius:6px}

  /* ── Trade tab (Apex-style full-bleed) ── */
  .content.wide.trdfull, .content.trdfull{padding:0 !important;max-width:none !important}
  .trd-head{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:8px 14px;
    border-bottom:1px solid var(--stroke);background:var(--panel);font-size:12.5px}
  .trd-head .sym{font-family:var(--display);font-size:17px;font-weight:700;letter-spacing:.02em}
  .trd-strip{display:grid;gap:0;border-bottom:1px solid var(--stroke)}
  .trd-chipbar{display:flex;align-items:center;gap:9px;padding:8px 12px;background:var(--panel);cursor:pointer;
    border-top:2px solid transparent;position:relative;min-width:0;flex-wrap:wrap}
  .trd-chipbar.on{border-top-color:var(--acc)}
  .trd-exbtn{background:none;border:none;cursor:pointer;padding:2px;display:flex;align-items:center}
  .trd-exbtn img{height:17px;max-width:62px;object-fit:contain}
  .trd-assetbtn{background:none;border:none;color:var(--ink);font:700 16px var(--display);letter-spacing:.02em;cursor:pointer;display:flex;align-items:center;gap:4px}
  .trd-assetbtn small{color:var(--faint);font-size:10px}
  .trd-keysel{background:transparent;border:none;color:var(--faint);font-size:11px;cursor:pointer;max-width:120px}
  .trd-pbal{font:700 15px var(--display);color:var(--acc);margin-left:auto;letter-spacing:.02em}
  .trd-mkt .row .nm{display:flex;align-items:center;gap:8px}
  .trd-x{border:1px solid rgba(248,113,113,.45);color:#f87171;background:rgba(248,113,113,.08);border-radius:50%;
    width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;cursor:pointer;flex:0 0 22px;padding:0}
  .trd-x:hover{background:rgba(248,113,113,.2)}
  .trd-add{border:1px solid rgba(52,211,153,.5);color:var(--acc);background:rgba(52,211,153,.08);border-radius:50%;
    width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:14px;line-height:1;cursor:pointer;flex:0 0 22px}
  .trd-add:hover{background:rgba(52,211,153,.18)}
  .cico{width:16px;height:16px;border-radius:50%;flex:0 0 16px}
  .trd-modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:60;display:grid;place-items:center}
  .trd-modal{width:340px;background:var(--panel);border:1px solid var(--stroke2);border-radius:14px;padding:18px;box-shadow:0 24px 70px rgba(0,0,0,.55)}
  .trd-modal h3{font-size:16px;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
  .trd-modal .kv{display:flex;justify-content:space-between;font-size:12.5px;color:var(--sub);margin-bottom:6px}
  .trd-modal .kv b{color:var(--ink);font-family:var(--mono,monospace)}
  .trd-modal input[type=number]{width:100%;background:var(--bg2);border:1px solid var(--stroke);border-radius:8px;color:var(--ink);padding:9px 11px;font-size:13.5px;margin-bottom:8px}
  .trd-modal input[type=range]{width:100%;accent-color:var(--acc)}
  .trd-modal .est{background:var(--bg2);border-radius:8px;padding:8px 11px;font-size:12px;color:var(--sub);margin:8px 0}
  .trd-modal .btns{display:flex;gap:8px;margin-top:10px}
  .trd-modal .btns .btn{flex:1;height:44px;display:inline-flex;align-items:center;justify-content:center;
    padding:0 10px;text-decoration:none;white-space:nowrap;box-sizing:border-box}
  /* кнопки действий в нижних таблицах: одна высота для текстовых и иконочных */
  .trd-bottom .btn.sm{height:28px;box-sizing:border-box;padding:0 12px;
    display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}
  .trd-bottom .btn.sm svg{display:block;margin:0}
  .trd-pop{position:absolute;top:calc(100% + 4px);left:8px;z-index:40;background:var(--panel);
    border:1px solid var(--stroke2);border-radius:12px;box-shadow:0 18px 50px rgba(0,0,0,.5);min-width:230px;overflow:hidden}
  .trd-pop .row{display:flex;align-items:center;gap:10px;padding:9px 13px;cursor:pointer;font-size:13px}
  .trd-pop .row:hover{background:var(--bg2)}
  .trd-pop .row img{height:15px;max-width:54px;object-fit:contain}
  .trd-mkt{width:290px}
  .trd-mkt input{width:calc(100% - 20px);margin:10px;background:var(--bg2);border:1px solid var(--stroke);border-radius:8px;color:var(--ink);padding:8px 11px;font-size:13px}
  .trd-mkt .list{max-height:330px;overflow-y:auto}
  .trd-mkt .row{justify-content:space-between;font:600 13px var(--mono,monospace)}
  .trd-mkt .lev{font-size:10px;color:var(--gold);border:1px solid rgba(232,194,104,.4);border-radius:5px;padding:1px 6px}
  .trd-body{display:grid;grid-template-columns:1fr 300px;gap:0;align-items:stretch}
  .trd-body.nopanel{grid-template-columns:1fr}
  .trd-body.nopanel .trd-panel{display:none}
  .trd-tradebtn{border:1px solid rgba(52,211,153,.5);color:var(--acc);background:rgba(52,211,153,.08);border-radius:7px;
    padding:3px 9px;font-size:12px;font-weight:700;cursor:pointer;flex:0 0 auto}
  .trd-tradebtn:hover,.trd-tradebtn.on{background:rgba(52,211,153,.2)}
  .trd-body .trd-charts{border-right:1px solid var(--stroke)}
  .trd-body .trd-panel{border:none;border-radius:0;background:var(--panel);border-top:2px solid var(--acc)}
  .trd-tv.on{box-shadow:inset 0 0 0 2px rgba(52,211,153,.35)}
  @keyframes trdflash{0%{background:rgba(52,211,153,.14)}100%{background:var(--panel)}}
  .trd-panel.flash{animation:trdflash .45s ease}
  .trd-bottom{border-top:1px solid var(--stroke)}
  .trd-tabs{display:flex;gap:0;border-bottom:1px solid var(--stroke);background:var(--panel)}
  .trd-tabs button{padding:9px 16px;background:none;border:none;border-bottom:2px solid transparent;color:var(--sub);font-size:12.5px;font-weight:600;cursor:pointer}
  .trd-tabs button.on{color:var(--ink);border-bottom-color:var(--acc)}
  .trd-mobseg{display:none}
  .trd-cat{font:700 9px var(--mono,monospace);padding:1px 5px;border-radius:5px;margin-left:4px;vertical-align:1px;letter-spacing:.04em}
  .trd-cat.option{background:rgba(232,194,104,.14);color:var(--gold);border:1px solid rgba(232,194,104,.4)}
  .trd-cat.spot{background:rgba(138,180,248,.12);color:#8ab4f8;border:1px solid rgba(138,180,248,.35)}
  .trd-chain{max-height:250px;overflow-y:auto;border:1px solid var(--stroke);border-radius:8px;margin-bottom:8px}
  .trd-chain table{width:100%;border-collapse:collapse;font:12px var(--mono,monospace)}
  .trd-chain th{position:sticky;top:0;background:var(--panel);color:var(--faint);font-weight:600;font-size:10px;padding:5px 6px;text-align:right}
  .trd-chain th:first-child,.trd-chain td:first-child{text-align:left}
  .trd-chain td{padding:5px 6px;text-align:right;border-top:1px solid var(--stroke);cursor:pointer;white-space:nowrap}
  .trd-chain tr:hover td{background:var(--bg2)}
  .trd-chain tr.itm td{background:rgba(232,194,104,.05)}
  .trd-chain tr.sel td{background:rgba(52,211,153,.14)}
  .trd-chain tr.und td{padding:0;border-top:2px solid var(--acc);height:0;cursor:default;background:none}
  .trd-chain .b{color:#34d399}.trd-chain .a{color:#f87171}
  .trd-board{height:520px;display:flex;flex-direction:column;border:1px solid var(--stroke);background:var(--panel);min-width:0}
  .ob-exps{display:flex;gap:2px;overflow-x:auto;border-bottom:1px solid var(--stroke);padding:4px 6px;flex:0 0 auto}
  .ob-exps button{background:none;border:none;border-bottom:2px solid transparent;color:var(--sub);padding:5px 10px;cursor:pointer;display:flex;flex-direction:column;align-items:center;white-space:nowrap}
  .ob-exps button b{font:600 12.5px var(--mono,monospace)}
  .ob-exps button small{font-size:10px;color:var(--faint)}
  .ob-exps button.on{color:var(--gold);border-bottom-color:var(--gold)}
  .ob-exps button.on small{color:var(--gold)}
  .ob-bar{display:flex;align-items:center;gap:8px;padding:7px 10px;border-bottom:1px solid var(--stroke);font-size:12.5px;flex:0 0 auto;flex-wrap:wrap}
  .ob-bar select{background:var(--bg2);color:var(--ink);border:1px solid var(--stroke);border-radius:7px;padding:3px 6px;font-size:12px}
  .ob-tseg button{padding:4px 10px}
  .ob-wrap{flex:1;overflow:auto;min-height:0}
  table.ob{width:100%;border-collapse:collapse;font:12.5px var(--mono,monospace)}
  table.ob th{position:sticky;top:0;background:var(--panel);color:var(--faint);font:600 11px var(--mono,monospace);padding:6px 8px;text-align:right;z-index:2}
  table.ob tr.ob-sides th{top:0;color:var(--ink);font-size:12px}
  table.ob thead tr:nth-child(2) th{top:25px}
  table.ob td{padding:4px 8px;text-align:right;border-top:1px solid var(--stroke);white-space:nowrap;line-height:1.25}
  table.ob td small{display:block;font-size:10px;color:var(--faint)}
  table.ob .ob-k{text-align:center;background:var(--bg2);font-weight:700;color:var(--ink);min-width:64px}
  table.ob td.itm{background:rgba(232,194,104,.045)}
  table.ob .ob-b{color:#34d399;cursor:pointer}
  table.ob .ob-a{color:#f87171;cursor:pointer}
  table.ob .ob-b:hover,table.ob .ob-a:hover{background:rgba(255,255,255,.06);outline:1px solid var(--stroke2)}
  table.ob td.sel{outline:1.5px solid var(--gold);outline-offset:-2px;background:rgba(232,194,104,.12)}
  table.ob .ob-p{color:var(--faint)}
  table.ob .ob-p.pos{color:#34d399}table.ob .ob-p.neg{color:#f87171}
  table.ob tr.ob-und td{padding:0;border-top:2px solid var(--acc);height:0;position:relative}
  table.ob tr.ob-und span{position:absolute;left:50%;transform:translate(-50%,-50%);background:var(--acc);color:#0a0c0f;font:700 10.5px var(--mono,monospace);padding:1px 7px;border-radius:5px;z-index:1}
  .trd-greeks{display:grid;grid-template-columns:repeat(3,1fr);gap:6px 10px;background:var(--bg2);border-radius:8px;padding:8px 10px;margin-bottom:4px}
  .trd-greeks div{display:flex;flex-direction:column;font-size:10.5px;color:var(--faint)}
  .trd-greeks b{font:600 12px var(--mono,monospace);color:var(--ink)}
  @media(max-width:900px){ .trd-board{height:62vh} .ob-hide-m{display:none} table.ob td,table.ob th{padding:5px 6px} }
  .trd-osum{background:var(--bg2);border-radius:8px;padding:8px 10px;font-size:12px;color:var(--sub);margin:4px 0 8px;line-height:1.55}
  .trd-osum b{color:var(--ink)}
  @media(max-width:900px){
    .trd-body{grid-template-columns:1fr}
    .trd-body .trd-charts{border-right:none}
    .trd-add,.trd-tradebtn{display:none !important}   /* на мобиле один инструмент и режимный переключатель */
    .trd-mobseg{display:flex;gap:0;border-bottom:1px solid var(--stroke);background:var(--panel)}
    .trd-mobseg button{flex:1;padding:11px;background:none;border:none;border-bottom:2px solid transparent;color:var(--sub);font-weight:700;font-size:13px}
    .trd-mobseg button.on{color:var(--acc);border-bottom-color:var(--acc)}
    .trd-body.mob-trade .trd-charts{display:none}
    .trd-body.mob-trade .trd-panel{display:block !important}
    .trd-body.mob-chart .trd-panel{display:none !important}
    .trd-tv{height:52vh}
    #trd-src,#trd-bal{display:none}
    .trd-tabs button{font-size:12px;padding:9px 10px;white-space:nowrap}
    .trd-tabs{overflow-x:auto;-webkit-overflow-scrolling:touch}
  }
  .trd-top{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end;margin-bottom:12px}
  .trd-grid{display:grid;grid-template-columns:1fr 320px;gap:14px;align-items:start}
  .trd-charts{display:grid;gap:10px}
  .trd-charts.n2{grid-template-columns:1fr 1fr}
  .trd-charts.n3{grid-template-columns:1fr 1fr 1fr}
  .trd-tv{height:520px;border:1px solid var(--stroke);border-radius:0;overflow:hidden;background:var(--panel)}
  .trd-panel{border:1px solid var(--stroke);border-radius:12px;background:var(--panel);padding:14px}
  .trd-badge{font:600 11px var(--mono,monospace);padding:3px 9px;border-radius:7px;letter-spacing:.05em}
  .trd-badge.demo{background:rgba(138,180,248,.15);color:#8ab4f8;border:1px solid rgba(138,180,248,.4)}
  .trd-badge.live{background:rgba(248,113,113,.15);color:#f87171;border:1px solid rgba(248,113,113,.4)}
  .trd-sideseg{display:flex;gap:6px;margin:10px 0}
  .trd-sideseg button{flex:1;padding:10px;border-radius:9px;border:1px solid var(--stroke);background:var(--bg2);color:var(--sub);font-weight:700}
  .trd-sideseg button.buy.on{background:rgba(52,211,153,.16);border-color:#34d399;color:#34d399}
  .trd-sideseg button.sell.on{background:rgba(248,113,113,.16);border-color:#f87171;color:#f87171}
  .trd-f{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em;margin-bottom:8px}
  .trd-f input,.trd-f select{background:var(--bg2);border:1px solid var(--stroke);border-radius:8px;color:var(--ink);padding:9px 10px;font-size:13.5px;text-transform:none;letter-spacing:0}
  .trd-2col{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .trd-chip{padding:5px 11px;border-radius:8px;border:1px solid var(--stroke);background:var(--bg2);color:var(--sub);font:12.5px var(--mono,monospace);cursor:pointer}
  .trd-chip.on{border-color:var(--gold);color:var(--gold)}
  @media(max-width:1250px){ .trd-charts.n3{grid-template-columns:1fr 1fr} }
  @media(max-width:900px){ .trd-grid{grid-template-columns:1fr} .trd-charts.n2,.trd-charts.n3{grid-template-columns:1fr} .trd-tv{height:340px} }

  /* ── Admin console layout ── */
  .lvlb{padding:4px 9px;border-radius:7px;border:1px solid var(--stroke);background:var(--bg2);color:var(--sub);font:12px monospace;cursor:pointer}
  .lvlb.on{border-color:var(--gold);color:var(--gold);background:rgba(232,194,104,.1)}
  .adm-wrap{display:flex;gap:16px;align-items:flex-start}
  .adm-nav{flex:0 0 172px;display:flex;flex-direction:column;gap:5px;position:sticky;top:14px}
  .adm-nav button{text-align:left;padding:9px 12px;border-radius:9px;border:1px solid transparent;background:transparent;color:var(--sub);font-size:13.5px}
  .adm-nav button:hover{background:var(--bg2)}
  .adm-nav button.on{background:var(--panel);border-color:var(--stroke);color:var(--ink);font-weight:600}
  .adm-body{flex:1;min-width:0}
  .adm-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .adm-scroll table{min-width:640px}
  @media(max-width:600px){
    .adm-scroll th,.adm-scroll td{padding:8px 8px;white-space:nowrap;font-size:12.5px}
    .pv-grid{grid-template-columns:1fr 1fr}
    .ai-stats{grid-template-columns:1fr 1fr}
  }
  .tbl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .tbl-scroll table{min-width:600px}
  .tbl-scroll::-webkit-scrollbar{height:6px}
  @media(max-width:600px){
    .tbl-scroll table{font-size:12.5px}
    .tbl-scroll th,.tbl-scroll td{padding:8px 8px;white-space:nowrap}
    .jf{flex:1 1 42%} .jf select{width:100%;min-width:0}
  }
  .adm-urow{cursor:pointer} .adm-urow:hover td{background:var(--bg2)}
  @media(max-width:760px){ .adm-wrap{flex-direction:column} .adm-nav{position:static;flex-direction:row;flex-wrap:wrap;width:100%} }

  /* ── Layout ── */
  .app{display:flex;min-height:100vh}
  .sidebar{width:var(--sb);flex:0 0 var(--sb);background:var(--sidebar-bg);
    border-right:1px solid var(--stroke);display:flex;flex-direction:column;
    position:fixed;inset:0 auto 0 0;height:100vh;z-index:30;transition:transform .25s;
    overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:none}
  .sidebar::-webkit-scrollbar{display:none;width:0;height:0}   /* без бегунков: скролл колесом/пальцем работает */
  .main{margin-left:var(--sb);flex:1;min-width:0;display:flex;flex-direction:column}
  .brand{display:flex;align-items:center;gap:10px;padding:20px 20px 16px;font-weight:700;
    font-size:18px;letter-spacing:.02em;font-family:var(--display)}
  /* DeepMarkets mark: depth-of-market bars (три убывающих бара стакана) */
  .brand .logo{position:relative;width:30px;height:30px;border-radius:9px;
    background:url('/logo.svg?v=2') center/contain no-repeat;
    box-shadow:0 4px 14px var(--acc-dim)}
  .brand .logo::after{content:none}
  .brand small{color:var(--faint);font-weight:500;font-size:11px;display:block;letter-spacing:.04em}
  nav{padding:8px 12px;display:flex;flex-direction:column;gap:2px;flex:1}
  /* мини-сайдбар (десктоп): рельс 56px, контент скрыт, стрелка разворота */
  .sb-collapse{display:none;position:absolute;top:14px;right:-13px;width:26px;height:26px;border-radius:50%;
    border:1px solid var(--stroke);background:var(--panel);color:var(--sub);cursor:pointer;z-index:31;
    font-size:12px;line-height:1;align-items:center;justify-content:center;transition:.12s}
  .sb-collapse:hover{color:var(--ink);border-color:var(--stroke2)}
  .sb-collapse:focus,.sb-collapse:focus-visible{outline:none;box-shadow:none}
  .sb-collapse{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;padding:0}
  @media(min-width:821px){
    .sb-collapse{display:flex}
    html.sbmini{--sb:56px}
    html.sbmini .sidebar .brand div, html.sbmini .sidebar .sb-foot{display:none}
    /* свёрнутый сайдбар: показываем только иконки, подпись прячем */
    html.sbmini .sidebar nav .navitem{font-size:0;justify-content:center;padding:9px 0}
    html.sbmini .sidebar nav .navitem .ic{margin-right:0}
    html.sbmini .sidebar nav .navitem .ic svg{width:17px;height:17px}
    html.sbmini .sidebar .brand{justify-content:center;padding-left:0;padding-right:0}
    /* в мини-режиме стрелка не липнет к логотипу, а стоит ПОД ним по центру рельса */
    html.sbmini .sb-collapse{top:72px;right:15px}
  }
  .langsel{background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:8px;
    padding:4px 8px;font-size:11.5px;font-weight:700;font-family:inherit;cursor:pointer}
  /* шапка: язык, тема и переключатель рынков терминала — одной высоты (32px) */
  .topbar .langsel{height:32px;box-sizing:border-box;padding:0 8px}
  .topbar .seg:has(.langsel){border:none;background:none}
  .topbar .iconbtn{width:32px;height:32px;font-size:14px;border-radius:8px}
  .mktseg{height:32px;box-sizing:border-box;border-radius:8px;flex:0 0 auto}
  .mktseg button{padding:0 11px;font-size:11.5px;font-weight:700;letter-spacing:.04em;height:100%}
  @media(max-width:900px){ .mktseg button{padding:0 7px;font-size:10.5px} }
  .navitem{display:flex;align-items:center;padding:9px 13px;border-radius:10px;
    color:var(--ink);font-family:var(--display);font-size:15px;font-weight:600;letter-spacing:.005em;
    transition:.12s;border:1px solid transparent;cursor:pointer;user-select:none;-webkit-user-select:none}
  .navitem:hover{background:rgba(127,127,127,.12)}
  .navitem.on{background:var(--acc-dim);color:var(--acc);border-color:rgba(52,211,153,.25)}
  .navitem .ic{width:18px;margin-right:10px;color:var(--faint);flex:none;display:flex;align-items:center;justify-content:center;line-height:0}
  /* высота иконки = высота заглавной буквы пункта (15px display-шрифт → капс ~11px) */
  .navitem .ic svg{width:15px;height:15px}
  .navitem .ic .g2{stroke:var(--gold)}
  .navitem.on .ic{color:var(--acc)}
  .nav-key .navitem .ic{color:var(--acc)}
  /* два главных раздела: свой блок с тонкой акцентной линией слева */
  .nav-key{position:relative;display:flex;flex-direction:column;gap:3px;margin:8px 0;
    padding:5px 0 5px 10px;border-left:2px solid rgba(52,211,153,.5);
    background:linear-gradient(90deg,rgba(52,211,153,.07),transparent 78%);
    border-radius:0 10px 10px 0}
  .nav-key .navitem{font-weight:700;letter-spacing:.01em;font-size:15.5px}
  .nav-key .navitem:not(.on){color:var(--ink)}
  .nav-key .navitem:not(.on):hover{background:rgba(52,211,153,.10);border-color:rgba(52,211,153,.20)}
  html.sbmini .nav-key{padding-left:0;border-left:0;margin:4px 0}
  .sb-foot{padding:14px 14px 22px;border-top:1px solid var(--stroke);display:flex;flex-direction:column;gap:10px}
  .userbox{display:flex;align-items:center;gap:10px;padding:8px;border-radius:10px;background:var(--panel2);
    cursor:pointer;transition:.12s;border:1px solid transparent}
  .userbox:hover{border-color:var(--stroke2)}
  .avatar{width:32px;height:32px;border-radius:50%;background:var(--acc);color:var(--acc-ink);
    display:grid;place-items:center;font-weight:700;font-size:14px;flex:none}
  .avatar-img{width:32px;height:32px;border-radius:50%;object-fit:cover;flex:none}
  .userbox .nm{font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .userbox .pl{font-size:11px;color:var(--faint);text-transform:uppercase}
  .ub-gear{color:var(--faint);font-size:15px}
  .set-avrow{display:flex;align-items:center;gap:16px;margin-bottom:16px}
  .set-av{width:64px;height:64px;border-radius:50%;object-fit:cover;flex:none}
  .set-av-i{width:64px;height:64px;border-radius:50%;background:var(--acc);color:var(--acc-ink);
    display:grid;place-items:center;font-weight:800;font-size:26px;font-family:var(--display);flex:none}
  .set-conn{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--stroke)}
  .set-conn:last-child{border-bottom:none}

  /* ── Topbar ── */
  .topbar{min-height:60px;border-bottom:1px solid var(--stroke);display:flex;align-items:center;
    gap:12px;padding:14px 24px;position:sticky;top:0;background:color-mix(in srgb,var(--bg) 88%,transparent);
    backdrop-filter:blur(10px);z-index:20}
  .topbar h1{font-size:17px;font-weight:700;flex:1}
  .topttl{flex:1;min-width:0}
  .topttl .pagehead{margin:0}
  .topttl .pagehead h2{font-size:21px}
  .topttl .pagehead p{font-size:13px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .burger{display:none;background:none;border:none;color:var(--ink);font-size:22px}
  .iconbtn{background:var(--panel);border:1px solid var(--stroke);color:var(--sub);
    width:38px;height:38px;border-radius:10px;display:grid;place-items:center;font-size:15px;transition:.12s}
  .iconbtn:hover{color:var(--ink);border-color:var(--stroke2)}
  .seg{display:flex;background:var(--panel);border:1px solid var(--stroke);border-radius:10px;overflow:hidden}
  .seg button{background:none;border:none;color:var(--sub);font-size:12px;font-weight:600;
    padding:8px 11px;letter-spacing:.03em}
  .seg button.on{background:var(--acc-dim);color:var(--acc)}

  /* ── Content ── */
  .content{padding:28px 24px;max-width:1100px;width:100%;margin:0 auto}
  .content.wide{max-width:1400px}
  .content.mkfull{max-width:none;padding:28px 24px 14px;display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden;box-sizing:border-box}
  .content.mkfull .mk-wrap{display:flex;flex-direction:column;flex:1;min-height:0;gap:10px}
  .pagehead{margin-bottom:22px}
  .pagehead h2{font-family:var(--display);font-size:25px;font-weight:700;letter-spacing:.01em}
  .pagehead p{color:var(--sub);font-size:14px;margin-top:6px}

  .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}
  .card{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:18px}
  .card .l{color:var(--faint);font-size:12px;text-transform:uppercase;letter-spacing:.06em}
  .card .v{font-size:26px;font-weight:800;font-family:var(--mono);margin-top:6px}
  #ts-status{font-size:15px}
  .pos{color:var(--acc)}.neg{color:var(--red)}.gold{color:var(--gold)}

  .panel{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:22px;margin-bottom:18px}
  .rad-chips{display:flex;gap:8px;padding:12px 14px;flex-wrap:wrap}
  .rad-chip{display:flex;align-items:center;gap:8px;background:var(--bg2);border:1px solid var(--stroke);border-radius:10px;padding:8px 14px;cursor:pointer;color:var(--ink)}
  .rad-chip.on{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset}
  .rad-chip .ck{font-size:11px;color:var(--sub);text-transform:uppercase;letter-spacing:.04em}
  .rad-chip .cv{font-size:16px;font-weight:800;font-family:var(--mono)} .rad-chip .cv.pos{color:var(--acc)} .rad-chip .cv.gold{color:var(--gold)}
  .stbadge{font-size:11px;font-weight:700;white-space:nowrap} .stbadge.live{color:var(--acc)} .stbadge.soon{color:var(--gold)}
  .kbadge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:5px;letter-spacing:.4px}
  .jfilters{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:14px}
  .jf{display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.04em}
  .jf select{background:var(--bg2);border:1px solid var(--stroke);border-radius:8px;color:var(--ink);padding:8px 10px;font-size:13px;text-transform:none;letter-spacing:0;min-width:130px}
  table tfoot td{border-top:1px solid var(--stroke);font-weight:700;padding:12px 14px}
  .disclaimer{font-size:11px;line-height:1.5;color:var(--faint);margin:14px 2px 4px;font-style:italic}
  .wd-row{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:12px 0 6px}
  .wd-row .l{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.05em}
  .wd-row .v{font-size:24px;font-weight:800}
  .qhint{display:inline-flex;align-items:center;justify-content:center;width:17px;height:17px;border-radius:50%;
    border:1px solid var(--faint);color:var(--faint);font-size:11px;font-weight:700;cursor:pointer;
    margin-left:7px;vertical-align:middle;user-select:none;transition:.12s;flex:none}
  .qhint:hover{border-color:var(--acc);color:var(--acc)}
  .hp-acc{border:1px solid var(--stroke);border-radius:12px;margin-bottom:10px;overflow:hidden;background:var(--panel)}
  .hp-acc summary{padding:14px 16px;cursor:pointer;font-weight:700;font-size:14.5px;list-style:none;display:flex;gap:10px;align-items:center;user-select:none}
  .hp-acc summary::-webkit-details-marker{display:none}
  .hp-acc summary:hover{background:rgba(127,127,127,.06)}
  .hp-acc[open] summary{border-bottom:1px solid var(--stroke)}
  .hp-body{padding:14px 18px;font-size:13.5px;line-height:1.75;color:var(--sub)}
  .hp-body b{color:var(--ink)} .hp-body code{background:var(--bg2);padding:1px 6px;border-radius:6px;font-size:12px;color:var(--acc)}
  .hp-body ol,.hp-body ul{margin:6px 0 10px 18px;padding:0}
  .hp-body li{margin:4px 0}
  .hp-warn{border:1px solid rgba(232,194,104,.4);background:rgba(232,194,104,.08);border-radius:9px;padding:9px 12px;margin:8px 0;color:var(--gold)}
  html.in-telegram .topbar,html.in-telegram .topttl{padding-top:calc(env(safe-area-inset-top,0px) + 6px)}
  html.in-telegram .sidebar{padding-top:env(safe-area-inset-top,0px)}
  /* fullscreen-миниапп: отступ применялся ДВАЖДЫ (topbar + ещё раз topttl) — бургер и
     переключатели висели у кнопок Telegram, а заголовок уезжал ниже. Теперь одна панель
     на уровне заголовка: бургер, заголовок, язык и тема в одну линию. */
  html.tg-fullscreen .topbar{padding-top:calc(var(--tg-content-safe-area-inset-top, var(--tg-safe-area-inset-top, 46px))*2 + 10px)}
  html.tg-fullscreen .topttl{padding-top:0}
  html.tg-fullscreen .sidebar{padding-top:calc(var(--tg-content-safe-area-inset-top, var(--tg-safe-area-inset-top, 46px)) + 16px)}
  html.tg-fullscreen .scrim{top:0}
  .addr-verify{margin:10px 0 4px;padding:10px 12px;border:1px solid rgba(232,194,104,.4);border-radius:10px;background:rgba(232,194,104,.08);font-size:12.5px;color:var(--gold);line-height:1.5}
  .addr-ends{margin-top:6px;font-family:var(--mono);font-size:17px;font-weight:800;letter-spacing:.02em;color:var(--ink);display:flex;gap:8px;align-items:center}
  .addr-ends span{color:#34d399}
  .pay-qr{display:block;width:200px;height:200px;margin:8px 0 14px;border-radius:10px;background:#fff;padding:8px}
  .subgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
  .subcard{position:relative;background:var(--panel);border:1px solid var(--stroke);border-radius:14px;padding:22px;display:flex;flex-direction:column}
  .subcard.hl{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset,0 10px 30px rgba(0,0,0,.35)}
  .subcard .sc-badge{position:absolute;top:14px;right:16px;color:var(--acc);font-size:18px}
  .subcard .sc-name{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--sub)}
  .subcard .sc-price{font-size:38px;font-weight:800;font-family:var(--mono);margin:6px 0 2px} .subcard .sc-price small{font-size:13px;color:var(--faint);font-weight:500}
  .subcard .sc-tag{font-size:13px;color:var(--ink);margin-bottom:14px}
  .subcard .sc-feats{flex:1;margin-bottom:16px}
  .subcard .sc-feats .feat{font-size:12.5px;color:var(--sub);padding:5px 0 5px 20px;position:relative}
  .subcard .sc-feats .feat::before{content:"✓";position:absolute;left:0;color:var(--acc);font-weight:700}
  .hero-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:14px;margin-bottom:18px}
  .trader-hero{position:relative;overflow:hidden;cursor:pointer;border:1px solid var(--acc);border-radius:16px;padding:22px 24px;
    background:linear-gradient(135deg,var(--panel),var(--bg2));transition:transform .15s ease,box-shadow .15s ease}
  .trader-hero:hover{transform:translateY(-2px);box-shadow:0 12px 34px rgba(0,0,0,.45)}
  .th-glow{position:absolute;top:-45%;right:-12%;width:260px;height:260px;border-radius:50%;
    background:radial-gradient(circle,var(--acc-dim),transparent 70%);pointer-events:none}
  .th-head{display:flex;align-items:center;gap:12px;position:relative}
  .hero-av,.hero-av-i{width:46px;height:46px;border-radius:50%;flex:none}
  .hero-av{object-fit:cover}
  .hero-av-i{display:flex;align-items:center;justify-content:center;background:var(--acc);color:var(--acc-ink);font-weight:800;font-size:19px}
  .th-name{font-size:19px;font-weight:700}
  .th-tag{font-size:12px;color:var(--sub);margin-top:2px}
  .th-pnlcap{position:relative;margin-top:18px;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--faint)}
  .th-pnl{position:relative;font-family:var(--mono);font-size:46px;font-weight:800;line-height:1.05;margin-top:3px}
  .th-pnl.pos{color:var(--acc)} .th-pnl.neg{color:var(--red)}
  .th-btn{position:relative;width:100%;margin-top:18px;font-weight:700}
  .newsgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-bottom:18px}
  .newscard{display:flex;align-items:center;gap:14px;background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:16px 18px}
  .news-ic{width:40px;height:40px;border-radius:10px;flex:none;display:flex;align-items:center;justify-content:center;
    background:var(--panel2);font-size:20px;font-weight:700;color:var(--acc)}
  .news-body{min-width:0} .news-t{font-weight:600;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .news-v{font-family:var(--mono);font-size:13px;margin-top:3px;color:var(--sub)}
  .news-v.pos{color:var(--acc)} .news-v.neg{color:var(--red)}
  .panel h3{font-size:16px;font-weight:700;margin-bottom:4px}
  .panel .desc{color:var(--sub);font-size:13px;margin-bottom:16px}

  /* ── Forms ── */
  .field{margin-bottom:13px}
  .field label{display:block;font-size:12.5px;color:var(--sub);margin-bottom:6px;font-weight:500}
  input,select{width:100%;background:var(--bg2);border:1px solid var(--stroke);border-radius:10px;
    color:var(--ink);padding:11px 13px;font-size:14px;font-family:inherit}
  input:focus,select:focus{outline:none;border-color:var(--acc)}
  .row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
  .btn{background:var(--acc);color:var(--acc-ink);border:none;border-radius:10px;padding:12px 18px;
    font-weight:700;font-size:14px;transition:filter .12s;display:inline-flex;align-items:center;gap:8px}
  .btn:hover{filter:brightness(1.07)}
  .btn:disabled{opacity:.55}
  .btn.ghost{background:var(--panel2);color:var(--ink);border:1px solid var(--stroke)}
  .btn.danger{background:transparent;color:var(--red);border:1px solid rgba(240,114,111,.3);padding:7px 12px;font-size:13px}
  .btn.block{width:100%;justify-content:center}
  .msg{font-size:13px;margin-top:10px;min-height:18px}
  .msg.err{color:var(--red)}.msg.ok{color:var(--acc)}

  table{width:100%;border-collapse:collapse;font-size:13.5px}
  th{text-align:left;color:var(--faint);font-weight:500;font-size:11px;text-transform:uppercase;
    letter-spacing:.05em;padding:10px 12px;border-bottom:1px solid var(--stroke)}
  td{padding:12px;border-bottom:1px solid var(--stroke)}
  tr:last-child td{border-bottom:none}
  .pill{display:inline-block;font-size:11px;font-weight:600;padding:2px 9px;border-radius:99px;
    background:var(--panel2);border:1px solid var(--stroke);color:var(--sub)}
  .pill.demo{color:var(--gold);border-color:rgba(217,178,95,.3)}
  .pill.testnet{color:var(--gold);border-color:rgba(217,178,95,.3)}
  .pill.live{color:var(--acc);border-color:rgba(52,211,153,.3)}
  .mono{font-family:var(--mono)}
  .empty{text-align:center;color:var(--faint);padding:36px 0;font-size:14px}
  .reflink{display:flex;gap:8px;align-items:center}
  .reflink input{font-family:var(--mono);font-size:13px}

  /* ── Auth screens ── */
  .auth{min-height:100vh;display:grid;place-items:center;padding:24px;
    background:radial-gradient(60% 60% at 50% 0%,rgba(52,211,153,.08),transparent 70%),var(--bg)}
  .authcard{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--stroke);
    border-radius:18px;padding:30px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
  .authcard .brand{padding:0 0 6px;justify-content:center}
  .authcard h2{text-align:center;font-size:20px;font-weight:800;margin-bottom:4px}
  .authcard .sub{text-align:center;color:var(--sub);font-size:13.5px;margin-bottom:20px}
  .authswap{text-align:center;font-size:13px;color:var(--sub);margin-top:16px}
  .authswap a{color:var(--acc);font-weight:600;cursor:pointer}
  .gbtn{width:100%;justify-content:center;background:var(--bg2);color:var(--ink);
    border:1px solid var(--stroke);margin-top:10px}
  .gbtn-wrap{display:flex;justify-content:center;min-height:44px;margin:2px 0 4px}
  .gbtn-wrap > div{color-scheme:light}  /* keep Google iframe button crisp */
  .divider{display:flex;align-items:center;gap:12px;color:var(--faint);font-size:12px;margin:16px 0}
  .divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--stroke)}
  .toprt{display:flex;gap:8px;justify-content:flex-end;margin-bottom:14px}

  @media(max-width:820px){
    .sidebar{transform:translateX(-100%)}
    .sidebar.open{transform:translateX(0)}
    .main{margin-left:0}
    .burger{display:block}
    .row2{grid-template-columns:1fr}
    .content{padding:20px 16px}
  }
  .scrim{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:25}
  .scrim.show{display:block}

  /* ── Auth modal (desktop): blur the whole app behind a centered card ── */
  .authmodal{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:24px;
    background:rgba(8,9,11,.5);backdrop-filter:blur(9px) saturate(115%);
    -webkit-backdrop-filter:blur(9px) saturate(115%);animation:fadein .18s ease}
  @keyframes fadein{from{opacity:0}to{opacity:1}}
  .authmodal .authcard{position:relative;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:pop .2s ease}
  @keyframes pop{from{transform:translateY(8px) scale(.98);opacity:0}to{transform:none;opacity:1}}
  .modalclose{position:absolute;top:12px;right:14px;background:var(--panel2);border:1px solid var(--stroke);
    color:var(--sub);width:30px;height:30px;border-radius:8px;font-size:15px;line-height:1;transition:.12s}
  .modalclose:hover{color:var(--ink);border-color:var(--stroke2)}
  .backsite{display:block;text-align:center;margin-top:18px;font-size:14.5px;font-weight:600;color:var(--acc);cursor:pointer}
  .backsite:hover{filter:brightness(1.1)}

  /* ── Subscription / payment ── */
  .price{font-size:40px;font-weight:800;font-family:var(--mono)}
  .price small{font-size:16px;color:var(--sub);font-weight:500}
  .feat{display:flex;align-items:flex-start;gap:9px;color:var(--sub);font-size:14px;margin:7px 0}
  .feat::before{content:"✓";color:var(--acc);font-weight:800}
  .qrbox{background:#fff;padding:12px;border-radius:12px;width:fit-content;margin:0 auto}
  .payamt{font-family:var(--mono);font-size:26px;font-weight:800;color:var(--acc);text-align:center}
  .payaddr{font-family:var(--mono);font-size:12.5px;word-break:break-all;background:var(--bg2);
    border:1px solid var(--stroke);border-radius:10px;padding:11px 13px}
  .paywarn{font-size:12.5px;color:var(--gold);background:rgba(217,178,95,.1);
    border:1px solid rgba(217,178,95,.25);border-radius:10px;padding:10px 12px;margin-top:10px}
  .timer{font-family:var(--mono);font-weight:700}
  .badge-active{display:inline-flex;align-items:center;gap:7px;background:var(--acc-dim);
    color:var(--acc);border:1px solid rgba(52,211,153,.3);border-radius:99px;padding:6px 14px;font-weight:600;font-size:14px}
  .vbanner{background:rgba(217,178,95,.1);border:1px solid rgba(217,178,95,.3);border-radius:12px;
    padding:12px 14px;margin-bottom:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:13.5px;color:var(--gold)}
  .vbanner input{max-width:130px;padding:8px 10px;font-family:var(--mono)}
  .vbanner .btn{padding:8px 14px;font-size:13px}
  .vbanner a{color:var(--sub);cursor:pointer;text-decoration:underline;font-size:12.5px}
  .openpos{background:var(--bg2);border:1px solid var(--stroke);border-left:3px solid var(--acc);
    border-radius:10px;padding:13px 15px;font-size:14px}
  .openpos .lbl{font-size:11px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:600}
  .refnet{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:22px}
  .reflevel{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:16px;position:relative;overflow:hidden}
  .reflevel::after{content:"";position:absolute;top:0;left:0;width:100%;height:3px;background:var(--acc);opacity:.55}
  .reflevel .lvl{font-size:12px;font-weight:700;color:var(--ink);display:flex;justify-content:space-between;align-items:center}
  .reflevel .pct{font-family:var(--mono);font-size:12px;color:var(--acc);background:var(--acc-dim);padding:2px 8px;border-radius:99px;font-weight:700}
  .reflevel .mem{font-size:30px;font-weight:800;font-family:var(--mono);margin:8px 0 2px}
  .reflevel .ml{font-size:11px;color:var(--faint);text-transform:uppercase;letter-spacing:.05em}
  .reflevel .ern{margin-top:9px;font-size:13px;color:var(--sub)}
  .reflevel .ern b{color:var(--acc);font-family:var(--mono)}
  .livedot{display:inline-block;width:8px;height:8px;border-radius:99px;background:var(--acc);
    margin-left:6px;vertical-align:middle;box-shadow:0 0 0 0 rgba(52,211,153,.6);animation:pulse 1.8s infinite}
  @keyframes pulse{0%{box-shadow:0 0 0 0 rgba(52,211,153,.5)}70%{box-shadow:0 0 0 7px rgba(52,211,153,0)}100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}}
  .promo{display:flex;align-items:center;gap:14px;margin-top:18px;cursor:pointer;
    background:linear-gradient(100deg,var(--acc-dim),transparent 70%);
    border:1px solid rgba(52,211,153,.28);border-radius:var(--radius);padding:16px 18px;transition:.14s}
  .promo:hover{border-color:rgba(52,211,153,.5);transform:translateY(-1px)}
  .promo-i{font-size:26px;line-height:1}
  .promo-t{flex:1;display:flex;flex-direction:column;gap:2px}
  .promo-t b{font-size:14.5px;color:var(--ink)}
  .promo-t span{font-size:13px;color:var(--sub)}
  .promo-go{font-size:13px;font-weight:700;color:var(--acc);white-space:nowrap}
  /* ── per-exchange "playing cards" (dashboard) ── */
  .sec-h{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);font-weight:700;margin:6px 0 12px}
  .exgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(216px,1fr));gap:18px;margin-bottom:22px}
  .dexc{background:linear-gradient(165deg,var(--panel),var(--bg2));border:1px solid var(--stroke);border-radius:18px;
    padding:22px 20px;display:flex;flex-direction:column;min-height:316px;transition:.14s;position:relative;overflow:hidden}
  .dexc:hover{border-color:var(--acc);transform:translateY(-3px);box-shadow:0 14px 34px rgba(0,0,0,.32)}
  .dexc-head{display:flex;flex-direction:column;align-items:center;gap:9px;text-align:center}
  .dexc-logo{height:32px;max-width:140px;object-fit:contain}
  html[data-theme="light"] .dexc-logo{background:#14161a;padding:6px 9px;border-radius:8px;box-sizing:content-box}
  .dexc-name{font-size:18px;font-weight:700;color:var(--ink)}
  .dexc-badge{font-size:10.5px;font-weight:700;padding:2px 9px;border-radius:20px;border:1px solid var(--stroke);color:var(--faint)}
  .dexc-badge.open{color:var(--acc);border-color:var(--acc);background:var(--acc-dim)}
  .dexc-mid{margin:auto 0;text-align:center;padding:14px 0}
  .dexc-ball{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin-bottom:5px}
  .dexc-balv{font-size:30px;font-weight:800;font-family:var(--mono);color:var(--ink);line-height:1.05}
  .dexc-stats{display:flex;flex-direction:column}
  .dexc-line{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-top:1px solid var(--stroke);font-size:12.5px}
  .dexc-line .l{color:var(--faint)} .dexc-line .v{font-family:var(--mono);font-weight:700;color:var(--ink)}
  /* ── public trader profile (витрина) ── */
  .prof-hd{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:6px 0 18px}
  .prof-id h2{margin:0;font-size:22px} .prof-id .desc{margin-top:2px}
  .prof-bio{margin-top:6px;max-width:520px;font-size:13px;line-height:1.45;color:var(--sub)}
  .prof-stats{display:flex;gap:10px;margin-left:auto;flex-wrap:wrap}
  .prof-stats .dst{background:var(--bg2);border:1px solid var(--stroke);border-radius:10px;padding:8px 12px;min-width:84px}
  .prof-stats .dst .l{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:3px}
  .prof-stats .dst .v{font-size:16px;font-weight:700;font-family:var(--mono)}
  .tcard{cursor:pointer} .tcard:hover{border-color:var(--acc)}
  .tcard-av{width:34px;height:34px;border-radius:50%;object-fit:cover}
  .strat-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
  .strat-tags{display:flex;gap:7px;flex-wrap:wrap}
  .stag{font-size:11px;font-weight:600;color:var(--sub);background:var(--bg2);
    border:1px solid var(--stroke);border-radius:7px;padding:3px 9px;font-family:var(--mono)}
  .tstat{display:flex;align-items:center;gap:14px;margin-bottom:18px;border-radius:var(--radius);padding:16px 18px;border:1px solid var(--stroke)}
  .tstat .ti{font-size:24px;line-height:1}
  .tstat .tt{flex:1;display:flex;flex-direction:column;gap:3px}
  .tstat .tt b{font-size:14.5px;color:var(--ink)}
  .tstat .tt span{font-size:13px;color:var(--sub);line-height:1.45}
  .tstat .btn{white-space:nowrap}
  .tstat.lock{background:linear-gradient(100deg,rgba(217,178,95,.12),transparent 70%);border-color:rgba(217,178,95,.3)}
  .tstat.warn{background:linear-gradient(100deg,rgba(217,178,95,.10),transparent 70%);border-color:rgba(217,178,95,.25)}
  .tstat.ok{background:linear-gradient(100deg,var(--acc-dim),transparent 70%);border-color:rgba(52,211,153,.28)}
  .tstat.info{background:var(--panel);border-color:var(--stroke)}
  .openpos.flat{border-left-color:var(--faint)}
  .mk-bar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
  .mk-last{font-family:var(--mono);font-size:14px;color:var(--sub)}
  .mk-range{font-family:var(--mono);font-size:12.5px;color:var(--sub);margin-top:12px;
    background:var(--bg2);border:1px solid var(--stroke);border-radius:10px;padding:9px 12px}
  .mk-range b{color:var(--acc)}
  .mkf{display:flex;flex-wrap:wrap;gap:16px 22px;align-items:flex-end;margin-bottom:14px}
  .mkf-f{display:flex;flex-direction:column;gap:5px}
  .mkf-f>label{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);font-weight:600}
  .mkf-f input[type=date]{background:var(--bg2);border:1px solid var(--stroke);border-radius:8px;color:var(--ink);padding:7px 9px;font-family:var(--mono);font-size:12.5px;color-scheme:dark}
  html[data-theme="light"] .mkf-f input[type=date]{color-scheme:light}
  .mkf-foot{display:flex;align-items:center;gap:12px;flex-wrap:wrap;border-top:1px solid var(--stroke);padding-top:13px}
  .mkf-info{font-size:12.5px;color:var(--sub)} .mkf-info b{color:var(--ink);font-family:var(--mono)}
  .term-sig{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
  .sigbig{font-size:21px;font-weight:800;font-family:var(--mono)}
  .sigsub{font-size:12.5px;color:var(--sub)} .sigsub b{color:var(--ink)}
  .indgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:7px}
  .indcell{background:var(--bg2);border:1px solid var(--stroke);border-radius:9px;padding:7px 10px;
    border-left:3px solid var(--faint);min-width:0;overflow:hidden}
  .indcell.pos{border-left-color:var(--acc)} .indcell.neg{border-left-color:#f87171}
  .indcell.neu{border-left-color:var(--faint)}
  .ind-n{font-size:10px;color:var(--faint);text-transform:uppercase;letter-spacing:.03em;font-weight:600;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ind-row{display:flex;justify-content:space-between;align-items:baseline;margin-top:3px;gap:4px 8px;flex-wrap:wrap;min-width:0}
  .ind-s{font-size:12.5px;font-weight:700;flex:none}
  .indcell.pos .ind-s{color:var(--acc)} .indcell.neg .ind-s{color:#f87171} .indcell.neu .ind-s{color:var(--sub)}
  .ind-v{font-family:var(--mono);font-size:12.5px;color:var(--ink);font-weight:700;
    margin-left:auto;text-align:right;min-width:0;overflow-wrap:break-word;word-break:break-word;line-height:1.5;max-width:100%}
  .exgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
  .excard{background:var(--bg2);border:1px solid var(--stroke);border-radius:11px;padding:13px 14px;
    cursor:pointer;transition:.12s;user-select:none;display:flex;align-items:center;gap:11px}
  .ex-logo{box-sizing:content-box;width:26px;height:26px;object-fit:contain;border-radius:7px;flex:none}
  .ex-logo.big{width:auto;height:26px;max-width:130px;border-radius:7px}
  .extab img{box-sizing:content-box;width:20px;height:20px;object-fit:contain;border-radius:6px}
  .extab img.big{width:auto;height:18px;max-width:70px;border-radius:6px}
  /* API-keys group headers: larger brand logos */
  .keygh .ex-logo{width:34px;height:34px}
  .keygh .ex-logo.big{width:auto;height:40px;max-width:150px}
  /* dark tiles so brand logos (incl. white Bybit/OKX) stay crisp on light panels */
  html[data-theme="light"] .ex-logo,
  html[data-theme="light"] .extab img{background:#14161a;padding:5px}
  html[data-theme="light"] .ex-logo.big,
  html[data-theme="light"] .extab img.big{padding:5px 9px}
  .excard:hover{border-color:var(--stroke2)}
  .excard.on{border-color:var(--acc);background:var(--acc-dim)}
  .excard .ex-n{font-size:14px;font-weight:700;color:var(--ink)}
  .excard.on .ex-n{color:var(--acc)}
  .excard .ex-d{font-size:12px;color:var(--sub);margin-top:3px}
  .keypanel{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:18px;margin-bottom:14px}
  .keyempty{border:1px dashed var(--stroke2);border-radius:12px;padding:30px 16px;text-align:center;color:var(--faint)}
  .keyempty .ke-ic{font-size:26px;opacity:.5;margin-bottom:8px}
  .keyempty b{display:block;color:var(--sub);font-size:14px}
  .keyempty span{font-size:12.5px}
  .keygh{display:flex;align-items:center;gap:11px;margin-bottom:12px}
  .keygh b{font-size:15px}
  .keyadd{background:none;border:none;color:var(--acc);font-weight:600;font-size:13px;cursor:pointer}
  .keyrow{display:flex;align-items:center;gap:12px;background:var(--bg2);border:1px solid var(--stroke);
    border-radius:11px;padding:11px 14px;margin-bottom:8px}
  .keyk{font-size:16px;opacity:.7}
  .keyinfo{flex:1}
  .keyname{font-size:14px;font-weight:600;display:flex;align-items:center;gap:8px}
  .keymask{font-size:12px;color:var(--faint);margin-top:2px}
  .keydel{background:none;border:none;color:var(--faint);font-size:15px;cursor:pointer;opacity:.7}
  .keydel:hover{color:#f87171;opacity:1}
  .kmodal-back{position:fixed;inset:0;background:rgba(4,6,8,.62);backdrop-filter:blur(4px);
    display:grid;place-items:center;z-index:120;padding:20px}
  .kmodal{background:var(--panel);border:1px solid var(--stroke);border-radius:16px;padding:24px;
    width:100%;max-width:440px;box-shadow:0 24px 70px rgba(0,0,0,.5)}
  .kmodal h3{margin-bottom:16px;font-size:18px}
  .kmodal .field{margin-bottom:12px}
  .kenv{display:flex;flex-direction:column;gap:8px}
  .kenv-o{display:flex;align-items:center;gap:11px;padding:11px 13px;border:1px solid var(--stroke);
    border-radius:11px;cursor:pointer;font-size:14px;color:var(--sub);transition:.12s}
  .kenv-o .radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--stroke2);flex:none;position:relative}
  .kenv-o.on{border-color:var(--acc);color:var(--ink)}
  .kenv-o.on .radio{border-color:var(--acc)}
  .kenv-o.on .radio::after{content:"";position:absolute;inset:3px;border-radius:50%;background:var(--acc)}
  .kmodal-act{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
  .strat-switch{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
  .strat-lbl{font-size:13px;color:var(--sub)}
  .strat-cur{color:var(--acc);font-size:13.5px}
  .strat-admin{font-size:11px;color:var(--faint)}
  .strat-pend{font-size:12px;color:var(--gold)}
  .extabs{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 16px}
  .extab{display:flex;align-items:center;gap:9px;background:var(--bg2);border:1px solid var(--stroke);
    border-radius:12px;padding:10px 16px;color:var(--sub);font-weight:600;font-size:14px;transition:.12s}
  .extab img{width:20px;height:20px;object-fit:contain;border-radius:5px}
  .extab:hover{border-color:var(--stroke2);color:var(--ink)}
  .extab.on{border-color:var(--acc);background:var(--acc-dim);color:var(--ink)}
  .term-charthead{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
  .term-grid,.term-grid2,.term-main{display:grid;gap:16px;grid-template-columns:1fr;align-items:start}
  .tg-side{display:grid;gap:16px;align-items:start}
  @media(min-width:1080px){
    .term-grid{grid-template-columns:1.6fr 1fr}
    .term-grid2{grid-template-columns:1fr 1fr;align-items:stretch}
    .term-main{grid-template-columns:1fr 1fr;align-items:stretch}
  }
  .tg-bots #term-botcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
  .term-indhead{display:flex;align-items:center;gap:7px;font-weight:600;font-size:13px;color:var(--sub);
    text-transform:uppercase;letter-spacing:.04em;margin:18px 0 10px;border-top:1px solid var(--stroke);padding-top:16px}
  .aifeed{display:flex;flex-direction:column;gap:10px;margin-top:4px}
  .ai-line{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;color:var(--sub)}
  .ai-line b{color:var(--ink)} .ai-ic{font-size:15px;line-height:1.2;flex:none}
  .ai-note{font-size:11px;color:var(--faint);margin-top:6px;border-top:1px solid var(--stroke);padding-top:8px}
  .bots-head{margin:24px 0 12px} .bots-head h3{font-size:16px}
  .botcards{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));margin-bottom:8px}
  .botcard{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:16px;cursor:pointer;transition:.12s}
  .botcard:hover{border-color:var(--stroke2)} .botcard.sel{box-shadow:0 0 0 1px var(--acc) inset}
  .botcard.running{border-left:3px solid var(--acc)}
  .botcard.running.sel{border-left:3px solid var(--acc);box-shadow:0 0 0 1px var(--acc) inset,0 0 18px var(--acc-dim)}
  .botcard.soon{opacity:.55;cursor:default}
  .bc-head{display:flex;align-items:center;gap:10px;margin-bottom:8px}
  .bc-head b{font-size:15px} .bc-logo{width:24px;height:24px;object-fit:contain;border-radius:6px}
  .bc-logo.big{width:auto;height:20px;border-radius:6px;max-width:74px}
  html[data-theme="light"] .bc-logo{background:#14161a;padding:4px;box-sizing:content-box}
  .bc-status{font-size:11px;font-weight:700} .bc-status.on{color:var(--acc)} .bc-status.off{color:var(--faint)}
  .bc-gear{background:none;border:none;color:var(--faint);font-size:16px;cursor:pointer}
  .bc-gear:hover{color:var(--ink)}
  .bc-strat{font-size:13.5px;color:var(--ink);font-weight:700;margin-bottom:9px;display:flex;align-items:center;gap:8px}
  .bc-mode{font-family:var(--mono);font-size:9.5px;font-weight:700;padding:1px 6px;border-radius:5px;border:1px solid var(--stroke)}
  .bc-mode.live{color:#f87171;border-color:rgba(248,113,113,.4)} .bc-mode.paper{color:var(--gold);border-color:rgba(217,178,95,.35)}
  .bc-line{display:flex;justify-content:space-between;gap:8px;font-size:12px;padding:3px 0;border-bottom:1px solid var(--stroke)}
  .bc-line .bc-k{color:var(--faint)} .bc-line b{font-family:var(--mono)}
  .bc-jhead{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin:10px 0 5px;font-weight:600}
  .bc-journal{display:flex;flex-direction:column;gap:3px}
  .bc-jrow{display:flex;justify-content:space-between;gap:8px;font-size:11.5px}
  .bc-jrow .mono{font-weight:700} .bc-jout{color:var(--sub)} .bc-jrow.muted{color:var(--faint)}
  .muted{color:var(--faint)}
  .bc-soon{font-size:13px;color:var(--faint)}
  .bc-sel{width:100%;background:var(--bg2);border:1px solid var(--stroke);border-radius:9px;color:var(--acc);
    font-weight:600;font-size:13px;padding:8px 10px;margin-bottom:10px;font-family:inherit;cursor:pointer}
  .bc-actions{display:flex;gap:8px;margin-top:12px}
  .bc-actions .btn{flex:1;padding:9px;font-size:13px;display:inline-flex;align-items:center;justify-content:center;line-height:1}
  .bc-actions .btn:last-child{flex:0 0 52px;width:52px;padding:4px 0;font-size:26px}
  .botcard.addbot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;
    border-style:dashed;color:var(--sub);min-height:160px}
  .botcard.addbot:hover{border-color:var(--acc);color:var(--acc)}
  .addbot-plus{font-size:30px;line-height:1}
  .posgrid table{width:100%}
  /* ── compact bot strip (top) ── */
  /* до 10 ботов: одна лента с горизонтальной прокруткой вместо сетки в несколько рядов */
  .botstrip{display:flex;gap:12px;margin-bottom:18px;overflow-x:auto;overflow-y:hidden;
    padding-bottom:6px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}
  .botstrip>*{flex:0 0 262px;min-width:0;scroll-snap-align:start}
  .botstrip::-webkit-scrollbar{height:4px}
  .botstrip::-webkit-scrollbar-thumb{background:var(--stroke2);border-radius:2px}
  .botstrip{scrollbar-width:thin;scrollbar-color:var(--stroke2) transparent}
  .botstrip::-webkit-scrollbar-track{background:transparent}
  @media (max-width:900px){ .botstrip>*{flex:0 0 78vw} }
  /* заголовок обязан ужиматься многоточием, иначе он тянет карточку вширь */
  .botstrip .bchip-strat{min-width:0}
  /* «＋ новый бот» — в конце ленты, обычным потоком (sticky наезжал на карточку) */
  .botstrip .bchip.addbot{flex:0 0 132px}
  /* компактная биржевая карточка витрины: одна строка, P&L — герой */
  .dexs{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);
    padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
  .dexs-l{display:flex;align-items:center;gap:11px;min-width:0}
  .dexs-l img{height:20px;max-width:86px;object-fit:contain}
  .dexs-name{font-family:var(--display);font-weight:800;font-size:14.5px}
  .dexs-r{text-align:right;min-width:0}
  .dexs-pnl{font-family:var(--mono);font-weight:800;font-size:24px;line-height:1.15}
  .dexs-pnl small{font-size:13px;font-weight:700;margin-left:7px;opacity:.85}
  .dexs .desc{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  /* мобильный: только биржа и winrate — доллары/проценты/баланс наезжали друг на друга */
  @media (max-width:900px){
    .dexs{padding:10px 12px;gap:8px}
    .dexs .desc{display:none}
    .dexs-pnl small{display:none}
    .dexs-pnl{font-size:21px}
    .dexs-l img{height:17px;max-width:70px}
    .dexs-name{font-size:13px}
  }
  .bchip-sub{color:var(--faint);font-weight:600}
  .bchip-asset{font-family:var(--display);font-size:15px;font-weight:800;color:var(--ink);
    letter-spacing:.01em;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bchip-strat2{font-size:10.5px;color:var(--faint);font-weight:600;margin:0 0 auto 26px;padding-bottom:5px;
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bchip{background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:9px 12px 8px;cursor:pointer;transition:.12s;position:relative;
    display:flex;flex-direction:column}
  /* строки данных прижимаем к низу: у части ботов нет строки сигнала, и без этого
     P&L «задирался» вверх — соседние карточки не совпадали по линиям.
     (:first-of-type здесь не годится — он смотрит на ТЕГ, а все элементы карточки div,
     поэтому свободное место отдаём строке стратегии) */
  .bchip:hover{border-color:var(--stroke2)}
  .bchip.sel{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc) inset,0 0 18px var(--acc-dim)}
  .bchip.installing{border-color:var(--acc)} .bchip.removing{border-color:var(--red);opacity:.75}
  .bchip-prov{display:flex;align-items:center;gap:8px;margin-top:9px;font-size:11px;color:var(--acc)}
  .bchip-prov.rem{color:var(--red)}
  .bchip-prog{flex:1;height:4px;background:var(--bg2);border-radius:3px;overflow:hidden}
  .bchip-prog .bar{height:100%;width:35%;border-radius:3px;background:var(--acc);animation:provload 1.1s ease-in-out infinite}
  .bchip-prog.rem .bar{background:var(--red);animation:provload-rev 1.1s ease-in-out infinite}
  @keyframes provload{0%{transform:translateX(-120%)}100%{transform:translateX(320%)}}
  @keyframes provload-rev{0%{transform:translateX(320%)}100%{transform:translateX(-120%)}}
  .bchip-head{display:flex;align-items:center;gap:8px;margin-bottom:3px}
  .bchip-logo{width:20px;height:20px;object-fit:contain;border-radius:5px}
  .bchip-logo.big{width:auto;height:16px;max-width:62px;border-radius:5px}
  html[data-theme="light"] .bchip-logo{background:#14161a;padding:3px;box-sizing:content-box}
  .bchip-dot{width:8px;height:8px;border-radius:50%;background:var(--faint);flex:0 0 auto}
  .bchip-dot.on{background:var(--acc);box-shadow:0 0 7px var(--acc)}
  .bchip-strat{font-size:12px;font-weight:700;color:var(--ink);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .bchip-edit{background:none;border:0;color:var(--faint);cursor:pointer;font-size:12px;padding:0 4px;line-height:1;opacity:.55;flex:none}
  .bchip-edit:hover{color:var(--gold);opacity:1}
  .bchip-st{font-family:var(--mono);font-size:9px;font-weight:800;letter-spacing:.04em;
    padding:2px 6px;border-radius:6px;border:1px solid var(--stroke);flex:0 0 auto;line-height:1.35}
  .bchip-st.live{color:var(--acc);border-color:rgba(52,211,153,.55);background:rgba(52,211,153,.10);
    box-shadow:0 0 8px rgba(52,211,153,.45),inset 0 0 6px rgba(52,211,153,.10);
    text-shadow:0 0 6px rgba(52,211,153,.55)}
  .bchip-st.paper{color:var(--gold);border-color:rgba(217,178,95,.45);background:rgba(217,178,95,.08);
    box-shadow:0 0 7px rgba(217,178,95,.25)}
  .bchip-st.stop{color:var(--faint);border-color:var(--stroke);background:transparent;opacity:.75}
  .bchip-ex{margin-left:auto;display:flex;align-items:center;flex:0 0 auto;opacity:.9}
  .bchip-ex .bchip-logo{width:auto;height:13px;max-width:58px;border-radius:4px}
  .bchip-mode{font-family:var(--mono);font-size:8.5px;font-weight:700;padding:1px 5px;border-radius:5px;border:1px solid var(--stroke)}
  .bchip-mode.live{color:#f87171;border-color:rgba(248,113,113,.4)} .bchip-mode.paper{color:var(--gold);border-color:rgba(217,178,95,.35)}
  .bchip-row{display:flex;justify-content:space-between;gap:6px;font-size:11px;padding:1px 0;color:var(--faint)}
  .bchip-row b{font-family:var(--mono);color:var(--ink);font-weight:700}
  .bchip.addbot{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-style:dashed;color:var(--sub);min-height:96px}
  .bchip.addbot:hover{border-color:var(--acc);color:var(--acc)} .bchip.addbot .pl{font-size:24px;line-height:1}
  /* ── bot detail (right panel) ── */
  .detail-head{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
  .detail-head .bchip-logo{width:26px;height:26px}
  .detail-title{font-size:16px;font-weight:700;color:var(--ink)}
  .detail-ctl{display:flex;gap:8px;margin-left:auto}
  .detail-ctl .btn{padding:7px 12px;font-size:13px}
  .detail-gear{display:inline-flex;align-items:center;gap:6px}
  .detail-gear .gear{font-size:18px;line-height:1}
  .detail-ctl .btn-start,.detail-ctl .btn-stop{font-size:15px;font-weight:700;padding:11px 22px}
  .detail-ctl .btn-stop{border:none;color:#fff;background:linear-gradient(135deg,#f59e0b,#ef4444)}
  .detail-ctl .btn-stop:hover{filter:brightness(1.08)}
  .detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}
  .detail-stats .dst{background:var(--bg2);border:1px solid var(--stroke);border-radius:9px;padding:8px 10px}
  .detail-stats .dst .l{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:3px}
  .detail-stats .dst .v{font-size:14px;font-weight:700;font-family:var(--mono)}
  .pv-head{font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin:4px 0 8px;font-weight:600}
  .pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-bottom:16px}
  .pv-cell{background:var(--bg2);border:1px solid var(--stroke);border-radius:9px;padding:9px 11px;border-left:3px solid var(--faint)}
  .pv-cell.gold{border-left-color:var(--gold)} .pv-cell.pos{border-left-color:var(--acc)} .pv-cell.neg{border-left-color:#f87171} .pv-cell.blue{border-left-color:#5b8def}
  .pv-cell .l{font-size:9.5px;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:4px}
  .pv-cell .v{font-size:13px;font-weight:700;font-family:var(--mono)}
  .pv-cell.gold .v{color:var(--gold)} .pv-cell.pos .v{color:var(--acc)} .pv-cell.neg .v{color:#f87171} .pv-cell.blue .v{color:#5b8def}
  .pv-posbadge{display:inline-flex;align-items:center;gap:7px;padding:6px 13px;border-radius:9px;font-weight:700;font-size:13px;margin:12px 0 13px;border:1px solid}
  .lvlchips{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
  .lvlchip{padding:4px 11px;border:1px solid var(--stroke);border-radius:999px;font-size:12px;color:var(--sub);cursor:pointer;user-select:none;font-family:var(--mono,monospace)}
  .lvlchip:hover{border-color:var(--acc)}
  .lvlchip.on{color:var(--acc);border-color:var(--acc);background:var(--acc-dim)}
  .pv-posbadge.long{color:var(--acc);border-color:var(--acc);background:var(--acc-dim)}
  .pv-posbadge.short{color:#f87171;border-color:rgba(248,113,113,.45);background:rgba(248,113,113,.1)}
  .pv-leg{background:var(--bg2);border:1px solid var(--stroke);border-radius:10px;padding:11px 13px;margin-bottom:9px}
  .pv-leg-top{display:flex;align-items:center;gap:8px;margin-bottom:6px}
  .pv-leg-inst{font-family:var(--mono);font-weight:700;font-size:13px;color:var(--ink)}
  .pv-leg-side{font-size:9px;font-weight:700;padding:2px 7px;border-radius:5px;text-transform:uppercase}
  .pv-leg-side.buy{color:var(--acc);background:var(--acc-dim)} .pv-leg-side.sell{color:#f87171;background:rgba(248,113,113,.14)}
  .pv-leg-pnl{margin-left:auto;font-family:var(--mono);font-weight:700}
  .pv-leg-meta{display:flex;gap:18px;font-size:11px;color:var(--faint)}
  .pv-leg-meta b{color:var(--sub);font-family:var(--mono);font-weight:600}
  .jmini{width:100%;border-collapse:collapse} .jmini td{padding:6px 4px;font-size:12px;border-bottom:1px solid var(--stroke)}
  .jmore{display:inline-block;margin-top:8px;font-size:12px;color:var(--acc);cursor:pointer}
  .drawer-back{position:fixed;inset:0;z-index:120;background:rgba(4,6,8,.5);backdrop-filter:blur(3px);display:flex;justify-content:flex-end}
  .drawer{width:100%;max-width:460px;height:100%;background:var(--bg2);border-left:1px solid var(--stroke);
    padding:24px;overflow-y:auto;box-shadow:-12px 0 40px rgba(0,0,0,.35);animation:slidein .2s ease}
  @keyframes slidein{from{transform:translateX(30px);opacity:.6}to{transform:none;opacity:1}}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}
  .drawer-head h3{font-size:17px}
  .drawer-sec{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:18px 0 10px}
  .chartfull{position:fixed;inset:0;z-index:130;background:var(--bg);display:flex;flex-direction:column;padding:18px;gap:12px}
  .chartfull-bar{display:flex;align-items:center;gap:12px;font-family:var(--mono)}
  #cf-chart{flex:1;min-height:0}
  .botbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;
    background:var(--panel);border:1px solid var(--stroke);border-radius:var(--radius);padding:14px 18px;margin-bottom:18px}
  .botbar-l{display:flex;align-items:center;gap:10px;font-size:15px}
  .botbar-r{display:flex;gap:10px;flex-wrap:wrap}
  .bot-dot{width:10px;height:10px;border-radius:99px;display:inline-block}
  .bot-dot.on{background:var(--acc);box-shadow:0 0 0 4px var(--acc-dim)}
  .bot-dot.off{background:var(--faint)}
  .bot-mode{font-family:var(--mono);font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px;cursor:pointer;border:1px solid var(--stroke)}
  .bot-mode.live{color:#f87171;border-color:rgba(248,113,113,.4)} .bot-mode.paper{color:var(--gold);border-color:rgba(217,178,95,.35)}
  .ctlgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px 22px}
  .ctl-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:6px 0;border-bottom:1px solid var(--stroke)}
  .ctl-row label{font-size:13px;color:var(--sub);flex:1}
  .ctl-row input,.ctl-row select{width:110px;background:var(--bg2);border:1px solid var(--stroke);border-radius:8px;color:var(--ink);padding:7px 9px;font-size:13px;font-family:inherit}
  .toggle{width:42px;height:24px;border-radius:99px;background:var(--bg2);border:1px solid var(--stroke);position:relative;cursor:pointer;transition:.15s;flex:none}
  .toggle span{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:50%;background:var(--faint);transition:.15s}
  .toggle.on{background:var(--acc-dim);border-color:var(--acc)} .toggle.on span{left:20px;background:var(--acc)}
  .keynote{font-size:12.5px;color:var(--gold);background:rgba(217,178,95,.1);
    border:1px solid rgba(217,178,95,.25);border-radius:10px;padding:10px 12px;margin:4px 0 14px;line-height:1.45}
  /* AI Stand */
  .ai-note{font-size:12.5px;color:var(--gold);background:rgba(217,178,95,.1);border:1px solid rgba(217,178,95,.25);
    border-radius:10px;padding:10px 12px;margin:0 0 16px;line-height:1.45}
  .ai-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px 14px}
  .ai-togs{margin-top:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .aif{display:flex;flex-direction:column;gap:4px;font-size:12px}
  .aif>span{color:var(--faint);text-transform:uppercase;letter-spacing:.05em;font-size:11px}
  .aif input,.aif select{background:var(--panel2,var(--bg));border:1px solid var(--stroke);border-radius:8px;
    padding:8px 9px;color:var(--text,inherit);font-size:14px;font-family:var(--mono)}
  .aif-t{flex-direction:row;align-items:center;gap:8px}
  .aif-t input{width:16px;height:16px}
  .aif-t>span{color:inherit;text-transform:none;letter-spacing:0;font-size:13px}
  .ai-actions{display:flex;align-items:center;gap:14px;margin-top:16px;flex-wrap:wrap}
  .ai-avail{font-size:12px;color:var(--faint);font-family:var(--mono)} .ai-avail.warn{color:var(--gold)}
  .ai-stats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
  .ai-stat{background:rgba(127,127,127,.06);border:1px solid var(--stroke);border-radius:10px;padding:10px 12px}
  .ai-stat .l{color:var(--faint);font-size:11px;text-transform:uppercase;letter-spacing:.05em}
  .ai-stat .v{font-size:19px;font-weight:800;font-family:var(--mono);margin-top:4px}
  .ai-spark{width:100%;height:70px;margin:14px 0 6px}
  .ai-exits{font-size:12.5px;color:var(--faint);margin-top:8px}
  .ai-pill{display:inline-block;background:rgba(127,127,127,.1);border-radius:20px;padding:2px 10px;margin:2px 4px 2px 0;font-size:12px;font-family:var(--mono)}
  .ai-tt{width:100%;border-collapse:collapse;font-size:12.5px;font-family:var(--mono)}
  .ai-tt th{text-align:left;color:var(--faint);font-weight:600;padding:6px 8px;border-bottom:1px solid var(--stroke);text-transform:uppercase;font-size:10.5px;letter-spacing:.04em}
  .ai-tt td{padding:6px 8px;border-bottom:1px solid rgba(127,127,127,.08)}
  .ai-think{color:var(--faint);font-size:13px;padding:14px 0;font-style:italic}
  .ai-analysis{margin-top:14px;padding:14px 16px;background:rgba(127,127,127,.06);border:1px solid var(--stroke);
    border-radius:10px;font-size:13.5px;line-height:1.6} .ai-analysis b{color:var(--acc)}
  .ai-disc{font-size:11px;color:var(--faint);margin:16px 2px 0;line-height:1.4;font-style:italic}
  #ai-out>.card{margin-top:16px}
  /* AI Chat */
  .chat-box{display:flex;flex-direction:column;height:calc(100vh - 230px);min-height:420px}
  .chat-log{flex:1;overflow-y:auto;padding:6px 2px;display:flex;flex-direction:column;gap:12px}
  .chat-intro{color:var(--faint);font-size:13.5px;text-align:center;margin:auto;max-width:440px;line-height:1.5}
  .chat-msg{display:flex;min-width:0} .chat-msg.user{justify-content:flex-end}
  .chat-bub{max-width:80%;min-width:0;padding:10px 13px;border-radius:14px;font-size:13.5px;line-height:1.55;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere}
  .chat-bub table{display:block;max-width:100%;overflow-x:auto}
  .chat-msg.user .chat-bub{background:var(--acc-dim,rgba(38,161,123,.16));border:1px solid var(--stroke);border-bottom-right-radius:4px}
  .chat-msg.assistant .chat-bub{background:rgba(127,127,127,.08);border:1px solid var(--stroke);border-bottom-left-radius:4px}
  .chat-bub b{color:var(--acc)}
  .chat-pending{color:var(--faint);font-style:italic}
  .chat-input{display:flex;gap:8px;align-items:flex-end;margin-top:12px}
  .chat-input textarea{flex:1;resize:none;background:var(--panel2,var(--bg));border:1px solid var(--stroke);
    border-radius:12px;padding:11px 13px;color:var(--text,inherit);font-size:14px;font-family:inherit;line-height:1.4;max-height:140px}
  .chat-input .btn{white-space:nowrap}
  /* AI TestStand: 2-pane (chat + side config) */
  .ts-wrap{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
  .ts-main{display:flex;flex-direction:column;min-width:0;height:calc(100vh - 165px);min-height:480px}
  .ts-bar{display:flex;gap:6px;align-items:center;margin-bottom:10px}
  .ts-sel{flex:1;min-width:0;background:var(--panel2,var(--bg));border:1px solid var(--stroke);border-radius:8px;padding:7px 9px;color:var(--text,inherit);font-size:13px}
  .tsb{flex:0 0 auto;width:32px;height:32px;border:1px solid var(--stroke);background:transparent;border-radius:8px;color:var(--faint);cursor:pointer;font-size:14px}
  .tsb:hover{color:var(--text,inherit);border-color:var(--acc)} .tsb:disabled{opacity:.4;cursor:default}
  .ts-log{flex:1;min-width:0;overflow-y:auto;overflow-x:hidden;padding:6px 10px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--stroke);border-radius:12px;background:var(--panel)}
  .ts-input{display:flex;gap:8px;align-items:flex-end;margin-top:12px}
  .ts-input textarea{flex:1;resize:none;background:var(--panel2,var(--bg));border:1px solid var(--stroke);border-radius:12px;padding:11px 13px;color:var(--text,inherit);font-size:14px;font-family:inherit;line-height:1.4;max-height:140px}
  .ts-input .btn{white-space:nowrap}
  .ts-side{position:sticky;top:8px}
  .ts-cfg{background:var(--panel);border:1px solid var(--stroke);border-radius:12px;padding:14px 16px}
  .ts-cfg>summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;list-style:none}
  .ts-cfg>summary::-webkit-details-marker{display:none}
  .ts-cfg>summary::before{content:'▸ ';color:var(--acc)} .ts-cfg[open]>summary::before{content:'▾ '}
  .ts-cfg .ai-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
  /* main panel tabs: chat | monitor */
  .ts-tabs{display:flex;gap:6px;margin-bottom:10px;flex:0 0 auto}
  .tstab{padding:7px 14px;border:1px solid var(--stroke);background:transparent;border-radius:8px;color:var(--faint);cursor:pointer;font-size:13px}
  .tstab.on{color:var(--text,inherit);border-color:var(--acc);background:var(--acc-dim,rgba(38,161,123,.14))}
  .ts-pane{flex:1;min-height:0}
  .ts-pane-chat{display:flex;flex-direction:column}
  .ts-pane-mon{overflow-y:auto;overflow-x:auto;min-width:0;padding:2px}
  .ts-mon-empty{color:var(--faint);font-size:13.5px;text-align:center;padding:40px 16px;line-height:1.5}
  .ai-mon-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
  .ai-chart{height:300px;width:100%;border:1px solid var(--stroke);border-radius:10px;margin-bottom:8px;overflow:hidden}
  .btn.sm{padding:6px 12px;font-size:12.5px}
  .ai-approx{font-size:10.5px;color:var(--gold);border:1px solid rgba(217,178,95,.3);border-radius:10px;padding:1px 7px;margin-left:6px;white-space:nowrap;text-transform:none;letter-spacing:0}
  .ai-real{font-size:10.5px;color:var(--acc);border:1px solid var(--acc);border-radius:10px;padding:1px 7px;margin-left:6px;white-space:nowrap;text-transform:none;letter-spacing:0}
  .ai-stat .v small{font-size:11px;color:var(--faint);font-weight:600;display:block;margin-top:2px}
  .ts-trial{font-size:12px;color:var(--acc);background:var(--acc-dim,rgba(38,161,123,.12));border:1px solid var(--stroke);border-radius:8px;padding:6px 10px;margin-top:8px}
  .ts-trial.warn{color:var(--gold);background:rgba(217,178,95,.1)} .ts-trial a{color:inherit;text-decoration:underline;cursor:pointer;margin-left:4px}
  @media(max-width:900px){ .ts-wrap{grid-template-columns:1fr} .ts-side{position:static} .ts-main{height:auto;min-height:60vh} }
  /* Floating help chat */
  .help-fab{position:fixed;right:20px;bottom:20px;width:52px;height:52px;border-radius:50%;border:none;
    background:var(--acc);color:#06210f;font-size:22px;cursor:pointer;box-shadow:0 8px 24px rgba(0,0,0,.35);z-index:45}
  /* z=45: чат живёт НАД контентом (20-40), но ПОД любыми оверлеями — auth (50),
     торговые модалки (60), дровер настроек бота (120), полноэкранный график (130).
     Раньше 200 — кнопка чата закрывала нижние параметры в настройках бота (26Aug). */
  .help-fab:hover{filter:brightness(1.08)}
  @media(max-width:900px){
    html.no-fab .help-fab, html.no-fab .help-panel{display:none !important}
    .topttl .pagehead p{display:none}
    .topttl .pagehead h2{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .topbar{min-height:48px;padding:8px 14px}
  }
  .help-panel{position:fixed;right:20px;bottom:84px;width:360px;max-width:calc(100vw - 32px);height:min(70vh,560px);
    display:none;flex-direction:column;background:var(--panel);border:1px solid var(--stroke);border-radius:14px;
    box-shadow:0 18px 50px rgba(0,0,0,.45);z-index:45;overflow:hidden}
  .help-panel.open{display:flex}
  .help-head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--stroke);font-size:14px}
  .help-log{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:10px}
  .help-panel .ts-input{padding:10px 12px;margin:0;border-top:1px solid var(--stroke)}
  @media(max-width:560px){ .help-panel{right:10px;left:10px;width:auto;bottom:78px} }
