/* © SNDR FX 2026 — All rights reserved · проприетарный код, копирование запрещено */
/* ───────────── Reset & Base ───────────── */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

/* Универсальное скрытие: применяется к ЛЮБОМУ элементу с классом .hidden.
   В проекте .hidden завязан на конкретные контексты (.X.hidden), а для
   новых блоков (напр. реферальный раздел) нужен глобальный фолбэк. */
.hidden { display: none !important; }

/* Цветовые токены — в css/themes.css ([data-theme] на <html>) */
:root {
  --radius: 10px;
  --transition: 0.12s cubic-bezier(0.22, 1, 0.36, 1);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-spring: cubic-bezier(0.34, 1.4, 0.64, 1);
  --sheen: rgba(255, 255, 255, 0.028);
  --font: 'Inter', 'Golos Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  /* Акцидентный — Unbounded: логотип, крупные имена монет.
     Только для коротких строк, не для текста и цифр. */
  --font-display: 'Unbounded', 'Golos Text', sans-serif;
  /* Моно — IBM Plex Mono: цифры, клавиши, счётчики, метки времени.
     Табулярные (широкие) цифры, инженерный характер, в паре с Inter. */
  --font-mono: 'IBM Plex Mono', ui-monospace, 'SFMono-Regular', Menlo, Consolas, monospace;
   /* Типографическая шкала: чёткие уровни с контрастом размера,
      веса и трекинга. Разница между уровнями ≥2px — иерархия ощущается. */
   --fs-display: 16px;   /* логотип, главный бренд */
   --fs-title: 14px;     /* заголовки страниц, модалок */
   --fs-h1: 13px;        /* заголовки секций, символы монет */
   --fs-h2: 12px;        /* подзаголовки карточек, подразделы */
   --fs-body: 11px;      /* строки, контролы, подписи */
   --fs-small: 10px;     /* вторичный текст */
   --fs-mini: 9px;       /* подсказки, кнопки шапки, заголовки колонок */
   --fs-micro: 8px;      /* стрелки, микро-метрики */
   /* Веса */
   --fw-display: 700;
   --fw-title: 600;
   --fw-h: 600;
   --fw-body: 400;
   --fw-small: 400;
   --fw-mini: 500;
   --fw-micro: 500;
   /* Трекинг — заголовки прижаты, мелкий текст расширен */
   --ls-display: 0.3px;
   --ls-title: -0.2px;
   --ls-h: -0.1px;
   --ls-body: 0;
   --ls-small: 0;
   --ls-mini: 0.5px;
   --ls-micro: 0.8px;
}

html,
body {
   height: 100%;
   background: var(--bg);
   color: var(--text-primary);
   font-family: var(--font);
   font-size: var(--fs-body);
   font-weight: var(--fw-body);
   line-height: 1.5;
   overflow: hidden;
   font-optical-sizing: auto;
   text-rendering: optimizeLegibility;
   -webkit-font-smoothing: antialiased;
}

/* ───────────── Тач-фундамент (телефоны/планшеты) ───────────── */
/* убрать серую вспышку при тапе; кнопкам — мгновенный отклик без
   задержки дабл-тап-зума; канвасам графиков — вертикаль скроллу
   страницы, горизонталь жестам (пан/щипок обрабатывает chart.js) */
* { -webkit-tap-highlight-color: transparent; }
button, a, .seg-btn, .chip, .marker-swatch {
  touch-action: manipulation;
}
.chart-grid canvas,
.modal-chart canvas,
.multi-grid canvas,
.term-panel canvas {
  touch-action: pan-y;
}

::selection { background: var(--accent-soft-2); color: var(--text-primary); }

:focus-visible {
  outline: 1.5px solid var(--accent);
  outline-offset: 2px;
}

::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border-light); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover { background: var(--text-muted); }

/* Системное «уменьшить движение»: гасим все UI-анимации и переходы */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
