{
  "$name": "Letteros «Полотно» — design tokens",
  "$description": "Единый источник токенов светлого AI-native редактора презентаций Letteros. Ключ = имя CSS-переменной без префикса --. Значения совпадают с :root в UI-ките.",
  "$version": "1.0.0",
  "primary": {
    "50": { "value": "#EFF4FE", "css": "--primary-50" },
    "100": { "value": "#DBE7FC", "css": "--primary-100" },
    "200": { "value": "#BAD0F8", "css": "--primary-200" },
    "300": { "value": "#8EB0F2", "css": "--primary-300" },
    "400": { "value": "#5D8CEC", "css": "--primary-400" },
    "500": { "value": "#3072ED", "css": "--primary-500", "usage": "Бренд" },
    "600": { "value": "#1F5AD6", "css": "--primary-600" },
    "700": { "value": "#1B48A9", "css": "--primary-700" },
    "800": { "value": "#1A3B80", "css": "--primary-800" },
    "900": { "value": "#152C5C", "css": "--primary-900" }
  },
  "neutral": {
    "50": { "value": "#FAFAFA", "css": "--neutral-50", "usage": "Поверхность" },
    "100": { "value": "#F4F4F5", "css": "--neutral-100" },
    "200": { "value": "#EDEDED", "css": "--neutral-200" },
    "300": { "value": "#E1E1E1", "css": "--neutral-300" },
    "400": { "value": "#C4C4C4", "css": "--neutral-400" },
    "500": { "value": "#A9A9A9", "css": "--neutral-500" },
    "600": { "value": "#8A8A8A", "css": "--neutral-600" },
    "700": { "value": "#6B6B6B", "css": "--neutral-700" },
    "800": { "value": "#4B4B4B", "css": "--neutral-800" },
    "900": { "value": "#151515", "css": "--neutral-900", "usage": "Основной текст" }
  },
  "colorSemantic": {
    "primary":          { "value": "{primary.500}",  "css": "--color-primary",          "usage": "Первичные действия, акцент" },
    "primary-hover":    { "value": "{primary.600}",  "css": "--color-primary-hover",    "usage": "Hover первичного действия / ссылки" },
    "focus":            { "value": "#4B60FF",        "css": "--color-focus",            "usage": "Фокус-ринг, акцент AI «Летти»" },
    "accent-bg":        { "value": "#F0F5FF",        "css": "--color-accent-bg",        "usage": "Подложка AI / акцентных блоков" },
    "accent-border":    { "value": "#DCE6FF",        "css": "--color-accent-border",    "usage": "Граница акцентных блоков" },
    "success":          { "value": "#2D8962",        "css": "--color-success",          "usage": "Успех, «применено»" },
    "success-bg":       { "value": "#E7F4EE",        "css": "--color-success-bg",       "usage": "Подложка успеха" },
    "warning":          { "value": "#F5A623",        "css": "--color-warning",          "usage": "Предупреждение, внимание" },
    "warning-bg":       { "value": "#FEF3DD",        "css": "--color-warning-bg",       "usage": "Подложка предупреждения" },
    "danger":           { "value": "#D42137",        "css": "--color-danger",           "usage": "Удаление, деструктивные действия" },
    "danger-bg":        { "value": "#FCE7E9",        "css": "--color-danger-bg",        "usage": "Подложка ошибки" },
    "white":            { "value": "#FFFFFF",        "css": "--color-white",            "usage": "Белый" },
    "surface":          { "value": "{color.white}",  "css": "--color-surface",          "usage": "Карточки, панели, попапы" },
    "surface-alt":      { "value": "{neutral.50}",   "css": "--color-surface-alt",      "usage": "Боковые рейлы, вторичный фон" },
    "canvas":           { "value": "{neutral.100}",  "css": "--color-canvas",           "usage": "Холст редактора" },
    "surface-muted":    { "value": "{neutral.200}",  "css": "--color-surface-muted",    "usage": "Дорожка сегм-контрола, чипы" },
    "border":           { "value": "{neutral.300}",  "css": "--color-border",           "usage": "Границы по умолчанию" },
    "border-subtle":    { "value": "{neutral.200}",  "css": "--color-border-subtle",    "usage": "Внутренние разделители" },
    "text-primary":     { "value": "{neutral.900}",  "css": "--color-text-primary",     "usage": "Основной текст, тёмные поверхности" },
    "text-secondary":   { "value": "{neutral.800}",  "css": "--color-text-secondary",   "usage": "Вторичный текст" },
    "text-muted":       { "value": "{neutral.700}",  "css": "--color-text-muted",       "usage": "Приглушённый текст, подписи" },
    "text-subtle":      { "value": "{neutral.600}",  "css": "--color-text-subtle",      "usage": "Мелкие подписи, значения" },
    "text-placeholder": { "value": "#767676",        "css": "--color-text-placeholder", "usage": "Плейсхолдеры, подсказки · AA 4.5:1 на белом" }
  },
  "content": {
    "_note": "Палитра КОНТЕНТА слайдов — свотчи инспектора, которыми пользователь красит текст и фигуры. Не наследует UI-токены (color.*). Дополняется свободным выбором цвета (любой HEX).",
    "text": {
      "ink":   { "value": "#151515", "usage": "Текст на слайде · по умолчанию" },
      "blue":  { "value": "#3072ED", "usage": "Акцентный текст" },
      "green": { "value": "#2D8962", "usage": "Позитивный акцент" },
      "red":   { "value": "#D42137", "usage": "Негативный акцент" },
      "white": { "value": "#FFFFFF", "usage": "Текст на тёмном слайде" }
    },
    "fill": {
      "tint": { "value": "#F0F5FF", "usage": "Светлая заливка фигуры" },
      "blue": { "value": "#3072ED", "usage": "Акцентная заливка" },
      "ink":  { "value": "#151515", "usage": "Тёмная заливка" },
      "gray": { "value": "#F5F5F5", "usage": "Нейтральная заливка" },
      "transparent": { "value": "transparent", "usage": "Без заливки" }
    }
  },
  "font": {
    "sans": { "value": "'Manrope', system-ui, sans-serif", "css": "--font-sans", "usage": "Интерфейс, заголовки, текст" },
    "mono": { "value": "'JetBrains Mono', monospace",       "css": "--font-mono", "usage": "Метки, цифры, код" }
  },
  "fontSizeUI": {
    "_note": "Типографика интерфейса редактора",
    "h2":    { "value": "24px", "css": "--ui-h2",    "lineHeight": "1.15", "letterSpacing": "-0.01em",  "weight": 800, "usage": "Раздел интерфейса" },
    "title": { "value": "18px", "css": "--ui-title", "lineHeight": "1.3",  "letterSpacing": "-0.005em", "weight": 700, "usage": "Заголовок карточки, панели" },
    "body":  { "value": "15px", "css": "--ui-body",  "lineHeight": "1.55", "letterSpacing": "0",        "weight": 500, "usage": "Текст интерфейса, поля" },
    "label": { "value": "12px", "css": "--ui-label", "lineHeight": "1.3",  "letterSpacing": "0.1em",    "weight": 600, "font": "mono", "usage": "Метки, секции" }
  },
  "fontSizeContent": {
    "_note": "Типографика КОНТЕНТА слайда — синхронизирована со значениями инспектора прототипа",
    "cover":   { "value": "52px", "css": "--slide-cover",   "lineHeight": "1.0",  "letterSpacing": "-0.025em", "weight": 800, "usage": "Обложка слайда" },
    "title":   { "value": "40px", "css": "--slide-title",   "lineHeight": "1.05", "letterSpacing": "-0.02em",  "weight": 800, "usage": "Заголовок слайда · по умолчанию" },
    "subhead": { "value": "34px", "css": "--slide-subhead", "lineHeight": "1.1",  "letterSpacing": "-0.02em",  "weight": 800, "usage": "Подзаголовок, секция" },
    "body":    { "value": "16px", "css": "--slide-body",    "lineHeight": "1.5",  "letterSpacing": "0",        "weight": 500, "usage": "Текст на слайде, списки" },
    "eyebrow": { "value": "13px", "css": "--slide-eyebrow", "lineHeight": "1.3",  "letterSpacing": "0.14em",   "weight": 600, "font": "mono", "usage": "Надзаголовок (eyebrow)" }
  },
  "fontWeight": {
    "regular":  { "value": 400, "css": "--weight-regular" },
    "medium":   { "value": 500, "css": "--weight-medium" },
    "semibold": { "value": 600, "css": "--weight-semibold" },
    "bold":     { "value": 700, "css": "--weight-bold" },
    "black":    { "value": 800, "css": "--weight-black" }
  },
  "radius": {
    "sm":   { "value": "8px",   "css": "--radius-sm",   "usage": "Контролы, мелкие плитки" },
    "md":   { "value": "12px",  "css": "--radius-md",   "usage": "Кнопки, поля ввода" },
    "lg":   { "value": "16px",  "css": "--radius-lg",   "usage": "Карточки, попапы" },
    "xl":   { "value": "20px",  "css": "--radius-xl",   "usage": "Крупные секции-карточки" },
    "pill": { "value": "999px", "css": "--radius-pill", "usage": "Чипы, тумблеры, бейджи" }
  },
  "space": {
    "1": { "value": "4px",  "css": "--space-1" },
    "2": { "value": "8px",  "css": "--space-2" },
    "3": { "value": "12px", "css": "--space-3" },
    "4": { "value": "16px", "css": "--space-4" },
    "6": { "value": "24px", "css": "--space-6" },
    "8": { "value": "32px", "css": "--space-8" }
  },
  "shadow": {
    "sm":     { "value": "0 1px 2px rgba(21,21,21,.06)",    "css": "--shadow-sm",     "usage": "Контролы, приподнятые сегменты" },
    "md":     { "value": "0 10px 28px rgba(21,21,21,.12)",  "css": "--shadow-md",     "usage": "Попапы, плавающий тулбар" },
    "lg":     { "value": "0 26px 60px rgba(21,21,21,.18)",  "css": "--shadow-lg",     "usage": "Модальные окна" },
    "accent": { "value": "0 8px 20px rgba(48,114,237,.30)", "css": "--shadow-accent", "usage": "Первичная кнопка" },
    "focus":  { "value": "0 0 0 3px rgba(75,96,255,.15)",   "css": "--focus-ring",    "usage": "Фокус-ринг полей" }
  },
  "layoutRules": {
    "_note": "Правила поведения блоков при авторазметке и редактировании",
    "truncation": {
      "ui-single-line":  { "value": "white-space:nowrap; overflow:hidden; text-overflow:ellipsis", "usage": "Имена слайдов, пункты меню" },
      "ui-multi-line":   { "value": "-webkit-line-clamp:2; overflow:hidden", "usage": "Описания карточек" },
      "slide-content":   { "value": "none", "usage": "Контент слайда не усекается — autofit (блок растёт / шрифт ужимается)" }
    },
    "wrapping": {
      "overflow-wrap":   { "value": "break-word", "usage": "Длинные слова/URL не ломают блок" },
      "word-break":      { "value": "normal" },
      "heading-balance": { "value": "text-wrap:balance", "usage": "Заголовки" },
      "paragraph":       { "value": "text-wrap:pretty", "usage": "Абзацы, без сирот" },
      "hyphens":         { "value": "none", "usage": "Слоговые переносы выключены (рус.)" },
      "nbsp":            { "value": "&nbsp;", "usage": "Неразрывный пробел: «₽ 640», «Q3», «10 %»" }
    },
    "block": {
      "text-min":        { "value": "120x40", "css": "--block-text-min", "usage": "Мин. размер текстового блока, px" },
      "text-autofit-min":{ "value": "0.6", "usage": "Шрифт ужимается до 60%, дальше блок растёт по высоте" },
      "media-min":       { "value": "24x24", "css": "--block-media-min", "usage": "Мин. размер картинки/фигуры, px" },
      "table-cell-min-w":{ "value": "64px", "usage": "Мин. ширина ячейки" },
      "table-max-rows":  { "value": 6 },
      "table-max-cols":  { "value": 5 },
      "chart-value-range":{ "value": "0-100" },
      "chart-max-bars":  { "value": 8 },
      "safe-margin":     { "value": "48px", "css": "--slide-safe-margin", "usage": "Отступ блока от края слайда; база для align-кнопок" },
      "snap-threshold":  { "value": "7px", "css": "--snap-threshold", "usage": "Порог примагничивания к краям и центрам" }
    }
  },
  "focusRing": {
    "color":     { "value": "#4B60FF", "css": "--color-focus", "usage": "Цвет фокус-ринга" },
    "width":     { "value": "2px", "usage": "Толщина обводки (solid)" },
    "offset":    { "value": "2px", "css": "--focus-offset", "usage": "outline-offset" },
    "radius":    { "value": "= радиус элемента", "usage": "Скругление ринга совпадает с элементом" },
    "input-halo":{ "value": "0 0 0 3px rgba(75,96,255,.15)", "css": "--focus-ring", "usage": "Мягкий halo для полей ввода" },
    "trigger":   { "value": ":focus-visible", "usage": "Только клавиатурный фокус, не по клику мышью" }
  },
  "keyboard": {
    "_note": "Горячие клавиши редактора",
    "navigate":     { "keys": "Tab / Shift+Tab", "action": "Переход по элементам и панелям" },
    "edit-text":    { "keys": "Enter / F2 / dbl-click", "action": "Редактировать текст блока" },
    "deselect":     { "keys": "Esc", "action": "Снять выделение, закрыть меню/модалку" },
    "nudge":        { "keys": "Arrows", "action": "Сдвиг на 1px" },
    "nudge-large":  { "keys": "Shift+Arrows", "action": "Сдвиг на 10px" },
    "delete":       { "keys": "Delete / Backspace", "action": "Удалить блок" },
    "duplicate":    { "keys": "Cmd/Ctrl+D", "action": "Дублировать" },
    "undo-redo":    { "keys": "Cmd/Ctrl+Z / Shift+Z", "action": "Отменить / Повторить" },
    "present":      { "keys": "Cmd/Ctrl+Enter", "action": "Начать показ (Esc — выйти)" },
    "present-nav":  { "keys": "Left / Right / Space", "action": "Навигация слайдов в показе" }
  },
  "feedback": {
    "_note": "Тултипы, тосты, прогресс, скелетоны",
    "tooltip":  { "bg": "{neutral.900}", "text": "#FFFFFF", "radius": "9px", "fontSize": "12.5px", "delay": "400ms", "usage": "Подсказки по иконкам/действиям" },
    "toast":    { "bg": "#FFFFFF", "radius": "12px", "shadow": "{shadow.md}", "autohide": "4000ms", "maxStack": 3, "position": "bottom-center", "usage": "success / error / info / Летти" },
    "progressBar": { "height": "8px", "radius": "4px", "track": "{neutral.200}", "fill": "{primary.500}", "usage": "Определённый и неопределённый (shimmer)" },
    "spinner":  { "size": "44px", "stroke": "4px", "track": "{neutral.200}", "fill": "{primary.500}", "anim": "lp-spin 0.8s linear infinite" },
    "skeleton": { "base": "{neutral.200}", "highlight": "{neutral.100}", "anim": "lp-shimmer 1.4s linear infinite", "radius": "6px", "usage": "Загрузка списков, миниатюр, генерация" }
  },
  "colorPicker": {
    "_note": "Полный color picker, открывается из свотча «свой цвет» инспектора",
    "width":   { "value": "280px" },
    "radius":  { "value": "14px" },
    "shadow":  { "value": "{shadow.md}" },
    "sv-area":     { "value": "saturation × value", "usage": "Область насыщенность/яркость с маркером" },
    "hue":         { "value": "0–360°", "usage": "Слайдер оттенка" },
    "alpha":       { "value": "0–100%", "usage": "Слайдер прозрачности на шахматной подложке" },
    "input":       { "value": "HEX / RGB + eyedropper", "usage": "Ввод и переключение формата" },
    "presets":     { "value": "recent", "usage": "Недавно выбранные цвета" }
  },
  "letti": {
    "_note": "AI-кит Летти — состояния генерации и предпросмотр",
    "streaming":   { "value": "typing dots + caret", "usage": "Потоковый ответ, курсор ▍, кнопка Стоп" },
    "rebuilding":  { "value": "overlay on canvas", "usage": "Синяя рамка + шиммер + спиннер на изменяемом блоке" },
    "error":       { "value": "{colorSemantic.danger-bg}", "usage": "Ошибка генерации + Повторить" },
    "cancel":      { "value": "revert to original", "usage": "Отмена откатывает слайд" },
    "diff":        { "value": "add/remove highlight", "usage": "Предпросмотр правок до Применить (success-bg / danger-bg)" },
    "carousel":    { "value": "variants + dots", "usage": "Карусель вариантов, «N из M»" }
  },
  "_sync": {
    "note": "Кит покрывает 100% элементов кликабельного прототипа и концепта «Полотно». Единый источник истины — этот файл.",
    "statusColors": "success #2D8962, warning #F5A623, danger #D42137 — совпадают с тостами/иконками прототипа",
    "contentFontSizes": "cover 52 / title 40 / subhead 34 / body 16 / eyebrow 13 — совпадают с mk() defaults прототипа",
    "inspector": "Позиция(X/Y/Ш/В)+Align, Текст(шрифт/размер/выключка/цвет+пипетка), Заливка(радиус/рамка), Данные диаграммы/таблицы — 1:1 с прототипом"
  }
}
