/* Kopsov PRO — токены для веба. Производный файл: источник — tokens/tokens.json. */
:root {
  /* фон, 4 уровня глубины */
  --bg-ground: #07080A;
  --bg-base: #0B0D10;
  --bg-surface: #101317;
  --bg-raised: #161A1F;
  --bg-overlay: #1B2026;   /* всплывающее поверх экрана: окно раздела, подсказка, палитра, лист */

  /* текст */
  --text-primary: #ECEFF3;
  --text-secondary: #A3ABB6;
  --text-muted: #7C8591;
  --text-on-accent: #1A0E05;
  --text-on-loss: #1A0E05;   /* тёмные, а не белые: 5,3 против 3,57 */

  /* черты */
  --border-subtle: rgba(214, 226, 255, 0.07);
  --border-default: rgba(214, 226, 255, 0.11);
  --border-strong: rgba(214, 226, 255, 0.18);
  --border-card: rgba(214, 226, 255, 0.13);   /* обводка карточки со свечением — чуть светлее обычной */

  /* акцент — только интерактив */
  --accent: #FF7A18;
  --accent-light: #FFA24D;
  --accent-dark: #E0640A;
  --accent-soft: rgba(255, 122, 24, 0.14);
  --accent-line: rgba(255, 122, 24, 0.42);
  --accent-row-soft: rgba(255, 122, 24, 0.08);   /* подложка выбранной строки таблицы */
  --accent-row-faint: rgba(255, 122, 24, 0.06);  /* подложка выбранной версии в карточке бота */
  --accent-note-fill: rgba(255, 122, 24, 0.10);  /* янтарная врезка на листе */
  --accent-note-line: rgba(255, 122, 24, 0.36);

  /* семантика */
  --profit: #3DD68C;
  --profit-soft: rgba(61, 214, 140, 0.12);
  --profit-line: rgba(61, 214, 140, 0.36);
  --loss: #ED5055;
  --loss-soft: rgba(237, 80, 85, 0.12);
  --loss-line: rgba(237, 80, 85, 0.36);
  --neutral: #7C8591;
  --neutral-soft: rgba(124, 133, 145, 0.12);
  --neutral-line: rgba(124, 133, 145, 0.36);
  --warning: #E6B422;
  --warning-soft: rgba(230, 180, 34, 0.12);
  --warning-line: rgba(230, 180, 34, 0.36);
  /* голос системы — «лёд»: связь, опрос, ход обработки, живые данные */
  --system: #8FC2FF;
  --system-soft: rgba(143, 194, 255, 0.12);
  --system-line: rgba(143, 194, 255, 0.36);

  /* статусы бота */
  --status-running: var(--profit);
  --status-stopped: var(--neutral);
  --status-error: var(--loss);
  --status-draft: var(--neutral);

  /* шрифты */
  --font-text: "Onest", -apple-system, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  /* голос человека крупно: деньги на главной, заголовки экранов и панелей */
  --font-display: "Geologica", -apple-system, "SF Pro Display", "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: "JetBrains Mono", "SF Mono", Menlo, monospace;
  /* Шкала размеров: одно имя на одно число.

     Имена названы по роли, а не по месту. Прежде их было 36 на 21 число —
     пять имён значили 15, пять значили 11, — и «поправить весь обычный текст»
     перестало быть одним движением: новое место на экране рождало новое имя.
     Ниже отдельным блоком стоят уходящие имена: они ничего не задают, только
     указывают на ступень, и гаснут по мере правки экранов. Сторож дизайна
     следит, чтобы двух имён с одним числом в шкале больше не заводилось. */
  --size-display: 76px;      /* главное число кабинета в языке «Прибор» — «Денег на счетах» тонким гротеском */
  --size-display-window: 56px; /* главное число окна владельца в языке «Прибор» — итог «Панели» одометром */
  --size-hero: 44px;         /* главное число окна владельца */
  --size-hero-web: 40px;     /* главное число кабинета — «Денег на счёте» */
  --size-summary: 36px;      /* итог на первой плитке ряда */
  --size-code: 34px;         /* разовый код на листе */
  --size-big: 32px;          /* крупное число панели кабинета; оно же главное число в узком окне */
  --size-mob-hero: 30px;     /* главное число на телефоне */
  --size-figure: 28px;       /* заметное число: потолок предела риска, версия советника */
  --size-bind-code: 26px;    /* код привязки счёта; оно же крупное число панели в узком окне */
  --size-metric: 25px;       /* значение в плитке */
  --size-mob-title: 24px;    /* название раздела на телефоне */
  --size-title: 22px;        /* заголовок экрана; оно же число тесной плитки */
  --size-detail: 20px;       /* крупное число мелкой плитки и риск на сделку */
  --size-card-metric: 18px;  /* «Сегодня» и «Месяц» на карточке бота; валюта при главном числе */
  --size-sheet-title: 17px;  /* заголовок листа; имя связки на карточке */
  --size-heading: 16px;      /* заголовок карточки; хвост при числе плитки; пара чисел на телефоне */
  --size-body: 15px;         /* обычный текст */
  --size-value: 14px;        /* значение в поле, имя в строке таблицы */
  --size-small: 13px;        /* мелкий текст таблиц и списков */
  --size-caption: 12px;      /* пояснение, время, версия при имени */
  --size-label: 11px;        /* надпись над числом прописными; мелкая подпись; число при отборе */
  --size-axis: 10px;         /* числа и даты у осей пути счёта; подпись вкладки на телефоне */

  /* Уходящие имена: ступень та же, имя прежнее. Новых сюда не заводят. */
  --size-hero-web-narrow: var(--size-big);
  --size-big-narrow: var(--size-bind-code);
  --size-limit-cap: var(--size-figure);
  --size-advisor-version: var(--size-figure);
  --size-metric-compact: var(--size-title);
  --size-hero-unit: var(--size-card-metric);
  --size-binding-name: var(--size-sheet-title);
  --size-metric-tail: var(--size-heading);
  --size-mob-pair: var(--size-heading);
  --size-mob-sheet-label: var(--size-body);
  --size-name: var(--size-value);
  --size-field: var(--size-value);
  --size-cell-mono: var(--size-small);
  --size-tiny: var(--size-label);
  --size-counter: var(--size-label);
  --size-mob-tab: var(--size-axis);
  --tracking-code: 0.12em;
  --tracking-bind-code: 0.08em;
  --tracking-label: 0.08em;
  --tracking-hero: -0.02em;
  --tracking-summary: -0.02em;
  --tracking-caps: 0.06em;   /* пилюля языка в шапке кабинета — единственное место; надпись над числом идёт с tracking-label */
  /* высота строки: обычный текст 1.5, заголовок 1.2, имя на карточке 1.3, числа плотнее */
  --line-body: 1.5;
  --line-title: 1.2;
  --line-card-name: 1.3;
  --line-card-metric: 1.1;
  --line-metric: 1.05;
  --line-summary: 1;
  --line-sheet-title: 1.3;
  --line-mob-title: 1.15;
  --line-detail: 1.1;
  --line-note: 1.45;         /* пояснение под числом и в карточке — как в макетах */
  --line-solid: 1;           /* число без запаса по высоте: главное, крупное, код, потолок, версия */

  /* Отступы. Сетка: шаг 4 и полушаг 2 — полушагом отбивают части одной вещи
     друг от друга. Сверх них четыре доводки, и других не заводят: 1 (надпись
     и число), 3 (подпись и число в тесной плитке, поле пилюли по высоте),
     5 (число и его хвост), 9 (поле пилюли в строке таблицы, поле строки
     ленты). Сторож дизайна пятую доводку не пропустит. */
  --space-0: 0;
  --space-0-25: 1px;
  --space-0-5: 2px;
  --space-0-75: 3px;
  --space-1: 4px;
  --space-1-25: 5px;
  --space-1-5: 6px;
  --space-2: 8px;
  --space-2-25: 9px;
  --space-2-5: 10px;
  --space-3: 12px;
  --space-3-5: 14px;
  --space-4: 16px;
  --space-5: 20px;
  --space-6: 24px;
  --space-8: 32px;
  --space-10: 40px;

  /* радиусы */
  --radius-panel: 18px;      /* большая панель: главная плитка, панель экрана, колонка разделов */
  --radius-xs: 6px;
  --radius-control: 9px;
  --radius-card: 14px;
  --radius-hero: 12px;
  --radius-pill: 999px;
  --radius-segment: 7px;   /* деление переключателя в плашке */
  --radius-sheet: 14px;    /* лист; на телефоне — карточка */
  --radius-step: 8px;      /* номер шага установки и поле карточки бота */
  --radius-bar: 2px;       /* черта слева у строки ленты — скруглена справа */
  --radius-code: 10px;     /* подложка разового кода на листе */
  --radius-check: 4px;     /* клетка отметки */

  /* тени */
  --shadow-card: inset 0 1px 0 rgba(255, 255, 255, 0.05), 0 2px 10px rgba(0, 0, 0, 0.35);
  --shadow-overlay: 0 12px 32px rgba(0, 0, 0, 0.5);
  --shadow-sheet: 0 30px 90px rgba(0, 0, 0, 0.7), inset 0 1px 0 rgba(255, 255, 255, 0.06); /* лист поверх экрана: приветствие кабинета, листы окна владельца */
  --shadow-focus: 0 0 0 2px var(--accent);
  --highlight-top: inset 0 1px 0 rgba(255, 255, 255, 0.05);   /* блик по верхней кромке сам по себе */
  --shadow-login: 0 24px 60px rgba(0, 0, 0, 0.5);              /* карточка входа */
  --shadow-menu: 0 20px 50px rgba(0, 0, 0, 0.6), inset 0 1px 0 rgba(255, 255, 255, 0.05);
  --shadow-mob-sheet: 0 -20px 50px rgba(0, 0, 0, 0.6);         /* лист «Ещё» на телефоне */
  --shadow-button: 0 6px 22px rgba(255, 122, 24, 0.24);        /* главная кнопка кабинета в покое */
  --veil: rgba(0, 0, 0, 0.55);                                 /* пелена под листом */
  --mob-bar-bg: rgba(11, 13, 16, 0.9);                         /* панель разделов на телефоне */
  --tab-on-fill: rgba(255, 122, 24, 0.12);                     /* выбранная вкладка раздела */
  --tab-on-ring: inset 0 0 0 1px rgba(255, 122, 24, 0.30);
  --menu-hover-fill: rgba(255, 122, 24, 0.12);                 /* пункт окна раздела под курсором */
  --menu-hover-line: rgba(255, 122, 24, 0.28);
  --warning-fill: rgba(230, 180, 34, 0.16);                    /* номер шага с предупреждением */
  --warning-tile-fill: rgba(230, 180, 34, 0.08);               /* плитка «Свежая у нас», когда пора обновиться */
  --warning-tile-line: rgba(230, 180, 34, 0.32);
  --advice-fill: rgba(230, 180, 34, 0.10);                     /* лента совета под полосой состояния кабинета */
  --advice-line: rgba(230, 180, 34, 0.28);

  /* движение */
  --motion-duration: 180ms;
  --motion-easing: ease-out;
  --motion-sheet: 220ms;   /* появление листа: из прозрачности, на sheet-shift ниже и в sheet-scale размера — к месту */
  --sheet-shift: 10px;
  --sheet-scale: 0.98;
  --motion-menu: 260ms;    /* окно раздела: приход на место и поворот стрелки */
  --motion-menu-fade: 200ms;  /* оно же — проявление */
  --motion-menu-easing: cubic-bezier(0.2, 0.8, 0.2, 1);
  --motion-screen: 520ms;  /* въезд открытого раздела */
  --screen-shift: 12px;    /* на столько он поднимается на место */
  --menu-scale: 0.97;      /* закрытое окно раздела стоит в 0,97 размера */
  --hover-lift: -1px;
  --glow-card: 0 0 0 1px rgba(255, 122, 24, 0.12), 0 0 24px rgba(255, 122, 24, 0.10), 0 10px 28px rgba(0, 0, 0, 0.45);
  --glow-primary: 0 0 0 3px rgba(255, 122, 24, 0.18), 0 6px 18px rgba(255, 122, 24, 0.30);
  --glow-quiet: 0 0 0 3px rgba(255, 122, 24, 0.10);
  --glow-muted: 0 0 0 3px rgba(255, 255, 255, 0.04);   /* серая кнопка «Настройки» */
  --glow-alert: 0 0 0 3px rgba(237, 80, 85, 0.12);     /* кнопка на полосе тревог */
  --alert-hover-fill: rgba(237, 80, 85, 0.16);
  --hover-highlight: rgba(255, 255, 255, 0.06);        /* блик по верхней кромке карточки под курсором */
  --halo-w: 3px;
  --pressed-surface: #1F242B;                          /* фон тихой кнопки в момент нажатия */
  --dimmed: 0.7;                                       /* карточка погашенного бота и черновика */
  --disabled: 0.45;                                    /* недоступная кнопка */
  --arrow-dim: 0.7;                                    /* стрелка у раздела, за которым окно */
  --money-dim: 0.75;                                   /* деньги рядом с итогом R в разбивке */
  --pick-off: 0.55;                                    /* кружок бота, которого выбрать нельзя */
  --glow-line-blur: 5px;   /* неон под линией графика: размытая копия линии, ширина 6, непрозрачность .55 */
  --ring-duration: 3s;                                 /* оборот бегущей рамки */
  --ring-dim: rgba(255, 122, 24, 0.18);                        /* тусклый янтарь по кругу бегущей рамки */
  --ring-spark: #FFD9B8;                                       /* яркая искра кольца в двух точках */
  --hover-surface: #141820;                                    /* фон карточки под курсором */

  /* Эффекты (20.09.2026). Ведутся здесь же, как и вся семья `motion`:
     сборщик токенов раскладывает гамму, размеры, отступы и скругления, а
     движение остаётся за его краем и правится руками в обоих файлах разом. */
  /* Цифровая пыль: живой фон кабинета. Числа подобраны владельцем глазами. */
  --dust-count: 530;          /* сколько знаков на экране */
  --dust-size: 7px;           /* рост знака */
  --dust-speed: 0.5;          /* как медленно они оседают */
  --dust-link: 105px;         /* дальше этого нить между знаками не тянется */
  --dust-reach: 180px;        /* вокруг указателя знаки тянутся к нему */
  --dust-opacity: 0.2;        /* яркость всего поля */
  --dust-beams: 10;           /* восходящих лучей */
  --grain-opacity: 0.18;      /* зерно поверх окна через overlay: работает, но глазом не ловится */
  --grain-tile: 160px;        /* сторона плитки зерна */
  --spot-radius: 320px;       /* ширина пятна, подсвечивающего карточку под указателем */
  --spot-card: rgba(143, 194, 255, 0.11);  /* подсветка самой карточки под лучом — холодная: тёплое оставлено действию */
  --spot-edge: rgba(214, 226, 255, 0.22);  /* свет, бегущий по кромке панели за указателем */
  --spot-fade: 420ms;         /* сколько свет разгорается и гаснет */
  --spot-reach: 90px;         /* за сколько до карточки свет начинает разгораться */
  --top-bar-fill: rgba(11, 13, 16, 0.72);  /* шапка при прокрутке: сквозь неё просвечивает страница */
  --top-bar-blur: 14px;
  --run-h: 10px;              /* желоб хода сделки */
  --run-mark: 12px;           /* метка «сейчас» на нём */
  --run-tick: 2px;            /* засечки уровней */
  --run-money-lift: 16px;     /* насколько сумма по позиции стоит выше желоба */
  --pulse-h: 72px;            /* рост пульса сделок */
  --pulse-stroke: 1.7px;      /* толщина линии пульса */
  --pulse-glow: 8px;          /* свечение зубца; ровная линия не светится */
  --alarm-duration: 2400ms;   /* дыхание точки, когда терминал замолчал */
  --aurora-blur: 70px;        /* сияние за карточкой входа */
  --aurora-warm: rgba(255, 122, 24, 0.30);
  --aurora-light: rgba(255, 162, 77, 0.22);
  --aurora-deep: rgba(224, 100, 10, 0.20);
  --aurora-run-a: 26s;        /* ходы врозь: одинаковые ходили бы строем */
  --aurora-run-b: 34s;
  --aurora-run-c: 42s;

  /* Янтарный свет, бегущий по рамке врезки «За всё время» карточки бота за
     указателем: то же пятно, что ходит по карточкам кабинета, только
     положенное на рамку. Постановка владельца 20.09.2026. Сама черта под ним
     остаётся обычной — в покое видна одна она. */
  --edge-spot: rgba(255, 162, 77, 1);
  --edge-spot-radius: 110px;   /* дуга по кромке: втрое уже пятна на карточке, иначе
                                  светится вся рамка разом и ход за указателем не виден */
  --edge-spot-core: rgba(255, 201, 148, 0.95);  /* горячая точка дуги — прямо под указателем */
  --edge-spot-core-radius: 42px;

  /* Язык «Прибор» (KPT Next, 10.10.2026). Пружина — затухающая, посчитана
     один раз (жёсткость 210, вязкость 22) и отдана браузеру ломаной: всё
     пространственное движение кабинета идёт одной физикой и только на
     преобразованиях. Свеча — из знака KPT: ею отмечены выбранный раздел и
     «сейчас»; тёплое в кабинете больше ничего не красит. */
  --ease-spring: linear(0.001, 0.029, 0.096, 0.178, 0.269, 0.364, 0.469, 0.557, 0.638, 0.711, 0.781, 0.835, 0.88, 0.921, 0.95, 0.973, 0.99, 1.004, 1.013, 1.019, 1.022, 1.024, 1.023, 1.022, 1.021, 1.019, 1.016, 1.014, 1.012, 1.01, 1.008, 1.006, 1.005, 1.003, 1.002, 1.002, 1.001, 1, 1, 1, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --motion-spring: 560ms;
  --motion-sweep: 1100ms;     /* пробег света по черте полосы системы при каждом опросе сервера */
  --odometer-step: 28ms;      /* барабаны одометра трогаются один за другим, старшие разряды раньше */
  --odometer-roll: 900ms;     /* сколько катится барабан */
  --candle: linear-gradient(to top, #FF5A00, #FF7A18 55%, #FFB347);
  --candle-glow: 0 0 12px rgba(255, 122, 24, 0.7);
  --candle-w: 3px;
  --panel-sheen: linear-gradient(180deg, rgba(214, 226, 255, 0.028), rgba(214, 226, 255, 0) 120px);
  --panel-depth: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 20px 40px -24px rgba(0, 0, 0, 0.6);
  --horizon: radial-gradient(60% 100% at 30% 0%, rgba(143, 194, 255, 0.055), transparent 70%);
  --horizon-h: 420px;
  --glass-fill: rgba(22, 26, 31, 0.94);
  --glass-blur: 16px;
  --sweep-line: linear-gradient(90deg, transparent, rgba(143, 194, 255, 0.9), transparent);
  --rail-fill: linear-gradient(90deg, rgba(255, 122, 24, 0.10), rgba(214, 226, 255, 0.03) 60%);
  --quiet-fill: rgba(214, 226, 255, 0.03);    /* тихая кнопка и поле в покое */
  --quiet-hover: rgba(214, 226, 255, 0.055);  /* они же под указателем */
  --tracking-display: -0.045em;
  --tracking-heading: -0.025em;

  /* размеры */
  --rail-w: 232px;            /* колонка разделов */
  --rail-w-compact: 72px;     /* она же значками, в окне уже 1100 */
  --sysbar-h: 60px;           /* полоса системы над рабочим полем */
  --nav-item-h: 38px;         /* строка раздела в колонке */
  --nav-icon: 18px;           /* значок раздела */
  --brand-mark: 34px;         /* знак KPT в колонке */
  --core-w: 340px;            /* панель «Ядро» рядом с главной плиткой */
  --core-ring: 64px;          /* кольцо звеньев вокруг свечи */
  --content-max-wide: 1920px; /* рабочее поле в каркасе «Прибор» — рядом с колонкой разделов */
  --sym-tile-w: 150px;        /* плитка инструмента в «Сигналах» не уже */
  --sym-tile-h: 52px;
  --bubble-w: 360px;          /* образец сообщения телеграма пузырём */
  --input-h: 46px;            /* поле и кнопка на сцене входа */
  --otp-h: 56px;              /* клетка кода из телеграма */
  --icon-timer: 22px;         /* кольцо отсчёта жизни кода */
  --scene-h-phone: 300px;     /* сцена входа полосой над формой на телефоне */
  --scene-dial-phone: 250px;  /* циферблат в ней */
  --control-h: 32px;
  --control-h-sm: 26px;
  --control-h-xs: 22px;    /* кнопка внутри полосы тревог */
  --tab-h: 34px;           /* деление отбора с чертой снизу */
  --tab-line: 2px;
  --search-w: 200px;
  --search-icon: 12px;
  --search-icon-stroke: 1.5px;
  --alerts-max: 520px;
  --spark-h: 24px;         /* искра на карточке бота */
  --spark-stroke: 1.5px;
  --spark-pad: 2px;
  --spark-zero-dash: 2 3;  /* черта нуля под искрой карточки: частый пунктир */
  --dash: 3px;             /* штрих пунктирной рамки черновика */
  --sidebar-w: 220px;
  --content-max: 1180px;
  --status-dot: 6px;
  --border-w: 1px;         /* толщина рамки и черты */
  --focus-w: 2px;          /* кольцо фокуса с клавиатуры: обводка и отступ */
  --rule-w: 2px;           /* толстая черта слева у слоя статистики */
  --row-bar: 3px;          /* черта слева у строки ленты и записи */
  --mob-safe-bottom: 22px; /* запас под системную полосу телефона */
  --row-dashboard: 44px;   /* строка таблицы ботов «Панели» */
  --hero-column-w: 300px;  /* левый столбец главной плитки */
  --showcase-preview-w: 400px; /* столбец «Так видит участник» */
  --showcase-editor-h: 146px;  /* поле описания витрины: шесть строк */
  --chip-h: 22px;              /* плашка инструмента в карточке бота */
  --spark-hero-h: 186px;   /* путь счёта на главной плитке кабинета: с осями и датами ему нужна высота графика, а не строки */
  --plot-tip-lift: 14px;   /* на сколько подсказка пути стоит выше своей точки */
  --plot-edge-ring: 1.5px; /* обводка кружка на линии: фоном плитки, иначе он тонет в свечении */
  --spark-card-h: 24px;    /* искра на карточке бота кабинета — та же высота, что и у карточки окна владельца */
  --equity-h: 170px;       /* график пути счёта в статистике: с осями и датами ему нужна высота графика, а не строки */
  --sheet-w: 540px;        /* лист поверх кабинета — широкий лист макета; поле 22 сверху и снизу, по бокам space-6 */
  --risk-w: 720px;         /* окно уведомления о рисках: документ, а не короткий лист */
  --risk-body-h: 62vh;     /* окно прокрутки текста уведомления */
  --risk-body-min-h: 220px;
  --shots-w: 1240px;       /* окно со снимками-подсказками к шагу установки: снимок окна терминала должен читаться */
  --shots-body-h: 70vh;    /* сам снимок не выше — подпись и кнопки перелистывания остаются на виду */
  --shots-body-min-h: 220px;
  --check: 16px;           /* клетка отметки согласия — как на листах окна владельца */
  --sheet-pad: 22px;
  --tab-web-h: 38px;       /* вкладка раздела кабинета */
  --subtab-h: 28px;        /* деление подэкранов */
  --lang-pill-w: 44px;     /* пилюля языка: одна ширина на «УКР», «РУ» и «EN» */
  --menu-min-w: 260px;     /* окно раздела не уже */
  --menu-pad: 6px;
  --menu-item-pad: 7px;
  --logo-h: 44px;          /* знак в шапке; узкое окно 34, карточка входа 56, телефон 30 */
  --logo-h-narrow: 34px;
  --logo-h-card: 56px;
  --logo-h-mobile: 30px;
  --aside-install-w: 300px; /* правый столбец установки */
  --aside-create-w: 320px;  /* правый столбец заведения связки */
  --entry-field-w: 130px;  /* поле записи журнала не уже */
  --step-no: 26px;         /* номер шага в квадрате */
  --pick-dot: 16px;        /* кружок выбора бота */
  --range-h: 20px;         /* ползунок риска */
  --risk-lot-w: 96px;      /* поле объёма в лотах в карточке риска */
  --mob-bar-pad: 6px;      /* панель разделов на телефоне */
  --mob-tab-h: 48px;
  --mob-bottom: 96px;      /* запас под панель */
  --mob-grip-w: 44px;      /* ручка листа «Ещё» */
  --mob-grip-h: 4px;
  --mob-blur: 12px;
  --mob-sheet-radius: 18px;
  --mob-button-h: 44px;    /* кнопка под палец */
  --mob-card-radius: 14px;
  --mob-equity-h: 90px;    /* путь ботов в статистике на телефоне */
  --mob-stream-h: 36px;    /* деление потоков журнала на телефоне */
  --limit-bar-h: 8px;      /* полоса заполнения предела риска и риска связки на телефоне */
  --term-bar-h: 10px;      /* полоса срока лицензии */
  --path-dot: 7px;         /* точка шага пути связки */
  --path-col: 14px;        /* столбец под точку пути */
  --cut-col-trades: 50px;  /* таблица разбивки «По инструментам»: «Сдел.» */
  --cut-col-total: 80px;   /* «Итог R» */
  --cut-col-money: 110px;  /* «Деньги» */
  --cut-col-share: 50px;   /* «Доля» */
  --row-cut: 34px;         /* строка той же таблицы */
  --trade-col-when: 116px; /* таблица «Сделки» статистики: «Когда» */
  --trade-col-side: 84px;  /* «Направление» */
  --trade-col-volume: 64px;/* «Объём» */
  --trade-col-price: 86px; /* «Вход» и «Выход» */
  --trade-col-total: 150px;/* «Итог R»: сюда же встаёт пилюля «исход не доложен» */
  --trade-col-money: 100px;/* «Деньги» */
  --row-trade: 38px;       /* строка той же таблицы */
  --trades-min: 960px;     /* уже этого таблица «Сделки» не сжимается — едет вбок */
  --fomo-col-when: 118px;   /* расчёт «ФОМО»: «Закрыта» */
  --fomo-col-side: 78px;    /* «Сторона» */
  --fomo-col-outcome: 148px;/* «Чем кончилась» */
  --fomo-col-price: 80px;   /* «Вход» и «Стоп» */
  --fomo-col-risk: 92px;    /* «Рискнули» */
  --fomo-col-units: 76px;   /* «Доли» */
  --fomo-col-result: 104px; /* «Итог» */
  --fomo-col-balance: 112px;/* «Стало» */
  --row-fomo: 34px;         /* строка позиции */
  --row-fomo-month: 46px;   /* строка месяца — она кнопка под палец */
  --fomo-min: 940px;        /* уже этого таблица позиций не сжимается — едет вбок */

  color-scheme: dark;
}

/* Числа — всегда моноширинным и одинаковой ширины знаков. */
.num { font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
