{
  "name": "PixelKit",
  "version": "2.0",
  "guide": "https://pixelkit42.pages.dev/foundations.html",
  "light": {
    "paper": "#f3f3f2",
    "card": "#fbfbf7",
    "ink": "#191a1c",
    "muted": "#4c4e53",
    "faint": "#65676d",
    "hair": "rgba(20,22,26,.10)",
    "rule": "rgba(20,22,26,.26)",
    "series": [
      "#c04f31",
      "#3a6cbf",
      "#2f8f63",
      "#8256b8"
    ],
    "status": {
      "ok": "#2f8f63",
      "warn": "#96690a",
      "crit": "#c04f31",
      "info": "#3a6cbf"
    },
    "danger": "#b4462d"
  },
  "dark": {
    "paper": "#151517",
    "card": "#1c1c1f",
    "ink": "#d9d9d5",
    "muted": "#a8a9a5",
    "faint": "#83847f",
    "hair": "rgba(255,255,255,.10)",
    "rule": "rgba(255,255,255,.26)",
    "series": [
      "#d0603f",
      "#4a7dd6",
      "#379d70",
      "#9268cc"
    ],
    "status": {
      "ok": "#379d70",
      "warn": "#b8860b",
      "crit": "#d0603f",
      "info": "#4a7dd6"
    },
    "spriteAdjust": {
      "outline": "#c9c9c5",
      "whiteFill": "#c6c6c1",
      "grayFill": "#9d9e99",
      "note": "variant E: sprite colors stay FULL light-palette values; only neutral fills (white, gray) are quieted; no global dim - a multiplier fades the set"
    },
    "danger": "#ad422b"
  },
  "spriteOnly": {
    "yellow": "#e0a90f",
    "orange": "#d96a1e"
  },
  "type": {
    "mono": "\"JetBrains Mono\", ui-monospace, SF Mono, Menlo, Consolas, monospace",
    "sans": "\"Fixel Text\", -apple-system, SF Pro Text, Inter, Segoe UI, system-ui, sans-serif",
    "hand": "Chalkboard SE, Comic Sans MS, Comic Neue, cursive",
    "scale": {
      "pageTitle": 56,
      "section": 28,
      "body": 16,
      "data": 14,
      "label": 14
    }
  },
  "word": {
    "headingFont": "Consolas",
    "bodyFont": "Calibri",
    "report": {
      "bodyPt": 11,
      "line": 1.45,
      "marginsCm": [
        2.5,
        2.0,
        2.5,
        2.5
      ]
    },
    "contract": {
      "bodyPt": 10,
      "line": 1.26,
      "marginsCm": [
        2.0,
        2.0,
        2.0,
        2.0
      ]
    }
  },
  "rules": [
    {
      "title": "Відступи",
      "text": "Розділяй текст заголовками й відступами. Вирівнюй ліворуч. Рамки потрібні для кнопок, полів і вузлів схеми.",
      "en": "Group reading content with whitespace, headings and one left edge. Use borders to identify controls or diagram objects."
    },
    {
      "title": "Шрифти",
      "text": "JetBrains Mono для заголовків, кнопок і чисел. Fixel Text для тексту. Числа в таблицях вирівнюй праворуч.",
      "en": "Use JetBrains Mono for headings, controls, numbers, dates and codes; Fixel Text for prose. Right-align tabular numbers."
    },
    {
      "title": "Контури",
      "text": "Прямі кути, без тіней і декоративних градієнтів. Не набирай текст великими літерами й не збільшуй відстань між ними.",
      "en": "Use square corners, no shadows, decorative gradients, all-caps styling or letter-spacing. No kickers above headings."
    },
    {
      "title": "Кольори",
      "text": "Серії на графіку: корал, синій, м’ятний, фіолет. Якщо серій більше чотирьох, розділи графік. Статуси підписуй словами.",
      "en": "Series order: coral, blue, mint, violet. Label every status in words. Split charts with more than four series."
    },
    {
      "title": "Читабельність",
      "text": "Ширина тексту - до 640 px. Підписи мають добре читатися. Кнопки й поля мають працювати з клавіатури.",
      "en": "Keep prose within 640 px. Normal text contrast must reach 4.5:1. Provide visible focus, associated labels and keyboard operation."
    },
    {
      "title": "Ілюстрації",
      "text": "Спрайт - піксельна іконка розміром 24 × 24 px. Не став іконки в заголовки чи кнопки. Рукописні примітки додавай на запит.",
      "en": "Use 24×24 sprites at integer scales, normally one per row. No sprites in headings or buttons; the navigation brand is the logo exception. No system emoji. Hand notes only on explicit request."
    },
    {
      "title": "Рух",
      "text": "З’єднуй кроки схеми дротами. Додай паузу й перегляд без анімації. Підписуй кроки, щоб рух не був потрібен для розуміння.",
      "en": "Use sagging wires with cargo for diagrams. Motion is optional and must explain a process; provide controls and a static reduced-motion and print view."
    },
    {
      "title": "Дизер",
      "text": "Дизер - піксельний візерунок. У графіках він позначає неповні дані або прогноз. Зовнішні системи підписуй словами.",
      "en": "In data graphics, dither means incomplete or forecast. Label external systems explicitly. Sprite surface shading is a separate illustration convention."
    }
  ],
  "darkGuide": "https://pixelkit42.pages.dev/foundations.html#themes",
  "updated": "2026-09-16",
  "spacing": {
    "1": 4,
    "2": 8,
    "3": 12,
    "4": 16,
    "6": 24,
    "8": 32,
    "12": 48,
    "16": 64,
    "24": 96
  },
  "defaults": {
    "uk": "Для звітів обирай світлий Папір, для інтерфейсів і проєктора - темне Вугілля. В одному матеріалі використовуй одну тему.",
    "en": "Default to paper for reports and documents, charcoal for interfaces and projection. Choose one theme per artifact; the reference site previews both. Follow an explicit user preference."
  }
}
