{
  "id": "bluesky",
  "version": "1.0.0",
  "name": "Bluesky",
  "description": "Bluesky is a decentralized social network built on the AT Protocol, spun out of Twitter as a public-benefit corporation in 2021 and opened to the public in 2024. The brand voice is hopeful, open-source-leaning, and intentionally modest — a deliberate counterweight to the closed-network identities it competes against. Visually, Bluesky is anchored on Bluesky Blue (#0085FF) — a saturated sky-blue that carries the butterfly mark and the bsky.app product surface. The supporting system is intentionally restrained, letting posts and media drive the visual surface.\n",
  "provenance": {
    "source": "https://bsky.app",
    "license": "Proprietary — All Rights Reserved",
    "attribution": "Bluesky and the Bluesky butterfly mark are trademarks of Bluesky Social, PBC. The primary brand blue (~#0085FF) is verified via the simple-icons brand database, which cites bsky.app as the source, and is consistent with the brand-mark fill on the bsky.app product surface and the Bluesky press kit. Inter is the UI typeface used across bsky.app and is already in the brand-atoms catalog.\n",
    "importedDate": "2026-05-18",
    "notes": "Bluesky's identity is bi-modal: the mobile client defaults to dark mode on platforms where the OS prefers dark, while the desktop product and marketing surface default to light. The Bluesky Blue carries across both. Authored neutrals follow bsky.app's product-UI tones (near-black canvas with cool gray-blue elevations) rather than fabricating an independent dark palette.\n"
  },
  "tags": [
    "social",
    "decentralized",
    "bluesky",
    "blue",
    "atproto",
    "public-benefit"
  ],
  "palette": {
    "ref": "bluesky@1.0.0",
    "swatches": [
      {
        "id": "bluesky-blue",
        "name": "Bluesky Blue",
        "value": "#0085FF",
        "description": "Signature sky-blue — the primary brand color. The Bluesky butterfly mark, the wordmark, and primary CTAs on bsky.app all render in this hue. Verified hex via the simple-icons brand database citing bsky.app.\n",
        "aliases": []
      },
      {
        "id": "bluesky-blue-dark",
        "name": "Bluesky Blue Dark",
        "value": "#0068C9",
        "description": "Authored darker blue for hover, pressed, and active states on the primary CTA.",
        "aliases": []
      },
      {
        "id": "bluesky-blue-light",
        "name": "Bluesky Blue Light",
        "value": "#4FA9FF",
        "description": "Authored lighter blue for link affordances on the dark canvas.",
        "aliases": []
      },
      {
        "id": "bluesky-white",
        "name": "Bluesky White",
        "value": "#FFFFFF",
        "description": "Canonical light canvas — bsky.app's light theme surface.",
        "aliases": []
      },
      {
        "id": "bluesky-near-white",
        "name": "Bluesky Near-White",
        "value": "#F1F3F5",
        "description": "Authored panel surface on light mode.",
        "aliases": []
      },
      {
        "id": "bluesky-text-primary",
        "name": "Bluesky Text Primary",
        "value": "#0B0F14",
        "description": "Authored body text and headline color on light backgrounds.",
        "aliases": []
      },
      {
        "id": "bluesky-text-secondary",
        "name": "Bluesky Text Secondary",
        "value": "#42576C",
        "description": "Authored secondary text on light backgrounds.",
        "aliases": []
      },
      {
        "id": "bluesky-text-tertiary",
        "name": "Bluesky Text Tertiary",
        "value": "#788EA4",
        "description": "Authored tertiary / muted text on light backgrounds.",
        "aliases": []
      },
      {
        "id": "bluesky-divider-light",
        "name": "Bluesky Divider Light",
        "value": "#D4DBE2",
        "description": "Authored hairline divider on light canvas.",
        "aliases": []
      },
      {
        "id": "bluesky-canvas-dark",
        "name": "Bluesky Canvas Dark",
        "value": "#0B0F14",
        "description": "Authored dark canvas matching bsky.app's dark theme — a deep near-black with a cool blue undertone.\n",
        "aliases": []
      },
      {
        "id": "bluesky-surface-dark",
        "name": "Bluesky Surface Dark",
        "value": "#161E27",
        "description": "Authored elevated surface on the dark canvas.",
        "aliases": []
      },
      {
        "id": "bluesky-surface-elevated-dark",
        "name": "Bluesky Surface Elevated Dark",
        "value": "#1E2936",
        "description": "Authored deepest-elevated surface on dark mode — modals, popovers.",
        "aliases": []
      },
      {
        "id": "bluesky-text-on-dark",
        "name": "Bluesky Text on Dark",
        "value": "#F1F3F5",
        "description": "Primary text on the dark canvas.",
        "aliases": []
      },
      {
        "id": "bluesky-text-secondary-dark",
        "name": "Bluesky Text Secondary on Dark",
        "value": "#A5B6C8",
        "description": "Authored secondary text on the dark canvas.",
        "aliases": []
      },
      {
        "id": "bluesky-divider-dark",
        "name": "Bluesky Divider Dark",
        "value": "#2C3A4A",
        "description": "Authored hairline divider on the dark canvas.",
        "aliases": []
      },
      {
        "id": "bluesky-green",
        "name": "Bluesky Green",
        "value": "#1A7F37",
        "description": "Authored success accent for status affordances.",
        "aliases": []
      },
      {
        "id": "bluesky-yellow",
        "name": "Bluesky Yellow",
        "value": "#D9A026",
        "description": "Authored warning accent.",
        "aliases": []
      },
      {
        "id": "bluesky-red",
        "name": "Bluesky Red",
        "value": "#E5484D",
        "description": "Authored error / destructive accent.",
        "aliases": []
      }
    ],
    "modes": {
      "light": {
        "roles": {
          "background": "bluesky-white",
          "surface": "bluesky-near-white",
          "surface-elevated": "bluesky-white",
          "text-primary": "bluesky-text-primary",
          "text-secondary": "bluesky-text-secondary",
          "text-tertiary": "bluesky-text-tertiary",
          "primary": "bluesky-blue",
          "primary-hover": "bluesky-blue-dark",
          "accent": "bluesky-blue",
          "accent-hover": "bluesky-blue-dark",
          "warning": "bluesky-yellow",
          "warning-hover": "bluesky-yellow",
          "error": "bluesky-red",
          "success": "bluesky-green"
        }
      },
      "dark": {
        "roles": {
          "background": "bluesky-canvas-dark",
          "surface": "bluesky-surface-dark",
          "surface-elevated": "bluesky-surface-elevated-dark",
          "text-primary": "bluesky-text-on-dark",
          "text-secondary": "bluesky-text-secondary-dark",
          "text-tertiary": "bluesky-text-secondary-dark",
          "primary": "bluesky-blue-light",
          "primary-hover": "bluesky-blue",
          "accent": "bluesky-blue-light",
          "accent-hover": "bluesky-blue",
          "warning": "bluesky-yellow",
          "warning-hover": "bluesky-yellow",
          "error": "bluesky-red",
          "success": "bluesky-green"
        }
      }
    }
  },
  "fonts": [
    {
      "role": "heading",
      "ref": "inter@1.0.0",
      "family": "Inter",
      "classification": "sans-serif",
      "source": {
        "kind": "google-fonts",
        "family": "Inter",
        "url": "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"
      },
      "fallbackStack": [
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "Helvetica Neue",
        "Arial",
        "sans-serif"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        },
        {
          "weight": 900,
          "style": "normal"
        },
        {
          "weight": 900,
          "style": "italic"
        }
      ]
    },
    {
      "role": "body",
      "ref": "inter@1.0.0",
      "family": "Inter",
      "classification": "sans-serif",
      "source": {
        "kind": "google-fonts",
        "family": "Inter",
        "url": "https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap"
      },
      "fallbackStack": [
        "-apple-system",
        "BlinkMacSystemFont",
        "Segoe UI",
        "Roboto",
        "Helvetica Neue",
        "Arial",
        "sans-serif"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        },
        {
          "weight": 900,
          "style": "normal"
        },
        {
          "weight": 900,
          "style": "italic"
        }
      ]
    },
    {
      "role": "mono",
      "ref": "jetbrainsmono-nerdfont@1.0.0",
      "family": "JetBrainsMono Nerd Font",
      "classification": "monospace",
      "source": {
        "kind": "external",
        "family": "JetBrainsMono Nerd Font",
        "notes": "Nerd-Font-patched build of JetBrains Mono. Not available via Google Fonts. Download woff2/ttf files from the Nerd Fonts GitHub release and self-host, or install system-wide for terminal/IDE use.\n"
      },
      "fallbackStack": [
        "JetBrains Mono",
        "Fira Code",
        "Menlo",
        "Monaco",
        "Consolas",
        "Liberation Mono",
        "monospace"
      ],
      "availableStyles": [
        {
          "weight": 100,
          "style": "normal"
        },
        {
          "weight": 100,
          "style": "italic"
        },
        {
          "weight": 200,
          "style": "normal"
        },
        {
          "weight": 200,
          "style": "italic"
        },
        {
          "weight": 300,
          "style": "normal"
        },
        {
          "weight": 300,
          "style": "italic"
        },
        {
          "weight": 400,
          "style": "normal"
        },
        {
          "weight": 400,
          "style": "italic"
        },
        {
          "weight": 500,
          "style": "normal"
        },
        {
          "weight": 500,
          "style": "italic"
        },
        {
          "weight": 600,
          "style": "normal"
        },
        {
          "weight": 600,
          "style": "italic"
        },
        {
          "weight": 700,
          "style": "normal"
        },
        {
          "weight": 700,
          "style": "italic"
        },
        {
          "weight": 800,
          "style": "normal"
        },
        {
          "weight": 800,
          "style": "italic"
        }
      ]
    }
  ],
  "roles": {
    "colors": {
      "identity": "bluesky-blue",
      "on-identity": "bluesky-white",
      "primary": "bluesky-blue",
      "primary-hover": "bluesky-blue-dark",
      "accent": "bluesky-blue",
      "accent-hover": "bluesky-blue-dark",
      "success": "bluesky-green",
      "warning": "bluesky-yellow",
      "error": "bluesky-red",
      "background-light": "bluesky-white",
      "background-dark": "bluesky-canvas-dark",
      "surface-light": "bluesky-near-white",
      "surface-dark": "bluesky-surface-dark",
      "surface-elevated-dark": "bluesky-surface-elevated-dark",
      "text-primary-light": "bluesky-text-primary",
      "text-primary-dark": "bluesky-text-on-dark",
      "text-secondary-light": "bluesky-text-secondary",
      "text-secondary-dark": "bluesky-text-secondary-dark",
      "divider-light": "bluesky-divider-light",
      "divider-dark": "bluesky-divider-dark"
    },
    "typography": {
      "display": "heading",
      "prose": "body",
      "code": "mono"
    }
  },
  "assets": [],
  "rules": [
    {
      "type": "colorChoice",
      "target": "logo.mark",
      "severity": "error",
      "rationale": "The Bluesky butterfly mark and wordmark render in Bluesky Blue, white (on dark surfaces), or near-black (in monochrome contexts). Status accents are reserved for product affordances and never recolor the mark.\n",
      "allowed": [
        "bluesky-blue",
        "bluesky-white",
        "bluesky-text-primary"
      ],
      "forbidden": [
        "any-non-brand-color",
        "bluesky-yellow",
        "bluesky-green",
        "bluesky-red"
      ]
    },
    {
      "type": "forbiddenTreatment",
      "target": "logo",
      "severity": "error",
      "rationale": "Bluesky's brand guidance prescribes the butterfly mark in approved variants only. Recoloring, redrawing the butterfly, or applying decorative effects violates the brand-use direction surfaced across bsky.social and bsky.app.\n",
      "treatments": [
        "stretched",
        "rotated",
        "recolored",
        "drop-shadow",
        "on-busy-photo",
        "inverted-without-variant",
        "cropped",
        "butterfly-redraw"
      ]
    },
    {
      "type": "variantSelection",
      "target": "logo",
      "severity": "error",
      "rationale": "On the dark canvas (bsky.app's dark theme), the butterfly mark renders in white or Bluesky Blue Light for legibility. The saturated Bluesky Blue alone may not clear AA-large on the deepest canvas.\n",
      "when": {
        "backgroundColorScheme": "dark"
      },
      "use": "butterfly-light"
    },
    {
      "type": "variantSelection",
      "target": "logo",
      "severity": "error",
      "rationale": "On light surfaces, the butterfly mark renders in Bluesky Blue — the canonical brand application on bsky.app's light theme and across marketing materials.\n",
      "when": {
        "backgroundColorScheme": "light"
      },
      "use": "butterfly-blue"
    },
    {
      "type": "contrastRatio",
      "target": "text-primary",
      "severity": "error",
      "rationale": "WCAG 2.1 Level AA contrast minimum for body text. Bluesky's near-black text (#0B0F14) on white reads at ~19:1 — well above AA. The dark-mode text tone (#F1F3F5) on the near-black canvas also clears AA.\n",
      "against": "background",
      "minRatio": 4.5,
      "standard": "WCAG-AA"
    },
    {
      "type": "contrastRatio",
      "target": "roles.colors.primary",
      "severity": "error",
      "rationale": "Bluesky Blue (#0085FF) on white reads at ~3.6:1 — clearing WCAG AA at large-text size. The lighter blue variant (#4FA9FF) is used on the dark canvas to maintain AA-large contrast against the near-black surface.\n",
      "against": "background",
      "minRatio": 3,
      "standard": "WCAG-AA-large"
    },
    {
      "type": "contextRestriction",
      "target": "roles.colors.identity",
      "severity": "error",
      "rationale": "Bluesky Social, PBC restricts use of the Bluesky butterfly mark and wordmark in ways that imply official affiliation, on competing-product surfaces, on third-party merchandise without license, or in ways that conflate the Bluesky-the-app brand with the AT Protocol (the open standard Bluesky stewards but does not exclusively own).\n",
      "forbiddenContexts": [
        "product-of-competitor",
        "merchandise",
        "endorsement-implication",
        "atproto-misattribution"
      ]
    },
    {
      "type": "compositionConstraint",
      "target": "roles.colors.identity",
      "severity": "recommendation",
      "rationale": "Bluesky Blue is calibrated to read on both the light and dark canonical surfaces. Pairing it with an additional dominant chromatic value breaks the calibrated minimal composition the brand depends on.\n",
      "pairsWith": [
        "bluesky-white",
        "bluesky-near-white",
        "bluesky-canvas-dark",
        "bluesky-text-primary"
      ]
    },
    {
      "type": "enumMembership",
      "target": "typography.heading.fontWeight",
      "severity": "warning",
      "rationale": "Inter's most-used cuts on the bsky.app surface are Medium (500), Semi-Bold (600), and Bold (700). Lighter cuts compromise the modest-but-confident voice the brand depends on, while heavier cuts overstate against Bluesky's deliberately understated visual surface.\n",
      "allowed": [
        "500",
        "600",
        "700"
      ]
    },
    {
      "type": "accessibilityRequirement",
      "target": "*",
      "severity": "error",
      "rationale": "WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The bi-modal canvas requires contrast verification on both the light and dark surfaces; AA is the floor on either.\n",
      "standard": "WCAG-AA",
      "criterion": "1.4.3"
    }
  ]
}
