{
  "$description": "Brand: Linear (linear@1.0.0)",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette linear@1.0.0",
      "linear-indigo": {
        "$value": "#5E6AD2",
        "$type": "color",
        "$description": "Signature desaturated indigo-violet. Primary brand accent — used on the wordmark, primary buttons, and key interactive surfaces.\n"
      },
      "mercury-white": {
        "$value": "#F4F5F8",
        "$type": "color",
        "$description": "Light-mode canvas — a cool off-white documented in Linear's brand guide."
      },
      "nordic-gray": {
        "$value": "#222326",
        "$type": "color",
        "$description": "Dark-mode canvas — the canonical product surface for Linear's dark-first identity."
      },
      "linear-near-black": {
        "$value": "#08090A",
        "$type": "color",
        "$description": "Authored deepest canvas — used below Nordic Gray for the most-recessed surfaces."
      },
      "linear-surface-dark": {
        "$value": "#1A1B1F",
        "$type": "color",
        "$description": "Authored elevated surface on dark mode."
      },
      "linear-surface-elevated-dark": {
        "$value": "#2C2D31",
        "$type": "color",
        "$description": "Authored modal / popover surface on dark mode."
      },
      "linear-text-on-dark": {
        "$value": "#F7F8F8",
        "$type": "color",
        "$description": "Primary text on Nordic Gray."
      },
      "linear-text-secondary-dark": {
        "$value": "#B4BCD0",
        "$type": "color",
        "$description": "Secondary text on dark canvas."
      },
      "linear-text-tertiary-dark": {
        "$value": "#8A8F98",
        "$type": "color",
        "$description": "Tertiary / muted text on dark canvas."
      },
      "linear-text-on-light": {
        "$value": "#0B0C10",
        "$type": "color",
        "$description": "Primary text on Mercury White."
      },
      "linear-text-secondary-light": {
        "$value": "#3F4350",
        "$type": "color",
        "$description": "Secondary text on Mercury White."
      },
      "linear-text-tertiary-light": {
        "$value": "#6B7280",
        "$type": "color",
        "$description": "Tertiary / muted text on Mercury White."
      },
      "linear-surface-light-elevated": {
        "$value": "#FFFFFF",
        "$type": "color",
        "$description": "Authored elevated surface for light mode."
      },
      "linear-indigo-hover": {
        "$value": "#7A87F0",
        "$type": "color",
        "$description": "Authored softer indigo for hover / active states."
      },
      "linear-success": {
        "$value": "#4CB782",
        "$type": "color",
        "$description": "Authored success / completed accent."
      },
      "linear-warning": {
        "$value": "#F2C94C",
        "$type": "color",
        "$description": "Authored warning accent."
      },
      "linear-error": {
        "$value": "#E5484D",
        "$type": "color",
        "$description": "Authored error accent."
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Inter Tight",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Inter Tight (inter-tight@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Inter",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Inter (inter@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "900": {
          "$value": 900,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "mono": {
      "family": {
        "$value": [
          "JetBrainsMono Nerd Font",
          "JetBrains Mono",
          "Fira Code",
          "Menlo",
          "Monaco",
          "Consolas",
          "Liberation Mono",
          "monospace"
        ],
        "$type": "fontFamily",
        "$description": "mono role → JetBrainsMono Nerd Font (jetbrainsmono-nerdfont@1.0.0)"
      },
      "weight": {
        "100": {
          "$value": 100,
          "$type": "fontWeight"
        },
        "200": {
          "$value": 200,
          "$type": "fontWeight"
        },
        "300": {
          "$value": 300,
          "$type": "fontWeight"
        },
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "500": {
          "$value": 500,
          "$type": "fontWeight"
        },
        "600": {
          "$value": 600,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "800": {
          "$value": 800,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    }
  },
  "$extensions": {
    "com.brand-atoms.rules": [
      {
        "type": "colorChoice",
        "target": "logo.mark",
        "severity": "error",
        "rationale": "Linear's brand guidance prefers monochrome wordmark usage; the indigo primary is the only accent color sanctioned for the mark. Recoloring into off-brand hues violates Linear's brand-use policy (\"do not alter these files in any way\").\n",
        "allowed": [
          "linear-indigo",
          "linear-text-on-dark",
          "linear-text-on-light",
          "mercury-white",
          "nordic-gray"
        ],
        "forbidden": [
          "any-non-brand-color"
        ]
      },
      {
        "type": "forbiddenTreatment",
        "target": "logo",
        "severity": "error",
        "rationale": "Linear's brand guidelines instruct consumers to \"provide plenty of space around Linear assets\" and forbid alteration of the logo files.\n",
        "treatments": [
          "stretched",
          "rotated",
          "recolored",
          "drop-shadow",
          "on-busy-photo",
          "cramped-clearspace"
        ]
      },
      {
        "type": "contrastRatio",
        "target": "text-primary",
        "severity": "error",
        "rationale": "WCAG 2.1 Level AA contrast minimum for body text. Linear's near-white-on-Nordic-Gray reads at very high contrast, comfortably above AA.\n",
        "against": "background",
        "minRatio": 4.5,
        "standard": "WCAG-AA"
      },
      {
        "type": "variantSelection",
        "target": "logo",
        "severity": "error",
        "rationale": "On dark surfaces (the canonical Nordic Gray canvas), use the light-fill wordmark variant for legibility.\n",
        "when": {
          "backgroundColorScheme": "dark"
        },
        "use": "wordmark-light"
      },
      {
        "type": "variantSelection",
        "target": "logo",
        "severity": "error",
        "rationale": "On Mercury White or other light surfaces, use the dark-fill wordmark variant.\n",
        "when": {
          "backgroundColorScheme": "light"
        },
        "use": "wordmark-dark"
      },
      {
        "type": "contextRestriction",
        "target": "roles.colors.identity",
        "severity": "error",
        "rationale": "Linear's brand guidance prohibits use of the mark in ways that imply endorsement or appear without permission on competing-product surfaces.\n",
        "forbiddenContexts": [
          "decorative-only",
          "product-of-competitor",
          "endorsement-implication"
        ]
      },
      {
        "type": "compositionConstraint",
        "target": "roles.colors.primary",
        "severity": "recommendation",
        "rationale": "The indigo primary is calibrated to read on both Nordic Gray and Mercury White. Pairing it with a third dominant hue breaks the calibrated quiet of Linear's identity.\n",
        "pairsWith": [
          "nordic-gray",
          "mercury-white"
        ]
      },
      {
        "type": "enumMembership",
        "target": "typography.heading.fontWeight",
        "severity": "warning",
        "rationale": "Linear's wordmark and display lockups use medium-to-bold weights in the 500–700 band; lighter weights compromise the precise, institutional voice.\n",
        "allowed": [
          "500",
          "600",
          "700"
        ]
      },
      {
        "type": "numericRatio",
        "target": "typography.body.lineHeight",
        "severity": "recommendation",
        "rationale": "Linear's product surface reads with disciplined line-height in the 1.5–1.65 band. Tighter values feel cramped; looser values break the calm rhythm.\n",
        "min": 1.5,
        "max": 1.65
      },
      {
        "type": "accessibilityRequirement",
        "target": "*",
        "severity": "error",
        "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. Linear's near-monochrome surfaces start well above AA; consumers must hold that floor.\n",
        "standard": "WCAG-AA",
        "criterion": "1.4.3"
      }
    ],
    "com.brand-atoms.assets": [],
    "com.brand-atoms.provenance": {
      "source": "https://linear.app",
      "license": "Proprietary — All Rights Reserved",
      "attribution": "Linear and the Linear mark are trademarks of Linear Orbit, Inc. The primary brand color (#5E6AD2) is verified via the simple-icons brand database, which cites linear.app as the source. Mercury White (#F4F5F8) and Nordic Gray (#222326) are documented directly on Linear's brand page (linear.app/brand). Linear's brand guidance describes the primary as \"a subtle desaturated blue,\" consistent with #5E6AD2.\n",
      "importedDate": "2026-05-17",
      "notes": "Linear is a dark-first brand: the canonical product surface is Nordic Gray. The reference for body and display typography is Inter (for body) and Inter Tight (for tighter display lockups) — the closest open-source approximations to Linear's bespoke \"Inter Display\" cut. Both are already in the brand-atoms catalog.\n"
    },
    "com.brand-atoms.references": {
      "palette": "linear@1.0.0",
      "fonts": {
        "heading": "inter-tight@1.0.0",
        "body": "inter@1.0.0",
        "mono": "jetbrainsmono-nerdfont@1.0.0"
      }
    }
  }
}
