{
  "name": "PALUSA",
  "version": "3.0",
  "date": "2026-10-17",
  "format": "Simple JSON; not a vendor-specific design-token import format",
  "colorSpace": "sRGB",
  "colors": {
    "magenta-50": "#FDF2F8",
    "magenta-100": "#F7DDEC",
    "magenta-200": "#EBB2D5",
    "magenta-500": "#C0338B",
    "magenta-700": "#8A2464",
    "magenta-900": "#4B193A",
    "sky-50": "#F0F8FD",
    "sky-100": "#DFF1FA",
    "sky-200": "#B1DFF3",
    "sky-500": "#2EAAE1",
    "sky-700": "#0E658D",
    "sky-900": "#123C52",
    "violet-50": "#F5F3FB",
    "violet-100": "#EAE5F6",
    "violet-200": "#CFC6E8",
    "violet-500": "#564797",
    "violet-700": "#403473",
    "violet-900": "#292047",
    "indigo-50": "#F2F5FC",
    "indigo-100": "#E3EAF8",
    "indigo-200": "#BCCBED",
    "indigo-500": "#3F59A5",
    "indigo-700": "#2C407D",
    "indigo-900": "#1E2B50",
    "green-50": "#F3F8F0",
    "green-100": "#E5F0DE",
    "green-200": "#C3DFB7",
    "green-500": "#66B659",
    "green-700": "#366D2D",
    "green-900": "#244621",
    "red-50": "#FFF2F4",
    "red-100": "#FDE0E6",
    "red-200": "#F7B0BD",
    "red-500": "#E62044",
    "red-700": "#AF1733",
    "red-900": "#641B2A",
    "white": "#FFFFFF",
    "paper": "#F7F5F2",
    "sand": "#EEEAE3",
    "ice": "#F3F8FA",
    "mist": "#EEECF0",
    "line": "#D8D4DE",
    "muted": "#6D6576",
    "ink": "#272330",
    "night": "#1C1924",
    "midnight": "#101C36",
    "coal": "#121019",
    "warning-bg": "#FFF4D6",
    "warning-text": "#7A4B00",
    "input-border": "#877F91"
  },
  "semantic": {
    "light": {
      "bg": "#F7F5F2",
      "surface": "#FFFFFF",
      "soft": "#F7DDEC",
      "text": "#272330",
      "text-secondary": "#6D6576",
      "link": "#8A2464",
      "action": "#C0338B",
      "action-hover": "#8A2464",
      "on-action": "#FFFFFF",
      "focus": "#8A2464",
      "border": "#D8D4DE",
      "input-border": "#877F91",
      "field": "#C0338B",
      "on-field": "#FFFFFF",
      "success-bg": "#E5F0DE",
      "success-text": "#366D2D",
      "error-bg": "#FDE0E6",
      "error-text": "#AF1733",
      "info-bg": "#DFF1FA",
      "info-text": "#0E658D",
      "warning-bg": "#FFF4D6",
      "warning-text": "#7A4B00"
    },
    "dark": {
      "bg": "#121019",
      "surface": "#1C1924",
      "soft": "#2E2A38",
      "text": "#F7F5F2",
      "text-secondary": "#A9A3B4",
      "link": "#EBB2D5",
      "action": "#C0338B",
      "action-hover": "#8A2464",
      "on-action": "#FFFFFF",
      "focus": "#EBB2D5",
      "border": "#2E2A38",
      "input-border": "#92879F",
      "field": "#C0338B",
      "on-field": "#FFFFFF",
      "success-bg": "#244621",
      "success-text": "#C3DFB7",
      "error-bg": "#641B2A",
      "error-text": "#FDE0E6",
      "info-bg": "#123C52",
      "info-text": "#DFF1FA",
      "warning-bg": "#49320E",
      "warning-text": "#FFE4A3"
    },
    "midnight": {
      "bg": "#101C36",
      "surface": "#16264A",
      "soft": "#223661",
      "text": "#F3F8FA",
      "text-secondary": "#A3B2CC",
      "link": "#B1DFF3",
      "action": "#B1DFF3",
      "action-hover": "#DFF1FA",
      "on-action": "#123C52",
      "focus": "#B1DFF3",
      "border": "#3B4E70",
      "input-border": "#92879F",
      "field": "#C0338B",
      "on-field": "#FFFFFF",
      "success-bg": "#244621",
      "success-text": "#C3DFB7",
      "error-bg": "#641B2A",
      "error-text": "#FDE0E6",
      "info-bg": "#123C52",
      "info-text": "#DFF1FA",
      "warning-bg": "#49320E",
      "warning-text": "#FFE4A3"
    }
  },
  "typography": {
    "display": "Outfit, Avenir Next, Futura, Helvetica Neue, Arial, sans-serif",
    "text": "Instrument Sans, Helvetica Neue, Helvetica, Arial, sans-serif",
    "mono": "JetBrains Mono, SF Mono, SFMono-Regular, Menlo, Consolas, monospace",
    "brand": "Outfit, Avenir Next, Futura, Helvetica Neue, Arial, sans-serif",
    "code": "JetBrains Mono, SF Mono, SFMono-Regular, Menlo, Consolas, monospace",
    "body": {
      "sizePx": 17,
      "lineHeight": 1.6,
      "weight": 400
    },
    "caption": {
      "sizePx": 13,
      "lineHeight": 1.5,
      "weight": 400
    },
    "label": {
      "sizePx": 12,
      "weight": 600,
      "uppercase": true,
      "letterSpacingEm": 0.12
    },
    "heading": {
      "displayPx": 112,
      "h1Px": 64,
      "h2Px": 40,
      "h3Px": 22,
      "displayWeight": 800,
      "h1Weight": 800,
      "h2Weight": 800,
      "h3Weight": 700,
      "displayLineHeight": 0.88,
      "h1LineHeight": 0.92,
      "h2LineHeight": 1.0,
      "h3LineHeight": 1.15,
      "displayLetterSpacingEm": -0.045,
      "h1LetterSpacingEm": -0.04,
      "h2LetterSpacingEm": -0.03,
      "h3LetterSpacingEm": -0.015
    }
  },
  "spacingPx": [
    4,
    8,
    12,
    16,
    20,
    24,
    32,
    48,
    64,
    96
  ],
  "radiusPx": {
    "brand": 0,
    "productControl": 12,
    "productCard": 16,
    "productFeatured": 24,
    "pill": 999,
    "control": 12,
    "card": 16,
    "featured": 24
  },
  "gradients": {
    "seam": "linear-gradient(90deg, #C0338B, #2EAAE1)"
  },
  "motion": {
    "stepMs": 95,
    "stepRangeMs": [
      80,
      120
    ],
    "uiFeedbackMs": 140,
    "uiFeedbackRangeMs": [
      100,
      160
    ],
    "uiPanelMs": 220,
    "uiPanelRangeMs": [
      180,
      240
    ]
  },
  "step": {
    "grid": 3,
    "squares": 5,
    "gapRatio": 0.375,
    "square": 8,
    "gap": 3,
    "viewBox": "0 0 30 30",
    "cellOrigins": [
      0,
      11,
      22
    ],
    "colorOrder": [
      "#E62044",
      "#564797",
      "#3F59A5",
      "#2EAAE1",
      "#66B659"
    ],
    "minSizePx": 16,
    "clearSpaceSquares": 1
  },
  "productColours": {
    "studio": {
      "name": "PALUSA (studio)",
      "color": "#C0338B",
      "on": "#FFFFFF",
      "glyph": "step",
      "contrast": 5.1,
      "largeTextOnly": false
    },
    "mapmyday": {
      "name": "Map My Day",
      "color": "#2EAAE1",
      "on": "#123C52",
      "glyph": "route",
      "contrast": 4.4,
      "largeTextOnly": true
    },
    "blixtra": {
      "name": "Blixtra",
      "color": "#3F59A5",
      "on": "#FFFFFF",
      "glyph": "bolt",
      "contrast": 6.6,
      "largeTextOnly": false
    },
    "screenshotstudio": {
      "name": "Screenshot Studio",
      "color": "#E62044",
      "on": "#FFFFFF",
      "glyph": "frame",
      "contrast": 4.5,
      "largeTextOnly": false
    },
    "shakelogkit": {
      "name": "ShakeLogKit",
      "color": "#66B659",
      "on": "#244621",
      "glyph": "bracket",
      "contrast": 4.3,
      "largeTextOnly": true
    },
    "srtdownloader": {
      "name": "SRT Downloader",
      "color": "#564797",
      "on": "#FFFFFF",
      "glyph": "captions",
      "contrast": 7.7,
      "largeTextOnly": false
    }
  },
  "tonalPairs": {
    "magenta": {
      "bg": "#F7DDEC",
      "text": "#4B193A",
      "bgStep": 100,
      "textStep": 900,
      "contrast": 11.0
    },
    "sky": {
      "bg": "#B1DFF3",
      "text": "#123C52",
      "bgStep": 200,
      "textStep": 900,
      "contrast": 8.2
    },
    "violet": {
      "bg": "#EAE5F6",
      "text": "#292047",
      "bgStep": 100,
      "textStep": 900,
      "contrast": 12.2
    },
    "indigo": {
      "bg": "#BCCBED",
      "text": "#1E2B50",
      "bgStep": 200,
      "textStep": 900,
      "contrast": 8.5
    },
    "green": {
      "bg": "#C3DFB7",
      "text": "#244621",
      "bgStep": 200,
      "textStep": 900,
      "contrast": 7.4
    },
    "red": {
      "bg": "#FDE0E6",
      "text": "#641B2A",
      "bgStep": 100,
      "textStep": 900,
      "contrast": 9.8
    }
  },
  "glyphs": [
    {
      "id": "step",
      "name": "Steget",
      "use": "PALUSA (studio)",
      "cells": [
        [
          0,
          0
        ],
        [
          1,
          0
        ],
        [
          1,
          1
        ],
        [
          2,
          1
        ],
        [
          2,
          2
        ]
      ]
    },
    {
      "id": "route",
      "name": "Rutt",
      "use": "Map My Day",
      "cells": [
        [
          0,
          2
        ],
        [
          1,
          2
        ],
        [
          1,
          1
        ],
        [
          1,
          0
        ],
        [
          2,
          0
        ]
      ]
    },
    {
      "id": "bolt",
      "name": "Blixt",
      "use": "Blixtra",
      "cells": [
        [
          2,
          0
        ],
        [
          2,
          1
        ],
        [
          1,
          1
        ],
        [
          0,
          1
        ],
        [
          0,
          2
        ]
      ]
    },
    {
      "id": "frame",
      "name": "Ram",
      "use": "Screenshot Studio",
      "cells": [
        [
          2,
          0
        ],
        [
          1,
          0
        ],
        [
          0,
          0
        ],
        [
          0,
          1
        ],
        [
          0,
          2
        ]
      ]
    },
    {
      "id": "bracket",
      "name": "Klammer",
      "use": "ShakeLogKit",
      "cells": [
        [
          1,
          0
        ],
        [
          0,
          0
        ],
        [
          0,
          1
        ],
        [
          0,
          2
        ],
        [
          1,
          2
        ]
      ]
    },
    {
      "id": "captions",
      "name": "Undertext",
      "use": "SRT Downloader",
      "cells": [
        [
          0,
          1
        ],
        [
          1,
          1
        ],
        [
          0,
          2
        ],
        [
          1,
          2
        ],
        [
          2,
          2
        ]
      ]
    },
    {
      "id": "add",
      "name": "Lägg till",
      "use": "Skapa, nytt",
      "cells": [
        [
          1,
          0
        ],
        [
          0,
          1
        ],
        [
          1,
          1
        ],
        [
          2,
          1
        ],
        [
          1,
          2
        ]
      ]
    },
    {
      "id": "close",
      "name": "Stäng",
      "use": "Avbryt, stäng",
      "cells": [
        [
          0,
          0
        ],
        [
          2,
          0
        ],
        [
          1,
          1
        ],
        [
          0,
          2
        ],
        [
          2,
          2
        ]
      ]
    },
    {
      "id": "home",
      "name": "Hem",
      "use": "Start, översikt",
      "cells": [
        [
          0,
          2
        ],
        [
          0,
          1
        ],
        [
          1,
          0
        ],
        [
          2,
          1
        ],
        [
          2,
          2
        ]
      ]
    }
  ],
  "recipes": [
    {
      "id": "signature",
      "name": "Signatur",
      "tag": "PALUSA i fokus",
      "bg": "#F7F5F2",
      "surface": "#FFFFFF",
      "soft": "#F7DDEC",
      "text": "#272330",
      "accent": "#C0338B",
      "buttonText": "#FFFFFF",
      "secondary": "#2EAAE1",
      "desc": "Ljus pappersgrund, vita ytor och magenta som tydlig handling. Sömmen och Steget bär igenkänningen. För webb, produktsidor och presentationer.",
      "ratio": "Lugn grund · skarpa ytor · magenta leder"
    },
    {
      "id": "field",
      "name": "Full volym",
      "tag": "Lansering & öppning",
      "bg": "#C0338B",
      "surface": "#8A2464",
      "soft": "#F7DDEC",
      "text": "#FFFFFF",
      "accent": "#FFFFFF",
      "buttonText": "#C0338B",
      "desc": "Magenta som hel, platt färgyta med vit, tung typografi och en vit knapp. För startsidans hero, titelbilder, lanseringar och inlägg.",
      "ratio": "En färg · hela ytan · ett budskap"
    },
    {
      "id": "calm",
      "name": "Lugn",
      "tag": "Vardag & produkt",
      "bg": "#F7F5F2",
      "surface": "#FFFFFF",
      "soft": "#EAE5F6",
      "text": "#272330",
      "accent": "#564797",
      "buttonText": "#FFFFFF",
      "desc": "Varm neutral bas och violetta handlingar för längre läsning eller fokuserat arbete. Ett lugnt alternativ inom PALUSA, inte ett krav på alla produktvyer.",
      "ratio": "80% neutralt · 15% mjukt · 5% accent"
    },
    {
      "id": "clear",
      "name": "Klar",
      "tag": "Information & onboarding",
      "bg": "#F0F8FD",
      "surface": "#FFFFFF",
      "soft": "#DFF1FA",
      "text": "#123C52",
      "accent": "#0E658D",
      "buttonText": "#FFFFFF",
      "desc": "Luftig blå grund och tydlig mörk text. Passar hjälpsidor, onboarding och förklarande produktmaterial.",
      "ratio": "80% ljust · 15% mjukt · 5% accent"
    },
    {
      "id": "warm",
      "name": "Varm",
      "tag": "Personligt & inspirerande",
      "bg": "#FDF2F8",
      "surface": "#FFFFFF",
      "soft": "#F7DDEC",
      "text": "#4B193A",
      "accent": "#8A2464",
      "buttonText": "#FFFFFF",
      "desc": "En pudrig rosa grund med djup magenta. Passar introduktioner, berättelser och inbjudande presentationer.",
      "ratio": "70% ljust · 25% mjukt · 5% accent"
    },
    {
      "id": "dark",
      "name": "Kväll",
      "tag": "Mörkt läge på webben",
      "bg": "#121019",
      "surface": "#1C1924",
      "soft": "#2E2A38",
      "text": "#F7F5F2",
      "accent": "#C0338B",
      "buttonText": "#FFFFFF",
      "desc": "Kol som grund, Natt som upphöjd yta och magenta som oförändrad handling. Studions mörka läge på webben.",
      "ratio": "85% mörkt · 10% yta · 5% magenta"
    },
    {
      "id": "midnight",
      "name": "Midnatt",
      "tag": "Kväll & presentation",
      "bg": "#101C36",
      "surface": "#16264A",
      "soft": "#223661",
      "text": "#F3F8FA",
      "accent": "#B1DFF3",
      "buttonText": "#123C52",
      "desc": "Djup blå grund, ljusa innehållsytor och cyan som accent. För presentationer och Map My Days kvällsuttryck.",
      "ratio": "85% mörkt · 10% tonat · 5% accent"
    }
  ]
}
