{
  "source": "tokens/lab.tokens.json",
  "format": "W3C Design Tokens (DTCG)",
  "tokens": {
    "color": {
      "surface": {
        "$type": "color",
        "$value": "#1B1C21",
        "$description": "Card background"
      },
      "text": {
        "$type": "color",
        "$value": "#F2F2F4",
        "$description": "Primary text on surface"
      },
      "muted": {
        "$type": "color",
        "$value": "#A0A0AB",
        "$description": "Secondary text: card body, hints, placeholders"
      },
      "primary": {
        "$type": "color",
        "$value": "#E23A0D",
        "$description": "Brand accent: buttons, links, focus"
      },
      "onPrimary": {
        "$type": "color",
        "$value": "#111111",
        "$description": "Text on primary, picked for contrast"
      },
      "border": {
        "$type": "color",
        "$value": "#2E3037",
        "$description": "Hairlines and outlined variants"
      }
    },
    "radius": {
      "card": {
        "$type": "dimension",
        "$value": "0.5rem"
      },
      "button": {
        "$type": "dimension",
        "$value": "0.5rem"
      },
      "input": {
        "$type": "dimension",
        "$value": "0.5rem"
      }
    },
    "space": {
      "sm": {
        "$type": "dimension",
        "$value": "1rem"
      },
      "md": {
        "$type": "dimension",
        "$value": "1.25rem"
      },
      "lg": {
        "$type": "dimension",
        "$value": "1.5rem"
      }
    },
    "fontSize": {
      "title": {
        "$type": "fontSize",
        "$value": "1rem"
      },
      "body": {
        "$type": "fontSize",
        "$value": "0.875rem"
      }
    }
  },
  "flat": [
    {
      "path": "color.surface",
      "type": "color",
      "value": "#1B1C21",
      "description": "Card background",
      "css": "var(--ds-color-surface)",
      "swift": "Tokens.colorSurface",
      "kotlin": "Tokens.colorSurface"
    },
    {
      "path": "color.text",
      "type": "color",
      "value": "#F2F2F4",
      "description": "Primary text on surface",
      "css": "var(--ds-color-text)",
      "swift": "Tokens.colorText",
      "kotlin": "Tokens.colorText"
    },
    {
      "path": "color.muted",
      "type": "color",
      "value": "#A0A0AB",
      "description": "Secondary text: card body, hints, placeholders",
      "css": "var(--ds-color-muted)",
      "swift": "Tokens.colorMuted",
      "kotlin": "Tokens.colorMuted"
    },
    {
      "path": "color.primary",
      "type": "color",
      "value": "#E23A0D",
      "description": "Brand accent: buttons, links, focus",
      "css": "var(--ds-color-primary)",
      "swift": "Tokens.colorPrimary",
      "kotlin": "Tokens.colorPrimary"
    },
    {
      "path": "color.onPrimary",
      "type": "color",
      "value": "#111111",
      "description": "Text on primary, picked for contrast",
      "css": "var(--ds-color-on-primary)",
      "swift": "Tokens.colorOnPrimary",
      "kotlin": "Tokens.colorOnPrimary"
    },
    {
      "path": "color.border",
      "type": "color",
      "value": "#2E3037",
      "description": "Hairlines and outlined variants",
      "css": "var(--ds-color-border)",
      "swift": "Tokens.colorBorder",
      "kotlin": "Tokens.colorBorder"
    },
    {
      "path": "radius.card",
      "type": "dimension",
      "value": "0.5rem",
      "css": "var(--ds-radius-card)",
      "swift": "Tokens.radiusCard",
      "kotlin": "Tokens.radiusCard"
    },
    {
      "path": "radius.button",
      "type": "dimension",
      "value": "0.5rem",
      "css": "var(--ds-radius-button)",
      "swift": "Tokens.radiusButton",
      "kotlin": "Tokens.radiusButton"
    },
    {
      "path": "radius.input",
      "type": "dimension",
      "value": "0.5rem",
      "css": "var(--ds-radius-input)",
      "swift": "Tokens.radiusInput",
      "kotlin": "Tokens.radiusInput"
    },
    {
      "path": "space.sm",
      "type": "dimension",
      "value": "1rem",
      "css": "var(--ds-space-sm)",
      "swift": "Tokens.spaceSm",
      "kotlin": "Tokens.spaceSm"
    },
    {
      "path": "space.md",
      "type": "dimension",
      "value": "1.25rem",
      "css": "var(--ds-space-md)",
      "swift": "Tokens.spaceMd",
      "kotlin": "Tokens.spaceMd"
    },
    {
      "path": "space.lg",
      "type": "dimension",
      "value": "1.5rem",
      "css": "var(--ds-space-lg)",
      "swift": "Tokens.spaceLg",
      "kotlin": "Tokens.spaceLg"
    },
    {
      "path": "fontSize.title",
      "type": "fontSize",
      "value": "1rem",
      "css": "var(--ds-font-size-title)",
      "swift": "Tokens.fontSizeTitle",
      "kotlin": "Tokens.fontSizeTitle"
    },
    {
      "path": "fontSize.body",
      "type": "fontSize",
      "value": "0.875rem",
      "css": "var(--ds-font-size-body)",
      "swift": "Tokens.fontSizeBody",
      "kotlin": "Tokens.fontSizeBody"
    }
  ],
  "files": {
    "css": {
      "name": "tokens.css",
      "language": "css",
      "code": "/**\n * Do not edit directly, this file was auto-generated.\n */\n\n:root {\n  --ds-color-surface: #1b1c21; /** Card background */\n  --ds-color-text: #f2f2f4; /** Primary text on surface */\n  --ds-color-muted: #a0a0ab; /** Secondary text: card body, hints, placeholders */\n  --ds-color-primary: #e23a0d; /** Brand accent: buttons, links, focus */\n  --ds-color-on-primary: #111111; /** Text on primary, picked for contrast */\n  --ds-color-border: #2e3037; /** Hairlines and outlined variants */\n  --ds-radius-card: 0.5rem;\n  --ds-radius-button: 0.5rem;\n  --ds-radius-input: 0.5rem;\n  --ds-space-sm: 1rem;\n  --ds-space-md: 1.25rem;\n  --ds-space-lg: 1.5rem;\n  --ds-font-size-title: 1rem;\n  --ds-font-size-body: 0.875rem;\n}"
    },
    "swift": {
      "name": "Tokens.swift",
      "language": "swift",
      "code": "//\n// Tokens.swift\n//\n\n// Do not edit directly, this file was auto-generated.\n\n\nimport SwiftUI\n\npublic enum Tokens {\n    public static let colorBorder = Color(red: 0.180, green: 0.188, blue: 0.216, opacity: 1) /** Hairlines and outlined variants */\n    public static let colorMuted = Color(red: 0.627, green: 0.627, blue: 0.671, opacity: 1) /** Secondary text: card body, hints, placeholders */\n    public static let colorOnPrimary = Color(red: 0.067, green: 0.067, blue: 0.067, opacity: 1) /** Text on primary, picked for contrast */\n    public static let colorPrimary = Color(red: 0.886, green: 0.227, blue: 0.051, opacity: 1) /** Brand accent: buttons, links, focus */\n    public static let colorSurface = Color(red: 0.106, green: 0.110, blue: 0.129, opacity: 1) /** Card background */\n    public static let colorText = Color(red: 0.949, green: 0.949, blue: 0.957, opacity: 1) /** Primary text on surface */\n    public static let fontSizeBody = CGFloat(14.00)\n    public static let fontSizeTitle = CGFloat(16.00)\n    public static let radiusButton = CGFloat(8.00)\n    public static let radiusCard = CGFloat(8.00)\n    public static let radiusInput = CGFloat(8.00)\n    public static let spaceLg = CGFloat(24.00)\n    public static let spaceMd = CGFloat(20.00)\n    public static let spaceSm = CGFloat(16.00)\n}"
    },
    "kotlin": {
      "name": "Tokens.kt",
      "language": "kotlin",
      "code": "// Do not edit directly, this file was auto-generated.\n\n\n\npackage dev.santirequelme.tokens\n\nimport androidx.compose.ui.graphics.Color\nimport androidx.compose.ui.unit.*\n\nobject Tokens {\n  val colorBorder = Color(0xff2e3037)\n  val colorMuted = Color(0xffa0a0ab)\n  val colorOnPrimary = Color(0xff111111)\n  val colorPrimary = Color(0xffe23a0d)\n  val colorSurface = Color(0xff1b1c21)\n  val colorText = Color(0xfff2f2f4)\n  val fontSizeBody = 14.00.sp\n  val fontSizeTitle = 16.00.sp\n  val radiusButton = 8.00.dp\n  val radiusCard = 8.00.dp\n  val radiusInput = 8.00.dp\n  val spaceLg = 24.00.dp\n  val spaceMd = 20.00.dp\n  val spaceSm = 16.00.dp\n}"
    }
  }
}
