/* PrintProfit — мини-апп Telegram, ВИД v2.2 (окно s148, 2026-09-16). Источник — прототип стратега
   f1_sim/miniapp_tg/design/v2.2/printprofit-proto.html (CSS v2 «стекло» + theme_final = гамма E «Фисташка и антрацит»,
   подписи бронзой E2, шрифты K1; решения владельца 2026-09-16, B19 — DESIGN.md v2.2). Перенесено оттуда, не придумано;
   что отличается от прототипа — сказано у правила. Шрифты — локально (static/fonts, OFL), наружу страница не ходит.
   Никаких style="…" в разметке (CSP): только классы — высота полосок лесенки, положение бегунка, число сегментов — классами.
   Цвета темы Telegram (--tg-theme-*) не используются: у продукта своя тема; цвет шапки и фона Telegram выставляет app.js. */

/* ── шрифты K1 (вариативные woff2, подмножества по unicode-range; лицензии OFL — рядом с файлами; README_fonts.md — sha256) ── */
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 600 700; font-display: swap; src: url(/static/fonts/playfairdisplay-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 600 700; font-display: swap; src: url(/static/fonts/playfairdisplay-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 600 700; font-display: swap; src: url(/static/fonts/playfairdisplay-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/static/fonts/manrope-cyrillic-ext.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/static/fonts/manrope-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/static/fonts/manrope-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 400 800; font-display: swap; src: url(/static/fonts/manrope-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Unbounded"; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/static/fonts/unbounded-cyrillic-ext.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "Unbounded"; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/static/fonts/unbounded-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "Unbounded"; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/static/fonts/unbounded-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Unbounded"; font-style: normal; font-weight: 500 700; font-display: swap; src: url(/static/fonts/unbounded-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url(/static/fonts/jetbrainsmono-cyrillic-ext.woff2) format("woff2"); unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url(/static/fonts/jetbrainsmono-cyrillic.woff2) format("woff2"); unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url(/static/fonts/jetbrainsmono-latin-ext.woff2) format("woff2"); unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "JetBrains Mono"; font-style: normal; font-weight: 400 500; font-display: swap; src: url(/static/fonts/jetbrainsmono-latin.woff2) format("woff2"); unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }

/* ── палитра v2.2: гамма E «Фисташка и антрацит» + подписи бронзой E2 (theme_final.css; DESIGN.md v2.2 «Палитра») ──
   Правило трёх: фисташка — «нажми», бронза — «прочти», коралл — «за порогом». Всё остальное — серое стекло.
   Отличие от theme_final.css: там --amber/--gold оставались фисташковыми и лишь отдельные селекторы перекрашены в бронзу (E2);
   здесь --amber/--gold = бронза целиком — по таблице v2.2 замок «только просмотр», «на паузе», «порог не калиброван», хэш
   пломбы и средняя (BE) на графике относятся к бронзе. */
:root {
  --bg: #0D0E0F; --bg2: #17191B; --text: #EFEFEA; --text2: #AEB0A8; --text3: #767972; --dim: #3C3F3A;
  --acc: #B9CD91; --acc-dark: #8A9C64; --on-acc: #151A0B; --acc-soft-text: #DCE8C0;
  --acc-a10: rgba(185,205,145,0.10); --acc-a16: rgba(185,205,145,0.16); --acc-a30: rgba(185,205,145,0.32);
  --pos: #9FCB8E; --pos-text: #CFE8C2; --pos-a10: rgba(159,203,142,0.10); --pos-a16: rgba(159,203,142,0.16); --pos-a30: rgba(159,203,142,0.32);
  --bronze: #B99A6B; --bronze-text: #D9BE93; --bronze-a12: rgba(185,154,107,0.12); --bronze-a14: rgba(185,154,107,0.14); --bronze-a30: rgba(185,154,107,0.32);
  --amber: var(--bronze); --gold: var(--bronze); --amber-a12: var(--bronze-a12); --amber-a30: var(--bronze-a30); --amber-text: var(--bronze-text);
  --coral: #D98D82; --coral-a12: rgba(217,141,130,0.12); --coral-a30: rgba(217,141,130,0.30);
  --glass: rgba(255,255,255,0.045); --glass2: rgba(255,255,255,0.075); --hair: rgba(255,255,255,0.07); --hair2: rgba(255,255,255,0.11);
  --label-color: var(--bronze);
  --plot: #0E1011; --toast: rgba(28,30,32,0.96); --nav-bg: rgba(13,14,15,0.72); --top-bg: rgba(13,14,15,0.66);
  /* шрифты K1 (fonts_k1.css) */
  --brand: "Playfair Display", Georgia, serif;
  --disp: "Unbounded", "Arial Black", "Segoe UI", sans-serif;
  --sans: "Manrope", "Segoe UI", "Helvetica Neue", Arial, sans-serif;
  --mono: "JetBrains Mono", "Cascadia Mono", Consolas, monospace;
  --label: var(--sans);
  /* имена токенов s146, оставленные для перенесённых правил форм/входа/таблиц (значения — из палитры v2.2) */
  --card: rgba(28,30,32,0.55); --raise: var(--glass); --raise2: var(--glass2); --line: var(--hair); --line2: var(--hair2); --line3: var(--hair);
  --text4: var(--dim); --text5: var(--text2);
  --acc-soft: var(--acc-a10); --acc-line: var(--acc-a30); --acc-line2: var(--acc-a30); --acc-bg: var(--acc-a10);
  --amber-soft: var(--bronze-a12); --amber-line: var(--bronze-a30);
  --coral-soft: var(--coral-a12); --coral-line: var(--coral-a30); --ghost: var(--dim);
  --r-card: 20px; --r-big: 24px; --r-field: 14px; --r-chip: 8px; --pad: 16px;
}

/* ── сброс; [hidden] — ПЕРВОЙ строкой после сброса (лечение наложения в шапке, DESIGN.md v2 п. 1) ── */
* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; padding: 0; background: var(--bg); color: var(--text); min-height: 100%; }
body { font: 15px/1.45 var(--sans); -webkit-font-smoothing: antialiased; -webkit-tap-highlight-color: transparent; overscroll-behavior-y: contain; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; padding: 0; text-align: left; }
button:disabled { cursor: default; opacity: 0.55; }
button:focus-visible, .press:focus-visible { outline: 2px solid var(--acc); outline-offset: 2px; }
input, select { font: inherit; color: var(--text); }
a { color: var(--acc); text-decoration: none; }
small { display: block; font-size: 12px; color: var(--text3); font-weight: 400; line-height: 1.45; }
code { font-family: var(--mono); font-size: 12px; color: var(--text2); }
svg { display: block; }
h2 { font: 600 19px/1.25 var(--disp); margin: 0 0 8px; letter-spacing: -0.005em; }
h3 { font-size: 15px; font-weight: 600; margin: 0 0 10px; }
.disp { font-family: var(--disp); font-weight: 600; }
.mono { font-family: var(--mono); font-variant-numeric: tabular-nums; }
.num { font-variant-numeric: tabular-nums; }
.hint { font-size: 12px; line-height: 1.5; color: var(--text3); }
.muted { color: var(--text3); }
.acc { color: var(--pos-text); }
.amber { color: var(--bronze-text); }
.coral { color: var(--coral); }
.label { font-family: var(--label); text-transform: uppercase; letter-spacing: 0.10em; font-size: 10.5px; font-weight: 600; color: var(--label-color); }
.ico { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; flex: none; }
.ico.s { width: 16px; height: 16px; }
.ico.xs { width: 12px; height: 12px; stroke-width: 2.4; }

/* ── страница целиком: экран + «сияние» под стеклом ── */
.app { position: relative; width: 100%; max-width: 430px; min-height: 100vh; min-height: 100dvh; margin: 0 auto; display: flex; flex-direction: column;
  background: linear-gradient(180deg, var(--bg2) 0%, var(--bg) 60%); overflow: hidden; padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)); }
@media (min-width: 640px) { body { background: #050506; } .app { box-shadow: 0 0 0 1px rgba(255,255,255,0.06), 0 40px 120px -40px rgba(0,0,0,0.9); } }
.aurora { position: absolute; inset: 0; pointer-events: none; }
.aurora::before { content: ""; position: absolute; left: -120px; top: -160px; width: 620px; height: 520px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(185,205,145,0.12), rgba(185,205,145,0.03) 55%, transparent 75%); }
.aurora::after { content: ""; position: absolute; right: -200px; top: 420px; width: 520px; height: 520px; border-radius: 50%;
  background: radial-gradient(closest-side, rgba(138,154,166,0.08), transparent 70%); }

/* ── стекло ── */
.glass { background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)), rgba(28,30,32,0.55);
  -webkit-backdrop-filter: blur(22px) saturate(150%); backdrop-filter: blur(22px) saturate(150%);
  border: 1px solid var(--hair); box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 24px 48px -30px rgba(0,0,0,0.75); }

/* ── шапка 56: всегда знак + PAPER-пилюля (+ «назад»); заголовок экрана — в контенте (.h-large) ── */
.top { position: sticky; top: 0; z-index: 5; display: flex; align-items: center; gap: 8px; min-height: 56px; padding: env(safe-area-inset-top, 0px) 12px 0 16px;
  background: var(--top-bg); -webkit-backdrop-filter: blur(20px) saturate(140%); backdrop-filter: blur(20px) saturate(140%); border-bottom: 1px solid var(--hair); }
.top.has-back { padding-left: 4px; }
.back { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--text2); flex: none; }
.back .ico { width: 22px; height: 22px; stroke-width: 2; }
.brand { display: flex; align-items: center; gap: 10px; flex: 1; min-width: 0; }
.brand-name { font: 700 18px/1 var(--brand); letter-spacing: 0.005em; }
.logo { width: 28px; height: 28px; flex: none; }
.pill { display: flex; align-items: center; gap: 6px; height: 28px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--hair2); background: var(--glass); font-size: 11.5px; color: var(--text3); white-space: nowrap; flex: none; }
.pill i { width: 6px; height: 6px; border-radius: 999px; background: var(--pos); box-shadow: 0 0 8px var(--pos); }
.pill b { font-weight: 700; letter-spacing: 0.06em; color: var(--acc); }
.pill em { font-style: normal; }
.devbar { position: relative; z-index: 1; margin: 8px 16px 0; padding: 6px 10px; border-radius: 10px; font-size: 11px; line-height: 1.35; color: #1b1405; background: var(--bronze-text); font-weight: 600; }

.view { position: relative; flex: 1; display: flex; flex-direction: column; gap: 14px; padding: 14px 16px 8px; }
.loading { color: var(--text3); padding: 30px 0; text-align: center; }
.loading.small { padding: 12px 0; font-size: 13px; }
.empty-text { color: var(--text3); text-align: center; padding: 18px 0; font-size: 14px; }

/* ── нижнее меню 66 ── */
.nav { position: fixed; left: 50%; bottom: 0; transform: translateX(-50%); width: 100%; max-width: 430px; z-index: 6; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
  min-height: 66px; padding: 6px 8px calc(8px + env(safe-area-inset-bottom, 0px)); background: var(--nav-bg);
  -webkit-backdrop-filter: blur(20px) saturate(140%); backdrop-filter: blur(20px) saturate(140%); border-top: 1px solid var(--hair); }
.nav button { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; color: var(--text3); font-size: 11px; border-radius: 12px; }
.nav button .ico { width: 22px; height: 22px; transition: transform 200ms cubic-bezier(.2,.8,.2,1); }
.nav button.on { color: var(--acc); font-weight: 600; }
.nav button.on .ico { transform: translateY(-1px) scale(1.06); }
.nav button.on span { position: relative; }
.nav button.on span::after { content: ""; position: absolute; left: 50%; bottom: -7px; width: 4px; height: 4px; border-radius: 999px; background: var(--acc); transform: translateX(-50%); box-shadow: 0 0 8px var(--acc); }

/* ── тост ── */
.toast { position: fixed; left: 50%; bottom: calc(88px + env(safe-area-inset-bottom, 0px)); transform: translate(-50%, 12px); z-index: 30; width: calc(100% - 32px); max-width: 398px;
  padding: 10px 14px; border-radius: 12px; background: var(--toast); border: 1px solid var(--hair2); color: var(--text); font-size: 13px; line-height: 1.4;
  opacity: 0; pointer-events: none; transition: opacity 180ms ease, transform 220ms cubic-bezier(.2,.8,.2,1); }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* ── шторка (Sheet_v2) ── */
.sheet-wrap { position: fixed; inset: 0; z-index: 20; display: flex; align-items: flex-end; justify-content: center; background: rgba(3,6,5,0.6); opacity: 0; pointer-events: none;
  transition: opacity 220ms ease; -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.sheet-wrap.open { opacity: 1; pointer-events: auto; }
.sheet { width: 100%; max-width: 430px; max-height: 88vh; overflow-y: auto; display: flex; flex-direction: column; gap: 14px; padding: 10px 20px calc(24px + env(safe-area-inset-bottom, 0px)); border-radius: 26px 26px 0 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02)), rgba(20,22,24,0.96); border: 1px solid var(--hair); border-bottom: 0;
  transform: translateY(24px); transition: transform 280ms cubic-bezier(.2,.8,.2,1); }
.sheet-wrap.open .sheet { transform: none; }
.grab { align-self: center; width: 40px; height: 4px; border-radius: 999px; background: var(--hair2); flex: none; }
.sheet-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 4px; }
.sheet-h b { font: 600 19px/1.2 var(--disp); }
.sheet-x { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 999px; background: var(--glass2); color: var(--text2); flex: none; }
.sheet-row { display: flex; gap: 12px; padding: 12px 14px; border-radius: 14px; background: var(--glass); border: 1px solid var(--hair); }
.sheet-row .sq { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; flex: none; }
.sheet-row .sq.acc { background: var(--acc-a16); color: var(--acc); }
.sheet-row .sq.mid { background: var(--glass2); color: var(--text2); }
.sheet-row .sq.amb { background: var(--bronze-a14); color: var(--bronze-text); }
.sheet-row b { font-size: 14px; }
.sheet-row p { margin: 3px 0 0; font-size: 13px; line-height: 1.45; color: var(--text2); }
.sheet-row .src { margin-top: 4px; }

/* ── крупный заголовок внутренних экранов (вместо заголовка в шапке) ── */
.h-large { display: flex; flex-direction: column; gap: 3px; padding: 2px 2px 2px; }
.h-large b { font: 600 26px/1.15 var(--disp); letter-spacing: -0.01em; }
.h-large span { font-size: 13px; color: var(--text3); }

/* ── герой — баланс (Main_v2) ── */
.hero { position: relative; display: flex; flex-direction: column; align-items: center; gap: 16px; padding: 22px 18px 14px; border-radius: 24px; overflow: hidden; }
.hero::before { content: ""; position: absolute; left: 50%; top: -110px; width: 320px; height: 220px; transform: translateX(-50%); border-radius: 50%;
  background: radial-gradient(closest-side, rgba(185,205,145,0.14), transparent 72%); pointer-events: none; }
.hero-label { font-family: var(--label); text-transform: uppercase; letter-spacing: 0.12em; font-size: 10.5px; font-weight: 600; color: var(--label-color); text-align: center; }
.hero-value { position: relative; display: flex; align-items: baseline; gap: 8px; margin-top: -6px; }
.hero-value b { font: 700 44px/1.05 var(--disp); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; background: linear-gradient(180deg, #FFFFFF 0%, #E4E7D8 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; filter: drop-shadow(0 0 24px rgba(185,205,145,0.2)); }
.hero-value span { font-size: 15px; font-weight: 500; color: var(--text3); }
.hero-sub { position: relative; margin-top: -8px; font-size: 12px; color: var(--text3); text-align: center; }
.hero-sub b { font-family: var(--mono); font-weight: 500; color: var(--text2); font-variant-numeric: tabular-nums; }
.hero-info { position: absolute; right: 12px; top: 12px; display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 999px; background: var(--glass); border: 1px solid var(--hair); color: var(--text3); z-index: 1; }
.stats { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; width: 100%; }
.stat { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px 12px 11px; border-radius: 16px; background: var(--glass); border: 1px solid var(--hair); min-width: 0; }
.stat .sq { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 9px; }
.stat .sq.acc { background: var(--pos-a16); color: var(--pos); }
.stat .sq.mid { background: var(--glass2); color: var(--text2); }
.stat .sq.amb { background: var(--bronze-a14); color: var(--bronze-text); }
.stat b { font: 600 22px/1 var(--disp); font-variant-numeric: tabular-nums; }
.stat span { font-family: var(--label); text-transform: uppercase; letter-spacing: 0.08em; font-size: 9.5px; font-weight: 600; line-height: 1.25; color: var(--label-color); }
.hero-foot { position: relative; display: flex; align-items: center; gap: 8px; width: 100%; padding-top: 12px; border-top: 1px solid var(--hair); font-size: 12px; color: var(--text3); }
.hero-foot .ico { color: var(--bronze); }
.hero-foot span { flex: 1; min-width: 0; }
.hero-foot code { font-family: var(--mono); font-size: 11.5px; color: var(--label-color); }

/* ── переключатель с бегунком: число сегментов и положение бегунка — классами (CSP), не style="" ── */
.seg { position: relative; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 4px; border-radius: 14px; }
.seg.n2 { --n: 2; } .seg.n3 { --n: 3; } .seg.n4 { --n: 4; } .seg.n5 { --n: 5; }
.seg > button { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 1px; height: 36px; border-radius: 10px; color: var(--text2); font-size: 13.5px; text-align: center; min-width: 0; }
.seg > button.on { color: var(--text); font-weight: 600; }
.seg > button small { font-size: 11px; color: inherit; opacity: 0.75; }
.seg.tall > button { height: 48px; }
.seg .cnt { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 6px; margin-left: 6px; border-radius: 999px; background: rgba(255,255,255,0.06); color: var(--text3); font-size: 11.5px; font-weight: 600; font-variant-numeric: tabular-nums; }
.seg > button.on .cnt { background: var(--acc-a16); color: var(--acc); }
.seg .thumb { position: absolute; top: 4px; bottom: 4px; left: 4px; width: calc((100% - 8px - (var(--n, 3) - 1) * 4px) / var(--n, 3)); border-radius: 10px; background: var(--glass2);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.08); transition: transform 260ms cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.seg .thumb.at-0 { transform: translateX(0); }
.seg .thumb.at-1 { transform: translateX(calc(100% + 4px)); }
.seg .thumb.at-2 { transform: translateX(calc(200% + 8px)); }
.seg .thumb.at-3 { transform: translateX(calc(300% + 12px)); }
.seg .thumb.at-4 { transform: translateX(calc(400% + 16px)); }
.seg .thumb.hide { display: none; }
.seg.acc-on .thumb { background: var(--acc); box-shadow: 0 8px 20px -10px rgba(185,205,145,0.9); }
.seg.acc-on > button.on { color: var(--on-acc); }
.seg.wrap { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.seg.wrap .thumb { display: none; }
.seg.wrap > button.on { background: var(--glass2); }

/* ── заголовок списка + компактная кнопка ── */
.list-head { display: flex; align-items: center; justify-content: space-between; padding: 4px 2px 0; }
.list-head span { font-family: var(--label); text-transform: uppercase; letter-spacing: 0.12em; font-size: 10.5px; font-weight: 600; color: var(--label-color); }
.btn-add { display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px 0 10px; border-radius: 999px; background: var(--acc-a10); border: 1px solid var(--acc-a30); color: var(--acc); font-size: 13px; font-weight: 600; }

/* ── карточка бота ── */
.card { display: flex; flex-direction: column; gap: 12px; padding: 14px 16px 12px; border-radius: 20px; }
.card.deal { border-color: var(--pos-a30); box-shadow: inset 0 1px 0 rgba(255,255,255,0.06), 0 0 0 1px rgba(159,203,142,0.06), 0 30px 50px -34px rgba(159,203,142,0.45); }
.card.quiet { cursor: default; }
.card-head { display: flex; align-items: center; gap: 12px; width: 100%; }
.ava { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 13px; flex: none;
  background: linear-gradient(160deg, rgba(185,205,145,0.16), rgba(185,205,145,0.04)); border: 1px solid var(--acc-a30); color: var(--acc); font: 700 11px/1 var(--mono); letter-spacing: 0.02em; }
.ava.paper { background: var(--glass2); border-color: var(--hair2); color: var(--text2); }
.card-title { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; text-align: left; }
.card-title .name { font-size: 16px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.card-title .name.big { font: 600 20px/1.2 var(--disp); }
.card-title .sub { font-size: 12px; font-weight: 500; letter-spacing: 0.02em; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.st { display: flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px 0 9px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; flex: none; }
.st.deal { background: var(--pos-a16); border: 1px solid var(--pos-a30); color: var(--pos); }
.st.deal i { width: 6px; height: 6px; border-radius: 999px; background: var(--pos); box-shadow: 0 0 8px var(--pos); animation: pulse 2.4s ease-in-out infinite; }
.st.wait { background: var(--glass); border: 1px solid var(--hair2); color: var(--text2); }
.st.wait i { box-sizing: border-box; width: 7px; height: 7px; border-radius: 999px; border: 1.5px solid var(--text2); }
.st.pause { background: var(--bronze-a12); border: 1px solid var(--bronze-a30); color: var(--bronze-text); }
.tags { display: flex; flex-wrap: wrap; gap: 6px; }
.tag { display: flex; align-items: center; gap: 4px; height: 24px; padding: 0 8px; border-radius: 8px; font-size: 11.5px; color: var(--text2); background: var(--glass); border: 1px solid var(--hair); white-space: nowrap; }
.tag.long { background: var(--pos-a10); border-color: var(--pos-a30); color: var(--pos-text); font-weight: 600; }
.tag.fwd { background: var(--bronze-a12); border-color: var(--bronze-a30); color: var(--bronze-text); }
.tag.ok { background: var(--pos-a10); border-color: var(--pos-a30); color: var(--pos-text); font-weight: 600; }
.strip { display: grid; grid-template-columns: 1fr 1.28fr 1fr; border-radius: 14px; background: rgba(0,0,0,0.18); border: 1px solid var(--hair); overflow: hidden; }
.strip > div { display: flex; flex-direction: column; gap: 4px; padding: 10px 11px; min-width: 0; }
.strip > div + div { border-left: 1px solid var(--hair); }
.strip span { font-family: var(--label); text-transform: uppercase; letter-spacing: 0.08em; font-size: 10.5px; font-weight: 600; color: var(--label-color); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.strip b { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.strip b.mono { font-weight: 500; }
.lad { display: flex; align-items: flex-end; gap: 1.5px; height: 14px; flex: none; margin-right: 1px; }
.lad i { display: block; width: 2.5px; border-radius: 1px; background: var(--dim); height: 4px; }
.lad i.on { background: var(--pos); }
.lad i.lh-4 { height: 4px; } .lad i.lh-5 { height: 5px; } .lad i.lh-6 { height: 6px; } .lad i.lh-7 { height: 7px; } .lad i.lh-8 { height: 8px; } .lad i.lh-9 { height: 9px; }
.lad i.lh-10 { height: 10px; } .lad i.lh-11 { height: 11px; } .lad i.lh-12 { height: 12px; } .lad i.lh-13 { height: 13px; } .lad i.lh-14 { height: 14px; }
.acts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; padding-top: 2px; }
.act { display: flex; flex-direction: column; align-items: center; gap: 5px; font-size: 10.5px; color: var(--text3); }
.act .sq { display: flex; align-items: center; justify-content: center; width: 42px; height: 38px; border-radius: 12px; background: var(--glass); border: 1px solid var(--hair); color: var(--text2); }
.act.acc .sq { background: var(--acc-a10); border-color: var(--acc-a30); color: var(--acc); }
.act.acc { color: var(--acc); font-weight: 600; }
.act.amb .sq { background: var(--bronze-a12); border-color: var(--bronze-a30); color: var(--bronze-text); }
.act.cor .sq { background: var(--coral-a12); border-color: var(--coral-a30); color: var(--coral); }
.act.off { color: var(--dim); }
.act.off .sq { background: rgba(255,255,255,0.02); border-color: rgba(255,255,255,0.04); color: var(--dim); }

/* ── экран бота ── */
.bot-head { display: flex; align-items: center; gap: 12px; }
.bot-head .ava { width: 48px; height: 48px; border-radius: 15px; font-size: 12px; }
.bot-head .name { font: 600 20px/1.2 var(--disp); }
.iv { display: flex; gap: 6px; flex-wrap: wrap; }
.iv .chip { height: 30px; padding: 0 12px; font-size: 12.5px; }
.chart-wrap { padding: 12px 10px 8px; border-radius: 18px; display: flex; flex-direction: column; gap: 8px; }
.chart { width: 100%; height: auto; display: block; }
.chart .plot { fill: var(--plot); }
.chart .wick { stroke-width: 1; }
.chart .up { stroke: var(--pos); fill: var(--pos); }
.chart .dn { stroke: var(--coral); fill: var(--coral); }
.chart .lv { stroke: var(--acc); stroke-width: 1; }
.chart .lv-w { stroke: var(--dim); stroke-dasharray: 3 4; }
.chart .lv-f { stroke: var(--acc); stroke-width: 1.2; }
.chart .be { stroke: var(--bronze); stroke-width: 1; stroke-dasharray: 5 4; }
.chart .tp { stroke: var(--pos); stroke-width: 1.4; }
.chart .last { stroke: var(--text); stroke-width: 0.8; stroke-dasharray: 1 3; }
.chart .lt { fill: var(--text2); font-size: 9.5px; font-family: var(--mono); }
.chart .lt.w { fill: var(--text3); }
.chart .be-t { fill: var(--bronze); }
.chart .tp-t { fill: var(--pos); }
.chart .last-t { fill: var(--text); }
.chart .foot { fill: var(--text3); font-size: 10px; font-family: var(--sans); }
.chart-empty { padding: 26px 12px; text-align: center; color: var(--text3); font-size: 13px; background: var(--plot); border-radius: 10px; }
.legend { display: flex; flex-wrap: wrap; gap: 8px 14px; padding: 0 6px; font-size: 11.5px; color: var(--text3); }
.lg { display: inline-flex; align-items: center; gap: 6px; }
.lg::before { content: ""; display: inline-block; width: 14px; height: 0; border-top: 2px solid var(--acc); }
.lg-wait::before { border-top: 1px dashed var(--dim); }
.lg-be::before { border-top: 1.5px dashed var(--bronze); }
.lg-tp::before { border-color: var(--pos); }
.lg-last::before { border-top: 1px dotted var(--text); }
.tf { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.tf-coin { font-size: 12px; color: var(--text3); white-space: nowrap; }
.ladder-table { padding: 0; overflow: hidden; }
.ladder-table .panel-head { padding: 14px 16px 10px; }
.lv { display: grid; grid-template-columns: 28px minmax(0, 1fr) 64px 76px; align-items: center; gap: 8px; height: 34px; padding: 0 12px; border-top: 1px solid var(--hair); font-size: 13px; }
.lv.head { border-top: 0; height: 26px; font-family: var(--label); font-size: 10.5px; color: var(--label-color); text-transform: uppercase; letter-spacing: 0.08em; font-weight: 600; }
.lv.on { background: var(--pos-a10); }
.lv .r { text-align: right; }
.lv .st { display: block; height: auto; padding: 0; border-radius: 0; background: none; border: 0; text-align: right; color: var(--text3); font-weight: 400; }
.lv.on .st { color: var(--pos); font-weight: 600; }
.ladder-table .kvs { padding: 4px 16px 14px; }
.trade { display: grid; grid-template-columns: 40px 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 16px; }
.trade .sq { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--pos-a10); border: 1px solid var(--pos-a30); color: var(--pos); }
.trade .sq.open { background: var(--bronze-a12); border-color: var(--bronze-a30); color: var(--bronze-text); }
.trade .sq.bad { background: var(--coral-a12); border-color: var(--coral-a30); color: var(--coral); }
.trade .t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.trade .t b { font-size: 14px; font-weight: 600; }
.trade .t span { font-size: 12px; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.trade .r { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.trade .r b { font: 500 16px/1.1 var(--mono); font-variant-numeric: tabular-nums; color: var(--pos-text); white-space: nowrap; }
.trade .r b.open { color: var(--bronze-text); }
.trade .r b.neg { color: var(--coral); }
.trade .r b.plain { color: var(--text2); }
.trade .r span { font-size: 11.5px; color: var(--text3); }
.mini5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 1px; border-radius: 14px; overflow: hidden; background: var(--hair); border: 1px solid var(--hair); }
.mini5 > div { display: flex; flex-direction: column; gap: 3px; padding: 10px 6px 9px; background: rgba(13,14,15,0.85); align-items: center; text-align: center; min-width: 0; }
.mini5 b { font: 500 13px/1.1 var(--mono); font-variant-numeric: tabular-nums; }
.mini5 b.over { color: var(--coral); }
.mini5 span { font-size: 9.5px; line-height: 1.2; color: var(--text3); }
.sec-h { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.sec-h b { font-size: 15px; font-weight: 600; }
.sec-h h3 { margin: 0; }
.lock-note { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--text3); }
.lock-note .ico { color: var(--bronze); flex: none; }
.lock-note span { flex: 1; min-width: 0; }
.calib { display: flex; align-items: center; gap: 10px; padding: 11px 14px; border-radius: 14px; background: var(--bronze-a12); border: 1px solid var(--bronze-a30); color: var(--bronze-text); font-size: 12.5px; font-weight: 600; }
.calib .ico { color: var(--bronze); flex: none; }
.calib span { flex: 1; }
.calib small { display: block; font-weight: 400; color: var(--text3); font-size: 11.5px; }
.empty { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; min-height: 60vh; color: var(--text3); }
.empty .mark { width: 96px; height: 96px; opacity: 0.9; filter: drop-shadow(0 0 30px rgba(185,205,145,0.25)); }

/* ── бейджи и статусы ── */
.badge { display: inline-flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 6px; border: 1px solid var(--hair2); font-size: 9.5px; letter-spacing: 0.08em; color: var(--text3); white-space: nowrap; align-self: flex-start; font-weight: 600; }
.badge.small { height: 20px; padding: 0 7px; }
.status-badge { display: inline-flex; align-items: center; gap: 6px; height: 26px; padding: 0 10px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; }
.status-badge.ok { background: var(--pos-a16); border: 1px solid var(--pos-a30); color: var(--pos); }
.status-badge.run { background: var(--glass2); border: 1px solid var(--hair2); color: var(--text2); }
.status-badge.bad { background: var(--coral-a12); border: 1px solid var(--coral-a30); color: var(--coral); }
.status-badge.stub { background: var(--bronze-a12); border: 1px solid var(--bronze-a30); color: var(--bronze-text); }
.stub-big { font: 700 26px/1.2 var(--disp); letter-spacing: 0.06em; color: var(--bronze-text); text-align: center; padding: 4px 0; }

/* ── панели, заметки, пары «ключ — значение» (перенесены из s146, токены v2.2) ── */
.panel { display: flex; flex-direction: column; gap: 12px; padding: 16px; border-radius: 20px; }
.panel.tight { gap: 8px; }
.panel-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.panel-head h3 { margin: 0; }
.panel-head .hint { white-space: nowrap; }
.note { display: flex; align-items: flex-start; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--glass); border: 1px solid var(--hair); font-size: 13px; line-height: 1.5; color: var(--text2); }
.note .ico { color: var(--text3); margin-top: 2px; flex: none; }
.note span { flex: 1; min-width: 0; }
.note.warn { background: var(--bronze-a12); border-color: var(--bronze-a30); color: var(--bronze-text); }
.note.warn .ico { color: var(--bronze); }
.note.warn b { color: var(--bronze-text); letter-spacing: 0.03em; }
.note.bad { background: var(--coral-a12); border-color: var(--coral-a30); color: var(--text); }
.note.bad .ico { color: var(--coral); }
.note.inner { background: rgba(0,0,0,0.18); }
.note-line { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; font-size: 13px; color: var(--text2); width: 100%; }
.note-line .ico { color: var(--text3); flex: none; }
.note-line span { flex: 1; min-width: 0; }
.blocked { padding: 12px 14px; border-radius: 14px; background: var(--coral-a12); border: 1px solid var(--coral-a30); font-size: 13px; line-height: 1.5; }
.blocked b { display: block; color: var(--coral); margin-bottom: 4px; }
.blocked.soft { background: var(--bronze-a12); border-color: var(--bronze-a30); }
.blocked.soft b { color: var(--bronze-text); }
.src { font-size: 10.5px; color: var(--dim); line-height: 1.4; word-break: break-word; }
.kv { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid var(--hair); font-size: 13.5px; }
.kv:first-child { border-top: 0; }
.kv span { color: var(--text2); flex: 1 1 45%; }
.kv b { font-weight: 500; text-align: right; flex: 1 1 55%; font-family: var(--mono); font-variant-numeric: tabular-nums; word-break: break-word; }
.kv b small { display: block; font-family: var(--sans); text-align: right; }
.kvs { display: flex; flex-direction: column; }
.more { font-size: 13px; }
.more summary { color: var(--acc); cursor: pointer; padding: 6px 0; font-size: 12.5px; list-style: none; }
.more summary::-webkit-details-marker { display: none; }
.more summary::before { content: "▸ "; color: var(--text3); }
.more[open] summary::before { content: "▾ "; }
.more-h { font-family: var(--label); font-weight: 600; font-size: 10.5px; margin: 10px 0 2px; text-transform: uppercase; letter-spacing: 0.08em; color: var(--label-color); }
.journal div { font-size: 12.5px; padding: 6px 0; border-top: 1px solid var(--hair); line-height: 1.4; }
.journal div:first-child { border-top: 0; }
.journal span { color: var(--text3); font-family: var(--mono); font-size: 11px; margin-right: 6px; }
.divider { height: 1px; background: var(--hair); }
.fixed { display: flex; flex-direction: column; padding: 4px 12px; border-radius: 12px; background: rgba(0,0,0,0.18); }

/* ── пять показателей риска (единственное место, где рядом стоят прибыль и винрейт) ── */
.honest { display: flex; flex-direction: column; gap: 0; padding: 16px 16px 6px; border-radius: 20px; }
.honest-head { display: flex; flex-direction: column; gap: 8px; padding-bottom: 8px; }
.honest-head .row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.honest-head h3 { margin: 0; }
.honest-head .hint { white-space: nowrap; }
.risk { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid var(--hair); }
.risk .l { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.risk .l b { font-size: 14px; font-weight: 600; }
.risk .l span { font-size: 11.5px; color: var(--text3); line-height: 1.35; }
.risk .l span em { font-style: normal; }
.risk .v { font: 500 18px/1.1 var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; flex: none; }
.risk .v small { display: inline; font: 500 12px var(--sans); color: var(--text3); }
.risk.over .v, .risk .l span em.over { color: var(--coral); }
.risk .v.na { font-size: 13px; color: var(--text3); font-family: var(--sans); }
.honest .more { padding: 6px 0 8px; }
.profit { display: flex; flex-direction: column; gap: 10px; padding: 14px 0 10px; border-top: 1px solid var(--hair); }
.profit h3 { margin: 0; }
.tiles { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.tile { display: flex; flex-direction: column; gap: 4px; padding: 12px 12px 11px; border-radius: 14px; background: var(--glass); border: 1px solid var(--hair); min-width: 0; }
.tile span { font-size: 11.5px; color: var(--text3); }
.tile b { font: 600 18px/1.15 var(--disp); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tile b small { display: block; font: 400 11.5px/1.3 var(--sans); color: var(--text3); white-space: normal; }
.tile b.na { font: 500 14px/1.2 var(--sans); color: var(--text3); white-space: normal; }
.tile.wide { grid-column: span 2; }
.no-trades { font-size: 13px; color: var(--text2); padding: 10px 0; }
.annual { display: flex; flex-direction: column; gap: 4px; padding: 12px; border-radius: 14px; background: rgba(0,0,0,0.18); font-size: 14px; }
.annual b { font-weight: 600; }
.annual-why { padding: 2px 0; }
.selfcheck { display: flex; align-items: flex-start; gap: 8px; font-size: 12.5px; color: var(--text2); line-height: 1.45; }
.selfcheck .ico { color: var(--pos); width: 15px; height: 15px; stroke-width: 2.4; margin-top: 2px; }
.kbox { display: flex; flex-direction: column; gap: 10px; padding: 14px; border-radius: 16px; background: rgba(0,0,0,0.18); border: 1px solid var(--hair); }
.kbox .row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.kbox .row b { font-size: 14px; font-weight: 600; }
.kbox .big { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.kbox .big b { font: 600 24px/1.1 var(--disp); color: var(--pos-text); white-space: nowrap; font-variant-numeric: tabular-nums; }
.kbox .big span { font-size: 13px; color: var(--text2); }
.fmt { font-family: var(--mono); font-size: 10.5px; line-height: 1.4; background: rgba(0,0,0,0.18); padding: 10px; border-radius: 10px; overflow-x: auto; white-space: pre; max-height: 360px; color: var(--text2); margin: 0; }
.laws { font-size: 12.5px; padding-left: 18px; line-height: 1.5; margin: 0; color: var(--text2); }
.tablewrap { overflow-x: auto; }
.cmp { width: 100%; border-collapse: collapse; font-size: 12.5px; font-variant-numeric: tabular-nums; }
.cmp th { font-family: var(--label); font-size: 10px; text-transform: uppercase; letter-spacing: 0.06em; font-weight: 600; padding: 6px 5px; text-align: left; border-bottom: 1px solid var(--hair2); vertical-align: bottom; color: var(--label-color); }
.cmp th.author { color: var(--bronze-text); }
.cmp th.ours { color: var(--pos-text); }
.cmp td { padding: 8px 5px; border-bottom: 1px solid var(--hair); vertical-align: top; font-family: var(--mono); }
.cmp td:first-child { color: var(--text2); font-family: var(--sans); }
.cmp td small { font-size: 10.5px; margin-top: 2px; font-family: var(--sans); }
.legendline { display: flex; flex-direction: column; gap: 2px; font-size: 11px; }
.legendline .author { color: var(--bronze-text); }
.legendline .ours { color: var(--pos-text); }

/* ── пресеты (Presets_v2): карточка продавца бронзой, наш замер фисташкой ── */
.abox, .obox { display: flex; flex-direction: column; gap: 10px; padding: 12px 14px; border-radius: 14px; }
.abox { background: var(--bronze-a12); border: 1px solid var(--bronze-a30); }
.obox { background: var(--acc-a10); border: 1px solid var(--acc-a30); }
.abox .sec-h span:first-child { font-size: 12.5px; font-weight: 600; color: var(--bronze-text); }
.obox .sec-h span:first-child { font-size: 12.5px; font-weight: 600; color: var(--acc-soft-text); }
.mini3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.mini3 > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mini3 span { font-size: 11px; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini3 b { font: 500 15px/1.2 var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.mini3 b.na { font: 500 12px/1.3 var(--sans); color: var(--text3); white-space: normal; }
.cols2 { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 400px) { .cols2 { grid-template-columns: 1fr 1fr; } }
.col { display: flex; flex-direction: column; border-radius: 12px; padding: 10px 12px; background: rgba(0,0,0,0.18); border-top: 3px solid var(--hair2); }
.col .kv { font-size: 12.5px; padding: 7px 0; }
.col-cap { font-family: var(--label); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; margin-bottom: 4px; line-height: 1.3; }
.col.author { border-top-color: var(--bronze); }
.col.author .col-cap { color: var(--bronze-text); }
.col.ours { border-top-color: var(--acc); }
.col.ours .col-cap { color: var(--acc-soft-text); }
.preset-head { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.preset-head h2 { margin: 0 4px 0 0; }

/* ── кнопки, чипы ── */
.btn { display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; padding: 0 16px; border-radius: 16px; background: var(--acc); color: var(--on-acc); font-size: 15.5px; font-weight: 700; width: 100%;
  box-shadow: 0 16px 30px -18px rgba(185,205,145,0.8); }
.btn.primary { background: var(--acc); color: var(--on-acc); }
.btn.ghost, .btn.outline, .btn.quiet { background: var(--glass2); color: var(--text); border: 1px solid var(--hair2); box-shadow: none; min-height: 48px; font-size: 15px; font-weight: 600; }
.btn.outline { background: transparent; font-weight: 500; }
.btn.quiet { font-size: 14.5px; border-radius: 14px; font-weight: 500; color: var(--text2); }
.btn.danger { color: var(--coral); background: var(--coral-a12); border: 1px solid var(--coral-a30); box-shadow: none; }
.btn.sm { min-height: 40px; font-size: 13.5px; border-radius: 12px; }
.btn-row { display: flex; gap: 8px; }
.btn-row .btn { flex: 1; }
.link { display: inline; color: var(--acc); font-size: inherit; font-weight: 500; padding: 0; text-align: left; }
.link.block { display: block; padding: 8px 0; font-size: 13.5px; }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip { display: inline-flex; align-items: center; gap: 5px; height: 34px; padding: 0 13px; border-radius: 999px; background: var(--glass); border: 1px solid var(--hair2); font-size: 13.5px; color: var(--text2); white-space: nowrap; }
.chip.on { background: var(--acc); border-color: var(--acc); color: var(--on-acc); font-weight: 600; }
.chip.off, .chip.is-disabled { color: var(--dim); border-color: rgba(255,255,255,0.04); background: rgba(255,255,255,0.02); }
.chip.small { height: 24px; padding: 0 8px; border-radius: 8px; font-size: 11.5px; }
.chip.amber { background: var(--bronze-a12); border-color: var(--bronze-a30); color: var(--bronze-text); }

/* ── формы ── */
.field { display: flex; flex-direction: column; gap: 6px; }
.field.full { width: 100%; }
.field-l { font-size: 12.5px; color: var(--text3); }
.field input[type="text"], .field input[type="password"], .field input[type="date"], .field select {
  width: 100%; height: 50px; padding: 0 14px; border-radius: 14px; border: 1px solid var(--hair2); background: rgba(0,0,0,0.22); outline: none; font-size: 15px; color: var(--text); }
.field input.mono { font-family: var(--mono); }
.field input:focus { border-color: var(--acc-dark); box-shadow: 0 0 0 3px var(--acc-a10); }
.field input::placeholder { color: var(--dim); }
.field input[type="date"] { color-scheme: dark; font-family: var(--mono); font-size: 14px; }
.input-wrap { position: relative; display: flex; align-items: center; }
.input-wrap input { padding-right: 84px !important; }
.input-wrap .suffix { position: absolute; right: 14px; font-size: 12.5px; color: var(--text3); pointer-events: none; }
.row2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.radios { display: flex; flex-direction: column; gap: 8px; }
.radio { display: flex; flex-direction: column; gap: 3px; width: 100%; padding: 12px 14px; border-radius: 14px; border: 1px solid var(--hair2); background: rgba(0,0,0,0.18); }
.radio.on { border-color: var(--acc-dark); box-shadow: inset 0 0 0 1px var(--acc-dark); }
.radio-t { font-weight: 600; font-size: 14px; }
.radio-t em { font-style: normal; font-size: 11px; color: var(--acc); font-weight: 600; margin-left: 6px; }
.radio-x { font-size: 12.5px; color: var(--text3); line-height: 1.4; }
.toggle { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 10px 0; border-top: 1px solid var(--hair); }
.toggle:first-child { border-top: 0; }
.toggle-t { font-size: 14px; }
.toggle-t small { margin-top: 1px; }
.knob { flex: none; width: 44px; height: 26px; border-radius: 999px; background: var(--dim); position: relative; transition: background 160ms ease; }
.knob::after { content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--text2); transition: transform 200ms cubic-bezier(.2,.8,.2,1), background 160ms ease; }
.toggle.on .knob { background: var(--acc); }
.toggle.on .knob::after { transform: translateX(18px); background: var(--on-acc); }
.range { display: flex; align-items: center; gap: 10px; }
.range input { flex: 1; accent-color: var(--acc); }
.range b { font-variant-numeric: tabular-nums; min-width: 44px; text-align: right; font-family: var(--mono); font-weight: 500; }
.check { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; padding: 6px 0; line-height: 1.35; }
.check input { margin-top: 2px; accent-color: var(--acc); width: 17px; height: 17px; flex: none; }
.rule { display: flex; flex-direction: column; gap: 4px; padding: 12px 14px; border-radius: 14px; background: var(--acc-a10); border: 1px solid var(--acc-a30); }
.rule-t { font-family: var(--label); font-size: 11px; font-weight: 700; letter-spacing: 0.08em; color: var(--acc-soft-text); }
.rule-x { font-size: 14.5px; font-weight: 600; line-height: 1.35; }
.sub-item { display: flex; flex-direction: column; gap: 6px; padding: 12px 0; border-top: 1px solid var(--hair); }
.sub-item:first-child { border-top: 0; }
.sub-item.is-off { opacity: 0.6; }
.sub-head { display: flex; justify-content: space-between; align-items: center; }
.sub-head b { font-size: 15px; }

/* ── вход (пароль) ── */
.login { display: flex; flex-direction: column; align-items: stretch; min-height: calc(100vh - 56px - 32px); padding: 32px 8px 12px; }
.login-brand { display: flex; flex-direction: column; align-items: center; gap: 18px; padding: 24px 0 36px; }
.login-mark { width: 92px; height: 92px; border-radius: 28px; filter: drop-shadow(0 0 40px rgba(185,205,145,0.22)); }
.login-mark svg { width: 92px; height: 92px; }
.login-name { font: 700 30px/1.2 var(--brand); letter-spacing: 0.005em; }
.login-tag { font-family: var(--label); font-size: 10.5px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600; color: var(--label-color); text-align: center; }
.login-form { display: flex; flex-direction: column; gap: 12px; }
.login-prompt { font-size: 16px; line-height: 1.45; color: var(--text2); text-align: center; font-family: var(--sans); font-weight: 500; margin: 0; }
.pw-wrap { display: flex; align-items: center; gap: 12px; height: 54px; padding: 0 16px; border: 1px solid var(--hair2); border-radius: 16px; background: rgba(0,0,0,0.22); }
.pw-wrap:focus-within { border-color: var(--acc-dark); box-shadow: 0 0 0 3px var(--acc-a10); }
.pw-wrap .ico { color: var(--text3); }
.pw-wrap input { flex: 1; min-width: 0; height: 100%; background: transparent; border: 0; outline: none; font-size: 18px; letter-spacing: 0.12em; color: var(--text); }
.pw-wrap input::placeholder { letter-spacing: 0; font-size: 15px; color: var(--dim); }
.pw-eye { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; color: var(--text3); flex: none; }
.login .btn { min-height: 54px; }
.login-hint { font-size: 12.5px; line-height: 1.5; color: var(--text3); text-align: center; }
.login-foot { display: flex; flex-direction: column; gap: 10px; margin-top: auto; padding-top: 32px; }
.login-bot { font-size: 12px; color: var(--dim); text-align: center; padding-top: 12px; font-family: var(--mono); }
.login .blocked { text-align: left; }
.login-rules { font-size: 12.5px; line-height: 1.5; color: var(--text3); text-align: center; }

/* ── отказ ── */
.refusal { display: flex; flex-direction: column; gap: 12px; align-items: stretch; padding-top: 24px; }
.refusal h2 { text-align: center; font-size: 20px; }
.refusal .mark { align-self: center; width: 64px; height: 64px; border-radius: 20px; display: flex; align-items: center; justify-content: center; background: var(--coral-a12); border: 1px solid var(--coral-a30); color: var(--coral); }
.refusal .mark .ico { width: 28px; height: 28px; }

/* ── движение (v2.1): только transform/opacity, без библиотек; prefers-reduced-motion выключает всё ── */
@keyframes pulse { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: 0.55; transform: scale(0.8); } }
@keyframes rise { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }
@keyframes shimmer { from { background-position: 200% 0; } to { background-position: -200% 0; } }
.press, .act .sq, .btn, .btn-add, .seg > button, .chip, .nav button, .hero-info, .st, .toggle .knob, .sheet-x, .link { transition: transform 140ms cubic-bezier(.2,.8,.2,1), background-color 160ms ease, border-color 160ms ease, box-shadow 200ms ease, color 160ms ease; }
.act:active .sq, .btn:active, .btn-add:active, .chip:active, .hero-info:active, .sheet-x:active, .press:active { transform: scale(0.94); }
.act.acc:active .sq { box-shadow: 0 0 0 4px var(--acc-a16); }
.act.amb:active .sq { box-shadow: 0 0 0 4px var(--bronze-a12); }
.act.cor:active .sq { box-shadow: 0 0 0 4px var(--coral-a12); }
.btn.primary:active, .btn:active { box-shadow: 0 0 0 4px var(--acc-a16); }
.btn.danger:active { box-shadow: 0 0 0 4px var(--coral-a12); }
.btn.ghost:active, .btn.outline:active, .btn.quiet:active { box-shadow: 0 0 0 4px var(--hair2); }
.card { transition: transform 180ms cubic-bezier(.2,.8,.2,1), box-shadow 200ms ease, border-color 200ms ease; }
.card.press:active { transform: scale(0.992); }
.nav button:active { transform: translateY(1px) scale(0.96); }
.view.enter > * { animation: rise 420ms cubic-bezier(.2,.8,.2,1) both; }
.view.enter > *:nth-child(2) { animation-delay: 50ms; } .view.enter > *:nth-child(3) { animation-delay: 100ms; } .view.enter > *:nth-child(4) { animation-delay: 150ms; }
.view.enter > *:nth-child(5) { animation-delay: 200ms; } .view.enter > *:nth-child(6) { animation-delay: 250ms; } .view.enter > *:nth-child(7) { animation-delay: 300ms; }
.skeleton { background: linear-gradient(90deg, rgba(255,255,255,0.04) 25%, rgba(255,255,255,0.09) 50%, rgba(255,255,255,0.04) 75%); background-size: 200% 100%; animation: shimmer 1.4s linear infinite; border-radius: 10px; height: 14px; }
.skeleton.tall { height: 96px; }
.skeleton.w60 { width: 60%; } .skeleton.w40 { width: 40%; }
@media (hover: hover) { .btn:hover, .btn-add:hover, .chip:hover, .act:hover .sq { filter: brightness(1.06); } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation: none !important; transition: none !important; } }

/* ── [s164, выпуск 2] бэктест: «Мои прогоны» · карточка результата v2.3b · экран «Сравнение» (гамма E, раскладка E2, шрифты K1 — токены выше) ── */
.cap { font-family: var(--label); text-transform: uppercase; letter-spacing: 0.14em; font-size: 11px; font-weight: 700; color: var(--label-color); }
.cap.coral { color: var(--coral); }
.pos { color: var(--text); } .neg { color: var(--coral); }
.chips.static .chip { cursor: default; }
.runs { display: flex; flex-direction: column; gap: 8px; }
.runrow { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; padding: 12px 14px; border-radius: 16px; text-align: left; }
.runrow-t { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.runrow-t b { font: 600 15px/1.2 var(--disp); }
.runrow-t small { font-size: 12px; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.note.pre b { display: block; color: var(--bronze-text); }
.note.pre small, .note small { display: block; color: var(--text3); font-size: 12px; line-height: 1.45; margin-top: 2px; }

.rcard { display: flex; flex-direction: column; gap: 12px; padding: 18px 16px 16px; border-radius: var(--r-big); }
.rcard.burned { border: 1px solid var(--coral-a30); background: linear-gradient(180deg, var(--coral-a12), transparent 46%), var(--glass); }
.rcard-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.rcard-sym { font: 700 30px/1.05 var(--disp); letter-spacing: -0.01em; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.rcard-burn { display: flex; align-items: center; gap: 8px; padding: 10px 12px; border-radius: 12px; background: var(--coral-a12); border: 1px solid var(--coral-a30); color: var(--coral); font-size: 13.5px; letter-spacing: 0.04em; }
.rcard-res { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.rcard-res b { font: 700 46px/1 var(--disp); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.rcard-res span { font-size: 16px; color: var(--text3); }
.rcard-sub { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: 13.5px; color: var(--text3); }
.rcard-sub b { color: var(--text); font-weight: 600; }
.rcard-none { font-size: 13.5px; color: var(--text3); }
.rcard-chart { margin: 2px 0 0; }
.eqchart { display: block; width: 100%; height: 110px; }
.eqchart .line { fill: none; stroke: var(--acc); stroke-width: 2; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
.eqchart .area { fill: var(--acc-a10); stroke: none; }
.eqchart.burned .line { stroke: var(--coral); } .eqchart.burned .area { fill: var(--coral-a12); }
.eq-dates { display: flex; justify-content: space-between; font: 400 11px/1.4 var(--mono); color: var(--text3); padding-top: 2px; }
.eq-empty { padding: 18px 12px; }
.rtiles { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px; }
/* [s174, выпуск 3] карточка как у автора: график цены с отметками закрытий, плашка вердикта, плитки как у автора */
.pxchart { width: 100%; height: 130px; display: block; }
.pxchart .line { fill: none; stroke: var(--acc); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.pxchart.burned .line { stroke: var(--coral); }
.pxchart .mk { fill: var(--pos); stroke: #0D0E0F; stroke-width: 0.8; }
.pxchart .mk.liq { fill: var(--coral); }
.pxchart .mk.stop { fill: var(--bronze); }
.verdict { margin-top: 6px; font: 600 13px/1.3 var(--sans); }
.verdict.pos { color: var(--pos-text); }
.verdict.neg { color: var(--coral); }
.acard .tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rtile { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 2px 10px; border-radius: 16px; background: var(--glass); border: 1px solid var(--hair2); min-width: 0; text-align: center; }
.rtile b { font: 600 15px/1.1 var(--disp); color: var(--acc-soft-text); font-variant-numeric: tabular-nums; white-space: nowrap; }
.rtile b small { display: inline; font: 500 10px/1 var(--sans); color: var(--text3); margin-left: 1px; }
.rtile span { font-family: var(--label); font-size: 8.5px; line-height: 1.25; letter-spacing: 0.06em; font-weight: 700; color: var(--label-color); text-transform: uppercase; hyphens: manual; }
.rtile.over { border-color: var(--coral-a30); background: var(--coral-a12); } .rtile.over b { color: var(--coral); }
.rcard-open { font-size: 13px; color: var(--text3); }
.rrows { padding: 2px 16px; }
.rrow { border-bottom: 1px solid var(--hair); }
.rrow:last-child { border-bottom: 0; }
.rrow summary { display: flex; align-items: center; gap: 10px; padding: 16px 0; font-size: 15px; color: var(--text2); cursor: pointer; list-style: none; }
.rrow summary::-webkit-details-marker { display: none; }
.rrow summary span { flex: 1; min-width: 0; }
.rrow summary b { color: var(--text); font-weight: 600; font-size: 14px; }
.rrow summary .ico { color: var(--text3); flex: none; transition: transform 160ms ease; }
.rrow[open] summary .ico { transform: rotate(90deg); }
.rrow-body { display: flex; flex-direction: column; gap: 10px; padding: 0 0 16px; }
.savedcard { display: block; width: 100%; height: auto; border-radius: 16px; border: 1px solid var(--hair2); }

.crows { display: flex; flex-direction: column; gap: 10px; }
.crow { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; width: 100%; padding: 14px; border-radius: var(--r-card); text-align: left; }
.crow.burned { border: 1px solid var(--coral-a30); }
.crow-id { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.crow-id b { font: 600 17px/1.15 var(--disp); }
.crow-id span { font-size: 12.5px; color: var(--text3); }
.crow-risk, .crow-res { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 6px 8px; align-items: end; padding-top: 8px; border-top: 1px solid var(--hair); }
.crow-res { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.crow-risk .cap, .crow-res .cap { grid-column: 1 / -1; font-size: 9.5px; }
.crow-res .cap { color: var(--text3); }
.ccell { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.ccell small { font-size: 10px; color: var(--text3); line-height: 1.2; }
.ccell b { font-size: 12.5px; font-weight: 600; color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ccell.coral b { color: var(--coral); }
.crow-lock { grid-column: 1 / -1; display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--bronze-text); }
.selection-line { margin-top: 6px; position: sticky; bottom: calc(76px + env(safe-area-inset-bottom, 0px)); z-index: 3; padding: 11px 14px; border-radius: 14px; background: var(--toast); border: 1px solid var(--bronze-a30);
  color: var(--bronze-text); font-size: 12.5px; line-height: 1.4; text-align: center; }
@media (min-width: 640px) {
  /* широкий экран: строка сравнения в один ряд — слева что считали, затем РИСК, затем РЕЗУЛЬТАТ; на узком блок риска идёт первым, результат — второй строкой */
  .crow { grid-template-columns: minmax(0, 1.1fr) minmax(0, 2.2fr) minmax(0, 1.3fr); align-items: start; }
  .crow-risk, .crow-res { border-top: 0; padding-top: 0; border-left: 1px solid var(--hair); padding-left: 12px; }
}

/* [s174, часть 4] сравнение точек входа: две колонки одной пары настроек */
.pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pcol { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 12px; border-radius: var(--r-card); background: var(--glass); border: 1px solid var(--hair); }
.pcol-head { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.pcol-res { display: flex; flex-direction: column; gap: 2px; }
.pcol-res b { font: 700 22px/1.1 var(--disp); font-variant-numeric: tabular-nums; }
.pcol-res b.neg { color: var(--coral); }
.pcol-res span { font-size: 12px; color: var(--text2); }
.pcol .kv { font-size: 11.5px; padding: 6px 0; }
.prisk { display: flex; flex-direction: column; gap: 4px; }
.prisk-row { display: flex; justify-content: space-between; gap: 6px; font-size: 11.5px; }
.prisk-row span { color: var(--text3); }
.prisk-row b { font-variant-numeric: tabular-nums; color: var(--acc-soft-text); white-space: nowrap; }
.prisk-row.over b { color: var(--coral); }

/* ══════════ [s184, 2026-09-23] ВИД ПО УТВЕРЖДЁННЫМ МАКЕТАМ (ТЗ_ВИД_МИНИАПП_финал, ТЗ_ВИД_БЭКТЕСТА_финал; макеты — Claude outputs\макеты\*_2026-09-23.html).
   Гамма прежняя v2.2: антрацит · фисташка #B9CD91 · бронза подписей #B99A6B; кислотный лайм отклонён. Стекло тихое: полупрозрачные карточки, светлая кромка
   сверху (inset 0 1px белый 18 %), blur 24 px, без свечений. Правила ниже переопределяют прежние (каскад), прежние не удалены. ══════════ */
.glass { -webkit-backdrop-filter: blur(24px) saturate(140%); backdrop-filter: blur(24px) saturate(140%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.18), 0 14px 34px -18px rgba(0,0,0,0.6); }
.hero-value b { filter: none; }
.nav button.on span::after { box-shadow: none; }
.pill i, .st.deal i { box-shadow: none; }
/* фон: тёмный градиент + еле заметная сеть узлов-линий (как за роботом на аватаре) */
.aurora .net { position: absolute; left: 0; top: 0; width: 100%; height: 100%; opacity: 0.16; }
.aurora .net line { stroke: #AEB0A8; stroke-width: 0.8; }
.aurora .net circle { fill: #AEB0A8; }
/* шапка: аватар 34 px в круге + «PrintProfit»; справа RU/EN и «обновить» */
.ava-top { width: 34px; height: 34px; border-radius: 50%; object-fit: cover; flex: none; box-shadow: 0 0 0 1px rgba(255,255,255,0.14), 0 6px 16px rgba(0,0,0,0.5); }
.brand-name { font: 700 17px/1 var(--disp); letter-spacing: -0.01em; }
.top-acts { display: flex; gap: 8px; flex: none; }
.hb { display: flex; align-items: center; justify-content: center; gap: 2px; height: 34px; min-width: 34px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--hair2);
  background: rgba(255,255,255,0.04); font: 700 12px/1 var(--sans); color: var(--text3); }
.hb b { color: var(--text); font-weight: 700; }
.hb .ico { color: var(--text2); }
/* заголовки экранов: «‹ Заголовок», по центру, строка «Заголовок + кнопка» */
.h-back { display: flex; align-items: center; gap: 8px; min-height: 40px; }
.h-back b { font: 700 22px/1.15 var(--disp); letter-spacing: -0.01em; flex: 1; min-width: 0; }
.hback { display: flex; align-items: center; justify-content: center; width: 32px; height: 32px; margin-left: -6px; color: var(--text2); flex: none; }
.h-center { text-align: center; padding: 4px 0 2px; }
.h-center b { font: 700 26px/1.15 var(--disp); letter-spacing: -0.01em; }
.h-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.h1 { font: 700 26px/1.15 var(--disp); letter-spacing: -0.01em; }
.hbtn { display: flex; align-items: center; gap: 6px; height: 34px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--hair2); background: rgba(255,255,255,0.03);
  font: 600 13px/1 var(--sans); color: var(--text2); white-space: nowrap; flex: none; }
.hbtn .ico { width: 15px; height: 15px; }
/* общий баланс (вариант В): $ крупно, три плитки дохода, счётчики строкой */
.balance { display: flex; flex-direction: column; gap: 14px; padding: 18px 16px 16px; border-radius: 24px; }
.bal-h { display: flex; align-items: center; gap: 10px; font: 700 12px/1 var(--label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--bronze); }
.bal-h .ico { color: var(--bronze); }
.bal-v { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; }
.bal-v b { font: 700 40px/1.05 var(--disp); letter-spacing: -0.02em; font-variant-numeric: tabular-nums; background: linear-gradient(180deg, #FFFFFF 0%, #E4E7D8 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; white-space: nowrap; }
.bal-v span { font-size: 15px; font-weight: 500; color: var(--text3); }
.inc3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.inc { display: flex; flex-direction: column; align-items: center; gap: 6px; padding: 12px 4px 10px; border-radius: 16px; background: rgba(0,0,0,0.22); border: 1px solid var(--hair); min-width: 0; }
.inc b { font: 500 16px/1.1 var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; color: var(--text); }
.inc b.pos { color: var(--pos); } .inc b.neg { color: var(--coral); } .inc b.na { color: var(--text3); }
.inc span { font: 700 9.5px/1.2 var(--label); letter-spacing: 0.1em; text-transform: uppercase; color: var(--bronze); text-align: center; }
.bal-line { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; padding-top: 12px; border-top: 1px solid var(--hair); font-size: 13.5px; color: var(--text2); }
.bal-line b { font: 600 15px/1 var(--mono); color: var(--text); }
.bal-line .dot { width: 7px; height: 7px; border-radius: 50%; background: var(--dim); margin-left: 8px; }
.bal-line .dot:first-child { margin-left: 0; }
.bal-line .dot.on { background: var(--acc); }
.btn-sub { min-height: 48px; font-size: 15px; }
/* фильтры — стеклянные пилюли со счётчиками */
.flt { display: flex; gap: 8px; flex-wrap: wrap; }
.f { display: flex; align-items: center; gap: 7px; height: 36px; padding: 0 13px; border-radius: 999px; border: 1px solid var(--hair); background: rgba(255,255,255,0.03);
  font: 600 13.5px/1 var(--sans); color: var(--text2); }
.f em { font: 700 11px/1 var(--mono); font-style: normal; color: var(--text3); background: rgba(255,255,255,0.06); border-radius: 999px; padding: 3px 7px; }
.f.on { background: var(--acc-a16); border-color: var(--acc-a30); color: var(--acc-soft-text); }
.f.on em { background: var(--acc); color: var(--on-acc); }
/* карточка бота: круг монеты · имя · пара · теги · статус; четыре кнопки-значка справа */
.bot3 { gap: 10px; padding: 13px 14px 12px; }
.card-row { display: flex; align-items: flex-start; gap: 8px; }
.card-row .card-head { flex: 1; min-width: 0; align-items: flex-start; }
.coin-c { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; flex: none;
  background: radial-gradient(circle at 35% 30%, #3A3F43, #141719); border: 1px solid rgba(255,255,255,0.12); color: var(--acc-soft-text); font: 700 10px/1 var(--disp); }
.coin-c.paper { color: var(--text2); }
.coin-c.sm { width: 30px; height: 30px; font-size: 11px; }
.card-title .sub.mono { font-family: var(--mono); font-size: 12px; letter-spacing: 0; }
.card-title .tags { margin-top: 4px; }
.bot3 .tag { height: 20px; font-size: 10px; font-weight: 700; letter-spacing: 0.06em; border-radius: 7px; padding: 0 7px; }
.acts4 { display: flex; justify-content: flex-end; gap: 8px; }
.acts4 .act .sq { width: 44px; height: 40px; }
.acts4 .act .lbl { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.act { position: relative; }
/* экран бота («шторка» настроек): шапка, плитки, вкладки */
.bsheet { display: flex; flex-direction: column; gap: 12px; padding: 14px 14px 0; border-radius: 24px; }
.bot-head { display: flex; align-items: center; gap: 12px; }
.bot-head .name { font: 700 18px/1.2 var(--sans); }
.kv3s { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.kv3 { display: flex; flex-direction: column; gap: 3px; padding: 8px 10px; border-radius: 12px; background: rgba(0,0,0,0.22); border: 1px solid var(--hair); min-width: 0; }
.kv3 span { font: 700 9.5px/1.2 var(--label); letter-spacing: 0.1em; text-transform: uppercase; color: var(--bronze); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kv3 b { font: 500 14px/1.2 var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.kv3.neg b { color: var(--coral); } .kv3.pos b { color: var(--pos); }
.tabs { display: flex; gap: 18px; border-top: 1px solid var(--hair); margin: 0 -14px; padding: 0 14px; }
.tab { padding: 11px 2px 10px; font: 700 14px/1 var(--sans); color: var(--text3); border-bottom: 2px solid transparent; }
.tab.on { color: var(--text); border-bottom-color: var(--acc); }
/* блоки форм макета: подпись бронзой капителью, поле внутри */
.box { display: flex; flex-direction: column; gap: 8px; padding: 12px 14px; border-radius: 20px; min-width: 0; }
.lbl { font: 700 10px/1.2 var(--label); letter-spacing: 0.14em; text-transform: uppercase; color: var(--bronze); }
.box .row { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.two { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.seg3 { display: flex; gap: 4px; padding: 4px; border-radius: 16px; background: rgba(0,0,0,0.3); border: 1px solid var(--hair); }
.seg3 > button { flex: 1.35; min-width: 0; height: 42px; border-radius: 12px; font: 700 13px/1 var(--sans); color: var(--text2); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 4px; }
.seg3 > button.pro, .seg3 > button[data-val="pro"] { flex: 0.7; letter-spacing: 0.06em; }
.seg3 > button.on { background: var(--acc); color: var(--on-acc); }
.seg3 > button.is-disabled { color: var(--dim); }
.sw { position: relative; flex: none; width: 44px; height: 26px; border-radius: 999px; background: #35383A; }
.sw .kn { position: absolute; top: 3px; left: 3px; width: 20px; height: 20px; border-radius: 50%; background: var(--text2); transition: transform 200ms cubic-bezier(.2,.8,.2,1); }
.sw.on { background: var(--acc); }
.sw.on .kn { transform: translateX(18px); background: var(--on-acc); }
.lockv { display: inline-flex; align-items: center; gap: 6px; font: 500 15px/1 var(--mono); color: var(--text2); }
.lockv .ico { opacity: 0.7; }
.pillsel, .sel { appearance: none; -webkit-appearance: none; color: var(--text); background: rgba(255,255,255,0.05); border: 1px solid var(--hair2); border-radius: 10px; outline: none; }
.pillsel { height: 34px; padding: 0 10px; font: 500 15px/1 var(--mono); min-width: 0; }
.sel { width: 100%; height: 48px; padding: 0 14px; border-radius: 14px; font: 600 15px/1 var(--sans); background: rgba(0,0,0,0.22); }
.pillsel option, .sel option { background: #1F2123; color: var(--text); }
.numin { display: flex; align-items: baseline; gap: 6px; }
.numin input { flex: 1; min-width: 0; width: 100%; background: transparent; border: 0; outline: none; padding: 0; font: 500 20px/1.2 var(--mono); color: var(--text); }
.numin.big input { font-size: 20px; }
.numin span { font: 500 13px/1 var(--sans); color: var(--text3); flex: none; }
.lim { margin-top: -2px; }
.auto-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 12px; border-radius: 14px; background: rgba(255,255,255,0.04); border: 1px solid var(--hair2); font: 700 15px/1 var(--sans); }
.cgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.cc { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 9px 12px; border-radius: 14px; background: rgba(0,0,0,0.22); border: 1px solid var(--hair); font-size: 14px; min-width: 0; }
.cc.on { border-color: var(--acc-a30); background: var(--acc-a10); }
.cc.dim, .cc.is-disabled { opacity: 0.45; }
.acts2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.acts2 .btn { min-height: 46px; }
.acts2 .act { flex-direction: row; justify-content: center; min-height: 46px; border-radius: 14px; border: 1px solid rgba(255,255,255,0.04); }
.acts2 .act .sq { width: auto; height: auto; background: none; border: 0; }
.del-link { align-self: center; padding: 6px 12px; font: 600 12.5px/1 var(--sans); color: var(--coral); text-align: center; }
.act.del-link { color: var(--dim); }
/* живой график: TF-кнопки, контейнер Lightweight Charts, легенда */
.chart-card { display: flex; flex-direction: column; gap: 10px; padding: 12px; border-radius: 20px; }
.tfb { height: 28px; padding: 0 10px; border-radius: 9px; border: 1px solid var(--hair); font: 700 12px/1 var(--sans); color: var(--text3); }
.tfb.on { color: var(--acc-soft-text); border-color: var(--acc-a30); background: var(--acc-a10); }
.tf-live { font-size: 11px; color: var(--text3); white-space: nowrap; }
.lwc { position: relative; width: 100%; height: 240px; }
.legend .lg-tp::before { border-top: 1px dashed var(--pos); }
/* субаккаунт: поля, чипы-требования, строка-ссылка */
.tin { width: 100%; height: 50px; padding: 0 14px; border-radius: 14px; border: 1px solid var(--hair2); background: rgba(0,0,0,0.22); outline: none; font: 600 15px/1 var(--sans); color: var(--text); }
.tin.bare { height: 30px; padding: 0; border: 0; background: transparent; font-family: var(--mono); font-size: 15px; }
.sec-in { display: flex; align-items: center; gap: 8px; height: 52px; padding: 0 8px 0 14px; border-radius: 14px; border: 1px solid var(--hair2); background: rgba(0,0,0,0.22); }
.sec-in input { flex: 1; min-width: 0; background: transparent; border: 0; outline: none; font: 500 14.5px/1 var(--mono); color: var(--text); }
.sec-in input::placeholder, .tin::placeholder { color: var(--text3); }
.req { display: flex; flex-wrap: wrap; gap: 6px; padding-top: 4px; }
.rq { display: inline-flex; align-items: center; gap: 5px; height: 30px; padding: 0 10px; border-radius: 999px; border: 1px solid var(--hair); background: rgba(255,255,255,0.03); font: 600 11.5px/1 var(--sans); color: var(--text2); }
.rq b { color: var(--text2); font-weight: 700; }
.rq.on { border-color: var(--acc-a30); background: var(--acc-a10); }
.rq.on b { color: var(--acc-soft-text); }
.rq .ico { width: 12px; height: 12px; color: var(--acc); }
.lnk { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: 100%; padding: 13px 14px; border-radius: 14px; border: 1px solid var(--hair); background: rgba(255,255,255,0.03); font: 600 14px/1.2 var(--sans); }
.lnk .ico { color: var(--text3); }
.subs { gap: 0; padding: 4px 14px; }
.sub-row { display: flex; align-items: center; gap: 10px; padding: 10px 0; border-top: 1px solid var(--hair); }
.sub-row:first-child { border-top: 0; }
.sub-row b { flex: 1; min-width: 0; font-size: 14.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sub-row .mono { font-size: 13px; color: var(--text3); }
.steps { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--text2); }
/* пресеты — три карточки */
.pc { position: relative; display: flex; flex-direction: column; gap: 6px; padding: 18px; border-radius: 24px; overflow: hidden; }
.pc.rec { border-color: var(--acc-a30); background: linear-gradient(180deg, rgba(185,205,145,0.12), rgba(255,255,255,0.02)), rgba(26,28,30,0.55); }
.pc-t { font: 700 20px/1.2 var(--disp); letter-spacing: -0.01em; padding-right: 116px; }
.pc-d { font-size: 13.5px; color: var(--text2); line-height: 1.4; }
.pc-from { margin-top: 6px; font: 500 15px/1 var(--mono); }
.pc-from span { font: 700 10px/1 var(--label); letter-spacing: 0.12em; text-transform: uppercase; color: var(--bronze); margin-right: 8px; }
.pc .btn { margin-top: 8px; min-height: 46px; font-size: 14.5px; }
.rec-tag { position: absolute; top: 18px; right: 16px; font: 800 9.5px/1 var(--sans); letter-spacing: 0.14em; color: var(--on-acc); background: var(--acc); border-radius: 999px; padding: 5px 9px; }
/* бэктест: форма */
.bt-form { display: flex; flex-direction: column; gap: 12px; }
.coin-sel { position: relative; display: flex; align-items: center; gap: 10px; min-height: 34px; }
.coin-sel b { font: 500 17px/1 var(--mono); }
.coin-sel .muted { font-size: 13px; }
.coin-sel b.per { font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.chev { width: 9px; height: 9px; border-right: 2px solid var(--text2); border-bottom: 2px solid var(--text2); transform: rotate(45deg); margin: -4px 6px 0 auto; flex: none; }
.over-sel { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; font-size: 16px; }
.pchips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.pc2 { height: 36px; border-radius: 10px; font: 700 13px/1 var(--sans); color: var(--text2); background: rgba(255,255,255,0.04); border: 1px solid var(--hair); text-align: center; white-space: nowrap; }
.pc2.on { background: var(--acc-a16); color: var(--acc-soft-text); border-color: var(--acc-a30); }
.pc2.is-disabled { color: var(--dim); }
.dates-line { font: 600 13px/1 var(--mono); color: var(--acc-soft-text); padding-top: 4px; }
.gfs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.gf { display: flex; flex-direction: column; gap: 2px; padding: 7px 11px; border-radius: 12px; background: rgba(0,0,0,0.22); border: 1px solid var(--hair); min-width: 0; }
.gf i { font: 600 10.5px/1.2 var(--sans); font-style: normal; color: var(--text3); }
.fin { width: 100%; min-width: 0; background: transparent; border: 0; outline: none; padding: 0; font: 500 16px/1.3 var(--mono); color: var(--text); }
.fees { display: flex; align-items: center; justify-content: space-between; gap: 8px; font: 600 13px/1 var(--sans); color: var(--text2); }
.fees .mono { display: flex; align-items: center; gap: 4px; color: var(--text3); }
.fees .fin { width: 42px; font-size: 13px; text-align: right; }
/* свой период: шторка-календарь */
.dts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.dt { display: flex; flex-direction: column; gap: 3px; padding: 9px 12px; border-radius: 14px; border: 1px solid var(--hair2); background: rgba(255,255,255,0.03); }
.dt.on { border-color: var(--acc-dark); background: var(--acc-a10); }
.dt i { font: 700 10px/1 var(--label); letter-spacing: 0.12em; font-style: normal; text-transform: uppercase; color: var(--bronze); }
.dt b { font-size: 16px; font-weight: 500; }
.mhead { display: flex; align-items: center; justify-content: space-between; font: 700 15px/1 var(--sans); }
.mhead button { width: 36px; height: 32px; font-size: 20px; color: var(--text2); text-align: center; }
.cal { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); row-gap: 4px; text-align: center; }
.cal .w { font: 600 11px/1 var(--sans); color: var(--text3); padding: 4px 0; }
.cal .d { display: flex; align-items: center; justify-content: center; height: 34px; font: 500 14px/1 var(--mono); color: var(--text); border-radius: 0; text-align: center; }
.cal .x { color: var(--dim); }
.cal .in { background: var(--acc-a10); }
.cal .e { background: var(--acc); color: var(--on-acc); border-radius: 10px; font-weight: 700; }
.quick { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.quick button { height: 34px; border-radius: 10px; border: 1px solid var(--hair); font: 600 12px/1 var(--sans); color: var(--text2); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* бэктест: результат */
.res-h { font: 600 13px/1.3 var(--mono); color: var(--text2); }
.rcard .rcard-res b { font-size: 34px; background: linear-gradient(180deg, #FFFFFF, #E4E7D8); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rcard .rcard-res b.neg { background: none; color: var(--coral); }
.rcard .rcard-res span { width: 100%; font-size: 16px; font-weight: 600; color: var(--pos); }
.rcard.burned .rcard-res span { color: var(--coral); }
.eqchart .ddot { fill: var(--coral); }
.t6s { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.t6 { display: flex; flex-direction: column; gap: 5px; padding: 10px; border-radius: 14px; background: rgba(0,0,0,0.22); border: 1px solid var(--hair); min-width: 0; }
.t6 i { font: 700 9px/1.2 var(--label); letter-spacing: 0.04em; font-style: normal; text-transform: uppercase; color: var(--bronze); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.t6 b { font: 500 16px/1.15 var(--mono); font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.t6.neg b { color: var(--coral); } .t6.ok b { color: var(--pos); }
.r5 summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 4px 0; list-style: none; cursor: pointer; }
.r5 summary::-webkit-details-marker { display: none; }
.r5 summary .cap { font-size: 10px; }
.r5[open] summary .ico { transform: rotate(90deg); }
.r5 .rtiles { margin-top: 8px; }
.rset, .more-all { padding: 4px 16px; border-radius: 20px; }
.rset summary, .more-all summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 12px 0; list-style: none; cursor: pointer; font-size: 15px; color: var(--text2); }
.rset summary b { color: var(--text); font-weight: 700; }
.rset summary::-webkit-details-marker, .more-all summary::-webkit-details-marker { display: none; }
.rset[open] summary .ico, .more-all[open] > summary .ico { transform: rotate(90deg); }
.more-all .rrows { padding: 0; }
.kv2c { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 14px; }
.kv2c div { display: flex; justify-content: space-between; gap: 6px; padding: 7px 0; border-bottom: 1px solid var(--hair); font-size: 12.5px; color: var(--text2); min-width: 0; }
.kv2c b { font: 500 13px/1.2 var(--mono); color: var(--text); white-space: nowrap; }
.rset .kv { font-size: 12.5px; }
.opt3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.opt3 button { display: flex; flex-direction: column; align-items: center; gap: 6px; font: 600 12px/1.2 var(--sans); color: var(--text2); text-align: center; }
.opt3 button span { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 18px; background: rgba(255,255,255,0.06); border: 1px solid var(--hair2); color: var(--text); }
/* вход: аватар в круге 196 px с мягкой тенью; «Забыли пароль?» тихой строкой */
.ava-login { width: 196px; height: 196px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1.5px rgba(255,255,255,0.16), 0 0 0 10px rgba(185,205,145,0.06), 0 30px 70px rgba(0,0,0,0.65); }
.login-brand { gap: 0; padding: 20px 0 34px; }
.login-name { font: 700 30px/1.2 var(--disp); letter-spacing: -0.01em; margin-top: 26px; }
.login-tag { margin-top: 8px; font-size: 11px; letter-spacing: 0.24em; font-weight: 700; color: var(--bronze); }
.login-forgot { align-self: center; font-size: 13px; color: var(--text3); padding: 10px 0; text-align: center; }
.login-foot { align-items: center; }
.link.quiet { color: var(--text3); }
/* о продукте: аватар, имя, чип форварда, строка «Что здесь считается» */
.ava-big { width: 160px; height: 160px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1.5px rgba(255,255,255,0.14), 0 24px 60px rgba(0,0,0,0.6); }
.about-name { font: 700 24px/1.2 var(--disp); color: var(--text); }
.attr { font-size: 11px; color: var(--dim); }
/* узкие экраны (360 px): плотнее, без наложений */
@media (max-width: 374px) {
  .view { padding-left: 12px; padding-right: 12px; }
  .bal-v b { font-size: 34px; }
  .seg3 > button { font-size: 12px; }
  .inc b { font-size: 14px; }
  .kv3 b, .t6 b { font-size: 13.5px; }
  .pc-t { font-size: 18px; }
  .acts4 { gap: 6px; }
  .acts4 .act .sq { width: 40px; }
  .quick button { font-size: 11px; }
  .h1 { font-size: 22px; }
  .t6 i { white-space: normal; }
  .tf .iv { gap: 4px; }
}

/* ── [s187-а, 2026-09-24 — макет «Ожидание»] экран «Считается»: аватар в тихом ореоле, дуга вращается (≈3 с/оборот), полоска бежит (≈1.8 с),
   свечение визора дышит (≈2.5 с); только transform/opacity; prefers-reduced-motion выключает всё (общее правило выше + своё ниже) ── */
/* [s189-а] только section: голое .wait цепляло пилюлю статуса span.st.wait (столбик, padding 26px, overflow hidden → «—» сверху, обрезанное «ждёт сигнал») */
section.wait { display: flex; flex-direction: column; align-items: center; text-align: center; padding: 26px 16px 18px; overflow: hidden; }
.halo { position: relative; width: 210px; height: 210px; margin-top: 8px; border-radius: 50%; display: grid; place-items: center;
  background: radial-gradient(closest-side, rgba(185,205,145,0.22), rgba(185,205,145,0.06) 60%, transparent 72%); }
.halo::before { content: ""; position: absolute; inset: 14px; border-radius: 50%; border: 1px solid rgba(185,205,145,0.22); }
.halo-arc { position: absolute; inset: 14px; border-radius: 50%; border: 1.5px solid transparent; border-top-color: var(--acc); border-right-color: rgba(185,205,145,0.5);
  filter: drop-shadow(0 0 6px rgba(185,205,145,0.6)); animation: haloSpin 3s linear infinite; }
.halo img { position: relative; width: 150px; height: 150px; border-radius: 50%; object-fit: cover; box-shadow: 0 18px 40px rgba(0,0,0,0.6), inset 0 0 0 1px rgba(255,255,255,0.06);
  -webkit-mask: radial-gradient(circle at 50% 50%, #000 62%, transparent 74%); mask: radial-gradient(circle at 50% 50%, #000 62%, transparent 74%); }
.halo-glow { position: absolute; z-index: 1; left: 50%; top: 50%; width: 104px; height: 26px; margin: -16px 0 0 -52px; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(214,236,120,0.55), rgba(214,236,120,0)); mix-blend-mode: screen; opacity: 0.35; animation: visorGlow 2.5s ease-in-out infinite; }
.wait-st { margin-top: 22px; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--acc-a30); background: rgba(185,205,145,0.08);
  font: 700 11.5px/1 var(--sans); letter-spacing: 0.14em; color: var(--acc-soft-text); }
.wait-st i { width: 6px; height: 6px; border-radius: 50%; background: var(--acc); box-shadow: 0 0 10px var(--acc); }
.sweep { align-self: stretch; margin: 20px 30px 0; height: 3px; border-radius: 2px; background: rgba(255,255,255,0.07); position: relative; overflow: hidden; }
.sweep::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 34%; border-radius: 2px; background: linear-gradient(90deg, transparent, var(--acc), transparent);
  transform: translateX(-100%); animation: sweepRun 1.8s ease-in-out infinite; }
.wait-meta { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin-top: 14px; }
.wait-meta span { padding: 6px 10px; border-radius: 9px; background: rgba(255,255,255,0.04); border: 1px solid var(--hair); font: 600 12px/1.2 var(--mono); color: var(--text2); white-space: nowrap; }
.wait-id { margin-top: 12px; font-size: 11px; color: var(--text3); letter-spacing: 0.02em; word-break: break-all; }
.wait-btns { align-self: stretch; display: flex; gap: 10px; margin-top: 22px; }
.wait-btns .btn { flex: 1; min-width: 0; min-height: 52px; padding: 0 6px; border-radius: 15px; font-size: 15px; white-space: nowrap; }
.wait-btns .btn.primary { box-shadow: 0 10px 26px rgba(185,205,145,0.18); }
@keyframes haloSpin { to { transform: rotate(360deg); } }
@keyframes sweepRun { from { transform: translateX(-100%); } to { transform: translateX(300%); } }
@keyframes visorGlow { 0%, 100% { opacity: 0.3; } 50% { opacity: 0.8; } }
@media (prefers-reduced-motion: reduce) { .halo-arc, .sweep::after, .halo-glow { animation: none !important; } .sweep::after { transform: translateX(100%); } }
/* [s188-А1, 2026-09-24 — факт с iPhone владельца: при «Уменьшить движение» полоска стояла] индикатор загрузки при reduce НЕ выключается, а смягчается:
   дуга 6 с/оборот, визор — пульс opacity 4 с, полоска — мерцание opacity 2.4 с на месте. Общее правило выше (* … animation: none) не тронуто —
   исключение только для .halo-arc, .halo-glow, .sweep::after (специфичность .wait … + !important сильнее «*»). */
@keyframes sweepBlink { 0%, 100% { opacity: 0.25; } 50% { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
  .wait .halo-arc { animation: haloSpin 6s linear infinite !important; }
  .wait .halo-glow { animation: visorGlow 4s ease-in-out infinite !important; }
  .wait .sweep::after { transform: translateX(100%); animation: sweepBlink 2.4s ease-in-out infinite !important; }
}
/* [s188-А2] строка монета · пресет · окно · депозит вместо четырёх чипов и id прогона */
.wait-line { align-self: stretch; margin-top: 16px; font: 500 12.5px/1.3 var(--mono); color: var(--text2); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

/* ── [s187-б — макет «Мои прогоны»] (классы .brun / .is-open / .is-drag — имена .run и .sw заняты: статус «считается» и переключатель) строка: монограмма · монета · пресет · окно · депозит ‖ статус; свайп влево → «Удалить»; «Очистить» → шторка ── */
.runs2 { display: flex; flex-direction: column; gap: 8px; }
.brun { position: relative; border-radius: 18px; overflow: hidden; }
.run-del { position: absolute; right: 0; top: 0; bottom: 0; width: 96px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px;
  background: linear-gradient(90deg, rgba(217,141,130,0.35), rgba(217,141,130,0.55)); color: #fff; font: 700 11px/1 var(--sans); letter-spacing: 0.08em; border-radius: 0 18px 18px 0;
  opacity: 0; transition: opacity 160ms ease; }
.brun.is-open .run-del, .brun.is-drag .run-del { opacity: 1; }
.run-del .ico { width: 20px; height: 20px; }
.run-in { position: relative; z-index: 2; display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px 14px; border-radius: 18px; text-align: left;
  touch-action: pan-y; transition: transform 180ms cubic-bezier(.2,.8,.2,1); }
.brun.is-drag .run-in { transition: none; }
.brun.is-open .run-in { transform: translateX(-96px); }
.run-mono { flex: none; width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; background: rgba(185,205,145,0.14); border: 1px solid var(--acc-a30);
  font: 700 12px/1 var(--disp); color: var(--acc-soft-text); }
.run-t { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.run-t b { font: 600 16px/1.2 var(--mono); }
.run-t small { font-size: 12.5px; color: var(--text3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.run-st { flex: none; font: 600 10.5px/1.2 var(--sans); letter-spacing: 0.1em; color: var(--text3); }
.run-st.run { color: var(--acc-soft-text); }
.run-st.bad { color: var(--coral); }
.runs-hint { margin-top: 14px; text-align: center; font-size: 12px; color: var(--text3); }
.clear-q { display: block; text-align: center; font: 700 17px/1.3 var(--sans); }
.clear-n { display: block; text-align: center; font-size: 13px; color: var(--text3); margin-top: -8px; }
.clear-btns { display: flex; gap: 10px; }
.clear-btns .btn { flex: 1; min-width: 0; }
.btn.danger-soft { background: rgba(217,141,130,0.16); border: 1px solid rgba(217,141,130,0.4); color: #F0B5AC; box-shadow: none; min-height: 52px; font-size: 15px; font-weight: 600; }

/* ── [s187-г] порог вне ростера — одна тихая строка под плитками риска, без замка ── */
.thr-line { margin: 10px 2px 0; font-size: 12px; line-height: 1.4; color: var(--text3); }

@media (max-width: 374px) {
  .halo { width: 180px; height: 180px; }
  .halo img { width: 128px; height: 128px; }
  .wait-meta span { font-size: 11px; padding: 5px 8px; }
  .wait-btns .btn { font-size: 13.5px; }
  .run-t small { font-size: 11.5px; }
  .h-back b { font-size: 19px; }
}

/* ══════════ [s188-Б, 2026-09-24 — решение владельца: результат «как у автора»; макеты Э2 «Результат…ФИНАЛ-2», Э3 «Карточка-сделки ФИНАЛ-2»] ══════════
   Верхняя карточка результата: фон — робот (card_robot.jpg) приёмом Э3 (brightness .36 · saturate .55 · contrast 1.08), тень слева и снизу, мягкое свечение
   визора; «СЧЁТ НА КОНЕЦ» и крупно счёт; прибыль и %; график; шесть плиток 3×2. Прежние правила .t6 / .rcard-res не удалены — ниже перекрыты. */
.r4 { position: relative; padding: 0; overflow: hidden; isolation: isolate; background: #0B0C0D; border: 1px solid var(--hair); }
.r4-bg { position: absolute; inset: 0; z-index: 0; background: url(/static/card_robot.jpg) no-repeat; background-size: auto 560px; background-position: 120px -120px;
  filter: brightness(.36) saturate(.55) contrast(1.08); pointer-events: none; }
.r4-veil { position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(90deg, rgba(9,10,11,.96) 0%, rgba(9,10,11,.8) 45%, rgba(9,10,11,.35) 80%, rgba(9,10,11,.2)), linear-gradient(180deg, transparent 40%, rgba(9,10,11,.92) 70%); }
.r4-glow { position: absolute; z-index: 2; left: 190px; top: 40px; width: 220px; height: 80px; border-radius: 50%; background: rgba(200,225,120,.18); filter: blur(26px);
  opacity: .3; pointer-events: none; }
.r4-in { position: relative; z-index: 3; display: flex; flex-direction: column; gap: 0; padding: 18px 18px 16px; }
.r4 .res-h { font: 600 13px/1.3 var(--mono); color: var(--text2); }
.r4 .rcard-burn { margin-top: 12px; }
.r4 .blocked { margin-top: 14px; }
.r4-lb { margin-top: 18px; font: 700 10px/1 var(--sans); letter-spacing: .18em; color: var(--bronze-text); }
.rcard-acc { display: flex; align-items: baseline; margin-top: 6px; white-space: nowrap; }
.rcard-acc b { font: 700 46px/1 var(--disp); letter-spacing: -.035em; font-variant-numeric: tabular-nums;
  background: linear-gradient(180deg, #F6FBE8 10%, #C9DB9F 60%, #9FB56F); -webkit-background-clip: text; background-clip: text; color: transparent;
  filter: drop-shadow(0 0 18px rgba(185,205,145,.25)); }
.rcard-acc small { display: inline; margin-left: 6px; font: 700 24px/1 var(--disp); color: #C9DB9F; }
.rcard-acc.neg b { background: none; color: var(--coral); filter: none; }
.rcard-acc.neg small { color: var(--coral); }
.r4-pct { margin-top: 8px; font: 600 16px/1.3 var(--mono); }
.r4-pct.pos { color: var(--pos); } .r4-pct.neg { color: var(--coral); }
.r4-pct em { font: 500 13px/1.3 var(--sans); font-style: normal; color: var(--text3); margin-left: 6px; white-space: nowrap; }
.r4 .rcard-chart { margin-top: 16px; }
.r4 .eqchart { height: 120px; }
.r4 .eqchart .line { stroke: #C9DB9F; stroke-width: 1.8; }
.r4 .eqchart .area { fill: rgba(185,205,145,.10); }
.r4 .eqchart.burned .line { stroke: var(--coral); } .r4 .eqchart.burned .area { fill: var(--coral-a12); }
.r4 .eq-dates { font-size: 11.5px; padding-top: 6px; }
.r4 .t6s { margin-top: 14px; }
.t6s { gap: 8px; }
.t6 { gap: 0; padding: 10px 11px 11px; border-radius: 14px; background: rgba(255,255,255,.035); border: 1px solid var(--hair); }
.t6 i { font: 700 9px/1.25 var(--sans); letter-spacing: .04em; white-space: normal; overflow: visible; text-overflow: clip; color: var(--bronze-text); }
.t6 b { margin-top: 5px; font: 600 19px/1.15 var(--mono); color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.t6 b small { display: inline; margin-left: 3px; font: 500 12px/1 var(--sans); color: var(--text3); }
.t6 u { display: block; text-decoration: none; margin-top: 2px; font: 500 10.5px/1.25 var(--sans); color: var(--text3); }
.t6.ok b { color: var(--pos); }
.t6.bad b { color: var(--coral); }
.t6.warn { background: rgba(217,141,130,.09); border-color: rgba(217,141,130,.28); }
.t6.warn b { color: #F0B5AC; }
.r4 .thr-line { margin-top: 12px; }
.r4 .chips { margin-top: 10px; }
@media (max-width: 374px) {
  .r4-in { padding: 16px 14px 14px; }
  .rcard-acc b { font-size: 40px; }
  .t6 { padding: 9px 8px 10px; }
  .t6 b { font-size: 16px; }
  .t6 i { font-size: 8.5px; }
}

/* ══════════ [s188-Г, 2026-09-24 — макет Э4 «Компьютер_Боты_v3»] ШИРОКИЙ ВИД НА КОМПЬЮТЕРЕ; телефон не меняется ══════════
   Одна переменная ширины колонки: .app, .nav, шторки, тост. При окне ≥ 860 px — колонка 780 px по центру, фон внутри колонки — как на телефоне
   (сетка-созвездие, подсветки; слой фона стоит на месте, листается содержимое), карточки — тёмное стекло; бока — почти чёрный градиент,
   приглушённые свечения (фисташка слева сверху, бронза справа снизу), «созвездия», тающие к колонке, непрозрачность ≈ .55, лёгкое зерно. */
:root { --col: 430px; }
.app { max-width: var(--col); }
.nav { max-width: var(--col); }
.sheet { max-width: var(--col); }
.toast { max-width: calc(var(--col) - 32px); }
.sides { display: none; }
.bots { display: flex; flex-direction: column; gap: 14px; }
@media (min-width: 860px) {
  :root { --col: 780px; }
  body { background: #060707; }
  .sides { display: block; position: fixed; inset: 0; z-index: 0; pointer-events: none;
    background: radial-gradient(700px 480px at 8% 10%, rgba(185,205,145,.05), transparent 70%), radial-gradient(640px 480px at 95% 90%, rgba(185,154,107,.045), transparent 70%),
      radial-gradient(900px 600px at 50% 40%, #0D0E0F, #060707 75%); }
  .sd-net { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .55; }
  .sd-grain { position: absolute; inset: 0; width: 100%; height: 100%; opacity: .05; }
  .app { z-index: 1; border-left: 1px solid rgba(255,255,255,.05); border-right: 1px solid rgba(255,255,255,.05);
    background: radial-gradient(420px 300px at 0% 0%, rgba(185,205,145,.10), transparent 70%), radial-gradient(380px 300px at 100% 100%, rgba(150,160,170,.07), transparent 70%),
      linear-gradient(180deg, #17191B, #0D0E0F 45%);
    box-shadow: 0 0 0 1px rgba(255,255,255,.04), 0 0 120px rgba(0,0,0,.6); }
  .aurora { position: fixed; top: 0; bottom: 0; left: 50%; width: var(--col); transform: translateX(-50%); }
  .view { padding: 16px 28px 12px; }
  .top { padding-left: 28px; padding-right: 24px; }
  .glass { background: rgba(26,28,30,.55); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: inset 0 1px 0 rgba(255,255,255,.06); }
  .bots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .r4-bg { background-size: auto 620px; background-position: right -60px top -150px; }
  .r4-glow { left: auto; right: 90px; top: 50px; }
}

/* [s188-Г4] полоса прокрутки — 6 px, дорожка почти прозрачная, ползунок — тёмное стекло с фисташкой; для всего приложения (и на телефоне, где видна).
   Firefox не знает ::-webkit-scrollbar — там стандартные свойства (градиента нет); Chrome ≥ 121 при заданных стандартных свойствах берёт их, поэтому они — только для Firefox. */
::-webkit-scrollbar { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,.03); }
::-webkit-scrollbar-thumb { border-radius: 3px; background: linear-gradient(180deg, rgba(185,205,145,.28), rgba(185,205,145,.14)); box-shadow: 0 0 8px rgba(185,205,145,.15); }
::-webkit-scrollbar-corner { background: transparent; }
@supports not selector(::-webkit-scrollbar) { html, .sheet { scrollbar-width: thin; scrollbar-color: rgba(185,205,145,.24) rgba(255,255,255,.03); } }

/* ══════════ [s188-Д] КАРТОЧКА БОТА (телефон и компьютер): справа сверху — баланс бота моно (или «—»), под ним — пилюля статуса одной строкой (как Э4).
   «в сделке» — фисташка с точкой, «ждёт сигнал» — пустой кружок, «на паузе» — бронза. ══════════ */
.card-rt { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; flex: none; max-width: 48%; }
.card-bal { font: 600 15px/1.1 var(--mono); font-variant-numeric: tabular-nums; color: var(--text); white-space: nowrap; }
.card-bal.na { color: var(--text3); }
.card-rt .st { white-space: nowrap; }
/* [s189-а] пилюля любого статуса — одна строка, высота и отступы как у «в сделке» (страховка от чужих правил) */
.st { flex-direction: row; overflow: visible; text-align: left; }
.st.deal { background: rgba(185,205,145,.1); border: 1px solid rgba(185,205,145,.4); color: var(--acc-soft-text); }
.st.deal i { background: var(--acc); box-shadow: 0 0 8px var(--acc); }
.st.wait i { border-color: var(--text3); }

/* ══════════ [s188-Е, 2026-09-24 — макеты Э5 «Пресеты_лента», Э6 (нижняя картинка)] «ПРЕСЕТЫ»: полоса «Субаккаунт Bybit», две раскрывающиеся группы, лента ══════════ */
.conn { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 20px; border-radius: 20px; border: 1px solid rgba(185,205,145,.3);
  background: linear-gradient(90deg, rgba(185,205,145,.12), rgba(185,205,145,.04)); }
.conn-t { min-width: 0; }
.conn-t b { display: block; font: 700 16px/1.25 var(--sans); }
.conn-t span { display: block; margin-top: 3px; font: 500 13px/1.35 var(--sans); color: var(--text3); }
.conn-btn { width: auto; flex: none; min-height: 44px; padding: 0 20px; border-radius: 14px; font: 800 15px/1 var(--sans); }
@media (max-width: 859px) { .conn { flex-direction: column; align-items: stretch; } .conn-btn { width: 100%; } }
.pg { padding: 0; border-radius: 22px; overflow: hidden; }
.pg-h { display: flex; align-items: center; gap: 14px; width: 100%; padding: 16px 18px; text-align: left; }
.pg-ic { flex: none; width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; color: var(--acc); background: rgba(185,205,145,.08); border: 1px solid var(--acc-a30); }
.pg.pro .pg-ic { color: var(--bronze-text); background: var(--bronze-a12); border-color: var(--bronze-a30); }
.pg-t { flex: 1; min-width: 0; }
.pg-t b { display: block; font: 700 17px/1.25 var(--sans); }
.pg-t small { margin-top: 2px; font-size: 13px; color: var(--text3); }
.pg-n { flex: none; font-style: normal; font-size: 12px; padding: 3px 9px; border-radius: 999px; background: rgba(255,255,255,.07); color: var(--text2); }
.pg-chev { flex: none; width: 10px; height: 10px; margin: -4px 6px 0 4px; border-right: 2px solid var(--text2); border-bottom: 2px solid var(--text2); transform: rotate(45deg);
  transition: transform 250ms cubic-bezier(.2,.8,.2,1); }
.pg.open .pg-chev { transform: translateY(5px) rotate(-135deg); }
.pg-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 250ms cubic-bezier(.2,.8,.2,1); }
.pg.open .pg-body { grid-template-rows: 1fr; }
.pg-in { min-height: 0; overflow: hidden; }
.pg-pad { padding: 16px 18px 18px; border-top: 1px solid var(--hair); }
/* лента «Проверенных»: следующая карточка выглядывает, правый край уходит в тень, точки снизу */
.rib-wrap { position: relative; }
.rib { display: flex; gap: 12px; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; overscroll-behavior-x: contain; scrollbar-width: none; touch-action: pan-x pan-y;
  -webkit-mask-image: linear-gradient(90deg, #000 86%, transparent); mask-image: linear-gradient(90deg, #000 86%, transparent); }
.rib::-webkit-scrollbar { display: none; }
.rib.is-drag { scroll-snap-type: none; cursor: grabbing; user-select: none; }
.vp { flex: 0 0 82%; scroll-snap-align: start; display: flex; flex-direction: column; min-height: 190px; padding: 18px; border-radius: 20px; border: 1px solid var(--hair2); background: rgba(0,0,0,.22); }
.vp > b { font: 700 20px/1.2 var(--sans); }
.vp p { flex: 1; margin: 8px 0 0; font-size: 13.5px; line-height: 1.45; color: var(--text2); }
/* [s293, (157)] «~N % / год» — число над строкой «Депозит» (макет, вариант А) */
.vp-yr { margin-top: 12px; font: 600 22px/1.1 var(--mono); color: var(--acc); }
.vp-yr span { margin-left: 6px; font: 500 13px/1 var(--sans); color: var(--text2); }
.vp-f { display: flex; align-items: flex-end; justify-content: space-between; gap: 10px; margin-top: 16px; }
.vp-dep span { display: block; font-size: 12px; color: var(--text3); }
.vp-dep b { font: 500 14px/1.3 var(--mono); }
.vp .btn { width: auto; flex: none; min-height: 44px; padding: 0 18px; border-radius: 14px; font-size: 15px; }
.vp.soon { border-style: dashed; background: transparent; }
.vp.soon > b, .vp.soon p { color: var(--text3); }
.rib-arr { display: none; position: absolute; top: 50%; z-index: 2; width: 40px; height: 40px; margin-top: -20px; border-radius: 50%; align-items: center; justify-content: center;
  background: rgba(20,22,24,.92); border: 1px solid var(--hair2); color: var(--text); }
.rib-arr.l { left: -12px; } .rib-arr.r { right: -12px; }
.rib-dots { display: flex; justify-content: center; gap: 6px; margin-top: 14px; }
.rib-dots i { width: 6px; height: 6px; border-radius: 3px; background: rgba(255,255,255,.18); transition: width 200ms ease, background-color 200ms ease; }
.rib-dots i.on { width: 22px; background: var(--acc); }
@media (min-width: 860px) { .vp { flex-basis: calc((100% - 24px) / 2.15); } }
@media (hover: hover) and (min-width: 860px) { .rib-arr { display: flex; } .rib { cursor: grab; } }
/* группа PRO: поля сетки (значения — PRO бэктеста) и две кнопки */
.pro-g { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pf { position: relative; display: flex; flex-direction: column; gap: 4px; min-width: 0; padding: 9px 12px; border-radius: 14px; background: rgba(0,0,0,.22); border: 1px solid var(--hair); }
.pf.w2 { grid-column: span 2; }
.pf i { font: 700 9.5px/1.2 var(--sans); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--bronze-text); }
.pf .fin { font-size: 16px; padding-right: 30px; }
.pf .u { position: absolute; right: 12px; bottom: 11px; font-size: 12px; color: var(--text3); }
.pf .chev { position: absolute; right: 12px; bottom: 16px; margin: 0; pointer-events: none; }
.pf-sel { appearance: none; -webkit-appearance: none; width: 100%; padding: 0 28px 0 0; background: transparent; border: 0; outline: none; font: 500 16px/1.3 var(--mono); color: var(--text); }
.pf-sel option { background: #1F2123; color: var(--text); }
.rv3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
.rv3 button { height: 30px; border-radius: 9px; border: 1px solid var(--hair2); font: 600 12.5px/1 var(--mono); color: var(--text2); text-align: center; }
.rv3 button.on { background: rgba(185,205,145,.14); border-color: var(--acc-a30); color: var(--acc-soft-text); }
.pro-btns { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.pro-btns .btn { min-height: 48px; }
@media (max-width: 520px) { .pro-g { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pro-btns { grid-template-columns: minmax(0, 1fr); } }

/* ══════════ [s188-Ж, 2026-09-24 — макет Э7 «О-продукте_ФИНАЛ-2»] «О ПРОДУКТЕ»: робот в медитации крупно, края растворены в небе, пол убран, пятно-тень, звёзды ══════════ */
.about { position: relative; margin: -14px -16px 0; display: flex; flex-direction: column; align-items: center; overflow: hidden; }
.zen { --zw: min(164vw, 705px); position: relative; width: 100%; height: calc(var(--zw) * 0.84); }
.zen-sky { position: absolute; inset: 0; background: radial-gradient(60% 55% at 50% 40%, rgba(185,205,145,.07), transparent 70%), radial-gradient(70% 40% at 50% 74%, rgba(201,170,120,.05), transparent 70%); }
.zen-stars { position: absolute; inset: 0; width: 100%; height: 100%; }
.zen-stars circle { fill: #EAF2D6; }
.zen-bob { position: absolute; left: 50%; top: calc(var(--zw) * -0.03); width: var(--zw); height: var(--zw); margin-left: calc(var(--zw) / -2); animation: zenBob 6s ease-in-out infinite; }
.zen-img { display: block; width: 100%; height: 100%;
  -webkit-mask-image: radial-gradient(closest-side at 50% 46%, #000 62%, transparent 100%), linear-gradient(180deg, #000 63%, transparent 80%);
  -webkit-mask-composite: source-in; mask-image: radial-gradient(closest-side at 50% 46%, #000 62%, transparent 100%), linear-gradient(180deg, #000 63%, transparent 80%);
  mask-composite: intersect; }
.zen-visor { position: absolute; left: 50%; top: 22.6%; width: 22%; height: 7%; margin: -3.5% 0 0 -11%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(214,236,120,.6), rgba(214,236,120,0)); mix-blend-mode: screen; opacity: .35; animation: zenVisor 4s ease-in-out infinite; }
.zen-glow { position: absolute; left: 50%; top: calc(var(--zw) * 0.765); width: calc(var(--zw) * 0.34); height: calc(var(--zw) * 0.042); transform: translateX(-50%); border-radius: 50%;
  background: radial-gradient(closest-side, rgba(185,205,145,.28), transparent); filter: blur(5px); }
.about-txt { position: relative; z-index: 2; margin-top: -6px; text-align: center; }
.about-txt b { display: block; font: 700 30px/1.15 var(--disp); letter-spacing: -.01em; text-shadow: 0 4px 20px rgba(0,0,0,.8); }
.about-txt small { margin-top: 6px; font: 700 10.5px/1 var(--sans); letter-spacing: .24em; color: var(--bronze-text); }
.zen-stars .tw0 { animation: zenTw 3.2s ease-in-out infinite; }
.zen-stars .tw1 { animation: zenTw 4.4s ease-in-out 1.1s infinite; }
@keyframes zenBob { 0%, 100% { transform: translateY(-6px); } 50% { transform: translateY(6px); } }
@keyframes zenBobSoft { 0%, 100% { transform: translateY(-3px); } 50% { transform: translateY(3px); } }
@keyframes zenVisor { 0%, 100% { opacity: .3; } 50% { opacity: .85; } }
@keyframes zenVisorSoft { 0%, 100% { opacity: .35; } 50% { opacity: .6; } }
@keyframes zenTw { 0%, 100% { opacity: .2; } 50% { opacity: .9; } }
@keyframes zenTwSoft { 0%, 100% { opacity: .35; } 50% { opacity: .7; } }
@media (min-width: 860px) {
  .about { margin: -16px -28px 0; }
  .zen { --zw: 860px; }
  .about-txt b { font-size: 36px; }
}
/* «Уменьшить движение»: «О продукте» — то же, но медленнее и слабее (исключение из общего правила * … animation: none) */
@media (prefers-reduced-motion: reduce) {
  .about .zen-bob { animation: zenBobSoft 10s ease-in-out infinite !important; }
  .about .zen-visor { animation: zenVisorSoft 8s ease-in-out infinite !important; }
  .about .zen-stars .tw0 { animation: zenTwSoft 6s ease-in-out infinite !important; }
  .about .zen-stars .tw1 { animation: zenTwSoft 8s ease-in-out 2s infinite !important; }
}
.chart-attr { margin-top: 2px; font-size: 10.5px; color: var(--dim); text-align: right; }

/* ══════════ [s188-З] ЕДИНАЯ ШАПКА: одна разметка на все экраны (как на «Ботах»); «О продукте» — только аватар, без надписи ══════════ */
.top.bare .brand-name { display: none; }

/* ══════════ [s188-И] ЛЁГКАЯ АНИМАЦИЯ — только transform / opacity: плитки результата лесенкой по 40 мс; свечение визора на фоне результата «дышит» 6 с
   (opacity .15 → .3); нажатие кнопок — scale .97. Докрутка счёта (700 мс) и прорисовка линии (900 мс) — app.js; раскрытие групп «Пресетов» — высота 250 мс
   (правило .pg-body выше). При reduce — всё мгновенно (общее правило выше), кроме индикатора «Считается» и «О продукте». ══════════ */
.view.enter .t6s .t6 { animation: rise 420ms cubic-bezier(.2,.8,.2,1) both; }
.view.enter .t6s .t6:nth-child(2) { animation-delay: 40ms; } .view.enter .t6s .t6:nth-child(3) { animation-delay: 80ms; }
.view.enter .t6s .t6:nth-child(4) { animation-delay: 120ms; } .view.enter .t6s .t6:nth-child(5) { animation-delay: 160ms; }
.view.enter .t6s .t6:nth-child(6) { animation-delay: 200ms; }
.r4-glow { animation: r4Breath 6s ease-in-out infinite; }
@keyframes r4Breath { 0%, 100% { opacity: .15; } 50% { opacity: .3; } }
.btn:active, .press:active, .btn-add:active, .chip:active, .sheet-x:active { transform: scale(.97); }
.act:active .sq { transform: scale(.97); }
@media (max-width: 374px) { .about { margin-left: -12px; margin-right: -12px; } }
@media (max-width: 859px) {
  .vp { flex-basis: 86%; padding: 16px; }
  .vp-dep b { white-space: nowrap; }
  .vp-yr { font-size: 20px; }
  .vp .btn { padding: 0 14px; font-size: 14.5px; }
  .pg-h { gap: 12px; padding: 14px 16px; }
  .pg-ic { width: 40px; height: 40px; }
  .pg-t b { font-size: 16px; }
  .pg-pad { padding: 14px 16px 16px; }
}
/* [s188] автопрокрутка к результату не прячет верх карточки под липкой шапкой */
.result { scroll-margin-top: 72px; }
/* [s188-А, макет Э1] карточка «Считается» — скруглённая, как остальное стекло */
section.wait { border-radius: 24px; }
/* [s189-г, TD-353] аватар в шапке — кнопка без своей рамки; шторка «Выйти» — одна кнопка */
.ava-btn { display: flex; flex: none; padding: 0; border: 0; border-radius: 50%; background: none; cursor: pointer; }
.acc-sheet { padding: 4px 0 2px; }
/* ══════════ [s190-б, 2026-09-24 — макеты Э8 «PRO — точка входа» и Э9 «Долив», утверждены владельцем] размеры и цвета — из .html макетов:
   сегмент точки входа — мягкий (выбранное — стекло с фисташковой обводкой); интервалы — малый сегмент (выбранное — фисташка); «Долив» — сумма в плашке
   моно (не редактируется) и переключатель; результат — ряд из двух бронзовых плиток «Долито · Заморожено», кружки доливов на линии графика. ══════════ */
.seg2 { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; padding: 5px; border-radius: 16px; background: rgba(0,0,0,.28); border: 1px solid var(--hair); }
.seg2 > button { display: flex; align-items: center; justify-content: center; text-align: center; height: 34px; border-radius: 12px; font: 600 13px/1 var(--sans); color: var(--text2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; padding: 0 4px; min-width: 0; }
.seg2.soft > button.on { background: var(--glass2); color: var(--text); box-shadow: inset 0 0 0 1px rgba(185,205,145,.45); }
.seg2.ivs { margin-top: 2px; }
.seg2.ivs > button.on { background: var(--acc); color: var(--on-acc); }
.valve-box .vamt { height: 38px; padding: 0 12px; border-radius: 12px; background: rgba(0,0,0,.28); border: 1px solid var(--hair); font: 500 15px/1 var(--mono); color: var(--text2); white-space: nowrap; }
.t6s.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.t6.dv { background: rgba(201,170,120,.07); border-color: rgba(201,170,120,.30); }
.t6.dv b { color: #E2C99C; }
.r4-pct .r4-n { white-space: nowrap; }
.r4-pct[data-valve-pct] em { display: inline-block; }
.eqchart .vdot { fill: #0B0C0D; stroke: #C9AA78; stroke-width: 2; }
@media (max-width: 374px) { .seg2 > button { font-size: 12px; } }
/* ══════════ [s190-в, 2026-09-24 — макеты «Свой период» v1 (месяц и год) и v2 (ввод руками)] размеры и цвета — из .html макетов: поле «С» / «По» — ввод; ошибка —
   красная рамка и одна строка; капсула «Месяц Год»; панель «ГОД» 4 в ряд и месяцы 4×3; недоступное — тусклым. Переход «дни ↔ панель» — лёгкое появление,
   при «уменьшить движение» — без анимации (общее правило выше); выделение и рамка ошибки видны всегда. ══════════ */
.dt { position: relative; cursor: text; }
.dt .dtin { width: 100%; min-width: 0; padding: 0; border: 0; background: transparent; color: var(--text); font: 500 16px/1.2 var(--mono); outline: none; }
.dt .dtin::placeholder { color: var(--text3); }
.dt.err { border-color: rgba(226,112,96,.8); background: rgba(226,112,96,.07); }
.cal-err { margin: -4px 2px 0; font: 600 12.5px/1.3 var(--sans); color: #E27060; }
.mhead .mycap { display: inline-flex; align-items: center; gap: 8px; width: auto; height: 38px; padding: 0 14px; border-radius: 999px; border: 1px solid var(--hair2);
  background: rgba(255,255,255,.04); font: 700 15px/1 var(--sans); color: var(--text); white-space: nowrap; }
.mhead .mycap em { font-style: normal; font-size: 12px; color: var(--bronze); }
.mhead .mycap.open { border-color: rgba(185,205,145,.55); background: rgba(185,205,145,.08); }
.mhead.pan .arr { visibility: hidden; pointer-events: none; }
.calp { display: flex; flex-direction: column; gap: 8px; animation: calpIn 200ms ease-out both; }
.calp-l { margin: 2px 2px 0; }
.calp .yy, .calp .mm { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.calp .mm { margin-top: 8px; }
.calp .yy > *, .calp .mm > * { display: flex; align-items: center; justify-content: center; height: 42px; border-radius: 12px; border: 1px solid var(--hair);
  background: rgba(255,255,255,.03); color: var(--text); font: 600 14px/1 var(--sans); white-space: nowrap; min-width: 0; }
.calp .yy > * { font: 500 15px/1 var(--mono); }
.calp .yy > .on, .calp .mm > .on { background: var(--acc); color: var(--on-acc); border-color: transparent; font-weight: 600; }
.calp .off { color: var(--dim); background: transparent; }
.btn.dis { opacity: .45; }
@keyframes calpIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }

/* ══════════ [s194, 2026-09-24 — макет v3 «Долив — результат»; В3 «плитки не обрезаются никогда»] значение плитки — 17 px на телефоне и 15.5 px на 360
   (как в макете v3; на компьютере — прежние 19 px); многоточия нет: не влезло — app.js fitTiles уменьшает шрифт шагом 0.5 px до влезания.
   Бронзовый ряд схемы владельца — три плитки без подписей («Доливы» · «Макс. за раз» · «Заморожено»). ══════════ */
.t6 b { text-overflow: clip; }
@media (max-width: 859px) { .t6 b { font-size: 17px; } }
@media (max-width: 374px) { .t6 b { font-size: 15.5px; letter-spacing: -.02em; } }

/* ══════════ [s212, 2026-09-29 — макет v1 «Бэктест: назад · понятный счёт · отмена прогона» (стратег; «Claude outputs\макеты\…_v1_исходники\добавочные_стили.css»),
   решения (63), (64)] кадр 1 — строка «из чего сложился счёт» под «±X $ · ±Y % к депозиту»; кадр 2 — «✕ Отменить прогон» во всю ширину под «Обновить» /
   «К списку прогонов»; кадр 3 — лист «Уже считается другой прогон» (сейчас / новый, две кнопки). Правила — как в макете, без изменений. ══════════ */
.r4-split { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 2px 10px; font: 500 12.5px/1.35 var(--mono); color: var(--text3); }
.r4-split span { white-space: nowrap; }
.r4-split b { font-weight: 600; }
.r4-split b.pos { color: var(--pos); } .r4-split b.neg { color: var(--coral); }
.wait .wait-cancel { align-self: stretch; margin-top: 10px; min-height: 48px; border-radius: 15px; font-size: 15px; }
.run-cmp { display: flex; flex-direction: column; gap: 8px; }
.run-cmp .rc { display: flex; align-items: center; gap: 10px; padding: 12px 14px; border-radius: 14px; background: var(--glass); border: 1px solid var(--hair); }
.run-cmp .rc i { font: 700 10px/1 var(--sans); letter-spacing: .14em; color: var(--bronze-text); font-style: normal; min-width: 62px; text-transform: uppercase; }
.run-cmp .rc b { font: 600 13.5px/1.3 var(--mono); color: var(--text); }
.run-cmp .rc.now b { color: var(--text2); }
.run-cmp .rc .dot { width: 8px; height: 8px; border-radius: 50%; background: var(--acc); box-shadow: 0 0 0 4px var(--acc-a16); flex: none; }
.run-cmp .rc .dot.off { background: transparent; box-shadow: none; }
.sheet-btns { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.busy-other { font: 500 14px/1.45 var(--sans); color: var(--text2); }
/* [s212, кадр 1 на 360 px, депозит 100 000] подпись «к депозиту D $» не помещается в строку с «±X $ · ±Y %» — переносится целиком (замер frames_cdp.py) */
.r4-pct { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 6px; }
.r4-pct em { display: inline-block; margin-left: 0; }       /* перенесённая подпись — по левому краю строки (сверка с макетом s212) */
/* [s212, кадр 3 на 360 px] «монета · пресет · окно» листа — перенос только между кусками; длинная кнопка листа — 14 px, при нужде в две строки по центру */
.run-cmp .rc b span { white-space: nowrap; }
.sheet-btns .btn { white-space: normal; text-align: center; line-height: 1.25; }
@media (max-width: 374px) { .sheet-btns .btn { font-size: 14px; }
  .run-cmp .rc { gap: 8px; padding: 12px 12px; } .run-cmp .rc i { min-width: 50px; } .run-cmp .rc b { font-size: 12px; } }
/* [S357-в, скрины автора 21.10] витрина LIVE: жёлтая точка «Ждёт сигнал» / «Запускается», серый бейдж «остановится после закрытия»,
   строка-разворот монеты внизу карточки, заголовок блока «На паузе» (голого .wait нет — правило s189-а) */
.st.lw { color: var(--bronze-text); border-color: var(--bronze-a30); }
.st.lw i { border: 0; background: var(--bronze-text); }
.st.gray { background: transparent; border: 1px solid var(--hair2); color: var(--text3); font-weight: 500; }
.coin-row { display: flex; align-items: center; gap: 10px; width: calc(100% + 28px); margin: 2px -14px -12px; padding: 12px 14px; border: 0;
  border-top: 1px solid var(--hair2); border-radius: 0 0 20px 20px; background: var(--bronze-a12); color: var(--bronze-text);
  font: 700 12px/1.2 var(--mono); letter-spacing: 0.06em; text-align: left; cursor: pointer; }
.coin-row b { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.grp-h { display: flex; align-items: center; gap: 8px; margin: 18px 4px 10px; color: var(--text3); font-size: 12px; letter-spacing: 0.12em;
  text-transform: uppercase; }
.card-rt .st.gray { white-space: normal; height: auto; min-height: 26px; padding: 4px 10px; line-height: 1.25; text-align: left; max-width: 100%; }

/* ══════════ [S374-в, 2026-10-23] ВИД ПО УТВЕРЖДЁННЫМ МАКЕТАМ 1к / 1л / 2ж (Claude outputs\макеты; слово владельца 22–23.10 «финально, правок
   больше нет»). Inline-стили макетов перенесены в классы (CSP style-src 'self'). Новые анимации и переходы — только transform / opacity (и цвета);
   backdrop-filter — только на неподвижном слое окна удаления; will-change не используется; всё новое движение — под prefers-reduced-motion ниже. ══════════ */

/* ── главная: «ОБЩИЙ ДЕПОЗИТ» (макет 1к) ── */
.balance.dep { position: relative; gap: 0; padding: 20px 20px 16px; border-radius: 24px; border-color: var(--hair2); overflow: hidden;
  background: linear-gradient(160deg, rgba(32,34,37,.94), rgba(20,22,24,.95) 60%); box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 20px 50px rgba(0,0,0,.35); }
.balance.dep::before { content: ""; position: absolute; right: -80px; top: -110px; width: 320px; height: 320px; pointer-events: none;
  background: radial-gradient(circle, rgba(185,154,107,.16), transparent 62%); }
.balance.dep::after { content: ""; position: absolute; left: -60px; bottom: -120px; width: 260px; height: 260px; pointer-events: none;
  background: radial-gradient(circle, rgba(185,205,145,.09), transparent 65%); }
.balance.dep > * { position: relative; z-index: 1; }
.dep .bal-h { font: 700 11.5px/1 var(--sans); letter-spacing: .2em; gap: 8px; }
.dep .bal-h .ico { width: 15px; height: 15px; }
.dep .bal-v { align-items: center; gap: 12px; margin: 12px 0 4px; flex-wrap: nowrap; }
.dep .bal-v b { font: 600 44px/1 var(--disp); letter-spacing: -.02em; background: none; -webkit-background-clip: border-box; background-clip: border-box;
  color: var(--text); filter: none; text-shadow: 0 0 40px rgba(217,190,147,.18); white-space: nowrap; }
.dep .bal-v .cur { align-self: center; font: 600 13px/1 var(--sans); letter-spacing: .16em; color: var(--text2); padding-left: 12px; border-left: 1px solid var(--hair2); }
.dep .src { margin-top: 2px; }
.incs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--hair); }
.incs .inc { gap: 8px; padding: 2px 6px; border: 0; border-radius: 0; background: none; text-align: center; }
.incs .inc + .inc { border-left: 1px solid var(--hair); }
.incs .ic { display: flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 12px; border: 1px solid var(--hair); }
.incs .ic.g { background: rgba(159,203,142,.12); color: var(--pos); }
.incs .ic.b { background: rgba(185,154,107,.12); color: var(--bronze-text); }
.incs .ic.n { background: var(--glass2); color: var(--text2); }
.incs .ic .ico { width: 15px; height: 15px; }
.incs .inc b { font: 600 17px/1 var(--disp); letter-spacing: 0; }
.incs .inc .inc-l { font: 600 12px/1.2 var(--sans); letter-spacing: 0; text-transform: none; color: var(--text2); }
.incs .inc i { font-style: normal; font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--text3); margin-top: -3px; }
/* скелет загрузки — только при bots_reading > 0 (мерцание фона, keyframes shimmer v2.1) */
.sk { display: block; border-radius: 8px; background: linear-gradient(90deg, rgba(255,255,255,.06) 25%, rgba(255,255,255,.16) 50%, rgba(255,255,255,.06) 75%);
  background-size: 200% 100%; animation: shimmer 1.4s linear infinite; }
.sk.sk-dep { width: 60%; height: 40px; border-radius: 12px; }
.sk.sk-inc { width: 58px; height: 17px; border-radius: 6px; }

/* ── главная: фильтр — один сегмент на всю ширину, три равные ячейки, активная — фисташковая подсветка ── */
.flt { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px; padding: 4px; flex-wrap: nowrap; border-radius: 999px; background: var(--glass); border: 1px solid var(--hair2); }
.flt .f { height: 40px; padding: 0; gap: 8px; justify-content: center; border: 0; border-radius: 999px; background: transparent; color: var(--text2); font: 600 13.5px/1 var(--sans); }
.flt .f.on { background: rgba(185,205,145,.16); box-shadow: inset 0 0 0 1px rgba(185,205,145,.45); color: var(--text); }
.flt .f em { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: rgba(255,255,255,.1); color: var(--text); font: 700 11px/1 var(--mono); }
.flt .f.on em { background: var(--acc); color: var(--on-acc); }

/* ── карточка LIVE-бота (макет 1к) ── */
.card.lc { gap: 0; padding: 14px 14px 0; border-radius: 22px; overflow: hidden; border: 1px solid var(--hair2);
  background: linear-gradient(180deg, rgba(28,30,33,.92), rgba(20,22,24,.94)); box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
  transition: transform 120ms cubic-bezier(.2,.8,.2,1), border-color 120ms ease; }
.card.lc.lc-d { border-color: var(--hair2); box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(159,203,142,.14), 0 12px 40px rgba(159,203,142,.06); }
.card.lc.lc-w { box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 0 0 1px rgba(227,192,103,.12), 0 12px 40px rgba(227,192,103,.05); }
/* отклик нажатия карточки: scale(.985) + фисташковый контур 120 мс (haptic — в app.js) */
.card.lc:has(> .lc-h:active) { transform: scale(.985); border-color: rgba(185,205,145,.45); }
.lc-h { display: flex; align-items: center; gap: 12px; width: 100%; }
.lc-h.press:active { transform: none; }
.lc-ava { display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; flex: none;
  background: radial-gradient(circle at 40% 35%, #2a2d33, #111317); border: 1px solid var(--hair2); font: 700 11px/1 var(--sans); letter-spacing: .06em; color: var(--text2); }
.lc-d .lc-ava { box-shadow: 0 0 0 2px var(--bg), 0 0 0 3.5px rgba(159,203,142,.5); }
.lc-w .lc-ava { box-shadow: 0 0 0 2px var(--bg), 0 0 0 3.5px rgba(227,192,103,.45); }
.lc-name { flex: 1; min-width: 0; font: 600 18px/1.1 var(--disp); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: left; }
/* пилюля состояния — цветная только она: «В сделке» зелёная, «Ждёт сигнал» янтарная (#E3C067, точка дышит 2.4 с — слово владельца 23.10), прочие — стекло */
.lc-h .st, .who .st { height: 32px; padding: 0 12px 0 10px; gap: 7px; font-size: 12.5px; font-weight: 700; color: var(--text2); background: var(--glass); border: 1px solid var(--hair2); }
.lc-h .st i, .who .st i { box-sizing: border-box; width: 7px; height: 7px; border: 0; border-radius: 50%; background: var(--text3); }
.lc-d .st, .who.lc-d .st { color: var(--pos); background: rgba(159,203,142,.12); border-color: rgba(159,203,142,.35); }
.lc-d .st i, .who.lc-d .st i { background: var(--pos); box-shadow: 0 0 8px var(--pos); animation: pulse 2.4s ease-in-out infinite; }
.lc-w .st, .who.lc-w .st { color: #F0D9A0; background: rgba(227,192,103,.11); border-color: rgba(227,192,103,.35); }
.lc-w .st i, .who.lc-w .st i { background: #E3C067; box-shadow: 0 0 8px #E3C067; animation: pulse 2.4s ease-in-out infinite; }
.lc-sum { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--hair); }
.lc-sum b { font: 600 22px/1 var(--disp); letter-spacing: -.01em; font-variant-numeric: tabular-nums; white-space: nowrap; }
.lc-sum i { font: 700 11px/1 var(--sans); font-style: normal; letter-spacing: .14em; color: var(--text3); padding-left: 10px; border-left: 1px solid var(--hair2); }
.lc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 10px; }
.lc-chips:empty { display: none; }
.lc-chips .chip { height: 27px; padding: 0 9px; border-radius: 9px; border: 1px solid var(--hair2); background: var(--glass2); font-size: 11.5px; font-weight: 600; color: var(--text2); }
.lc-chips .chip.mono { font-family: var(--mono); color: var(--text); }
.lc-notes { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.lc-notes .st { height: 22px; padding: 0 8px; font-size: 11px; font-weight: 600; }
.lc-deal { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin-top: 12px; padding: 10px 12px; border-radius: 14px; background: rgba(0,0,0,.28); border: 1px solid var(--hair); }
.lc-deal > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.lc-deal b { font: 600 13.5px/1 var(--disp); color: var(--text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lc-deal span { font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--text3); font-weight: 700; }
.lc-deal .tt b { color: var(--pos); }
.lc-deal .bar { height: 4px; margin-top: 6px; border-radius: 2px; background: rgba(255,255,255,.08); overflow: hidden; }
.lc-deal .bar i { display: block; height: 100%; border-radius: 2px; background: linear-gradient(90deg, var(--acc-dark), var(--acc)); }
.acts4.lc-acts { display: grid; gap: 8px; margin-top: 12px; padding-top: 0; justify-content: stretch; }
.acts4.lc-acts.n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.acts4.lc-acts.n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.lc-acts .act { width: 100%; }
.acts4.lc-acts .act .sq { width: 100%; height: 42px; border-radius: 12px; border: 1px solid var(--hair2); background: var(--glass); color: var(--text2); }
.acts4.lc-acts .act.acc .sq { color: var(--acc); border-color: rgba(185,205,145,.45); background: rgba(185,205,145,.09); }
.acts4.lc-acts .act.cor .sq { color: var(--coral); border-color: rgba(217,141,130,.3); background: rgba(217,141,130,.07); }
.card.lc .coin-row { margin: 12px -14px 0; width: calc(100% + 28px); border-radius: 0; border: 0; border-top: 1px solid var(--hair); background: rgba(255,255,255,.03); color: var(--text2); }
/* ширина полос — классами pw-N (CSP запрещает style="") */
.pw-0 { width: 0; } .pw-5 { width: 5%; } .pw-10 { width: 10%; } .pw-15 { width: 15%; } .pw-20 { width: 20%; } .pw-25 { width: 25%; } .pw-30 { width: 30%; }
.pw-35 { width: 35%; } .pw-40 { width: 40%; } .pw-45 { width: 45%; } .pw-50 { width: 50%; } .pw-55 { width: 55%; } .pw-60 { width: 60%; } .pw-65 { width: 65%; }
.pw-70 { width: 70%; } .pw-75 { width: 75%; } .pw-80 { width: 80%; } .pw-85 { width: 85%; } .pw-90 { width: 90%; } .pw-95 { width: 95%; } .pw-100 { width: 100%; }

/* ── окно «Удалить бота?» (макет 1л): затемнённый размытый фон — неподвижный слой; окно появляется opacity + transform ── */
.dlg-wrap { position: fixed; inset: 0; z-index: 25; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(6,7,8,.55);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; pointer-events: none; transition: opacity 180ms ease; }
.dlg-wrap.open { opacity: 1; pointer-events: auto; }
.dlg { width: 320px; max-width: 100%; padding: 26px 22px 20px; border-radius: 24px; text-align: center; background: linear-gradient(180deg, #1C1E21, #141618);
  border: 1px solid rgba(255,255,255,.1); box-shadow: 0 0 0 1px rgba(217,141,130,.12), 0 30px 80px rgba(0,0,0,.7); transform: scale(.96); transition: transform 200ms cubic-bezier(.2,.8,.2,1); }
.dlg-wrap.open .dlg { transform: none; }
.dlg .m-ic { display: flex; align-items: center; justify-content: center; width: 62px; height: 62px; margin: 0 auto 14px; border-radius: 50%; color: var(--coral);
  background: rgba(217,141,130,.12); border: 1px solid rgba(217,141,130,.35); box-shadow: 0 0 30px rgba(217,141,130,.18); }
.dlg .m-ic .ico { width: 24px; height: 24px; }
.dlg .m-t { font: 600 20px/1.2 var(--disp); color: var(--text); }
.dlg .m-x { margin: 8px 0 20px; font-size: 13px; line-height: 1.4; color: var(--text3); }
.dlg .m-b { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.dlg .mb { height: 48px; border-radius: 14px; border: 1px solid var(--hair2); font: 700 15px/1 var(--sans); color: var(--text); background: var(--glass2); text-align: center; }
.dlg .mb.del { background: linear-gradient(180deg, #E0978C, #CF7F73); color: #1B0F0D; border-color: transparent; box-shadow: 0 8px 24px rgba(217,141,130,.25); }

/* ── «Настройка бота» LIVE (макет 2ж) ── */
.set2 { display: flex; flex-direction: column; gap: 0; }
.set2 > .note { margin-top: 10px; }
.hd { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.bk { display: flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 13px; flex: none; color: var(--bronze-text);
  border: 1px solid rgba(185,154,107,.45); background: rgba(185,154,107,.08); }
.hd > b { font: 600 14px/1 var(--disp); letter-spacing: .14em; text-transform: uppercase; color: var(--text); }
.who { display: flex; align-items: center; gap: 10px; width: 100%; margin-top: 4px; padding-top: 10px; border-top: 1px solid var(--hair); }
.who .lc-ava { width: 34px; height: 34px; font-size: 9px; }
.who .lc-name { font-size: 14px; }
.sh { display: flex; align-items: center; gap: 8px; margin: 22px 0 10px; font: 700 11.5px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--bronze-text); }
.sh > .ico { width: 14px; height: 14px; }
.sh .q { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--hair2); color: var(--text3); }
.sh .q .ico { width: 11px; height: 11px; }
.strat { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.sc { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); width: 100%; min-height: 150px; border-radius: 16px; border: 1px solid var(--hair2);
  background: var(--glass); overflow: hidden; text-align: left; }
.sc.press:active { transform: scale(.985); }
.sc .side { display: flex; align-items: center; justify-content: center; padding: 8px 0; writing-mode: vertical-rl; transform: rotate(180deg);
  font-size: 9px; letter-spacing: .18em; text-transform: uppercase; font-weight: 700; }
.sc.rec .side { background: rgba(185,205,145,.12); color: var(--acc); }
.sc.risk .side { background: rgba(185,154,107,.14); color: var(--bronze-text); }
.sc .in { display: flex; flex-direction: column; gap: 6px; padding: 12px; min-width: 0; }
.sc .ic { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 12px; background: var(--glass2); border: 1px solid var(--hair); color: var(--text2); }
.sc .ttl { margin-top: 6px; font: 600 12.5px/1.2 var(--disp); letter-spacing: -.01em; }
.sc .yr { font: 500 13.5px/1 var(--mono); letter-spacing: .02em; }
.sc.rec .yr { color: var(--acc); } .sc.risk .yr { color: var(--bronze-text); }
.sc .mn { margin-top: 2px; font-size: 11.5px; font-weight: 600; color: var(--text3); }
.sc .desc { position: absolute; right: 10px; top: 10px; display: flex; align-items: center; height: 22px; padding: 0 8px; border-radius: 999px; border: 1px solid var(--hair2);
  background: rgba(0,0,0,.3); font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--text2); }
.sc .sc-sel { position: absolute; right: 10px; top: 38px; display: flex; align-items: center; gap: 4px; height: 22px; padding: 0 8px; border-radius: 999px;
  border: 1px solid rgba(185,205,145,.5); background: rgba(185,205,145,.14); font-size: 9.5px; letter-spacing: .1em; text-transform: uppercase; color: var(--acc); }
.sc.on { border-color: rgba(185,205,145,.55); box-shadow: 0 0 0 1px rgba(185,205,145,.25), 0 12px 36px rgba(185,205,145,.08); }
.sc.is-disabled { cursor: default; }
.lockb { display: flex; align-items: flex-start; gap: 10px; margin-top: 10px; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(185,154,107,.35);
  border-left: 3px solid var(--bronze); background: rgba(185,154,107,.07); font-size: 13.5px; line-height: 1.4; color: var(--text); }
.lockb .ico { width: 16px; height: 16px; margin-top: 2px; color: var(--bronze-text); flex: none; }
.depf { display: flex; align-items: center; justify-content: space-between; gap: 10px; height: 54px; padding: 0 16px; border-radius: 14px; border: 1px solid var(--hair2); background: rgba(0,0,0,.25); }
.depf:focus-within { border-color: rgba(185,205,145,.45); }
.depf input { flex: 1; min-width: 0; padding: 0; border: 0; outline: none; background: transparent; font: 500 17px/1 var(--mono); color: var(--text); }
.depf input[readonly] { color: var(--text2); }
.depf span { font-size: 12px; letter-spacing: .12em; font-weight: 700; color: var(--text3); }
.rnv { margin-top: 12px; padding: 14px; border-radius: 16px; border: 1px solid var(--hair2); background: var(--glass); }
.rnv .r1 { display: flex; align-items: center; justify-content: space-between; }
.rnv .lab { display: flex; align-items: center; gap: 8px; font: 700 11.5px/1 var(--sans); letter-spacing: .2em; text-transform: uppercase; color: var(--bronze-text); }
.rnv .lab .ico { width: 14px; height: 14px; }
.rnv .val { margin-top: 10px; font: 600 26px/1 var(--disp); letter-spacing: .01em; color: var(--bronze-text); text-align: center; }
.rbar { position: relative; height: 4px; margin-top: 12px; border-radius: 2px; background: rgba(255,255,255,.08); }
.rbar i { position: absolute; left: 0; top: 0; height: 100%; border-radius: 2px; background: var(--bronze); }
.rbar b { position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; background: var(--bronze-text); box-shadow: 0 0 0 3px rgba(185,154,107,.25); transform: translate(-50%, -50%); }
.rbar b.at-25 { left: 25%; } .rbar b.at-100 { left: 100%; }
.rnv .ends { display: flex; justify-content: space-between; margin-top: 10px; font: 500 11px/1 var(--mono); color: var(--text3); }
/* бронзовый тумблер макета 2ж (48 × 28) */
.sw.g { width: 48px; height: 28px; border-radius: 14px; background: rgba(255,255,255,.1); border: 1px solid var(--hair2); transition: background-color 160ms ease, border-color 160ms ease; }
.sw.g .kn { top: 3px; left: 3px; width: 20px; height: 20px; background: #C9CBC4; }
.sw.g.on { background: rgba(185,154,107,.9); border-color: transparent; }
.sw.g.on .kn { transform: translateX(20px); background: #1B150C; }
.acd { margin-top: 12px; border: 1px solid var(--hair2); border-radius: 18px; background: var(--glass); overflow: hidden; }
.acd .acc-h { display: flex; align-items: center; gap: 12px; width: 100%; padding: 14px; }
.acd .acc-h.press:active { transform: none; }
.acd .ai { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 13px; flex: none; background: var(--glass2); border: 1px solid var(--hair); color: var(--text2); }
.acd .at { display: flex; flex-direction: column; flex: 1; min-width: 0; }
.acd .at b { font: 700 15px/1.2 var(--sans); }
.acd .at small { margin-top: 3px; font-size: 12px; font-weight: 600; color: var(--text3); }
.acd .acd-chev { display: flex; color: var(--text3); transition: transform 200ms cubic-bezier(.2,.8,.2,1); }
.acd.open .acd-chev { transform: rotate(90deg); }
.acd .acc-b { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 250ms cubic-bezier(.2,.8,.2,1); }
.acd.open .acc-b { grid-template-rows: 1fr; }
.acd .acc-in { min-height: 0; overflow: hidden; }
.rowx { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px; border-top: 1px solid var(--hair); }
.rowx b { display: block; font-size: 14.5px; font-weight: 700; }
.rowx small { display: block; margin-top: 3px; font-size: 12px; line-height: 1.35; color: var(--text3); }
.inp2 { display: flex; gap: 8px; padding: 10px 14px 14px; border-top: 1px solid var(--hair); }
.inp2 input { flex: 1; min-width: 0; height: 48px; padding: 0 14px; border-radius: 12px; border: 1px solid var(--hair2); background: rgba(0,0,0,.25); outline: none; font: 500 14px/1 var(--mono); }
.inp2 input:focus { border-color: rgba(185,154,107,.55); }
.sv { display: flex; align-items: center; gap: 6px; height: 48px; padding: 0 18px; border-radius: 12px; flex: none; background: linear-gradient(180deg, #D9BE93, #B99A6B); color: #1B150C; font: 700 14px/1 var(--sans); }

/* ── фон-созвездие на всех маршрутах: яркость как в 1к; на высоких экранах ПК — то же созвездие снизу, отражённое (<use href>, svg не копируется) ── */
.aurora .net { opacity: .06; }
.sd-net2 { display: none; }
@media (min-width: 860px) {
  .sd-net { opacity: .28; }
  .sides { overflow: hidden; }
  .bots { align-items: start; }
  /* «Настройка бота» на ПК — одна колонка 780 по центру (колонка .app), элементы крупнее (правая часть 2ж) */
  .set2 .hd > b { font-size: 17px; }
  .set2 .sc { min-height: 170px; } .set2 .sc .in { padding: 16px 16px 18px; } .set2 .sc .ttl { font-size: 16px; } .set2 .sc .yr { font-size: 14px; }
  .set2 .sc .ic { width: 46px; height: 46px; }
  .set2 .depf { height: 60px; } .set2 .depf input { font-size: 19px; }
  .set2 .rnv { padding: 18px; } .set2 .rnv .val { font-size: 30px; }
  .set2 .acd .acc-h { padding: 18px; } .set2 .rowx { padding: 16px 18px; } .set2 .inp2 { padding: 12px 18px 16px; }
  .set2 .lockb { padding: 14px 16px; font-size: 14.5px; }
}
@media (min-width: 860px) and (min-height: 900px) {
  .sd-net { height: 830px; top: 0; bottom: auto; }
  .sd-net2 { display: block; top: auto; bottom: 0; transform: scaleY(-1); }
}

/* ══════════ [S375-в, 2026-10-23] МАКЕТЫ 3б «Статистика», 4а (подтверждения Стоп / Старт), 5в «График в карточке» (Claude outputs\макеты).
   Inline-стили макетов — в классы (CSP style-src 'self'); новое движение — только transform (шеврон подвала), под prefers-reduced-motion ниже. ══════════ */
/* ── «Статистика» (3б) ── */
.hd .q { display: flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; border: 1px solid var(--hair2); color: var(--text3); }
.hd .q .ico { width: 11px; height: 11px; }
.stx-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 14px; }
.stx-tile { min-width: 0; padding: 16px 14px; border-radius: 18px; border: 1px solid var(--hair2); background: var(--glass); text-align: center; }
.stx-tile > span { display: block; font-size: 10.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--text3); font-weight: 700; }
.stx-tile b { display: block; margin-top: 8px; font: 600 26px/1 var(--disp); color: var(--pos); white-space: nowrap; }
.stx-tile b i { margin-left: 6px; font: 700 11px/1 var(--sans); font-style: normal; letter-spacing: .12em; color: var(--text3); }
.stx-tile b.zero, .stx-tile b.na { color: var(--text); }
.stx-tile b.neg { color: var(--coral); }
.stx-h { display: flex; align-items: center; gap: 10px; margin: 22px 0 10px; padding: 12px 14px; border-radius: 16px; border: 1px solid var(--hair2); background: var(--glass); }
.stx-h .ic { display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; flex: none; border-radius: 11px; color: var(--bronze-text);
  background: rgba(185,154,107,.12); border: 1px solid rgba(185,154,107,.3); }
.stx-h .t { flex: 1; min-width: 0; }
.stx-h .t b { display: block; font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: var(--bronze-text); font-weight: 700; white-space: nowrap; }
.stx-h .bar { height: 4px; margin-top: 8px; border-radius: 2px; background: rgba(255,255,255,.08); overflow: hidden; }
.stx-h .bar i { display: block; height: 100%; border-radius: 2px; background: linear-gradient(90deg, var(--acc-dark), var(--pos)); }
.chip2 { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 9px; flex: none; border-radius: 999px; font-size: 11px; font-weight: 700; white-space: nowrap;
  color: var(--pos); background: rgba(159,203,142,.12); border: 1px solid rgba(159,203,142,.35); }
.chip2.gray { color: var(--text2); background: var(--glass2); border-color: var(--hair2); }
.stx-tr { margin-top: 10px; padding: 14px; border-radius: 18px; border: 1px solid var(--hair2); background: var(--glass); }
.stx-tr .stx-r { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.stx-tr .sym { font: 600 15px/1 var(--disp); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stx-tr .bg { display: inline-flex; align-items: center; gap: 5px; height: 24px; padding: 0 10px; flex: none; border-radius: 999px; font-size: 10.5px; letter-spacing: .12em;
  text-transform: uppercase; font-weight: 700; color: var(--text2); background: var(--glass2); border: 1px solid var(--hair2); }
.stx-tr .bg.tp { color: var(--pos); background: rgba(159,203,142,.12); border-color: rgba(159,203,142,.35); }
.stx-tr .bg.liq { color: var(--coral); background: rgba(217,141,130,.1); border-color: rgba(217,141,130,.35); }
.stx-tr .stx-kv { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 12px; }
.stx-tr .stx-kv > div { min-width: 0; padding: 10px 12px; border-radius: 12px; background: rgba(0,0,0,.25); border: 1px solid var(--hair); }
.stx-tr .stx-kv span { display: block; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; color: var(--text3); font-weight: 700; }
.stx-tr .stx-kv b { display: block; margin-top: 4px; font: 500 15px/1 var(--mono); color: var(--pos); white-space: nowrap; }
.stx-tr .stx-kv b.neg { color: var(--coral); }
.stx-tr .stx-kv b.na { color: var(--text2); }
.stx-tr .stx-dt { margin-top: 10px; text-align: right; font-size: 12px; color: var(--text3); font-weight: 600; }
.stx-empty { margin-top: 12px; padding: 28px 18px; border-radius: 18px; border: 1px dashed var(--hair2); text-align: center; color: var(--text3); font-size: 13.5px; line-height: 1.45; }
.stx-empty .dot, .cc-quiet .dot { display: inline-block; width: 7px; height: 7px; margin-right: 8px; border-radius: 50%; background: #E3C067; box-shadow: 0 0 8px #E3C067; }

/* ── подтверждения Стоп / Старт (4а) — тот же слой, что «Удалить бота?» ── */
.dlg.dlg-act { box-shadow: 0 0 0 1px rgba(255,255,255,.06), 0 30px 80px rgba(0,0,0,.7); }
.dlg .m-ic.amb { color: #F0D9A0; background: rgba(227,192,103,.12); border-color: rgba(227,192,103,.4); box-shadow: 0 0 30px rgba(227,192,103,.18); }
.dlg .m-ic.grn { color: var(--pos); background: rgba(159,203,142,.12); border-color: rgba(159,203,142,.4); box-shadow: 0 0 30px rgba(159,203,142,.18); }
.dlg .m-x.m-s { font: 600 12.5px/1.4 var(--mono); }
.dlg .m-b.one { grid-template-columns: 1fr; }
.dlg .mb.amb { background: linear-gradient(180deg, #EBD08A, #D4B46A); color: #1B150C; border-color: transparent; box-shadow: 0 8px 24px rgba(227,192,103,.22); }
.dlg .mb.go { background: linear-gradient(180deg, #C9DB9F, #A9BE7E); color: #151A0B; border-color: transparent; box-shadow: 0 8px 24px rgba(185,205,145,.25); }
.dlg .mb:disabled { opacity: .55; }

/* ── «График ›» в карточке (5в) ── */
.card.lc .cc-f { display: flex; align-items: center; justify-content: space-between; gap: 10px; width: calc(100% + 28px); margin: 12px -14px 0; padding: 12px 14px;
  border: 0; border-top: 1px solid var(--hair); border-radius: 0; color: var(--bronze-text); font: 700 14px/1.2 var(--sans); text-align: left; cursor: pointer;
  background: linear-gradient(90deg, rgba(185,154,107,.12), rgba(185,154,107,.05)); }
.card.lc .cc-f.open { background: linear-gradient(90deg, rgba(185,154,107,.16), rgba(185,154,107,.06)); border-bottom: 1px solid rgba(185,154,107,.18); }
.cc-f .cc-l { display: flex; align-items: center; gap: 10px; min-width: 0; }
.cc-f .cc-l b { font-family: var(--mono); color: var(--bronze-text); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.cc-f .cc-chev { flex: none; transition: transform 200ms cubic-bezier(.2,.8,.2,1); }
.cc-f.open .cc-chev { transform: rotate(-90deg); }
.ccp, .cc-quiet { margin: 0 -14px; background: rgba(0,0,0,.18); }
.ccp { padding: 12px 14px 14px; }
.cc-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cc-top .px { font: 500 18px/1 var(--mono); color: var(--text); white-space: nowrap; }
.cc-top .px small { display: inline; margin-left: 8px; font-size: 12px; color: var(--coral); }
.cc-top .px small.up { color: var(--pos); }
.cc-top .tfs { display: flex; gap: 4px; }
.cc-top .tfs button { display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 8px; border: 1px solid var(--hair2); background: var(--glass);
  font: 600 11px/1 var(--mono); color: var(--text3); }
.cc-top .tfs button.on { color: var(--bronze-text); border-color: rgba(185,154,107,.45); background: rgba(185,154,107,.1); }
.cc-plot { height: 230px; margin-top: 10px; border-radius: 12px; background: #0E1011; border: 1px solid var(--hair); overflow: hidden; }
.ccp .leg { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 10px; font-size: 11px; color: var(--text3); font-weight: 600; }
.ccp .leg i { display: inline-block; width: 14px; height: 0; margin-right: 6px; vertical-align: middle; border-top: 2px solid; }
.ccp .leg .lk-tp i { border-color: var(--pos); }
.ccp .leg .lk-be i { border-color: var(--bronze); }
.ccp .leg .lk-fl i { border-color: #C9CBC4; }
.ccp .leg .lk-wt i { border-color: #7A7E85; border-top-style: dotted; }
.ccp .chart-attr { margin-top: 6px; }
.ccp .ch-t { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.ccp .ch-t > div { min-width: 0; padding: 10px 12px; border-radius: 12px; background: rgba(0,0,0,.25); border: 1px solid var(--hair); }
.ccp .ch-t span { display: block; font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--text3); font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ccp .ch-t b { display: block; margin-top: 4px; font: 500 14px/1 var(--mono); color: var(--text); white-space: nowrap; }
.ccp .ch-t b.g { color: var(--pos); }
.ccp .ch-t b.br { color: var(--bronze-text); }
.ccp .ch-t b small { display: inline; font-size: 11px; color: var(--text3); }
.ccp .ch-t em { display: block; margin-top: 3px; font-size: 9px; font-style: normal; color: var(--text3); }
.cc-quiet { display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 16px 14px; color: var(--text3); font-size: 13px; font-weight: 600; text-align: center; }
.cc-quiet .dot { margin-right: 0; }
.cc-quiet .coins { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; }
.cc-quiet .coin { display: inline-flex; align-items: center; height: 26px; padding: 0 9px; border-radius: 8px; border: 1px solid var(--hair); background: var(--glass);
  font: 500 11px/1 var(--mono); color: var(--text2); }
@media (min-width: 860px) {
  .stx-tile b { font-size: 30px; }
  .cc-plot { height: 300px; }
}

/* ══════════ [S378-в, 2026-10-23] МАКЕТЫ 4а (экран запуска, «Бот активирован»), 6а («Выберите субаккаунт», «Новый бот», PRO), 1к (остатки
   движения) (Claude outputs\макеты). Inline-стили макетов — в классы (CSP style-src 'self'). Слой экрана запуска — тот же неподвижный .dlg-wrap
   (его размытие; своего backdrop-filter нет). Движение — только transform / opacity, под prefers-reduced-motion ниже. ══════════ */
/* ── окно «Запустить бота?»: субаккаунт мелко под строкой (642) ── */
.dlg .m-sa { display: block; margin-top: 6px; font-size: 11.5px; color: var(--text3); }
/* ── экран запуска (4а): размытие, дуга фисташкой вокруг AUTO, шаги по фазам сервера ── */
.dlg-wrap.lnch-wrap { z-index: 26; background: rgba(10,11,12,.72); }
.lnch { display: flex; flex-direction: column; align-items: center; gap: 18px; }
.lnch-ring { position: relative; display: flex; align-items: center; justify-content: center; width: 132px; height: 132px; border-radius: 50%; }
.lnch-ring .arc { position: absolute; inset: 0; border-radius: 50%; animation: lnch-spin 1.6s linear infinite;
  background: conic-gradient(from 0deg, rgba(185,205,145,0), rgba(185,205,145,.9) 70%, rgba(185,205,145,0) 100%);
  -webkit-mask: radial-gradient(circle, transparent 60px, #000 62px); mask: radial-gradient(circle, transparent 60px, #000 62px); }
.lnch-ring::after { content: ""; position: absolute; inset: 14px; border-radius: 50%; border: 1px solid rgba(185,205,145,.25);
  box-shadow: 0 0 40px rgba(185,205,145,.18), inset 0 0 30px rgba(185,205,145,.08); }
.lnch-ring .av { position: relative; display: flex; align-items: center; justify-content: center; width: 84px; height: 84px; border-radius: 50%;
  background: radial-gradient(circle at 40% 35%, #2a2d33, #111317); border: 1px solid var(--hair2); font: 700 13px/1 var(--sans); letter-spacing: .08em; color: var(--text); }
.lnch-ring .av .ico { width: 22px; height: 22px; }
.lnch .lt { font: 600 18px/1.2 var(--disp); color: var(--text); text-align: center; }
.lnch .ls-sub { margin-top: -8px; font-size: 12.5px; font-weight: 600; color: var(--text3); text-align: center; }
.lnch .ls { display: flex; flex-direction: column; gap: 8px; width: 250px; }
.lnch .ls > div { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 600; color: var(--text3); }
.lnch .ls i { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; flex: none; border-radius: 50%; border: 1px solid var(--hair2);
  font-size: 10px; font-style: normal; color: var(--text3); }
.lnch .ls .ok { color: var(--text2); }
.lnch .ls .ok i { background: rgba(159,203,142,.15); border-color: rgba(159,203,142,.5); color: var(--pos); }
.lnch .ls .cur { color: var(--text); }
.lnch .ls .cur i { border-color: rgba(185,205,145,.6); box-shadow: 0 0 10px rgba(185,205,145,.4); }
.lnch .ls .cur i::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--acc); animation: lnch-pulse 1.2s ease-in-out infinite; }
.lnch.done .lnch-ring .arc { animation: none; background: conic-gradient(rgba(159,203,142,.9), rgba(159,203,142,.9)); }
.lnch.done .lnch-ring::after { border-color: rgba(159,203,142,.5); }
.lnch.done .lnch-ring .av { color: var(--pos); }
.lnch.done .lt { color: var(--pos); }
/* ── шторка «Выберите субаккаунт» (6а): классы ss-* (глобальные .sub / .btn / .sh-h макета не берутся — утечка в чужие экраны) ── */
.ss-h { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ss-h b { font: 600 15px/1 var(--disp); letter-spacing: .14em; text-transform: uppercase; color: var(--text); }
.ss-row { display: flex; align-items: center; gap: 12px; width: 100%; padding: 12px; border-radius: 18px; border: 1px solid var(--hair2); background: var(--glass);
  color: var(--text); text-align: left; }
.ss-ava { display: flex; align-items: center; justify-content: center; width: 46px; height: 46px; flex: none; border-radius: 50%; font: 700 10px/1 var(--sans); letter-spacing: .08em;
  color: var(--text2); background: radial-gradient(circle at 40% 35%, #2a2d33, #111317); border: 1px solid var(--hair2); }
.ss-row.dl .ss-ava { border-color: rgba(159,203,142,.7); box-shadow: 0 0 0 1px rgba(159,203,142,.3), 0 0 14px rgba(159,203,142,.2); }
.ss-row.wait .ss-ava { border-color: rgba(227,192,103,.7); box-shadow: 0 0 0 1px rgba(227,192,103,.25), 0 0 14px rgba(227,192,103,.18); }
.ss-t { flex: 1; min-width: 0; }
.ss-t b { display: block; font: 600 16px/1.15 var(--disp); letter-spacing: -.01em; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ss-chs { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 7px; }
.ss-ch { display: inline-flex; align-items: center; height: 24px; padding: 0 9px; border-radius: 7px; border: 1px solid var(--hair2); background: rgba(0,0,0,.25);
  font-size: 11.5px; font-weight: 600; color: var(--text2); }
.ss-ch.mono { font-family: var(--mono); font-size: 11px; }
.ss-ch.g { color: var(--pos); border-color: rgba(159,203,142,.3); background: rgba(159,203,142,.08); }
.ss-ch.w { color: #E3C067; border-color: rgba(227,192,103,.35); background: rgba(227,192,103,.1); }
.ss-ch.f { color: var(--text3); }
.ss-row .ss-chev { flex: none; color: var(--text3); }
.ss-btn { display: flex; align-items: center; justify-content: center; width: 100%; height: 50px; border-radius: 14px; font: 700 14.5px/1 var(--sans); }
.ss-btn.o { margin-top: 6px; border: 1px solid rgba(185,205,145,.45); background: rgba(185,205,145,.08); color: var(--acc); }
.ss-btn.g { border: 1px solid var(--hair2); background: var(--glass); color: var(--text2); }
.ss-hint { font-size: 13px; line-height: 1.4; color: var(--text3); text-align: center; }
.sheet.sheet-sub { gap: 8px; background: linear-gradient(180deg, #1b1d20, #121416); border-color: var(--hair2); }
/* ── «Новый бот» LIVE (2ж / 6а): строка PRO, панель «Своя сетка», реинвест PRO, две кнопки ── */
.nb .who .st { margin-left: auto; }
.nb-prow { display: flex; align-items: center; gap: 12px; width: 100%; margin-top: 10px; padding: 12px 14px; border-radius: 16px; border: 1px solid var(--hair2);
  background: var(--glass); color: var(--text); text-align: left; }
.nb-prow .pi { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; flex: none; border-radius: 12px; background: var(--glass2);
  border: 1px solid var(--hair); color: var(--text2); }
.nb-prow .pi .ico { width: 18px; height: 18px; }
.nb-prow .pt { flex: 1; min-width: 0; }
.nb-prow .pt b { display: block; font: 600 13.5px/1.2 var(--disp); }
.nb-prow .pt small { display: block; margin-top: 4px; font-size: 11.5px; font-weight: 600; line-height: 1.35; color: var(--text3); }
.nb-prow .desc2, .nb-prow .sel2 { display: flex; align-items: center; height: 22px; padding: 0 8px; flex: none; border-radius: 999px; font-size: 9.5px; letter-spacing: .1em;
  text-transform: uppercase; }
.nb-prow .desc2 { border: 1px solid var(--hair2); background: rgba(0,0,0,.25); color: var(--text2); }
.nb-prow .sel2 { border: 1px solid rgba(217,190,147,.5); background: rgba(217,190,147,.14); color: var(--bronze-text); }
.nb-prow.on { border-color: rgba(217,190,147,.55); box-shadow: 0 0 0 1px rgba(217,190,147,.25); }
.nb-prow.on .pi { color: var(--bronze-text); border-color: rgba(217,190,147,.35); background: rgba(217,190,147,.1); }
.nb-pro { margin-top: 10px; padding: 12px; border-radius: 18px; border: 1px solid rgba(217,190,147,.3); background: rgba(185,154,107,.05); }
.nb-lab { display: flex; align-items: center; gap: 8px; padding: 2px 2px 0; font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--bronze-text); font-weight: 700; }
.nb-lab .ico { width: 13px; height: 13px; }
.nb-g2 { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.nb-pf { display: flex; flex-direction: column; justify-content: center; gap: 5px; min-width: 0; height: 60px; padding: 0 14px; border-radius: 14px; border: 1px solid var(--hair2);
  background: rgba(0,0,0,.25); }
.nb-pf.w2 { grid-column: span 2; }
.nb-pf > i { font-style: normal; font-size: 9.5px; letter-spacing: .16em; text-transform: uppercase; color: var(--text3); font-weight: 700; }
.nb-pf .nb-v { display: flex; align-items: center; justify-content: space-between; gap: 6px; }
.nb-pf .nb-v small { display: inline; font-size: 11px; color: var(--text3); }
.nb-pf input, .nb-pf .nb-sel { width: 100%; min-width: 0; padding: 0; border: 0; outline: none; background: transparent; font: 500 15px/1 var(--mono); color: var(--text); }
.nb-pf .nb-sel { appearance: none; -webkit-appearance: none; }
.nb-pf .nb-sel option { background: #17191B; color: var(--text); }
.nb-rv3 { display: flex; gap: 6px; margin-top: 10px; }
.nb-rv3 button { display: flex; align-items: center; justify-content: center; flex: 1; height: 36px; border-radius: 10px; border: 1px solid var(--hair2); background: var(--glass); font: 600 12.5px/1 var(--sans); color: var(--text2); }
.nb-rv3 button.on { border-color: rgba(217,190,147,.5); background: rgba(217,190,147,.12); color: var(--bronze-text); }
.nb-two { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.nb-two .btn { display: flex; align-items: center; justify-content: center; margin: 0; padding: 0 8px; font-size: 13.5px; white-space: normal; line-height: 1.2; text-align: center; }
.nb .nb-go { margin-top: 14px; height: 54px; }
.nb > .ss-btn.o { margin-top: 18px; }
@media (min-width: 860px) {
  /* на ПК шторка субаккаунтов — окно 520 по центру (только эта шторка: модификатор sheet-sub) */
  .sheet.sheet-sub { align-self: center; width: 520px; max-width: calc(100% - 32px); border-radius: 24px; border-bottom: 1px solid var(--hair2); padding: 18px 20px 20px; }
  .sheet.sheet-sub > .grab { display: none; }
}
/* ── остатки движения (макет 1к): дрейф бронзового свечения «Общего депозита» (~20 с, transform), ореол активной кнопки nav (opacity) +
   свечение иконки + точка со свечением, сегмент RU | EN (цвет / фон — переходом) ── */
.balance.dep::before { animation: dep-drift 20s ease-in-out infinite alternate; }
@keyframes dep-drift { 0% { transform: translate(0, 0); } 50% { transform: translate(-46px, 28px); } 100% { transform: translate(-18px, 54px); } }
.nav button { position: relative; }
.nav button::before { content: ""; position: absolute; left: 50%; top: -6px; width: 72px; height: 58px; margin-left: -36px; pointer-events: none; opacity: 0;
  background: radial-gradient(ellipse at 50% 20%, rgba(185,205,145,.28), rgba(185,205,145,.08) 50%, transparent 72%); transition: opacity 240ms ease; }
.nav button.on::before { opacity: 1; }
.nav button.on .ico { filter: drop-shadow(0 0 8px rgba(185,205,145,.7)); }
.nav button.on span::after { box-shadow: 0 0 10px 2px rgba(185,205,145,.6); }
.hb.lang { gap: 0; height: 38px; padding: 3px; }
.hb.lang span { display: inline-flex; align-items: center; height: 100%; padding: 0 11px; border-radius: 999px; font-size: 12.5px; font-weight: 700; color: var(--text3);
  transition: background-color 200ms ease, color 200ms ease; }
.hb.lang span.on { background-color: var(--glass2); color: var(--text); }
@keyframes lnch-spin { to { transform: rotate(360deg); } }
@keyframes lnch-pulse { 0%, 100% { opacity: .3; } 50% { opacity: 1; } }

/* «Уменьшить движение»: новое движение S374-в выключено (общее правило выше и так снимает animation / transition — здесь поимённо) */
@media (prefers-reduced-motion: reduce) {
  .sk, .lc-d .st i, .lc-w .st i, .who.lc-d .st i, .who.lc-w .st i { animation: none !important; }
  .card.lc, .dlg-wrap, .dlg, .sw.g, .acd .acd-chev, .acd .acc-b { transition: none !important; }
  .card.lc:has(> .lc-h:active) { transform: none; }
  /* [S375-в] шеврон подвала «График ›» (5в) */
  .cc-f .cc-chev { transition: none !important; }
  /* [S378-в] экран запуска (4а): дуга — статичное кольцо, точка шага не мигает */
  .lnch-ring .arc, .lnch .ls .cur i::before, .lnch.done .lnch-ring .arc { animation: none !important; }
  .lnch:not(.done) .lnch-ring .arc { background: conic-gradient(rgba(185,205,145,.55), rgba(185,205,145,.55)); }
  /* [S378-в] остатки движения 1к: свечение депозита стоит, ореол nav и сегмент RU | EN — без перехода */
  .balance.dep::before { animation: none !important; transform: none; }
  .nav button::before, .hb.lang span { transition: none !important; }
}
