{
  "name": "Radial",
  "product": "The fast, CLI-first issue tracker.",
  "tagline": "No AI, no agents, no credits, no BS.",
  "source": "https://radial.build/brand",
  "colors": {
    "identity": [
      {
        "name": "Amber",
        "role": "Signature accent",
        "hex": "#F5A623",
        "oklch": "oklch(0.78 0.155 67)",
        "token": "--color-brand",
        "tailwind": "bg-brand / text-brand"
      }
    ],
    "dark": [
      {
        "name": "Background",
        "role": "Page surface",
        "hex": "#1D1B1A",
        "oklch": "oklch(0.225 0.004 75)",
        "token": "--color-background",
        "tailwind": "bg-background"
      },
      {
        "name": "Foreground",
        "role": "Primary text",
        "hex": "#EBE9E7",
        "oklch": "oklch(0.935 0.003 75)",
        "token": "--color-foreground",
        "tailwind": "text-foreground"
      },
      {
        "name": "Card",
        "role": "Raised surface",
        "hex": "#262422",
        "oklch": "oklch(0.262 0.004 75)",
        "token": "--color-card",
        "tailwind": "bg-card"
      },
      {
        "name": "Muted",
        "role": "Inset surface",
        "hex": "#312F2C",
        "oklch": "oklch(0.305 0.005 75)",
        "token": "--color-muted",
        "tailwind": "bg-muted"
      },
      {
        "name": "Muted foreground",
        "role": "Secondary text",
        "hex": "#A8A49F",
        "oklch": "oklch(0.72 0.008 75)",
        "token": "--color-muted-foreground",
        "tailwind": "text-muted-foreground"
      },
      {
        "name": "Accent",
        "role": "Hover surface",
        "hex": "#373532",
        "oklch": "oklch(0.33 0.006 75)",
        "token": "--color-accent",
        "tailwind": "bg-accent"
      },
      {
        "name": "Border",
        "role": "Hairlines",
        "hex": "#383633",
        "oklch": "oklch(0.335 0.006 75)",
        "token": "--color-border",
        "tailwind": "border-border"
      },
      {
        "name": "Destructive",
        "role": "Errors",
        "hex": "#EA3C3F",
        "oklch": "oklch(0.62 0.21 25)",
        "token": "--color-destructive",
        "tailwind": "bg-destructive"
      },
      {
        "name": "Success",
        "role": "Confirmations",
        "hex": "#47BE8B",
        "oklch": "oklch(0.72 0.13 162)",
        "token": "--color-success",
        "tailwind": "bg-success"
      }
    ],
    "light": [
      {
        "name": "Background",
        "role": "Page surface (cream)",
        "hex": "#FBF6EB",
        "oklch": "oklch(0.975 0.016 88)",
        "token": "--color-background",
        "tailwind": "bg-background"
      },
      {
        "name": "Foreground",
        "role": "Primary text",
        "hex": "#28231D",
        "oklch": "oklch(0.26 0.014 75)",
        "token": "--color-foreground",
        "tailwind": "text-foreground"
      },
      {
        "name": "Card",
        "role": "Raised surface",
        "hex": "#FFFDF7",
        "oklch": "oklch(0.995 0.008 88)",
        "token": "--color-card",
        "tailwind": "bg-card"
      },
      {
        "name": "Muted",
        "role": "Inset surface (sand)",
        "hex": "#F2ECE0",
        "oklch": "oklch(0.945 0.018 88)",
        "token": "--color-muted",
        "tailwind": "bg-muted"
      },
      {
        "name": "Muted foreground",
        "role": "Secondary text",
        "hex": "#68625B",
        "oklch": "oklch(0.5 0.014 75)",
        "token": "--color-muted-foreground",
        "tailwind": "text-muted-foreground"
      },
      {
        "name": "Border",
        "role": "Hairlines",
        "hex": "#E0DACE",
        "oklch": "oklch(0.89 0.018 88)",
        "token": "--color-border",
        "tailwind": "border-border"
      },
      {
        "name": "Amber (light)",
        "role": "Accent on cream",
        "hex": "#D88100",
        "oklch": "oklch(0.68 0.16 67)",
        "token": "--color-brand",
        "tailwind": "bg-brand / text-brand"
      },
      {
        "name": "Destructive",
        "role": "Errors",
        "hex": "#DF202E",
        "oklch": "oklch(0.58 0.22 25)",
        "token": "--color-destructive",
        "tailwind": "bg-destructive"
      },
      {
        "name": "Success",
        "role": "Confirmations",
        "hex": "#009B64",
        "oklch": "oklch(0.6 0.15 162)",
        "token": "--color-success",
        "tailwind": "bg-success"
      }
    ],
    "status": [
      {
        "name": "Triage",
        "role": "Status",
        "hex": "#A8A49F",
        "oklch": "oklch(0.72 0.008 75)",
        "token": "--color-status-triage",
        "tailwind": "text-status-triage"
      },
      {
        "name": "Backlog",
        "role": "Status",
        "hex": "#79746D",
        "oklch": "oklch(0.56 0.012 75)",
        "token": "--color-status-backlog",
        "tailwind": "text-status-backlog"
      },
      {
        "name": "Todo",
        "role": "Status",
        "hex": "#938E89",
        "oklch": "oklch(0.65 0.01 75)",
        "token": "--color-status-todo",
        "tailwind": "text-status-todo"
      },
      {
        "name": "In Progress",
        "role": "Status (amber)",
        "hex": "#F5A623",
        "oklch": "oklch(0.78 0.155 67)",
        "token": "--color-status-progress",
        "tailwind": "text-status-progress"
      },
      {
        "name": "In Review",
        "role": "Status (green)",
        "hex": "#47BE8B",
        "oklch": "oklch(0.72 0.13 162)",
        "token": "--color-status-review",
        "tailwind": "text-status-review"
      },
      {
        "name": "Done",
        "role": "Status (indigo)",
        "hex": "#656CDE",
        "oklch": "oklch(0.585 0.17 277)",
        "token": "--color-status-done",
        "tailwind": "text-status-done"
      },
      {
        "name": "Canceled",
        "role": "Status",
        "hex": "#79746D",
        "oklch": "oklch(0.56 0.012 75)",
        "token": "--color-status-canceled",
        "tailwind": "text-status-canceled"
      },
      {
        "name": "Urgent",
        "role": "Priority (red)",
        "hex": "#EA3C3F",
        "oklch": "oklch(0.62 0.21 25)",
        "token": "--color-priority-urgent",
        "tailwind": "text-priority-urgent"
      }
    ]
  },
  "typography": [
    {
      "name": "Barlow Condensed",
      "role": "Display",
      "cssVar": "--font-headline",
      "weights": "500, 700",
      "usage": "The display face: the social card and big headline moments. Not the wordmark."
    },
    {
      "name": "Geist",
      "role": "Body and UI",
      "cssVar": "--font-body",
      "weights": "400, 500, 600",
      "usage": "The wordmark, all body copy, headings on the site, and product UI."
    },
    {
      "name": "Geist Mono",
      "role": "Mono",
      "cssVar": "--font-mono",
      "weights": "400, 500",
      "usage": "Eyebrow labels, install commands, and IDs like RAD-219."
    }
  ],
  "principles": [
    "Do one thing well.",
    "Speed is the feature.",
    "Two modes, one set of names.",
    "Amber is the accent, not the theme.",
    "Honest and plain."
  ],
  "voice": {
    "markers": [
      "Plain words over jargon.",
      "Short sentences. State the bet, then stop.",
      "Honest to a fault: \"AI features shipped: 0.\"",
      "Second person: your terminal, your agent, your data.",
      "Concrete: RAD-219, $50 a year, under 50ms."
    ],
    "linesThatLand": [
      "An issue tracker. That's it.",
      "No AI, no agents, no credits, no BS.",
      "$50 per user, per year. Flat.",
      "Bring your own agent. Keep your money.",
      "AI features shipped: 0."
    ],
    "neverUse": [
      "AI hype: copilot, magic, revolutionary, supercharge, 10x, seamless.",
      "Em dashes anywhere in copy.",
      "Fake urgency or \"Contact sales\".",
      "Credits, seats, or usage-meter language."
    ]
  },
  "terminology": {
    "ontology": "Workspace, then Team, then Project, then Issue. Plus Cycle, Label, Status, Priority, Comment.",
    "preferred": [
      {
        "term": "Issue",
        "note": "The atomic unit of work. Capital I. IDs read RAD-219."
      },
      {
        "term": "Project / Team / Workspace",
        "note": "How work is organized, in that nesting order."
      },
      {
        "term": "Cycle",
        "note": "A time-boxed set of issues."
      },
      {
        "term": "Status",
        "note": "Triage, Backlog, Todo, In Progress, In Review, Done, Canceled."
      },
      {
        "term": "Priority",
        "note": "No priority, Urgent, High, Medium, Low."
      },
      {
        "term": "CLI, MCP, REST API",
        "note": "The interfaces. First-class, never add-ons."
      }
    ],
    "avoid": [
      {
        "term": "ticket, card, story",
        "note": "It is an Issue."
      },
      {
        "term": "sprint",
        "note": "It is a Cycle."
      },
      {
        "term": "board column",
        "note": "It is a Status."
      },
      {
        "term": "copilot, our agent",
        "note": "You bring your own agent. Radial has none."
      },
      {
        "term": "Radial AI, Radial.build (in prose)",
        "note": "The product is \"Radial\"."
      }
    ]
  },
  "usage": {
    "do": [
      "Use semantic tokens only: bg-background, text-foreground, bg-brand. The mapping changes per mode, not the class.",
      "Let dark be the default; light is opt-in via .light.",
      "Keep amber for accents: the mark, the focus ring, one highlight per view.",
      "Render the mark in a single color. Light strokes on dark, dark strokes on light.",
      "Set display type in Barlow Condensed, body and UI in Geist, labels and IDs in Geist Mono."
    ],
    "dont": [
      "Never write a dark: prefix. The theme guard fails the build.",
      "Never hardcode a palette color like emerald-400 or a raw #10b981. Add a token instead.",
      "Never use amber as a page background or a large fill. It is an accent.",
      "Never recolor, outline, distort, or add effects to the mark.",
      "Never stretch the wordmark or set it below the minimum size."
    ]
  },
  "parentBrand": "https://www.braingrid.ai/brand"
}