Цвет
Высокий контраст нейтралов, один уверенный синий. Цвет в AIST.tech — функциональный: он маркирует действие, состояние и иерархию, но никогда не декорирует.
Brand
Один синий на все интерактивные элементы, фокусы и брендовые моменты. На экране — одна primary-кнопка. Если их две — одна должна быть secondary.
Neutrals
Тональная лестница. Иерархия создаётся сменой нейтрала, не тенью.
Карточка — белая на #FAFAFA; depth получается за счёт контраста, не box-shadow.
Semantic
Сигнальные цвета. Используются точечно. warning живёт только в MI Analyst (confidence states)
— на маркетинге и в ЛК его нет.
Dark — MI Analyst
Строгая zinc-лестница. Brand blue #0048B2 переходит в тёмную тему без изменений.
Не мешать light и dark на одном экране — исключение CTA-инверсия в маркетинге.
Правила применения
| Token | Где применяется | Где НЕ применяется |
|---|---|---|
| --primary | Primary buttons, links, focus rings, label-caps категорий, иконки в акцентном контексте. | Не использовать как фон секции, как декоративный градиент или для иллюстраций. |
| --destructive | consequence в pain-карточках, ошибки форм, deletion confirmations. |
Не ставить на 3px border left у нейтральных карточек — читается как ошибка. |
| --muted-foreground | Body-копия, описания, captions. AA на 16px+ против --background. |
Не использовать для текста меньше 14px — падает контраст. |
| --border | Hairline-разделители, input borders. Тихий — не должен бороться за внимание. | Не использовать вокруг primary-кнопок и на dark-поверхностях (там --dark-border). |
Legacy navy #1a3a5c |
Мёртв. Принадлежал retired Astro landing. Не использовать нигде. | |
Принципы
- Один primary на экран. Если кнопок две — одна secondary, другая ghost.
- Иерархия тоном, не тенью. Background → muted → card — этого достаточно.
- Цвет — функция. Если он ничего не маркирует — убрать.
- Без градиентов. Единственное исключение — 1px-divider в dark CTA.
- Brand blue не меняет оттенок между темами. Тот же
#0048B2на light и dark.