*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html,body{background:var(--bg);color:var(--text);font:400 14px/1.4 var(--f-text);-webkit-font-smoothing:antialiased}
body{min-height:100vh;background:radial-gradient(120% 60% at 50% -10%,#0b2a40 0%,var(--bg) 60%) fixed;overscroll-behavior-y:none}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0}
a{color:var(--teal);text-decoration:none}
.num{font-family:var(--f-num);font-weight:500;letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.up{color:var(--up)}.down{color:var(--down)}.muted{color:var(--muted)}.dim{color:var(--dim)}.teal{color:var(--teal)}.yel{color:var(--yellow)}
.h1{font:600 22px/1.15 var(--f-head);text-transform:uppercase;letter-spacing:.02em}
.h2{font:600 15px/1.2 var(--f-head);text-transform:uppercase;letter-spacing:.04em;margin:18px 2px 8px}
.sub{color:var(--muted);font-size:12.5px}
.small{font-size:11.5px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* шапка */
.hdr{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;
  padding:calc(var(--sat) + 6px) 10px 6px;background:linear-gradient(var(--bg) 70%,rgba(4,16,28,0));}
.hdr .logo{justify-self:center;display:flex;align-items:center;gap:7px;font:600 17px/1 var(--f-head);letter-spacing:.03em;color:var(--text)}
.hdr .logo img{height:20px;width:auto}
.hdr .logo b{color:var(--teal);font-weight:600}
.icbtn{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;color:var(--teal)}
.icbtn:active{background:rgba(43,192,209,.12)}
.icbtn svg{width:22px;height:22px}
.hdr .right{justify-self:end;display:flex}
.in-tg .hdr .back{visibility:hidden}

main{padding:0 var(--pad) calc(var(--nav-h) + var(--sab) + 18px)}
.screen{animation:fade .18s ease-out}
@keyframes fade{from{opacity:.4;transform:translateY(4px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.screen{animation:none}}

/* карточки */
.card{background:linear-gradient(180deg,var(--card-2),var(--card));border:1px solid var(--line);border-radius:var(--r);
  padding:12px;box-shadow:var(--glow);position:relative}
.card+.card{margin-top:10px}
.grid2>.card,.grid3>.card,.grid4>.card{margin-top:0}
.card.tap{cursor:pointer}.card.tap:active{border-color:var(--line-strong)}
.card .ttl{font-size:12.5px;color:var(--muted);margin-bottom:4px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.stack>*+*{margin-top:10px}
.row{display:flex;align-items:center;gap:10px}
.between{display:flex;align-items:center;justify-content:space-between;gap:8px}
.chev{color:var(--muted);width:16px;height:16px;flex:none}

/* поиск */
.search{display:flex;align-items:center;gap:8px;height:40px;border:1px solid var(--line);border-radius:10px;padding:0 12px;
  background:rgba(10,29,48,.8);color:var(--dim);margin-bottom:12px}
.search svg{width:16px;height:16px;flex:none}
.search input{flex:1;background:none;border:0;outline:0;color:var(--text);font-size:13px;min-width:0}
.search input::placeholder{color:var(--dim)}

/* режим рынка (главная) */
.regime{display:grid;grid-template-columns:56px 1fr 16px;gap:12px;align-items:center}
.regime .badge-ic{width:56px;height:56px;border-radius:14px;display:grid;place-items:center;border:1px solid var(--line-strong);
  background:radial-gradient(circle,rgba(255,229,0,.12),transparent 70%)}
.regime .badge-ic svg{width:34px;height:34px;color:var(--yellow)}
.regime .lbl{font-size:12px;color:var(--muted)}
.regime .val{font:600 21px/1.1 var(--f-head);color:var(--yellow);text-transform:uppercase;letter-spacing:.03em}
.bar{height:5px;border-radius:3px;background:rgba(255,255,255,.08);margin-top:8px;overflow:hidden}
.bar i{display:block;height:100%;border-radius:3px;background:linear-gradient(90deg,var(--down),var(--yellow),var(--up))}

/* метрики */
.kpi{padding:10px}
.kpi .k{font-size:11.5px;color:var(--muted)}
.kpi .v{font:500 17px/1.25 var(--f-num);margin-top:2px;white-space:nowrap}
.kpi .d{font:500 12px/1.2 var(--f-num);margin-top:2px}
.kpi svg.spark{display:block;width:100%;height:22px;margin-top:4px}
.big{font:500 30px/1.1 var(--f-num)}
.big small{font-size:18px;color:var(--muted)}

/* кнопки */
.cta{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:46px;border-radius:10px;
  background:var(--yellow);color:var(--yellow-ink);font-weight:600;font-size:14.5px;margin-top:12px;
  box-shadow:0 0 18px rgba(255,229,0,.18)}
.cta:active{filter:brightness(.92)}
.cta svg{width:18px;height:18px}
.ghost{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:42px;border-radius:10px;
  border:1px solid var(--line-strong);color:var(--text);margin-top:10px;font-weight:500;font-size:13.5px}
.ghost svg{width:16px;height:16px;color:var(--teal)}
.ghost.y{border-color:rgba(255,229,0,.7);color:var(--yellow)}
.btn-s{height:32px;padding:0 12px;border-radius:8px;border:1px solid var(--line-strong);font-size:12.5px;color:var(--teal)}
.tg-mb .tg-main{display:none}

/* сегменты и чипы */
.seg{display:flex;gap:4px;padding:3px;border-radius:10px;border:1px solid var(--line);background:rgba(10,29,48,.7);margin-bottom:12px}
.seg button{flex:1;height:32px;border-radius:8px;color:var(--muted);font-size:13px;font-weight:500}
.seg button.on{background:var(--teal);color:var(--teal-ink);font-weight:600;box-shadow:0 0 12px rgba(43,192,209,.35)}
.seg.sm button{height:28px;font-size:12px}
.chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 calc(var(--pad) * -1) 12px;padding:0 var(--pad)}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;height:30px;padding:0 12px;border-radius:8px;border:1px solid var(--line);color:var(--muted);font-size:12.5px;background:rgba(10,29,48,.7)}
.chip.on{border-color:var(--teal);color:var(--teal);background:rgba(43,192,209,.12)}

/* список инструментов (скринер) */
.tbl-h{display:grid;grid-template-columns:1.25fr 1fr .85fr 64px 22px;gap:6px;color:var(--dim);font-size:11px;padding:0 4px 6px}
.irow{display:grid;grid-template-columns:1.25fr 1fr .85fr 64px 22px;gap:6px;align-items:center;padding:10px 4px;border-top:1px solid rgba(43,192,209,.1);cursor:pointer}
.irow:active{background:rgba(43,192,209,.06)}
.irow .t{display:flex;align-items:center;gap:8px;font:500 13px var(--f-num);min-width:0}
.irow .t span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.irow .p,.irow .c{font:500 12.5px var(--f-num);white-space:nowrap}
.irow svg.spark{width:64px;height:22px}
.star{color:var(--dim);width:22px;height:22px;display:grid;place-items:center}
.star.on{color:var(--yellow)}
.star svg{width:16px;height:16px}
.coin{width:22px;height:22px;border-radius:50%;flex:none;display:grid;place-items:center;font:600 9px var(--f-text);color:var(--teal-ink);background:var(--teal)}
.why{grid-column:1/-1;font-size:11.5px;color:var(--teal);margin-top:-2px}
.why-txt{grid-column:1/-1;font-size:12px;color:var(--muted);background:rgba(43,192,209,.06);border-radius:8px;padding:8px;margin-top:2px}

/* плитки фактов */
.tile{display:flex;gap:10px;align-items:flex-start;padding:10px}
.tile .ic{width:32px;height:32px;border-radius:9px;border:1px solid var(--line);display:grid;place-items:center;color:var(--teal);flex:none}
.tile .ic svg{width:18px;height:18px}
.tile .k{font-size:11.5px;color:var(--muted)}
.tile .v{font-weight:600;font-size:13.5px;margin-top:1px;word-break:break-word}
.tile .w{font-size:11px;color:var(--dim);margin-top:2px}

/* уровни и плашки */
.lv{display:grid;grid-template-columns:1fr auto;gap:4px 10px;font-size:13px}
.lv .n{font:500 13px var(--f-num);text-align:right}
.lvrow{display:flex;justify-content:space-between;padding:7px 0;border-top:1px solid rgba(43,192,209,.1);font-size:13px}
.lvrow:first-child{border-top:0}
.pill{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:6px;font-size:11.5px;font-weight:600}
.pill.long{background:rgba(0,200,122,.16);color:var(--up);border:1px solid rgba(0,200,122,.5)}
.pill.short{background:rgba(255,59,59,.14);color:var(--down);border:1px solid rgba(255,59,59,.5)}
.pill.t{background:rgba(43,192,209,.14);color:var(--teal);border:1px solid var(--line-strong)}
.pill.g{background:rgba(255,255,255,.06);color:var(--muted);border:1px solid rgba(255,255,255,.12)}
.pill.y{background:rgba(255,229,0,.1);color:var(--yellow);border:1px solid rgba(255,229,0,.45)}

/* сценарии */
.scn{border-left:3px solid var(--teal)}
.scn.up{border-left-color:var(--up)}.scn.down{border-left-color:var(--down)}
.scn .h{font-weight:600;font-size:13.5px}
.scn p{font-size:12.5px;color:var(--muted);margin-top:3px}
.risk{display:flex;gap:10px;align-items:flex-start;font-size:12.5px;color:var(--muted)}
.risk svg{width:20px;height:20px;color:var(--down);flex:none}
.warn{display:flex;gap:8px;align-items:center;border:1px solid rgba(255,59,59,.5);background:rgba(255,59,59,.08);color:#ffb3b3;
  border-radius:10px;padding:9px 10px;font-size:12.5px;margin-top:10px}
.warn svg{width:18px;height:18px;flex:none;color:var(--down)}
.ok{border-color:rgba(0,200,122,.45);background:rgba(0,200,122,.07);color:#a8f0d0}
.ok svg{color:var(--up)}

/* формы */
.fld{display:block}
.fld>span{display:block;font-size:11.5px;color:var(--muted);margin-bottom:4px}
.inp{width:100%;height:40px;border-radius:9px;border:1px solid var(--line);background:rgba(4,16,28,.6);padding:0 10px;outline:0;
  font:500 14px var(--f-num);color:var(--text)}
.inp:focus{border-color:var(--teal)}
select.inp{font-family:var(--f-text);appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--teal) 50%),linear-gradient(135deg,var(--teal) 50%,transparent 50%);
  background-position:calc(100% - 16px) 17px,calc(100% - 11px) 17px;background-size:5px 5px;background-repeat:no-repeat}
textarea.inp{height:70px;padding:8px 10px;font-family:var(--f-text);resize:vertical}
.res{display:grid;grid-template-columns:1fr auto;gap:6px 10px;font-size:13px}
.res b{font:500 13.5px var(--f-num);text-align:right}

/* лента сделок */
.trow{display:grid;grid-template-columns:1.2fr .9fr .8fr 22px;gap:6px;align-items:center;padding:10px 2px;border-top:1px solid rgba(43,192,209,.1);font-size:13px}
.trow .t{display:flex;align-items:center;gap:8px;font:500 13px var(--f-num)}

/* пустые состояния и маскот */
.empty{display:flex;align-items:center;gap:14px;padding:14px}
.empty img{width:76px;height:auto;flex:none;filter:drop-shadow(0 0 14px rgba(43,192,209,.25))}
.empty .h{font:600 15px var(--f-head);text-transform:uppercase;letter-spacing:.03em}
.empty p{font-size:12.5px;color:var(--muted);margin-top:4px}

/* метка данных и дисклеймер */
.src{font-size:11px;color:var(--dim);margin-top:6px;display:flex;align-items:center;gap:4px}
.src svg{width:12px;height:12px}
.src.stale{color:var(--warn)}
.foot{font-size:11px;color:var(--dim);text-align:center;margin:16px 6px 0}
.pro{position:absolute;top:8px;right:8px}

/* «почему здесь» */
details.wh{margin-top:6px}
details.wh summary{list-style:none;color:var(--teal);font-size:12px;cursor:pointer}
details.wh summary::-webkit-details-marker{display:none}
details.wh p{font-size:12px;color:var(--muted);margin-top:4px}

/* нижняя навигация */
.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-template-columns:repeat(5,1fr);
  padding:6px 4px calc(var(--sab) + 6px);background:rgba(4,14,25,.96);border-top:1px solid var(--line);backdrop-filter:blur(10px)}
.nav a{display:flex;flex-direction:column;align-items:center;gap:3px;color:var(--dim);font-size:10.5px;padding-top:2px}
.nav a svg{width:22px;height:22px}
.nav a.on{color:var(--teal)}
.nav a.on svg{filter:drop-shadow(0 0 6px rgba(43,192,209,.6))}

/* шторка */
.sheet-bg{position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:40;display:flex;align-items:flex-end}
.sheet{width:100%;max-height:88vh;overflow:auto;background:var(--bg-2);border-top:1px solid var(--line-strong);border-radius:16px 16px 0 0;
  padding:14px var(--pad) calc(var(--sab) + 16px);animation:up .2s ease-out}
@keyframes up{from{transform:translateY(30px);opacity:.5}to{transform:none;opacity:1}}
.sheet .grab{width:40px;height:4px;border-radius:2px;background:var(--dim);margin:0 auto 12px}

/* скелетоны */
.sk{border-radius:10px;background:linear-gradient(90deg,rgba(43,192,209,.06),rgba(43,192,209,.13),rgba(43,192,209,.06));background-size:200% 100%;animation:sh 1.2s infinite}
@keyframes sh{to{background-position:-200% 0}}
.toast{position:fixed;left:50%;bottom:calc(var(--nav-h) + var(--sab) + 14px);transform:translateX(-50%);z-index:50;background:var(--card-2);
  border:1px solid var(--line-strong);border-radius:10px;padding:10px 14px;font-size:13px;box-shadow:var(--glow);max-width:90vw}

/* графики */
.chart{position:relative;width:100%;height:230px;margin-top:6px}
.chart canvas{width:100%;height:100%;display:block}
svg.line{width:100%;display:block}
.tfs{display:flex;gap:4px;justify-content:center;margin:10px 0 4px}
.tfs button{height:28px;min-width:42px;padding:0 8px;border-radius:7px;color:var(--muted);font:500 12px var(--f-num);border:1px solid transparent}
.tfs button.on{border-color:var(--teal);color:var(--teal);background:rgba(43,192,209,.1)}
.legend{display:flex;gap:14px;font-size:11.5px;color:var(--muted);margin-top:6px}
.legend i{display:inline-block;width:10px;height:3px;border-radius:2px;margin-right:5px;vertical-align:middle}

/* мини-таблицы */
.mt{width:100%;border-collapse:collapse;font-size:12.5px}
.mt th{color:var(--dim);font-weight:500;font-size:11px;text-align:right;padding:4px 2px}
.mt th:first-child,.mt td:first-child{text-align:left}
.mt td{padding:7px 2px;border-top:1px solid rgba(43,192,209,.1);text-align:right;font-family:var(--f-num);font-weight:500}
.mt td:first-child{font-family:var(--f-text);font-weight:400}
.scroll-x{overflow-x:auto}

.donut{display:grid;grid-template-columns:120px 1fr;gap:14px;align-items:center}
.donut ul{list-style:none;font-size:12.5px}
.donut li{display:flex;justify-content:space-between;gap:8px;padding:2px 0}
.donut li i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:6px}
