/* PULSE — токены бренда. Сгенерировано _source/brand.py — правка там, не здесь. */
:root {
  /* бренд */
  --pulse-pulse: #2F49FF;  /* Pulse Blue */
  --pulse-volt: #3A58FF;  /* Volt */
  --pulse-ion: #7D95FF;  /* Ion */
  --pulse-halo: #EAF0FF;  /* Halo */
  --pulse-deep: #101A4D;  /* Deep */
  --pulse-void: #05060D;  /* Void */
  --pulse-abyss: #0A0D1C;  /* Abyss */
  --pulse-graphite: #171C36;  /* Graphite */
  --pulse-slate: #7E8BA1;  /* Slate */
  --pulse-mist: #A9B4C8;  /* Mist */
  --pulse-paper: #F4F6FB;  /* Paper */
  --pulse-ink: #0A0F24;  /* Ink */
  /* сигналы рынка: только направление цены и итог сделки */
  --pulse-up: #2FE39A;  /* Up */
  --pulse-down: #FF6B78;  /* Down */
  --pulse-up-light: #067A51;  /* Up · light */
  --pulse-down-light: #C8283A;  /* Down · light */
  --pulse-demo: #FFC23D;  /* Demo */
  --pulse-demo-light: #9A6400;  /* Demo · light */
  /* рампы */
  --blue-50: #EAF0FF;
  --blue-100: #D4DEFF;
  --blue-200: #B9C8FF;
  --blue-300: #9FB4FF;
  --blue-400: #7D95FF;
  --blue-500: #5F7BFF;
  --blue-600: #3A58FF;
  --blue-700: #2F49FF;
  --blue-800: #1B2AB8;
  --blue-900: #141D6E;
  --blue-950: #101A4D;
  --void-50: #EDF0F7;
  --void-100: #CDD4E2;
  --void-200: #A9B4C8;
  --void-300: #8794AE;
  --void-400: #6A7795;
  --void-500: #4E5A7C;
  --void-600: #353F60;
  --void-700: #222A48;
  --void-800: #171C36;
  --void-850: #10142A;
  --void-900: #0A0D1C;
  --void-950: #05060D;
  --void-1000: #020309;
  /* градиенты */
  --grad-pulse: linear-gradient(95deg, #3A58FF 0%, #7D95FF 50%, #E6EDFF 100%);
  --grad-fill: linear-gradient(100deg, #2F49FF 0%, #5A6BFF 45%, #8F8CFF 100%);
  --grad-chrome: linear-gradient(180deg, #FFFFFF 0%, #F2F4F8 42%, #DCDFE6 72%, #C2C7D0 100%);
  --grad-void: radial-gradient(70% 80% at 78% 40%, #142057 0%, #0A0F2A 30%, #05060D 70%);
  /* шрифты */
  --font-display: "Unbounded", "Geologica", system-ui, sans-serif;
  --font-text: "Geologica", system-ui, "Segoe UI", sans-serif;
  --font-mono: "Martian Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
  /* форма */
  --radius-control: 10px; --radius-button: 14px; --radius-card: 24px; --radius-panel: 32px; --radius-pill: 999px;
  --space-1: 4px; --space-2: 8px; --space-3: 12px; --space-4: 16px; --space-6: 24px;
  --space-8: 32px; --space-12: 48px; --space-16: 64px; --space-24: 96px; --space-32: 128px;
  /* ритм импульса — как у заставки терминала */
  --beat: 2600ms; --ease-out: cubic-bezier(.16, 1, .3, 1); --ease-ui: cubic-bezier(.2, 0, 0, 1);
}

/* Две темы. Без атрибута — как в системе; data-theme="light" | "dark" на <html> — выбор
   человека; тот же атрибут на секции держит её в своей теме (промо-блок, который должен остаться тёмным). */
:root,
[data-theme="dark"] {
  color-scheme: dark;
  --bg: #05060D;
  --bg-alt: #0A0D1C;
  --surface: #10142A;
  --surface-2: #171C36;
  --line: rgba(125,149,255,.14);
  --line-strong: rgba(125,149,255,.28);
  --text: #EAF0FF;
  --text-2: #A9B4C8;
  --text-3: #7E8BA1;
  --text-tint: #CDD7FF;
  --accent: #2F49FF;
  --accent-hover: #3A58FF;
  --accent-text: #7D95FF;
  --accent-soft: rgba(125,149,255,.12);
  --on-accent: #FFFFFF;
  --focus: #7D95FF;
  --up: #2FE39A;
  --down: #FF6B78;
  --demo: #FFC23D;
  --trace: #7D95FF;
  --grad-text: linear-gradient(95deg, #3A58FF 0%, #7D95FF 50%, #E6EDFF 100%);
  --grad-stage: radial-gradient(70% 80% at 78% 40%, #142057 0%, #0A0F2A 30%, #05060D 70%);
  --shadow: 0 24px 48px -24px rgba(0,0,0,.9);
  /* приёмы */
  --pill-bg: #0B0F24;
  --card-bg: linear-gradient(180deg, rgba(23,28,54,.86), rgba(10,13,28,.86));
  --card-shadow: inset 0 1px 0 rgba(234,240,255,.08), inset 0 0 0 1px rgba(125,149,255,.12), 0 30px 60px -30px rgba(0,0,0,.8);
  --ghost-bg: rgba(255,255,255,.04);
  --ghost-ring: rgba(159,180,255,.24);
  --field-major: rgba(125,149,255,.09);
  --field-minor: rgba(125,149,255,.035);
  --glow: 0 0 10px #7D95FF;
}
[data-theme="light"] {
  color-scheme: light;
  --bg: #FFFFFF;
  --bg-alt: #F4F6FB;
  --surface: #FFFFFF;
  --surface-2: #EDF0F7;
  --line: rgba(10,15,36,.10);
  --line-strong: rgba(10,15,36,.20);
  --text: #0A0F24;
  --text-2: #353F60;
  --text-3: #4E5A7C;
  --text-tint: #1B2AB8;
  --accent: #2F49FF;
  --accent-hover: #1B2AB8;
  --accent-text: #2F49FF;
  --accent-soft: #EAF0FF;
  --on-accent: #FFFFFF;
  --focus: #2F49FF;
  --up: #067A51;
  --down: #C8283A;
  --demo: #9A6400;
  --trace: #2F49FF;
  --grad-text: linear-gradient(95deg, #101A4D 0%, #2F49FF 55%, #5F7BFF 100%);
  --grad-stage: radial-gradient(70% 80% at 78% 40%, #FFFFFF 0%, #EEF2FB 45%, #E2E8F4 100%);
  --shadow: 0 18px 40px -24px rgba(16,26,77,.28);
  /* приёмы */
  --pill-bg: #FFFFFF;
  --card-bg: #FFFFFF;
  --card-shadow: inset 0 0 0 1px rgba(10,15,36,.08), 0 24px 48px -28px rgba(16,26,77,.28);
  --ghost-bg: rgba(10,15,36,.03);
  --ghost-ring: rgba(10,15,36,.18);
  --field-major: rgba(47,73,255,.10);
  --field-minor: rgba(47,73,255,.045);
  --glow: none;
}
@media (prefers-color-scheme: light) {
  :root:not([data-theme="dark"]) {
    color-scheme: light;
    --bg: #FFFFFF;
    --bg-alt: #F4F6FB;
    --surface: #FFFFFF;
    --surface-2: #EDF0F7;
    --line: rgba(10,15,36,.10);
    --line-strong: rgba(10,15,36,.20);
    --text: #0A0F24;
    --text-2: #353F60;
    --text-3: #4E5A7C;
    --text-tint: #1B2AB8;
    --accent: #2F49FF;
    --accent-hover: #1B2AB8;
    --accent-text: #2F49FF;
    --accent-soft: #EAF0FF;
    --on-accent: #FFFFFF;
    --focus: #2F49FF;
    --up: #067A51;
    --down: #C8283A;
    --demo: #9A6400;
    --trace: #2F49FF;
    --grad-text: linear-gradient(95deg, #101A4D 0%, #2F49FF 55%, #5F7BFF 100%);
    --grad-stage: radial-gradient(70% 80% at 78% 40%, #FFFFFF 0%, #EEF2FB 45%, #E2E8F4 100%);
    --shadow: 0 18px 40px -24px rgba(16,26,77,.28);
    /* приёмы */
    --pill-bg: #FFFFFF;
    --card-bg: #FFFFFF;
    --card-shadow: inset 0 0 0 1px rgba(10,15,36,.08), 0 24px 48px -28px rgba(16,26,77,.28);
    --ghost-bg: rgba(10,15,36,.03);
    --ghost-ring: rgba(10,15,36,.18);
    --field-major: rgba(47,73,255,.10);
    --field-minor: rgba(47,73,255,.045);
    --glow: none;
  }
}
