/* TradeSignal · дашборд. Neumorphism — светлая/тёмная тема, 8px-сетка.
   Шрифты — локальные вариативные woff2 (fonts.css): Onest несёт кириллицу,
   которой у Plus Jakarta Sans не было, а Google-CDN резал CSP. */

:root {
  color-scheme: light;   /* нативные скроллбары/контролы в цвет темы */
  --neo-bg:          #e8eef5;
  --neo-surface:     #e8eef5;
  --neo-shadow-d:    #c5d1e0;
  --neo-shadow-l:    #ffffff;

  --text-primary:    #2a3d52;
  --text-secondary:  #3d5a73;
  --text-muted:      #4d688a;  /* 4.9:1 на surface — AA */
  --text-dim:        #6b8098;  /* 3.5:1 — только деэмфаза/микро-мета */

  --accent:          #4a9fd4;
  --accent-soft:     #a8d4f0;
  --accent-bg:       #cce8f8;
  --accent-border:   #6eb5e0;

  --success:         #2d8a52;
  --success-soft:    #d0ecd9;
  --danger:          #c94a4a;
  --danger-soft:     #f2d8d8;

  /* Цвета графиков (Highcharts/LWC читают через getComputedStyle,
     core/theme.js): текст осей/легенд, сетка, линии осей */
  --chart-text:      #5a7490;
  --chart-grid:      rgba(100, 116, 139, 0.14);
  --chart-axis:      rgba(122, 146, 176, 0.30);

  --font-heading: 'Onest', system-ui, sans-serif;
  --font-body:    'Onest', system-ui, sans-serif;
  --font-mono:    'JetBrains Mono', ui-monospace, monospace;

  /* Типо-шкала (rem, ≈минорная терция для data-dense UI). px запрещён:
     rem уважает зум/настройки браузера. На 1280px значения совпадают с
     прежними px — макет не сдвигается. */
  --fs-3xs:  0.5rem;      /* 8px  — микроцифры календаря */
  --fs-2xs:  0.5625rem;   /* 9px  — шапки таблиц, статусы */
  --fs-xs:   0.625rem;    /* 10px — подписи, meta */
  --fs-sm:   0.6875rem;   /* 11px — вторичный текст */
  --fs-md:   0.75rem;     /* 12px — chips, кнопки */
  --fs-base: 0.8125rem;   /* 13px — основной UI-текст */
  --fs-body: 0.875rem;    /* 14px — body */
  --fs-lg:   0.9375rem;   /* 15px */
  --fs-xl:   1rem;        /* 16px */
  --fs-2xl:  1.125rem;    /* 18px */
  --fs-3xl:  1.25rem;     /* 20px */
  /* Fluid-заголовки/акцентные значения: рост мобила → десктоп,
     максимумы = прежним px (макет на 1280+ не сдвигается) */
  --fs-h1:   clamp(1.375rem, 1.25rem + 0.6vw, 1.625rem); /* 22 → 26 */
  --fs-tile: clamp(1.125rem, 1.05rem + 0.55vw, 1.375rem);/* 18 → 22 */
  --fs-stat: clamp(1.25rem, 1.15rem + 0.6vw, 1.5rem);    /* 20 → 24 */

  /* Spacing (rem, база 4px): числовые токены исторические,
     семантические алиасы — для новых стилей */
  --space-1: 0.25rem;   /* 4  */  --space-xs:  var(--space-1);
  --space-2: 0.5rem;    /* 8  */  --space-sm:  var(--space-2);
  --space-3: 0.75rem;   /* 12 */
  --space-4: 1rem;      /* 16 */  --space-md:  var(--space-4);
  --space-5: 1.5rem;    /* 24 */  --space-lg:  var(--space-5);
  --space-6: 2rem;      /* 32 */  --space-xl:  var(--space-6);
  --space-7: 2.5rem;    /* 40 */
  --space-8: 3rem;      /* 48 */  --space-xxl: var(--space-8);

  --radius-lg: 20px;
  --radius-md: 14px;
  --radius-sm: 10px;

  /* Точки календаря инвестора (были захардкожены мимо тёмной темы) */
  --ev-dividend:  #8b5cf6;
  --ev-coupon:    #14b8a6;
  --ev-report:    #3b82f6;
  --ev-repayment: #ef4444;
  --ev-execution: #f59e0b;

  --neo-raised:    6px 6px 14px var(--neo-shadow-d), -6px -6px 14px var(--neo-shadow-l);
  --neo-raised-sm: 4px 4px 10px var(--neo-shadow-d), -4px -4px 10px var(--neo-shadow-l);
  --neo-inset:     inset 4px 4px 10px var(--neo-shadow-d), inset -4px -4px 10px var(--neo-shadow-l);
  --neo-flat:      2px 2px 6px var(--neo-shadow-d), -2px -2px 6px var(--neo-shadow-l);

  --ease-out:      cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out:   cubic-bezier(0.45, 0, 0.55, 1);
  --dur-fast:      0.18s;
  --dur-med:       0.32s;
  --dur-slow:      0.44s;
}

[data-theme="dark"] {
  color-scheme: dark;
  --neo-bg:          #1c2533;
  --neo-surface:     #1c2533;
  --neo-shadow-d:    #10161f;
  --neo-shadow-l:    #2e3c52;

  /* контраст плиток доведён до AA (roadmap 07.26): muted 6.2:1, dim — только
     деэмфаза/микро-мета (как в светлой теме) */
  --text-primary:    #dce8f4;
  --text-secondary:  #bcd0e4;
  --text-muted:      #94aec8;
  --text-dim:        #6d87a3;

  --accent:          #6eb5e0;
  --accent-soft:     #3a5a78;
  --accent-bg:       #243548;
  --accent-border:   #4a8ab8;

  --success:         #4db87a;
  --success-soft:    #1e3d2e;
  --danger:          #e07070;
  --danger-soft:     #3d2424;

  --chart-text:      #b8cce0;
  --chart-grid:      rgba(150, 175, 205, 0.14);
  --chart-axis:      rgba(150, 175, 205, 0.32);
}
