/* ============================================================================
   ai-sub.css — раздел «ИИ-сигналы»: шкура «Нейрон» поверх общего каркаса сайта.
   Каркас (бегущая строка, шапка, вкладки, герой, заголовки секций, карточки, сетка .sx-g) — общий
   со «Статистикой» (stats-sub.css, body.sx-page). Здесь только своё: фиолетовый «нейрон» (--ai-v),
   мятный — лонг/брать, коралловый — шорт/пропустить, янтарный — осторожно. Крупно и просто.
   ============================================================================ */
body.ai-page {
    --ai-v: #a78bfa; --ai-v2: #c4b5fd; --ai-deep: #1a1530;
    --ai-ok: #34d399; --ai-no: #fb7185; --ai-warn: #fbbf24; --ai-mute: #94a3b8;
    --ai-line: rgba(167, 139, 250, .3); --ai-wash: rgba(167, 139, 250, .08);
    --sx-a: #a78bfa; --sx-b: #34d399; --sx-c: #fb7185;
    --sx-a-wash: rgba(167, 139, 250, .08); --sx-b-wash: rgba(52, 211, 153, .08);
    --sx-a-line: rgba(167, 139, 250, .34); --sx-b-line: rgba(52, 211, 153, .3);
    --sx-tick: rgba(167, 139, 250, .28);
}
body.light.ai-page {
    --ai-v: #6d28d9; --ai-v2: #7c3aed; --ai-deep: #f4f0ff;
    --ai-ok: #047857; --ai-no: #be123c; --ai-warn: #b45309; --ai-mute: #64748b;
    --ai-line: rgba(109, 40, 217, .25); --ai-wash: rgba(109, 40, 217, .06);
    --sx-a: #6d28d9; --sx-b: #047857; --sx-c: #be123c;
    --sx-a-wash: rgba(109, 40, 217, .06); --sx-b-wash: rgba(4, 120, 87, .06);
    --sx-a-line: rgba(109, 40, 217, .28); --sx-b-line: rgba(4, 120, 87, .26); --sx-tick: rgba(109, 40, 217, .25);
}

/* ---------- шкура общих элементов ---------- */
.ai-page .kt-tabs a.on { background: var(--ai-v); color: #140f24; box-shadow: 0 0 14px rgba(167, 139, 250, .45); }
body.light.ai-page .kt-tabs a.on { color: #fff; box-shadow: none; }
.ai-page .page-content .hero .hero-sub { background: none; color: var(--ai-v); -webkit-text-fill-color: currentColor; }
/* номер секции — «нейрон»: кружок с ядром */
body.ai-page .cm-num { color: var(--ai-v2); background: radial-gradient(circle at 50% 40%, rgba(167, 139, 250, .25), var(--ai-deep) 70%); border: 1px solid var(--ai-line); border-radius: 50%; min-width: 38px; height: 38px; display: inline-grid; place-items: center; text-shadow: 0 0 10px rgba(167, 139, 250, .6); }
body.light.ai-page .cm-num { color: var(--ai-v); text-shadow: none; }
.ai-page .strip-title { font-size: 17px; }
.ai-page .strip-title i, .ai-page .strip-legend i, .ai-page .cm-verdict > i { color: var(--ai-v); }
.ai-page .strip-legend { font-size: 13px; }
/* линия под заголовком — «аксон»: фиолетовый импульс и точки-синапсы */
.ai-page .strip-head::after {
    background: linear-gradient(90deg, var(--ai-v), transparent) left bottom / 120px 2px no-repeat,
                radial-gradient(circle, var(--sx-tick) 1.5px, transparent 2px) bottom / 22px 6px repeat-x;
}
.ai-page .sx-card { background: linear-gradient(180deg, rgba(167, 139, 250, .04), transparent 45%), var(--mx-surface); border-color: var(--mx-line); padding: 16px 18px; }
.ai-page .sx-card::before { left: 22px; right: 22px; height: 1px; background: linear-gradient(90deg, transparent, var(--ai-v) 50%, transparent); -webkit-mask-image: none; mask-image: none; opacity: .8; }
body.light.ai-page .sx-card { background: var(--mx-surface); }
.ai-page .cm-verdict { font-size: 15px; line-height: 1.55; color: var(--text-color); opacity: .86; }
.ai-page .cm-next a:hover { border-color: var(--ai-line); background: var(--ai-wash); }
.ai-page .cm-next i { color: var(--ai-v); }
.ai-page .cm-next b { font-size: 14px; } .ai-page .cm-next span { font-size: 12.5px; }
.ai-page .sx-seg button.on { background: var(--ai-v); color: #140f24; }
body.light.ai-page .sx-seg button.on { color: #fff; }
.ai-page .up { color: var(--ai-ok); } .ai-page .down { color: var(--ai-no); }
.ai-page .cm-empty { font-size: 15px; }

/* ---------- деталь в шапке: «Журнал решений ИИ» ---------- */
.ai-hero-r { margin-left: auto; flex: 0 1 620px; min-width: 0; }
.ai-log { border: 1px solid var(--ai-line); border-radius: 16px; padding: 12px 16px 10px; background: radial-gradient(circle at 100% 0%, rgba(167, 139, 250, .14), transparent 60%), var(--mx-surface); }
.ai-log-h { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 6px; font: 600 12px var(--sx-f); letter-spacing: .14em; text-transform: uppercase; color: var(--text-secondary); }
.ai-log-h i { color: var(--ai-v); margin-right: 8px; }
.ai-log-h em { font-style: normal; letter-spacing: .04em; text-transform: none; font-size: 13px; color: var(--ai-v2); font-variant-numeric: tabular-nums; }
body.light .ai-log-h em { color: var(--ai-v); }
.ai-log-r { display: grid; grid-template-columns: 44px 56px 74px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 6px 0; border-top: 1px dashed var(--mx-line); color: inherit; text-decoration: none; font-size: 14px; }
.ai-log-r:hover { background: var(--ai-wash); }
.ai-log-r .t { color: var(--text-secondary); font-variant-numeric: tabular-nums; font-size: 13px; }
.ai-log-r > b { font: 700 15px var(--sx-f); }
.ai-log-r .n { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text-secondary); }
.ai-log-r .m { display: none; }
.ai-log-f { display: flex; justify-content: space-between; gap: 10px; margin-top: 6px; padding-top: 8px; border-top: 1px solid var(--mx-line); font-size: 12.5px; color: var(--text-secondary); }
.ai-log-empty { padding: 12px 0; font-size: 14px; color: var(--text-secondary); }
.ai-dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--ai-ok); box-shadow: 0 0 8px var(--ai-ok); margin-right: 7px; vertical-align: 1px; }
.ai-dot.off { background: var(--ai-no); box-shadow: none; }
.ai-dot.warn { background: var(--ai-warn); box-shadow: none; }

/* ---------- значки: направление, вердикт ---------- */
.ai-dir { display: inline-block; padding: 2px 9px; border-radius: 7px; font: 700 13px var(--sx-f); letter-spacing: .03em; white-space: nowrap; }
.ai-dir.long { color: var(--ai-ok); background: color-mix(in srgb, var(--ai-ok) 13%, transparent); }
.ai-dir.short { color: var(--ai-no); background: color-mix(in srgb, var(--ai-no) 13%, transparent); }
.ai-v { font: 700 13px var(--sx-f); white-space: nowrap; }
.ai-v.ok { color: var(--ai-ok); } .ai-v.no { color: var(--ai-no); } .ai-v.warn { color: var(--ai-warn); } .ai-v.wait { color: var(--ai-mute); }

/* ---------- карточка сигнала (крупно) ---------- */
.ai-sigs { display: grid; grid-template-columns: repeat(auto-fill, minmax(380px, 1fr)); gap: 16px; }
.ai-sig { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 18px 20px 16px; border: 1px solid var(--mx-line); border-radius: 16px; background: var(--mx-surface); scroll-margin-top: 90px; }
.ai-sig::before { content: ""; position: absolute; left: -1px; top: 18px; bottom: 18px; width: 4px; border-radius: 3px; background: var(--vc, var(--ai-mute)); }
.ai-sig.ok { --vc: var(--ai-ok); } .ai-sig.warn { --vc: var(--ai-warn); } .ai-sig.no { --vc: var(--ai-no); opacity: .82; } .ai-sig.wait { --vc: var(--ai-mute); }
.ai-sig.hl { box-shadow: 0 0 0 2px var(--ai-v); }
.ai-sig-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ai-sig-top h3 { margin: 0; font: 700 22px var(--sx-f); letter-spacing: .01em; }
.ai-sig-top h3 small { margin-left: 8px; font: 500 14px var(--sx-f); color: var(--text-secondary); }
.ai-sig-top .ai-dir { font-size: 15px; padding: 3px 11px; }
.ai-sig-v { margin-left: auto; text-align: right; line-height: 1.05; }
.ai-sig-v b { display: block; font: 700 21px var(--sx-f); color: var(--vc); text-transform: uppercase; letter-spacing: .03em; }
.ai-sig-v small { font-size: 12.5px; color: var(--text-secondary); }
.ai-sig-why { margin: 0; font-size: 16px; line-height: 1.5; }
.ai-sig-risk { margin: -4px 0 0; font-size: 14px; line-height: 1.45; color: var(--text-secondary); }
.ai-sig-risk i { color: var(--ai-warn); margin-right: 6px; }
.ai-sig-f { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; padding-top: 10px; border-top: 1px solid var(--mx-line); font-size: 13.5px; color: var(--text-secondary); }
.ai-sig-f b { color: var(--text-color); font-weight: 600; }
.ai-sig-f .ai-m { margin-left: auto; }
.ai-sig-now { font: 700 15px var(--sx-f); }
.ai-hist { font-size: 13.5px; } .ai-hist.good { color: var(--ai-ok); } .ai-hist.bad { color: var(--ai-no); } .ai-hist.few, .ai-hist.none { color: var(--ai-mute); }

/* шкала сделки: стоп — вход — цель */
.ai-track { display: flex; flex-direction: column; gap: 8px; }
.ai-tr-bar { position: relative; height: 10px; border-radius: 6px; background: var(--mx-line); }
.ai-tr-bar i { position: absolute; top: 0; bottom: 0; }
.ai-tr-loss { background: linear-gradient(90deg, color-mix(in srgb, var(--ai-no) 55%, transparent), color-mix(in srgb, var(--ai-no) 18%, transparent)); border-radius: 6px 0 0 6px; }
.ai-tr-win { background: linear-gradient(90deg, color-mix(in srgb, var(--ai-ok) 18%, transparent), color-mix(in srgb, var(--ai-ok) 55%, transparent)); border-radius: 0 6px 6px 0; }
.ai-track.rev .ai-tr-loss { background: linear-gradient(90deg, color-mix(in srgb, var(--ai-no) 18%, transparent), color-mix(in srgb, var(--ai-no) 55%, transparent)); border-radius: 0 6px 6px 0; }
.ai-track.rev .ai-tr-win { background: linear-gradient(90deg, color-mix(in srgb, var(--ai-ok) 55%, transparent), color-mix(in srgb, var(--ai-ok) 18%, transparent)); border-radius: 6px 0 0 6px; }
.ai-tr-ent { position: absolute; top: -4px; width: 2px; height: 18px; margin-left: -1px; background: var(--text-color); }
.ai-tr-now { position: absolute; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: var(--ai-v); border: 3px solid var(--mx-surface); box-shadow: 0 0 10px var(--ai-v); }
.ai-tr-lv { display: grid; grid-template-columns: 1fr 1.3fr 1fr; gap: 8px; }
.ai-tr-lv span { display: flex; flex-direction: column; }
.ai-tr-lv .m { align-items: center; } .ai-tr-lv .r { align-items: flex-end; }
.ai-track.rev .ai-tr-lv .l { order: 3; align-items: flex-end; } .ai-track.rev .ai-tr-lv .m { order: 2; } .ai-track.rev .ai-tr-lv .r { order: 1; align-items: flex-start; }
.ai-tr-lv small { font-size: 12px; color: var(--text-secondary); text-transform: uppercase; letter-spacing: .1em; }
.ai-tr-lv b { font: 700 18px var(--sx-f); font-variant-numeric: tabular-nums; }
.ai-tr-lv em { font-style: normal; font-size: 12.5px; color: var(--text-secondary); }
.ai-tr-lv .l b { color: var(--ai-no); } .ai-tr-lv .r b { color: var(--ai-ok); }

/* фильтры */
.ai-filters { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin-bottom: 14px; }
.ai-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.ai-chips button { padding: 6px 12px; border-radius: 9px; border: 1px solid var(--mx-line-strong); background: transparent; color: var(--text-color); font: 600 14px var(--sx-f); cursor: pointer; }
.ai-chips button.on { background: var(--ai-v); border-color: var(--ai-v); color: #140f24; }
body.light .ai-chips button.on { color: #fff; }
.ai-chips button em { font-style: normal; opacity: .65; margin-left: 5px; }

/* ---------- охотник за редким ---------- */
.ai-rare-sum { margin: 0 0 14px; font-size: 18px; line-height: 1.5; font-weight: 500; }
.ai-finds { display: flex; flex-direction: column; gap: 12px; }
.ai-find { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; padding: 14px 16px; border-radius: 14px; background: var(--ai-wash); border: 1px solid var(--ai-line); }
.ai-find-s { grid-row: span 4; display: flex; flex-direction: column; align-items: center; gap: 4px; min-width: 64px; }
.ai-find-s b { font: 700 16px var(--sx-f); color: var(--ai-v2); text-align: center; }
body.light .ai-find-s b { color: var(--ai-v); }
.ai-find-s span { letter-spacing: 2px; color: var(--ai-v); font-size: 13px; }
.ai-find h4 { margin: 0; font: 700 18px var(--sx-f); }
.ai-find .num { font: 600 14px var(--sx-f); color: var(--ai-v2); }
body.light .ai-find .num { color: var(--ai-v); }
.ai-find p { margin: 0; font-size: 15px; line-height: 1.5; }
.ai-find .w { font-size: 14px; color: var(--text-secondary); }
.ai-find .w i { color: var(--ai-v); margin-right: 6px; }
.ai-meta { margin-top: 12px; font-size: 13px; color: var(--text-secondary); display: flex; gap: 14px; flex-wrap: wrap; }
.ai-past { margin-top: 10px; display: flex; flex-direction: column; gap: 4px; font-size: 14px; }
.ai-past div { display: flex; gap: 10px; color: var(--text-secondary); } .ai-past b { color: var(--text-color); font-weight: 600; }

/* ---------- компас ---------- */
.ai-cmp-big { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.ai-cmp-big b { font: 700 48px/1 var(--mx-f-display, Unbounded); color: var(--cc, var(--text-color)); }
.ai-cmp-big span { font: 700 20px var(--sx-f); text-transform: uppercase; color: var(--cc); letter-spacing: .04em; }
.ai-scale { position: relative; height: 12px; margin: 16px 0 6px; border-radius: 7px; background: linear-gradient(90deg, var(--ai-no), var(--mx-line) 50%, var(--ai-ok)); }
.ai-scale b { position: absolute; top: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px; border-radius: 50%; background: var(--mx-surface); border: 4px solid var(--ai-v); }
.ai-scale-l { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--text-secondary); }
.ai-cmp-h { margin: 14px 0 6px; font: 700 18px var(--sx-f); }
.ai-cmp-t { margin: 0; font-size: 15.5px; line-height: 1.55; }
.ai-parts { display: grid; grid-template-columns: 70px 1fr 64px; gap: 6px 10px; align-items: center; margin-top: 14px; font-size: 14px; }
.ai-parts .bar { position: relative; height: 10px; background: var(--mx-line); border-radius: 5px; }
.ai-parts .bar i { position: absolute; top: 0; bottom: 0; border-radius: 5px; }
.ai-parts .bar::after { content: ""; position: absolute; left: 50%; top: -3px; bottom: -3px; width: 1px; background: var(--text-secondary); }
.ai-parts b { font: 600 14px var(--sx-f); } .ai-parts em { font-style: normal; text-align: right; font-variant-numeric: tabular-nums; }

/* ---------- необычное ---------- */
.ai-ans { display: flex; flex-direction: column; }
.ai-an { display: grid; grid-template-columns: 74px 1fr; gap: 4px 14px; padding: 12px 0; border-top: 1px dashed var(--mx-line); }
.ai-an:first-child { border-top: 0; padding-top: 2px; }
.ai-an-a { grid-row: span 3; display: flex; flex-direction: column; gap: 2px; }
.ai-an-a b { font: 700 17px var(--sx-f); } .ai-an-a small { font-size: 12.5px; color: var(--text-secondary); }
.ai-an h4 { margin: 0; font: 700 16px var(--sx-f); display: flex; gap: 8px; align-items: center; }
.ai-lvl { letter-spacing: 1px; font-size: 12px; color: var(--ai-warn); }
.ai-nums { display: flex; flex-wrap: wrap; gap: 6px; }
.ai-nums span { padding: 2px 8px; border-radius: 6px; background: var(--ai-wash); font: 600 13px var(--sx-f); }
.ai-nums span small { font-weight: 500; color: var(--text-secondary); margin-right: 4px; }
.ai-an p { margin: 0; font-size: 15px; line-height: 1.5; }
.ai-an p.wait { color: var(--text-secondary); font-size: 14px; }

/* ---------- закрытые сигналы ---------- */
.ai-closed { display: flex; flex-direction: column; }
.ai-cl { display: grid; grid-template-columns: 64px 92px minmax(0, 1fr) 96px; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px dashed var(--mx-line); font-size: 15px; }
.ai-cl:first-child { border-top: 0; }
.ai-cl > b { font: 700 16px var(--sx-f); }
.ai-cl .s { color: var(--text-secondary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ai-cl .r { text-align: right; font: 700 17px var(--sx-f); }
.ai-cl .r small { display: block; font: 500 12px var(--sx-f); color: var(--text-secondary); }
.ai-total { display: flex; gap: 22px; flex-wrap: wrap; margin-bottom: 10px; }
.ai-total div { display: flex; flex-direction: column; }
.ai-total b { font: 700 30px/1.1 var(--sx-f); } .ai-total small { font-size: 13px; color: var(--text-secondary); }

/* ---------- стратегии ---------- */
.ai-st { width: 100%; border-collapse: collapse; font-size: 15px; }
.ai-st th { text-align: left; font: 600 12.5px var(--sx-f); letter-spacing: .08em; text-transform: uppercase; color: var(--text-secondary); padding: 0 10px 8px; border-bottom: 1px solid var(--mx-line); white-space: nowrap; }
.ai-st td { padding: 10px; border-bottom: 1px dashed var(--mx-line); vertical-align: middle; }
.ai-st td.n { text-align: right; font: 600 16px var(--sx-f); font-variant-numeric: tabular-nums; white-space: nowrap; }
.ai-st th.n { text-align: right; }
.ai-st .nm b { display: block; font: 700 16px var(--sx-f); } .ai-st .nm small { color: var(--text-secondary); font-size: 13px; }
.ai-st .rbar { position: relative; width: 150px; height: 10px; background: var(--mx-line); border-radius: 5px; display: inline-block; vertical-align: middle; margin-left: 8px; }
.ai-st .rbar i { position: absolute; top: 0; bottom: 0; border-radius: 5px; }
.ai-st .rbar::after { content: ""; position: absolute; left: 50%; top: -3px; bottom: -3px; width: 1px; background: var(--text-secondary); }
.ai-st .best { font-size: 14px; color: var(--text-secondary); } .ai-st .best b { color: var(--text-color); }
.ai-st-wrap { overflow-x: auto; }

/* ---------- модели ---------- */
.ai-models { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.ai-mod { padding: 12px 14px; border: 1px solid var(--mx-line); border-radius: 12px; display: flex; flex-direction: column; gap: 4px; }
.ai-mod b { font: 700 16px var(--sx-f); } .ai-mod small { font-size: 13px; color: var(--text-secondary); }
.ai-mod .st { font-size: 14px; }

@media (max-width: 1100px) { .ai-hero-r { flex-basis: 100%; margin-left: 0; } }
@media (max-width: 700px) {
    .ai-sigs { grid-template-columns: 1fr; }
    .ai-log-r { grid-template-columns: 40px 50px 70px auto; } .ai-log-r .n { display: none; }
    .ai-cl { grid-template-columns: 56px 1fr 84px; } .ai-cl .s { display: none; }
    .ai-st .rbar { width: 70px; }
    .ai-cmp-big b { font-size: 38px; }
    .ai-page .strip-head { flex-wrap: wrap; } .ai-page .strip-legend { white-space: normal; min-width: 0; flex-basis: 100%; }
}

/* стратегии, придуманные моделями ИИ */
.ai-auth { display: inline-flex; align-items: center; gap: 5px; padding: 1px 8px; border-radius: 6px; background: var(--ai-wash); border: 1px solid var(--ai-line); color: var(--ai-v2); font: 600 12.5px var(--sx-f); white-space: nowrap; }
body.light .ai-auth { color: var(--ai-v); }
.ai-st tr.ai-row td { background: color-mix(in srgb, var(--ai-v) 5%, transparent); }

/* ---------- три ИИ-трейдера (signals.html) ---------- */
.tr-sw { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: 0; }
.tr-hero { display: grid; grid-template-columns: 1.3fr 1.2fr 1fr .8fr .8fr; gap: 12px; padding: 8px 0 6px; }
.tr-flt { margin-top: -4px; font-size: 14.5px; color: var(--text-secondary); } .tr-flt b { font: 700 16px var(--sx-f); color: var(--text-color); } .tr-flt b.up { color: var(--ai-ok); } .tr-flt b.down { color: var(--ai-no); }
.tr-hero div { display: flex; flex-direction: column; }
.tr-hero b { font: 700 22px/1.1 var(--sx-f); font-variant-numeric: tabular-nums; }
.tr-hero div:first-child b { font-size: 28px; }
.tr-hero small { font-size: 12.5px; color: var(--text-secondary); }
.tr-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 16px; }
.tr-card { position: relative; display: flex; flex-direction: column; gap: 10px; padding: 18px 20px 14px; border: 1px solid var(--mx-line); border-radius: 16px; background: radial-gradient(circle at 100% 0%, color-mix(in srgb, var(--tc) 14%, transparent), transparent 60%), var(--mx-surface); }
.tr-card::before { content: ""; position: absolute; left: -1px; top: 18px; bottom: 18px; width: 4px; border-radius: 3px; background: var(--tc); }
.tr-card header b { display: block; font: 700 21px var(--sx-f); color: var(--tc); }
body.light .tr-card header b { filter: brightness(.7); }
.tr-card header small { font-size: 13px; color: var(--text-secondary); }
.tr-eq { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.tr-eq b { font: 700 36px/1 var(--mx-f-display, Unbounded); font-variant-numeric: tabular-nums; }
.tr-eq span { font: 600 16px var(--sx-f); }
.tr-spark { width: 100%; height: 60px; display: block; }
.tr-spark path, .tr-big path { fill: none; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.tr-spark .base, .tr-big .base { stroke: var(--text-secondary); stroke-dasharray: 4 4; opacity: .5; vector-effect: non-scaling-stroke; }
.tr-spark-empty { height: 60px; display: grid; place-items: center; font-size: 13px; color: var(--text-secondary); border: 1px dashed var(--mx-line); border-radius: 10px; }
.tr-st { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.tr-st div { display: flex; flex-direction: column; padding: 8px 10px; border-radius: 10px; background: rgba(255, 255, 255, .03); }
body.light .tr-st div { background: rgba(0, 0, 0, .03); }
.tr-st b { font: 700 18px var(--sx-f); font-variant-numeric: tabular-nums; }
.tr-st small { font-size: 12px; color: var(--text-secondary); }
.tr-card footer { padding-top: 8px; border-top: 1px solid var(--mx-line); font-size: 13.5px; color: var(--text-secondary); }
.tr-opens { display: grid; grid-template-columns: repeat(auto-fill, minmax(460px, 1fr)); gap: 16px; }
.tr-open { position: relative; display: flex; flex-direction: column; gap: 12px; padding: 18px 20px 16px; border: 1px solid var(--mx-line); border-radius: 16px; background: var(--mx-surface); }
.tr-open::before { content: ""; position: absolute; left: -1px; top: 18px; bottom: 18px; width: 4px; border-radius: 3px; background: var(--tc); }
.tr-o-top { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.tr-o-top h3 { margin: 0; font: 700 22px var(--sx-f); }
.tr-o-top h3 small { margin-left: 8px; font: 500 14px var(--sx-f); color: var(--text-secondary); }
.tr-o-top .ai-dir { font-size: 15px; padding: 3px 11px; }
.tr-o-who { margin-left: auto; text-align: right; line-height: 1.15; }
.tr-o-who b { display: block; font: 700 16px var(--sx-f); color: var(--tc); }
.tr-o-who small { font-size: 12.5px; color: var(--text-secondary); }
.tr-chart { width: 100%; height: 230px; display: block; border-radius: 10px; background: rgba(255, 255, 255, .015); }
.tr-chart .w { stroke-width: 1; vector-effect: non-scaling-stroke; } .tr-chart .w.u { stroke: var(--ai-ok); } .tr-chart .w.d { stroke: var(--ai-no); }
.tr-chart .b.u { fill: var(--ai-ok); } .tr-chart .b.d { fill: var(--ai-no); }
.tr-chart .f { opacity: .45; }
.tr-chart .zone { fill: var(--ai-v); opacity: .06; }
.tr-chart .lv { stroke-width: 1.5; stroke-dasharray: 6 4; vector-effect: non-scaling-stroke; }
.tr-chart .lv.tg { stroke: var(--ai-ok); } .tr-chart .lv.sp { stroke: var(--ai-no); } .tr-chart .lv.en { stroke: var(--text-color); stroke-dasharray: none; opacity: .7; }
.tr-chart .lt { font: 600 12px var(--sx-f); } .tr-chart .lt.tg { fill: var(--ai-ok); } .tr-chart .lt.sp { fill: var(--ai-no); } .tr-chart .lt.en { fill: var(--text-color); }
.tr-chart .dot { fill: var(--ai-v); stroke: var(--mx-surface); stroke-width: 2; }
.tr-chart-l { display: flex; justify-content: space-between; margin-top: -6px; font-size: 12.5px; color: var(--text-secondary); }
.tr-big { width: 100%; height: auto; display: block; }
.tr-big .ax { font: 500 12px var(--sx-f); fill: var(--text-secondary); }
.tr-tab { margin-top: 12px; }
@media (max-width: 1100px) { .tr-cards { grid-template-columns: 1fr; } .tr-hero { grid-template-columns: 1fr 1fr; } }
@media (max-width: 700px) { .tr-opens { grid-template-columns: 1fr; } .tr-st { grid-template-columns: repeat(2, 1fr); } .tr-eq b { font-size: 30px; } }

/* лента решений ИИ каждые 30 минут */
.tr-feed { display: flex; flex-direction: column; gap: 14px; max-height: 760px; overflow-y: auto; padding-right: 4px; }
.tr-f-run { border: 1px solid var(--mx-line); border-radius: 12px; padding: 10px 12px; }
.tr-f-h { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.tr-f-h b { font: 700 18px var(--sx-f); } .tr-f-h span { color: var(--text-secondary); font-size: 14px; } .tr-f-h em { margin-left: auto; font-style: normal; font: 600 14px var(--sx-f); color: var(--ai-v2); }
body.light .tr-f-h em { color: var(--ai-v); }
.tr-f-row { display: grid; grid-template-columns: 110px repeat(var(--trn, 3), minmax(0, 1fr)); gap: 10px; padding: 7px 0; border-top: 1px dashed var(--mx-line); align-items: start; }
.tr-f-head { border-top: 0; padding: 0 0 2px; font: 600 12.5px var(--sx-f); color: var(--text-secondary); text-transform: uppercase; letter-spacing: .06em; }
.tr-f-m b { display: block; font: 700 15px var(--sx-f); } .tr-f-m small { color: var(--text-secondary); font-size: 12px; }
.tr-f-c { font-size: 14px; line-height: 1.35; } .tr-f-c small { display: block; color: var(--text-secondary); font-size: 13px; margin-top: 2px; }
.tr-f-c em { font-style: normal; color: var(--text-secondary); font-size: 13px; }
.tr-f-a { font: 700 14px var(--sx-f); } .tr-f-a.mut, .tr-f-c.mut { color: var(--ai-mute); }
@media (max-width: 800px) { .tr-f-row { grid-template-columns: 1fr; } .tr-f-head { display: none; } }

/* ---------- прогнозы-коридоры (ai-forecast.html) ---------- */
.fc-band { position: relative; height: 12px; border-radius: 7px; background: var(--mx-line); }
.fc-band i { position: absolute; top: 0; bottom: 0; }
.fc-b-in { background: linear-gradient(90deg, color-mix(in srgb, var(--ai-no) 40%, var(--ai-v)), var(--ai-v) 50%, color-mix(in srgb, var(--ai-ok) 40%, var(--ai-v))); opacity: .55; border-radius: 7px; }
.fc-b-mid { width: 2px; margin-left: -1px; background: var(--text-color); opacity: .5; }
.fc-b-px { position: absolute; top: 50%; width: 16px; height: 16px; margin: -8px 0 0 -8px; border-radius: 50%; background: var(--ai-v2); border: 3px solid var(--mx-surface); box-shadow: 0 0 8px var(--ai-v); }
.fc-b-px.out { background: var(--ai-warn); box-shadow: 0 0 8px var(--ai-warn); }
.fc-hr { display: grid; grid-template-columns: 64px minmax(0, 1fr) 128px; gap: 14px; align-items: center; padding: 8px 0; border-top: 1px dashed var(--mx-line); }
.fc-hr > b { font: 700 16px var(--sx-f); }
.fc-hr > span { font: 600 14px var(--sx-f); text-align: right; white-space: nowrap; }
.fc-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 14px; }
.fc-card { display: flex; flex-direction: column; gap: 10px; padding: 16px 18px 12px; border: 1px solid var(--mx-line); border-radius: 16px; background: radial-gradient(circle at 100% 0%, rgba(167, 139, 250, .1), transparent 55%), var(--mx-surface); }
.fc-card header { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.fc-card header b { font: 700 21px var(--sx-f); }
.fc-card header small { font-size: 13.5px; color: var(--text-secondary); }
.fc-card header em { margin-left: auto; font-style: normal; font-size: 12.5px; color: var(--ai-warn); }
.fc-now { display: flex; align-items: baseline; gap: 8px; }
.fc-now span { font-size: 13px; color: var(--text-secondary); }
.fc-now b { font: 700 26px/1 var(--mx-f-display, Unbounded); font-variant-numeric: tabular-nums; }
.fc-rng { display: flex; justify-content: space-between; gap: 8px; }
.fc-rng div { display: flex; flex-direction: column; } .fc-rng .r { align-items: flex-end; }
.fc-rng small { font-size: 12px; color: var(--text-secondary); }
.fc-rng b { font: 700 18px var(--sx-f); font-variant-numeric: tabular-nums; }
.fc-rng em { font-style: normal; font-size: 13px; color: var(--text-secondary); }
.fc-card footer { padding-top: 8px; border-top: 1px solid var(--mx-line); font-size: 13.5px; color: var(--text-secondary); }
.fc-card footer b { font-size: 15px; }
.fc-warn { color: var(--ai-warn); }
.fc-ck { display: grid; grid-template-columns: 70px minmax(0, 1fr) 54px 54px 58px; gap: 10px; align-items: center; padding: 7px 0; border-top: 1px dashed var(--mx-line); font: 600 15px var(--sx-f); font-variant-numeric: tabular-nums; }
.fc-ck > span:not(.fc-ck-bar) { text-align: right; }
.fc-ck-h { border-top: 0; font: 600 12.5px var(--sx-f); color: var(--text-secondary); text-transform: uppercase; letter-spacing: .06em; }
.fc-ck-h > span:nth-child(2) { text-align: left !important; }
.fc-ck-bar { position: relative; height: 22px; border-radius: 6px; background: var(--mx-line); }
.fc-ck-bar i { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: color-mix(in srgb, var(--ai-v) 55%, transparent); }
.fc-ck-bar i.bad { background: color-mix(in srgb, var(--ai-warn) 50%, transparent); }
.fc-ck-bar u { position: absolute; top: -3px; bottom: -3px; width: 2px; margin-left: -1px; background: var(--text-color); }
.fc-ck-bar em { position: absolute; left: 8px; top: 50%; transform: translateY(-50%); font-style: normal; font-size: 14px; }
.fc-note { margin: 12px 0 0; font-size: 15px; line-height: 1.55; }
.fc-wd { display: flex; flex-direction: column; gap: 4px; }
.fc-wr { display: grid; grid-template-columns: 62px minmax(0, 1fr) 58px 90px; gap: 10px; align-items: center; padding: 5px 0; }
.fc-wr > b { font: 700 15px var(--sx-f); }
.fc-wbar { height: 12px; border-radius: 6px; background: var(--mx-line); overflow: hidden; }
.fc-wbar i { display: block; height: 100%; border-radius: 6px; background: linear-gradient(90deg, var(--ai-v), var(--ai-v2)); }
.fc-wr em { font: 700 16px var(--sx-f); font-style: normal; text-align: right; font-variant-numeric: tabular-nums; }
.fc-wr small { font-size: 13px; color: var(--text-secondary); text-align: right; font-variant-numeric: tabular-nums; }
.fc-chart { position: relative; padding-right: 86px; }
.fc-svg { height: 320px; }
.fc-area { fill: var(--ai-v); opacity: .16; }
.fc-o { stroke: var(--mx-surface); stroke-width: 1.5; vector-effect: non-scaling-stroke; }
.fc-o.up { fill: var(--ai-ok); } .fc-o.dn { fill: var(--ai-no); }
.fc-yl { position: absolute; right: 0; top: 0; bottom: 0; width: 80px; }
.fc-yl span { position: absolute; right: 0; transform: translateY(-50%); font: 500 12.5px var(--sx-f); color: var(--text-secondary); font-variant-numeric: tabular-nums; }
.fc-xl { display: flex; justify-content: space-between; padding: 6px 86px 0 0; font-size: 12.5px; color: var(--text-secondary); }
.fc-ct { margin-top: 14px; }
.fc-st { font: 700 15px var(--sx-f); } .fc-st.ok { color: var(--ai-ok); } .fc-st.up { color: var(--ai-warn); } .fc-st.down { color: var(--ai-warn); }
.fc-wait { color: var(--text-secondary); }
@media (max-width: 700px) {
    .fc-cards { grid-template-columns: 1fr 1fr; gap: 10px; } .fc-card { padding: 12px; } .fc-now b { font-size: 20px; } .fc-rng b { font-size: 15px; }
    .fc-ck { grid-template-columns: 54px minmax(0, 1fr) 44px 44px; } .fc-ck > :nth-child(5) { display: none; }
    .fc-wr { grid-template-columns: 54px minmax(0, 1fr) 52px; } .fc-wr small { display: none; }
    .fc-hr { grid-template-columns: 52px minmax(0, 1fr) 104px; gap: 10px; } .fc-svg { height: 240px; }
    .fc-chart { padding-right: 70px; } .fc-yl { width: 66px; } .fc-xl { padding-right: 70px; }
}

/* живая цена на графике сделки */
.tr-chart .lv.now { stroke: var(--ai-v); stroke-width: 1.5; stroke-dasharray: 2 3; vector-effect: non-scaling-stroke; }
.tr-chart .lt.now { fill: var(--ai-v2); font-weight: 700; }
body.light .tr-chart .lt.now { fill: var(--ai-v); }
.tr-chart .nowdot { fill: var(--ai-v); stroke: var(--mx-surface); stroke-width: 2; animation: tr-pulse 1.6s ease-in-out infinite; }
.tr-chart .lv-bar { opacity: .85; stroke-dasharray: 2 2; }
@keyframes tr-pulse { 50% { opacity: .35; } }

/* 13.10: выбывший ИИ-трейдер — пометка в карточке */
.tr-off { display: inline-block; margin-left: 6px; padding: 1px 7px; border: 1px solid var(--mx-line-strong); border-radius: 999px; font-size: 12px; font-weight: 600; line-height: 1.4; font-style: normal; letter-spacing: 0; color: var(--text-secondary); vertical-align: middle; }
/* 13.10: PnL по дням */
.tr-days td small { display: block; font-size: 12px; color: var(--text-secondary); font-weight: 500; }
.tr-days td.tot { font-size: 15px; }
.tr-days tfoot td { border-top: 1px solid var(--mx-line-strong); padding-top: 10px; font-weight: 700; }
.tr-days th .tr-sw { margin-right: 5px; }
#trDays { overflow-x: auto; }
.tr-days td:first-child b { white-space: nowrap; }
@media (max-width: 600px) { .tr-days th, .tr-days td { padding-left: 6px; padding-right: 6px; } .tr-days td small { font-size: 11.5px; } .tr-days th { font-size: 11.5px; letter-spacing: .02em; } }

/* 13.10.2026: свой фон «Нейрона» вместо смеси голубого/оранжевого (от Статистики) и золотого сияния.
   Одна гамма: глубокий индиго + фиолетовый свет сверху + холодный бирюзовый снизу. */
body.ai-page:not(.light):not(.mx-black) { --bg-color: #08080f; --bg-gradient: none; background: #08080f; }
body.ai-page:not(.light)::before { background: radial-gradient(55% 45% at 85% 0%, rgba(139, 92, 246, .16), transparent 70%), radial-gradient(50% 50% at 0% 100%, rgba(34, 211, 238, .07), transparent 70%); }
body.ai-page .mx-aurora::before { background: radial-gradient(closest-side, rgba(139, 92, 246, .16), transparent); }
body.ai-page .mx-aurora::after { background: radial-gradient(closest-side, rgba(56, 189, 248, .09), transparent); }
body.ai-page:not(.light) .sx-card { background: linear-gradient(180deg, rgba(167, 139, 250, .05), transparent 45%), rgba(235, 230, 255, .028); border-color: rgba(167, 139, 250, .14); }
body.light.ai-page::before { background: radial-gradient(55% 45% at 85% 0%, rgba(109, 40, 217, .07), transparent 70%); }
body.light.ai-page .cm-num { color: #5b21b6; background: #f1ebff; border-color: rgba(109, 40, 217, .35); }   /* 13.10: номер блока был не виден на светлом */
