{
  "$description": "Brand: Perplexity (perplexity@1.0.0)",
  "color": {
    "swatches": {
      "$description": "Source-of-truth color swatches from palette perplexity@1.0.0",
      "inky": {
        "$value": "#100E12",
        "$type": "color",
        "$description": "Primary dark canvas — Perplexity's documented dark theme-color meta."
      },
      "inky-deep": {
        "$value": "#082125",
        "$type": "color",
        "$description": "Deepest near-black accent with cool cyan undertone."
      },
      "inky-elevated": {
        "$value": "#1F2121",
        "$type": "color",
        "$description": "Elevated surface on dark canvas."
      },
      "inky-quiet": {
        "$value": "#211B1A",
        "$type": "color",
        "$description": "Subtle surface accent on dark canvas."
      },
      "paper": {
        "$value": "#FCFCF9",
        "$type": "color",
        "$description": "Light canvas — Perplexity's documented light theme-color meta."
      },
      "paper-elevated": {
        "$value": "#F5F5F5",
        "$type": "color",
        "$description": "Subtle elevated surface on Paper canvas."
      },
      "paper-warm": {
        "$value": "#F7F7F8",
        "$type": "color",
        "$description": "Off-white text on dark canvas; warm fallback."
      },
      "peacock": {
        "$value": "#1FB8CD",
        "$type": "color",
        "$description": "Perplexity's signature peacock teal — the primary brand accent."
      },
      "peacock-bright": {
        "$value": "#32B8C6",
        "$type": "color",
        "$description": "Bright peacock variant — primary action button."
      },
      "peacock-deep": {
        "$value": "#139FB2",
        "$type": "color",
        "$description": "Pressed-peacock variant for hover state."
      },
      "peacock-soft": {
        "$value": "#92DCE2",
        "$type": "color",
        "$description": "Soft peacock for tinted backgrounds and hover states."
      },
      "peacock-button": {
        "$value": "#35BDC8",
        "$type": "color",
        "$description": "Bright teal as rendered on docs primary buttons."
      },
      "peacock-banner": {
        "$value": "#1A6872",
        "$type": "color",
        "$description": "Deep peacock — banner / dark-mode primary surface."
      },
      "peacock-pale": {
        "$value": "#27CAE0",
        "$type": "color",
        "$description": "Pale peacock — soft tint variant."
      },
      "marigold": {
        "$value": "#F0B435",
        "$type": "color",
        "$description": "Marigold gold — editorial accent (Pro / Max indicators)."
      },
      "marigold-soft": {
        "$value": "#FFAB44",
        "$type": "color",
        "$description": "Soft marigold tint."
      },
      "marigold-pale": {
        "$value": "#FEF08A",
        "$type": "color",
        "$description": "Pale marigold tint."
      },
      "rust": {
        "$value": "#E68161",
        "$type": "color",
        "$description": "Rust orange — editorial accent."
      },
      "ember": {
        "$value": "#E10600",
        "$type": "color",
        "$description": "Ember red — destructive action."
      },
      "violet-soft": {
        "$value": "#C48ED8",
        "$type": "color",
        "$description": "Soft violet — data-viz accent."
      },
      "text-on-paper": {
        "$value": "#121516",
        "$type": "color",
        "$description": "Body text on the Paper canvas — deep ink."
      },
      "text-on-inky": {
        "$value": "#E0E0E0",
        "$type": "color",
        "$description": "Body text on the Inky canvas — soft warm white."
      },
      "text-secondary": {
        "$value": "#5D5F5F",
        "$type": "color",
        "$description": "Secondary text on either canvas."
      },
      "border-quiet": {
        "$value": "#84754E",
        "$type": "color",
        "$description": "Quiet border — captured in dark-mode dot-bg literals."
      }
    }
  },
  "font": {
    "$description": "Typography roles mapped to font atoms",
    "heading": {
      "family": {
        "$value": [
          "Space Grotesk",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "heading role → Space Grotesk (space-grotesk@1.0.0)"
      },
      "weight": {
        "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"
        },
        "$description": "Available font weights"
      }
    },
    "body": {
      "family": {
        "$value": [
          "Space Grotesk",
          "-apple-system",
          "BlinkMacSystemFont",
          "Segoe UI",
          "Roboto",
          "Helvetica Neue",
          "Arial",
          "sans-serif"
        ],
        "$type": "fontFamily",
        "$description": "body role → Space Grotesk (space-grotesk@1.0.0)"
      },
      "weight": {
        "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"
        },
        "$description": "Available font weights"
      }
    },
    "serif": {
      "family": {
        "$value": [
          "PT Serif",
          "Charter",
          "Georgia",
          "Times New Roman",
          "serif"
        ],
        "$type": "fontFamily",
        "$description": "serif role → PT Serif (pt-serif@1.0.0)"
      },
      "weight": {
        "400": {
          "$value": 400,
          "$type": "fontWeight"
        },
        "700": {
          "$value": 700,
          "$type": "fontWeight"
        },
        "$description": "Available font weights"
      }
    },
    "mono": {
      "family": {
        "$value": [
          "Geist Mono",
          "SFMono-Regular",
          "Menlo",
          "Monaco",
          "Consolas",
          "Liberation Mono",
          "Courier New",
          "monospace"
        ],
        "$type": "fontFamily",
        "$description": "mono role → Geist Mono (geist-mono@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"
      }
    }
  },
  "$extensions": {
    "com.brand-atoms.rules": [
      {
        "type": "contrastRatio",
        "target": "text-primary",
        "severity": "error",
        "rationale": "Soft warm-white (#E0E0E0) on Inky (#100E12) gives roughly 15:1 — clears AAA decisively. Perplexity's reference-grade reading posture, with dense citation rails and long-form sourced answers, justifies an AAA target rather than the AA floor.\n",
        "against": "background",
        "minRatio": 7,
        "standard": "WCAG-AAA"
      },
      {
        "type": "colorChoice",
        "target": "roles.colors.primary",
        "severity": "error",
        "rationale": "Peacock teal (#1FB8CD / #32B8C6 / #35BDC8) is Perplexity's signature accent and the action color on perplexity.ai and docs.perplexity.ai. Marigold is reserved for Pro / Max surface indicators, ember for destructive actions, rust and violet-soft for editorial illustration only — none of these substitute for the Peacock primary.\n",
        "allowed": [
          "peacock",
          "peacock-bright",
          "peacock-deep",
          "peacock-button"
        ],
        "forbidden": [
          "marigold",
          "ember",
          "rust",
          "violet-soft"
        ]
      },
      {
        "type": "colorChoice",
        "target": "roles.colors.identity",
        "severity": "error",
        "rationale": "Perplexity is dark-first by construction; the documented dark theme-color meta is #100E12. The identity surface is the Inky canvas — Peacock teal flows across it as accent, not as the identity ground. The Paper canvas is the secondary mode reserved for users who prefer light.\n",
        "allowed": [
          "inky",
          "inky-deep"
        ],
        "forbidden": [
          "paper",
          "peacock",
          "peacock-bright",
          "marigold"
        ]
      },
      {
        "type": "forbiddenTreatment",
        "target": "logo",
        "severity": "error",
        "rationale": "Perplexity's wordmark and citation glyph are precise brand assets. Recoloring, skewing, or applying gradient fills conflicts with the brand's reference-grade, citation-first posture where every visual element is exact.\n",
        "treatments": [
          "stretched",
          "rotated",
          "recolored",
          "drop-shadow",
          "gradient-fill",
          "on-busy-photo"
        ]
      },
      {
        "type": "enumMembership",
        "target": "typography.heading.fontWeight",
        "severity": "warning",
        "rationale": "FK Grotesk Neue is delivered on perplexity.ai with Regular (400), Medium (500), SemiBold (600), and Bold (700) cuts. The marketing and product surfaces use 400 for body, 500–600 for emphasis, and 700 for hero headings. Display weights outside this band are not in the licensed variable-font cut.\n",
        "allowed": [
          "400",
          "500",
          "600",
          "700"
        ]
      },
      {
        "type": "fontPairing",
        "target": "typography.display",
        "severity": "warning",
        "rationale": "FK Grotesk Neue pairs with Newsreader serif on perplexity.ai — sans for interface chrome and citation rails, serif for long-form answer body prose. A 1.5× minimum display-to-serif size ratio preserves the typographic hierarchy when an answer renders headings, body, and citations together.\n",
        "requires": "serif",
        "minSizeRatio": 1.5
      },
      {
        "type": "contextRestriction",
        "target": "roles.colors.accent",
        "severity": "warning",
        "rationale": "Peacock teal is the link / citation / CTA color on perplexity.ai — bright, small-area, attention-drawing. Large peacock background fills conflict with the brand's Inky-canvas dark posture where the teal is a directional signal, not a flood fill.\n",
        "allowedContexts": [
          "link",
          "focus-ring",
          "data-viz-primary",
          "citation-marker",
          "cta"
        ],
        "forbiddenContexts": [
          "large-fill",
          "hero-background"
        ]
      },
      {
        "type": "compositionConstraint",
        "target": "roles.colors.primary",
        "severity": "recommendation",
        "rationale": "Peacock teal reads cleanest against the dark Inky canvas or the warm Paper canvas. Placing it adjacent to marigold, rust, or ember introduces a warm-cool chromatic conflict that fights for attention — these accents belong in separated regions (citations vs. status indicators vs. destructive confirmations), not as adjacent foreground/ background pairs.\n",
        "pairsWith": [
          "inky",
          "inky-deep",
          "paper",
          "paper-warm"
        ],
        "doesNotPairWith": [
          "marigold",
          "rust",
          "ember"
        ]
      },
      {
        "type": "accessibilityRequirement",
        "target": "*",
        "severity": "warning",
        "rationale": "WCAG 2.1 Success Criterion 1.4.6 (Contrast Enhanced) — Level AAA. The brand's dense citation-rail and long-form sourced answer surface justifies the enhanced 7:1 target rather than the AA 4.5:1 floor.\n",
        "standard": "WCAG-AAA",
        "criterion": "1.4.6"
      }
    ],
    "com.brand-atoms.assets": [],
    "com.brand-atoms.provenance": {
      "source": "https://www.perplexity.ai/",
      "license": "Proprietary — All Rights Reserved",
      "attribution": "Perplexity AI, Inc. — visual identity captured from the deployed stylesheet on perplexity.ai (OKLCH token families --pale-cyan-*, --pale-yellow-*, --costa-*, --pale-blue-*) and the docs.perplexity.ai documentation surface (rendered accent-button colors). Perplexity, the Perplexity wordmark, and associated marks are property of Perplexity AI, Inc.\n",
      "importedDate": "2026-05-18",
      "notes": "Derived from live site CSS at https://www.perplexity.ai/ on 2026-05-18 (theme-color meta tags and the /_spa/assets/ spa-shell-*.css bundle) and from https://docs.perplexity.ai/ where the same peacock teal renders as the primary button. No public brand guide located. The proprietary FK Grotesk Neue, Newsreader serif, and Berkeley Mono faces are declared on perplexity.ai via @font-face but are not publicly distributed. This atom references space-grotesk@1 as the open-source rendering substitute for the sans/display role, pt-serif@1 as the substitute for the serif role used in answer body prose, and geist-mono@1 as the substitute for the mono role.\n"
    },
    "com.brand-atoms.references": {
      "palette": "perplexity@1.0.0",
      "fonts": {
        "heading": "space-grotesk@1.0.0",
        "body": "space-grotesk@1.0.0",
        "serif": "pt-serif@1.0.0",
        "mono": "geist-mono@1.0.0"
      }
    }
  }
}
